Oracle SOA Suite 11g: Essential Concepts Student Guide D58786GC20 Edition 2.0 August 2011 D73588
Author Iris Li Technical Contributors and Reviewers Gary Barg Pete Daly Joe Greenwald David Mills David Shaffer Madhavi Siddireddy Heidi Buelow Jeff Davies Ted Witiuk Soleiman Pello Editors Raj Kumar Smita Kommini Graphic Designer Rajiv Chandrabhanu Copyright 2011, Oracle and/or it affiliates. All rights reserved. Disclaimer This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS The U.S. Government s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Trademark Notice Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Publishers Revathi Ramamoorthy Srividya Rameshkumar
Contents 1 Introduction Goals 1-2 Audience 1-3 Prerequisites 1-4 Class Introductions 1-5 Course Objectives 1-6 Course Schedule 1-7 Course Environment 1-8 How Can I Learn More? 1-9 2 Introducing Service-Oriented Architecture Concepts Objectives 2-2 Roadmap 2-3 Definition: Service-Oriented Architecture (SOA) 2-4 Services 2-5 Web Services 2-6 SOA and Web Services 2-7 Quiz 2-8 Roadmap 2-9 Enterprise Challenge 2-10 Example of Application-Centric Integration 2-11 A Service-Centric Integration 2-12 Why We Need SOA 2-13 Roadmap 2-15 Adopting SOA 2-16 SOA Implementation Approaches 2-17 Service-Oriented Design 2-18 SOA Governance 2-19 Roadmap 2-20 Standards in SOA 2-21 Composite Applications and SOA 2-22 Service Component Architecture (SCA) 2-24 Comparing SOA and SCA 2-25 Service Component Architecture (SCA) Applications 2-26 Quiz 2-27 iii
Summary 2-28 Practice 2 Overview: Preparing the Business Flow Diagram 2-29 3 Getting Started with Oracle SOA Suite 11g Objectives 3-2 Organization Roles and Responsibility in a SOA Initiative 3-3 Organization Roles and Responsibility in a SOA Project 3-4 Oracle SOA Platform 3-5 Roadmap 3-7 Key Components of Oracle SOA Composite Application 3-8 Orchestrating Services with BPEL Process Components 3-10 Routing and Filtering with Mediator Components 3-11 Encapsulating Business Logic with Business Rules Components 3-12 Implementing Human Activities with Human Task Components 3-13 Creating Business-Driven Processes with BPMN Service Components 3-14 Spring Service Components 3-15 Adapter Services 3-16 Quiz 3-17 Roadmap 3-18 Oracle SOA Suite 11g Architecture 3-19 Metadata Services (MDS) 3-21 Event-Delivery Network 3-22 Monitoring Services with Oracle BAM 3-23 Quiz 3-24 Roadmap 3-25 Enterprise Integration with Oracle Service Bus 3-26 Oracle Service Bus and Oracle SOA Suite 3-27 Service Portfolios 3-28 Oracle Governance Solution 3-29 Roadmap 3-31 WebLogic Server Domain 3-32 WebLogic Domain Configuration for Oracle SOA Suite 3-33 Roadmap 3-35 Introducing Oracle SOA Suite Management Tools 3-36 Oracle Enterprise Manager Fusion Middleware Control 3-38 Initiating Composite Application Instances 3-41 Initiating a Test in Enterprise Manager 3-42 Tracking Message Flow 3-43 Working with a Component Audit Trail Page 3-45 Summary 3-46 Practice 3 Overview: Initiating a SOA Composite Instance 3-47 iv
4 Building SOA Composite Applications Objectives 4-2 Roadmap 4-3 What Are Services? 4-4 Basics of XML 4-5 XML Concepts 4-7 Web Services Description Language (WSDL) 4-9 WSDL Model 4-10 An Example of WSDL Document 4-11 Defining Service Interfaces with WSDL 4-13 Defining Service Interfaces in WSDL Editor 4-14 Defining Message Structure with XML Schema 4-15 Defining Message Structure in XSD Editor 4-16 Quiz 4-17 Roadmap 4-18 Types of Service Access and Implementation 4-19 Service Design Principles 4-20 Designing Coarse-Grained Interfaces 4-22 Roadmap 4-23 Service Component Architecture (SCA) 4-24 Elements of an SCA 4-25 Components and Composites 4-27 SCA Components 4-28 SCA Composite 4-29 SCA Bindings 4-30 SCA Policy Framework 4-31 Roadmap 4-32 Understanding Binding Components 4-33 Overview of Adapter Services 4-34 Oracle Technology Adapters 4-36 Packaged Application and Legacy Adapters 4-38 Quiz 4-39 Roadmap 4-40 Service Data Objects (SDO) 4-41 SDO Data Architecture 4-42 SCA and SDO 4-43 Roadmap 4-44 Developing SOA Composites with JDeveloper 4-45 Creating Connections in JDeveloper 4-46 SOA Composite Editor 4-48 Creating SOA Components 4-50 v
Creating Exposed Services 4-51 Creating External References 4-52 Creating Wires 4-53 Creating Wires Modifies Connected Elements 4-54 Examining the JDeveloper Workspace, Projects, and File Structure 4-55 Course Practice Scenario: Purchase Order Processing 4-56 Summary 4-57 Practice 4 Overview: Examining the Composite Application in JDeveloper 4-58 5 Orchestrating Services with BPEL Process Components Objectives 5-2 Roadmap 5-3 Process Orchestration Concepts 5-4 What Is BPEL? 5-5 BPEL Process Features 5-6 Synchronous Services 5-8 Asynchronous Services 5-9 Main Usage Patterns for BPEL Components 5-10 Quiz 5-11 Roadmap 5-12 Basic Programming Constructs of a BPEL Process 5-13 XML Structure of a BPEL Process 5-14 BPEL Partner 5-15 Classification of BPEL Activity Types 5-16 Exploring BPEL Process in JDeveloper 5-18 Constructing a BPEL Process in BPEL Process Editor 5-20 Grouping Activities by Using a BPEL Scope 5-21 Roadmap 5-22 Communicating Data with a BPEL Process 5-23 BPEL Variables 5-24 Assigning or Copying Data to Variables 5-26 Transforming Data in a BPEL Process 5-28 The Assign Activity 5-29 Creating Expressions with the XPath Expression Builder 5-30 Quiz 5-32 Roadmap 5-33 Developing a BPEL Process 5-34 BPEL Process Templates 5-35 Synchronous Process Structure: HelloWorld Example 5-37 Asynchronous BPEL Process Structure 5-38 Summary 5-39 vi
Practice 5 Overview: Implementing a BPEL Process 5-40 6 Mediating Messages with Mediator Components Objectives 6-2 Roadmap 6-3 Introducing Mediator Components 6-4 How Mediator Is Used in a Composite 6-5 Features of Mediator Components 6-6 Routing Rules 6-7 Content-Based and Header-Based Routing 6-8 Synchronous and Asynchronous Interactions 6-9 Transformations 6-10 Validations 6-11 Error Management 6-12 Event Handling 6-13 Mediating Services and Events 6-14 Service Virtualization 6-15 Quiz 6-16 Roadmap 6-17 Best Practices of Using Mediator 6-18 Comparing BPEL and Mediator 6-19 Quiz 6-20 Roadmap 6-21 Mediator Component Creation Options 6-22 Effects of Creating a Mediator Component 6-23 Editing a Mediator Component 6-24 Types of Mediator Routing Rules 6-25 Configuring Routing Rules 6-27 Specifying a Target Service 6-28 When to Invoke a Service and When to Use Business Events 6-29 Configuring Message Filters 6-30 Configuring Transformations 6-31 Specifying Sequential or Parallel Execution 6-32 Configuring Validation 6-33 Handling Synchronous and Asynchronous Responses and Faults 6-34 Summary 6-35 Practice 6 Overview: Creating a Mediator Service Component 6-36 vii
7 Encapsulating Business Logic with Business Rules Components Objectives 7-2 Roadmap 7-3 Introducing Business Rules 7-4 Declarative Rule Concepts 7-5 Reasons for Using Business Rules 7-6 Guidelines for Using Business Rules 7-7 Roadmap 7-8 Artifacts of Business Rules 7-9 Defining a Ruleset 7-11 Example of a Ruleset Containing IF-THEN Rules 7-12 Example of a Ruleset Containing a Decision Table 7-13 Working with Decision Functions 7-14 Quiz 7-15 Roadmap 7-16 Business Rules Service Components in SOA Composite 7-17 Main Usage Patterns for Business Rules Service Components 7-18 Integrating the Business Rule Service Component in the BPEL Process 7-19 Quiz 7-20 Roadmap 7-21 Introducing SOA Composer 7-22 Editing Business Rules in SOA Composer 7-23 Summary 7-24 Practice 7 Overview: Implementing a Business Rule 7-25 8 Implementing Human Activities with Human Task Components Objectives 8-2 Roadmap 8-3 Introducing the Human Task Service 8-4 Human Task Service in a Composite Application 8-5 Human Task Features 8-6 Quiz 8-7 Roadmap 8-8 Human Workflow Architecture 8-9 Identity Service 8-11 Notification Service 8-12 Worklist Application and Task Display Forms 8-13 Viewing and Acting on a Task in Oracle BPM Worklist 8-14 Quiz 8-16 Roadmap 8-17 Creating a Human Task Service Component in JDeveloper 8-18 viii
Defining Human Tasks 8-19 Configuring Task Parameters 8-20 Roadmap 8-21 Integrating the Human Task Component in the BPEL Process 8-22 Inspecting the Human Task Scope Activity 8-23 Processing the Task Outcomes 8-24 Summary 8-25 Practice 8 Overview: Working with Human Task Components 8-26 9 Creating Business-Driven Processes with BPMN Objectives 9-2 Roadmap 9-3 Definition: Business Process 9-4 SOA Approach to Business Process Optimization and Automation 9-5 Business Process Modeling Notation (BPMN) 9-7 Relationship Between BPMN and BPEL 9-9 Modeling Processes by Using BPMN 9-10 Sample BPMN Process Model 9-12 Quiz 9-13 Roadmap 9-14 BPM Life Cycle 9-15 Oracle Tools Facilitate BPM 9-17 Three Modeling Tools 9-18 Oracle BPM Suite 9-19 Modeling with Business Process Composer 9-20 Modeling and Implementing with BPM Studio 9-21 Modeling and Implementation: An Iterative Process 9-22 Modeling, Simulating, and Implementing Using BPM Studio 9-23 Modeling in Business Process Composer; Simulating and Implementing in BPM Studio 9-24 BPM Metadata Service (MDS) Repository 9-26 Oracle BPM Run Time 9-27 Business Process Workspace 9-29 Quiz 9-30 Roadmap 9-31 Modeling a Process in Oracle Business Process Composer 9-32 Editing a Process in BPM Studio 9-33 Configuring a Connection to MDS Repository 9-34 Checking Out the Project by Using BPM MDS Navigator 9-35 Accessing Project Components in BPM Project Navigator 9-36 Editing the Process in BPMN Process Editor 9-37 ix
Implementing the Process 9-38 Summary 9-39 Practice 9 Overview: Modeling and Editing a BPM Process 9-40 10 Managing and Monitoring Composite Applications Objectives 10-2 Roadmap 10-3 Roles and Tasks in Composite Applications Management 10-4 Overview of Managing SOA Applications 10-5 Roadmap 10-6 Packaging a Composite Application 10-7 Deploying a Composite Application 10-8 Deploying Through Oracle Enterprise Manager Console 10-9 SOA Composite Applications Versioning 10-10 Managing Composite Application State 10-11 Testing a Composite Application 10-12 Quiz 10-13 Roadmap 10-14 Monitoring Composite Instances 10-15 Tracking Message Flow Trace 10-16 Monitoring Service Component Instance Statistics 10-17 Monitoring SOA Composite Application Performance 10-18 Roadmap 10-19 Exception Handling in Composite Execution 10-20 Recovering a Faulted Instance 10-21 Quiz 10-22 Summary 10-23 Practice 10 Overview: Managing SOA Composite Applications 10-24 11 Enterprise Integration Using Oracle Service Bus Objectives 11-2 Roadmap 11-3 Introduction to Enterprise Service Bus 11-4 Enterprise Service Bus Capabilities 11-5 Enterprise Service Bus Technologies 11-7 Quiz 11-8 Roadmap 11-9 Introducing Oracle Service Bus 11-10 SOA Service Infrastructure and OSB 11-11 Comparing Mediator and Oracle Service Bus 11-12 OSB and SOA Suite Product Architecture 11-13 x
Roadmap 11-14 Inside Oracle Service Bus 11-15 Example of Virtualizing Service 11-16 OSB as a Message Broker 11-17 Processing Messages 11-19 Dynamic Routing 11-20 Transformations 11-21 Service Composition 11-22 Message Enrichment 11-23 Service-Level Agreements 11-24 Security 11-25 Quiz 11-26 Roadmap 11-27 OSB Console 11-28 Creating and Configuring Services Using OSB Console 11-30 Demo Overview: Creating a CCValidation Service in OSB Console 11-31 Summary 11-32 12 Exploring SOA Governance Objectives 12-2 Roadmap 12-3 SOA Challenges 12-4 Defining SOA Governance 12-5 Governance Objectives 12-6 Governance Roles 12-7 Roadmap 12-8 Enterprise Assets 12-9 Assets to Support Design and Development 12-10 Assets to Support Run Time 12-11 Asset Harvesting 12-12 Roadmap 12-13 Managing Shared SOA Assets 12-14 Oracle Metadata Service (MDS) 12-15 Connecting JDeveloper to MDS Repository 12-16 Oracle Governance Solution 12-17 Project-Level Governance Leveraging OER 12-19 Integrating with SOA Suite and OSB 12-20 Quiz 12-21 Demo Overview: Connecting and Exploring MDS Repository 12-22 Summary 12-23 xi