Chapter 2 An Introduction to the Java 2 Platform, Enterprise Edition Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Overview of the J2EE Platform • Enterprise concern: - Related to solution’s properties : - System attributes such as performance, scalability, reliability, maintanability, security, ease of incorporating new functionality, and the ability to integrate the system with existing system - Not directly related to solution’s properties : - Product quality, time to market, cost of development, team productivity, dependence on unique or hard-tofind skills, and dependenceon a single technology or vendor Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Overview of the J2EE Platform • Business concern: - - Implement business processes that contain a rich representation of domain concepts, such as a simple order-processing system must keep track of products, customers, orders, inventory, and so on. Collect and process large amounts of structured information Perform complex data manipulation and manage complex interactions with its many concurrent users. Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Overview of the J2EE Platform • Integration concern: - - Fundamental aspect of many enterprise system is their integration with other system Enterprise systems often run on complex and distributed technical infrastructures enterprise system may have been implemented at different time and may use different technologies. Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Overview of the J2EE Platform • Development concern: - - - Development and maintenance of enterprise systems is logistically complex Enterprise system must keep pace with changing business conditions Enterprise systems are developed over long periods of time (sometime decades), even though an initial version of the system may be made available quickly to address time-to-market concerns. Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Multitier Architectures and the J2EE Platform Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Platform Overview Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Technology Overview Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE application Component Technology • • • • • Applets An applet is primarily used to provide some form of rendering in the user interface, where performance is key Application clients An application client is a standalone Java application that provides an alternate means of accesing a J2EE application Java Servlets A servlet defines how a request from the client is processed and how a response is generated Java server Pages (JPSs) A JSP is a text document that, like a servlet, describes how a request is processed and a response generated. Enterprise JavaBeans (EJBs) An EJB is responsible for implementing an aspect of the business logic of a J2EE application Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Services • • • • • Java API for XML Parsing (JAXP) JAXP provides a standard service that supports the parsing and manipulation of XML document Java DataBase Connectivity (JDBC) JDBC provides programmatic access to a relational database Java Message Service (JMS) JMS provides a standard interface to reliable asynchronous messaging implementations Java Authentication and Authorization Service (JAAS) JAAS allows J2EE applications to authenticate users and authorize users Java Transaction API (JTA) JTA provides a standard interface to the transaction services Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Services • • Java Mail API The JavaMail API allows application components to send mail using a standard interface J2EE Connector Architecture (JCA) JCA provides a standard means for providing resource adapters Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2SE Services • • • • Hypertext Transfer Protocol (HTTP) API The HTTP API is a client-side API that supports interaction with server-side presentation tier elements using HTTP, the standard protocol for communication on the Web. HTTPS API HTTPS is the use of HTTP over the Secure Socket Layer (SSL). Remote Method Invocation over Internet Inter-Orb Protocol (RMI-IIOP) Java Naming and Directory Interface (JNDI) Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Containers • The concept of a container is central to the J2EE platform • A container provides runtime support for application components (such as JSPs, servlets, or EJBs) that execute within it. Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Deployment Configurations • Standalone Deployment Configuration • EJB-Centric Deployment Configuration • Web-Centric Deployment Configuration • Multitier Deployment Configuration Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Standalone Deployment Configuration Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 EJB-Centric Deployment Configuration Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Web-Centric Deployment Configuration Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Multitier Deployment Configuration Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Component Technologies • • Applets A Java applet is a java program that executes within an applet container that is conained within a client device, such as a Web browser. An applet is specified using the OBJECT tag in HTML, as shown in the code fragment below : <html> <body> <object codetype= “application/java” code= “TestApplet class”, width=300 height=100> …. </object> <\body> <\html> Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Component Technologies • Application Clients An application client is a standalone Java application that can contain presentation logic, business logic, and integration logic • Java Servlets A servlet is a Java class that is used to implement presentation logic on the server. • Java Server Pages (JSP) A JSP is a text document that, like a servlet, describes how a request is processed and a response is generated. Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Java Server Pages (JSP) Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Enterprise Java Beans (EJB) Exposing Home and Remote Interfaces Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Enterprise Java Beans (EJB) Exposing Local Home and Local Interface Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Component Technologies • Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJPs) reside in the business tier and are typically responsible for implementing the business logic of J2EE applications. • Home Interface The home interface of an EJB declares operations that pertain to the management of the elements represented by the EJB. • Remote Interface The remote interface of an EJB declares business operations supported by the EJB Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Component Technologies • Bean Class A code fragment of the bean class for the UserAccount EJB (irrespective of whether it supports remote or local interfaces) • There are three distict “flavors” of EJBs : session beans, entity beans, and message-driven beans Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 Interactions Involving a Message-Driven Bean Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098 J2EE Module Overview Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared by Agus Widodo D2098