Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010050519 | TK5105.8885.B4 M37 2003 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Designed to show experienced developers how to become power developers with BEA WebLogic Covers BEA WebLogic Server version 8.1 and earlier versions A perfect companion to the bestselling book, Mastering Enterprise JavaBeans , Second Edition (0471-41711-4) Companion Web site includes technology updates and links to related sites
Author Notes
Gregory Nyberg is a technical architect, focusing on the development of enterprise J2EE applications using BEA WebLogic Server
Robert Patrick is Senior Director of Technology at BEA Systems, specializing in designing and troubleshooting large-scale systems built with BEA WebLogic Server
Paul Bauerschmidt is a former software engineer in the WebLogic Server Security Team at BEA Systems
Jeff McDaniel is Senior Director of the Technical Solutions Group at BEA Systems
Raja Mukherjee is Director of Systems Engineering at BEA Systems
Table of Contents
Acknowledgments | p. xvii |
Introduction | p. xix |
About the Authors | p. xxiii |
Chapter 1 Building Web Applications in WebLogic | p. 1 |
Java Servlets and JSP Key Concepts | p. 1 |
Characteristics of Servlets | p. 2 |
Characteristics of JavaServer Pages | p. 8 |
Web Application Best Practices | p. 14 |
Ensure Proper Error Handling | p. 14 |
Use jsp:useBean to Reduce Scriptlet Code | p. 17 |
Use Custom Tags for Selected Behaviors | p. 20 |
Cache Page Output to Improve Performance | p. 23 |
Use Servlet Filtering for Common Behaviors | p. 28 |
Using Custom JSP Base Classes | p. 32 |
Using Run-Time Expressions in JSP Directives | p. 32 |
Creating Excel Files Using Servlets and JSP Pages | p. 33 |
Viewing Generated Servlet Code | p. 36 |
Programmatic Authentication in Web Applications | p. 37 |
Chapter Review | p. 38 |
Chapter 2 Choosing a Web Application Architecture | p. 39 |
Architecture Key Concepts | p. 39 |
J2EE Application Tiers | p. 40 |
Model-View-Controller Architecture | p. 40 |
Common J2EE Design Patterns | p. 41 |
Presentation-Tier Architecture Selection | p. 42 |
Presentation-Tier Requirements | p. 42 |
Other Architecture Considerations | p. 55 |
Candidate Presentation-Tier Architectures | p. 56 |
JSP-Centric Architecture | p. 56 |
Servlet-Centric Architecture | p. 58 |
Additional Frameworks | p. 60 |
Chapter Review | p. 61 |
Chapter 3 Designing an Example J2EE Application | p. 63 |
Application Requirements | p. 63 |
Business Domain Models | p. 64 |
Presentation Requirements | p. 65 |
Web Application Architecture | p. 68 |
Presentation Approach | p. 68 |
Self-Assembly | p. 70 |
Master Page Assembly | p. 73 |
Master Page Assembly with Page Display Servlet | p. 75 |
Business-Tier Interfaces | p. 78 |
Displaying Bean Attributes on JSP Pages | p. 79 |
Relationships in Presentation Components | p. 84 |
Action Classes Load Beans and Forms for Display | p. 85 |
Action Classes Perform Bean Updates | p. 87 |
Chapter Review | p. 88 |
Chapter 4 Building an Example Web Application | p. 89 |
Overview of Application Components | p. 90 |
Constructing the Application Skeleton | p. 91 |
Constructing the User Site Components | p. 92 |
Reservation Information Components | p. 92 |
Core Reservation Process Components | p. 97 |
Targeted Offers Components | p. 121 |
Construction of Administration Site Components | p. 125 |
Authorization/Authentication Components | p. 126 |
Property Maintenance Components | p. 131 |
Chapter Review | p. 146 |
Chapter 5 Packaging and Deploying WebLogic Web Applications | p. 147 |
Packaging Web Applications | p. 148 |
Web Application Directory Structure | p. 148 |
Web Application Descriptor Files | p. 151 |
Precompiling JSP Components | p. 160 |
Creating an Exploded Web Application | p. 164 |
Creating a Web Application Archive File | p. 166 |
Deploying Web Applications | p. 167 |
Automatic Deployment | p. 167 |
WebLogic Deployer Utility and Ant Task | p. 170 |
WebLogic Console Deployment | p. 173 |
Creating Required Users and Group for BigRez.com | p. 174 |
Chapter Review | p. 176 |
Chapter 6 Building Enterprise JavaBeans in WebLogic Server | p. 177 |
EJB Technology Overview | p. 177 |
EJB Component Types | p. 178 |
Stateless Session Beans | p. 178 |
Stateful Session Beans | p. 180 |
Entity Beans | p. 181 |
Message-Driven Beans | p. 199 |
WebLogic Server EJB Container | p. 200 |
EJB Container Basics | p. 200 |
EJB Life Cycle in WebLogic Server | p. 201 |
General WebLogic Server EJB Features | p. 203 |
EJB Deployment/Redeployment | p. 203 |
Dynamic EJB Compiling | p. 203 |
Referencing Other EJB Components | p. 204 |
Session Bean Features | p. 207 |
Stateful Session EJB Cache Management | p. 207 |
In-Memory Replication for Stateful Session EJBs | p. 209 |
Entity Bean Features | p. 211 |
Concurrency Strategies | p. 211 |
Caching Strategies | p. 223 |
Tuning Strategies | p. 232 |
Additional CMP Features | p. 246 |
Message-Driven Bean Features | p. 256 |
Chapter Review | p. 257 |
Chapter 7 Building an Example EJB Application | p. 259 |
Business-Tier Requirements | p. 260 |
Business Logic Requirements | p. 260 |
Object-Relational Mapping Requirements | p. 261 |
Data Access Requirements | p. 267 |
Other Business-Tier Requirements | p. 268 |
Review of Business-Tier Requirements | p. 268 |
Business-Tier Architecture Options | p. 269 |
Stateless Services with JDBC | p. 270 |
Stateless Services with Entity Bean Persistence | p. 272 |
Stateless Services, Entity Beans, and Direct Interaction | p. 277 |
Chosen Architecture for bigrez.com | p. 280 |
EJB Construction Options | p. 281 |
Manual Construction and Configuration | p. 282 |
Using WebLogic Builder Utility | p. 283 |
Using the WebLogic EJBGen Utility | p. 284 |
Construction of Business-Tier Components | p. 288 |
Construction of Entity Beans | p. 288 |
Construction of Session Beans | p. 293 |
Construction of Message-Driven Beans | p. 294 |
Chapter Review | p. 295 |
Chapter 8 Packaging and Deploying WebLogic EJB Applications | p. 297 |
Creating an EJB Archive File | p. 298 |
Creating EJB Source Code and Descriptor Files | p. 300 |
Compiling EJB Components | p. 302 |
Executing the EJB Compiler | p. 302 |
Packaging Enterprise Applications | p. 306 |
Enterprise Application Directory Structure | p. 309 |
Enterprise Application Descriptor Files | p. 312 |
Packaging Utility Archives in Enterprise Applications | p. 316 |
Creating an Exploded Enterprise Application | p. 318 |
Creating an Enterprise Application Archive File | p. 320 |
Deploying EJB Applications | p. 322 |
Creating Required Services | p. 322 |
Automatic Deployment | p. 324 |
WebLogic Console Deployment | p. 325 |
Chapter Review | p. 327 |
Chapter 9 Using WebLogic JMS | p. 329 |
JMS Key Concepts | p. 330 |
Understanding the Messaging Models | p. 330 |
Reviewing the JMS 1.0.2b API | p. 331 |
Upcoming JMS 1.1 Changes | p. 336 |
The WebLogic JMS Provider | p. 338 |
Understanding WebLogic JMS Servers | p. 338 |
Clustering WebLogic JMS | p. 338 |
Configuring WebLogic JMS | p. 347 |
WebLogic JMS Application Design | p. 361 |
Choosing a Destination Type | p. 362 |
Locating Destinations | p. 362 |
Choosing the Appropriate Message Type | p. 363 |
Compressing Large Messages | p. 365 |
Selecting a Message Acknowledgment Strategy | p. 365 |
Designing Message Selectors | p. 367 |
Choosing a Message Expiration Strategy | p. 369 |
Handling Poison Messages | p. 372 |
Handling Message Ordering Issues | p. 376 |
Using Transactions | p. 376 |
Using Multicast Sessions | p. 378 |
Handling Request/Reply Style Message Exchange | p. 379 |
WebLogic JMS Programming | p. 382 |
Using WebLogic JMS with Servlets and EJBs | p. 382 |
Consuming Asynchronous Messages on the Server | p. 384 |
External JMS Providers | p. 389 |
Understanding the Messaging Bridge | p. 390 |
Using Message-Driven Beans | p. 390 |
Mapping External JMS Objects to WebLogic JNDI | p. 391 |
Choosing an Integration Strategy | p. 391 |
Chapter Review | p. 393 |
Chapter 10 Using WebLogic Security | p. 395 |
WebLogic Security Overview | p. 396 |
WebLogic Security Framework | p. 398 |
Embedded LDAP Server | p. 398 |
Default Security Providers | p. 400 |
Using Compatibility Mode with the RealmAdapter | p. 410 |
Using External Security Stores | p. 410 |
Managing External LDAP Authentication | p. 410 |
Setting Up UNIX-Based Authentication | p. 413 |
Setting Up Windows Domain Authentication | p. 414 |
Custom Authentication Providers | p. 415 |
Setting Up SSL/TLS | p. 416 |
Reviewing SSL Technology | p. 416 |
Obtaining X.509 Certificates | p. 418 |
Configuring One-Way SSL | p. 420 |
Configuring Two-Way SSL | p. 421 |
Debugging SSL Problems | p. 425 |
Writing Security-Aware Java Clients | p. 425 |
Writing Java Clients That Use JAAS | p. 426 |
Writing Java Clients That Use SSL | p. 429 |
Managing Application Security | p. 434 |
Setting Up J2EE Application Security | p. 434 |
Setting Up WebLogic Application Security | p. 443 |
Booting WebLogic Server | p. 448 |
Chapter Review | p. 449 |
Chapter 11 Administering and Deploying Applications in WebLogic Server | p. 451 |
WebLogic Architecture Key Concepts | p. 451 |
Domain Architecture | p. 452 |
WebLogic Server Architecture | p. 453 |
WebLogic Server Clustering Architecture | p. 461 |
Admin Server | p. 469 |
Node Manager | p. 471 |
WebLogic Administration Key Concepts | p. 472 |
Server States | p. 472 |
Server Self-Health Monitoring | p. 474 |
Network Channels | p. 474 |
Configuring a WebLogic Server Domain | p. 475 |
Setting Up a New Domain | p. 478 |
Configuring Servers | p. 483 |
Configuring the Cluster | p. 486 |
Configuring Network Channels | p. 487 |
Setting Up the Node Manager | p. 489 |
Operating System Configuration | p. 493 |
Java Virtual Machine Configuration | p. 494 |
Web Server Plug-in Configuration | p. 494 |
Configuring Applications for WebLogic Server | p. 499 |
Monitoring WebLogic Server Applications | p. 519 |
Using the Command-Line Administration Tool | p. 519 |
Monitoring with the WebLogic Console | p. 521 |
Programmatic Monitoring with JMX | p. 525 |
Monitoring via SNMP | p. 529 |
Managing WebLogic Server Applications | p. 533 |
Troubleshooting Application Issues | p. 534 |
Versioning Applications | p. 536 |
Managing Failure Conditions | p. 536 |
Chapter Review | p. 540 |
Chapter 12 Optimizing WebLogic Server Performance | p. 541 |
Overview of System Performance | p. 542 |
Reviewing the Core Principles | p. 542 |
Tuning a WebLogic Server-Based Application | p. 544 |
Performance Best Practices | p. 567 |
Designing for Performance | p. 567 |
Understanding Web Container Best Practices | p. 569 |
Understanding EJB Container Best Practices | p. 572 |
Applying Database Access Best Practices | p. 578 |
Troubleshooting Performance Problems | p. 584 |
Preparing for Troubleshooting | p. 584 |
Bottleneck Identification and Correction | p. 584 |
Problem Resolution | p. 587 |
Common Application Server Performance Problems | p. 588 |
Java Stack Traces | p. 591 |
Chapter Review | p. 596 |
Chapter 13 Development Environment Best Practices | p. 597 |
Defining Required Hardware and Software | p. 598 |
Installing WebLogic Server Software | p. 601 |
Configuring the Working Directory | p. 602 |
Managing Configuration Information | p. 604 |
Controlling the config.xml Configuration File | p. 604 |
Using MBean and WLShell Scripts | p. 605 |
Template Building/Replay Wizards | p. 609 |
Establishing a Build Process | p. 610 |
Choosing Development Tools | p. 612 |
Powerful Java-Aware Editing | p. 612 |
GUI Interface and Environment | p. 613 |
Integration with Source-Code Management System | p. 614 |
Project and Build Processing Features | p. 614 |
Debugging Features | p. 615 |
Integration with Unit-Testing Packages | p. 618 |
Application-Server Deployment Features | p. 619 |
Object Modeling Support | p. 619 |
Web Services Support | p. 620 |
Creating a Unit-Testing Infrastructure | p. 620 |
The Importance of Unit Testing | p. 621 |
JUnit Testing Framework | p. 621 |
Testing Web Components with HTTPUnit | p. 629 |
Chapter Review | p. 632 |
Chapter 14 Production Environment Best Practices | p. 633 |
Deployment Strategies | p. 634 |
Evaluating Deployment Strategies | p. 634 |
Server Deployment Strategies | p. 636 |
Single-Site Deployment Strategies | p. 638 |
Multiple Site Deployment Strategies | p. 643 |
Designing Multiple-Site WebLogic Clusters | p. 644 |
Implementing Clusters That Span Multiple Sites | p. 646 |
Implementing One Cluster per Site | p. 648 |
Global and Local Traffic Management | p. 650 |
Using Load Balancers | p. 650 |
Using Local Load Balancers with WebLogic Server | p. 652 |
Using Global Load Balancers with WebLogic Server | p. 653 |
Production Security Strategies | p. 654 |
Understanding Application Data Flow | p. 654 |
Understanding Firewall Layouts | p. 655 |
Using a Connection Filter | p. 656 |
Locking Down Web Applications | p. 658 |
Examining Other Security Considerations | p. 660 |
Using SSL Hardware Acceleration | p. 663 |
Chapter Review | p. 663 |
Chapter 15 Developing and Deploying Web Services | p. 665 |
Reviewing the Underlying Technology | p. 665 |
SOAP | p. 666 |
WSDL | p. 666 |
UDDI | p. 667 |
JAX-RPC | p. 668 |
SAAJ | p. 668 |
Creating Web Services with WebLogic Server | p. 669 |
WebLogic Server's Web Services Architecture | p. 669 |
Developing Web Services with WebLogic Server | p. 670 |
Creating a Web Service Starting with Java | p. 675 |
Creating a Web Service Starting with WSDL | p. 683 |
Creating Web Service Clients with WebLogic Server | p. 686 |
Moving Past the Basics | p. 694 |
Using Document-Style Messaging | p. 694 |
Customizing a Web Service Home Page | p. 695 |
Publishing Static WSDL | p. 696 |
Using Web Service Sessions | p. 696 |
Using Custom Serializers | p. 697 |
Using SOAP Handlers | p. 702 |
Using SOAP Attachments | p. 705 |
Using JMS as the Transport | p. 708 |
Using Web Services Security | p. 710 |
Adding Web Services to bigrez.com | p. 716 |
Chapter Review | p. 722 |
Index | p. 723 |