Designing Enterprise Applicationswith the J2EETM Platform, Second Edition phần 2 ppt

44 587 2
Designing Enterprise Applicationswith the J2EETM Platform, Second Edition phần 2 ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SUMMARY 23 1.5 Summary The challenge to IT professionals today is to efficiently develop and deploy distrib- uted applications for use on both corporate intranets and over the Internet. Compa- nies that can do this effectively will gain strategic advantage in the information economy. The Java 2 Platform, Enterprise Edition is a standard set of Java technologies that streamline the development, deployment, and management of enterprise applications. The J2EE platform is functionally complete in the sense that it is possible to develop a large class of enterprise applications using only J2EE tech- nologies. Applications written for the J2EE platform will run on any J2EE com- patible server. The J2EE platform provides a number of benefits for organizations developing such applications, including a simplified development model; indus- trial-strength scalability; support for existing information systems; choices in servers, tools, and components; and a simple, flexible security model. By providing the ability to deploy component-oriented enterprise applications across multiple computing tiers in a platform-neutral manner, the J2EE platform can give fast-moving enterprises a significant and measurable competitive edge. 1.6 References and Resources • J2EE Technology in Practice: Building Business Applications with the Java TM 2 Platform, Enterprise Edition. R. Cattell, J. Inscore, Enterprise Partners. Copyright 2001, Addison-Wesley. • The Java BluePrints Web site <http://java.sun.com/blueprints> • The Java Tutorial Web site <http://java.sun.com/docs/books/tutorial> DEA2e.book Page 23 Friday, March 8, 2002 12:31 AM DEA2e.book Page 24 Friday, March 8, 2002 12:31 AM 25 CHAPTER 2 J2EE Platform Technologies by Vijay Ramachandran THE J2EE platform specifies technologies to support multitier enterprise applica- tions. These technologies fall into three categories: component, service, and com- munication. The component technologies are those used by developers to create the essen- tial parts of the enterprise application, namely the user interface and the business logic. The component technologies allow the development of modules that can be reused by multiple enterprise applications. The component technologies are sup- ported by J2EE platform’s system-level services. These system-level services sim- plify application programming and allow components to be customized to use resources available in the environment in which they are deployed. Since most enterprise applications require access to existing enterprise informa- tion systems, the J2EE platform supports APIs that provide access to databases, enterprise information systems such as SAP and CICS, and services such as trans- action, naming and directory, and asynchronous communication. Finally, the J2EE platform provides technologies that enable communication between clients and servers and between collaborating objects hosted by different servers. This chapter will provide an overview of the J2EE platform technologies. 2.1 Component Technologies A component is an application-level software unit. In addition to JavaBeans TM com- ponents, which are part of the J2SE TM platform, the J2EE platform supports the fol- lowing types of components: applets, application clients, Enterprise JavaBeans TM (EJB TM )components, Web components, and resource adapter components. DEA2e.book Page 25 Friday, March 8, 2002 12:31 AM CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 26 Applets and application clients run on a client platform, while EJB, Web, and resource adapter components run on a server platform. Except for resource adapters, application architects and developers typically design and develop the components of a J2EE application. EIS and tool vendors design, develop, and provide resource adapter components, which are then deployed on the server and used by other components of the platform to access data in an EIS. All J2EE components depend on the runtime support of a system-level entity called a container. Containers provide components with services such as lifecycle management, security, deployment, and threading. Because containers manage these services, many component behaviors can be declaratively customized when the component is deployed in the container. For example, an application compo- nent provider can specify an abstract name for a database that an Enterprise Java- Beans component needs to access, and a deployer will link that name with the information (such as a user name and password) needed to access the database in a given environment. The following sections provide overviews of the different types of J2EE com- ponents and containers. 2.1.1 Types of J2EE Clients The J2EE platform allows different types of clients to interact with server-side com- ponents. • Applets are Java-based client components that usually execute within a Web browser, and that have access to all features of the Java programming lan- guage. J2EE applications can use applets for a more powerful user interface. Browser-based applet clients communicate over HTTP. •Anapplication client executes in its own client container. (The client container is a set of libraries and APIs that support the client code.) Application clients are user interface programs that can directly interact with the EJB tier of a J2EE platform-based application using RMI-IIOP. These clients have full ac- cess to J2EE platform services such as JNDI lookups, asynchronous messag- ing, and the JDBC TM API. An application client’s container provides access to these J2EE services and handles RMI-IIOP communication. •AJava Web Start-enabled rich client is a stand-alone client based on JFC/Swing APIs and enabled for the J2EEplatformthroughtheJava Web Start DEA2e.book Page 26 Friday, March 8, 2002 12:31 AM COMPONENT TECHNOLOGIES 27 technology. A rich client has increased user interface features available to it, such as a better interactive environment and richer graphic capabilities, along with the J2EE platform features and services. Java Web Start technology en- ables application deployment through a single-step download-and-launch pro- cess performed by means of a Web browser. Rich clients communicate with the server using the J2SE environment to execute XML over HTTP(S). As Web service technologies gain ground in the future, these rich clients are well- positioned to efficiently use open communication standards such as JAX-RPC technology. •Awireless client is based on Mobile Information Device Profile (MIDP) tech- nology. MIDP is a set of Java APIs which, along with Connected Limited De- vice Configuration (CLDC), provides a complete J2ME environment for wireless devices. 2.1.2 Web Components A Web component is a software entity that provides a response to a request. A Web component typically generates the user interface for a Web-based application. The J2EE platform specifies two types of Web components: servlets and JavaServer Pages TM (JSP TM ) pages. The following sections give an overview of Web compo- nents, which are discussed in detail in Chapter 4. 2.1.2.1 Servlets A servlet is a component that extends the functionality of a Web server in a porta- ble and efficient manner. A Web server hosts Java servlet classes that execute within a servlet container. The Web server maps a set of URLs to a servlet so that HTTP requests to these URLs invoke the mapped servlet. When a servlet receives a request from a client, it generates a response, possibly by invoking business logic in enterprise beans or by querying a database directly. It then sends the response—as an HTML or XML document—to the requestor. A servlet developer uses the servlet API to: • Initialize and finalize a servlet • Access a servlet’s environment • Receive/forward requests and send responses • Maintain session information on behalf of a client DEA2e.book Page 27 Friday, March 8, 2002 12:31 AM CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 28 • Interact with other servlets and other components • Use a filter mechanism for pre- and post-processing of requests and responses • Implement and enforce security at the Web tier 2.1.2.2 JavaServer Pages Technology The JavaServer Pages (JSP) technology provides an extensible way to generate dynamic content for a Web client. A JSP page is a text-based document that describes how to process a request to create a response. A JSP page contains: • Template data to format the Web document. Typically the template data uses HTML or XML elements. Document designers can edit and work with these elements on the JSP page without affecting the dynamic content. This ap- proach simplifies development becauseitseparates presentation from dynamic content generation. • JSP elements and scriptlets to generate the dynamic content in the Web docu- ment. Most JSP pages use JavaBeans and/or EnterpriseJavaBeanscomponents to perform the more complex processing required of the application. Standard JSP actions can access and instantiate beans, set or retrieve bean attributes, and download applets. JSP technology is extensible through the development of custom actions, or tags, which are encapsulated in tag libraries. 2.1.2.3 Web Component Containers Web components are hosted by servlet containers, JSP containers, and Web con- tainers. In addition to standard container services, a servlet container provides the network services by which requests and responses are sent. It also decodes requests and formats responses. All servlet containers must support HTTP as a protocol for requests and responses; they may also support other request-response protocols such as HTTPS. A JSP container provides the same services as a servlet container. Servlet and JSP containers are collectively referred to as Web containers. 2.1.3 Enterprise JavaBeans Components The Enterprise JavaBeans architecture is a server-side technology for developing and deploying components containing the business logic of an enterprise applica- tion. Enterprise JavaBeans components, also referred to as enterprise beans, are DEA2e.book Page 28 Friday, March 8, 2002 12:31 AM COMPONENT TECHNOLOGIES 29 scalable, transactional, and multi-user secure. There are three types of enterprise beans: session beans, entity beans, and message-driven beans. Session and entity beans have two types of interfaces: a component interface and a home interface. The home interface defines methods to create, find, remove, and access metadata for the bean. The component interfaces define the bean’s business logic methods. Message- driven beans do not have component and home interfaces. An enterprise bean’s component and home interfaces are required to be either local or remote. Remote interfaces are RMI interfaces provided to allow the clients of a bean to be location independent. Regardless of whether the client of a bean that implements a remote interface is located on the same VM or a different VM, the client uses the same API to access the bean’s methods. Arguments and return results are passed by value between a client and a remote enterprise bean, and thus there is a serialization overhead. A client of an enterprise bean that implements a local interface must be located in the same VM as the bean. Because object arguments and return results are passed by reference between a client and a local enterprise bean, there is no serialization overhead. The following sections give an overview of enterprise beans. Enterprise beans are discussed in detail in Chapter 5. 2.1.3.1 Session Beans A session bean is created to provide some service on behalf of a client and usually exists only for the duration of a single client-server session. A session bean per- forms operations such as calculations or accessing a database for the client. While a session bean may be transactional, it is not recoverable should its container crash. Session beans can be stateless or can maintain conversational state across methods and transactions. If they do maintain state, the EJB container manages this state if the object must be removed from memory. However, the session bean object itself must manage its own persistent data. 2.1.3.2 Entity Beans An entity bean is a persistent object that represents data maintained in a data store; its focus is data-centric. An entity bean is identified by a primary key. An entity bean can manage its own persistence or it can delegate this function to its container. DEA2e.book Page 29 Friday, March 8, 2002 12:31 AM CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 30 An entity bean can live as long as the data it represents. Persistence is handled in one of two ways: • Bean-managed persistence—The developer handles persistence as part of the entity bean’s source code. • Container-managed persistence—The developer specifies the bean fields that need to be persistent and lets the EJB container manage persistence. Beans with container-managed persistence are more portable across data- bases. In addition, entity beans with container-managed persistence can maintain relationships among themselves. This feature enables queries that join multiple database tables. With bean-managed persistence, a change in the underlying data- base may require the developer to change the entity bean’s source code to conform to the SQL implemented by the new database. 2.1.3.3 Message-Driven Beans A message-driven bean enables asynchronous clients to access the business logic in the EJB tier. Message-driven beans are activated only by asynchronous messages received from a JMS queue to which they listen. A client does not directly access a message-driven bean; instead, a client asynchronously sends a message to a JMS queue or topic. Because message-driven beans have no need to expose their methods to clients, they do not implement component or home interfaces. They also do not maintain state on behalf of a client. 2.1.3.4 EJB Component Containers Enterprise beans are hosted by an EJB container. In addition to standard container services, an EJB container provides a range of transaction and persistence services and access to the J2EE service and communication APIs. DEA2e.book Page 30 Friday, March 8, 2002 12:31 AM COMPONENT TECHNOLOGIES 31 2.1.4 Components, Containers, and Services The J2EE component types and their containers are illustrated in Figure 2.1. Figure 2.1 J2EE Components and Containers Containers provide all application components with the J2SE platform APIs, which include the Java IDL and JDBC 2.0 core enterprise APIs. Table 2.1 lists the Standard Extension APIs that are available in each type of container. The J2EE platform APIs are described in Section 2.4 on page 42 and Section 2.5 on page 45. Table 2.1 J2EE Required Standard Extension APIs API Applet Application Client Web EJB JDBC 2.0 Extension N Y Y Y JTA 1.0 N N Y Y DEA2e.book Page 31 Friday, March 8, 2002 12:31 AM CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 32 2.2 Platform Roles The J2EE platform defines several distinct roles in the application development and deployment life cycle: J2EE product provider, application component provider, application assembler, deployer, system administrator, and tool provider. In general, the roles are defined to aid in identifying the tasks performed by various parties during the development, deployment, and running of a J2EE application. However, while some of these roles, such as system administrator and tool provider, perform tasks that are common to non-J2EE platforms, other roles have a meaning specific to the J2EE platform, because the tasks those roles perform are specific to J2EE tech- nology. In particular, application component providers, application assemblers, and deployers must configure J2EE components and applications to use J2EE platform services (described in Section 2.3 on page 35). JNDI 1.2 N Y Y Y Servlet 2.3 N N Y N JSP 1.2 N N Y N EJB 2.0 N Y a Y b Y RMI-IIOP 1.0 N Y Y Y JMS 1.0 N Y Y Y JavaMail 1.2 N N Y Y JAF1.0 NN YY JAXP 1.1 N Y Y Y JAAS 1.0 N Y Y Y Connector 1.0 N N Y Y a Application clients can only make use of the enterprise bean client APIs. b Servlets and JSP pages can only make use of the enterprise bean client APIs. Table 2.1 J2EE Required Standard Extension APIs (continued) API Applet Application Client Web EJB DEA2e.book Page 32 Friday, March 8, 2002 12:31 AM [...]... decides the type of transaction demarcation that a session bean will use and declares the transaction style via 39 DEA2e.book Page 40 Friday, March 8, 20 02 12: 31 AM 40 CHAPTER 2 J2EE PLATFORM TECHNOLOGIES attributes in the enterprise bean’s deployment descriptor The attributes indicate whether the bean or container will manage the bean’s transactions and, if the latter, how the container will manage the. .. J2EE product provider provides application deployment and management tools Deployment tools enable a deployer to deploy components on the J2EE product The deployer role is described in Section 2. 2.4 on page 34 Management tools allow a system administrator to manage the J2EE product and the applications deployed on the J2EE product The form of these tools is not prescribed by the J2EE specification The. .. components with J2EE platform security APIs 2. 3.4 .2 Authentication The J2EE platform allows an application component provider to choose how a principal is authenticated A Web client can provide authentication data to a Web container using HTTP basic authentication, digest authentication, form-based authentication, or certificate authentication DEA2e.book Page 41 Friday, March 8, 20 02 12: 31 AM PLATFORM... application 41 DEA2e.book Page 42 Friday, March 8, 20 02 12: 31 AM 42 CHAPTER 2 J2EE PLATFORM TECHNOLOGIES is deployed, the deployer provides a mapping between the set of administrator and employee principals (or groups) and their respective roles When the salary update method is executed, the enterprise bean’s container can check whether the principal or group propagated from the Web server is in a role... describe the data, rather than the format for displaying it In the same way that you define the field names for a data structure, you are free to use any XML tags that make sense for a given application When multiple applications share XML data, they have to agree on the tag names they intend to use 49 DEA2e.book Page 50 Friday, March 8, 20 02 12: 31 AM 50 CHAPTER 2 2.6 J2EE PLATFORM TECHNOLOGIES Summary The. .. resource adapters to facilitate their deployment in a J2EE environment To use the J2EE Connector architecture, an enterprise information system vendor provides a resource adapter for its EIS The adapter is then either deployed as a separate module in the J2EE server or packaged and deployed along with the J2EE application The EIS provider develops the resource adapter following the Connector architecture... should be named within a subcontext of the naming environment according to the type of the object For example, enterprise beans are named within the subcontext java:comp/env/ejb and JDBC DataSource references in the subcontext java:comp/env/jdbc 35 DEA2e.book Page 36 Friday, March 8, 20 02 12: 31 AM 36 CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 2. 3 .2 Deployment Services J2EE deployment services allow components... providers, including HTML page authors, document programmers, enterprise bean developers, and so on These roles use tools provided by a tool provider to produce J2EE components and applications The tool provider role is described in Section 2. 2.6 on page 34 33 DEA2e.book Page 34 Friday, March 8, 20 02 12: 31 AM 34 CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 2. 2.3 Application Assembler An application assembler takes... stored procedures • Inspect and modify the results from Select statements DEA2e.book Page 43 Friday, March 8, 20 02 12: 31 AM SERVICE TECHNOLOGIES The J2EE platform requires both the JDBC 2. 0 Core API (included in the J2SE platform), and the JDBC 2. 0 Extension API, which provides row sets, connection naming via JNDI, connection pooling, and distributed transaction support The connection pooling and distributed... components A variety of tools for use with the J2EE platform are possible, corresponding to the many component types supported by the J2EE platform as well as the various roles defined for the J2EE development and deployment process Platform-independent tools can be used for all phases of development up to the deploy- DEA2e.book Page 35 Friday, March 8, 20 02 12: 31 AM PLATFORM SERVICES ment of an application . site <http://java.sun.com/blueprints> • The Java Tutorial Web site <http://java.sun.com/docs/books/tutorial> DEA2e.book Page 23 Friday, March 8, 20 02 12: 31 AM DEA2e.book Page 24 Friday, March 8, 20 02 12: 31 AM 25 CHAPTER 2 J2EE. Applet Application Client Web EJB JDBC 2. 0 Extension N Y Y Y JTA 1.0 N N Y Y DEA2e.book Page 31 Friday, March 8, 20 02 12: 31 AM CHAPTER 2 J2EE PLATFORM TECHNOLOGIES 32 2 .2 Platform Roles The J2EE platform defines. to the J2EE service and communication APIs. DEA2e.book Page 30 Friday, March 8, 20 02 12: 31 AM COMPONENT TECHNOLOGIES 31 2. 1.4 Components, Containers, and Services The J2EE component types and their

Ngày đăng: 12/08/2014, 16:21

Từ khóa liên quan

Mục lục

  • Designing Enterprise Applications with J2EE 2nd

    • Introduction

      • 1.5 Summary

      • 1.6 References and Resources

      • J2EE Platform Technologies

        • 2.1 Component Technologies

          • 2.1.1 Types of J2EE Clients

          • 2.1.2 Web Components

            • 2.1.2.1 Servlets

            • 2.1.2.2 JavaServer Pages Technology

            • 2.1.2.3 Web Component Containers

            • 2.1.3 Enterprise JavaBeans Components

              • 2.1.3.1 Session Beans

              • 2.1.3.2 Entity Beans

              • 2.1.3.3 Message-Driven Beans

              • 2.1.3.4 EJB Component Containers

              • 2.1.4 Components, Containers, and Services

              • 2.2 Platform Roles

                • 2.2.1 J2EE Product Provider

                • 2.2.2 Application Component Provider

                • 2.2.3 Application Assembler

                • 2.2.4 Deployer

                • 2.2.5 System Administrator

                • 2.2.6 Tool Provider

                • 2.3 Platform Services

                  • 2.3.1 Naming Services

                  • 2.3.2 Deployment Services

                    • 2.3.2.1 Deployment Units

                    • 2.3.2.2 Platform Roles in the Deployment Process

Tài liệu cùng người dùng

Tài liệu liên quan