You are previewing BEA WebLogic Server™ 8.1 Unleashed.
O'Reilly logo
BEA WebLogic Server™ 8.1 Unleashed

Book Description

BEA WebLogic Server Unleashed is the definitive reference work for the WebLogic developer, offering an in-depth look at the capabilities provided by WebLogic Server and illustrating the best development practices. The book covers WebLogic's role in every aspect of a J2EE application: from working with Servlets, JavaServer Pages and Enterprise JavaBeans, to managing distributed systems including transactions with JTA, directory services with JNDI, messaging with JMS, and more. The authors pay special attention to testing, optimizing and debugging within WebLogic, to implementing security features, and to administering WebLogic applications.

Table of Contents

  1. Copyright
  2. Foreword
  3. About Gamma Enterprise Technologies
  4. About the Authors
  5. We Want to Hear from You!
  6. Introduction
  7. Getting Started with WebLogic Server
    1. Introduction to WebLogic Server
      1. The Need for WebLogic Server
      2. Brief Overview of WebLogic Server
      3. How WebLogic Server Fits in an Organization
      4. BEA's Product Line
      5. What's New with WebLogic Server 8.1
      6. Summary
    2. Installing WebLogic Server
      1. Windows Install
      2. Unix Install
      3. Installing WebLogic Platform License
      4. Updating WebLogic 8 License
      5. Encryption Licensing
      6. Installing WebLogic 8 Service Packs
      7. Starting and Stopping WebLogic Server 8
      8. Creating Your Own Startup Scripts
      9. Troubleshooting
      10. Summary
    3. Skillset Required for WebLogic Application Development
      1. Software and Hardware Administration
      2. Java Skills
      3. Visual Presentation Skills
      4. Database Skills
      5. Connectivity to Legacy Systems
      6. Testing and Quality Assurance
      7. Customer Support Specialists
      8. Software Development Phases
      9. Summary
    4. Hardware and Configuration Required for WebLogic Application Development
      1. Running WebLogic Server 8.1 in a Development Environment
      2. Other Helpful Software
      3. Packaging and Deploying Software
      4. Team Development
      5. Summary
    5. Enterprise Application Design with WebLogic Server
      1. Understanding N-Tier Applications
      2. J2EE Platform
      3. Modeling Technique—UML
      4. Design Strategy—Model View Controller Pattern
      5. Development Methodologies
      6. Summary
  8. WebLogic Server Web Applications
    1. Introduction to WebLogic Web Applications
      1. Web Applications Defined
      2. Web Applications and Request-Response Model
      3. Creating a Web Application
      4. Summary
    2. Deploying Web Applications
      1. Application Packaging and Predeployment
      2. Methods of Deploying Applications
      3. Deployment Issues with WebLogic Server
      4. Deployment Best Practices
      5. Summary
  9. Using J2EE Technologies in WebLogic Applications
    1. Naming and Directory Services with JNDI
      1. Naming Services
      2. Java Naming and Directory Interface
      3. JNDI and WebLogic Server
      4. JNDI Best Practices
      5. Summary
    2. Processing Transactions with the Java Transaction API
      1. Transactions Overview
      2. Transaction Isolation Level
      3. How Transactions Are Performed by WebLogic Server
      4. Transaction Scope
      5. The Java Transaction API and WebLogic
      6. Other JTA Interfaces
      7. WebLogic Extensions to the JTA
      8. Configuring Container-Managed Enterprise Components
      9. JTA Properties in the Administration Console
      10. Global Auctions Use of JTA
      11. Best Practice for Choosing Transaction Attributes
      12. Summary
    3. Managing Database Connectivity Using JDBC
      1. JDBC Architecture
      2. PointBase Database Server
      3. Basic JDBC Features
      4. Advanced JDBC Features
      5. WebLogic JDBC—Monitoring and Tuning
      6. JDBC—Best Practices
      7. JDBC and the Global Auctions Management System
      8. Summary
    4. Creating Distributed Applications with RMI
      1. Introduction to RMI
      2. When to Use RMI
      3. RMI Compiler
      4. Writing RMI Code
      5. Performance Issues
      6. WebLogic RMI Registry
      7. WebLogic RMI API
      8. WebLogic RMI Best Practices
      9. Summary
    5. Enterprise Messaging with JMS
      1. Brief Introduction to Enterprise Messaging
      2. Brief Introduction to JMS
      3. JMS Core Architecture
      4. JMS Point-to-Point Queue Model
      5. JMS Publish-Subscribe Model
      6. JMS Unified Messaging Domain Model
      7. Advanced WebLogic JMS Configuration
      8. Best Practices for Enterprise Messaging
      9. Summary
    6. Handling Mail Services with JavaMail
      1. Email Protocols
      2. Extending the Capability to Your JavaMail API
      3. JavaBeans Activation Framework
      4. Core Classes of the JavaMail API
      5. JavaMail and WebLogic Server
      6. Creating Email Components
      7. JavaMail and the Global Auctions Application
      8. Summary
  10. Using Web Technologies in WebLogic Applications
    1. Writing WebLogic Server Servlets
      1. Servlet 2.3 Specification
      2. Servlets and Alternatives
      3. Servlet Life Cycle
      4. Writing Simple Servlets
      5. When to Use Servlets
      6. Servlet API
      7. Servlet Thread Models
      8. Using the Servlet API
      9. Dispatching to Other Resources
      10. Advanced Servlet Programming
      11. Best Practices for Implementing Servlets
      12. Summary
    2. Writing WebLogic Server JavaServer Pages
      1. Introduction to JSP
      2. How WebLogic Server Works with Servlets
      3. When to Use JSPs
      4. JSP Syntax
      5. JSP Implicit Objects
      6. Sample JSP Page
      7. Configuring and Deploying WebLogic JSP
      8. JSP Best Practices
      9. Summary
    3. JavaBeans and Model-View-Controller (MVC) Architecture
      1. MVC Architecture
      2. Introduction to JavaBeans
      3. How to Incorporate JavaBeans into Servlet-JSP Workflow
      4. MVC Best Practices
      5. Summary
    4. Using JSP Tag Libraries
      1. Use of JSP Tag Libraries
      2. JSP Tag Library Syntax
      3. Tag Libraries Shipped with WebLogic Server
      4. WebLogic Server EJB to JSP Integration Tool
      5. Using Tag Libraries—Best Practices
      6. Additional Resource for JSP Tag Libraries
      7. Summary
    5. Creating JSP Tag Libraries
      1. When Should JSP Tag Libraries Be Created?
      2. Overview of the Steps Required to Build JSP Tags
      3. Tag Handler Life Cycle
      4. Commonly Used JSP Tag Classes and Interfaces
      5. Creating a Simple Tag
      6. Creating a Tag with a Body
      7. Using Custom Tags to Define Scripting Variables
      8. Creating Tag Libraries Best Practices
      9. Summary
    6. Working with Struts
      1. Installing Struts
      2. Introduction to Struts Architecture
      3. Configuring Struts
      4. struts-config.xml File
      5. Back End Programming Using the Struts Framework
      6. Front-End Programming Using the Struts Framework
      7. Struts Sample Application
      8. Summary
  11. Using Enterprise JavaBeans in WebLogic Applications
    1. Enterprise JavaBeans and WebLogic Server
      1. EJB Architecture—Overview
      2. EJB Container
      3. EJB Implementation
      4. EJB Deployment Descriptors
      5. EJB Deployment
      6. Other EJB Features
      7. Summary
    2. Working with Session Beans
      1. Composition of a Session Bean
      2. Case Study: XYZ Airlines Online Reservation System
      3. Working with Stateless Session Beans
      4. Working with Stateful Session Beans
      5. Session Beans and WebLogic Server Clustering
      6. Transactions and Session Beans
      7. Best Practices
      8. Summary
    3. Working with Entity Beans
      1. What Are Entity Beans?
      2. What Do Entity Beans Provide?
      3. Entity Bean Life Cycle
      4. Entity Bean Classes and Interfaces
      5. Creating BMP Entity Beans
      6. Creating CMP Entity Beans
      7. Relationship Caching in EJBs
      8. Caching in Entity Beans
      9. WebLogic Query Language
      10. Advanced Entity Bean Features
      11. Tools for Working with EJBs in WebLogic Server 8.1
      12. EJB Features Deprecated in WebLogic 8.1
      13. Entity Bean Best Practices
      14. Summary
    4. Working with Message-Driven Beans
      1. When to Use Message-Driven Beans
      2. How to Create Message-Driven Beans
      3. Sample Message-Driven Bean
      4. Message-Driven Beans Best Practices
      5. Summary
  12. Working with WebLogic Server Applications
    1. Testing and Debugging Applications
      1. An Introduction to Software Testing
      2. Finding Problems Early: Unit Testing
      3. Gathering Information with Logging APIs
      4. Debugging WebLogic with an Integrated Debugger
      5. Best Practices
      6. Summary
    2. Optimizing WebLogic Server Applications
      1. Defining Different Types of Performance Tests
      2. Preparing for Performance and Load Testing
      3. How to Performance Test
      4. Areas to Tune
      5. WebLogic Server Tuning
      6. Database and SQL Tuning
      7. A Performance Testing and Tuning Example
      8. Best Practices
      9. Summary
  13. WebLogic Server Security
    1. Web Applications and Security
      1. Overview of Security Issues for Web Applications
      2. Trends That Are Affecting Security
      3. Areas of Vulnerability
      4. Attacks
      5. Technologies to Address Security Risks
      6. Best Practices to Address Security Risks
      7. Summary
    2. How WebLogic Server Implements Security
      1. The J2SE Security Model
      2. J2EE Security Model
      3. How Security Works in WebLogic Server
      4. Migration from WebLogic Server 6.x
      5. Summary
    3. Securing WebLogic Server and WebLogic Server Applications
      1. Protecting WebLogic Server Applications
      2. Securing Java Clients
      3. Introduction to JAAS
      4. Creating a Custom Security Provider
      5. Using Secure Sockets Layer
      6. Establishing Trust Between Domains
      7. Securing Best Practices
      8. Summary
  14. WebLogic Server Enterprise Application Integration
    1. WebLogic Server and XML Technologies
      1. Introduction to XML
      2. Defining an XML Document
      3. XML Parsers
      4. WebLogic Server XML Streaming API
      5. Other Useful XML Features
      6. Extensible Stylesheet Language
      7. Best Practices for Working with XML
      8. Summary
    2. WebLogic Server and Web Services
      1. What Are Web Services?
      2. What Are Web Services Used For?
      3. Support for Web Services in WebLogic
      4. Web Service Technologies
      5. WebLogic Server Web Services Architecture
      6. Tools for Creating Web Services in WebLogic
      7. Creating Web Services with Java Code
      8. Creating a Web Service with a Stateless Session Bean Back End
      9. Working with SOAP Message Handlers
      10. Securing Web Services
      11. Working with the UDDI Directory Explorer
      12. Creating Web Services with WebLogic Workshop
      13. Web Services Best Practices
      14. Summary
    3. Legacy Integration with the J2EE Architecture
      1. The J2EE Connector Architecture and the J2EE Platform
      2. WebLogic's Java Connector Architecture Defined
      3. J2EE Connector Architecture and the Enterprise
      4. Working with Java Connector Architecture Components
      5. Security Concerns
      6. Transaction Management
      7. Configuring WebLogic J2EE-CA
      8. Writing Resource Adapters
      9. Packaging and Deployment Issues
      10. J2EE Connector Architecture Example
      11. Summary
    4. Using SAP's Java Connector with WebLogic Server
      1. What Is JCo?
      2. Installing JCo
      3. SAP System Setup
      4. Client Programming in JCo
      5. Calling an SAP Function
      6. Exception Handling in JCo
      7. Server Programming in JCo
      8. Useful BAPIs and RFCs
      9. Summary
    5. WebLogic Server's jCOM Java/COM Bridge
      1. Understanding jCOM
      2. How jCOM Works
      3. Determining Whether jCOM Is a Good Fit for Your Application
      4. Deciding on the Right jCOM Environment Setup
      5. Zero Client Installs
      6. Choosing Among DCOM, Native In Process, and Native Out of Process Modes
      7. Early and Late Binding Models
      8. Securing Your Java Objects Against Unauthorized Access
      9. Working with jCOM Tools
      10. The Bank Account Example—Java Client Accessing a COM Component
      11. The Inventory Item Example—COM Client Accessing an EJB
      12. Event Handling
      13. Dealing with the Data Types
      14. Summary
    6. CORBA and Tuxedo Integration
      1. WebLogic Tuxedo Connector
      2. RMI over IIOP
      3. Summary
  15. Administering WebLogic Applications
    1. Managing Applications with the Administration Console
      1. WebLogic Server Administration
      2. Connecting to the Administration Console
      3. Overview of the Administration Console User Interface
      4. Configuring the Console
      5. Configuring the Application Server Domain
      6. Managing Network Resources
      7. Deploying Applications and Modules
      8. Configuring WebLogic and J2EE Services
      9. Administering Security Realms
      10. Configuring Domain Log Filters
      11. Monitoring Administrative Tasks
      12. Summary
    2. Installing, Configuring, and Deploying WebLogic Server Clusters
      1. Introduction to WebLogic Server Clustering
      2. Creating and Configuring the Physical Cluster Environment
      3. Clustering Applications and Components
      4. Failover Support for Clustered Services
      5. Cluster Best Practices
      6. Summary
    3. Configuring Management Applications with JMX Services
      1. What Is JMX and Why Would You Want It?
      2. A Basic MBean Example
      3. How WebLogic Uses JMX
      4. JMX Notification Model and Monitors
      5. Summary
    4. Administration via the Command-Line Interface
      1. Administration Commands
      2. Command Examples and Scripts
      3. Using the Command Interface Commands to Build Scripts
      4. Using Ant with the Command-Line Interface
      5. Best Practices for Command-Line Interface Administration
      6. Summary
  16. Appendices
    1. Quick Reference for Creating New Domains for WebLogic Development
      1. Creating a New WebLogic Server Domain
      2. Deploying an HTML Page
      3. Deploying a JSP
      4. Deploying a Servlet
    2. Migration from Previous Versions
      1. Migration from Versions 6.0/6.1/7.0 to 8.1
      2. Migration from Versions 4.5/5.1 to 8.1
      3. Installation Recommendations for All Migrations
      4. Application Recommendations for All Migrations
    3. Using WebLogic Workshop 8.1 with WebLogic Server
      1. Workshop 8.1—More Than an IDE
      2. Workshop 8.1—More Than a Web Services Tool
      3. What Can You Do with Workshop 8.1?
      4. Development Using Workshop
      5. Debugging and Testing Using Workshop
      6. Compatibility of Workshop 8.1 with Workshop 7.0
      7. Service-Oriented Development in Workshop
  17. Index