You are previewing Oracle SOA Suite 11g Handbook.
O'Reilly logo
Oracle SOA Suite 11g Handbook

Book Description

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

Table of Contents

  1. Cover
  2. Oracle SOA Suite 11g Handbook
  3. Copyright Page
  4. Contents
  5. Foreword
  6. Acknowledgments
  7. Introduction
  8. PART I
    1. 1 A Typical Case of SOA: Introduction of St. Matthews Hospital Center
      1. Introduction to St. Matthews Hospital Center
        1. History
        2. Trends in Healthcare and Hospitals
      2. The Hospital from an Architectural Point of View
        1. Business Architecture View
        2. Information Architecture View
        3. Technical Architecture View
      3. Summary
    2. 2 Introduction to Service-Oriented Architecture
      1. Service-Oriented Architecture (SOA)
        1. SOA from a Business Point of View
        2. SOA from an Architectural Point of View
        3. SOA from an Implementation Point of View
      2. Summary
        1. The eAppointment Pilot Project
    3. 3 Oracle Fusion Middleware and SOA Suite 11g
      1. History of Middleware and SOA in Oracle
      2. The Mists of Time—Until 2001
      3. Industry Standards: From 1998 until Now
      4. Not Invented Here (2001–2008)
      5. Complete, Open, and Integrated—2009 and Beyond
      6. SOA Suite 11g: The Key Components
        1. Adapters
        2. Event Delivery Network
        3. Oracle Service Bus
        4. Business Activity Monitoring (BAM) Server
        5. Fusion Middleware Infrastructure and WebLogic Server 11g
        6. Design Time
        7. Related Suites and Products in FMW 11g
      7. Getting Started with SOA Suite 11g
        1. Installation of SOA Suite 11g
        2. Create and Run the “HelloWorld” of Service Composite Applications
      8. Migrating from SOA Suite 10.1.3
      9. Summary
  9. PART II
    1. 4 XML and Web Services Fundamentals
      1. Kicking the Tires on the eAppointment Project
      2. Introduction to XML
        1. XML Documents
        2. Data Design for XML—XML Schema Definitions (XSD)
      3. The Service Contract: Introducing WSDL
        1. Analyzing the Service Interface According to WSDL
        2. Demo: Create the Simplest Web Service Implementation
      4. Summary
    2. 5 First Steps with BPEL and the Database Adapter
      1. Introducing the Business Process Execution Language (BPEL)
        1. BPEL Ingredients
      2. Implementing the Composite PatientDataService
      3. The PatientDataService BPEL Process in More Detail
        1. Essential BPEL Activities
        2. The Assign Activity and the Use of XPath in BPEL
      4. Accessing the Database from a BPEL Process
        1. A Simple Select Service to Retrieve the Patient Identifier
      5. Summary
    3. 6 Process-Oriented BPEL
      1. The Start of the Appointment Process
        1. Scope and Sequence
        2. Flow for Parallel Execution of BPEL Activities
      2. Invoking a Synchronous Web Service: Prepare Instructions
      3. Invoking an Asynchronous Service: Calling the Appointment Scheduler
        1. Implementing the (Mock) Asynchronous SchedulerService
        2. Calling the Asynchronous SchedulerService
      4. Sending Notifications from the BPEL Process
      5. Receiving Request Messages in Running BPEL Instances
        1. Consuming an Asynchronous Event: Handling a Cancellation
        2. Request Appointment Details from the PatientAppointmentService Instance
      6. Dealing with and Compensating for Exceptional Circumstances
        1. Handling Exceptions in BPEL Processes
        2. Undoing BPEL Scope Results Through Compensation Handlers
      7. Summary
    4. 7 Mediator Service for Straight Talk and No Nonsense
      1. The Mediator: From the Real World to the World Inside the SOA Suite
        1. The Mediator Inside the SOA Suite
      2. Processing Files with Appointment Requests
        1. Introducing the Mediator and the File Adapter: Routing and Transformation
        2. Sending the Appointment Requests to the Patient Appointment Service
      3. Adding Flexibility Using Filtering and Transformation of Messages
        1. Content-based Routing for External Appointment Requests
      4. Moving to Canonical Messages Using Domain Value Maps
        1. Value Mapping with Domain Value Maps
        2. Alternative Means for Value Translation
      5. Appointment Requests via a Web Application
        1. Opening Up the Composite to a New Message Producer
      6. Decoupling the Database Adapter Service
        1. Decoupling the PatientAppointmentService BPEL Process
      7. Summary
    5. 8 Rules Rule—on Decision Services
      1. Deriving the Type of the Appointment
        1. Creating a Business Rule Service Component
      2. Separating Out Business Logic Using Business Rules
        1. The Rationale Behind Business Rules
        2. Business Rule Architecture
      3. System Parameters and Global Formulas
        1. Setting Up the Central Library of System Parameters
        2. Adding Formulas to the Central Library
      4. Using a Decision Table to Establish the Appointment’s Priority
        1. Introducing the Decision Table at Starbucks
        2. Logic for Determining the Appointment’s Priority
      5. Summary
    6. 9 Event-Driven Architecture for Super Decoupling
      1. Event-Driven Architecture for Super Decoupling
        1. Introducing the Event Delivery Network
      2. First Round with EDN: Consuming Events
        1. Synchronizing Patient Data Using the Event Delivery Network
        2. Creating Picky Subscriptions Using Filter Expressions
      3. Publishing Patient Details Change Events
        1. Publishing Database Events via Advanced Queuing
        2. Publishing EDN Events from BPEL Components
      4. Event Delivery Network in SCA and BPEL
        1. Analyzing the SCA Configuration Around EDN and Events
      5. Decoupling Two-way Services Using the Discussion Forum Approach
        1. Introducing the Discussion Forum Pattern
        2. A First Stab at the Decoupling from a Two-way Service Using the Discussion Forum Approach
        3. The Discussion Forums Pattern in Action
        4. Extending the Event-based Patient Data Service
        5. Judging the Discussion Forum Pattern
      6. Summary
    7. 10 The Missing Link: The Human Service Provider
      1. Introducing the Human Task Service
        1. Architecture of the Human Task Service
        2. Exploring the Task Service in Detail
      2. Defining the First Human Task—Approve Highest Priority
        1. Steps for Implementing the Human Task ArbitrateHighPriority
        2. Extend the Task ArbitrateHighPriority with Notification and Group Assignment
      3. The Scheduler Service—Beyond Mere Decisions
        1. Tasks with Complex Outcomes
      4. Acceptance of New Patient: Complex Task Routing
        1. Accepting a New Patient
        2. Integrate the Task in the PatientDataService BPEL Component
        3. See Some Action: Requesting an Appointment for a New Patient
      5. Advanced Features for Human Tasks
        1. Business Rules for Task Allocation
        2. Java and WebService API for Human Workflow Services
        3. Todo List Service Portlet in WebCenter
        4. Database Views for Inspecting Task Details
        5. Using Excel as an Alternative Worklist Application
        6. Human Task Callbacks
        7. Custom Task Allocation and Escalation Mechanisms
      6. Summary
    8. 11 Business Process Management with BPEL and BPMN
      1. Business Process Management (BPM)
        1. BPM from an Architectural Point of View
        2. Design Guidelines
        3. Tools to Facilitate BPM Efforts
      2. Implementing Business Processes Through BPEL and Human Tasks
        1. “Accept New Patient” as a Multitask Process
      3. Introducing BPMN Service Components
        1. Comparing BPMN and BPEL
        2. Auxiliary Applications for BPMN Processes
        3. Designing the “Treatment Approval” Workflow Using BPMN
        4. Simulate the Execution of the Business Process
        5. Implement the Treatment Approval Process
        6. Run the Business Process and Track Its Progress
      4. Revising the Business Process
        1. Online Redefinition of the BPM Process Through the Process Composer
        2. Running the Revised Business Process
      5. Summary
    9. 12 Leveraging Java in Composite Applications
      1. Java Integration in Various Ways
        1. JMS Adapter Services
        2. EJB Service Adapter and ADF Binding
        3. Socket Adapter
        4. Spring Context Component
        5. Java Inside
        6. BPEL Entity Variables Bound to Service Data Objects
        7. Invoking SOA Suite from Java
      2. Using the JMS Adapter to Loosely Couple with Java Applications
        1. Using the JMS Adapter to Integrate with the Finance Department’s Java Application
      3. Embedding Java Logic in BPEL Processes
        1. Using Embedded Java in a BPEL Process
      4. The Spring Context Service Component for Custom Java Service Components
        1. Using the Spring Context Service Component
      5. Leveraging the Outbound EJB Binding
        1. Create the EJBs and Configure the EJB Adapter Reference
      6. Exposing SOA Composite Applications as EJB
        1. Inbound EJB Binding
        2. Inbound ADF Binding
      7. Summary
    10. 13 Enterprise-Level Decoupling with Oracle Service Bus
      1. Introducing the Oracle Service Bus
        1. Functions Performed by the Oracle Service Bus
        2. OSB at St Matthews
        3. Oracle Service Bus Product History and Architecture
      2. Sending Invoices to Patients Who Had Appointments
        1. Decoupling Between Business Domains
      3. The PatientAppointmentService and External Parties
        1. Adding a Virtualization Layer
      4. Requesting the Appointment Status via E-mail
        1. Inbound and Outbound E-mail Transport in OSB
        2. Implementing the RequestAppointmentStatusPerEmail Proxy Service
        3. Service Result Caching for the Retrieve Appointment Status Business Service
      5. Requesting the Appointment Status via REST
        1. RESTifying OSB Services
      6. Parallel Processing of Appointment Requests Using Split-Join
        1. Parallel and Batch-wise Processing in OSB
      7. Choosing Between OSB and SCA Composites (and Mediators)
        1. Rules of Thumb for Choosing Between OSB and SCA Composite
      8. Summary
    11. 14 Service Components and Composite Applications According to SCA
      1. Artifacts According to the SCA Specification
        1. Service Components
        2. Service Composites
      2. The SCA Way of Designing and Developing Applications
        1. Reuse of Service Components and Composites
        2. Nested Service Composites
      3. Granularity of Service Composites
        1. Service Composites Are the Unit Of…
        2. Splitting or Merging Service Composites
      4. Summary
  10. PART III
    1. 15 For Your Eyes Only
      1. The Case for Security
      2. IT Security
        1. Security and SOA
        2. So What Exactly Is IT Security in a World of Services?
        3. Best Practices for Applying IT Security
        4. Transport Versus Message Security
        5. Agents and Gateways Pattern
      3. Security in Oracle Fusion Middleware 11g
        1. Security Overview
        2. Oracle Web Services Manager (OWSM)
      4. Case: Securing SOA Composites
        1. Inspecting the SOA Composite
        2. Identity Administration
        3. Authentication Using WS-Security
        4. Authorization Using WS-Security
        5. Ensuring Integrity and Confidentiality Using Transport Security
        6. Monitoring Access to the BPEL Component
        7. Applying Security Using JDeveloper
      5. Summary
    2. 16 What Is Going On: Monitoring SOA Composite Applications
      1. Monitoring Instances of Composite Applications
        1. Dashboard and Aggregate Metrics
        2. Instance Inspection
        3. Enriching the Composite Instance Audit Trail
      2. Responding to Exceptions in Composite Execution
        1. Policy-based Fault-Handling Framework
        2. Rejected Messages
      3. Managing Composite Instances
        1. Deleting Composite Instances
      4. Summary
    3. 17 Lifecycle Management: Testing and Dealing with Environmental Change
      1. Building and Deploying SOA Composite Applications
        1. Pre- or Post-Deployment Operations
        2. Compiling, Building, and Deploying from JDeveloper
        3. Building and Deploying from the Command Line
        4. Deploying Through the Enterprise Manager Console
      2. Environmentally Friendly Customization Using Configuration Plans
        1. Creating Configuration Plans
        2. Applying a Configuration Plan During Deployment
      3. Automated Unit Testing for Composite Applications
        1. Automated Testing
        2. Unit Testing in SOA Suite 11g
      4. Embracing Change
        1. Dynamically Adjusting Application Behavior
        2. Changing Composite Applications
      5. Summary
    4. 18 Tactical Management and Governance
      1. Introducing Governance
        1. Implementing Governance
      2. MDS Repository for Managing and Reusing Shared Artifacts
        1. Using MDS with SOA Suite 11g
        2. Administration of MDS Repositories
      3. Service Inventory for Gathering and Publishing
        1. DIY Service Registry
        2. Oracle Service Registry
        3. Oracle Enterprise Repository
      4. Summary
  11. PART IV
    1. 19 From Live Data to Real-time Insight and Action Using Complex Event Processing and Business Activity Monitoring
      1. Sorting Out the Real-time Data Avalanche
        1. Complex Event Processing
        2. Event Processing and Monitoring in the SOA Suite
      2. Analyzing Continuous Data Streams Through Complex Event Processing
        1. Data-rich Business Areas, Ready for the Harvest
        2. The Product Architecture of Complex Event Processor
      3. Monitoring Temperature Sensors
        1. Getting Started with CEP
        2. Creating the CEP Application TemperatureReadingsProcessor
        3. Test Run: Pinpointing a Malfunctioning Sensor
      4. Promotion from a Simple, Anonymous Signal to a Business Event
        1. Integrating CEP with SOA Composites
      5. Oracle BAM: Real-time Business Activity Monitoring
        1. Business Scenarios for BAM
        2. The BAM Product Architecture
      6. Feeding the Output from the Complex Event Processor into the Business Activity Monitoring
        1. Reporting on Temperature Sensor Readings
        2. Producing an Alert upon Fierce Temperature Deviations
      7. Integrating SOA Composites into Business Activity Monitoring
        1. BAM Adapter: Monitoring New Patient Appointments
        2. Sending Appointment Status Updates to BAM
        3. Creating the St Matthews Appointment Dashboard
        4. BAM Detecting the Scheduling Non-Event
      8. Fine-grained BPEL Tracking Using BAM Sensor Actions
        1. Introducing the BAM Sensor Action
        2. Monitoring the Service Level of the Patient Data Service
      9. Tracking BPEL Process Execution Using Business Activity Monitoring and the Monitor Express
        1. Applying Monitors to the PatientAppointmentService BPEL Process
        2. Seeing Monitor Express in Action
      10. Summary
    2. 20 ADF as UI Glue (and More) in FMW
      1. Very-High-Level Architecture of ADF
      2. Custom User Interface to Request an Appointment
        1. Developing the Web Application Using ADF
      3. Creating a Custom Human Task Form for ScheduleAppointment
        1. Developing Custom User Interfaces for Human Tasks
      4. Creating Real-time Dashboards Based on BAM in Custom ADF Applications
        1. Implementing the Appointment Dashboard as a Custom ADF Application
      5. ADF Business Components Feeding Events into the EDN
        1. Publishing the PatientHasMoved Event from ADF Business Components
        2. Creating a SOA Composite Application to Consume PatientHasMoved Events
      6. Improving the Efficiency and Elegance of the PatientDataService Using SDO-Bound BPEL Variables—Tighter Data Integration for BPEL Processes
        1. BPEL Entity Variables Bound to Service Data Objects
        2. Infusing the PatientDataService Application with SDO Interaction
        3. An Entity Variable Has a Live Connection with the SDO
        4. Implementing the Retrieve Patient Operation
      7. Summary
    3. 21 The Bigger Picture: SOA for User Interfaces, SaaS, and the Cloud
      1. Integration at the User Interface Level
        1. Alternative Methods for User Interface Integration
      2. Software as a Service and SOA Across the Cloud
        1. Concerns, Risks, and Challenges
        2. Requirements for SaaS Applications
      3. Summary
  12. A Migration from SOA Suite 10g to 11g
    1. Overview of the Migration
    2. Run-time Environment
    3. Software Running on OC4J
    4. Web Services
    5. Moving from Different Standards and Technologies to SCA
    6. Historical Proliferation of ESB and BPEL Components
    7. Reusability Is the Key!
    8. Migrating ESB and BPEL 10g Projects
    9. Upgrading SOA Suite 10g Projects Using JDeveloper 11g
    10. Upgrading SOA Suite 10g Projects Using Ant
    11. Comparing 10g and 11g Project Files
    12. Summary
  13. Index