Home > Store

Building Java Enterprise Systems with J2EE

Register your product to gain access to bonus material or receive a coupon.

Building Java Enterprise Systems with J2EE

Premium Website

  • Sorry, this book is no longer in print.
Not for Sale



Question 1: WebLogic Server 5.0.1 demo timed out shortly after install and using the demo.

Solution 1: To obtain a license key that will activate the WebLogic Server 5.0.1 demo, please go to http://www.bea.com/eval/perrone


  • Copyright 2000
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-672-31795-8
  • ISBN-13: 978-0-672-31795-8

The practical angle of Building Java Enterprise Systems with J2EE provides the conceptual background and wealth of code examples needed to actually assemble systems in a useful manner with the J2EE technologies. Furthermore, this book demonstrates how the technologies complement and build on top of one another via evolution of a cohesive and real sample application. You can use this book to learn, develop, and design your custom applications immediately.

Sample Content

Table of Contents



1. Enterprise Architectural Overview.

The Enterprise. Enterprise Components. Information Technology in the Enterprise. Conclusions.

2. Object-Oriented Software Development for the Enterprise.

Enterprise Objects.

Elements of Object-Oriented Software. Object-Oriented Software's Importance to the Enterprise.

The Object-Oriented Development Process.

Development Process Overview. Project Charter. Requirements Analysis. Preliminary System Design. Detailed Design. Implementation. Unit Test. Assembly. Thread Test. Configuration Specification. System Test. Deployment. Maintenance. Iteration and Phases of Development.

Unified Modeling Language.

Static Logical Structure Diagrams. Dynamic Behavior Diagrams.


3. Component-Based Software Development for the Enterprise.

Enterprise Components. Component Models.

Generic Component Model. Component Model Interfaces.

Component-Based Development. Standards.

Standard Component Models. Design Patterns.


4. Java Foundations for Enterprise Development.

Java Features and Versions.

Java's Attractive Enterprise Features. Java's Version History.

Java Platform Architecture.

Java Development and Runtime Environments. Java Runtime Platform Architecture. Java Runtime Optimizations.

Java Files and Tools.

Java File Types. Basic Java Source File Structure. Basic JAR and Manifest File Structure. Java Software Development Kit Tools.

Java Language.

Java Fundamental Types. Java Operators. Java Language Constructs.

Core Java Language APIs.

Base Language and System APIs. Errors and Exceptions. Type and Mathematical APIs. Reflection. Garbage Collection. Events.

Collection APIs.

Non-Keyed Collection Framework. Mapped Collection Framework.

Input/Output and State Persistence APIs.

Byte I/O Streams. Character I/O Readers and Writers. Archive File APIs. Properties Files.

Threading APIs. Date and Time APIs. Java Applets. Conclusions.

5. Java Enterprise System Architecture with the J2EE.

The J2EE Model.

J2EE Features. J2EE Component-Container Architecture. J2EE Restrictions.

Enterprise Java and J2EE Architecture.

Java Enterprise System Architecture Overview.

Data Connectivity. Communication Mechanisms. Assurance Mechanisms. Client Connectivity. Web Connectivity. Application Connectivity. The J2EE Future. Conclusions.

6. Enterprise User Interfacing.

The Distributed Enterprise User Interface. Java AWT Components.

AWT Components, Containers, and Layouts. AWT Events. Deployment Considerations.

Java Swing Components.

Swing Components, Containers, Layouts, and Events. Swing Models. Swing Look and Feel. Swing Component Helpers. Deployment Considerations.

Utility and Accessibility Components.

Data Transfer. Drag and Drop. Printing. Accessibility. JavaHelp.

Graphics and Multimedia Components.

AWT Images. 2D Graphics. 3D Graphics. Java Advanced Imaging. Java Media APIs. Input Method Framework.

Web Page Interfaces.

Web Interface Content. Web Interface Generators.


7. Modeling Components with JavaBeans.

JavaBeans Overview. JavaBeans Containers.

JavaBean Containers. JavaBean Components. JavaBean Context.

JavaBeans Events. JavaBeans Properties.

Simple Properties. Array and Indexed Properties. Bound Properties. Constrained Properties.

JavaBeans Introspection. JavaBeans Persistence. JavaBeans Customization.

Property Editors. Customizers.

The InfoBus. Conclusions.


8. Enterprise Data.

Database Basics.

Data Model Abstraction Levels. General DBMS Architecture. Transactions.

Relational Databases.

RDBMS Architecture. SQL. Data Model Diagram Conventions.

Object Databases.

ODBMS Architecture.

RDBMSs Versus ODBMSs. Relational/Object Translations. CLIs. Embedded SQL. ODBC. JDBC. Conclusions.

9. Basic JDBC.

JDBC Architecture. JDBC Drivers and their Types.

Driver Assessment.

JDBC Driver Configuration.

General Configuration Steps per Driver Type. Configuring the BeeShirts.com Example Data Model.

JDBC Connections.

Database URLs. Creating Connections. Example: Connecting to a Database.

JDBC Statements.

Using Regular Statements. Querying with Joins, Outer Joins, and LIKE Clauses. Example: Creating and Executing Statements. Using Prepared Statements. Example: Creating and Executing Prepared Statements.

JDBC Result Sets.

Manipulating Result Sets. Obtaining Information About Result Sets. Example: Manipulating Result Sets and Result Set MetaData.

SQL and Java Mappings. JDBC MetaData.

Obtaining Information about Databases and Drivers. Example: Simple Database Meta-Data Usage.


10. Advanced JDBC.

Scrollable Result Sets.

Creating Scrollable Result Sets. Scrolling Around Result Sets. Driver Support for Scrollable Result Sets. Example: Scrollable Result Sets.

Updateable Result Sets.

Creating Updateable Result Sets. Updating Rows. Canceling Updates. Inserting Rows. Deleting Rows. Visibility into Database Changes. Driver Support for Updateable Result Sets. Example: Updateable Result Sets.

Batch Updates.

Creating Batch Updates. Executing a Batch Update. Example: Batch Updates.

Advanced Data Types.

Java Object Types. SQL3 Types. Custom Types. Extending the BeeShirts.com Example Data Model. Example: Using the Advanced SQL Types with JDBC.

Row Sets.

Row Set Architecture. Using Row Sets. Row Set Implementations. Managing Internal Row Set State and Behavior.

Stored Procedures.

Predefined Database Functions. Creating Stored Procedures. Executing Stored Procedures. Creating a Few BeeShirts.com Stored Procedures. Example: Calling Stored Procedures.

Database Naming via JNDI. Connection Pools. Distributed Transactions. Conclusions.


11. Distributed Enterprise Communications.

Distributed Systems. Distribution Mechanisms. The Network Client. The Network Server. Conclusions.

12. Network Communications.

Network Computing.

Protocols and Communication Layers.

TCP/IP Protocol Suite.

TCP/IP Roots. TCP/IP Communication Layers. TCP/IP Implementations and Tools.

Socket Programming.

Basic Socket Programming. UDP Datagrams. Custom Sockets and Factories.

Communication Streams. Conclusions.

13. Web Communications.

The Internet and the World Wide Web.

History of the Web. URLs.


Basic HTTP Behavior. MIME. HTTP Requests. HTTP Responses. Basic HTTP Handling in Java. Tracking Sessions outside of HTTP. HTTP-NG.

CGI. Servlets. HTML Documents. Dynamic HTML Generation. Conclusions.

14. Modeling Components with CORBA.

CORBA Overview.

The Object Management Architecture. CORBA 3.0. CORBA's Java Enterprise System Role.

The ORB.

The ORB Concept. Client Side ORB Components. ORB Protocols. Server-Side ORB Components.


GIOP Overview. IIOP Overview. Interoperable Object References.

Services, Facilities, and Business Objects.

CORBAservices. CORBAfacilities. CORBA Domain Interfaces and Business Objects.


Generic CORBA IDL File Format. CORBA IDL-to-Java Mappings. IDL Compilation. Java-to-IDL Mappings.

Objects by Value.

Value Types. Objects by Value Behavioral Sequence. Objects by Value Marshaling. Objects by Value Code Example.


15. CORBA Communications.

The Very Distributed CORBA.

Designing for Scalability. CORBA Development Process.

CORBA Vendors.

Basic Tools and Configuration. Vendor Offerings.

Java IDL. CORBA Interfaces. CORBA Servers and Skeletons.

Compiling the IDLs and Generating Skeletons. Creating the CORBA Servers.

Implementation Repository. Object Adapters.

BOA-Based Server Registration. Java IDL Server Registration. POA-Based Server Registration.

Interface Repository. CORBA Clients and Stubs.

CORBA Clients and Static Stubs. DII-Based Clients.

CORBA Naming. Conclusions.

16. RMI Communications.

RMI Basics.

RMI Architecture. RMI Packages and Tools. RMI Infrastructure Configuration. RMI Development Process.

JRMP. RMI and IIOP. Java-to-IDL Mapping. Objects by Value and RMI. RMI Interfaces.

RMI Interface Definition Examples.

RMI Servers and Skeletons.

RMI/JRMP Servers. RMI/IIOP Servers.

RMI Registration.

Registration of RMI/JRMP Servers. Registration of RMI/IIOP Servers.

RMI Clients and Stubs.

RMI/JRMP Clients and Stubs. RMI/IIOP Clients and Stubs.

RMI Lookup.

RMI/JRMP Lookups. RMI/IIOP Lookups.

RMI Object Activation.

Creating an Activatable Server. Creating an Activatable Server Registrar. RMI Activatable Object Client. Compile and Run the Example.

Custom Sockets. Conclusions.

17. Modeling Components with COM/DCOM.

COM and DCOM in a Nutshell.

DCOM Architecture. Java-Based Development Tools. DCOM Interfaces. DCOM Identifiers. DCOM Monikers. Server Locality. Type Libraries and IDL. Dynamic Invocation.

COM/DCOM Services. Interface Definition Language.

Generic DCOM IDL File Format. DCOM IDL-to-Java Mappings.


18. DCOM Communications.

DCOM in the Machine.

DCOM Development Process.

DCOM Interfaces. DCOM Identifiers. DCOM Types. DCOM Servers and Skeletons.

Generating Java Bindings. Generic DCOM Servers. Example DCOM Server Implementations. Compiling the DCOM Servers.

DCOM Server Registration.

Registration with javareg. Registration with a Registry File. Peering into DCOM Objects.

DCOM Clients and Stubs.

Generic DCOM Clients. Example DCOM Client Implementation.

DCOM Client Registration and Spawning. DCOM Bridging. Conclusions.


19. Naming Services.

Naming Services in a Nutshell.

Handles. Names. Naming Contexts and Systems.

JNDI Naming Services.

JNDI Architecture. Naming Objects. Referenceable Objects. Naming Events. JNDI Examples.

Naming Files.

File-System Interfaces. JNDI File SPI.

CORBA Naming.

CosNaming IDL. CosNaming Service Implementations. CORBA Naming Interfaces. JNDI CosNaming SPI.

RMI Naming.

RMI Naming System Interfaces. JNDI RMI SPI.


The Domain Name System. Java-Based DNS Interfacing.

DCOM Naming.

DCOM Class Naming with CLSIDs and ProgIDs. DCOM Object Naming with Monikers.


20. Directory and Trading Services.

Directory and Trading Services in a Nutshell. JNDI Directory Services.

Directory Contexts.

NIS as a Directory Service.


NDS as a Directory Service.


LDAP as a Directory Service.

LDAP Interfaces. JNDI LDAP SPI. JNDI LDAP V3 API Extensions.

CORBA as a Trading Service.

CORBA Trading Service Components. Service Exporting. Service Importing. CORBA Trading Example.

Jini as a Trading Service.

Jini Component Architecture. Jini Programming Model. Jini Infrastructure. Jini Tools and Configuration. Jini Class Architecture and Development Process. Jini Service Example.

Microsoft Active Directory Services. Conclusions.

21. Activation Services.

Activation Services Overview. RMI Activation Framework. CORBA Activation Framework. CORBA Lifecycle Service. DCOM Activation Framework. JavaBeans Activation Framework. Web and Application Activation Frameworks. Conclusions.

22. Messaging Services.

Messaging Overview.

Message Service Locality. Point-to-Point Messaging. Publish-Subscribe Messaging. Push and Pull Messaging Models. Message Filtering, Synchronicity, and Quality. Email Messaging.

MOM. Java Message Service.

Core JMS Architecture. Point-to-Point Message Queuing Model. Extending the BeeShirts.com Example Data Model. Point-to-Point Message Queuing Example. Publish-Subscribe Model. Publish-Subscribe Example.

CORBA Messaging.

CORBA Event Service. CORBA Notification Service. CORBA Messaging Specification.


Email Messaging Systems. JavaMail Architecture Overview. JavaMail Generic Parts. JavaMail Generic Messages. JavaMail Multipart Messages. JavaMail MIME Messages. JavaMail Event Architecture. Creating Mail Sessions. Message Stores. Message Store Folders. Message Transports. JavaMail Example.


23. Transaction Services.

Transactions. Transaction Services.

Transaction Attributes. Transaction Isolation Levels. Transaction Models. X/Open Distributed Transaction Processing Standard. Two-Phase Commit Protocol.

Object Transaction Service.

Core OTS Types. OTS Interfaces.

Java Transactions API. JTA Transaction Manager Interface. JTA Application Interface. JTA and X/Open XA. Java Transactions Service. Conclusions.


24. High-Assurance Enterprise Applications.

What Is Assurance?

Who Should Provide Assurance? Dilemma of Assurance and Delivery Costs.

General Assurance Process.

Identify the Assurance Problem. Assess Risk. Generate Risk-Reduction Plan. Assess Cost of Risk-Reduction Plan. Assess Residual Risk.

To Be Assured or Not to Be Assured?

Failed Delivery Costs. Making Decisions.


Security Assurance Problem Models. Security Risk-Reduction Plans.


Reliability Assurance Problem Models. Reliability Risk-Reduction Plans.


Availability Assurance Problem Models. Availability Risk-Reduction Plans.


Maintainability Assurance Problem Models. Maintainability Risk-Reduction Plans.


Safety Assurance Problem Models. Safety Risk-Reduction Plans.


25. Security Basics.

The Basic Security Model. Cryptography.

Classes of Cryptography. Message Digests. Symmetric Keys. Asymmetric Keys.

Authentication and Nonrepudiation.

Authentication Types. Nonrepudiation.

Secure Socket Layer (SSL). Access Control.

Discretionary Access Control. Role-Based Access Control. Mandatory Access Control. Firewall Access Control.

Domains. Auditing. Policies and Administration. Conclusions.

26. Basic Java Security.

The History of Security in Java. Java Security Architecture.

Core Java 2 Security Architecture. Java Cryptography Architecture. Java Cryptography Extension. Java Secure Socket Extension. Java Authentication and Authorization Service.

Byte Code Verifier. Class Loader.

Class Loader Architecture and Security. Class Loader Interfaces.

Security Manager.

Security Manager Interfaces. Custom Security Managers.

Java Cryptography Architecture.

The Architecture of JCA. Cryptographic Engines. Cryptographic Service Providers.


27. Advanced Java Security.


Permissions Architecture. Permission Types. Custom Permission Types.

Security Policies.

Security Policy File Format. Referencing Properties in Policy Files. Using Security Policy Files. Security Policy Tool. Security Policy APIs.

Java Access Control.

Access Control Architecture. Guarded Objects. SecurityManager to Access Control Mapping. Fine-Grained and Configurable Access Control Example.

Principal Identification.

Keys. Certificates. Key and Certificate Storage. Using Keys and Certificates.

Protecting Objects.

Message Digests. Signatures. Signed Objects.

Signing Code.

The JAR Signer Tool. Code Signing Process. Code Signing Example.

Java Security Extensions.

Java Cryptography Extension. Java Secure Socket Extension. Java Authentication and Authorization Service.


28. CORBA Security.

CORBA Security Overview.

CORBA Security Packages. CORBA Security Architecture. Core CORBA Security Interfacing.

Authentication. Delegation. Authorization. Auditing. Nonrepudiation. Encryption. Security Policies. Security Administration. Conclusions.


29. Web Browsers and Servers in the Enterprise.

Web Browsers.

Web Browser Architecture. Web Browser Implementations.

Web Browser Security.

Web Browser Security Problems. Web Browser Security Solutions.

Java Plug-in.

Installing the Java Plug-in into a Web Browser. Designating the Use of a Java Plug-in JRE.

Web Servers.

Web Server Architecture. Web Server Implementations.

Web Server Security.

Web Server Security Problems. Web Server Security Solutions.

Web Server Availability. Conclusions.

30. Traditional Web Programming and Java.

HTML Programming.

HTML in General. HTML Structure Control and Display Elements. HTML Forms.

CGI Programming.

Example CGI Program. Stateful CGI Applications. CGI Pros and Cons.

Scripting Languages.

JavaScript. VBScript. Perl.

Active Server Pages. Java-Based Web Programming. Conclusions.

31. XML.

XML Overview. XML Formatting.

Comments. XML Declaration. Elements. Attributes. Entity References. Processing Instructions. Unparsed Character Data. Well-Formed XML Documents.

DTD Declaration.

Document Type Definition Header. Element Declarations. Notation Declarations. Entity Declarations. Attribute Declarations. Valid XML Documents. DTD Example.

Hyperlinking in XML.

XLinks. XPointers.

XML Style Sheets. Simple API for XML.

SAX Architecture. Core SAX Objects. SAX Application Handler Interfaces. SAX Parser Interfaces.

Document Object Model.

DOM Architecture. DOM Nodes. DOM Node Types. DOM Parsing.

Java and XML.

The Java Enterprise APIs and XML. The J2EE and XML. J2EE Application Deployment Descriptions in XML.


32. Java Servlets.

Servlet Architecture.

Servlet Logical and Physical Architecture. Servlet Lifecycle.

Servlet Interfaces.

Servlet Exception Abstractions. Base Servlet Framework Abstractions. Servlet Framework Examples.

Servlet HTTP Interfaces.

Base HTTP Servlet Framework Abstractions. BeeShirts.com Java HTTP Servlet Examples.

Request Processing.

Request Handling Abstractions. Servlet Request Dispatching Abstractions. Request Handling Examples.

Response Generation.

Response Handling Abstractions. Response Handling Examples.

Session Management.

Session Management Abstractions. Session Management Examples.

Servlet Deployment.

Web Application Deployment Descriptor Format. Web Application Deployment Procedures. Web Application Directory Structure. J2EE Reference Implementation Server Startup and Deployment. BEA WebLogic Server Startup and Deployment.

Servlet Configuration.

Individual Servlet Configuration. Servlet Context Configuration. Servlet Application Configuration.

Servlet Service Management.

Servlet Thread and Activation Service Management. EJB and Resource Naming Service Management. Servlet Transaction Service Management. Servlet Security Service Management. Servlet Availability Service Management.


33. JavaServer Pages.

JSP Overview.

JSP Architecture. Phases of a JSP. BeeShirts.com JSP Examples.

JSP Language Basics.

JSP Standard and XML-Based Elements. Tags. Comments. Special Character Handling.

JSP Translation and Compilation Directives.

include Directive. page Directive. taglib Directive. Directive Examples.

Java Scripting from JSP.

Declarations. Expressions. Scriptlets.

Java Abstractions of JSP.

Page Context. Page Handles. JSP Factories and Container Information. Custom JSP Classes.

Standard Java Objects from JSP.

Implicit Objects. Object Scope. JSP Object Manipulation Examples.

Standard Java Actions from JSP.

jsp:param Action Sub-Elements. jsp:forward Action. jsp:include Action. jsp:useBean Action. jsp:setProperty Action. jsp:getProperty Action. jsp:plugin Action. Standard Action Examples.

JSP Configuration and Deployment.

JSP Deployment Descriptor Considerations. JSP Configuration. Direct JSP Deployment Procedure Considerations. Precompiled JSP Deployment Procedure Considerations.

Custom Java Actions and Tags from JSP.

JSP Custom Tag Extension Abstractions. Tag Libraries.



34. Enterprise Application Platforms.

Enterprise Platforms Overview. TP Monitor Platforms. OTMs. Generic Application Frameworks. Standard Java-Based Generic Application Framework. CORBAcomponents. Microsoft's Generic Application Framework. Application-Specific Platforms. Enterprise Application Management. Conclusions.

35. Application Servers and Enterprise JavaBeans.

Standalone Enterprise Applications. Application Server-Based Enterprise Applications. Application Server Architecture Provider Roles. Application Server Components. Application Server Client Interfaces. Application Server Client Implementations. Enterprise Application Configuration and Deployment.

Server Configuration and Deployment Example. Client Configuration and Deployment Example.

Application Service Management. Conclusions.

36. Modeling Components with Enterprise JavaBeans.

EJB Overview.

EJB Architecture. EJB Types. EJB Exception Types. EJB Development Considerations and Steps. BeeShirts.com EJB Application.

EJB Configuration and Deployment Basics.

EJB Deployment Descriptor Top-Level Elements. EJB JAR Files. EJB Deployment Procedures. J2EE Reference Implementation Server Startup and Deployment. BEA WebLogic Server Startup and Deployment. J2EE Test Client Startup.

Session Bean Server Components.

Stateless Session Beans. Stateful Session Beans.

Session Bean Client Interfaces.

Session Bean Remote Interfaces. Session Bean Home Interfaces.

Session Bean Configuration and Deployment. EJB and JDBC. Entity Bean Server Components.

Entity Bean Pooling. Primary Keys. Bean-Managed Persistence Entity Beans. Container-Managed Persistence Entity Beans.

Entity Bean Client Interfaces.

Entity Bean Remote Interfaces. Entity Bean Home Interfaces.

Entity Bean Configuration and Deployment. Conclusions.

37. Advanced Enterprise JavaBeans Serving.

EJB Transactions.

Bean-Managed Transaction Demarcation. Container-Managed Transaction Demarcation.

EJB Security.

Standard Programmatic EJB Security Mechanisms. Standard Declarative EJB Security Mechanisms. Vendor-Specific Access Control Mapping. Vendor-Specific Identity and Authentication. Extending the BeeShirts.com Example Data Model. BeeShirts.com Security.

EJB/Web Connectivity.

BeeShirts.com: An Integrated J2EE Web and EJB e-Commerce Application. Web/EJB Connectivity Approach and Examples.

EJB/CORBA Connectivity.

EJBs as CORBA Clients. EJBs as CORBA Servers.

EJB and XML. EJB and JMS.

EJB as JMS Producer. EJB as JMS Consumer.

EJB and JavaMail. Conclusions.

38. Enterprise Application Integration.

Enterprise Application Integration Overview. EAI with JNI. EAI with Distributed Enterprise Communication Paradigms.

EAI with TCP/IP. EAI with HTTP. EAI with CORBA. EAI with RMI. EAI with DCOM.

EAI with Messaging Services and JMS. EAI with XML. EAI with J2EE Connectors. Embedded Applications Integration. Conclusions.


Appendix A. Software Configuration.

Software on the CD. Software Configuration per Chapter. J2SE Configuration. J2EE Configuration. Java Environment Variable Configuration. Microsoft Java Configuration. BEA WebLogic Server Configuration. Sample Software Configuration. Database Configuration.

BeeShirts.com Data Model. Cloudscape Database Configuration. Oracle Database Configuration.

Web Configuration.

Web Configuration Properties for the J2EE Reference Implementation. Web Configuration Properties for the BEA WebLogic Server. Web Configuration Scripts for the J2EE Reference Implementation. Web Configuration Scripts for the BEA WebLogic Server.

Application Server Configuration.

Application Server Configuration Properties for the BEA WebLogic Server. Application Server Configuration Scripts for the BEA WebLogic Server. Application Server Configuration Scripts for J2EE Reference Implementation.

JavaBeans Configuration. XML Configuration. CORBA ORB Configuration. CORBA Services Configuration. RMI/IIOP Configuration. JNDI Configuration. LDAP Configuration. Jini Configuration. JMS Configuration. JavaMail Configuration.

Appendix B. Additional Resources.

Object-Oriented and Component-Based Software Development. Java Basics.

J2EE Basics.

User Interfacing. JavaBeans. Database Development and JDBC. General Distributed Communications and TCP/IP. CORBA. RMI. COM/DCOM. JNDI, Naming, Directory, Trading, and Jini Services. MOM, JMS, and JavaMail. Distributed Transactions, JTA, and JTS. General Assurance and Security. General Web, HTML, and Scripting. XML. Java Servlets and JSP. Application Serving and EAI. Enterprise JavaBeans.



Updates & Corrections

In order to use your BEA WebLogic Server and BEA WebLogic Commerce Server evaluation CD, you will need to download the current evaluation license keys. These keys provide you with a 30-day evaluation license, with access for client connections from up to 3 IP addresses. -- www.bea.com/eval/perrone

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership