77
J2EE Blueprints J2EE Blueprints Matt Matt

J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

Embed Size (px)

Citation preview

Page 1: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

J2EE BlueprintsJ2EE Blueprints

MattMatt

Page 2: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

22

OutlineOutline Introduction Introduction

J2EE Platform Technologies J2EE Platform Technologies

The Client Tier The Client Tier

The Web Tier The Web Tier

The Enterprise JavaBeans Tier The Enterprise JavaBeans Tier

The Enterprise Information System Tier The Enterprise Information System Tier

Packaging and Deployment Packaging and Deployment

Transaction Management Transaction Management

Security Security

The Sample Application The Sample Application

Page 3: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

33

Page 4: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

44

1 Introduction1 Introduction 1.1 Challenges of Enterprise Application Development1.1 Challenges of Enterprise Application Development

1.2 The Platform for Enterprise Solutions 1.2 The Platform for Enterprise Solutions

1.3 J2EE Application Scenarios 1.3 J2EE Application Scenarios

1.4 Summary 1.4 Summary

Introduction

Page 5: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

55

1 Introduction1 Introduction The goal of the Java 2 Platform, Enterprise Edition (J2EE platform) The goal of the Java 2 Platform, Enterprise Edition (J2EE platform)

is to define a standard of functionality that helps meet these is to define a standard of functionality that helps meet these challenges and thus increases the competitiveness of enterprises in challenges and thus increases the competitiveness of enterprises in the information economy. the information economy.

The J2EE platform supports distributed applications that take The J2EE platform supports distributed applications that take advantage of a wide range of new and evolving technologies, while advantage of a wide range of new and evolving technologies, while simplifying development through a component-based application simplifying development through a component-based application model. model.

The J2EE model supports applications ranging from traditional The J2EE model supports applications ranging from traditional client-server applications delivered over corporate intranets to e-client-server applications delivered over corporate intranets to e-commerce Web sites on the Internet. commerce Web sites on the Internet.

J2EE platform provides a single, unified standard that enhances the J2EE platform provides a single, unified standard that enhances the opportunity for enterprises to project their business information opportunity for enterprises to project their business information systems beyond their historical borders, while avoiding risks systems beyond their historical borders, while avoiding risks inherent in the task. inherent in the task.

Page 6: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

66

1.1 Challenges of Enterprise Application Development 1.1 Challenges of Enterprise Application Development

Programming Productivity Programming Productivity

Response to Demand Response to Demand

Integration with Existing Systems Integration with Existing Systems

Freedom to Choose Freedom to Choose

Maintaining SecurityMaintaining Security

Page 7: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

77

1.2 The Platform for Enterprise Solutions 1.2 The Platform for Enterprise Solutions J2EE Platform OverviewJ2EE Platform Overview

• Multitier Model Multitier Model

• Container-Based Component Management Container-Based Component Management

• Support for Client Components Support for Client Components

• Support for Business Logic Components Support for Business Logic Components

• Support for the J2EE Standard Support for the J2EE Standard

Page 8: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

88

1.2 The Platform for Enterprise Solutions1.2 The Platform for Enterprise Solutions J2EE Platform Benefits J2EE Platform Benefits

• Simplified architecture and development Simplified architecture and development

• Scalability to meet demand variations Scalability to meet demand variations

• Integration with existing information systems Integration with existing information systems

• Choices of servers, tools, components Choices of servers, tools, components

• Flexible security model Flexible security model

Page 9: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

99

1.2 The Platform for Enterprise Solutions1.2 The Platform for Enterprise Solutions Simplified architecture and developmentSimplified architecture and development

• The J2EE platform supports a simplified, component-based development The J2EE platform supports a simplified, component-based development model. Because it's based on the Java programming language and the Java 2 model. Because it's based on the Java programming language and the Java 2 Platform, Standard Edition (J2SETM platform), this model offers Write Once, Platform, Standard Edition (J2SETM platform), this model offers Write Once, Run Anywhere portability, supported by any server product that conforms to Run Anywhere portability, supported by any server product that conforms to the J2EE standard. the J2EE standard.

• Component-based application models map easily and flexibly to the Component-based application models map easily and flexibly to the functionality desired from an application. functionality desired from an application.

• Components can expect the availability of standard services in the runtime Components can expect the availability of standard services in the runtime environment, and can be dynamically connected to other components environment, and can be dynamically connected to other components providing well-defined interfaces. providing well-defined interfaces.

• Components help divide the labor of application development among specific Components help divide the labor of application development among specific skill sets, enabling each member of a development team to focus on his or her skill sets, enabling each member of a development team to focus on his or her ability. ability.

Page 10: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1010

1.2 The Platform for Enterprise Solutions1.2 The Platform for Enterprise Solutions Scalability to meet demand variationsScalability to meet demand variations

• J2EE containers provide a mechanism that supports simplified J2EE containers provide a mechanism that supports simplified scaling of distributed applications, without requiring any effort scaling of distributed applications, without requiring any effort on the part of the application development team. on the part of the application development team.

• Because J2EE containers provide components with transaction Because J2EE containers provide components with transaction support, database connections, life cycle management, and other support, database connections, life cycle management, and other features that influence performance, they can be designed to features that influence performance, they can be designed to provide scalability in these areas. provide scalability in these areas.

• For example, by providing database connection pooling, For example, by providing database connection pooling, containers can ensure that clients will have access to data containers can ensure that clients will have access to data quickly. quickly.

Page 11: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1111

1.2 The Platform for Enterprise Solutions1.2 The Platform for Enterprise Solutions Integration with existing information systemsIntegration with existing information systems

• The J2EE platform, together with the J2SE platform, includes a The J2EE platform, together with the J2SE platform, includes a number of industry standard APIs for access to existing number of industry standard APIs for access to existing enterprise information systems. enterprise information systems.

• Basic access to these systems is provided by the following APIs: Basic access to these systems is provided by the following APIs: JDBCJDBC is the API for accessing relational data from Java. is the API for accessing relational data from Java. The Java Transaction API (The Java Transaction API (JTAJTA) is the API for managing and ) is the API for managing and

coordinating transactions across heterogeneous enterprise information coordinating transactions across heterogeneous enterprise information systems. systems.

The Java Naming and Directory Interface (The Java Naming and Directory Interface (JNDIJNDI) is the API for accessing ) is the API for accessing information in enterprise name and directory services. information in enterprise name and directory services.

The Java Message Service (The Java Message Service (JMSJMS) is the API for sending and receiving ) is the API for sending and receiving messages via enterprise messaging systems like IBM MQ Series and messages via enterprise messaging systems like IBM MQ Series and TIBCO Rendezvous. TIBCO Rendezvous.

JavaMailJavaMail is the API for sending and receiving email. is the API for sending and receiving email. Java IDLJava IDL is the API for calling CORBA services. is the API for calling CORBA services.

Page 12: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1212

1.2 The Platform for Enterprise Solutions1.2 The Platform for Enterprise Solutions Choices of servers, tools, componentsChoices of servers, tools, components

• The J2EE standard and J2EE brand are central to creating a The J2EE standard and J2EE brand are central to creating a marketplace for servers, tools, and components. The J2EE brand marketplace for servers, tools, and components. The J2EE brand on a server product ensures the kind of ubiquity that's on a server product ensures the kind of ubiquity that's fundamental to the goals of the J2EE platform. In addition, J2EE fundamental to the goals of the J2EE platform. In addition, J2EE standards ensure a lively marketplace for tools and components. standards ensure a lively marketplace for tools and components.

Page 13: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1313

1.2The Platform for Enterprise Solutions1.2The Platform for Enterprise Solutions Flexible security modelFlexible security model

• The J2EE security model is designed to support single signon The J2EE security model is designed to support single signon access to application services. Component developers can access to application services. Component developers can specify the security requirements of a component at the method specify the security requirements of a component at the method level, to ensure that only users with appropriate permissions can level, to ensure that only users with appropriate permissions can access specific data operations. While the EJB and Java Servlet access specific data operations. While the EJB and Java Servlet APIs both provide mechanisms for building security checks into APIs both provide mechanisms for building security checks into code, the basic mechanism for matching users with roles (groups code, the basic mechanism for matching users with roles (groups of users having specific permissions) is performed entirely at of users having specific permissions) is performed entirely at application deployment time. This provides both greater application deployment time. This provides both greater flexibility and better security control. flexibility and better security control.

Page 14: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1414

1.3 J2EE Application Scenarios 1.3 J2EE Application Scenarios Application ScenariosApplication Scenarios

Page 15: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1515

1.3 J2EE Application Scenarios1.3 J2EE Application Scenarios Multitier Application Scenario Multitier Application Scenario

• An application scenario in which the Web container hosts Web An application scenario in which the Web container hosts Web components that are almost exclusively dedicated to handling a components that are almost exclusively dedicated to handling a given application's presentation logic. The delivery of dynamic given application's presentation logic. The delivery of dynamic Web content to the client is the responsibility of JSP pages Web content to the client is the responsibility of JSP pages (supported by servlets). The EJB container hosts application (supported by servlets). The EJB container hosts application components that, on the one hand, respond to requests from the components that, on the one hand, respond to requests from the Web tier, and on the other hand, access the EIS resources. The Web tier, and on the other hand, access the EIS resources. The ability to decouple the accessing of data from issues surrounding ability to decouple the accessing of data from issues surrounding end-user interactions is a strength of this particular scenario. For end-user interactions is a strength of this particular scenario. For

Page 16: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1616

1.3 J2EE Application Scenarios1.3 J2EE Application Scenarios Stand-Alone Client Scenario Stand-Alone Client Scenario

• EJB clients interacting directly with an EJB server, that is enterprise beans EJB clients interacting directly with an EJB server, that is enterprise beans hosted on an EJB container. Such a scenario is illustrated in hosted on an EJB container. Such a scenario is illustrated in Figure 1.5Figure 1.5. It is . It is assumed that RMI-IIOP will be used in this scenario and that the EJB server assumed that RMI-IIOP will be used in this scenario and that the EJB server will access the EIS resources using JDBCwill access the EIS resources using JDBC

• Stand-alone Java application clients accessing enterprise information system Stand-alone Java application clients accessing enterprise information system resources directly using JDBC and potentially even connectors in the future. resources directly using JDBC and potentially even connectors in the future. In this scenario, presentation and business logic are by definition co-located In this scenario, presentation and business logic are by definition co-located on the client platform and may in fact be tightly integrated into a single on the client platform and may in fact be tightly integrated into a single application. This scenario collapses the middle tier into the client platform, application. This scenario collapses the middle tier into the client platform, and is essentially a client-server application scenario with the associated and is essentially a client-server application scenario with the associated application distribution, maintenance, and scalability issues. application distribution, maintenance, and scalability issues.

• Visual Basic clients consuming dynamic Web content, most likely in the form Visual Basic clients consuming dynamic Web content, most likely in the form of XML data messages. In this scenario, the Web container is essentially of XML data messages. In this scenario, the Web container is essentially handling XML transformations and providing Web connectivity to clients. handling XML transformations and providing Web connectivity to clients. Presentation logic is assumed to be handled on the client tier. The Web tier Presentation logic is assumed to be handled on the client tier. The Web tier can be designated to handle business logic and directly access the enterprise can be designated to handle business logic and directly access the enterprise information system resources. Ideally, the business logic is pushed back onto information system resources. Ideally, the business logic is pushed back onto the EJB server, where the rich component model can be fully leveraged. the EJB server, where the rich component model can be fully leveraged.

Page 17: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1717

1.3 J2EE Application Scenarios1.3 J2EE Application Scenarios Stand-Alone Client ScenarioStand-Alone Client Scenario

Page 18: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1818

1.3 J2EE Application Scenarios1.3 J2EE Application Scenarios Web-Centric Application Scenario Web-Centric Application Scenario

Page 19: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

1919

1.3 J2EE Application Scenarios1.3 J2EE Application Scenarios Business-to-Business ScenarioBusiness-to-Business Scenario

• This scenario focuses on peer-level interactions between both Web and EJB This scenario focuses on peer-level interactions between both Web and EJB containers. The J2EE programming model promotes the use of XML data containers. The J2EE programming model promotes the use of XML data messaging over HTTP as the primary means of establishing loosely coupled messaging over HTTP as the primary means of establishing loosely coupled communications between Web containers. This is a natural fit for the communications between Web containers. This is a natural fit for the development and deployment of Web-based commerce solutions. development and deployment of Web-based commerce solutions.

• The peer-level communications between EJB containers is currently a more The peer-level communications between EJB containers is currently a more tightly coupled solution most suitable for intranet environments. With the tightly coupled solution most suitable for intranet environments. With the imminent integration of JMS into the J2EE platform, the development of imminent integration of JMS into the J2EE platform, the development of

loosely- coupled intranet solutions will become increasingly practical.loosely- coupled intranet solutions will become increasingly practical.

Page 20: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2020

Page 21: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2121

2 J2EE Platform Technologies2 J2EE Platform Technologies 2.1 Component Technologies 2.1 Component Technologies

2.2 Platform Roles 2.2 Platform Roles

2.3 Platform Service 2.3 Platform Service

2.4 Service Technologies 2.4 Service Technologies

2.5 Communication Technologies 2.5 Communication Technologies

2.6 Summary 2.6 Summary

Page 22: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2222

2 J2EE Platform Technologies2 J2EE Platform Technologies The J2EE platform specifies technologies to support multitier enterprise The J2EE platform specifies technologies to support multitier enterprise

applications. These technologies fall into three categories: component, service, applications. These technologies fall into three categories: component, service, and communication. and communication.

The component technologies are those used by developers to create the essential The component technologies are those used by developers to create the essential parts of the enterprise application, namely the user interface and the business parts of the enterprise application, namely the user interface and the business logic. The component technologies allow the development of modules that can be logic. The component technologies allow the development of modules that can be reused by multiple enterprise applications. The component technologies are reused by multiple enterprise applications. The component technologies are supported by J2EE platform system-level services which simplify application supported by J2EE platform system-level services which simplify application programming and allow components to be customized to use resources available programming and allow components to be customized to use resources available in the environment in which they are deployed. in the environment in which they are deployed.

Since most enterprise applications require access to existing enterprise Since most enterprise applications require access to existing enterprise information systems, the J2EE platform supports APIs that provide access to information systems, the J2EE platform supports APIs that provide access to database, transaction, naming and directory, and messaging services. Finally, the database, transaction, naming and directory, and messaging services. Finally, the J2EE platform provides technologies that enable communication between clients J2EE platform provides technologies that enable communication between clients and servers and between collaborating objects hosted by different servers. and servers and between collaborating objects hosted by different servers.

Page 23: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2323

2.1 Component Technologies2.1 Component Technologies A A componentcomponent is an application-level software unit. In is an application-level software unit. In

addition to addition to JavaBeansJavaBeans components, which are part of the components, which are part of the J2SE platform, the J2EE platform supports the following J2SE platform, the J2EE platform supports the following types of components: types of components: • applets, applets,

• application clients, application clients,

• Enterprise JavaBeans components, Enterprise JavaBeans components,

• and Web components. and Web components.

• Applets and application clients run on a client platform and EJB Applets and application clients run on a client platform and EJB and Web components run on a server platform. and Web components run on a server platform.

Page 24: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2424

2.1 Component Technologies2.1 Component Technologies Applets and Application Clients Applets and Application Clients

• AppletsApplets and and application clientsapplication clients are client components that are client components that execute in their own Java virtual machine. execute in their own Java virtual machine.

• An applet container includes support for the applet programming An applet container includes support for the applet programming model. model.

• A J2EE client may make use of the Java Plug-in to provide the A J2EE client may make use of the Java Plug-in to provide the required applet execution environment. required applet execution environment.

• An application client container provides access to the J2EE An application client container provides access to the J2EE service (see service (see Section 2.3Section 2.3) and communication (see ) and communication (see Section 2.5Section 2.5) ) APIs. APIs.

Page 25: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2525

2.1 Component Technologies2.1 Component Technologies Web Components Web Components

• A A Web componentWeb component is a software entity that provides a response to a request. A Web 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 component typically generates the user interface for a Web-based application. The J2EE platform specifies two types of Web components: servlets and JavaServer Pages J2EE platform specifies two types of Web components: servlets and JavaServer Pages (JSP) pages. (JSP) pages.

• A A servletservlet is a program that extends the functionality of a Web server. Servlets receive is a program that extends the functionality of a Web server. Servlets receive a request from a client, dynamically generate the response (possibly querying a request from a client, dynamically generate the response (possibly querying databases to fulfill the request), and then send the response containing an HTML or databases to fulfill the request), and then send the response containing an HTML or XML document to the client.XML document to the client.

• The JavaServer Pages (JSP) technology provides an extensible way to generate 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 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. how to process a request to create a response.

• Web components are hosted by servlet containers, JSP containers, and Web containers. Web components are hosted by servlet containers, JSP containers, and Web containers. In addition to standard container services, a In addition to standard container services, a servlet container servlet container provides network provides network services (by which requests and responses are sent), decodes requests, and formats services (by which requests and responses are sent), decodes requests, and formats responses. All servlet containers must support HTTP as a protocol for requests and responses. All servlet containers must support HTTP as a protocol for requests and responses, but may also support additional request-response protocols such as HTTPS. responses, but may also support additional request-response protocols such as HTTPS. A A JSP containerJSP container provides the same services as a servlet container and an engine that provides the same services as a servlet container and an engine that interprets and processes a JSP page into a servlet. A interprets and processes a JSP page into a servlet. A Web containerWeb container provides the same provides the same services as a JSP container and access to the J2EE service and communication APIs. services as a JSP container and access to the J2EE service and communication APIs.

Page 26: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2626

2.1 Component Technologies2.1 Component Technologies Enterprise JavaBeans Components Enterprise JavaBeans Components

• The Enterprise JavaBeans (EJB) architecture is a server-side technology for The Enterprise JavaBeans (EJB) architecture is a server-side technology for developing and deploying components containing the business logic of an developing and deploying components containing the business logic of an enterprise application. Enterprise JavaBeans components, termed enterprise application. Enterprise JavaBeans components, termed enterprise enterprise beansbeans, are scalable, transactional, and multi-user secure. There are two types , are scalable, transactional, and multi-user secure. There are two types of enterprise beans: session beans and entity beans. of enterprise beans: session beans and entity beans.

• A A session beansession bean is created to provide some service on behalf of a client and 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 usually exists only for the duration of a single client-server session. A session bean performs operations such as calculations or accessing a database for the bean performs operations such as calculations or accessing a database for the client. client.

• An An entity beanentity bean is a persistent object that represents data maintained in a data is a persistent object that represents data maintained in a data store; its focus is data-centric.store; its focus is data-centric.

• Enterprise beans are hosted by an Enterprise beans are hosted by an EJB containerEJB container. In addition to standard . In addition to standard container services, an EJB container provides a range of transaction and container services, an EJB container provides a range of transaction and persistence services and access to the J2EE service and communication APIs. persistence services and access to the J2EE service and communication APIs.

Page 27: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2727

2.1 Component Technologies2.1 Component Technologies Components, Containers, and Services Components, Containers, and Services

Page 28: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2828

2.2 Platform Roles2.2 Platform Roles The J2EE platform defines several distinct roles in the The J2EE platform defines several distinct roles in the

application development and deployment life cycle: application development and deployment life cycle: • J2EE Product Provider, J2EE Product Provider,

• Application Component Provider, Application Component Provider,

• Application Assembler, Application Assembler,

• Deployer, Deployer,

• System Administrator, System Administrator,

• Tool Provider.Tool Provider.

Page 29: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

2929

2.3 Platform Service2.3 Platform Service J2EE platform services simplify application programming J2EE platform services simplify application programming

and allow components and applications to be customized and allow components and applications to be customized at deployment time to use resources available in the at deployment time to use resources available in the deployment environment. deployment environment. • naming, naming,

• deployment, deployment,

• transaction, transaction,

• and security services.and security services.

Page 30: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3030

2.3 Platform Service2.3 Platform Service Naming Services Naming Services

• J2EE naming services provide application clients, enterprise beans, and Web J2EE naming services provide application clients, enterprise beans, and Web components with access to a JNDI (described in components with access to a JNDI (described in Section 2.4.3Section 2.4.3) naming environment. ) naming environment.

• A A naming environmentnaming environment allows a component to be customized without the need to allows a component to be customized without the need to access or change the component's source code. A container implements the access or change the component's source code. A container implements the component's environment, and provides it to the component as a JNDI component's environment, and provides it to the component as a JNDI naming contextnaming context. .

• A J2EE component locates its environment naming context using JNDI interfaces. A J2EE component locates its environment naming context using JNDI interfaces.

• A component creates a A component creates a javax.naming.InitialContextjavax.naming.InitialContext object and looks up the object and looks up the environment naming context in environment naming context in InitialContextInitialContext under the name under the name java:comp/envjava:comp/env. A . A component's naming environment is stored directly in the environment naming component's naming environment is stored directly in the environment naming context, or in any of its direct or indirect context, or in any of its direct or indirect subcontextssubcontexts. .

• A J2EE component can access named system-provided and user-defined objects. The A J2EE component can access named system-provided and user-defined objects. The names of system-provided objects, such as JTA UserTransaction objects, are stored in names of system-provided objects, such as JTA UserTransaction objects, are stored in the environment naming context, java:comp/env. The J2EE platform allows a the environment naming context, java:comp/env. The J2EE platform allows a component to name user-defined objects, such as enterprise beans, environment component to name user-defined objects, such as enterprise beans, environment entries, JDBC DataSource objects, and message connections. An object should be entries, JDBC DataSource objects, and message connections. An object should be named within a subcontext of the naming environment according to the type of the named within a subcontext of the naming environment according to the type of the object. For example, enterprise beans are named within the subcontext object. For example, enterprise beans are named within the subcontext java:comp/env/ejb and JDBC DataSource references in the subcontext java:comp/env/ejb and JDBC DataSource references in the subcontext java:comp/env/jdbc. java:comp/env/jdbc.

Page 31: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3131

2.3 Platform Service2.3 Platform Service Deployment Services Deployment Services

• J2EE deployment services allow components and applications to J2EE deployment services allow components and applications to be customized at the time they are packaged and deployed. be customized at the time they are packaged and deployed.

• J2EE applications are deployed as a set of nested units. Each unit J2EE applications are deployed as a set of nested units. Each unit contains a contains a deployment descriptor, deployment descriptor, an XML-based text file whose an XML-based text file whose elements declaratively describe how to assemble and deploy the elements declaratively describe how to assemble and deploy the unit into a specific environment. Deployment descriptors contain unit into a specific environment. Deployment descriptors contain many elements related to customizing J2EE platform services many elements related to customizing J2EE platform services such as transactions and security. such as transactions and security.

Page 32: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3232

2.3 Platform Service2.3 Platform Service Transaction Services Transaction Services

• Transactions divide an application into a series of indivisible or "atomic" units Transactions divide an application into a series of indivisible or "atomic" units of work. A system that supports transactions ensures that each unit fully of work. A system that supports transactions ensures that each unit fully completes without interference from other processes. completes without interference from other processes.

• JTA transactions are created and managed using the JTA transactions are created and managed using the javax.transaction.UserTransaction interface. javax.transaction.UserTransaction interface.

• Web components (JSP pages and servlets) are not designed to be Web components (JSP pages and servlets) are not designed to be transactional. Because of this, Application Component Providers should only transactional. Because of this, Application Component Providers should only perform transactional work directly in Web components on a very limited perform transactional work directly in Web components on a very limited basis. basis.

• The J2EE platform provides two styles of transaction demarcation for The J2EE platform provides two styles of transaction demarcation for enterprise beans: bean-managed and container-managed. enterprise beans: bean-managed and container-managed.

Page 33: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3333

2.3 Platform Service2.3 Platform Service Security Services Security Services

Page 34: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3434

2.4 Service Technologies2.4 Service Technologies The J2EE platform service technologies allow applications The J2EE platform service technologies allow applications

to access a wide range of services in a uniform manner. to access a wide range of services in a uniform manner.

Service technologies that provide access to databases, Service technologies that provide access to databases, transactions, naming and directory services, and enterprise transactions, naming and directory services, and enterprise information systems. information systems. • JDBC API JDBC API

• Java Transaction API and Service Java Transaction API and Service

• Java Naming and Directory Interface Java Naming and Directory Interface

• Connector Architecture Connector Architecture

Page 35: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3535

2.5 Communication Technologies2.5 Communication Technologies Communication technologies provide mechanisms for Communication technologies provide mechanisms for

communication between clients and servers and between communication between clients and servers and between collaborating objects hosted by different servers. collaborating objects hosted by different servers.

The J2EE specification requires support for the following The J2EE specification requires support for the following types of communication technologies: types of communication technologies: • Internet protocols Internet protocols

• Remote method invocation protocols Remote method invocation protocols

• Object Management Group protocols Object Management Group protocols

• Messaging technologies Messaging technologies

• Data formats Data formats

Page 36: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3636

2.5 Communication Technologies2.5 Communication Technologies Internet Protocols Internet Protocols

• The J2EE platform supports the following Internet protocols: The J2EE platform supports the following Internet protocols: TCP/IP TCP/IP HTTP HTTP SSL SSL

Remote Method Invocation Protocols Remote Method Invocation Protocols • Remote Method Invocation (RMI) is a set of APIs that allow Remote Method Invocation (RMI) is a set of APIs that allow

developers to build distributed applications in the Java developers to build distributed applications in the Java programming language. programming language.

• RMI uses Java language interfaces to define remote objects and a RMI uses Java language interfaces to define remote objects and a combination of Java serialization technology and the Java combination of Java serialization technology and the Java Remote Method Protocol (JRMP) to turn local method Remote Method Protocol (JRMP) to turn local method invocations into remote method invocations. invocations into remote method invocations.

Page 37: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3737

2.5 Communication Technologies2.5 Communication Technologies Object Management Group Protocols Object Management Group Protocols

• Object Management Group (OMG) protocols allow objects hosted by the Object Management Group (OMG) protocols allow objects hosted by the J2EE platform to access remote objects developed using the OMG's Common J2EE platform to access remote objects developed using the OMG's Common Object Request Broker Architecture (CORBA) technologies and vice versa. Object Request Broker Architecture (CORBA) technologies and vice versa.

• CORBA objects are defined using the Interface Definition Language (IDL). CORBA objects are defined using the Interface Definition Language (IDL).

• An Application Component Provider defines the interface of a remote object An Application Component Provider defines the interface of a remote object in IDL and then uses an in IDL and then uses an IDL compilerIDL compiler to generate client and server stubs that to generate client and server stubs that connect object implementations to an Object Request Broker (ORB), a library connect object implementations to an Object Request Broker (ORB), a library that enables CORBA objects to locate and communicate with one another. that enables CORBA objects to locate and communicate with one another.

• ORBs communicate with each other using the Internet Inter-ORB Protocol ORBs communicate with each other using the Internet Inter-ORB Protocol (IIOP). (IIOP).

• The OMG technologies required by the J2EE platform are: The OMG technologies required by the J2EE platform are: Java IDL and RMI-IIOP. Java IDL and RMI-IIOP.

Page 38: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3838

2.5 Communication Technologies2.5 Communication Technologies Object Management Group ProtocolsObject Management Group Protocols

• Java IDLJava IDL Java IDL allows Java clients to invoke operations on CORBA objects that have Java IDL allows Java clients to invoke operations on CORBA objects that have

been defined using IDL and implemented in any language with a CORBA been defined using IDL and implemented in any language with a CORBA mapping. mapping.

It consists of a CORBA API and ORB. It consists of a CORBA API and ORB.

An Application Component Provider uses the An Application Component Provider uses the idlj IDL compileridlj IDL compiler to generate a Java to generate a Java client stub for a CORBA object defined in IDL. The Java client is linked with the client stub for a CORBA object defined in IDL. The Java client is linked with the stub and uses the CORBA API to access the CORBA object. stub and uses the CORBA API to access the CORBA object.

• RMI-IIOP RMI-IIOP RMI-IIOP is an implementation of the RMI API over IIOP. RMI-IIOP allows RMI-IIOP is an implementation of the RMI API over IIOP. RMI-IIOP allows

Application Component Providers to write remote interfaces in the Java Application Component Providers to write remote interfaces in the Java programming language. programming language.

The remote interface can be converted to IDL and implemented in any other The remote interface can be converted to IDL and implemented in any other language that is supported by an OMG mapping and an ORB for that language. language that is supported by an OMG mapping and an ORB for that language.

Application clients must use RMI-IIOP to communicate with enterprise beans. Application clients must use RMI-IIOP to communicate with enterprise beans.

Page 39: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

3939

2.5 Communication Technologies2.5 Communication Technologies Messaging Technologies Messaging Technologies

• Messaging technologies provide a way to asynchronously send Messaging technologies provide a way to asynchronously send and receive messages and receive messages

• The The Java Message ServiceJava Message Service provides an interface for handling provides an interface for handling asynchronous requests, reports, or events that are consumed by asynchronous requests, reports, or events that are consumed by enterprise applications. JMS messages are used to coordinate enterprise applications. JMS messages are used to coordinate these applications these applications

• The The JavaMail JavaMail API provides an interface for sending and API provides an interface for sending and receiving messages intended for users receiving messages intended for users

Page 40: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4040

2.5 Communication Technologies2.5 Communication Technologies Data formatsData formats

• Data formats define the types of data that can be exchanged Data formats define the types of data that can be exchanged between components. between components.

Page 41: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4141

Page 42: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4242

3 The Client Tier3 The Client Tier 3.1 Requirements and Constraints 3.1 Requirements and Constraints

3.2 Overview of Client Options 3.2 Overview of Client Options

3.3 Web Clients 3.3 Web Clients

3.4 EJB Clients 3.4 EJB Clients

3.5 Enterprise Information System Clients 3.5 Enterprise Information System Clients

3.6 Designing for Multiple Types of Client 3.6 Designing for Multiple Types of Client

3.7 Summary 3.7 Summary

Page 43: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4343

3 The Client Tier3 The Client Tier A client makes requests to the server on behalf of the user, A client makes requests to the server on behalf of the user,

and presents the outcomes of those requests to the user. and presents the outcomes of those requests to the user.

The J2EE platform supports many types of clients. A J2EE The J2EE platform supports many types of clients. A J2EE client can connect across the World Wide Web, or inside client can connect across the World Wide Web, or inside an enterprise's intranet. an enterprise's intranet.

Page 44: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4444

3.1 Requirements and Constraints3.1 Requirements and Constraints

Page 45: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4545

3.2 Overview of Client Options3.2 Overview of Client Options classifies clients into three broad categories based on the tiers that classifies clients into three broad categories based on the tiers that

they interact with: they interact with: • Web clientsWeb clients connect to the Web tier. They execute on a desktop or other connect to the Web tier. They execute on a desktop or other

browser host usually inside a Web browser or a browser plug-in. The browser host usually inside a Web browser or a browser plug-in. The presentation logic as well as the business logic of the application can run on presentation logic as well as the business logic of the application can run on the server or the client. the server or the client.

• EJB clientsEJB clients connect to the EJB tier. These are typically GUI programs that connect to the EJB tier. These are typically GUI programs that execute on a desktop computer. EJB clients have access to all of the facilities execute on a desktop computer. EJB clients have access to all of the facilities of the J2EE EJB tier. The presentation logic of the application runs on the of the J2EE EJB tier. The presentation logic of the application runs on the EJB client, while the business logic runs on the server. EJB client, while the business logic runs on the server.

• Enterprise information system clientsEnterprise information system clients interface directly to an enterprise interface directly to an enterprise information system resource. Typically these programs serve administrative information system resource. Typically these programs serve administrative and management functions for the back-end system. Both presentation and and management functions for the back-end system. Both presentation and business logic are contained in the client. business logic are contained in the client.

Page 46: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4646

3.3 Web Clients 3.3 Web Clients Web clients usually run inside a browser and use the Web clients usually run inside a browser and use the

services of the browser to render content provided by the services of the browser to render content provided by the Web tier. Web tier.

Types of Web Clients Types of Web Clients • Web Browsers Web Browsers

• Java Applets Java Applets

• Browser Plug-ins Browser Plug-ins

• Stand-Alone Web Clients Stand-Alone Web Clients

Page 47: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4747

3.4 EJB Clients3.4 EJB Clients EJB clients are application clients that interact with the EJB clients are application clients that interact with the

J2EE EJB tier. EJB clients are GUI programs that typically J2EE EJB tier. EJB clients are GUI programs that typically execute on a desktop computer; they manage their own execute on a desktop computer; they manage their own GUI and offer a user experience similar to that of native GUI and offer a user experience similar to that of native applications. applications.

Types of EJB Clients Types of EJB Clients • Java Technology Clients Java Technology Clients

The Java programming language should be used for implementation of The Java programming language should be used for implementation of EJB clients. Since the EJB server communicates using EJB clients. Since the EJB server communicates using RMI-IIOPRMI-IIOP, the , the client needs to support RMI-IIOP. This is most naturally done using client needs to support RMI-IIOP. This is most naturally done using services provided by the standard Java platform. services provided by the standard Java platform.

• Non-Java Clients Non-Java Clients EJB clients can be implemented in programming languages other than EJB clients can be implemented in programming languages other than

Java. Since the EJB server uses RMI-IIOP, this requires some form of Java. Since the EJB server uses RMI-IIOP, this requires some form of RMI-IIOP support available to the client. RMI-IIOP support available to the client.

Page 48: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

4848

3.5 Enterprise Information System Clients3.5 Enterprise Information System Clients Enterprise information system clients access enterprise Enterprise information system clients access enterprise

information system resources directly and assume information system resources directly and assume responsibility for enforcing the business rules of the responsibility for enforcing the business rules of the application. application.

Enterprise information system clients can use the JDBC Enterprise information system clients can use the JDBC API to access relational databases. API to access relational databases.

Page 49: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5050

3.7 Summary3.7 Summary

Page 50: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5151

Page 51: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5252

4 The Web Tier4 The Web Tier 4.1 Web Applications and Web Containers 4.1 Web Applications and Web Containers

4.2 Dynamic Content Creation 4.2 Dynamic Content Creation

4.3 Servlets and JSP Pages 4.3 Servlets and JSP Pages

4.4 JSP Page Design 4.4 JSP Page Design

4.5 Internationalization and Localization 4.5 Internationalization and Localization

4.6 Application Designs 4.6 Application Designs

4.7 Application Migration 4.7 Application Migration

4.8 Summary 4.8 Summary

Page 52: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5353

4 The Web Tier4 The Web Tier Users have benefited significantly from the increasing Users have benefited significantly from the increasing

ability of Web-based applications to generate dynamic ability of Web-based applications to generate dynamic content customized to their needs. content customized to their needs.

JavaServer Pages (JSP) and Java Servlets are J2EE JavaServer Pages (JSP) and Java Servlets are J2EE technologies that support dynamic content generation in a technologies that support dynamic content generation in a portable, cross-platform manner. portable, cross-platform manner.

Page 53: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5454

4 The Web Tier4 The Web Tier There are many ways to design a Web application. There are many ways to design a Web application. Four general types of Web applications can be implemented with the J2EE Four general types of Web applications can be implemented with the J2EE

platform: platform: basic HTMLbasic HTML, , HTML with basic JSP pagesHTML with basic JSP pages, , JSP pages with JavaBeans JSP pages with JavaBeans componentscomponents, and , and highly-structured applications that use modular components and highly-structured applications that use modular components and enterprise beansenterprise beans. .

The first three types of applications are considered to be The first three types of applications are considered to be Web-centricWeb-centric, whereas the , whereas the last type is last type is EJB-centricEJB-centric

Page 54: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5555

4 The Web Tier4 The Web Tier Applications with Basic JSP Pages and ServletsApplications with Basic JSP Pages and Servlets

• Web applications with basic JSP pages and servlets are similar in Web applications with basic JSP pages and servlets are similar in complexity to conventional HTML and CGI-based applications complexity to conventional HTML and CGI-based applications widely deployed on the Web, except that the dynamic portions of widely deployed on the Web, except that the dynamic portions of the pages and user interaction are handled by JSP or servlets in the pages and user interaction are handled by JSP or servlets in place of CGI scripts. place of CGI scripts.

Page 55: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5656

4 The Web Tier4 The Web Tier Applications with Modular ComponentsApplications with Modular Components

Page 56: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5757

4 The Web Tier4 The Web Tier EJB-Centric Applications EJB-Centric Applications

• An EJB-centric application extends the modular, component-An EJB-centric application extends the modular, component-based application described in the previous section, with two based application described in the previous section, with two main differences. First, this design uses a front component for a main differences. First, this design uses a front component for a controller. Second, data represented by the JavaBeans controller. Second, data represented by the JavaBeans components is maintained by enterprise beans. This design components is maintained by enterprise beans. This design provides flexibility, manageability, and separation of developer provides flexibility, manageability, and separation of developer responsibilities. responsibilities.

Page 57: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5858

4 The Web Tier4 The Web Tier EJB-Centric Applications EJB-Centric Applications

Page 58: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

5959

Page 59: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6060

5 The Enterprise JavaBeans Tier5 The Enterprise JavaBeans Tier 5.1 Business Logic 5.1 Business Logic

5.2 Enterprise Beans as J2EE Business Objects 5.2 Enterprise Beans as J2EE Business Objects

5.3 Entity Beans 5.3 Entity Beans

5.4 Session Beans 5.4 Session Beans

5.5 Design Guidelines 5.5 Design Guidelines

5.6 Summary 5.6 Summary

Page 60: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6161

5 The Enterprise JavaBeans Tier5 The Enterprise JavaBeans Tier

Page 61: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6262

Page 62: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6363

6 The Enterprise Information System Tier6 The Enterprise Information System Tier 6.1 Enterprise Information System Capabilities and Limitations 6.1 Enterprise Information System Capabilities and Limitations

6.2 Enterprise Information System Integration Scenarios 6.2 Enterprise Information System Integration Scenarios

6.3 Relational Database Management System Access 6.3 Relational Database Management System Access

6.4 Other Enterprise Information System Access 6.4 Other Enterprise Information System Access

6.5 Application Component Provider Tasks 6.5 Application Component Provider Tasks

6.6 Application Programming Model 6.6 Application Programming Model

6.7 Programming Access to Data and Functions 6.7 Programming Access to Data and Functions

6.8 Connections 6.8 Connections

6.9 Security 6.9 Security

6.10 J2EE Connector Architecture 6.10 J2EE Connector Architecture

6.11 Summary 6.11 Summary

Page 63: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6464

6 The Enterprise Information System Tier6 The Enterprise Information System Tier An Internet E-Store Application An Internet E-Store Application

An Intranet Human Resources Application An Intranet Human Resources Application

Page 64: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6565

6 The Enterprise Information System Tier6 The Enterprise Information System Tier A Distributed Purchasing Application A Distributed Purchasing Application

Page 65: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6666

Page 66: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6767

7 Packaging and Deployment7 Packaging and Deployment Roles and Tasks Roles and Tasks

Packaging J2EE Applications Packaging J2EE Applications

Deployment Descriptors Deployment Descriptors

Deployment Tools Deployment Tools

Summary Summary

Page 67: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6868

7 Packaging and Deployment7 Packaging and Deployment Roles and Tasks Roles and Tasks

Page 68: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

6969

7 Packaging and Deployment7 Packaging and Deployment Packaging J2EE Applications Packaging J2EE Applications

• EJB Modules EJB Modules

• Web Modules Web Modules

• Application Client Modules Application Client Modules

Page 69: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7070

Page 70: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7171

8 Transaction Management8 Transaction Management 8.1 Properties of Transactions 8.1 Properties of Transactions

8.2 J2EE Platform Transactions 8.2 J2EE Platform Transactions

8.3 Scenarios 8.3 Scenarios

8.4 JTA Transactions 8.4 JTA Transactions

8.5 Transactions in Applets and Application Clients 8.5 Transactions in Applets and Application Clients

8.6 Transactions in Web Components 8.6 Transactions in Web Components

8.7 Transactions in Enterprise Beans 8.7 Transactions in Enterprise Beans

8.8 Transactions in Enterprise Information Systems 8.8 Transactions in Enterprise Information Systems

8.9 Summary 8.9 Summary

Page 71: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7272

Page 72: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7373

9 Security9 Security 9.1 Security Threats and Mechanisms 9.1 Security Threats and Mechanisms

9.2 Authentication 9.2 Authentication

9.3 Authorization 9.3 Authorization

9.4 Protecting Messages 9.4 Protecting Messages

9.5 Auditing 9.5 Auditing

9.6 Summary 9.6 Summary

Page 73: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7474

Page 74: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7575

10 The Sample Application 10 The Sample Application Functional Modules for the Sample Application Functional Modules for the Sample Application

Page 75: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7676

10 The Sample Application10 The Sample Application Sample Application Business Objects Sample Application Business Objects

Page 76: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7777

10 The Sample Application10 The Sample Application Object Reference Diagram Object Reference Diagram

Page 77: J2EE Blueprints Matt. 2 Outline Introduction Introduction J2EE Platform Technologies J2EE Platform Technologies The Client Tier The Client Tier The Web

7878

Reference Reference http://java.sun.com/blueprints/guidelines/designing_enterphttp://java.sun.com/blueprints/guidelines/designing_enterp

rise_applications/apmTOC.htmlrise_applications/apmTOC.html