PacktLib: Oracle SOA Suite Developer's Guide

Oracle SOA Suite Developer's Guide

Credits

Foreword

About the authors

About the reviewers

Preface

Introduction to Oracle SOA Suite

Service-oriented architecture in short

Why SOA is different

SOA Suite components

SOA Suite architecture

JDeveloper

Other components

Summary

Writing Your First Service

Installing SOA Suite

Writing our 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

Oracle Service Bus design tools

Service Bus overview

Virtualizing service endpoints

Virtualizing service interfaces

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

Using the Rule Author

Creating a Decision Service

Using functions

Summary

Building Real-time Dashboards

How BAM differs from traditional business intelligence

Oracle BAM scenarios

BAM architecture

Monitoring process state

Monitoring process status

Monitoring KPIs

Summary

oBay Introduction

oBay requirements

Defining our blueprint for SOA

One additional layer

oBay high-level architecture

Downloading and installing oBay application

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 BPEL PM

Strategies for managing change

Summary

Building Business Services

Build versus reuse

Reusing existing functionality directly

Modifying existing functionality using service bus

Creating services from scratch

Summary

Building Validation into Services

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

Using the fault management framework

Handling faults within the service bus

Summary

Message Interaction Patterns

Message routing

Using BPEL correlation sets

Message aggregation

Scheduling services

Summary

Workflow Patterns

Managing multiple participants in a workflow

Using the workflow API

Summary

Using Business Rules to Implement Services

How the rule engine works

Using business rules to implement an auction

Using a global variable to reference the result set

Writing our auction rules

Performance considerations

Summary

The Importance of Bindings

The web services stack

Understanding Web Service Description Language (WSDL)

The case for different bindings

JCA bindings

Java bindings

Service bus bindings

Summary

Packaging and Deployment

The need for packaging

SOA Suite packaging

Deployment architectures

Summary

Testing Composite Applications

SOA Suite testing model

One-off testing

Automated testing

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

Creating gateways and agents

Defining policies

Monitoring services

Summary

Index