Oracle SOA Suite 11g Handbook / Edition 1

Oracle SOA Suite 11g Handbook / Edition 1

by Lucas Jellema, Lonneke Dikmans

ISBN-10: 0071608974

ISBN-13: 9780071608978

Pub. Date: 09/28/2010

Publisher: McGraw-Hill Professional Publishing

Master Oracle SOA Suite 11g

Design and implement an agile service-oriented enterprise computing infrastructure using the detailed information in this Oracle Press guide. Written by an Oracle ACE director, Oracle SOA Suite 11g Handbook uses a hands-on case study to illustrate each programming, management, and governance concept. Get expert

…  See more details below


Master Oracle SOA Suite 11g

Design and implement an agile service-oriented enterprise computing infrastructure using the detailed information in this Oracle Press guide. Written by an Oracle ACE director, Oracle SOA Suite 11g Handbook uses a hands-on case study to illustrate each programming, management, and governance concept. Get expert techniques for modeling and implementing complex business processes and deploying and securing Web services, while maximizing decoupling and code reuse.

  • Install Oracle SOA Suite 11g or migrate from a previous version
  • Design and develop composite applications using SCA and SDO
  • Model processes using BPEL, BPMN, and human task components
  • Connect components through mapping and filtering with Oracle Mediator
  • Apply the principles of event-driven architecture through complex event processing, the event delivery network, and Oracle Business Activity Monitoring server
  • Benefit from the power of Java through the Spring component and the interaction with Oracle
  • Validate, enrich, transform, route, and operate on data using the Oracle Service Bus
  • Deploy, test, and manage composite applications from the Oracle Enterprise Manager control console

Read More

Product Details

McGraw-Hill Professional Publishing
Publication date:
Oracle Press Series
Edition description:
Product dimensions:
7.30(w) x 9.00(h) x 1.60(d)

Related Subjects

Table of Contents




PART I Introducing SOA, St. Matthews, and the Oracle SOA Suite

1 A Typical Case of SOA: Introduction of St. Matthews Hospital Center 3

Introduction to St. Matthews Hospital Center 4

History 5

Trends in Healthcare and Hospitals 5

The Hospital from an Architectural Point of View 6

Business Architecture View 7

Information Architecture View 10

Technical Architecture View 12

Summary 13

2 Introduction to Service-Oriented Architecture 15

Service-Oriented Architecture (SOA) 17

SOA from a Business Point of View 19

SOA from a Architectural Point of View 23

SOA from an Implementation Point of View 38

Summary 42

The eAppointment Pilot Project 42

3 Oracle Fusion Middleware and SOA Suite 11g 45

History of Middleware and SOA in Oracle 46

The Mists of Time---Until 2001 46

Industry Standards: From 1998 until Now 48

Not Invented Here (2001-2008) 54

Complete, Open, and Integrated---2009 and Beyond 57

SOA Suite 11g: The Key Components 60

Adapters 61

Event Delivery Network 62

Oracle Service Bus 63

Business Activity Monitoring (BAM) Server 63

Fusion Middleware Infrastructure and Weblogic Server 11g 64

Design Time 66

Related Suites and Products in FMW 11g 66

Getting Started with SOA Suite 11g 68

Installation of SOA Suite 11g 68

Create and Run the "HelloWorld" of Service Composite Applications 75

Migrating from SOA Suite 10.1.3 79

Summary 80

PART II Developing Composite Applications

4 XML and Web Services Fundamentals 85

Kicking the Tires on the eAppointment Project 86

Introduction to XML 91

XML Documents 92

Data Design for XML---XML Schema Definitions (XSD) 93

The Service Contract: Introducing WSDL 102

Analyzing the Service Interface According to WSDL 103

Demo: Create the Simplest Web Service Implementation 108

Summary 111

5 First Steps with BPEL and the Database Adapter 113

Introducing the Business Process Execution Language (BPEL) 114

BPEL Ingredients 115

Implementing the Composite PatientDataService 117

The PatientDataService BPEL Process in More Detail 120

Essential BPEL Activities 123

The Assign Activity and the Use of XPath in BPEL 126

Accessing the Database from a BPEL Process 134

A Simple Select Service to Retrieve the Patient Identifier 134

Summary 148

6 Process-Oriented BPEL 149

The Start of the Appointment Process 151

Scope and Sequence 153

Flow for Parallel Execution of BPEL Activities 154

Invoking a Synchronous Web Service: Prepare Instructions 157

Invoking an Asynchronous Service: Calling the Appointment Scheduler 158

Implementing the (Mock) Asynchronous SchedulerService 158

Calling the Asynchronous SchedulerService 159

Sending Notifications from the BPEL Process 162

Receiving Request Messages in Running BPEL Instances 163

Consuming an Asynchronous Event: Handling a Cancellation 164

Request Appointment Details from the PatientAppointmentService Instance 175

Dealing with and Compensating for Exceptional Circumstances 179

Handling Exceptions in BPEL Processes 179

Undoing BPEL Scope Results Through Compensation Handlers 184

Summary 186

7 Mediator Service for Straight Talk and No Nonsense 187

The Mediator: From the Real World to the World Inside the SOA Suite 188

The Mediator Inside the SOA Suite 189

Processing Files with Appointment Requests 191

Introducing the Mediator and the File Adapter: Routing and Transformation 191

Sending the Appointment Requests to the Patient Appointment Service 205

Adding Flexibility Using Filtering and Transformation of Messages 210

Content-based Routing for External Appointment Requests 210

Moving to Canonical Messages Using Domain Value Maps 221

Value Mapping with Domain Value Maps 222

Alternative Means for Value Translation 225

Appointment Requests via a Web Application 227

Opening Up the Composite to a New Message Producer 227

Decoupling the Database Adapter Service 229

Decoupling the PatientAppointmentService BPEL Process 229

Summary 231

8 Rules Rule---on Decision Services 233

Deriving the Type of the Appointment 235

Creating a Business Rule Service Component 235

Separating Out Business Logic Using Business Rules 248

The Rationale Behind Business Rules 248

Business Rule Architecture 249

System Parameters and Global Formulas 251

Setting Up the Central Library of System Parameters 252

Adding Formulas to the Central Library 255

Using a Decision Table to Establish the Appointment's Priority 256

Introducing the Decision Table at Starbucks 256

Logic for Determining the Appointment's Priority 257

Summary 270

9 Event-Driven Architecture for Super Decoupling 271

Event-Driven Architecture for Super Decoupling 272

Introducing the Event Delivery Network 274

First Round with EDN: Consuming Events 277

Synchronizing Patient Data Using the Event Delivery Network 277

Creating Picky Subscriptions Using Filter Expressions 284

Publishing Patient Details Change Events 287

Publishing Database Events via Advanced Queuing 288

Publishing EDN Events from BPEL Components 289

Event Delivery Network in SCA and BPEL 293

Analyzing the SCA Configuration Around EDN and Events 293

Decoupling Two-way Services Using the Discussion Forum Approach 296

Introducing the Discussion Forum Pattern 296

A First Stab at the Decoupling from a Two-way Service Using the Discussion Forum Approach 296

The Discussion Forums Pattern in Action 297

Extending the Event-based Patient Data Service 298

Judging the Discussion Forum Pattern 298

Summary 300

10 The Missing Link: The Human Service Provider 301

Introducing the Human Task Service 302

Architecture of the Human Task Service 303

Exploring the Task Service in Detail 305

Defining the First Human Task---Approve Highest Priority 306

Steps for Implementing the Human Task ArbitrateHighPriority 306

Extend the Task ArbitrateHighPriority with Notification and Group Assignment 315

The Scheduler Service---Beyond Mere Decisions 323

Tasks with Complex Outcomes 323

Acceptance of New Patient: Complex Task Routing 330

Accepting a New Patient 330

Integrate the Task in the PatientDataService BPEL Component 335

See Some Action: Requesting an Appointment for a New Patient 336

Advanced Features for Human Tasks 336

Business Rules for Task Allocation 337

Java and WebService API for Human Workflow Services 337

Todo List Service Portlet in WebCenter 338

Database Views for Inspecting Task Details 338

Using Excel as an Alternative Worklist Application 339

Human Task Callbacks 339

Custom Task Allocation and Escalation Mechanisms 339

Summary 340

11 Business Process Management with BPEL and BPMN 341

Business Process Management (BPM) 343

BPM from an Architectural Point of View 344

Design Guidelines 346

Tools to Facilitate BPM Efforts 346

Implementing Business Processes Through BPEL and Human Tasks 347

"Accept New Patient" as a Multitask Process 348

Introducing BPMN Service Components 353

Comparing BPMN and BPEL 353

Auxiliary Applications for BPMN Processes 354

Desinging the "Treatment Approval" Workflow Using BPMN 354

Simulate the Execution of the Business Process 359

Implement the Treatment Approval Process 362

Run the Business Process and Track Its Progress 371

Revising the Business Process 373

Online Redefinition of the BPM Process Through the Process Composer 374

Running the Revised Business Process 377

Summary 378

12 Leveraging Java in Composite Applications 381

Java Integration in Various Ways 382

JMS Adapter Services 383

EJB Service Adapter and ADF Binding 384

Socket Adapter 384

Spring Context Component 384

Java Inside 384

BPEL Entity Variables Bound to Service Data Objects 385

Invoking SOA Suite from Java 386

Using the JMS Adapter to Loosely Couple with Java Applications 386

Using the JMS Adapter to Integrate with the Finance Department's Java Application 387

Embedding Java Logic in BPEL Processes 394

Using Embedded Java in a BPEL Process 397

The Spring Context Service Component for Custom Java Service Components 399

Using the Spring Context Service Component 401

Leveraging the Outbound EJB Binding 409

Create the EJBs and Configure the EJB Adapter Reference 409

Exposing SOA Composite Applications as EJB 414

Inbound EJB Binding 414

Inbound ADF Binding 415

Summary 416

13 Enterprise-Level Decoupling with Oracle Service Bus 419

Introducing the Oracle Service Bus 420

Functions Performed by the Oracle Service Bus 421

OSB at St. Matthews 427

Oracle Service Bus Product History and Architecture 427

Sending Invoices to Patients Who Had Appointments 429

Decoupling Between Business Domains 429

The PatientAppointmentService and External Parties 437

Adding a Virtualization Layer 437

Requesting the Appointment Status via E-mail 446

Inbound and Outbound E-mail Transport in OSB 446

Implementing the RequestAppointmentStatusPerEmail Proxy Service 450

Service Result Caching for the Retrieve Appointment Status Business Service 452

Requesting the Appointment Status via REST 453

RESTifying OSB Services 455

Parallel Processing of Appointment Requests Using Split-Join 456

Parallel and Batch-wise Processing in OSB 456

Choosing Between OSB and SCA Composites (and Mediators) 457

Rules of Thumb for Choosing Between OSB and SCA Composite 457

Summary 459

14 Service Components and Composite Applications According to SCA 461

Artifacts According to the SCA Specification 462

Service Components 463

Service Composites 464

The SCA Way of Designing and Developing Applications 468

Reuse of Service Components and Composites 468

Nested Service Composites 469

Granularity of Service Composites 471

Service Composites Are the Unit Of 472

Splitting or Merging Service Composites 474

Summary 478

PART III Administration, Security, and Governance

15 For Your Eyes Only 481

The Case for Security 482

IT Security 483

Security and SOA 483

So What Exactly is IT Security in a World of Services? 484

Best Practices for Applying IT Security 488

Transport Versus Message Security 491

Agents and Gateways Pattern 495

Security in Oracle Fusion Middleware 11g 496

Security Overview 497

Oracle Web Services Manager (OWSM) 499

Case: Securing SOA Composites 504

Inspecting the SOA Composite 504

Identity Administration 505

Authentication Using WS-Security 507

Authorization Using WS-Security 511

Ensuring Integrity and Confidentiality Using Transport Security 514

Monitoring Access to the BPEL Component 516

Applying Security Using JDeveloper 518

Summary 519

16 What is Going On: Monitoring SOA Composite Applications 521

Monitoring Instances of Composite Applications 522

Dashboard and Aggregate Metrics 522

Instance Inspection 526

Enriching the Composite Instance Audit Trail 528

Responding to Exceptions in Composite Execution 536

Policy-based Fault-Handling Framework 537

Rejected Messages 545

Managing Composite Instances 546

Deleting Composite Instances 547

Summary 549

17 Lifecycle Management: Testing and Dealing with Environmental Change 551

Building and Deploying SOA Composite Applications 552

Pre- or Post-Deployment Operations 553

Compiling, Building, and Deploying from JDeveloper 553

Building and Deploying from the Command Line 555

Deploying Through the Enterprise Manager Console 558

Environmentally Friendly Customization Using Configuration Plans 559

Creating Configuration Plans 559

Applying a Configuration Plan During Deployment 565

Automated Unit Testing for Composite Applications 568

Automated Testing 569

Unit Testing in SOA Suite 11g 569

Embracing Change 575

Dynamically Adjusting Application Behavior 575

Changing Composite Applications 581

Summary 584

18 Tactical Management and Governance 587

Introducing Governance 589

Implementing Governance 590

MDS Repository for Managing and Reusing Shared Artifacts 592

Using MDS with SOA Suite 11g 592

Administration of MDS Repositories 598

Service Inventory for Gathering and Publishing 600

DIY Service Registry 600

Oracle Service Registry 601

Oracle Enterprise Repository 602

Summary 606

PART IV Beyond the Basics

19 From Live Data to Real-time Insight and Action Using Complex Event Processing and Business Activity Monitoring 611

Sorting Out the Real-time Data Avalanche 612

Complex Event Processing 613

Event Processing and Monitoring in the SOA Suite 616

Analyzing Continuous Data Streams Through Complex Event Processing 617

Data-rich Business Areas, Ready for the Harvest 617

The Product Architecture of Complex Event Processor 619

Monitoring Temperature Sensors 620

Getting Started with CEP 621

Creating the CEP Application TemperatureReadingsProcessor 623

Test Run: Pinpointing a Malfunctioning Sensor 625

Promotion from a Simple, Anonymous Signal to a Business Event 627

Integrating CEP with SOA Composites 627

Oracle BAM: Real-time Business Activity Monitoring 633

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >