Session 11: Java Enterprise Web and Application Enabling (Part III)

Session 11: Java Enterprise Web and Application Enabling (Part III)

Extreme Java G22.3033-007 Session 11 - Main Theme Java Enterprise Web and Application Enabling (Part III) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Summary of Previous Session Enterprise JavaBeans (EJBs) J2EE Connector Architecture Practical Survey of Mainstream J2EE App. Servers Web Services Developer Pack Enterprise Application Integration (EAI) and Business to Business Integration (B2Bi) J2EE Blueprint Programs Class Project & Assignment #4c 2 1 Summary of Previous Session Advanced Java Server Pages and Java Servlets Java Server Faces Jakarta Struts and Other Related Frameworks Building Business Logic with J2EE Patterns of Enterprise Application Architectures XML Support for MDA Technology Java and XML Tools for CLDC Applications Class Project & Assignment #4b 3 Enterprise JavaBeans (EJBs) http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/ Also See Session 10 Main Theme Part IV on: “Building Business Logic with J2EE” Session 11 Sub-Topic 2 Presentation on: “Using Enterprise JavaBeans” and Session 11 (historical) Handouts on: “The Enterprise JavaBeans (EJB) Server Component Model” “Technical Introduction to Enterprise JavaBeans” “Deploying and EJB Application” “Introduction to Enterprise JavaBeans” “Building a Stateless Session Bean” “Using Enterprise JavaBeans” “EJB Application Servers” “Enterprise JavaBeans FAQs” 4 “I EJB Ri ht f M ?” 2 J2EE Initial Platform: Components + Container + Services “The Whole is Greater than the Sum of its Parts” 5 What is a Component Model? Component Model Subsumes: Component as a packaged software object with a standardized interface and reusable in multiple applications Specification Programming Model Deployment Model Administration Model Component architecture How components interact with each other and with software tools 6 3 Simplified J2EE Platform Today: “The Whole is Much Greater than the Sum of its Parts” 7 J2EE and Application Logic Tiers 8 4 J2EE Server and Containers http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Overview3.html 9 J2EE: A Complete Computing Environment Platform Specification Lists required elements of the platform Lists policies to follow for a valid implementation Reference Implementation (+ Sun ONE App. Server) Semantically correct prototype to test against Compatibility Test Suite API-level compatibility, component-level tests, end-to-end compatibility Application Programming Model: java.sun.com/j2ee 10 5 Enterprise JavaBeans Container 11 Enterprise JavaBeans and Services Application Server Container Services Lifecycle Transaction Security Load Balancing Error Handling Threading Enterprise Java Persistence* Bean * In the EJB 1.0 specification support for persistence services is optional. In the EJB 1.1 specification it is mandatory. 12 6 Sample DemoBean Application Architecture 13 J2EE: Components Enterprise JavaBeans Server-side solutions can be built without regards for the database, transaction server, or application they run on Servlets Run on vast majority of web servers JavaServer Pages Dynamic content leverages off the full power of Java 14 7 The Three Cs: Components, Containers, Connectors 15 J2EE: Containers Containers provide high-performance, scalable environments for J2EE-enabled servers J2EE-enabled servers support EJB-based components, servlets, and JSP-based pages 16 8 J2EE: Connectors Connectors allow J2EE-based solution to preserve, protect, and leverage off of existing enterprise investments 17 J2EE: Unifying the Three Cs Single platform Standard platform-independent technology Applications built with components can be run on any J2EE server, and are able to talk to enterprise- class systems that exist today 18 9 Creating an EJB Component Example: try { // get the JNDI naming context Context initialCtx = new InitialContext (); // use the context to lookup the home interface CheckingHome home = (CheckingHome) initialCtx.lookup ("checking"); // use the home interface to create the enterprise Bean Checking server = home.create (); // invoke business methods on the bean server.createAccount (1234, "Athul", 1000671.54d); } catch (Exception ex) { ex.printStackTrace (); } 19 Enterprise JavaBeans (EJBs) Enterprise Application Platforms Support Component Modeling with EJBs Support Serving of EJBs See Session 11 Handouts on EJBs See Session 11 Sub-Topic 2 Presentation on Using Enterprise JavaBeans Newer Application Server Technology Focused on “Model-Centric” Application Development 20 10 Entity Beans in EJB Application Servers Represent sets of data (all or part of a database table or a view) Functionality limited to creation, update, and deletion of data Manage persistence of data Maintained in a cache Can be container or bean managed Container-managed beans are under the control of an application server for persistence and transaction management Container-managed beans are restricted in the type and complexity of data they can manage Bean-managed beans rely on user provided code for persistence and transaction management 21 Entity Beans Related Components EJB remote interface EJB remote implementation EJB home interface EJB key EJB finder helper interface Deployment descriptor Database scripts 22 11 Session Beans in EJB Application Servers Handle the business logic of EJB applications May use multiple entity beans to gather application data 23 Session and Entity Beans Application Server ct ra Account bt Up Su 00 Entity Bean dat Transfer $100 from $1 e A cco Account A to Account B ATM A unt Session A t d un d co Database Bean $ Ac 1 e 0 at 0 pd Account U Entity Bean B 24 12 EJB Physical Partioning Web Web Web A Domain Name System (DNS) Browser Browser Browser server routes incoming browser requests evenly across a pool of web servers. This technique is referred to as DNS round-robining. The application server provides fail-over if one of the web servers goes down. Web Web Web Server Server Server The application server distributes load across all available EJB servers and provides fail-over if one of the EJB servers goes down. EJB EJB EJB Server Server Server EJBs communicate to the database through Java Database Connectivity (JDBC). The application server pools and Database manages database connections for maximum efficiency. 25 EJB Component/Programming Model 26 13 Practical Use of Application Server Services 27 An Abstract View: J2EE Patterns 28 14 Part II J2EE Connector Architecture 29 J2EE Connector Architecture http://java.sun.com/j2ee/connector/ Problem: Integration of Heterogeneous Enterprise Information Systems (EISs) Sample EISs: ERP, mainframe transaction processing, database systems, and legacy applications not written in the Java programming language. Solution: J2EE Connector Architecture One Resource Adapter for each Type of EIS is pluggable into a J2EE Application Server 30 15 Adding Support for B2B Transactions to EISs 31 J2EE Connector Architecture Diagram 32 16 J2EE Connector Architecture Components System Contracts Connection management contracts (1.0) Transaction management contracts (1.0) Security contract (1.0) Transaction and Message Inflow contracts (1.5) Lifecycle and Work management contracts (1.5) Resource Adapter System-level software driver used to connect to an EIS Provides transaction, security, and connection pooling Implements the EIS-side of the system-level contracts Common Client Interface (CCI) Intended for EAI and Enterprise tools vendors 33 Part III Practical Survey of Mainstream J2EE/CORBA 3 Application Servers Special Focus on WAS 5.0 Also see Session 8 Main Theme Part V on “Distributed Object Computing Today and NG” and Session 11 Handouts on: “Application Servers Comparison” “WebSphere by IBM” 34 17 Java-Based and J2EE Application Servers Third-Party Vendors http://www.app-serv.com/contend.html See: http://www.mgm-edv.de/ejbsig/ejbservers.html http://www.javaworld.com/javaworld/tools/jw-tools-appserver.html http://www.appserver-zone.com/ http://www.devx.com/devxpress/gurl.asp?i=1X1095373X7360 WebSphere Architecture and Programming Model: http://www.research.ibm.com/journal/sj/373/bayeh.html 35 Commercial J2EE Environments WebLogic 8.0 WebSphere 5.0 JBoss 3.06 Borland AppServer iPlanet.com iPlanet Sybase EAServer Oracle 9i IONA iPortal Xoology Concerto Aligo M-1 Advanced Network Systems WebIx 36 18 CORBA 3 Environments See: http://ditec.um.es/~dsevilla/ccm/ Implementations (mostly open source): GOAL Group OpenCCM - http://corbaweb.lifl.fr/OpenCCM/ ExoLab.org OpenCCM - http://corbaweb.lifl.fr/OpenCCM/ iCMG K2-CCM (C++) - K2-CCM MICO/E (Eiffel ORB) - MicoCCM page JavaCCM - http://dog.team.free.fr/details_javaccm.html TAO Group - http://www.cs.wustl.edu/~schmidt/TAO.html IONA iPortal (no CCM) - http://www.iona.com/products/ip_ipas_home.htm Other companies: Eurescom/GMD/Humboldt U, Computational Physics/Photon Research, Sprint, ONE, Siemens, Sourceforge MI-3 (“Mission Impossible 3”) and CIF projects (http://sourceforge.net/projects/cif/), etc. See Session 3 Sub-Topic 1 Presentation on “CORBA 3” 37 WebSphere Application Server Overview 38 19 WebSphere Terminology Managed Process or Server Each application/JMS server running in its own JVM Node Agent Manages servers running on a single physical machine (i.e., a node) Deployment Manager Manages multiples nodes in a distributed topology Cell Network of multiple nodes in a single logical administration domain 39 WAS 5.0 Offerings WebSphere Application Server –

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    55 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us