D56299GC10 - Oracle Service Bus 10g R3: Design & Integrate Services for SOA
Contents
1Introduction
Objectives 1-2
Agenda 1-3
Target Audience 1-4
Course Objectives 1-5
Course Agenda 1-6
Classroom Guidelines 1-7
Course Environment 1-8
Summary 1-9
Practice 1-1 Overview: Obtaining a Grid VM Instance and
Accessing Information 1-10
Practice 1-2 Overview: Connecting to Your Allocated Grid VM Instance 1-11
2Getting Started with Oracle Service Bus
Objectives 2-2
Road Map 2-3
Enterprise Challenge 2-4
Point-to-Point Integration 2-5
EAI and BPM 2-6
Service-Oriented Architecture (SOA): Definition 2-8
SOA Further Defined 2-9
Domain Model for SOA Business Strategy and Process 2-11
Six Domain Approach 2-13
Layered Architectural Model 2-14
Enterprise Reference Architecture 2-15
Information and Access Services Layer 2-16
Shared Business Services Layer 2-17
Presentation Services Layer 2-18
Composite Applications Layer 2-19
Service Infrastructure Layer 2-20
Projects and Applications 2-21
Section Summary 2-22
Quiz 2-23
Road Map 2-25
Got Service Mayhem? 2-26
Enter Oracle Service Bus 2-27
OSB as a Message Broker 2-28
Messaging Types 2-30
Location Transparency 2-31
Dynamic Routing 2-32
Transformations 2-33
Service Orchestration 2-34
Message Enrichment 2-35
Security 2-36
Service-Level Agreements (SLA) 2-38
Section Summary 2-39
Quiz 2-40
Summary 2-41
3Message Flow
Objectives 3-2
Road Map 3-3
What Is OSB Console? 3-4
Projects and Resources 3-5
OSB Projects 3-6
OSB Resource Types 3-7
Business Service 3-8
Creating a Business Service 3-9
Proxy Services 3-10
Creating a Proxy Service 3-11
Difference Between Binding and Port 3-12
Message Flow Elements 3-13
Section Summary 3-14
Quiz 3-15
Practice # 3-1 Overview: Simple Routing 3-16
Road Map 3-17
Message Context Model 3-18
Using Context Variables 3-19
Predefined Context Variables 3-20
User-Defined Context Variables 3-21
Message-Related Variables 3-22
Predefined Context Variable Descriptions 3-23
Variables and Types 3-25
$header Variables 3-26
$body Variables 3-27
$body Binary Content 3-28
$attachments Variable 3-29
$body and RPC 3-30
$fault Variable 3-31
Inbound Message Dispatching 3-32
Outbound Message Dispatching 3-33
Section Summary 3-34
Quiz 3-35
Road Map 3-36
What Is Branching? 3-37
Branching Types 3-38
Conditional Branch 3-39
Operational Branch 3-41
Adding an Operational Branch 3-42
Section Summary 3-43
Quiz 3-44
Practice # 3-2 Overview: Operational Branching 3-45
Practice # 3-3 Overview: Conditional Branching 3-46
Summary 3-47
4Message Flow Actions
Objectives 4-2
Road Map 4-3
Routing Nodes 4-4
Route Node in OSB Console 4-5
Routing Table 4-7
Routing Table in OSB Console 4-8
Routing Table Versus Conditional Branch 4-10
Routing Options 4-11
Routing Options in OSB Console 4-12
Transport Headers 4-13
Publish 4-16
Publish Node in OSB Console 4-17
Publish Table 4-18
Section Summary 4-19
Quiz 4-20
Practice # 4-1 Overview: Using a Routing Table 4-21
Practice # 4-2 Overview: Using a Publish Node 4-22
Road Map 4-23
Expression Editor 4-24
Variable Structures 4-25
Namespace Definitions 4-27
XQuery Functions 4-28
Assign 4-29
Delete 4-30
Insert 4-31
Rename 4-33
Replace 4-34
For Each 4-35
If-Then 4-36
Condition Builder 4-38
Reply 4-39
Skip 4-40
Section Summary 4-41
Quiz 4-42
Road Map 4-43
Oracle XQuery Mapper 4-44
Mapping Data 4-45
Creating a Transformation 4-46
Mapping a Transformation 4-47
Using XQuery File in OSB 4-48
XQuery Resource Binding 4-49
MFL 4-50
Using MFL in OSB 4-51
Section Summary 4-52
Quiz 4-53
Practice # 4-3 Overview: Transformation Using an XQuery File 4-54
Practice # 4-4 Overview: Transformation Using MFL 4-55
Road Map 4-56
Service Callouts 4-57
SOAP Document Style Service Callout 4-58
SOAP RPC Style Service Callout 4-59
XML Service Callouts 4-61
Messaging Service Callouts 4-62
Service Callout Actions 4-63
Java Callouts 4-64
Section Summary 4-65
Practice # 4-5 Overview: Using a Service Callout 4-66
Practice # 4-6 Overview: Using a Java Callout 4-67
Summary 4-68
5Debugging with OSB
Objectives 5-2
Road Map 5-3
Error Handler Pipelines 5-4
Error Handlers 5-5
$fault variable 5-7
Error Codes 5-8
Reply Action 5-10
Reply Action in OSB Console 5-11
Transport Errors with Service Callouts 5-12
Error Code BEA-382502 5-13
SOAP Faults with Service Callouts 5-14
Unexpected Responses and Service Callouts 5-15
Resume Action 5-16
Section Summary 5-17
Quiz 5-18
Road Map 5-19
Validation and Error Scenario 5-20
Validation and Error Solution 5-21
Validate Action 5-22
Section Summary 5-23
Quiz 5-24
Practice # 5-1 Overview: Error Handling and Validation 5-25
Road Map 5-26
Reporting Actions 5-27
Reporting Framework 5-28
Reporting Framework Diagram 5-29
JMS Reporting Provider Framework 5-30
Report Action 5-31
Log Action 5-33
Alert Action 5-34
Section Summary 5-35
Quiz 5-36
Practice # 5-2 Overview: Using the Report Action 5-37
Road Map 5-38
OSB Debug Files 5-39
OSB Debug Flags 5-40
Configuration Framework Debug Flags 5-42
Section Summary 5-43
Summary 5-44
6Best Practices with OSB
Objectives 6-2
Road Map 6-3
Introduction 6-4
Split-Join Order: Example 6-5
Static Split-Join 6-6
Dynamic Split-Join 6-7
Creating a Split-Join Configuration 6-8
Receive Node 6-9
Reply Node 6-10
Parallel Node 6-11
Assign Node 6-12
Invoke Service Node 6-14
Input and Output Variables 6-15
Exporting the Split-Join Flow 6-16
Split-Join Flow Creation Process 6-17
Section Summary 6-18
Quiz 6-19
Practice # 6-1 Overview: Implementing the Split-Join Pattern 6-20
Road Map 6-21
What Is Quality of Service? 6-22
Delivery Guarantees 6-23
Delivery Guarantee Types 6-24
Delivery Guarantee Rules 6-25
Additional Delivery Guarantee Rules 6-26
Overriding the Default Element 6-30
Reliable Messaging Support 6-31
Configuring Delivery Behavior 6-33
HTTP(S) Quality of Service Success 6-34
Handling Unreliable Transports 6-35
Section Summary 6-37
Quiz 6-38
Road Map 6-39
Dynamic Routing 6-40
Dynamic Routing Techniques 6-41
Technique #1 6-42
Sample XML File 6-43
Dynamic Routing Action 6-44
Technique #2 6-45
Section Summary 6-46
Quiz 6-47
Practice # 6-2 Overview: Using Dynamic Routing 6-48
Road Map 6-49
What Is Service Versioning? 6-50
Map of URIs 6-51
Metadata-Based Selection Algorithm 6-52
Content-Based Selection Algorithm 6-53
Content-Based URI File 6-54
Service Interface 6-55
Versioning Input and Output State 6-56
Versioning the Service Interface 6-57
Section Summary 6-58
Quiz 6-59
Road Map 6-60
What Is REST? 6-61
Benefits of REST 6-62
Configuring Proxy Service for REST 6-63
OSB Support for REST 6-64
Example 6-65
Standard Proxy Service: Example 6-66
REST-Ful Proxy Service: Example 6-68
Section Summary 6-73
Quiz 6-74
Practice # 6-3 Overview: Using REST in a Proxy Service 6-75
Summary 6-76
Appendix A: Practices and Solutions
Index
1