Topic4 Application Servers


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Topic4 Application Servers

  1. 1. Application Servers How Application Servers help application integration? Sanjoy Sanyal (Tech for NonGeek)
  2. 2. The Basic Issue <ul><li>Connecting remote clients with applications over Internet </li></ul><ul><li>… and integrating applications over the Net </li></ul><ul><li>… .pose a few challenges in application integration </li></ul>Sanjoy Sanyal (Tech for NonGeek)
  3. 3. Application Servers <ul><li>Application servers was one response to the challenge </li></ul><ul><li>Vendors try to provide middleware logic </li></ul><ul><ul><li>For e.g. for transactions, security, persistence </li></ul></ul><ul><ul><li>Functionality is similar to CORBA, TP monitors and message brokers </li></ul></ul><ul><li>The goal is to provide an environment for hosting all kinds of application logic: </li></ul><ul><ul><li>Can be used for EAI as well as Web-based integration </li></ul></ul><ul><li>Two dominant platforms : J2EE and .NET </li></ul><ul><li>(we will use J2EE as an example in next slides) </li></ul>Sanjoy Sanyal (Tech for NonGeek)
  4. 4. 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
  5. 5. Support for the Application Layer: EJB <ul><li>Support for application logic thru: EJB, JNDI and JMS </li></ul><ul><li>EJB (Enterprise Java Beans) is at the core of J2EE </li></ul><ul><ul><li>Server-side component: provides application specific functionality </li></ul></ul><ul><ul><li>Specifies three different types of beans: </li></ul></ul><ul><ul><ul><li>Session beans handle a session with a client. Can be stateful or stateless. E.g.: shopping cart (stateful) </li></ul></ul></ul><ul><ul><ul><li>Entity beans live beyond the boundary of a client session. They have a state and are in persistent storage </li></ul></ul></ul><ul><ul><ul><li>Message-driven beans cater to asynchronous interaction with clients </li></ul></ul></ul><ul><ul><li>EJB container provides the environment in which the beans run </li></ul></ul><ul><ul><ul><li>All interactions between the EJB and other objects go thru the container </li></ul></ul></ul><ul><ul><ul><li>Provides services like transactions, persistence, security (developers need not implement this functionality) </li></ul></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  6. 6. Support for the Application Layer: JNDI <ul><li>Java Naming and Directory Interface defines an interface for directory services: </li></ul><ul><ul><li>Does not mandate an implementation </li></ul></ul><ul><ul><li>In general, allows clients to bind to a server based on the object name </li></ul></ul><ul><ul><li>Allows binding to EJBs, in the J2EE context </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  7. 7. Connecting to Resource Layer: JDBC & J2CA <ul><li>JDBC: </li></ul><ul><ul><li>API that allows developers to connect to a tabular data source by executing SQL commands from a Java program </li></ul></ul><ul><ul><li>JBDC methods can be called from an EJB or directly from a servlet (bypassing access to an application logic layer) </li></ul></ul><ul><li>J2CA: </li></ul><ul><ul><li>Generalization of JDBC approach </li></ul></ul><ul><ul><li>Defines how to build resource adapters </li></ul></ul><ul><ul><ul><li>java components that can help EJB and other Java applications interface with resource managers </li></ul></ul></ul><ul><ul><ul><li>Characterized by contracts which define the API that Java applications can use to access the resource manager </li></ul></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  8. 8. 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
  9. 9. Support to Presentation Layer <ul><li>This support differentiates application servers from conventional middleware </li></ul><ul><li>Application servers provide presentation and personalization features for a variety of clients: </li></ul><ul><ul><li>Web browsers, applications, devices, E-mail programs, Web services clients </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  10. 10. 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
  11. 11. Summary <ul><li>Application Servers help integrate applications in both EAI and Web –integration contexts </li></ul><ul><li>In doing so, they go beyond traditional middleware </li></ul><ul><li>The two dominant frameworks are: .NET and J2EE </li></ul><ul><li>(the material in this topic is based on Web Services: Concepts, Architectures and Applications by Alonso, Casati, Kuno, Machiraju) </li></ul>Sanjoy Sanyal (Tech for NonGeek)