Enterprise JavaBeans 2.1 - page 96



unchecked, 330


n-to-m relationship, 166

one-to-one relationship, 152

one-to-n relationship, 158

Unified Modeling language (UML), 436

Universal Description, Discovery and Integration Initiative (UDDI), 438

unsetEntityContext, 125, 135, 207, 214


getCallerPrincipal, 82, 128

isCallerInRole, 83, 128

user control, 3

user role, 29

UserTransaction, 307

conversational state, 66



value object, 389

vendor-independent, 233

virtual machine, 51



wait, 244

web client, 385

web service, 431, 437

complement to Enterprise JavaBeans, 431

endpoint, 439

endpoint interface, 439

evolution, 431

Web Services Definition Language (WSDL), 438, 446

workplace motivation, 339

wrapper, 45, 58



XML, 12, 40

integration, 437



ZIP format, 43

List of Figures

Chapter 1: Introduction

Figure 1-1: Solution of a business problem.

Chapter 2: Fundamentals

Figure 2-1: The place of Enterprise JavaBeans in Sun's enterprise concept [J2EE-APM, 2000.]
Figure 2-2: Three-tiered architecture.
Figure 2-3: Classification of Enterprise JavaBeans in a system portfolio.
Figure 2-4: Example of components in a commercial enterprise.
Figure 2-5: Example of component architecture.

Chapter 3: The Architecture of Enterprise JavaBeans

Figure 3-1: Overview of the EJB architecture.
Figure 3-2: EJB in the context of Java2, Enterprise Edition.
Figure 3-3: Generation of the missing architectural components.
Figure 3-4: EJBHome and EJBObject at run time.
Figure 3-5: Finding an Enterprise Bean via JNDI.
Figure 3-6: Generating a new bean via the home interface.
Figure 3-7: Invoking a method via the remote interface.
Figure 3-8: EJB assignment of roles.
Figure 3-9: Secondary issues in a business problem.
Figure 3-10: An Enterprise JavaBean scenario.

Chapter 4: Session Beans

Figure 4-1: Overview of a session bean.
Figure 4-2: Conversational state.
Figure 4-3: Stateful and stateless session beans.
Figure 4-4: Life cycle of a stateless session bean instance.
Figure 4-5: Life cycle of a stateful session bean instance.
Figure 4-6: Interfaces of a session bean with remote client view.
Figure 4-7: Interfaces of a session bean with local client view.

Chapter 5: Entity Beans

Figure 5-1: Overview of entity beans.
Figure 5-2: Overview of the attributes of an entity bean.
Figure 5-3: Entity bean identity in the customer example.
Figure 5-4: Object-relational mapping of entity beans.
Figure 5-5: Foreign key versus relationship table.
Figure 5-6: State diagram for an entity bean instance.
Figure 5-7: Remote interfaces and classes of the CMP entity bean (EJB 2.0).
Figure 5-8: Local interfaces and classes of the CMP entity bean (EJB 2.0).
Figure 5-9: Example of a unidirectional one-to-one relationship.
Figure 5-10: Example of a unidirectional one-to-n relationship.
Figure 5-11: Example of a unidirectional n-to-m relationship.
Figure 5-12: Database schema for the store management problem.
Figure 5-13: StoreManager.
Figure 5-14: StoreManager— article display.
Figure 5-15: StoreManager— article search.
Figure 5-16: Modeling the data with entity beans.
Figure 5-17: Communication with the remote client.
Figure 5-18: Remote interfaces and classes of the CMP entity bean (EJB 1.1).
Figure 5-19: Remote interfaces and classes of the BMP entity bean.
Figure 5-20: Local interfaces and classes of the BMP entity bean.

Chapter 6: Message-Driven Beans

Figure 6-1: Overview of message-driven beans.
Figure 6-2: JMS and JMS providers.
Figure 6-3: Messaging concepts (queue, topic).
Figure 6-4: JMS interfaces.
Figure 6-5: Receiving messages over several sessions.
Figure 6-6: Life cycle of a message-driven bean.
Figure 6-7: Parallel processing with message-driven beans.
Figure 6-8: Interfaces of a message-driven bean.
Figure 6-9: Error-handling with message-driven beans.

Chapter 7: Transactions

Figure 7-1: Bank transfer as example of a transaction.
Figure 7-2: Communication paths in EJB transactions.
Figure 7-3: Example of a system involved in a distributed transaction.
Figure 7-4: JTS and EJB.
Figure 7-5: An example of data flow in an implicit transaction.
Figure 7-6: Example of data flow in a client's explicit transaction management.
Figure 7-7: Data flow example for explicit transaction management by a bean with a global transaction.
Figure 7-8: Example of data flow with explicit transaction management of a bean with a local transaction.

Chapter 8: Security

Figure 8-1: Schematic representation of EJB security.
Figure 8-2: Chain of mappings for roles.
Figure 8-3: User context in a chain of calls.

Chapter 9: Practical Applications

Figure 9-1: Example— ascertaining the exchange rate.
Figure 9-2: Example— conversion to the target currency.
Figure 9-3: Example— accounting system.
Figure 9-4: Example— accounting procedure with extensions.
Figure 9-5: Example— production monitor.
Figure 9-6: Example— Accounting application.
Figure 9-7: Booking with a framework.
Figure 9-8: Application-oriented cooperation framework.
Figure 9-9: Example of cooperation in a framework.
Figure 9-10: Inheritance in the bank account example.
Figure 9-11: Architecture of a configurable component.
Figure 9-12: Distributed event service via Java Message Service.
Figure 9-13: Process-internal communication with the event manager.
Figure 9-14: Internet connection with applets.
Figure 9-15: Internet connection with servlets.
Figure 9-16: Use of a details object.
Figure 9-17: Test result for TestBankAccount and TestPartBean.

Chapter 10: Web Services and Scheduling

Figure 10-1: The "Standardized World" of J2EE.
Figure 10-2: Internal integration.
Figure 10-3: External integration.
Figure 10-4: Web Service Endpoints in J2EE.
Figure 10-5: The interfaces of the timer service.