Application Servers How Application Servers help application integration? Sanjoy Sanyal (Tech for NonGeek)
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 JavaMail Java 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 storage
Message-driven beans cater to asynchronous interaction with clients
EJB container provides the environment in which the beans run
All interactions between the EJB and other objects go thru the container
Provides 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 implementation
In 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 JSPs XML support Web services support Presentation layer Application logic layer Connection to resource management layer Resouerce management layer Web Server Email Server WAP Servers
Summary
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)
0 comments
Post a comment