SOA_Guide_sg1.pdf - THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Volume

SOA_Guide_sg1.pdf - THESE eKIT MATERIALS ARE FOR YOUR USE...

This preview shows page 1 out of 408 pages.

Unformatted text preview: THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Volume I • Student Guide D53946GC20 Edition 2.0 September 2010 D65407 Oracle University and SDT Learning, Corp use only Oracle SOA Suite 11g: Build Composite Applications Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Glenn Stokol Disclaimer Technical Contributors and Reviewers Akshatha Niranjan Shay Shmeltzer Anand Sidgiddi Sheela Vasudevan Anirudh Pucha Stephanie McReynolds Anjulaponni Azhagulekshmi Steven Friedberg Subbiahpillai Steven Muench Avijit Borthakur Bijoy Choudhury Brian Fry Clemens Utschig David McCann David Shaffer David Twelves Deirdre Matishak Demed L’Her Dhiraj Thakkar Gangadhar Konduri Heidi Buelow Holger Dindler Rasmussen James Mills Jay Kasi Joe Greenwald John Cobb Kalpak Kothari Ken Cooper Kevin Clugage Khanderao Kand Kristopher Rice Lloyd Williams Lynn Munsinger Manoj Das Mark Kennedy Melody Yang Mohan Kamath Peter Laseau Prabhu Thukkaram Prasad Dixit-Hardikar Prasen Palvankar Rakesh Saha Rashmi Menon Robert LaVallie Swarnapriya Shridhar Ted Witiuk Timothy Gleason Tom Hardy Valli Pataballa Vasiliy Strelnikov 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: Viktor Tchemodanov 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. William Prewitt Trademark Notice Vikas Anand Vikas Jain Yan Jing Yi Lu Yogesh Kumar Yosuke Katsuki Editors Arijit Ghosh Nita Pavitran Graphic Designer Rajiv Chandrabhanu Publisher Syed Imtiaz Ali Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Author Preface I Introduction Objectives I-2 Course Objectives I-3 Agenda: Day 1 I-4 Agenda: Day 2 I-5 Agenda: Day 3 I-6 Agenda: Day 4 I-7 Agenda: Day 5 I-8 Summary I-9 1 Overview of Service-Oriented Architecture (SOA) and Service Component Architecture (SCA) Concepts Objectives 1-2 Service-Oriented Architecture (SOA) 1-3 Why Is an SOA Approach Required? 1-4 Ways to Implement Services 1-5 What Are Services? 1-6 Adopting Standards for an SOA Approach 1-7 Standards That Enable SOA 1-8 Designing with an SOA Approach 1-9 Creating Service Portfolios 1-10 Quiz 1-11 History of Implementing SOA Applications 1-12 Service Component Architecture (SCA) Applications 1-13 Service Component Architecture (SCA) 1-14 Elements of a Service Component Architecture (SCA) 1-15 Comparing SOA and SCA 1-16 Service Data Object (SDO) 1-17 Quiz 1-18 Event-Delivery Network (EDN) and Event-Driven Architecture (EDA) 1-19 Managing Composite Application Life Cycle 1-20 Describing the Course Environment 1-21 Oracle JDeveloper 1-22 iii Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Contents 2 Designing Composite Applications with Oracle SOA Suite 11g Objectives 2-2 Getting Started with Oracle SOA Suite 11g 2-3 Oracle SOA Suite 11g Platform 2-4 Oracle WebLogic Server 2-5 WebLogic Server Domain 2-6 Course Software Configuration 2-7 Oracle SOA Suite 11g Architecture 2-8 Oracle Portability Layer 2-9 Event Delivery Network 2-11 Metadata Services (MDS) 2-12 Service Engines 2-13 Oracle SOA Suite 11g Components 2-14 Adapter Services 2-15 Routing and Filtering with Mediator Components 2-16 Orchestrating Services with BPEL Components 2-17 Implementing Business Rules Components 2-18 Implementing Workflow with Human Task Components 2-19 The Role of ADF Applications with SOA 2-20 Business Events 2-21 Securing Services in Oracle SOA Suite 11g 2-22 Monitoring Services with Oracle BAM 2-23 Oracle Service Bus 2-24 Summary of Oracle Service Bus, Mediator, and BPEL 2-25 Oracle Service Bus with Oracle SOA Suite 2-26 Comparing Oracle Service Bus and Mediator Components 2-27 Designing Composite Applications 2-28 Course Use-Case: Purchase Order Processing 2-29 Course Use-Case: Referenced Composite Applications 2-30 Course Use-Case: Event-Driven Composite Applications 2-31 SOA Application Design Approaches 2-32 Composite Application Design Guide 2-33 Basic Interaction Patterns 2-34 Quiz 2-35 iv Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Creating a Database Connection 1-23 Creating an Application Server Connection 1-24 Creating a Web Services Inspection Language (WSIL) Connection 1-28 Setting JDeveloper Preferences 1-29 Summary 1-30 Practice 1 Overview: Configuring the Development Environment 1-31 3 Creating a Composite Application Objectives 3-2 Service Component Architecture (SCA):A Review 3-3 Composite Applications as Business Services 3-4 Composite Applications 3-5 SCA Components in Oracle SOA Suite 11g 3-6 Assembling a Composite Application 3-7 Examining the composite.xml Source 3-8 Designing a Composite Application 3-9 Creating an SOA Application in JDeveloper 3-11 Create SOA Application Wizard: Application Name 3-12 Create SOA Application Wizard: Project Name 3-13 Create SOA Application Wizard: Project SOA Settings 3-14 Describing the SOA Composite Editor 3-15 Initial Composite Project Structure 3-16 Creating Service Entry Points 3-17 Creating External References 3-18 Creating Adapter References 3-19 Creating a File Adapter Example 3-20 Quiz 3-21 Creating a File Adapter Example Importing a Schema 3-22 Creating Components 3-23 Example: Creating a Mediator Component 3-24 Adding Wires to Composite Application 3-25 Adding a Mediator Transformation 3-26 Mapping the Transformation Rules 3-27 Quiz 3-28 Deploying a Composite Application 3-29 Testing a Composite Application 3-30 Summary 3-31 Practice 3 Overview: Creating a Simple Composite Application 3-32 4 Managing and Monitoring a Composite Application Objectives 4-2 Overview of Managing SOA Applications 4-3 Configuration with WebLogic Server 11g Administration Console 4-4 Overview of WebLogic Server Administration Console 4-5 v Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Additional SOA and Web Service Resources 2-36 Summary 2-37 Practice 2 Overview: Examining Services in the Course Application 2-38 vi Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Managing with Oracle Enterprise Manager 4-6 Describing the Fusion Middleware Control 4-7 Accessing the SOA Infrastructure Home Page 4-8 Accessing a Composite Application Home Page 4-9 Examining a Composite Application Home Page 4-10 Quiz 4-11 Deploying a Composite Application 4-12 Deploying with JDeveloper (Review) 4-13 Specifying Deployment Configuration Details 4-14 Creating a Deployment Profile 4-16 Deploying Multiple SOA Projects 4-17 Exploring the SOA Archive and SOA Bundle 4-18 Deploying with Oracle Enterprise Manager 4-19 Deploying a SOA Archive: Select Archive 4-20 Deploying a SOA Archive: Select Target and Confirmation 4-21 Undeploying with Enterprise Manager 4-22 Redeploying a Composite Application 4-23 SOA Composite Applications Versioning 4-24 Specifying WSDL URL for a Default Revision 4-25 Managing Composite Application State 4-26 Managing SOA Applications with JDeveloper 4-27 Managing SOA Applications with Ant Scripts 4-28 Testing a Composite Application 4-29 Initiating a Test in Enterprise Manager 4-30 Preparing the Request Data for a Test 4-31 Tracking Message Flow 4-32 Working with the Flow Trace 4-33 Working with a Component Audit Trail Page 4-34 Accessing Logs and Other Settings 4-35 Initiating a Test in JDeveloper 4-36 Viewing the Response in JDeveloper 4-37 Quiz 4-38 Managing the Life Cycle of a Composite Application 4-39 Overview of Configuration Plans 4-40 Creating a Configuration Plan 4-41 Modifying a Configuration Plan 4-42 Summary 4-43 Practice 4 Overview: Managing Composite Applications 4-44 Creating Adapter Services Objectives 5-2 Overview of Adapter Services 5-3 Describing Technology Adapters 5-4 Packaged Application and Legacy Adapters 5-5 Quiz 5-6 File Adapter 5-7 Working with a File Adapter 5-8 Introducing the Database Adapter 5-9 Configuring a Database Adapter 5-10 Configuring a Master Detail Relationship Example 5-15 Configuring a Database Adapter 5-16 Configuring Database Adapter 5-17 Configuring the Database Adapter Run-Time Connections 5-18 Redeploying the Run-Time DbAdapter 5-19 Employing a JMS Adapter 5-20 Configuring a JMS Destination 5-21 Configuring a JMS Connection Factory 5-22 Creating the JMS Adapter Connection Pool 5-23 Associate the JMS Connection Pool to a Connection Factory 5-24 Creating a JMS Adapter 5-25 Configuring the JMS Adapter Connection and Interface 5-26 Configuring the JMS Adapter Resources and Payload 5-27 Quiz 5-28 Integrating with Oracle e-Business Suite 5-29 Oracle Applications Adapter Architecture Overview 5-30 Summary 5-31 Practice 5 Overview: Validating Credit Cards with a Database Adapter 5-32 6 Working with Mediator Components Objectives 6-2 Part 1: Core Mediator Functionality 6-3 Introducing Mediator Components 6-4 Describing Features of Mediator Components 6-5 Routing Rules 6-6 Synchronous and Asynchronous Interactions 6-7 Content-Based and Header-Based Routing 6-8 Transformations 6-9 Validations 6-10 Error Management 6-11 Event Handling 6-12 vii Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED 5 viii Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Quiz 6-13 Service Virtualization 6-14 Creating a Mediator Component 6-15 Effects of Creating a Mediator Component 6-16 Deleting a Mediator Component 6-17 Mediating Services and Events 6-18 Modifying a Mediator Component 6-19 Editing a Mediator Component 6-20 Types of Mediator Routing Rules 6-21 Adding a Routing Rule for the Echo Option 6-22 Adding a Routing Rule to Publish an Event 6-23 Creating the Published Event 6-24 Adding a Dynamic Routing Rule 6-25 Configuring a Routing Rule 6-26 Setting the Target Service 6-27 Handling Synchronous and Asynchronous Responses and Faults 6-28 Configuring Message Filters 6-29 Configuring Validation 6-30 Sequential and Parallel Routing Rules 6-31 Part 2: XSL Transformations 6-32 Configuring Transformations 6-33 Editing with the XSLT Mapper 6-34 Mapping Types and Tools 6-35 Adding a Function to a Transformation 6-36 Modifying Function Parameters 6-37 Chaining (Nesting) Functions 6-38 Mapping Nodes Automatically 6-39 Adding a For-Each Mapping Rule 6-40 Adding an If Mapping Rule 6-41 Adding a choose Mapping Rule 6-42 Adding a Dictionary for Auto Mapping 6-43 Creating a Dictionary for Auto Mapping 6-44 Quiz 6-45 Testing Transformation Maps 6-46 Initiating an XSL Transformation Test 6-47 Viewing the Test Results 6-48 Summary 6-49 Practice 6 Overview: Implementing Mediator Components 6-50 Developing a Simple BPEL Component Objectives 7-2 Business Process Execution Language (BPEL) 7-3 Parts of a BPEL Process 7-4 XML Structure of a BPEL Process 7-5 Creating a BPEL Component 7-6 Describing BPEL Process Templates 7-7 Synchronous Process Concepts 7-8 Asynchronous Process Concepts 7-9 Describing the BPEL Design Editor 7-10 Designing the BPEL Process 7-11 Constructing a BPEL Process 7-12 Classification of BPEL Activity Types 7-13 Oracle BPEL Extension Activity Types 7-15 Quiz 7-17 Structuring a Process with a Scope Activity 7-18 Adding Activities to a Scope 7-19 Configuring a Scope Activity 7-20 BPEL Variables 7-21 Creating Variables and Importing Types 7-22 Choosing Global or Local Variables 7-23 Creating a Variables and Setting Types 7-24 Communicating Data with a BPEL Process 7-25 Assigning or Copying Data to Variables 7-26 Creating an Assign Activity 7-28 Examining the BPEL Process XML Source 7-29 Configuring an Assign Activity 7-30 Creating Copy Operations 7-31 Creating Expressions with the XPath Expression Builder 7-32 Working with the XPath Expression Resolver 7-33 Adding XPath Functions to an Expression 7-34 Transforming Data in a BPEL Process 7-35 Creating and Configuring a Transform Activity 7-36 Quiz 7-37 Testing a Composite with a BPEL Process 7-38 Accessing the BPEL Process Audit Trail 7-39 Examining the BPEL Process Audit Trail 7-40 Examining the BPEL Process Visual Flow 7-41 Summary 7-42 Practice 7 Overview: Creating a Simple BPEL Process 7-43 ix Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED 7 Orchestrating Services with BPEL Objectives 8-2 Describing Process Orchestration 8-3 Orchestrating Services from BPEL 8-4 Partner Links and Service Invocation 8-5 Partner Links, Partner Link Types, and Roles 8-6 Creating a Partner Link 8-7 Configuring a Partner Link 8-8 Creating a WSIL Connection (Review) 8-9 Accessing WSDL URLs with a WSIL Connection 8-10 Exploring Results of Creating Partner Links 8-11 Synchronous Services 8-12 Invoking a Synchronous Service 8-13 Auto-Generated BPEL Variables 8-14 Exchanging Request and Response Data 8-15 Synchronous Interaction Pattern 8-16 Preparing and Obtaining Data 8-17 Asynchronous Services 8-18 Invoking an Asynchronous Service 8-19 Receiving a Callback Response 8-20 Asynchronous Interaction Pattern 8-21 Describing WS-Addressing and Correlation 8-22 Quiz 8-23 Conditionally Branching with a Switch Activity 8-24 Adding a Switch Activity 8-25 Configuring Branches of a Switch Activity 8-26 Summary 8-27 Practice 8 Overview: Part 1: Invoke and Switch Activities in BPEL 8-28 Practice 8 Overview: Part 2: Invoke and Switch Activities in BPEL 8-29 Practice 8 Overview: Changes to the Composite Application 8-30 9 Implementing Coordination and Interaction Patterns Objectives 9-2 Processing Activities in Parallel 9-3 Adding a Flow Activity 9-4 Blocking Invoke Problem with Flows 9-5 Implementing Non-Blocking Invokes 9-6 Executing a Branch Multiple Times with FlowN 9-7 Creating and Configuring a FlowN Activity 9-8 Indexing XML Arrays Dynamically 9-9 Comparing Flow and FlowN 9-10 x Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED 8 10 Handling Exceptions in Composite Applications Objectives 10-2 Fault Handling Concepts 10-3 Types of Service Faults 10-4 Defining Business Faults 10-5 Managing Faults in Mediator 10-6 Configuring a Target Service for a Mediator Fault 10-7 Considering Faults with Asynchronous Mediator Components 10-8 Describing Faults in BPEL Processes 10-9 Creating BPEL Fault Handlers 10-10 Catch and CatchAll Handlers 10-11 Handling Faults with a Catch Branch 10-12 Handling Faults with a CatchAll Branch 10-13 Catching BPEL Run-Time Faults 10-14 Throwing Business Faults in BPEL 10-15 Returning Faults from a Synchronous Process 10-16 Returning Faults from an Asynchronous Process 10-17 Faults That Cannot Be Handled 10-18 Quiz 10-19 Overview of the Fault Management Framework 10-20 xi Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Quiz 9-11 Request-Response Patterns 9-12 One-Way Message Interaction 9-13 Synchronous Interaction 9-14 Asynchronous Interaction 9-15 One Request, Multiple Responses 9-16 One Request, a Mandatory Response, and an Optional Response 9-17 Asynchronous Interaction with Timeout Pattern 9-19 Implementing a Pick Activity 9-20 Asynchronous Interaction with a Notification Timer Pattern 9-21 One Request, One of Two Possible Responses 9-22 Multiple Requests, Multiple Responses 9-24 Multiple Requests, First Response 9-25 Looping with a While Activity 9-26 Suspending a Process with a Wait Activity 9-27 BPEL Deployment Descriptor Properties 9-28 Quiz 9-29 Summary 9-30 Practice 9 Overview: Part 1: Implementing Pick, While, and FlowN 9-31 Practice 9 Overview: Part 2: Coordinating with a Flow Activity 9-32 11 Managing Transactions with Services Objectives 11-2 Transactional Services 11-3 Transaction Boundaries with Services 11-4 Implementing Transactional Services 11-5 Introducing the Service Data Object (SDO) 11-6 Implementing an SDO with ADF 11-7 Deploying an ADF-BC Application 11-8 Accessing an SDO in a Composite Application 11-9 Creating an SDO Partner Link 11-10 BPEL Entity Variables 11-12 Executing SDO Operations with an Entity Variable 11-13 Querying Data with an Entity Variable 11-14 Configuring the BindEntity Activity 11-15 Updating Data with an Entity Variable 11-16 Inserting Data with an Entity Variable 11-17 Deleting Data with an Entity Variable 11-18 Transaction Concepts in BPEL 11-19 Quiz 11-20 BPEL Process Dehydration 11-21 Default Transactional Behavior in BPEL 11-23 Transaction Boundaries with Entity Variables 11-24 Transactional Adapters in a BPEL 11-25 Forcing a Rollback from a BPEL Flow 11-26 Global Transactions with Two Database Adapters 11-27 xii Oracle University and SDT Learning, Corp use only THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED Introducing Policy-Driven Fault Handling 10-21 Fault Policy File Structure 10-22 Creating Fault Policies 10-23 Creating Fault Conditions and Actions 10-24 Configuring a Retry Action for a Fault Condition 10-25 Configuring a Java Action 10-27 Fault Bindings File Structure 10-28 Defining Fault Bindings 10-29 Quiz 10-30 Recovering Faults with Enterprise Manager Fusion Middleware Control 10-31 Accessing a Recoverable Fault 10-32 Recovering a Fault Condition 10-33 Summary 10-35 Practice 10 Overview: Part 1: Creating and Propagating a Fault 10-36 Practice 10 Overview: Part 2: Handling a Fault 10-37 12 Implementing Human Task Services Objectives 12-2 Human Tasks 12-3 Human Workflow Concepts 12-4 Human Workflow Services 12-5 Common Workflow Exchange Patterns 12-6 Workflow as a Service 12-7 Human Tasks in a Composite Application 12-8 Implementing Human Tasks in a Composite Application 12-9 Working with Human Workflow in BPEL 12-10 Adding a Human Task to a BPEL Process 12-11 Quiz 12-12 Configuring the Human Task 12-13 Configuring the Task Header and Outcomes 12-14 Adding Human Task Parameters 12-15 Setting the Task Parameter Values 12-16 Processing the Task Outcomes 12-...
View Full Document

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture