SlideShare a Scribd company logo
1 of 5
Download to read offline
Understanding Application Servers
Author: Ajay Srivastava & Anant Bhargava
TCS, Jan’03
Background
Application servers, whatever their function, occupies a large chunk of computing territory
between database servers and the end user. This paper will provide an overview of
application server and their role in n-tier applications.
Intended Audience
The paper is intended for anyone interested in knowing application server architecture and
it’s role in web applications. The readers of this paper are not require to have an in -depth
knowledge of web applications and related technologies but they are require to have an
overview of n -tire web application architecture.
History of Application Server
In the early days of application servers, it was realised that applications (the programs
people were using to get work done) themselves, were becoming bigger and more complex
-- both to write and to maintain. At the same time, pressure was increasing for applications
to share more of their data and sometimes functionality with other applications. More
applications were either located on a network or used networks extensively. It seemed
logical to have some kind of program residing on the network that would help share
application capabilities in an organised and efficient way -- making it easier to write,
manage, and maintain the applications.
The end result of this thinking was what is now called an application server. However, these
servers first appeared in client/server computing and on LANs. At first, they were often
associated with "tiered" applications, when people described the functionality of applications
as two-tiered (database and client program), three-tiered (database, client program, and
application server), or n-tiered (all the above plus whatever). This wa s (and still is) a
complex model of application development, and it resisted wide-scale implementation.
The Word Application Server Means
Before going further, it will be useful to explore the world of the Application Server and to
know the answers of some of the most frequently asked questions like:
What is an Application server?
An Application server is a server program that resides in the server (computer) and
provides the business logic for the application programme. The server can be a part of the
network, more precisely the part of the distributed network. The server program is a
program that provides its services to the client program that resides either in the same
computer or on another computer connected through the network.
Where exactly the a pplication server fits in?
Application servers are mainly used in web based applications that have 3-Tier architecture.
1st Tier: Front end - Browser (thin client), a GUI interface lying at the client/workstation.
2nd Tier : Middle tier - Application Ser
ver - set of application program.
3rd Tier: Back end - Database Server.
The application server is a second / middle Tier of the 3- tier Architecture. Please refer the
diagram below:
C l i e n t ' s
B r o w s e r
( T i e r 1 )
Ø I B M W e b s p h e r e
Ø N e t s c a p e A p p S e r v e r
Ø O r a c l e W e b A p p S e r v e r
Ø W e b l o g i c
Ø S u n N e t D y n a m i c s
Ø M i c r o s o f t A S P
Ø L o t u s D o m i n o
Ø W e b O b j e c t s
W e b A p p l i c a t i o n S e r v e r s
( T i e r 2 )
D a t a b a s e
( T i e r 3 )
J A V A
A c t i v e X
C / C + +
How Information flows via applicatio n server?
The Application server syncs / combines with the web server for processing the request
made by the client.
If we look at the request-response flow between client, web server and application server
then we come to know that the client's request first goes to the web server, which sends
the required information to the application server. The application server then sends back
the response to the web server after taking an appropriate action. The web server further
sends the processed information back to the client. Web server use different approaches or
technology for forwarding or receiving back processed information. Some of the most
common approaches are CGI (Common Gateway Interface), ASP (Active Server Pages),
JSP(Java Server pages), Java Servlets, Java Script etc.
What Application Server do
First and foremost, application servers connect database information (usually coming from a
database server) and the end-user or client program (often running in a Web browser).
There are many reasons for having an intermediate player in this connection:
• a desire to decrease the size and complexity of client programs
• the need to cache and control the data flow for better performance
• a requirement toprovide security for both data and user traffic.
Application servers have different roles, but not every implementation requires the same
functionality. Someone might want an application server that simply helps organise their
applications for the Web, give them better control over the business logic they contain, and
make it easier to monitor and secure the data. They don't need thousands of servers. Other
companies, especially big ones, do need to manage thousands of servers. For them, the
scalability of an application server is crucial. So some application servers feature scalability,
others feature other things, and some try to do everything. What's most important:
security, scalability, business logic management, or database connectivity?
Features of Application Servers
Component Management: Provides the manager for handling all the components and run
time services like session management, synchronous/asynchronous client notifications and
executes server business logic.
Fault Tolerance: Ability of the Application server with no single point of failure, defining
policies for recovery and fail-over recovery in case of failure of one object or group of
objects.
Load Balancing: Ability to send the request to the different servers depending upon the
load and availability of the server.
Transaction Management
Management Console:Single point graphical management console for remotely monitoring
clients and server clusters
Security:Security features for applications security
Types of Application Servers
Application servers are categorised mainly in 3 types:
Web Information Servers
This type of server employs HTML templates and scripts to generate pages incorporating
values from the database in them. These types of servers are stateless servers. Some of
these types of servers are Netscape Server, HAHT, Allaire, Sybase, SilverStream etc.
Component Servers
The main purpose of these servers is to provide database access and transaction-processing
services to software components including DLL's, CORBA, and Jav
a Bean. Firstly, they
provide environment for server-side components. Secondly, they provide access to database
and other services to the component. These types of servers are stateless servers. Some of
these servers are MTS (provides interface for DLL), Sybase Jaguar, IBM Component broker.
Active Application Server
This type of server supports and provides a rich environment for server-side logic expressed
as objects, rules and components. These types of servers are stateful servers and best
suitable for dealing with e-Commerce environments.
NOTE: Stateful servers are those servers which play the role of transaction co-ordinator and manage
the data state, while Stateless servers doesn't do these things completely on their own, but have to
rely on database or transaction monitors for the completion of the transaction.
Selection of Application Server
Choosing the correct application server to run the J2EE application can play an integral part
in the application's success. To decide about an Application Server, the project requirements
should first be nailed down. The decision you make will play a role in many aspects of the
application, not the least of which is the budget. Different application servers are targeted
for different types of applications. The f
irst step should be to identify and prioritise the
needs of the particular environment. The criteria might include:
• Performance
• Cost
• Development
• Support
• Compliance
• Administration
• Scalability/Reliability
After you've prioritised, you can begin looking for the application server that best meets the
needs. If you run in a large -scale environment (Intranet or Internet) and expect to have lots
of traffic to the site, performance should be at the top of the list. Not all app servers
perform alike. In fact, a wide range of issues can contribute to how well (or how poorly) the
server performs under load. Some of the answers are easy to find, while others might take
some investigation or evaluation of the app server by using a similar application and taking
some performance metrics.
Here is some performance factors to consider:
• Use of connection pooling and the types of drivers provided for JDBC support
• Use of caching features, and how configurable the cache is
• Support of Web servers for request-handling performance
• If you plan on using CMP, how is it implemented for the EJB support?
If performance isn't at the top of the list, it is still important to understand some of the
issues surrounding app-server performance. Sooner or later you'll need it.
Cost
Cost is usually another factor that will play a role in the decision. Make sure the server you
are considering is affordable. When evaluating costs look at:
• Pricing structure
• Support and maintenance costs
• Hardware requirements
• Development licenses
Development and support
Development and Support are two factors that can make or break a project, depending on
how experienced the development team is. There are few questions, which you should ask
yourself:
• Is training available if my team needs it?
• How quick is the support turnaround?
• What IDEs are integrated with the app server?
• What platforms are supported, and can development take place on multiple
platforms?
• Is runtime server debugging supported or possible?
If you have a development team working on the project, make sure the application server
supports the creation of multiple application spaces. Nothing will slow a team down more
than if they're stepping all over each other while trying to debug and deploy an application.
As far as compliance goes, make sure to determine ahead of time what version of
specifications the project will be using. Then check to make sure that the app server
supports those versions. Not every application server supports the latest version of JSP,
EJB, JMS, or Servlet specs.
Administration
Administration is a key issue, but sometimes it's overlooked. You can waste a huge amount
of time in configuring app servers. You need remote admin capabilities, as well as
command-line access. The ease of deployment during development is also a large hidden
cost. If it takes each engineer five minutes to deploy every time they need to test, the cost
quickly adds up in terms of lost time. Being able to monitor the server is also important for
making corrections to deployment parameters .
Scalability and Reliability
You also need to consider scalability and reliability. Lack of reliability means lost
customers —it's as simple as that. If the application server can't scale with the application, it
will cost you in the long run. Features that might be important for the application include fail
over support, clustering capabilities, and load balancing. As you add more scalability
features, you'll find the cost of the product starts going up.
In a project some time should be definitely devot
ed for evaluating the application server
that best fits the needs. The time spent up front will be worth it!
Conclusion
The paper gives an overview about application server and rules, which need to be
considered while selection of application server. By fo llowing these rules, there are better
chances to understand and select an application server that best suits to you.

More Related Content

Similar to Application-Servers.pdf

system-design-interview-an-insiders-guide-2nbsped-9798664653403.pdf
system-design-interview-an-insiders-guide-2nbsped-9798664653403.pdfsystem-design-interview-an-insiders-guide-2nbsped-9798664653403.pdf
system-design-interview-an-insiders-guide-2nbsped-9798664653403.pdfParthNavale
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecturesuks_87
 
Client server architecture
Client server architectureClient server architecture
Client server architectureRituBhargava7
 
How to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectHow to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectBitCot
 
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBCJ2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBCChaithraCSHirematt
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureJohnny Le
 
Microservice 微服務
Microservice 微服務Microservice 微服務
Microservice 微服務YOU SHENG CHEN
 
Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023stevefary
 
Cloud MicroService Architecture
Cloud MicroService ArchitectureCloud MicroService Architecture
Cloud MicroService ArchitectureYakov Liskoff
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
 
A Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application ArchitectureA Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application Architecturestevefary
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsDynatrace
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureVersatile Mobitech
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11Tech_MX
 
Real time service oriented cloud computing
Real time service oriented cloud computingReal time service oriented cloud computing
Real time service oriented cloud computingwww.pixelsolutionbd.com
 
E-Business And Technology Essay
E-Business And Technology EssayE-Business And Technology Essay
E-Business And Technology EssayPamela Wright
 
How to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdf
How to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdfHow to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdf
How to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdfElsner Technologies Pvt. Ltd.
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 

Similar to Application-Servers.pdf (20)

system-design-interview-an-insiders-guide-2nbsped-9798664653403.pdf
system-design-interview-an-insiders-guide-2nbsped-9798664653403.pdfsystem-design-interview-an-insiders-guide-2nbsped-9798664653403.pdf
system-design-interview-an-insiders-guide-2nbsped-9798664653403.pdf
 
System Design
System DesignSystem Design
System Design
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
How to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectHow to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your Project
 
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBCJ2EE Notes JDBC database Connectiviy and Programs related to JDBC
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
 
M 94 4
M 94 4M 94 4
M 94 4
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architecture
 
Microservice 微服務
Microservice 微服務Microservice 微服務
Microservice 微服務
 
Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023
 
Cloud MicroService Architecture
Cloud MicroService ArchitectureCloud MicroService Architecture
Cloud MicroService Architecture
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
A Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application ArchitectureA Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application Architecture
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application Architecture
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
 
Real time service oriented cloud computing
Real time service oriented cloud computingReal time service oriented cloud computing
Real time service oriented cloud computing
 
E-Business And Technology Essay
E-Business And Technology EssayE-Business And Technology Essay
E-Business And Technology Essay
 
How to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdf
How to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdfHow to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdf
How to Optimize Your MERN Stack Application Performance_ Complete Guide 2023.pdf
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 

More from Samir Paul

Operating-System-HandWritten-Notes.pdf
Operating-System-HandWritten-Notes.pdfOperating-System-HandWritten-Notes.pdf
Operating-System-HandWritten-Notes.pdfSamir Paul
 
Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...
Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...
Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...Samir Paul
 
Networking-Interview-Questions-Answers.pdf
Networking-Interview-Questions-Answers.pdfNetworking-Interview-Questions-Answers.pdf
Networking-Interview-Questions-Answers.pdfSamir Paul
 
Networking_Interview_Questions.pdf
Networking_Interview_Questions.pdfNetworking_Interview_Questions.pdf
Networking_Interview_Questions.pdfSamir Paul
 
Operating_System_Interview_Questions.pdf
Operating_System_Interview_Questions.pdfOperating_System_Interview_Questions.pdf
Operating_System_Interview_Questions.pdfSamir Paul
 
Python_Interview_Questions.pdf
Python_Interview_Questions.pdfPython_Interview_Questions.pdf
Python_Interview_Questions.pdfSamir Paul
 
DBMS-Interview_Questions.pdf
DBMS-Interview_Questions.pdfDBMS-Interview_Questions.pdf
DBMS-Interview_Questions.pdfSamir Paul
 
OOPs-Interview-Questions.pdf
OOPs-Interview-Questions.pdfOOPs-Interview-Questions.pdf
OOPs-Interview-Questions.pdfSamir Paul
 
Web-Services-Interview-Questions.pdf
Web-Services-Interview-Questions.pdfWeb-Services-Interview-Questions.pdf
Web-Services-Interview-Questions.pdfSamir Paul
 
MySQL_Commands.pdf
MySQL_Commands.pdfMySQL_Commands.pdf
MySQL_Commands.pdfSamir Paul
 
MySQL-Interview_Questions.pdf
MySQL-Interview_Questions.pdfMySQL-Interview_Questions.pdf
MySQL-Interview_Questions.pdfSamir Paul
 
System-Design-Interview-Questions.pdf
System-Design-Interview-Questions.pdfSystem-Design-Interview-Questions.pdf
System-Design-Interview-Questions.pdfSamir Paul
 
Web-Testing_Interview_Questionspdf.pdf
Web-Testing_Interview_Questionspdf.pdfWeb-Testing_Interview_Questionspdf.pdf
Web-Testing_Interview_Questionspdf.pdfSamir Paul
 
DBMS-Handwritten-Notes-All-Concepts.pdf
DBMS-Handwritten-Notes-All-Concepts.pdfDBMS-Handwritten-Notes-All-Concepts.pdf
DBMS-Handwritten-Notes-All-Concepts.pdfSamir Paul
 

More from Samir Paul (14)

Operating-System-HandWritten-Notes.pdf
Operating-System-HandWritten-Notes.pdfOperating-System-HandWritten-Notes.pdf
Operating-System-HandWritten-Notes.pdf
 
Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...
Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...
Martin Kleppmann-Designing Data-Intensive Applications_ The Big Ideas Behind ...
 
Networking-Interview-Questions-Answers.pdf
Networking-Interview-Questions-Answers.pdfNetworking-Interview-Questions-Answers.pdf
Networking-Interview-Questions-Answers.pdf
 
Networking_Interview_Questions.pdf
Networking_Interview_Questions.pdfNetworking_Interview_Questions.pdf
Networking_Interview_Questions.pdf
 
Operating_System_Interview_Questions.pdf
Operating_System_Interview_Questions.pdfOperating_System_Interview_Questions.pdf
Operating_System_Interview_Questions.pdf
 
Python_Interview_Questions.pdf
Python_Interview_Questions.pdfPython_Interview_Questions.pdf
Python_Interview_Questions.pdf
 
DBMS-Interview_Questions.pdf
DBMS-Interview_Questions.pdfDBMS-Interview_Questions.pdf
DBMS-Interview_Questions.pdf
 
OOPs-Interview-Questions.pdf
OOPs-Interview-Questions.pdfOOPs-Interview-Questions.pdf
OOPs-Interview-Questions.pdf
 
Web-Services-Interview-Questions.pdf
Web-Services-Interview-Questions.pdfWeb-Services-Interview-Questions.pdf
Web-Services-Interview-Questions.pdf
 
MySQL_Commands.pdf
MySQL_Commands.pdfMySQL_Commands.pdf
MySQL_Commands.pdf
 
MySQL-Interview_Questions.pdf
MySQL-Interview_Questions.pdfMySQL-Interview_Questions.pdf
MySQL-Interview_Questions.pdf
 
System-Design-Interview-Questions.pdf
System-Design-Interview-Questions.pdfSystem-Design-Interview-Questions.pdf
System-Design-Interview-Questions.pdf
 
Web-Testing_Interview_Questionspdf.pdf
Web-Testing_Interview_Questionspdf.pdfWeb-Testing_Interview_Questionspdf.pdf
Web-Testing_Interview_Questionspdf.pdf
 
DBMS-Handwritten-Notes-All-Concepts.pdf
DBMS-Handwritten-Notes-All-Concepts.pdfDBMS-Handwritten-Notes-All-Concepts.pdf
DBMS-Handwritten-Notes-All-Concepts.pdf
 

Recently uploaded

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 

Recently uploaded (20)

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 

Application-Servers.pdf

  • 1. Understanding Application Servers Author: Ajay Srivastava & Anant Bhargava TCS, Jan’03 Background Application servers, whatever their function, occupies a large chunk of computing territory between database servers and the end user. This paper will provide an overview of application server and their role in n-tier applications. Intended Audience The paper is intended for anyone interested in knowing application server architecture and it’s role in web applications. The readers of this paper are not require to have an in -depth knowledge of web applications and related technologies but they are require to have an overview of n -tire web application architecture. History of Application Server In the early days of application servers, it was realised that applications (the programs people were using to get work done) themselves, were becoming bigger and more complex -- both to write and to maintain. At the same time, pressure was increasing for applications to share more of their data and sometimes functionality with other applications. More applications were either located on a network or used networks extensively. It seemed logical to have some kind of program residing on the network that would help share application capabilities in an organised and efficient way -- making it easier to write, manage, and maintain the applications. The end result of this thinking was what is now called an application server. However, these servers first appeared in client/server computing and on LANs. At first, they were often associated with "tiered" applications, when people described the functionality of applications as two-tiered (database and client program), three-tiered (database, client program, and application server), or n-tiered (all the above plus whatever). This wa s (and still is) a complex model of application development, and it resisted wide-scale implementation. The Word Application Server Means Before going further, it will be useful to explore the world of the Application Server and to know the answers of some of the most frequently asked questions like: What is an Application server? An Application server is a server program that resides in the server (computer) and provides the business logic for the application programme. The server can be a part of the network, more precisely the part of the distributed network. The server program is a program that provides its services to the client program that resides either in the same computer or on another computer connected through the network. Where exactly the a pplication server fits in? Application servers are mainly used in web based applications that have 3-Tier architecture. 1st Tier: Front end - Browser (thin client), a GUI interface lying at the client/workstation. 2nd Tier : Middle tier - Application Ser ver - set of application program. 3rd Tier: Back end - Database Server. The application server is a second / middle Tier of the 3- tier Architecture. Please refer the diagram below:
  • 2. C l i e n t ' s B r o w s e r ( T i e r 1 ) Ø I B M W e b s p h e r e Ø N e t s c a p e A p p S e r v e r Ø O r a c l e W e b A p p S e r v e r Ø W e b l o g i c Ø S u n N e t D y n a m i c s Ø M i c r o s o f t A S P Ø L o t u s D o m i n o Ø W e b O b j e c t s W e b A p p l i c a t i o n S e r v e r s ( T i e r 2 ) D a t a b a s e ( T i e r 3 ) J A V A A c t i v e X C / C + + How Information flows via applicatio n server? The Application server syncs / combines with the web server for processing the request made by the client.
  • 3. If we look at the request-response flow between client, web server and application server then we come to know that the client's request first goes to the web server, which sends the required information to the application server. The application server then sends back the response to the web server after taking an appropriate action. The web server further sends the processed information back to the client. Web server use different approaches or technology for forwarding or receiving back processed information. Some of the most common approaches are CGI (Common Gateway Interface), ASP (Active Server Pages), JSP(Java Server pages), Java Servlets, Java Script etc. What Application Server do First and foremost, application servers connect database information (usually coming from a database server) and the end-user or client program (often running in a Web browser). There are many reasons for having an intermediate player in this connection: • a desire to decrease the size and complexity of client programs • the need to cache and control the data flow for better performance • a requirement toprovide security for both data and user traffic. Application servers have different roles, but not every implementation requires the same functionality. Someone might want an application server that simply helps organise their applications for the Web, give them better control over the business logic they contain, and make it easier to monitor and secure the data. They don't need thousands of servers. Other companies, especially big ones, do need to manage thousands of servers. For them, the scalability of an application server is crucial. So some application servers feature scalability, others feature other things, and some try to do everything. What's most important: security, scalability, business logic management, or database connectivity? Features of Application Servers Component Management: Provides the manager for handling all the components and run time services like session management, synchronous/asynchronous client notifications and executes server business logic. Fault Tolerance: Ability of the Application server with no single point of failure, defining policies for recovery and fail-over recovery in case of failure of one object or group of objects. Load Balancing: Ability to send the request to the different servers depending upon the load and availability of the server. Transaction Management Management Console:Single point graphical management console for remotely monitoring clients and server clusters Security:Security features for applications security Types of Application Servers
  • 4. Application servers are categorised mainly in 3 types: Web Information Servers This type of server employs HTML templates and scripts to generate pages incorporating values from the database in them. These types of servers are stateless servers. Some of these types of servers are Netscape Server, HAHT, Allaire, Sybase, SilverStream etc. Component Servers The main purpose of these servers is to provide database access and transaction-processing services to software components including DLL's, CORBA, and Jav a Bean. Firstly, they provide environment for server-side components. Secondly, they provide access to database and other services to the component. These types of servers are stateless servers. Some of these servers are MTS (provides interface for DLL), Sybase Jaguar, IBM Component broker. Active Application Server This type of server supports and provides a rich environment for server-side logic expressed as objects, rules and components. These types of servers are stateful servers and best suitable for dealing with e-Commerce environments. NOTE: Stateful servers are those servers which play the role of transaction co-ordinator and manage the data state, while Stateless servers doesn't do these things completely on their own, but have to rely on database or transaction monitors for the completion of the transaction. Selection of Application Server Choosing the correct application server to run the J2EE application can play an integral part in the application's success. To decide about an Application Server, the project requirements should first be nailed down. The decision you make will play a role in many aspects of the application, not the least of which is the budget. Different application servers are targeted for different types of applications. The f irst step should be to identify and prioritise the needs of the particular environment. The criteria might include: • Performance • Cost • Development • Support • Compliance • Administration • Scalability/Reliability After you've prioritised, you can begin looking for the application server that best meets the needs. If you run in a large -scale environment (Intranet or Internet) and expect to have lots of traffic to the site, performance should be at the top of the list. Not all app servers perform alike. In fact, a wide range of issues can contribute to how well (or how poorly) the server performs under load. Some of the answers are easy to find, while others might take some investigation or evaluation of the app server by using a similar application and taking some performance metrics. Here is some performance factors to consider: • Use of connection pooling and the types of drivers provided for JDBC support • Use of caching features, and how configurable the cache is • Support of Web servers for request-handling performance • If you plan on using CMP, how is it implemented for the EJB support? If performance isn't at the top of the list, it is still important to understand some of the issues surrounding app-server performance. Sooner or later you'll need it.
  • 5. Cost Cost is usually another factor that will play a role in the decision. Make sure the server you are considering is affordable. When evaluating costs look at: • Pricing structure • Support and maintenance costs • Hardware requirements • Development licenses Development and support Development and Support are two factors that can make or break a project, depending on how experienced the development team is. There are few questions, which you should ask yourself: • Is training available if my team needs it? • How quick is the support turnaround? • What IDEs are integrated with the app server? • What platforms are supported, and can development take place on multiple platforms? • Is runtime server debugging supported or possible? If you have a development team working on the project, make sure the application server supports the creation of multiple application spaces. Nothing will slow a team down more than if they're stepping all over each other while trying to debug and deploy an application. As far as compliance goes, make sure to determine ahead of time what version of specifications the project will be using. Then check to make sure that the app server supports those versions. Not every application server supports the latest version of JSP, EJB, JMS, or Servlet specs. Administration Administration is a key issue, but sometimes it's overlooked. You can waste a huge amount of time in configuring app servers. You need remote admin capabilities, as well as command-line access. The ease of deployment during development is also a large hidden cost. If it takes each engineer five minutes to deploy every time they need to test, the cost quickly adds up in terms of lost time. Being able to monitor the server is also important for making corrections to deployment parameters . Scalability and Reliability You also need to consider scalability and reliability. Lack of reliability means lost customers —it's as simple as that. If the application server can't scale with the application, it will cost you in the long run. Features that might be important for the application include fail over support, clustering capabilities, and load balancing. As you add more scalability features, you'll find the cost of the product starts going up. In a project some time should be definitely devot ed for evaluating the application server that best fits the needs. The time spent up front will be worth it! Conclusion The paper gives an overview about application server and rules, which need to be considered while selection of application server. By fo llowing these rules, there are better chances to understand and select an application server that best suits to you.