PacktLib: Oracle SOA Suite 11g R1 Developer's Guide

Oracle SOA Suite 11g R1 Developer's Guide

Credits

Foreword

About the Authors

Acknowledgement

Acknowledgement

About the Reviewers

Preface

Getting Started

Introduction to Oracle SOA Suite

Service-oriented architecture in short

Why SOA is different

Service Component Architecture (SCA)

SOA Suite components

SOA Suite architecture

JDeveloper

Other components

Summary

Writing your First Composite

Installing SOA Suite

Writing your first BPEL process

Writing our first proxy service

Summary

Service-enabling Existing Systems

Types of systems

Java Connector Architecture

Creating services from files

Creating services from databases

Summary

Loosely-coupling Services

Coupling

Reducing coupling in stateful services

Service abstraction tools in SOA Suite

Oracle Service Bus design tools

Service Bus overview

Virtualizing service endpoints

Virtualizing service interfaces

Using the Mediator for virtualization

Summary

Using BPEL to Build Composite Services and Business Processes

Basic structure of a BPEL process

A simple composite service

Summary

Adding in Human Workflow

Workflow overview

Leave approval workflow

Processing tasks with the worklist application

Improving the workflow

Managing the assignment of tasks

Summary

Using Business Rules to Define Decision Points

Business rule concepts

Leave approval business rule

Calling a business rule from BPEL

Using functions

Using decision tables

Summary

Using Business Events

How EDN differs from traditional messaging

A sample use case

Event Delivery Network essentials

EDN publishing patterns with SOA Suite

Monitoring event processing in Enterprise Manager

Summary

Building Real-time Dashboards

How BAM differs from traditional business intelligence

BAM architecture

Monitoring process state

Monitoring process status

Monitoring KPIs

Summary

Putting it All Together

oBay Introduction

oBay requirements

Defining our blueprint for SOA

Where the SOA Suite fits

oBay high-level architecture

Summary

Designing the Service Contract

Using XML Schema to define business objects

Using WSDL to define business services

Using XML Schema and the WSDL within SOA Suite

Strategies for managing change

Summary

Building Entity Services Using Service Data Objects (SDOs)

Service Data Objects

Implementing a Service Data Object

Using the ListingSDO in an SOA composite

Summary

Building Validation into Services

Validation within a composite

Using XML Schema validation

Using Schematron for validation

Putting validation in the underlying service

Layered validation considerations

Summary

Error Handling

Business faults

Handling business faults in BPEL

Handling business faults in Mediators

Using the fault management framework

Defining bindings on the composite

Handling faults within the Service Bus

Summary

Advanced SOA Suite Architecture

Relationship of infrastructure to service engines

Composite execution and suspension

Threading and message delivery in SOA Suite

Transactions

Clustering

Summary

Message Interaction Patterns

Messaging within a composite

Message addressing

Using BPEL correlation sets

Message aggregation

Scheduling services

Summary

Workflow Patterns

Managing multiple participants in a workflow

Using the workflow API

Flex fields

Getting task details

Updating a task instance

Using the updateTask operation

Updating the task payload

Updating the task flex fields

Updating the task outcome

Summary

Using Business Rules to Implement Services

How the rule engine works

Using business rules to implement auction

Using a global variable to reference the resultset

Writing our auction rules

Performance considerations

Summary

Other Considerations

Packaging and Deployment

The need for packaging

SOA Suite packaging

Summary

Testing Composite Applications

SOA Suite testing model

One-off testing

Automated testing

The composite test framework

Composite test suites

Regression testing

System testing

Composite testing

Component testing

Unit testing

Performance testing

User interface testing

Summary

Defining Security and Management Policies

Security and management challenges in the SOA environment

Securing services

Defining policies

Monitoring services

Summary

Index