Skip to main content

Application server

Application server


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.
Application server

History

Application servers are system software upon which web applications or desktop applications run. Application servers consist of web server connectors, computer programming languages, runtime libraries, database connectors, and the administration code needed to deploy, configure, manage, and connect these components on a web host. An application server runs behind a web Server (e.g. Apache or Microsoft Internet Information Services (IIS)) and (almost always) in front of an SQL database (e.g. PostgreSQL, MySQL, or Oracle). Web applications are computer code which run atop application servers and are written in the language(s) the application server supports and call the runtime libraries and components the application server offers.
Many application servers exist. The choice impacts the cost, performance, reliability, scalability, and maintainability of a web application.
Proprietary application servers provide system services in a well-defined but proprietary manner. The application developers develop programs according to the specification of the application server. Dependence on a particular vendor is the drawback of this approach.
An opposite but analogous case is the Java EE platform. Java EE application servers provide system services in a well-defined, open, industry standard. The application developers develop programs according to the Java EE specification and not according to the application server. A Java EE application developed according to Java EE standard can be deployed in any Java EE application server making it vendor independent.
Application server

Java application servers

The Java EE infrastructure is partitioned into logical containers.
  1. JMS provider (Java Message Service)
  2. Web container: The Web modules include servlets and JavaServer Pages (JSP).
  3. EJB container: 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.
  4. JCA container (Java EE Connector Architecture)


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.

.NET Framework

Microsoft
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.
Application server
Third-party
  1. Mono (a cross platform open-source implementation of .NET supporting nearly all its features, with the exception of Windows OS-specific features), sponsored by Microsoft and released under the MIT License.
  2. TNAPS Application Server, freeware application server, developed by TN LLC.
  3. Base4 Application Server, an open source project.


PHP application servers

PHP application servers are used for running and managing PHP applications.
Zend Server, built by Zend Technologies, provides application server functionality for the PHP-based applications.
appserver.io, built by TechDivision GmbH is a multithreaded application server for PHP written in PHP.

Mobile application servers

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.

Purpose

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:
Application server
Limited resources – mobile devices have limited power and bandwidth.
Intermittent connectivity - cellular service and wifi coverage is often not continuous.
Difficult to secure – mobility and BYOD make it hard to secure mobile devices
The purpose of a mobile application server is to build on existing infrastructure to accommodate mobile devices.

Common features
Core capabilities of a mobile application services include
Authentication service– secure connectivity to back-end systems is managed by the mobile middleware.
Data routing– data is packaged in smaller (REST) objects with some business logic to minimize demands on bandwidth and battery.
Security– data encryption, device control, SSL, call logging.
Orchestration– transactions and data integration across multiple sources.
Off-line support– allows users to access and use data even though device is not connected.
Application server
Mobile application servers vs. application servers vs. web servers
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, and 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.Application server
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.
Application server

Comments

Popular posts from this blog

Difference between bandwidth and latency

Difference between bandwidth and latency Difference between bandwidth and latency is something that confuses a lot of people, but if you are an IT person it would be useful to know the difference between the two because sooner or later you will face a network problem related to it. Part of the confusion has been created by Internet providers by always recommending increase of bandwidth to Internet speed related problem, but as we will see, an Internet connection speed is not always dictated by bandwidth. This part is very important. What is difference between bandwidth and latency? I will give you an analogy to make it easier to understand it if you are still confused. Imagine a highway with 4 lanes where the speed limit is 70 mph. Now on the Internet, bandwidth is the highway, and latency is the 70 mph speed limit. Now if you want to increase the amount of cars that travels through the highway you can add more lanes, but because the highway has too many curves, and

10 things that android phones can do, apple iPhone can`t do

10 things that android phones can do, apple iPhone can`t do Android and iOS both operating systems offer a lot of features (most of them commonly found in both), there are always a few that are exclusively available on that OS. Here are 10 such features available on Android, but missing from iPhones' operating system. Instant app: test apps before downloading This feature allows users to test the apps before they decide to download. Compatible with all Android devices operating on Jelly Bean or higher, this feature is still missing for iPhones. Set DATA Limit alerts  In the settings option of your Android smartphone, users have the choice to set data limit with a mode called the Data Saving Mode. This allows users to limit the background data consumption in case there is a dearth of available data. And you cannot set limit in iPhone.  Records phone apps  Thanks to the customized UIs of the various Android smartphones, the option to record a call is prese

What is DNS?

What is DNS? The Domain Name System (aka DNS) is used to resolve human-readable hostnames like www.notesshow.blogspot.in into machine-readable IP addresses like 204.13.248.115. DNS also provides other information about domain names, such as mail services. But why is DNS important? How does it work? What else should you know? History of the DNS When the Internet was still in its infancy when you wanted to visit a website you had to know the IP address of that site. That’s because computers are and were only able to communicate using numbers. It’s long, hard to remember, and we (humans, I presume) are not robots. We needed a way to translate computer-readable information into human-readable. And it had to be fast, lightweight. DNS In the early 1980’s, Paul Mockapetris came up with a system that automatically mapped IP addresses to domain names. And the DNS was born. This same system still serves as the backbone of the modern Internet, today. And yet, only a small subs