You are previewing Oracle SOA Suite 12c Handbook.
O'Reilly logo
Oracle SOA Suite 12c Handbook

Book Description

Master Oracle SOA Suite 12c

Design, implement, manage, and maintain a highly flexible service-oriented computing infrastructure across your enterprise using the detailed information in this Oracle Press guide. Written by an Oracle ACE director, Oracle SOA Suite 12c Handbook uses a start-to-finish case study to illustrate each concept and technique. Learn expert techniques for designing and implementing components, assembling composite applications, integrating Java, handling complex business logic, and maximizing code reuse. Runtime administration, governance, and security are covered in this practical resource.

  • Get started with the Oracle SOA Suite 12c development and run time environment
  • Deploy and manage SOA composite applications
  • Expose SOAP/XML REST/JSON through Oracle Service Bus
  • Establish interactions through adapters for Database, JMS, File/FTP, UMS, LDAP, and Coherence
  • Embed custom logic using Java and the Spring component
  • Perform fast data analysis in real time with Oracle Event Processor
  • Implement Event Drive Architecture based on the Event Delivery Network (EDN)
  • Use Oracle Business Rules to encapsulate logic and automate decisions
  • Model complex processes using BPEL, BPMN, and human task components
  • Establish KPIs and evaluate performance using Oracle Business Activity Monitoring
  • Control traffic, audit system activity, and encrypt sensitive data

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright Page
  4. Contents
  5. Foreword
  6. Acknowledgments
  7. Introduction
  8. PART I Introducing Saibot Airport, SOA, and the Oracle SOA Suite
    1. 1 Saibot Airport Reaching for the Future
      1. Saibot Airport
      2. Business Vision and Strategy
        1. Business Objectives
      3. IT Objectives
      4. Architecture to Enable the Future
        1. The Triangle
        2. Domains of Data
        3. Service-Oriented Architecture
        4. Event-Driven Architecture
      5. On Technology and Vendor Selection
        1. Selection Approach
      6. Processes and Organization
        1. Service-Oriented Architecture
        2. Tools
        3. Organization and Roles
        4. Looking Forward
      7. Summary
    2. 2 Overview of Oracle Fusion Middleware and SOA Suite 12c
      1. Oracle Technology Stack
        1. Cloud
      2. Oracle Fusion Middleware
        1. History
        2. Oracle Fusion Middleware: The Cloud Platform for Digital Business
      3. Overview of SOA Suite 12c
        1. SCA Engine for Running SOA Composite Applications
        2. Service Bus for Lean and Mean Message Processing
        3. Adapters to Bridge to Technologies and Protocols
        4. Event Delivery Network
        5. Other Components in the Box
        6. Fusion Middleware infrastructure
        7. Close Associates
      4. Getting Started with SOA Suite 12c
        1. Quick Starting the SOA Suite 12c Development Environment
        2. Creating the Full Blown SOA Suite 12c Run-Time Environment
      5. Summary
  9. PART II Elementary Services
    1. 3 Exposing SOAP and REST Services Using Service Bus
      1. Introducing Service Bus
      2. Developing the Temperature Conversion Service
        1. Starting a New Service Bus Project
        2. Importing the Design Resources
        3. Create the Proxy
        4. Create the Pipeline
        5. Run the TemperatureConversionService
      3. Extending the Temperature Conversion Service with Validation, Exception Handling and Reporting
        1. The V in VETRO—Adding Validation
        2. Exception Handling in the Pipeline
        3. Monitoring Service Bus Activity
      4. Speed and Distance Conversions through Routing to External Services
        1. Configure a Business Service for an External Conversion Service
        2. Create Proxy ConversionService
        3. Implement the Generated ConversionPipeline
        4. Run/Test Service
        5. Routing Messages to the TemperatureConversionPipeline
      5. Exposing a REST/JSON Endpoint for the Temperature Conversion Service
        1. Creating a REST Conversion Service Interface with JSON Response
      6. Summary
        1. More about the Service Bus
    2. 4 Accessing Database and File System through Outbound Technology Adapters
      1. Introducing Technology Adapters
        1. Design Time
        2. Run Time
      2. Saibot Airport and Its Data
      3. Retrieving Information from the Database
        1. Get Going with Application and Service Bus Project
        2. Database Adapter—Read SQL Query Airports
        3. Configuration of Run-Time Server
        4. Test Business Service
        5. Implement Proxy Service and Pipeline
        6. Test the AirportServicePS Proxy Service
      4. Using the Database Adapter to Insert Records
        1. Simple Database Record Insert or Update
        2. Invoke Stored Procedure
      5. File Adapter for Updating Files
        1. Prepare Service Bus Project for FlightReportService
        2. Configure Outbound File Adapter
        3. Implement Proxy and Pipeline
        4. Test the FlightReportService
        5. Enhance FlightReportService to Use Dynamic Directory and File Names
      6. Reading from the File System Using the File Adapter
        1. Configure File Adapter for Synchronous Read
        2. Implement Operational Branch for getFlightHistory
        3. Run getFlightReport in FlightReportService
      7. Remote File Adapter—Retrieving Data from Internet Resources
        1. Create Business Service to Retrieve File Contents
        2. Create the Native XML Schema Definition
        3. Update Pipeline to Retrieve Remote Data into a Local XML Variable
        4. Add Country Filtering to the Pipeline
      8. Summary
    3. 5 Introducing SOA Composite Applications
      1. Service Component Architecture
        1. Some Background on SCA
        2. SCA Composites in Oracle SOA Suite
      2. Your first composite application
        1. Prepare the JDeveloper Project
        2. Configure the Service Binding
        3. Configure the ConversionMediator
        4. Deploy the SOA Composite and Test the Temperature Conversion
      3. Extending the Initial SOA Composite Application
        1. Using XQuery for XML Manipulation
        2. Validation of Request Messages
        3. Fault Handling
        4. Add Composite Sensors for Instance Identification
      4. Add Height and Distance Conversion Support Using an External Service
        1. Create a Reference for the External Conversion Service
        2. Configure Routing Rule in Mediator
        3. Deploy and Test
      5. Exposing SOA Composites through the Service Bus
        1. Create Service Bus Project
        2. Register SOA Composite as Business Service
        3. Expose Proxy Service
        4. Deploy and Invoke
        5. Suggested Guidelines
      6. Summary
        1. More on Mediator
    4. 6 One-Way Services and More Protocols
      1. Flight Updates through Email and Chat Using the UMS Adapter
        1. Flight Updates Reported through Email Notifications
        2. Add Flight Updates through Instant Messaging
      2. Feeding the Financial Queue through JMS
        1. Introducing JMS
        2. Setup the JMS Destination for AircraftMovement Reports in WebLogic
        3. Implementation of the AircraftMovementService with the JMS Transport
        4. Alternative Implementation Using the JCA JMS Adapter
      3. Content-Based Routing in Service Bus Pipelines
        1. Switching between JMS Transport and JCA JMS Adapter Using Conditional Branching
      4. Using AQ instead of JMS
        1. Configure Advanced Queue in Database
        2. Configure AQ Adapter Connection in WebLogic Server
        3. Configure AQ Adapter Binding
        4. Add the AQ Path to the Conditional Branch in the AircraftMovementPipeline
        5. Run and Test
      5. Invoking an Enterprise Java Bean (EJB)
        1. Prepare the Financial Enterprise Java Bean to Invoke
        2. Calling Out to EJBs from Service Bus Composites
        3. Calling Out to EJBs from SOA Composite Applications
      6. Expose Inbound EJB Interfaces
      7. Summary
  10. PART III Composite Services
    1. 7 Composite Services with Service Bus
      1. Creating the Bare Bones FlightScheduleService
        1. Set Up the FlightScheduleService
      2. Implementing Validation
        1. Add XSD Validation
        2. Add XQuery-Based Constraints Checking
        3. Airline Checks and Mapping with Domain Value Map
      3. Using Callouts for Validation and Enrichment
        1. Java Callout to Execute Content-Based Logic
        2. Service Callout to a Business Service to Find the Allocated Slot
        3. Service Callout to a Pipeline within the Service Bus Project
      4. Add a Template-Based Logging Pipeline
        1. Create the Pipeline Template with Logging Capabilities
        2. Add a Logging Pipeline to the FlightScheduleService
      5. Parallel Processing Using Split-Join
        1. Implementing the Aggregator Pattern through a Static Split-Join
        2. Dynamic Split-Join for Parallel Processing of Multiple Scheduled Flights
      6. Summary
    2. 8 Composite Services with SOA Composites Using the BPEL Component
      1. Using BPEL to Create the Bare Bones FlightScheduleService
        1. Quick Introduction to BPEL
        2. First Steps with the FlightScheduleService and with BPEL
      2. Implementing Validation on Requested Flight Schedules
        1. Prepare the Multiphase BPEL Process Structure
        2. Add Schema Validation
        3. Fault Handling for Scope SchemaValidation
        4. Return Processing Results upon Validation Failure or Continue
        5. Implement Custom Validations Using XQuery
        6. Airline Checks and Mapping with Domain Value Map
      3. Reusable Logic through Inline Subprocess
        1. Create Inline Subprocess to Report a Validation Error
        2. Call the Inline Subprocess from Scope AirlineValueMap
        3. Testing the FlightScheduleService with the Subprocess to Handle Airline Mapping Errors
      4. Using Embedded Java for Validation and Enrichment
        1. Embedded Java Activity to Execute Content-Based Logic
      5. External Callouts or Invoking Services from a BPEL Process
        1. Invoke the SlotService from the BPEL Process
      6. FinancialDepartmentAirlineCheck from the BPEL Process
        1. Turn BPEL Component into Component Template
        2. Create and Wire the BPEL Process Based on Component Template
        3. Invoke the Financial Department Check of the Airline
        4. Deploy and Test
      7. Reorganizing Scope ProcessingAndRouting with Parallel Activities
        1. Introducing the Parallel Flow Activity to the ProcessingAndRouting Scope
      8. Summary
    3. 9 Coherence Integration to Reduce Load and Speed Up Response
      1. Introducing Cross Instance Shared Memory Using Coherence
        1. Create Slow SOA Composite
        2. Speed It Up with Cache Support
      2. Add Some Coherence-Powered Memory to the FlightService
        1. Introducing the FlightService
        2. Add Cache Support
        3. Add Refresh Cache Strategy
      3. Leverage Service Bus Result Cache
        1. Expose FlightService on the Service Bus
        2. Disable Cache Support in FlightService SOA Composite
        3. Switch on Service Result Cache
      4. Summary
    4. 10 Embedding Custom Logic Using Java and Spring Component
      1. Simple intro—First Steps with the Spring Component
        1. The Greeter Service Based on the Java Greeter Interface
      2. Add the Twitter Channel to the FlightNotificationService
        1. Prepare the Application for Twitter Access
        2. Create the Java Class to Send Twitter Direct Messages
        3. Configure the Spring Context Component
        4. Engage the Spring Component
        5. Try Out the Twitter Message Master
      3. Create Spoken Flight Status Announcement and Put in Dropbox
        1. Convert Text to Speech
        2. Publish File to Dropbox
        3. Compose Flight Announcement
        4. Extend TwitterChannel to Publish Updates
        5. Wiring the Pieces Together
        6. The Complete End-to-End Audio Channel
      4. Summary
    5. 11 Business Rules to Capture Business Logic to Automate Decisions
      1. Calculating the Airport Charge for a Flight—Round One
        1. Prepare SOA Composite Application
        2. Implement Business Rule
        3. Test the Business Rule
        4. Deploy and Test the Composite
        5. Extend Business Rule with Cargo Consideration
        6. Use SOA Composer for Online Manipulation of Business Rule Parameters
      2. Introduction of the Decision Table
        1. Decision Table for the Daily Starbucks Decision-Making Process
      3. Extended Airport Charge Calculation—Using a Decision Table
        1. Prepare Business Rule for the Decision Table
        2. Create the Decision Table for Deriving the Surcharge Factor
        3. Update Test Suite
        4. Deploy and Test
      4. Summary
  11. PART IV Asynchronous Services and Events
    1. 12 Asynchronous Services with SOA Composites and Service Bus
      1. Exposing Asynchronous Services
        1. Implement the Asynchronous ThoughtfulGreeterService with a BPEL Component
        2. Implement Asynchronous Service with Mediator
        3. Expose Asynchronous Service Interface with Service Bus
      2. Interacting with Asynchronous Interfaces
        1. Invoke an Asynchronous Service from a BPEL Component—Synchronous Interface on Top of Asynchronous Back End
        2. Invoking an Asynchronous Service in Service Bus
      3. Request Proposal for Airport Service
        1. Introducing the AircraftService
        2. Implementing the Asynchronous AircraftService with BPEL
        3. Implementing the AircraftServiceOrchestrator
        4. Implementing the Asynchronous AircraftService with ServiceBus
        5. Extend the AircraftServiceOrchestrator
      4. Introduce Some Asynchronous Interaction to the BPEL Process
        1. Add Deadline Monitor to AircraftServiceOrchestrator
        2. Use Correlation to add a Cancel Operation to the AircraftServiceOrchestrator
        3. Retrieve Current RFP Status from Running AircraftServiceOrchestrator
      5. Summary
    2. 13 Inbound Adapters—Polling Database, Consuming JMS, and Receiving Emails
      1. Database Polling for Staged Slot Requests
        1. Prepare Environment
        2. Create SOA Composite
        3. Deploy and Test
        4. Inbound Adapters and Exceptions
        5. Scaling Inbound Adapter Activity
      2. JMS Queue Reading on Behalf of the Financial Department
        1. Create the Service Bus Project
        2. Add the Inbound JMS Adapter Binding
        3. Configure JMS Adapter
        4. Deploy and Test
      3. The Airport Information Desk—Receiving Emails
        1. Create the SaibotHelpdesk SOA Composite
        2. Configure Email Driver
        3. Deploy and Test
      4. Miscellaneous Inbound Interactions
      5. Summary
    3. 14 Using the Enterprise Scheduler Service
      1. Switch Off the Inbound Database Adapter for Processing Portal Slot Requests
        1. Create Schedules
        2. Apply Schedules for Activation and Deactivation of Inbound Database Adapter
        3. Test Switching Off and on of Database Adapter Binding
      2. Schedule Daily Flight Data Transfer
        1. Create SOA Composite PresentFromFuture
        2. Create and Schedule daily execution of PresentFromFuture with ESS
        3. Turn Present Flight Data Creation into an ESS PL/SQL Job
      3. Delayed Invocation of ESS Job from SOA Composite
        1. Add BPEL Process to Composite
        2. Forward Response from DB Adapter to BPEL Process
        3. Environment Preparation
        4. Deploy and Test
      4. Summary
    4. 15 The Event Delivery Network
      1. Event-Driven Architecture for Super Decoupling
        1. Introducing the Event Delivery Network
      2. The FlightStatusUpdate Event
        1. Define the Business Event FlightStatusUpdate
        2. Consume FlightStatusUpdate from EDN
      3. Air Carrier Suspended Event
        1. Consume EDN Event into New BPEL Process
        2. Consume into Running BPEL Process AircraftServiceNegotiationProcessor
      4. More about the Event Delivery Network
        1. Transactions, Security, and Scalability
        2. Missing Event Detection
      5. Event Exchange with EDN from Other Channels
        1. Publish FlightStatusUpdateEvent from Java Client to EDN
        2. Consume FlighStatusUpdateEvent from EDN to a Java Client
        3. Interact with EDN from Service Bus
      6. Summary
    5. 16 Fast Data Processing with Oracle Event Processor
      1. Sorting Out the Real-Time Data Avalanche
        1. Complex Event Processing
        2. Oracle Event Processor and SOA Suite
      2. Car Park Management Using Event Processor
        1. Preparation of the Development Environment
        2. The Saibot Parking OEP Application
      3. More Event Intelligence
        1. Car Stay Duration—Derived per Car and Promoted per Car Park
        2. Find Towing Candidates
      4. Publish Car Park Nearly Full events to JMS Destination
        1. Calculate the Percentage Full for Each Car Park
        2. Publish the CarParkNearlyFull Event
        3. Publish from OEP to JMS
        4. Deploy and Run—and Listen
      5. Publish Car Park Nearly Full Events to Event Delivery Network
        1. SOA Composite Application for Responding to a Nearly Full Car Park
        2. Extend OEP Application with EDN Integration
        3. Deploy and Test/Run
      6. Credit Card Theft Detection
      7. Stream Explorer
      8. Summary
  12. PART V Process Orchestration
    1. 17 The Human Task Service
      1. Introducing the Human Task Service
        1. Architecture of the Human Task Service
        2. Exploring the Task Service in Detail
      2. Simple Task Seeking Human Approval for Aircraft Service Proposal
        1. Add Human Task to Composite Application
        2. Configure Task Notifications
        3. Actionable Email
        4. Assign to Group
      3. Handcraft Proposal When Rejecting the Generated Proposal
        1. Create Task to Manually Compose a Proposal
        2. Generate the Task Form
        3. Embed Task in BPEL Process
        4. Deploy and Run
      4. Update Initial Task AssessProposal to Include Workflow for Approving Manual Proposals
        1. Create Advanced Workflow
        2. Generate the Task Form for AssessProposal
        3. Add a Second Appearance of Task AssessProposal to the BPEL Process
        4. Deploy and Run
      5. Advanced Features for Human Tasks
        1. Business Rules for Task Allocation
        2. Java and WebService API for Human Workflow Services
        3. Database Views for Inspecting Task Details
        4. Using Excel as an Alternative Worklist Application
        5. Human Task Callbacks
        6. Custom Task Allocation and Escalation Mechanisms
      6. Summary
    2. 18 Business Process Oriented BPEL
      1. Designing the Business Process: Security Accreditation for New Airport Personnel
        1. Description of the Business Process
        2. Designing the Still Abstract BPEL Process
        3. Next Steps
      2. Interaction with the LDAP Directory Using the LDAP Adapter
        1. Implement Retrieve User from LDAP
        2. Implement Add User to LDAP
        3. Deploy and Run
      3. Extending the Business Process with Business Logic
        1. The Process Implementation So Far
        2. Add Business Rule to Decide on Required Internal Screening Level
      4. Add Correlation and Implement Event Handlers
        1. Define Correlation through Properties and Property Aliases
        2. Implement the Event Handlers for Asynchronous Request Processing
      5. Fault Handling and Compensation
        1. Exceptions and Fault Handling
        2. Compensation for Faults
      6. Summary
    3. 19 Business Process Management and Adaptive Case Management
      1. Business Process Management
        1. BPM from an Architectural Point of View
        2. Design Guidelines
        3. Tools to Facilitate BPM Efforts
      2. Introducing BPMN Service Components
        1. Comparing BPMN and BPEL
        2. Auxiliary Applications for BPMN Processes
      3. Airport Accreditation Request Handling in a BPMN Process
        1. Outline SecurityCheck Process in Process Composer
        2. Add Process Implementation Details in JDeveloper
        3. Integrate BPMN Component from BPEL Process
      4. Enabling Business Users to Create the Human Task UI
      5. Adaptive Case Management to Handle Top Security Level Accreditation
        1. Introducing Adaptive Case Management
        2. Introducing the Top Security Accreditation Case
        3. Create the Outline of the Top Security Accreditation Case
        4. Case Activities and Rules
      6. Summary
    4. 20 Monitoring for Insight into Business Process Execution
      1. BPEL Monitoring Using Sensors
        1. Monitoring AirportAccreditationProcessor with BPEL Sensors
      2. BPEL Process Analytics Reported Using BAM
        1. Out of the box Process Analytics with BPEL and BAM
        2. Custom Reports and Process Specific Business Indicators
      3. Process Analytics in BPM Processes
        1. Design Time Configuration of Process Analytics
        2. Leveraging Process Analytics at Run Time
      4. Business Activity Monitoring beyond Process Analytics
        1. Introducing Business Activity Monitoring aka BAM
        2. Real-Time Monitoring of Saibot Airport Carpark Events
      5. Summary
    5. 21 Governance
      1. Reuse, Dependencies, and Coexistence
        1. Implementing Governance
      2. Granularity
        1. Granularity of SOA Composite Applications
        2. Partitions
      3. Templates in SOA Suite
        1. Templates for SOA Composite Applications
        2. Templates for Service Bus Pipelines
      4. Managing and Reusing Artifacts Using MDS and a Common Project
        1. Using MDS to Share and Consume Resources
        2. SOA Composite Based on Resources in MDS
        3. Service Bus, Common Project, and MDS
        4. Updating MDS Resources
        5. Updating the Service Bus Project ConversionService
      5. Versioning
        1. Versioning of Services
        2. Endpoints, States, and Versions of SOA Composite Applications
      6. Tools for Governance
        1. Oracle Enterprise Repository
        2. Oracle API Catalog
      7. Summary
    6. 22 Building and Deploying
      1. The Finishing Touches
        1. Integrated Debugger
        2. Refactoring
        3. SOA Composite Test Suites
        4. Quality Auditing
      2. Automating the Build Pipeline Using Maven
        1. Preparation for Using Maven
        2. Automated Compilation Using Maven
        3. Packaging with Maven
        4. Deployment by Maven
        5. Testing as Part of the Maven Build Process
        6. Using Maven for Service Bus Projects
      3. Environment Friendly
        1. Configuration Plans for SOA Composite Applications
        2. Global Tokens in SOA Composite Applications
        3. Configuration Files for Service Bus Projects
      4. Summary
    7. 23 Run-Time Administration
      1. Monitor
        1. Log files
        2. Alerts
        3. Monitor through Enterprise Manager Fusion Middleware Control
      2. (Re)Act
        1. Dynamically Adjusting Application Behavior
        2. Error Hospital and Fault Recovery
      3. Prevent or Pro-Act
        1. Throttling the Work Volume
        2. Balanced Resource Allocation
        3. Purging
      4. Summary
    8. 24 SOA Suite and Security
      1. Human Access to Run-Time SOA Suite Tooling
        1. Role-Based Authorization to Access Run-Time Tools
        2. Hide Sensitive Data in Logging and Consoles
      2. Introduction of Security in the World of Web Services
        1. Some Security Terminology
        2. Transport versus Message Security
      3. Security Products around SOA Suite
        1. Introducing Oracle Web Services Manager
      4. Authentication and Authorization of Services
        1. Preparation
        2. Authentication Using WS-Security
        3. Authorization Using WS-Security
        4. Authentication and Authorization on Service Bus Proxy Services
      5. Confidentiality and Integrity of Message Content
        1. Realizing and Enforcing Transport Level Security
        2. Implementing Message Level Confidentiality and Integrity
      6. Invoke Protected Services from SOA Suite
        1. Service Bus Calls to Secured Web Services
        2. SOA Composite Calls to Secured Web Services Requiring Authentication
      7. Auditing
        1. Fusion Middleware Audit Framework
        2. WebLogic Auditing Provider
        3. Logging Policy
      8. Summary
  13. Index