Topic4 Application Servers

11
Application Servers Sanjoy Sanyal (Tech for NonGeek) How Application Servers help application integration?

description

 

Transcript of Topic4 Application Servers

Page 1: Topic4 Application Servers

Application Servers

Sanjoy Sanyal (Tech for NonGeek)

How Application Servers help application integration?

Page 2: Topic4 Application Servers

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)

Page 3: Topic4 Application Servers

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)

Page 4: Topic4 Application Servers

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

Page 5: Topic4 Application Servers

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)

Page 6: Topic4 Application Servers

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)

Page 7: Topic4 Application Servers

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)

Page 8: Topic4 Application Servers

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

Page 9: Topic4 Application Servers

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)

Page 10: Topic4 Application Servers

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

Page 11: Topic4 Application 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)