O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

BEA® WebLogic Platform 7

Book Description

BEA® WebLogic Platform 7 is a fast-paced introduction to the new WebLogic Platform. The focus of this book is to provide you with an in-depth knowledge of the WebLogic Platform 7.0 product and how you can leverage its capabilities and new features to create, configure, manage, and monitor an optimal operational environment for your J2EE applications. Hence, the primary technical topics discussed in this book fall under the realm of WebLogic Server Administration. This book covers in J2EE concepts and how to develop J2EE applications targeted for the WebLogic Platform.

  • Become versed on the capabilities, new features and technical architecture of the WebLogic Server 7.0.

  • Master how to install and efficiently configure a WebLogic Server.

  • Configure the WebLogic Server to use BEA¿s performance-based JRockit JVM.

  • Leverage the WebLogic Server¿s administration and deployment tools.

  • Extend a WebLogic Server domain through the introduction of remote managed servers.

  • Configure network resources for your WebLogic Servers.

  • Implement an administration and monitoring framework using Node Manager in conjunction with the WebLogic Server¿s new Self-Health Monitoring System.

  • Activate and configure your WebLogic Server¿s logging capabilities.

  • Architect and implement highly available and scalable application deployment solutions using the WebLogic Server cluster.

  • Optimally package J2EE Web and Enterprise applications and deploy them to your WebLogic Server.

  • Performance tune the WebLogic Server¿s internal subsystems.

  • Optimize the WebLogic Server¿s default HotSpot JVM.

Table of Contents

  1. Copyright
    1. Dedication
  2. About the Author
  3. About the Co-Authors
  4. Acknowledgments
  5. We Want to Hear from You!
  6. Introduction
    1. About This Book
    2. Who Should Read This Book?
    3. How This Book Is Organized
      1. Part I: J2EE Application Development Essentials
      2. Part II: Introducing the BEA WebLogic Platform 7
      3. Part III: WebLogic and J2EE Services Support
      4. Part IV: Developing Presentation Logic—JSPs and Servlets
      5. Part V: Developing Business Logic—Enterprise JavaBeans
      6. Part VI: BEA WebLogic Server Administration
      7. Part VII: Web Services
      8. Part VIII: Integration Services Provided by WebLogic Server 7
      9. Case Study: A Sample End-to-End Example Using The WebLogic Platform
    4. Source Code for This Book
  7. I. J2EE Application Development Essentials
    1. 1. Understanding the Java 2 Platform, Enterprise Edition
      1. Overview
      2. Java Technology Today
      3. The Challenges of Today’s eSystems
      4. The Java 2 Platform, Enterprise Edition
        1. The J2EE Platform—Technology Component and Service APIs
          1. Java Servlet Technology 2.3
          2. JavaServer Pages Technology 1.2
          3. Enterprise JavaBeans Technology 2.0
          4. JDBC 2.0 API
          5. Java Message Service 1.0
          6. Java Transaction API 1.0
          7. JavaMail Technology 1.2
          8. JavaBeans Activation Framework 1.0
          9. J2EE Java Connector Architecture API 1.0
          10. Java Naming and Directory Services API
          11. Java API for XML 1.1
          12. Java Authentication and Authorization Service 1.0
        2. J2EE Application Programming Model
          1. The Benefits of J2EE Components
          2. Multi-Tiered Architecture
        3. J2EE Compatibility Test Suite
        4. J2EE Reference Implementation (RI)
      5. J2EE Application Development Roles
        1. Presentation Content Developers
        2. Web Component Developers
        3. Business Component Developers
        4. EIS Integrators
      6. J2EE Application Deployment Roles
        1. J2EE Product Provider
        2. J2EE Tool Provider
        3. Application Component Provider
        4. Application Assembler
        5. Application Deployer
        6. System Administrator
    2. 2. J2EE Software Development Methodologies
      1. (Not) Gaining a Competitive Edge in Internet Time
      2. Why J2EE Projects Fail
        1. Recognizing Mission Impossible Projects
          1. Lack of Executive Sponsorship
          2. Lack of User Involvement in the Project
          3. The Initial Project Objectives Are Wrong
          4. Changing Project Requirements and Specifications—“Scope Creep”
          5. Lack of or Excessive Planning
          6. Lack of IT Management and Technical Direction
          7. Object-Oriented Analysis, Design, and Development Illiteracy
        2. The Warning Signs of a Failing J2EE Project
          1. Missed Milestones
          2. Miscommunication
          3. Too Many Decision Makers
      3. The Top Ten Checklist for Initiating J2EE Projects
      4. Organizational Frameworks for Supporting Enterprise J2EE Projects
        1. Communities of Practice
          1. Non-Technical (End-User) Communities
          2. Technical Communities
        2. Technical Centers of Excellence—The J2EE Architecture Group
          1. J2EE Architectural Guidance to IT Projects
      5. Software Development Methodologies
        1. What Is an Object-Oriented (OO) Methodology?
        2. Major Motivations for Using OO Methodologies in J2EE System Developments
          1. Object-Oriented Approaches Produce Solutions Which Closely Resemble Their Problem Domains
          2. Object-Oriented Approaches Promote OO Thinking
          3. Objects and Components Are “Black Boxes”
            1. Abstraction
            2. Encapsulation
            3. Concurrency
          4. Object-Oriented Approaches Promote Reusability
          5. Object-Oriented Approaches Support Interoperability
          6. Object-Oriented Approaches Possess Traceability Capabilities
        3. The Challenges of Using OO Methodologies—“Object Blindness”
        4. The Traditional Waterfall Methodology
          1. Feedback Failure Between the Phases
          2. Requirements, Analysis, and Design Milestones
      6. J2EE Software Development Methodologies Unveiled
        1. Selecting a Software Development Methodology
        2. BEA Systems Accelerated Process (Project Initiation Phase)
          1. The Participators of the Accelerated Process
          2. Accelerated Project Initiation
          3. Accelerated Requirements Method
          4. Accelerated Technical Feasibility Assessment
          5. Customer Validation Meeting
          6. Accelerated Risk Reduction Planning
          7. Risk Validation Meeting
          8. Accelerated Project Planning
            1. Refactoring the Project Plan into Binary Deliverables
            2. Iterative and Incremental Software Development Practices
            3. Continuous Project Control Through Feedback
            4. Realistic Deadlines on Milestones
          9. Project Commitment Meeting
        3. BEA Systems SteelThread (Architectural Prototyping)
          1. SteelThread Prerequisites
        4. eXtreme Programming
          1. The 12 Core Practices of eXtreme Programming
          2. The Planning Game
            1. Initial Release Planning
            2. Iteration Planning
          3. Small Releases
          4. Customer Tests (Acceptance Testing)
          5. Simple Design
          6. Pair Programming
          7. Test-First Development (Unit Testing)
          8. Design Improvement (Refactoring)
          9. Continuous Integration
          10. Collective Code Ownership
          11. Coding Standard
          12. Metaphors
          13. Sustainable Pace
          14. eXtreme Programming Resources
        5. The Rational Unified Process
          1. The Rational Unified Process Product
          2. The Principles of the Rational Unified Process
          3. The Organization of the Unified Process
          4. The Phases of a Rational Unified Process
            1. Inception
            2. Elaboration
            3. Construction Phase
            4. Transition Phase
            5. The Process Workflows of a Rational Unified Process
          5. Rational Unified Process Resources
    3. 3. A Developer’s Guide to the Unified Modeling Language (UML)
      1. The Challenge of Object-Oriented Analysis and Design
      2. What Is the Unified Modeling Language?
      3. The Relationship Between UML and Software Development Methodologies
      4. UML Modeling Tools
      5. The Elements of the Unified Modeling Language
        1. The Structural Elements of UML
        2. The Behavioral Elements of UML
        3. The Grouping Elements of UML
        4. The Annotational Elements of UML
      6. Developing Use Case Diagrams (Analysis Phase)
        1. The Features of a Use Case Diagram
        2. Linking UML Diagrams
      7. Developing Class Diagrams (Analysis)
        1. The Features of a Conceptual Model
      8. Developing Class Diagrams (Design)
        1. The Features of a Class Diagram
          1. Association Relationships
          2. Generalization Relationships
      9. Developing Interaction Diagrams (Design)
        1. The Features of a Sequence Diagram
      10. Developing Statechart Diagrams (Design)
        1. The Features of a Statechart diagram
      11. Developing Activity Diagrams (Analysis and Design)
        1. The Features of an Activity Diagram
      12. Developing Component and Deployment Diagrams (Design)
        1. Component Diagrams
        2. Deployment Diagrams
      13. UML By Example—The Book Store
        1. Deriving the Book Store Use Case Diagram
        2. Deriving the Book Store Activity Diagram
        3. Deriving the Book Store Class Diagram
        4. Deriving the Book Store Interaction Diagrams
    4. 4. Best Practices for Java Development
      1. Project Standards
        1. Delivery Expectations
        2. Java-Oriented Software Products
        3. Source Code Control and Software Build Systems
        4. Directory Structures and Environment Variables
        5. The Runtime Environment for Java Software Development
        6. Java Namespaces and Directory Structure
      2. Java Style Guidelines
        1. Naming rules
        2. Formatting
        3. Comments and Documentation
        4. Using Javadoc Comments
        5. Java Source File Layout
      3. Java Programming Guidelines
        1. General Coding Practices
        2. Performance and Optimization Guidelines
        3. Collections
          1. Synchronization
          2. Memory Allocation
          3. Storage Efficiency
        4. Methods
        5. Objects
        6. Arrays
        7. Loops
        8. Strings
          1. String Are Immutable
          2. Creating a String Using Literals
          3. Pre-Allocate Your String Buffers
          4. Switch Statements for Strings
        9. Synchronization
        10. Serialization
        11. Garbage Collection
        12. Java Compiler and JVM Optimizations
      4. The Java Development Process
        1. Introduction to Incremental Development
        2. Preparing for Java Development
        3. Creating the Common Components
        4. What the Developer Should Do First
        5. Application Development
          1. Getting Started
          2. The Design-Coding-Testing-Delivery Cycle
          3. Program Design
            1. Philosophy
            2. Design Versus Coding
          4. Coding
            1. Write the Code Correctly the First Time
            2. Use Examples
            3. Refactoring
            4. Coding Practice
          5. Testing
          6. Delivery
          7. Reference
      5. Endnotes
    5. 5. The J2EE Architecture and APIs
      1. Understanding the Java 2 Platform, Enterprise Edition
      2. The Logical Tiers of the J2EE Architecture
      3. The J2EE Application Programming Model
        1. The J2EE Application Server Layer
        2. The Operating System Layer
        3. Java Virtual Machine (JVM) Layer
        4. The J2EE Application Server Execution Environment
        5. The J2EE Services Layer
          1. The Remote Method Invocation (RMI) Service
            1. Where Is RMI Used in J2EE?
            2. How Is RMI Used in J2EE?
            3. The Details of an RMI Method Call
          2. The Java Naming and Directory Interface (JNDI) API
            1. Where Is JNDI Used in J2EE?
            2. How Is JNDI Used in J2EE?
          3. The Java Database Connection (JDBC) API
            1. Where Is JDBC Used in J2EE?
            2. How Is JDBC Used in J2EE?
          4. The Java Transaction (JTA) API
            1. Where Are Transactions Used in J2EE?
          5. The Java Messaging Service (JMS)
            1. Where JMS Is Used in J2EE?
            2. How JMS Is Used in J2EE?
          6. J2EE Security
          7. The JavaMail API
          8. Java Connector Architecture (J2C)
            1. How Connectors Are Used in J2EE
        6. The EJB Container
      4. Enterprise JavaBeans (EJB)
        1. Session Beans
          1. The Session Bean Class
        2. Entity Beans
          1. Bean-Managed Persistence (BMP)
          2. Container-Managed Persistence (CMP)
          3. The Entity Bean Class
        3. Message-Driven Beans (MDB)
          1. The Message-Driven Bean Class
      5. The Web Container
      6. Servlets
        1. Servlet Session Management
        2. Servlet Context Information
        3. Servlet Lifecycle
        4. Servlet Request Filtering
        5. Servlet Dispatch Control
        6. Servlet Security
        7. Servlets and Persistent Client Information (Cookies)
        8. Invoking Servlets Through URL Query Strings
        9. Declaring and Configuring Servlets
      7. JavaServer Pages (JSP)
        1. JavaServer Page Request Processing
        2. The JSP Language Syntax
    6. 6. Transitioning from Software Design to J2EE Technology Components and Services
      1. Specifying and Visualizing J2EE Components with UML
        1. The Need for J2EE Software Design
        2. Analyzing Requirements for a J2EE Solution with UML
      2. Identifying and Applying Design Patterns
        1. The Model-View-Controller Architecture (MVC)
        2. The Gang of Four Design Patterns
      3. Designing for Enterprise Java Beans
        1. Stateful and Stateless Session Beans
        2. Container Managed Persistence (CMP) and Bean Managed Persistence (BMP) Entity Beans
        3. J2EE Deployment to WebLogic Server 7.0
      4. From Design to J2EE By Example: A Truck Rental Business
        1. Truck Rental Business Requirements
        2. Truck Rental Use Cases
          1. Use Case 1: Edit Request
          2. Use Case 2: Search for Vehicle
          3. Use Case 3: View Search Results
          4. Use Case 4: Update Inventory
        3. Truck Rental Activity Diagrams
        4. Truck Rental Class Diagrams
        5. Truck Rental Sequence Diagrams
      5. Truck Rental Java Implementation
      6. Summary
    7. 7. An Introduction to Web Services
      1. The Message and Medium Paradigm
      2. What Is a Web Service?
      3. The Characteristics of Web Services
        1. Web Services Standard Protocols
          1. Simple Object Access Protocol (SOAP)
          2. The Web Services Description Language (WSDL)
          3. Universal Discovery Description and Integration
        2. A Service-Oriented Architecture of Web Services
      4. The Value Proposition of Web Services
  8. II. Introducing the BEA WebLogic Platform 7
    1. 8. Deriving Application Infrastructure
      1. Introducing Application Infrastructure
      2. Understanding the Need for Application Infrastructure
      3. Examining an Organization’s Application Infrastructure Reality
      4. Deriving an Application Infrastructure Strategy
        1. Recognizing Infrastructure Patterns
          1. Cataloging Organizational Infrastructure Patterns
          2. The Advantages of Cataloging Infrastructure Patterns
        2. Developing a Technology Taxonomy
        3. Identifying Enterprise Application Integration (EAI) Types
      5. Implementing the Software Platform Solution to Application Infrastructure
      6. Employing BEA’s Unified, Simplified, and Extensible Formula for Application Infrastructure: WebLogic Platform 7.0
      7. Summary
    2. 9. Introducing BEA WebLogic Platform 7
      1. What Is Technical Agility?
      2. The WebLogic Platform—A Single, Unified, and Extensible Application Infrastructure
        1. The Featured Benefits of WebLogic Platform
      3. Introducing BEA WebLogic Server 7
      4. WebLogic Server’s Competitive Edge
      5. The Technical Architecture of WebLogic Server
        1. The Presentation Layer
        2. The Business Layer
        3. The Integration Layer
          1. Database Connectivity
          2. J2EE Connector Architecture
          3. Interoperability with Microsoft Software Components
          4. BEA Tuxedo Interoperability
          5. Enterprise Messaging
          6. Web Services
          7. Interoperability with Mainframes
      6. Introducing WebLogic Workshop
        1. The Primary WebLogic Workshop Components
        2. A High-Level Architecture of WebLogic Workshop
      7. Introducing BEA WebLogic Portal
        1. A High-Level Architecture of WebLogic Portal
          1. Personalization Services
          2. Portal Services
          3. Commerce Services
          4. The EBusiness Control Center (EBCC)
      8. Introducing WebLogic Integration
        1. WLI Functional Areas
      9. Summary
    3. 10. Installing and Configuring WebLogic Server 7
      1. WebLogic Server 7 Editions
        1. The WebLogic Express
        2. The WebLogic Server Advantage Edition
        3. The WebLogic Server Premium Edition
      2. Preliminary WebLogic Server Installation Considerations
        1. System and Software Requirements for Installing WebLogic Server
        2. The New WebLogic Server Development Licensing Model
      3. Installing WebLogic Server
        1. Step 1: Download and Execute the Net Installer Program
        2. Step 2: Select the BEA Home Directory
        3. Step 3: Select the Installation Type
        4. Step 4: Select the WebLogic Platform Products and Components
        5. Step 5: Select the Download Option
        6. Step 6: The Auto Installation Option
        7. Step 7: Select the WebLogic Server Product Directory
        8. Step 8: The Domain Configuration Wizard
        9. Step 9: Create Your WebLogic Domain
        10. Step 10: Select the WebLogic Server Type
        11. Step 11: Select Your Domain Container Directory
        12. Step 12: Configure Your Single Server
        13. Step 13: Create Your System User Name and Password
        14. Step 14: Create the WebLogic Server As a Windows Service
        15. Step 14: Create a Start Menu Entry for Your WebLogic Server
        16. Step 15: Review and Create Your Specified WebLogic Server Configuration
        17. Validate Your CLASSPATH and PATH Environmental Variables
      4. Navigating the WebLogic Platform Directory Structure
        1. The BEA Home Directory
        2. The Domain Container Directory
        3. The WebLogic Home Directory
      5. Startup Methods for WebLogic Server in Windows 2000
        1. The startWebLogic Script File
        2. Important startWebLogic Script Options
          1. Dweblogic.management.discover
          2. Dweblogic.ProductionModeEnabled
          3. -Xms and -Xmx
      6. Starting the Default WebLogic Server
        1. Bypassing the Username and Password Prompt Using the Boot Identity File
        2. Starting the Pet Store Sample Application
      7. Shutdown Methods for WebLogic Server in Windows 2000
        1. Shutting Down WebLogic Server Using the Administration Console
        2. Shutting Down WebLogic Server Using the weblogic.Admin Utility
      8. Understanding the New WebLogic Server Lifecycle States
      9. Using WebLogic Server with the WebLogic JRockit JVM
        1. The Benefits of Using the JRockit JVM
        2. Installing and Using JRockit with WebLogic Server
        3. Using the JRockit Management Console
      10. Summary
    4. 11. Working with the WebLogic Server Tools
      1. The WebLogic Server System Administration Tools
        1. The WebLogic Administration Console
          1. Starting the Administration Console
          2. Navigating the Administration Console
          3. A Simple Example of Using the Administration Console
        2. The weblogic.Admin Command-Line Utility
          1. The weblogic.Admin Utility Commands
            1. PING
      2. The WebLogic Server Deployment Tools
        1. The WebLogic Builder
        2. The EJBGen Utility
        3. The weblogic.Deployer Utility
        4. The WebLogic Server Administration Console
      3. Deploying Your First Web Application Using WebLogic Builder
        1. Step 1: Creating the Web Application Directory Structure
        2. Step 2: Creating Your Welcome Page
        3. Step 3: Creating and Compiling Your Hello World Servlet
        4. Step 4: Starting the WebLogic Builder
        5. Step 5: Assembling the HelloWorldApp Web Application
        6. Step 6: Deploying Your Web Application
        7. Step 7: Testing Your Web Application
      4. Summary
  9. III. WebLogic and J2EE Services Support
    1. 12. Distributed Processing Using RMI
      1. Understanding Distributed Processing
        1. The RMI Design Model
        2. RMI Package Names
        3. Creating an RMI Application
      2. RMI Registry Naming Service
        1. RMI Registry API
        2. Java 2 Standard Edition RMI Registry
        3. WebLogic RMI Registry
      3. The Remote Interface
        1. Java 2 Standard Edition Remote Interface
        2. WebLogic Remote Interface
      4. Remote Object
        1. Java 2 Standard Edition Remote Object
        2. WebLogic Remote Object
      5. RMI Client Application
      6. Generating Stubs and Skeletons Using rmic
        1. Java 2 Standard Edition rmic
        2. WebLogic rmic
      7. Sample RMI Application
      8. WebLogic Optimizations for RMI
      9. WebLogic RMI over IIOP
      10. Summary
    2. 13. Accessing Data Repositories Using JDBC
      1. The Java Database Connectivity API
      2. The Basics of Database Programming in Java
        1. Understanding Relational Databases
          1. Designing the Data Model
        2. Understanding SQL
          1. SQL Datatypes
          2. SQL Commands
          3. SQL Transactions
      3. Understanding JDBC
        1. Using the DriverManager
          1. JDBC Drivers from BEA WebLogic
          2. Third-Party Drivers for WebLogic Server
        2. The Connection Object
        3. The Statement Object
        4. The PreparedStatement Object
        5. The ResultSet Object
          1. Working with BLOB and CLOB Data Types
        6. The Bookstore JDBC Example
      4. JDBC and BEA WebLogic Server
        1. Configuring and Using Connection Pools
        2. Configuring and Using MultiPools
        3. Configuring and Using Data Sources
        4. Configuring and Using TxDataSources
        5. Configuring and Using JDBC DataSource Factories
      5. Using JDBC in a BMP Entity Bean
      6. Advanced JDBC Topics
        1. Stored Procedures
        2. Batch Processing
        3. Meta-Data
      7. Summary
    3. 14. Locating Named Services through JNDI
      1. An Introduction to the Java Naming and Directory Interface
      2. The JNDI Architectural Framework
      3. Understanding Naming and Directory Services
        1. LDAP Server
        2. RMI Registry
        3. COS Name Server
        4. The WebLogic Naming Service
          1. The Structure of the WebLogic Naming Service—The JNDI Tree
          2. Using JNDI in a WebLogic Server Cluster
      4. The JNDI Service Provider Interface
        1. Using the LDAP SPI
          1. LDAP Security Considerations
        2. Using the RMI SPI
          1. RMI Security Considerations
        3. Using the COS SPI
          1. COS Security Considerations
        4. Using the WebLogic SPI
          1. WebLogic Security Considerations
          2. Creating the Context Environment for WebLogic
      5. The JNDI Application Programming Interface
        1. Looking Up an Object Using the JNDI Context
        2. Closing the JNDI Context
        3. Binding an Object Using the JNDI Context
      6. Examples of Using JNDI in J2EE Applications
        1. Looking Up the EJB Home Interface
        2. Looking Up JMS Connection Factories and Distributed Destinations
        3. Looking Up JDBC DataSources
        4. Looking Up JTA UserTransactions
      7. Summary
    4. 15. The Java Messaging Service (JMS)
      1. What Is the Java Message Service API?
        1. JMS Messaging Versus Tightly Coupled Communication APIs
      2. An Overview of the JMS Architecture and Messaging
        1. Messaging Domains
          1. The Point-to-Point Messaging Domain
          2. The Publish/Subscribe Messaging Domain
          3. Messaging Consumption and Delivery
          4. Messaging Domain Interfaces
      3. The Structure of a JMS Message
        1. Message Header Fields
        2. Message Property Fields (Optional)
        3. Message Body
      4. The JMS API Programming Model
        1. ConnectionFactory
        2. Connections
        3. Sessions
        4. Destinations
        5. MessageProducer
        6. MessageConsumer
      5. The WebLogic JMS Server
      6. The Basic Configuration of WebLogic JMS
        1. Configuring Persistent Messaging
        2. Configuring a JMS Server
        3. Creating a JMS Destination—Queue or a Topic
          1. Using JMS Templates
          2. Configuring JMS Server and Destination Thresholds
          3. Implementing Messaging Service Continuity with Distributed Destinations
        4. Configuring Connection Factories
        5. Monitoring Your JMS Server
      7. Developing a WebLogic JMS Application
        1. Point-to-Point Client
        2. A Point-to-Point Producer
        3. A Point-to-Point Consumer
        4. A Point-to-Point Client with an Asynchronous Listener
        5. A Publish/Subscribe Producer
        6. A Publish/Subscribe Consumer
        7. Message Selectors
      8. Summary
    5. 16. Managing Java Transactions Using JTA
      1. The Java Transaction API
      2. Using Transactions to Ensure Data Integrity
      3. Understanding Distributed Transactions
      4. ACID-Compliant Databases
      5. The JDBC Optional Package and JTA
        1. Using the DataSource Interface
        2. Using Connection Pools
        3. Using a DataSource for Distributed Transactions
        4. Using the RowSet Interface
        5. Using the UserTransaction Interface
      6. Configuring WebLogic JDBC Connection Pools
      7. Configuring WebLogic JDBC Tx DataSources
      8. Performing Distributed Transactions with a Transaction Manager
        1. XA-Compliant Resources
        2. Two-Phase Commit (2PC)
        3. Transaction Isolation Levels
      9. Using the WebLogic JTA Driver
      10. The BookStore Servlet Example
      11. Summary
  10. IV. Developing Presentation Logic—JSPs and Servlets
    1. 17. Introduction to Servlets
      1. CGI—The First Generation of Dynamic Content Generation Tools
      2. A Better Way—Servlets
        1. What Is a Servlet?
        2. Handling HTTP Clients—The HttpServlet Class
      3. Servlet Technologies
        1. The Servlet API—Commonly Used Methods
        2. The Servlet Container
        3. The Servlet Lifecycle
        4. Servlets and Threads
      4. Creating Your First Servlet
        1. A doGet() Servlet Example
        2. Adding doPost() to the Servlet
      5. J2EE Packaging for Servlets—Web Applications
        1. Web Application Hierarchy
      6. Running Your First Servlet in WebLogic 7.0
      7. Servlet Advanced Features
        1. Initialization Parameters for Servlets
        2. Database Access Using WebLogic Server 7.0 Services
          1. Using WebLogic 7.0 Connection Pools
          2. Using a DataSource for Database Connections
      8. Servlet Implementation Limitations
      9. Summary
    2. 18. JavaServer Pages and Tag Libraries
      1. Understanding JavaServer Pages (JSPs)
      2. JSP Elements
        1. Predefined Variables
        2. Expressions
        3. Declarations
        4. Scriptlets
        5. Other Scripting Elements
      3. Using JavaBeans
        1. Instantiating JavaBeans in JSP
        2. Manipulating JavaBean Properties in a JSP
        3. Setting Bean Properties from the Request
        4. Creating the JavaBean Class
        5. JavaBean Example
      4. Tag Libraries
        1. Parts of a Tag Library
        2. Implementing a Custom Tag Library
        3. Using the Custom Tag in a JSP
        4. Putting It All Together: Using the Tag Library in WebLogic
      5. Summary
    3. 19. Servlets and JavaServer Pages—Best Practices
      1. What Is the MVC Pattern?
      2. The MVC Model with Servlets and JSPs
      3. A Simple MVC Example: Login Management
        1. JSP Login Handler
        2. Servlet Login Handler
        3. Servlet Login Handler with a JSP Front End
          1. Implementing the Model
          2. The EJB-to-JSP Integration Tool
        4. Managing Page-to-Page Relationships and Transitions
      4. Summary
  11. V. Developing Business Logic—Enterprise JavaBeans
    1. 20. Developing Business Logic—Session Beans
      1. Introducing Session Beans
        1. The Value Proposition of Session Beans
      2. Session Bean Types
        1. Stateless Session Beans
          1. When to Use Stateless Session Beans
        2. Stateful Session Beans
          1. When to Use Stateful Session Beans
        3. Differences Between Stateless and Stateful Session Beans
      3. A Practitioner’s Approach to Understanding Session Beans
        1. The Development Elements of a Session Bean
          1. The Remote Interface
          2. The Home Interface
          3. The Implementation Class
          4. The Stubs and Skeletons of Session Bean Interfaces
          5. Using a Local View to Access a Session Bean
        2. Developing a Test Java Client for Your Session Bean
        3. Developing Deployment Descriptors
          1. The ejb-jar.xml File
          2. The weblogic-ejb-jar.xml File
        4. Building a Session Bean Deployment Unit
        5. Deploying Your Session Bean
      4. The Life Cycle of Stateless Session Beans
        1. The Does Not Exist State
        2. The Method Ready Pool State
        3. The Busy or Active State
      5. The Life Cycle of Stateful Session Beans
        1. The Does Not Exist State
        2. The Method Ready State
        3. The Passivated State
      6. Testing the Life Cycle of Stateful Session Beans
      7. Programming Transactions in Session Beans
        1. Container-Managed Transactions
        2. Bean-Managed Transactions
      8. Summary
    2. 21. Managing Persistence—Entity Beans
      1. Persistence: The Final Tier
      2. What Are Entity Beans?
      3. Using the EJB Container
        1. Container-Managed Persistence Versus Bean-Managed Persistence
        2. Container-Managed Relationships
        3. Container-Managed Transactions
          1. Rolling Back Container-Managed Transactions
      4. The Lifecycle of Entity Beans
      5. Developing the Components of Entity EJBs
        1. EJB Remote Interface
        2. EJB Local Interface
        3. Using the EJB Value Object
        4. EJB Remote Home Interface
        5. EJB Local Home Interface
      6. Writing the Entity EJB Class
      7. Writing the Primary Key Class
        1. Creating the BookEntityPK Primary Key Class
      8. Deployment Descriptors
        1. EJB Name Tag
        2. Additional XML Tags in the Deployment Descriptor
          1. EJB Home Interface Tag
          2. EJB Remote Interface Tag
          3. EJB Class Tag
          4. Persistence Type Tag
          5. CMP Field Tags
          6. EJB Primary Key Field
          7. Query Tag
      9. Writing Finder Methods
        1. Enterprise JavaBean Query Language
      10. Bean-Managed Persistence Example
        1. Creating a Connection with a Data Source
        2. Creating the BookEntityBMPBean
        3. Creating the BMP Style Deployment Descriptor
      11. Container-Managed Persistence Example
        1. Creating the BookEntityCMPBean
      12. Container-Managed Relationship Example
        1. Creating the ShoppingCart Remote Interface
        2. Creating the ShoppingCart Home Interface
        3. Creating the ShoppingCart CMP Entity Bean
        4. The ShoppingCart Primary Key
        5. Testing the Book Store
        6. Creating the Deployment Descriptor
      13. Deployment on WebLogic Server
        1. The weblogic-ejb-jar.xml Deployment Descriptor
        2. The weblogic-cmp-rdbms-jar.xml Persistence Descriptor
        3. Deploying Entity Beans to WebLogic Server
          1. Step 1: Start and Configure Your Target Database
          2. Step 2: Configure the JDBC Connection Pools Tx DataSource in Your WebLogic Server
          3. Step 3: Deploying the ShoppingCart EJB Example to Your WebLogic Server
        4. Testing the Deployment of the ShoppingCart Module
      14. Summary
    3. 22. Asynchronous Message Processing—Message-Driven Beans
      1. What Is a Message-Driven Bean?
        1. The Characteristics of Message-Driven Beans
        2. The Value Proposition of Message-Driven Beans
        3. Differences Between MDBs and Other Bean Types
      2. The Message-Driven Bean Class
        1. The ejbCreate() Method
        2. The setMessageDrivenContext() Method
        3. The onMessage() Method
        4. The ejbRemove() Method
        5. Handling Exceptions
      3. The Life Cycle of a Message-Driven Bean
      4. Developing a Simple Message-Driven Bean Example
        1. Step 1: Writing the Message-Driven Bean Code
        2. Step 2: Writing the Associated Deployment Descriptors
          1. The ejb-jar.xml Deployment Descriptor
          2. The weblogic-ejb-jar.xml Deployment Descriptor
        3. Step 3: Building Your MDB Example
        4. Step 4: Configuring the JMS Destination for the MDB Example
        5. Step 5: Deploying the MDB Example to Your WebLogic Server
        6. Step 6: Testing Your Message-Driven Bean
      5. An Overview of Message-Driven Bean Transactions
        1. Specifying an MDB’s Transaction Demarcation Type
        2. Container-Managed Transactions
          1. Avoiding Poison Messages with Container-Managed MDBs
        3. Bean-Managed Transactions
      6. Summary
    4. 23. EJB Best Practices
      1. Best Practices for Session Beans
        1. Optimizing JNDI Lookups
        2. When Not to Use Stateful Session Beans
        3. Scalability Issues with Stateful Session Beans
        4. The SessionSynchronization Interface
        5. Session Beans As a Facade to Entity Beans
      2. Best Practices for Entity Beans
        1. Consider Writing CMP Entity Beans Instead of BMP Entity Beans
        2. Debug Flags to Instrument BMP Code
        3. Writing an Efficient Primary Key Class
          1. Implementing the hashCode Method
          2. Implementing the equals() Method
        4. Choose the Right Concurrency Strategy
        5. Optimize Database Access Calls
        6. Loading Related CMP Fields
        7. Optimizing Finders
        8. Optimizing CMP Entity Beans
        9. Optimizing BMP Entity Beans
        10. Optimizing Database Writes for BMP Entity Beans
        11. Consider Using Tuned Updates for CMP 1.1 Beans
        12. Consider Using Read-Only/Read-Mostly Entity Beans
      3. Handling Transactions in EJBs
        1. Use Container Managed Transactions Instead of Bean Managed Transactions
        2. Do Not Use the Supports Transaction Attribute
        3. Consider Using the Mandatory Transaction Attribute
        4. Consider Using Transactional DataSources for Entity Beans
        5. Always Demarcate Transactions at the WLS or Database Level
      4. Best Practices for EJB Security
      5. Best Practices for Coding Standard Interfaces
      6. MDB Best Practices
        1. Exception Handling in MDBs
        2. Consider Using a Separate JMS Destination to Handle Poison Messages
        3. Consider Using DUPS_OK_ACKNOWLEDGE Mode
      7. Summary
  12. VI. BEA WebLogic Server Administration
    1. 24. Administering and Monitoring Your WebLogic Domain
      1. Understanding WebLogic Domains
        1. The Relationship Between Administration and Managed Servers
        2. Administering a WebLogic Domain from an Infrastructure Perspective
      2. Creating and Extending WebLogic Domains
        1. Creating a WebLogic Domain and Standalone WebLogic Server Using the Configuration Wizard
        2. Extending a WebLogic Domain with a Remote Managed Server Using the Configuration Wizard
          1. Configuring a New Machine Definition within a WebLogic Domain
          2. Configuring a New Server Definition within a WebLogic Domain
      3. Configuring the Network Resources for a WebLogic Domain
        1. An Introduction to Network Channels
          1. Viewing Your Default Network Configuration
          2. Enabling the Administration Port
          3. Configuring a Network Channel
        2. Understanding Network Access Points
          1. Leveraging Network Access Points in Your Network Channel
      4. Managing Your WebLogic Servers Using the Node Manager
        1. Configuring the Node Manager on a Machine Node
          1. Step 1: Configuring Your Trusted Hosts
          2. Step 2: Configuring SSL Communication Between the Administration Server and Managed Servers
          3. Step 3: Configuring the Node Manager Machines
          4. Step 4: Specifying the Managed Server’s Startup Information
        2. Starting the Node Manager Process
          1. Starting the Node Manager Using a Startup Script
          2. Creating a Node Manager Windows Service
        3. Remotely Starting the Managed Servers
        4. Reviewing the Node Manager–Associated Log Files
          1. The Node Manager Startup Log Files
          2. The Managed Server Log Files
        5. Monitoring the Health of Your WebLogic Domain Using the Node Manager
      5. Understanding the WebLogic Server Logs
        1. Modifying the Logging Behavior of the Local Log File
          1. The General Tab
          2. The Rotation Tab
        2. Modifying the Logging Behavior of the Domainwide Log File
      6. Summary
    2. 25. Implementing Highly Available and Scalable Solutions Using the WebLogic Cluster
      1. The Motivations for Clustered Infrastructure Solutions: Scalability and High Availability
        1. Scalability
        2. High Availability
          1. Additional Factors Affecting High Availability
        3. Load Balancing
      2. Understanding WebLogic Clusters
        1. Understanding Which Objects Can Be Clustered
        2. Examining Deployment Restrictions to the WebLogic Cluster
      3. Understanding How WebLogic Servers Communicate Within a Cluster
        1. IP Multicast Communication
        2. IP Socket Communication (Peer-to-Peer)
      4. Designing the Architecture of a WebLogic Cluster
        1. Understanding a Typical Clustering Environment
          1. The Load Balancer
          2. The Web Proxy Server
          3. WebLogic Server
          4. The DeMilitarized Zone (DMZ)
        2. Recommended WebLogic Clustering Architectures
          1. The Combined-Tier Architecture
          2. The Multi-Tier Architecture
      5. Creating and Configuring a WebLogic Cluster
        1. The Tools for Creating and Configuring a WebLogic Cluster
        2. Guidelines for Configuring Your WebLogic Cluster
        3. Configuring a Cluster Using the Administration Console
        4. Starting Your WebLogic Cluster
          1. Starting a WebLogic Cluster Using the Command Shell
          2. Starting a WebLogic Cluster Using the Administration Console
        5. Monitoring Server Participation in Your WebLogic Cluster
      6. Implementing a Load-Balancing Mechanism for Your Clustered Servlets and JSPs
        1. Using a WebLogic Proxy Plug-in Load-Balancing Solution
          1. Configuring the HttpClusterServlet As a Load-Balancing Solution
        2. Using a Hardware Appliance Load-Balancing Solution
      7. Implementing a Failover Mechanism for Your Clustered Servlets and JSPs
        1. In-Memory Replication
          1. Configuring In-Memory Replication
          2. Configuring Replication Groups to Specify Replica Object Servers
          3. Demonstrating the In-Memory Replication of Session State
        2. File-Based Persistent Storage
        3. JDBC-Based Persistent Storage
      8. Clustering Enterprise JavaBeans
        1. The Replica-Aware Home and Remote Stubs
        2. The Load-Balancing and Failover Algorithms Employed by the Replica-Aware Stubs
        3. The Load-Balancing and Failover Mechanisms of Stateless Session Beans
        4. The Load-Balancing and Failover Mechanisms of Stateful Session Beans
        5. The Load-Balancing and Failover Mechanisms of Entity Beans
      9. Summary
    3. 26. Managing the WebLogic Security Service
      1. The Challenges of Web Application Security
        1. The Formation of Social Infrastructures to Support a Security Ecosystem
        2. The Functional Abstraction of Security from Application Code
      2. An Introduction to the WebLogic Server Security Service
        1. A Basic Security Setup Using the WebLogic Server Security Service
          1. The Demilitarized Zone
          2. The Firewall
          3. The Web Server
          4. Connection Filters
          5. Lightweight Directory Access Protocol
      3. The Architecture of the WebLogic Security Service
        1. The WebLogic Security Framework
        2. The Security Service Provider Interfaces
        3. The Security Provider Database
      4. Security Providers
        1. Authentication Providers
        2. The Authentication Process
          1. The LoginModule
          2. The PrincipalValidator
          3. The IdentityAsserter
        3. Role Mapping Providers
        4. Authorization Providers
        5. Auditing Provider
        6. Credential Mapping Provider
        7. Keystore Providers
        8. Realm Adapter Providers
      5. Understanding Your WebLogic Security Realm
        1. Managing Your Security Realm
          1. The General Tab
          2. The User Lockout Tab
          3. The Contents Tab
          4. The Providers Tab
        2. Configuring New User Accounts
          1. The Guest and Anonymous Users
        3. Configuring New Groups
          1. Adding Users to Groups
        4. Configuring Roles
          1. Creating a Global Role
          2. Creating a Scoped Role
        5. Configuring Security Policies
      6. Securing Your WebLogic Applications
        1. Securing a Web Application Through the Administration Console
      7. Summary
    4. 27. Packaging, Assembling, and Deploying J2EE Applications
      1. Introducing the WebLogic Server ClassLoaders
        1. What Are Java ClassLoaders?
        2. J2EE Application Classloading in WebLogic Server
        3. Understanding the WebLogic Server ClassLoader Hierarchy
        4. Making Use of the PreferWebInfClasses Element
        5. Application Classloading Optimization in WebLogic Server
        6. Best Practices for Packaging Shared Utility Classes
        7. Making Use of the Manifest Class-Path
      2. Packaging Applications Targeted for WebLogic Server
        1. Web Applications
          1. The Web Application Directory Structure
          2. Web Application Deployment Descriptors
          3. Generating Web Application Deployment Descriptors Automatically
          4. Packaging Web Applications
        2. Enterprise JavaBean Applications
          1. The Enterprise JavaBean Application Directory Structure
          2. EJB Application Deployment Descriptors
          3. Generating EJB Application Deployment Descriptors Automatically
          4. Packaging EJB Applications
        3. Enterprise Applications
          1. The Enterprise Application Directory Structure
          2. Enterprise Application Deployment Descriptors
          3. Packaging Enterprise Applications
      3. Deploying Applications to WebLogic Server
        1. Two-Phase Deployment
        2. Application Staging
          1. Setting the Staging Mode and Staging Directory
        3. The Deployment Order for Services and Applications in WebLogic Server
      4. The WebLogic Server Deployment Tools
        1. Using the Administration Console to Deploy Applications
          1. Configuring and Deploying J2EE Applications Using the Administration Console
          2. Undeploying Components with the Administration Console
          3. Deleting Applications and Components with the Administration Console
          4. Viewing a List of Components Through the Administration Console
        2. Using the weblogic.Deployer Utility to Deploy Applications
          1. Deploying a New Application to the Administration Server
          2. Deploying a New Application to Managed Servers
          3. Redeploying an Application to Targeted WebLogic Servers
          4. Deploying a New Module to a Deployed EAR Application
          5. Deactivating an Application on Active Targets
          6. Deactivating an Application on All Deployed WebLogic Servers
          7. Reactivating a Deactivated Application
          8. Removing a Deployed Application
          9. Refreshing Parts of an Exploded Application
          10. Listing All Deployment Tasks
          11. Canceling a Deployment Task
        3. Using WebLogic Builder to Build and Deploy J2EE Applications
          1. Starting WebLogic Builder
          2. Opening a J2EE Application Using WebLogic Builder
          3. Editing Web Application Deployment Descriptors with WebLogic Builder
          4. Editing EJB Deployment Descriptors with WebLogic Builder
          5. Other Useful Features Provided by WebLogic Builder
            1. Connecting to WebLogic Server
            2. Validating a Component
            3. Viewing Deployment Descriptor XML Files
          6. Deploying an Application Using WebLogic Builder
        4. Using Auto-Deployment
          1. Development Mode
          2. Production Mode
          3. Deploying Applications in the Auto-Deployment Mode
        5. Undeploying Applications in Auto-Deployment Mode
        6. Redeploying Archived Applications in Auto-Deployment Mode
        7. Redeploying Exploded Applications in Auto-Deployment Mode
      5. Using Ant for Building J2EE Applications
        1. Ant Basic Concepts
        2. Understanding the Ant Build File
        3. Built-in Ant Tasks
          1. javac
          2. java
          3. jar
        4. The File and Directory Manipulation Ant Tasks
          1. Creating a Web Application Archive Using the war Ant Task
          2. Creating an Enterprise Application Archive Using the ear Ant Task
      6. Deployment Best Practices
    5. 28. Performance Tuning WebLogic Server
      1. Performance Tuning Goals for WebLogic Server
      2. A WebLogic Server Performance Tuning Roadmap
        1. Step 1: Understand Your WebLogic Server Environment
        2. Step 2: Document Your WebLogic Server Environment
        3. Step 3: Develop Test Scenarios for Your WebLogic Server Environment
        4. Step 4: Benchmark Your Test Scenarios
        5. Step 5: Identify the Potential Bottlenecks Affecting the Performance of Your Test Scenarios
        6. Step 6: Resolve the Performance Bottlenecks in Your Test Scenarios
      3. Tuning the Core Server Performance: The Thread Pool
        1. The Socket Reader Implementation in WebLogic Server
          1. Tuning the Java Socket Reader Threads
        2. WebLogic Server Execute Queues
          1. Determining the Appropriate Thread Count for an Execute Queue
            1. Step 1: Start the Administration Server
            2. Step 2: Run and Monitor a Load Test Against Your WebLogic Server Application
            3. Step 3: Modifying the Thread Count in the Default Execute Queue
          2. Tuning Execute Queues for Overflow Conditions
          3. Determining Stuck Threads
        3. Configuring Custom Execute Queues
          1. Assigning Applications to Specific Execute Queues
            1. Assigning Servlets and JSPs to Execute Queues
            2. Assigning RMI Objects and EJBs to Execute Queues
        4. Monitoring Execute Queues and Execute Threads
        5. Tuning the Connection Backlog
      4. Tuning JDBC Connection Pools in WebLogic Server
        1. Caching Prepared SQL Statements
      5. Tuning EJB Applications
        1. Stateless Session Beans
        2. Stateful Session Beans
        3. Entity Beans
          1. Tuning Pool Size for Entity Beans
          2. Using the Appropriate Concurrency Strategy
          3. Using the Appropriate Transaction Isolation Level
          4. Using Delay-Database-Insert-Until
      6. Optimizing HTTP Sessions
      7. Tuning the Java Virtual Machine (JVM)
        1. Tuning the JVM Heap Size
          1. Determining Heap Size for the WebLogic Server
          2. Setting the JVM Heap Size Options
        2. Monitoring the WebLogic Server Heap and Forcing Garbage Collection
        3. Detecting Low Memory Conditions in WebLogic Server
      8. Summary
  13. VII. Web Services
    1. 29. Web Services and the WebLogic Platform
      1. Introduction
      2. The Architectural Framework of Web Services
        1. Supported Standards
        2. Why WebLogic Web Services?
      3. Roadmap to WebLogic Web Services
        1. Creating Local Web Services
          1. Through WebLogic Server
          2. Through WebLogic Workshop
        2. Web Service Runtime Environments
        3. Local Web Service Advertised with UDDI
        4. The Portlet Wizard
        5. Web Services Included with WebLogic Commerce
        6. Web Service Examples in WebLogic
      4. Web Service Design Questions
        1. Web Service Types
          1. Synchronous Web Services
          2. Asynchronous Web Services
          3. Synchronous or Asynchronous?
        2. Back-End Provider Components
          1. EJBs
          2. Java Classes
        3. Security
      5. Anatomy of a WebLogic Web Service
        1. The JAX-RPC Model
        2. Serializers and Deserializers
        3. Supported or Built-in Types
        4. SOAP Handlers
        5. Inside a Synchronous (RPC) Web Service
        6. Inside an Asynchronous Web Service
      6. WebLogic Web Service Clients
        1. Web Service Client Models
          1. Static
          2. Dynamic (with WSDL)
          3. More on QNames
          4. Dynamic (Without WSDL)
          5. InOut Parameters
      7. Summary
    2. 30. Developing Web Services for WebLogic Server
      1. Introduction to Web Service Development
      2. Understanding Design Considerations
      3. Introducing the WebLogic Build Tools
        1. The Web Service Home Page
        2. Anatomy of an Assembled Web Service
        3. The Client JAR File
      4. Developing Your Own Web Service
        1. WebLogic Ant Tasks
          1. ServiceGen
          2. Letting ClientGen Generate UDTs for You
        2. Command-Line Utilities
      5. Understanding Web Service Packaging Considerations
      6. Building WebLogic Web Services Manually
        1. The Web Service Deployment Descriptor
          1. A Sample web-services.xml File
      7. Using User-Defined Data Types
        1. Specifying XML Schema for UDTs
        2. Defining Types in web-services.xml
        3. Writing Serializers and Deserializers
        4. Defining Type Mappings in web-services.xml
      8. Writing Back-End Components
        1. Stateless Session EJBs
        2. Java Classes
      9. Using Output Parameters
        1. The Holder Interface
        2. InOut Back-End Component
        3. InOut in WSDL and web-services.xml
        4. Running the InOut Sample
        5. InOut User-Defined Types
      10. Writing Message Handlers
        1. Handlers
          1. The GenericHandler Class
        2. Handler Chains
          1. Flow of Control
          2. Shared Context
        3. Configuring Handlers into web-services.xml
          1. Defining Your Handlers and Handler Chains
          2. Specifying Handler Use
        4. Understanding Exception Handling
        5. Writing Asynchronous Web Services
          1. JMS and Message-Driven Beans Example
          2. The ProcessorMDB Bean
          3. Setting Up JMS Factory and Destinations
          4. Running the Asynchronous Web Service Sample
          5. Examining How the Asynchronous Sample Is Built
          6. Using the Asynchronous Web Service with Multiple Operations
        6. Securing Your Web Services
          1. Using SSL
          2. Restricting Your Web Service to Use HTTPS
          3. Securing Your Web Service URL
          4. Securing Your EJB Back-End Component
          5. ejb-jar.xml
          6. weblogic-ejb-jar.xml
      11. Debugging Your WebLogic Web Services
        1. Checking Out the Web Service Home Page
        2. Examining the Web Service Through the WebLogic Administration Console
        3. Looking at the Generated web-services.xml File
        4. Runtime Diagnostics
        5. WebLogic Log Files
      12. Best Practices
        1. Employing Coarse-Grained Interactions
        2. Promoting Loose Coupling
        3. Deciding What Service Mode Is Important
        4. Avoiding Method Overloading
        5. Knowing That Web Services Are Not Always the Answer
      13. New Features in WLS 7.0 Service Packs
      14. Summary
    3. 31. Discovering Web Services
      1. Introduction
      2. What Is UDDI?
      3. How Does UDDI Work?
      4. The UDDI API at a Glance
        1. UDDI Usage Patterns
        2. A Sample Use Case
        3. The Inquiry API
        4. The Publish API
        5. What a UDDI SOAP Call Looks Like
      5. UDDI Features in WebLogic Server
      6. The WebLogic UDDI Client Proxy
        1. UDDI Data Structures Implementation: weblogic.uddi.client.structures.datatypes
        2. API Request Data Objects: weblogic.uddi.client.structures.request
        3. API Response Data Objects: weblogic.uddi.client.structures.response
        4. The Inquiry Class: weblogic.uddi.client.service.Inquiry
        5. The Publish Class: weblogic.uddi.client.service.Publish
        6. Sample Client Code (Tasks)
          1. Finding a Business
          2. Finding a Service
          3. Creating a New Business
      7. The WebLogic UDDI Directory Explorer
        1. Running UDDI Explorer
        2. Creating Entries in a Private Registry
      8. Summary
    4. 32. Web Services Made Easy—WebLogic Workshop
      1. Overview
      2. The Need for WebLogic Workshop
        1. Simplify J2EE for the Application Developer
        2. Solve Integration Problems with Enterprise-Class Web Services
        3. What Is a Framework?
      3. Why WebLogic Workshop?
      4. WebLogic Workshop Architecture
        1. JWS Files
          1. JWS Syntax
        2. Asynchrony: Conversations, Callbacks, and Buffering
          1. Conversations
          2. Callbacks
            1. Client Callback
            2. Control Handler
          3. Buffering
        3. JWS Controls
        4. XML Maps
          1. How to Map
            1. Simple Mapping
            2. Script Mapping
          2. Mapping from XML to Java
          3. Mapping from Java to XML
          4. ECMAScript
          5. Where to Map
        5. Controls—A Closer Look
          1. Database Control
        6. Web Service Deployment
      5. The Visual Development Environment
        1. Project Tree
          1. Operations
        2. Main Work Area—The Canvas
        3. The Test Harness
          1. Overview Page
          2. Console Page
          3. Test Form Page
          4. Test XML Page
          5. Warnings Page
      6. A Short Tutorial
        1. Preliminaries
        2. Create the creditCheck Web Service
        3. Create the Bankruptcies Database Control
        4. Create the Validate Credit EJB Control
        5. Make Investigate.jws Call These Controls
        6. Test the Service
      7. Summary
  14. VIII. Integration Services Provided by WebLogic Server 7
    1. 33. Introducing WebLogic Integration (WLI)
      1. Introducing Integration
      2. Challenges in Application Integration
      3. Standards in Application Integration
      4. BEA WebLogic Integration: A Platform for Application Integration
      5. BEA WebLogic Integration Functional Areas
        1. Business Process Management
        2. Application Integration
        3. B2B and Data Integration
    2. 34. Business and Workflow Process Management Using WLI
      1. Introduction
      2. Business Process Management (BPM)
        1. Process Types
      3. Stages in Business Process Management
        1. Process Design
        2. Process Execution
        3. Process Monitoring
        4. HelloWorld Workflow: A Workflow Which Triggers on an XML Event
      4. Designing Business Processes
      5. BPM Tools
        1. Studio
        2. Worklist
      6. Programming Using BPM APIs
        1. An Example of Using BPM APIs
      7. BPM Plug-in Framework
      8. Workflow Patterns
        1. Parallel Execution
        2. Choice of Events
        3. Event with Timeout
        4. Cancellation via Event
        5. Execution Timeout
      9. Summary
    3. 35. Understanding J2CA Through the WLI Application Integration Framework
      1. Introduction to Application Integration
      2. What Is J2EE Connector Architecture (J2CA)?
        1. Resource Adapter
          1. Connection Management Contract
          2. Transaction Management Contract
          3. Security Management Contract
        2. Common Client Interface (CCI)
      3. Components of Application Integration
        1. Integration Framework
        2. Adapter Development
      4. Application Views
        1. Defining an Application View
        2. Using Application Views in Workflows
        3. Using Application Views Programmatically
        4. Deploying Application Views
      5. Adapter Development Kit (ADK)
        1. Service Adapters
        2. Event Adapters
        3. ADK Frameworks
          1. Design-Time Framework
          2. Runtime Framework
          3. Logging Framework
          4. Packaging Framework
      6. Summary
    4. 36. Data Integration and B2Bi
      1. Introduction to Integration
      2. Data Integration
        1. Translation
        2. Transformation
        3. Data Integration Support in WebLogic Integration
          1. The Design-Time Component
          2. The Runtime Component
          3. Plug-in to BPM
        4. Data Integration Tools
          1. XML Instance Editor
          2. XML Repository
          3. XPath Wizard
          4. Format Builder
          5. Converting Binary Data to XML Using Format Builder
        5. Contivo Analyst
        6. Data Integration and BPM
        7. Advanced Data Integration Using the Data Integration Plug-in
      3. Business-to-Business Integration (B2Bi)
        1. B2B Integration Support in WLI
        2. B2Bi Configurations
          1. Peer-to-Peer
          2. Hub-and-Spoke
        3. Business Protocols
        4. Conversation
        5. Collaboration Agreement
          1. Using Workflows for B2Bi
          2. ebXML Workflow Example
        6. The B2Bi Plug-in for BPM
        7. Administration Using the B2Bi Console
        8. Business Connect
      4. Summary
  15. IX. Appendixes
    1. A. Platform End-to-End Example
      1. Introduction
        1. Installation
        2. Restrictions
        3. Starting the Server
      2. Use Case One: WebLogic Portal Features
        1. Capturing the Sale
        2. Adding a Web Service–Based Portlet
      3. Use Case Two: WebLogic Workshop Features
        1. Under the Covers of the Order-Tracking Web Service
        2. Using the New Web Service
      4. Use Case Three: WebLogic Integration Features
        1. Under the Covers of the Third Use Case
      5. Summary