Contents 1 Overview Objectives 1-2 Agenda 1-3 Target Audience 1-4 Course Objectives 1-5 Course Agenda 1-7 Classroom Guidelines 1-9 Course Environment 1-10 Summary 1-11 Practice 1-1 Overview: Obtaining a Grid VM Instance and Accessing Information 1-12 Practice 1-2 Overview: Connecting to Your Allocated Grid VM Instance 1-13 2 Introduction to WLS Management Services Objectives 2-2 Agenda 2-3 What Is JMX? 2-4 MBeans 2-5 MBean Server 2-6 The Administration Server MBean Servers 2-7 The Managed Server MBean Server 2-9 Management Services 2-11 Management-Aware Applications 2-12 Section Summary 2-13 Agenda 2-14 JMX Layers 2-15 Instrumentation Layer 2-16 Agent Layer 2-17 Distributed Services Layer 2-18 JMX Layers 2-19 Management Interfaces 2-20 MBeanServerConnection Interface 2-21 Introspection 2-22 Introspection and Indirection 2-23 JMX Notification and Monitoring 2-24 iii
JMX Notification Configuration 2-25 Polling with Monitor MBeans 2-26 Creating a Monitor MBean 2-27 Section Summary 2-28 Practice 2-1 Overview: JMX Architecture and MBean Hierarchy 2-29 Summary 2-30 3 WebLogic Server and JMX Objectives 3-2 Agenda 3-3 WLS Runtime MBean Lifecycle 3-4 WLS Configuration MBean Lifecycle 3-5 MBean Structure 3-7 MBean Structure Example 3-8 Section Summary 3-10 Agenda 3-11 WebLogic Server Administration Console 3-12 Identifying MBeans Using the Administration Console 3-13 WLS Administration Console and MBean Hierarchies 3-15 Identifying Child MBeans Using the Administration Console 3-16 What Is WLST? 3-18 Simplified Command-Line Access 3-20 Online and Offline Modes 3-21 WLST Navigation 3-22 WLST Navigation Example 3-23 MBean Editing Interface 3-24 WLST Versus the Administration Console 3-26 Accessing MBean Attributes 3-27 MBean Management Using WLST 3-29 Creating a Resource Using WLST 3-31 Deleting a Resource Using WLST 3-32 WLNav 3-33 Deployment 3-34 WLNav Functionality 3-35 Viewing MBeans Using WLNav 3-36 Creating an MBean Instance in WLNav 3-38 Deleting an MBean Instance in WLNav 3-41 WLST and Ant 3-42 Example 1: Calling a WLST Script Using Ant 3-44 Example 2: Calling a WLST Script Using Ant 3-45 Section Summary 3-46 iv
Practice 3-1 Overview: Navigating the MBean Hierarchies 3-47 Practice 3-2 Overview: Exploring and Comparing JMX Tools 3-48 Summary 3-49 4 WLST Scripting Objectives 4-2 Agenda 4-3 WebLogic Scripting Tool (WLST) 4-4 Starting WLST 4-5 Built on Jython 4-6 Some WLST Commands 4-8 Secure Access 4-10 Section Summary 4-11 Agenda 4-12 Modes of Operation: Interactive 4-13 Modes of Operation: Scripted 4-14 Modes of Operation: Embedded 4-15 Section Summary 4-16 Agenda 4-17 Jython Highlights 4-18 A Jython Example 4-19 Jython Basics: Indentation and Definitions 4-20 Booleans, Loops, and Conditional Logic 4-21 Jython Basics: An Example 4-22 Jython Basics: Variables 4-23 File I/O Syntax 4-24 Jython Imports 4-25 Import Example 4-26 Imports and Environment Variables 4-27 Import Java Classes 4-28 Java Class Import Example 4-29 Namespace Clashes 4-31 Java, Jython, JMX, and WLST Combined 4-32 Jython: Additional Tips and Tricks 4-33 Section Summary 4-34 Practice 4-1 Overview: Using Jython, Java, and WLST 4-35 Agenda 4-36 Generating Jython Scripts 4-37 Administration Console WLST Recorder 4-38 Manual Recorder Control 4-39 Automatic Recorder Control 4-40 v
WLST Recorder Preferences 4-41 Generated Script Example 4-43 configtoscript Command 4-44 Other Commonly Used MBeans 4-45 Section Summary 4-46 Practice 4-2 Overview: WLST Scripting 4-47 Summary 4-48 5 Oracle-Supplied WLST Solutions Objectives 5-2 Agenda 5-3 Ed.Lab Example Scripts 5-4 Best Practices 5-6 Section Summary 5-8 Agenda 5-9 Scripts Provided with WebLogic Server 5-10 Sample Online Scripts 5-11 Sample Offline Scripts 5-13 Section Summary 5-14 Agenda 5-15 WLST Documentation Listings 5-16 Navigating and Editing MBeans 5-17 Automating WebLogic Server Administration Tasks 5-18 Section Summary 5-21 Agenda 5-22 Project Background 5-23 Demonstrated Techniques 5-24 Section Summary 5-26 Practice 5-1 Overview: Creating and Monitoring a Domain Using Scripts 5-27 Practice 5-2 Overview: Changing Configuration Using Scripts 5-28 Summary 5-29 6 Tailoring Scripts Objectives 6-2 Agenda 6-3 Domain Creation 6-4 Cluster Creation 6-6 Security 6-11 Security ReaderMBean Methods 6-12 Access Security ReaderMBeans 6-13 Invoke Security ReaderMBean Methods 6-14 vi
Add New Users 6-16 Create Users From An Input File 6-17 Practice 6-1 Overview (Optional): Student Project 6-19 Summary 6-20 7 Understanding JMS Administration Objectives 7-2 Agenda 7-3 JMS Architecture 7-4 Messaging Models 7-5 PTP Messaging Model 7-6 Pub/Sub Messaging Model 7-7 WebLogic Server Implementation of JMS 7-8 WebLogic Server JMS Architecture 7-9 Section Summary 7-10 Agenda 7-11 Administering JMS 7-12 Administration Console 7-13 Common WLST Commands to Administer JMS 7-14 Section Summary 7-16 Agenda 7-17 JMS Message Management 7-18 WebLogic JMS Message Management Features 7-19 Viewing Messages 7-20 Creating Messages 7-22 Forwarding Messages 7-23 Importing/Exporting Messages 7-25 Importing Messages 7-26 Exporting Messages 7-27 Pausing and Resuming Operations 7-29 Production Pause and Resume 7-30 Section Summary 7-32 Practice 7-1 Overview: Administering JMS System Resources 7-33 Agenda 7-34 Redelivering Messages 7-35 Handling Redelivered Messages 7-36 Handling Poison Messages 7-37 Handling Duplicate Messages 7-39 Handling Expired Messages 7-40 Configure Expiration Policy on JMS Templates 7-41 Expired Message Scanning 7-42 vii
Section Summary 7-43 Agenda 7-44 Introduction to Distributed Destinations 7-45 Types of Distributed Destinations 7-47 Distributed Destination Load Balancing 7-48 Section Summary 7-49 Practice 7-2 Overview: Enabling Active Message Expiration 7-50 Summary 7-51 8 Store and Forward Objectives 8-2 Agenda 8-3 Introduction to SAF 8-4 Uses of SAF 8-5 Advantages and Disadvantages of SAF 8-6 Components of SAF 8-7 Messaging Flow in SAF 8-8 Section Summary 8-9 Agenda 8-10 Creating a SAF Agent 8-11 Set Advanced Options 8-13 Thresholds and Quotas 8-14 Create a Remote SAF Context 8-15 Create a SAF Error Handling Resource 8-17 Create Imported SAF Destinations 8-19 Create SAF Queue/Topic in Imported SAF Destinations 8-21 Section Summary 8-24 Agenda 8-25 Configure SAF Between Two WebLogic Server Instances in a Cluster 8-26 Configure SAF Between WebLogic Server Instances in a Cluster 8-27 Configure SAF Across Two Clusters in a Domain 8-28 Configure SAF Across Different Domains 8-30 Section Summary 8-32 Practice 8-1 Overview: Configuring Store and Forward 8-33 Agenda 8-34 Monitoring SAF Agents 8-35 Monitor SAF Agent s Remote Endpoints 8-37 Manage SAF Agents 8-38 Pause and Resume SAF Agents 8-39 Pause and Resume Remote Endpoints 8-40 Section Summary 8-41 viii
Agenda 8-42 Debugging Store-and-Forward 8-43 SAF Debugging Scopes 8-44 Enabling SAF Debugging Through the Administration Console 8-46 Overview of SAF Message Life Cycle Logging for JMS Messages 8-47 SAF Message Life Cycle Events 8-48 SAF Message Life Cycle Log Files 8-49 Enable SAF Message Life Cycle Logging for JMS Messages 8-51 Section Summary 8-52 Practice 8-2 Overview:Monitoring SAF Agents 8-53 Summary 8-54 9 Unit-of-Order and Path Service Objectives 9-2 Agenda 9-3 JMS Specification Ordered Message Delivery 9-4 Message Acknowledgement 9-6 WebLogic Server Unit-of-Order 9-7 Message Delivery with Unit-of-Order 9-8 JMS Specification and Unit-of-Order 9-9 Unit-of-Order Use Case 9-10 Message Processing Without Unit-of-Order 9-12 Message Processing with Unit-of-Order 9-13 Setting Unit-of-Order Administratively 9-14 Set Connection Factory Properties 9-15 Setting Unit-of-Order Programmatically 9-16 Section Summary 9-17 Agenda 9-18 Unit-of-Order Routing Methods 9-19 Path Service with Unit-of-Order 9-20 Create a Persistent Store 9-21 Configure Path Service 9-22 Section Summary 9-23 Agenda 9-24 Unit-of-Order Beyond a Single Server 9-25 Use Unit-of-Order with Distributed Destinations 9-26 Unit-of-Order with SAF 9-27 Unit-of-Order with a Messaging Bridge 9-28 Section Summary 9-29 Practice 9-1 Overview: Configuring Unit-of-Order 9-30 Summary 9-31 ix
10 Messaging Bridges Objectives 10-2 Agenda 10-3 Introduction to Messaging Bridge 10-4 Difference Between Messaging Bridge and SAF 10-5 When to Use a Messaging Bridge 10-6 Components of a Messaging Bridge 10-7 Section Summary 10-8 Agenda 10-9 Components of a Messaging Bridge 10-10 Source and Target JMS Bridge Destinations 10-11 Creating and Configuring Source and Target JMS Bridge Destinations 10-12 Messaging Bridge Instance 10-14 Creating Messaging Bridge Instance 10-15 Enabling XA in Connection Factories for Messaging Bridges 10-16 Configuring a Messaging Bridge Instance 10-17 Preserving Message Properties in Messaging Bridge Instances 10-19 Configuring Connection Retry for Messaging Bridge Instance 10-20 Configuring Transaction Properties for a Messaging Bridge Instance 10-21 Resource Adapters 10-22 Resource Adapter Functions 10-25 Configuring Resource Adapters 10-26 Modifying Resource Adapters 10-29 Section Summary 10-31 Agenda 10-32 Configuring a Messaging Bridge Using Messaging Bridge Components 10-33 Case Study for Configuring a Messaging Bridge Across Clusters in the Same Domain 10-34 Case Study for Configuring a Messaging Bridge Across Domains 10-36 Section Summary 10-37 Practice 10-1 Overview: Setting Up a Messaging Bridge Between Two Instances of WebLogic Server 10-38 Agenda 10-39 Introduction to Third-Party Messaging Tools 10-40 Configuring a Messaging Bridge Between WebLogic Server and JBoss 10-41 Configuring a Messaging Bridge Between WebLogic Server and MQSeries 10-43 Section Summary 10-45 Agenda 10-46 Tuning WebLogic Server Messaging Bridges 10-47 Changing Transaction Batch Size and Interval 10-48 x
Changing Quality-of-Service (QoS) 10-49 Using Multiple Messaging Bridge Instances 10-50 Changing the Thread Pool Size 10-51 Avoiding Durable Subscription 10-52 Collocating Bridges with Their Source or Target Destination 10-53 Changing the Asynchronous Mode Enabled Attribute 10-54 Section Summary 10-55 Practice 10-2 Overview: Setting Up a Messaging Bridge Between WebLogic Server and JBoss 10-56 Summary 10-57 11 Introducing WebLogic Security Objectives 11-2 Agenda 11-3 Introduction to WebLogic Server Security 11-4 Features of WebLogic Server 11-5 Section Summary 11-6 Agenda 11-7 Authentication 11-8 Authorization 11-10 Auditing 11-11 Identity and Trust 11-12 Secure Sockets Layer (SSL) 11-13 Java EE and WebLogic Security 11-14 Section Summary 11-15 Agenda 11-16 Introduction to SSO 11-17 SSO Architecture 11-18 SSO Features 11-20 SSO: Advantages and Disadvantages 11-21 SSO Through BEA AquaLogic Enterprise Security 11-23 SSO by Integrating WebLogic Security with SiteMinder 11-25 SSO by Integrating WebLogic Security with GetAccess 11-26 Section Summary 11-27 Agenda 11-28 Introduction to SAML 11-29 SAML Key Concepts 11-30 SAML Sequence 11-32 SAML Structure 11-33 Web Browser SSO Profiles 11-34 POST Profile 11-35 xi
Artifact Profile 11-36 Section Summary 11-37 Summary 11-38 12 Understanding Security Realms Objectives 12-2 Agenda 12-3 Introduction to a Security Realm 12-4 Users and Groups 12-5 Security Roles and Policies 12-6 Security Providers 12-7 Security Provider Database 12-8 Section Summary 12-9 Agenda 12-10 Introducing the Embedded LDAP Server 12-11 Configuring the Embedded LDAP Server 12-12 Replicating the Embedded LDAP Server 12-13 Viewing Contents and Configuring Backups for the Embedded LDAP Server 12-14 Importing and Exporting Information in the Embedded LDAP Server 12-15 LDAP Access Control 12-16 Section Summary 12-17 Agenda 12-18 Authentication Providers 12-19 Identity Assertion Providers 12-20 Principal Validation Providers 12-21 Authorization Providers 12-23 Adjudication Providers 12-24 Auditing Providers 12-25 Role Mapping Providers 12-26 Credential Mapping Providers 12-27 Certificate Lookup and Validation Providers 12-28 Keystores 12-29 Section Summary 12-30 Practice 12-1 Overview: Configuring a New Security Realm 12-31 Summary 12-32 13 Configuring Non-Default Security Providers Objectives 13-2 Agenda 13-3 Introduction to Credential Mapping 13-4 Attributes of Credential Mapping 13-6 xii
Create a Credential Mapping 13-7 Section Summary 13-9 Agenda 13-10 SSO and WebLogic Server 13-11 What Is SAML? 13-12 SAML History and Roadmap 13-13 SAML Sequence 13-14 SAML Architecture 13-15 SAML Terminology 13-16 Two HTTP-based Techniques 13-18 Post Profile 13-19 Artifact Profile 13-20 WebLogic SAML Framework 13-21 WLS SAML Components 13-22 Example 13-23 Introducing the SAML Credential Mapping Provider 13-24 Configuring SAML Providers 13-25 Configuring a Source Site 13-26 Creating a SAML Credential Mapping Provider 13-27 Configuring Source Site Federation Services 13-28 Configuring SAML Relying Parties 13-30 Adding Certificates to the Certificate Registry 13-32 Configuring a Destination Site 13-33 Creating a SAML Identity Assertion Provider 13-34 Configuring Destination Site Federation Services 13-35 Configuring SAML Asserting Parties 13-37 Adding Certificates to the Certificate Registry 13-40 Section Summary 13-41 Agenda 13-42 Introduction to XACML 13-43 Key Concepts and Features of XACML 13-44 XACML Framework 13-45 Configuring the XACML Authorization Provider 13-46 Configuring the XACML Role Mapping Provider 13-47 Section Summary 13-48 Agenda 13-49 Introduction to the RDBMS Security Provider 13-50 Common RDBMS Authentication Provider Attributes 13-51 Configuring Authentication Providers 13-52 Configuring the SQL Authenticator 13-53 Configuring the Read-Only SQL Authenticator 13-54 xiii
Configuring the Custom DBMS Authenticator 13-55 Section Summary 13-56 Agenda 13-57 Introduction to the PKI Credential Mapping Provider 13-58 Requirements for Configuring the PKI Credential Mapping Provider 13-59 Attributes of the PKI Credential Mapping Provider 13-60 Creating a PKI Credential Mapping 13-61 Credential Action 13-63 Section Summary 13-64 Summary 13-65 14 Securing WebLogic Resources Through SSL Objectives 14-2 Agenda 14-3 Introduction to SSL 14-4 Advanced Features of SSL 14-5 SSL Tunneling 14-6 SSL Protocol Version 14-8 SSL Session Behavior 14-10 SSL Processes 14-11 SSL Debugging 14-12 SSL Certificate Validation 14-13 One-Way and Two-Way SSL 14-15 Section Summary 14-17 Agenda 14-18 Private Keys, Digital Certificates, and Trusted Certificate Authorities 14-19 Supported Formats for Identity and Trust 14-20 Obtaining Private Keys, Digital Certificates, and Trusted Certificate Authorities 14-21 Keytool Utility 14-22 X.509 Certificates 14-23 Configuring Identity and Trust 14-24 Configuring Identity and Trust Keystores 14-25 How WebLogic Server Locates Trust 14-27 Section Summary 14-28 Agenda 14-29 WebLogic Server SSL Requirement forenabling SSL 14-30 Enabling SSL on WebLogic Server 14-31 Configuring One-Way and Two-Way SSL 14-32 Restart SSL 14-33 Section Summary 14-34 xiv
Practice 14-1 Overview: Creating Certificates and Configuring Two-Way SSL 14-35 Agenda 14-36 Introduction to Host Name Verification 14-37 Verifying Whether Host Name Verification Is Enabled 14-38 Disabling Host Name Verification 14-39 Writing a Custom Host Name Verifier 14-40 Configuring a Custom Host Name Verifier 14-41 Section Summary 14-42 Agenda 14-43 Introduction to ncipher JCE Provider 14-44 Features of ncipher 14-45 Provisioning and Provisor User Management 14-46 Securing PKI Certificates and Signing Operations 14-47 Securing SSL Certificates on Web and Application Servers 14-48 Securing Authentication and Signing Functions in Online Payment Systems 14-49 Securing the Identity of Published Software 14-50 Securing PINs and Passwords 14-51 Installing and Configuring ncipher 14-52 Section Summary 14-53 Summary 14-54 15 Diagnostics Framework and Logging Objectives 15-2 Agenda 15-3 WebLogic Diagnostic Framework 15-4 WLDF Subsystems 15-5 GENERATE 15-6 Data Creators 15-7 Custom Instrumentation 15-9 Diagnostic Monitors 15-11 Diagnostic Actions 15-12 Diagnostic Context 15-13 Request Dyeing 15-14 GATHER 15-15 Data Collectors 15-16 ANALYZE 15-18 Data Accessors 15-19 Watches and Notifications 15-21 PERSIST 15-23 Data Archiver 15-24 Diagnostic Image Capture 15-26 xv
Management 15-27 Ease of Development and Integration ofthird-party Analytic Tools 15-28 Section Summary 15-29 Agenda 15-30 Tools for Configuring WLDF 15-31 Two Levels of Configuration 15-32 Diagnostic System Modules 15-33 Configuring a Harvester 15-35 Configuring Notifications 15-38 Configuring Watches 15-40 Configuring Server-Level Instrumentation 15-43 Configure a DyeInjection Monitor 15-45 Accessing Diagnostic Data 15-47 Configuring Diagnostic Images 15-51 Capturing Diagnostic Images 15-52 Configuring Diagnostic Archives 15-54 WLDF Console Extension 15-55 Displaying the Console Extension 15-56 The WLDF Console Extension 15-57 Anatomy of the Console Extension 15-58 Displaying the Contents of the MBean Tree in the Metrics Tab 15-59 Method Performance Charts 15-60 Displaying Requests 15-61 Displaying Methods 15-62 Section Summary 15-63 Practice 15-1 Overview: Diagnosing and Monitoring WebLogic Server 15-64 Summary 15-65 16 Work Managers Objectives 16-2 Agenda 16-3 Pre-9.x Version Thread Management 16-4 Work Managers 16-5 Default Work Manager 16-6 Work Manager Scheduling Guidelines 16-7 Section Summary 16-8 Agenda 16-9 Request Classes 16-10 Fair Share Request Class 16-11 Response Time Request Class 16-13 Context Request Class 16-14 xvi
Constraints 16-15 Maximum Threads Constraints 16-16 Minimum Threads Constraints 16-17 Capacity Constraints 16-18 Referencing Classes or Constraints 16-19 Section Summary 16-20 Agenda 16-21 Global Work Managers 16-22 Global Work Manager Component 16-25 Global Work Managers 16-26 Application-Level Work Manager 16-27 Component-Level Configuration 16-28 Component-Level Work Managers 16-29 Web Application-Level Work Managers 16-30 Stuck Thread Work Manager 16-31 Section Summary 16-33 Agenda 16-34 Backward Compatibility 16-35 Migration to Work Managers 16-36 Section Summary 16-37 Agenda 16-38 Understanding CommonJ 16-39 Accessing CommonJ Work Managers 16-40 Mapping CommonJ to Work Managers 16-41 Section Summary 16-42 Practice 16-1 Overview: Using Work Managers 16-43 Summary 16-44 Appendix A: Practices and Solutions Index xvii
xviii