||This article needs more details, additional citations and is incomplete. (September 2017)|
Application Server Frameworks contain a comprehensive service layer model. An application server acts as a set of components accessible to the software developer through a standard API defined for the platform itself. For Web applications, these components are usually performed in the same running environment as their web server(s), and their main job is to support the construction of dynamic pages. However, many application servers target much more than just Web page generation: they implement services like clustering, fail-over, and load-balancing, so developers can focus on implementing the business logic.
In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and, often, connections to the Web client on the other.
The term was originally used when discussing early client–server systems to differentiate servers that contain application logic SQL services and middleware servers as distinct from other types of data-servers.
Currently, despite the fact that web-browsers have become ubiquitous and are typically the client for end-users in many application deployment strategies, browser-based web apps represent only a subset of application-server technologies.
The Web modules include servlets and JavaServer Pages. Enterprise JavaBeans (EJB) are used to manage transactions. According to the J2EE blueprints the business logic of an application resides in Enterprise JavaBeans—a modular server component providing many features, including declarative transaction management, and improving application scalability.
Some Java Application Servers leave off many Java EE features like EJB and Java Message Service (JMS) including Jetty from Eclipse Foundation. Their focus is more on Java Servlets and JavaServer Pages.
There are many open source Java application servers that support Java EE including JOnAS from Object Web, WildFly (formerly JBoss AS) from JBoss (division of Red Hat), Geronimo from Apache, TomEE from Apache, Resin Java Application Server from Caucho Technology, Blazix from Desiderata Software, Enhydra Server from Enhydra.org, GlassFish from Oracle and Payara Server from C2B2.
Commercial Java application servers have been dominated by WebLogic Application Server by Oracle, WebSphere Application Server from IBM and the open source JBoss Enterprise Application Platform (JBoss EAP) by Red Hat, but there are also new platforms, like JLupin Next Server, which present new approach for architecture focusing on distributed computing and microservices environments.
A Java Server Page (JSP) executes in a web container. JSPs provide a way to create HTML pages by embedding references to the server logic within the page. HTML coders and Java programmers can work side by side by referencing each other's code from within their own.
The application servers mentioned above mainly serve web applications, and services via RMI, EJB, JMS and SOAP. Some application servers target networks other than web-based ones: Session Initiation Protocol servers, for instance, target telephony networks.
Microsoft positions their middle-tier applications and services infrastructure in the Windows Server operating system and the .NET Framework technologies in the role of an application server. The Windows Application Server role includes Internet Information Services (IIS) to provide web server support, the .NET Framework to provide application support, ASP.NET to provide server side scripting, COM+ for application component communication, Message Queuing for multithreaded processing, and the Windows Communication Foundation (WCF) for application communication.
appserver.io, built by TechDivision GmbH is a multithreaded application server for PHP written in PHP.
A mobile app server is mobile middleware that makes back-end systems accessible to mobile application to support Mobile application development. Much like a web server that stores, processes and delivers web pages to clients, a mobile app server bridges the gap from existing infrastructure to mobile devices.
Although most standards-based infrastructure (including SOAs ) are designed to connect to any independent of any vendor, product or technology, most enterprises have trouble connecting back-end systems to mobile applications, because mobile devices add the following technological challenges:
The purpose of a mobile application server is to build on existing infrastructure to accommodate mobile devices.
Core capabilities of a mobile application services include
Mobile application servers, Application servers, and web servers serve similar purposes: they are pieces of middleware that connect back-end systems to the users that need to access them, but the technology in each of the three differs. Application servers—developed before the ubiquity of web-based applications—expose back-end business logic through various protocols, sometimes including HTTP, and manage security, transaction processing, resource pooling, and messaging. When web-based applications grew in popularity, application servers did not meet the needs of developers, and the web server was created to fill the gap.
Web servers provide the caching and scaling functionality demanded by web access and not provided by application servers. They convert requests to static content, and serve only HTTP content. Over time, application servers and web servers have morphed from two previously distinct categories, blended features, and arguably have merged.
Mobile application servers are on a similar path. The emergence of mobile devices presents the need for functionality not anticipated by the developers of traditional application server developers, and mobile application servers fill this gap. They take care of the security, data management and off-line requirements not met by existing infrastructure, and present content exclusively in REST.
Over time, these three categories may fully merge and be available in a single product, but the root functions differ.
An application server can be deployed :
an application server provides an environment where applications can run, no matter what the applications are or what they do
None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.
All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.
The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.