Topic4 Application Servers
-
Upload
sanjoysanyal -
Category
Technology
-
view
1.492 -
download
0
description
Transcript of Topic4 Application Servers
Application Servers
Sanjoy Sanyal (Tech for NonGeek)
How Application Servers help application integration?
The Basic Issue
Connecting remote clients with applications over Internet
…and integrating applications over the Net
….pose a few challenges in application integration
Sanjoy Sanyal (Tech for NonGeek)
Application Servers
Application servers was one response to the challenge
Vendors try to provide middleware logic For e.g. for transactions, security, persistence Functionality is similar to CORBA, TP monitors and
message brokers The goal is to provide an environment for hosting
all kinds of application logic:Can be used for EAI as well as Web-based
integration Two dominant platforms : J2EE and .NET
(we will use J2EE as an example in next slides)
Sanjoy Sanyal (Tech for NonGeek)
J2EE: Main Components
Sanjoy Sanyal (Tech for NonGeek)
Servlets
JavaMailJava API for XML Processing (JAXP)
JavaServer Pages (JSP)
Java transaction API (JTA)
Enterprise Java Beans (EJB)
Java Authentication and Authorization Service (JAAS)
Java Message Service (JMS)
Java Naming and Directory Interface
(JNDI)
Java DataBase Connectivity
(JDBC)
Java 2 Connector Architecture
(J2CA)
Support for communication and presentation
Support for application integration
Support for access to resource managers
Support for the Application Layer: EJB
Support for application logic thru: EJB, JNDI and JMS EJB (Enterprise Java Beans) is at the core of J2EE
Server-side component: provides application specific functionality
Specifies three different types of beans:Session beans handle a session with a client. Can be stateful or
stateless. E.g.: shopping cart (stateful) Entity beans live beyond the boundary of a client session. They have a
state and are in persistent storageMessage-driven beans cater to asynchronous interaction with clients
EJB container provides the environment in which the beans runAll interactions between the EJB and other objects go thru the
containerProvides services like transactions, persistence, security (developers
need not implement this functionality)
Sanjoy Sanyal (Tech for NonGeek)
Support for the Application Layer: JNDI
Java Naming and Directory Interface defines an interface for directory services:Does not mandate an implementationIn general, allows clients to bind to a server
based on the object name Allows binding to EJBs, in the J2EE context
Sanjoy Sanyal (Tech for NonGeek)
Connecting to Resource Layer: JDBC & J2CA
JDBC: API that allows developers to connect to a tabular
data source by executing SQL commands from a Java program
JBDC methods can be called from an EJB or directly from a servlet (bypassing access to an application logic layer)
J2CA:Generalization of JDBC approach Defines how to build resource adapters
java components that can help EJB and other Java applications interface with resource managers
Characterized by contracts which define the API that Java applications can use to access the resource manager
Sanjoy Sanyal (Tech for NonGeek)
Support to the application logic layer
Sanjoy Sanyal (Tech for NonGeek)
EJB
JNDI
JDBC
EJB EJB
EJB Container
JMS
J2CA resource adapter
J2CA resource adapter
Other adapters
Application logic layer
Presentation layer
Support to Presentation Layer
This support differentiates application servers from conventional middleware
Application servers provide presentation and personalization features for a variety of clients:Web browsers, applications, devices, E-mail
programs, Web services clients
Sanjoy Sanyal (Tech for NonGeek)
Support to the presentation layer
Sanjoy Sanyal (Tech for NonGeek)
Multi-device content delivery
Servlets
Personalization logic
JSPsXML
support
Web services support
Presentation layer
Application logic layerConnection to resource management layer
Resouerce management layer
Web Server
Email ServerWAP Servers
Summary
Sanjoy Sanyal (Tech for NonGeek)
Application Servers help integrate applications in both EAI and Web –integration contexts
In doing so, they go beyond traditional middleware The two dominant frameworks are: .NET and J2EE
(the material in this topic is based on Web Services: Concepts, Architectures and Applications by Alonso, Casati, Kuno, Machiraju)