Book Details

ISBN 139781847193551

Paperback652 pages

Book Description

We are moving towards a standards-based Service-Oriented Architecture (SOA), where IT infrastructure is continuously adapted to keep up with the pace of business change. Oracle is at the forefront of this vision, with the Oracle SOA Suite providing the most comprehensive, proven, and integrated tool kit for building SOA based applications.

Developers and Architects using the Oracle SOA Suite, whether working on integration projects, building composite applications, or specializing in implementations of Oracle Applications, need a hands-on guide on how best to harness and apply this technology.

This book will guide you on using and applying the Oracle SOA Suite to solve real-world problems, enabling you to quickly learn and master the technology and its applications.

The initial section of the book is aimed at providing you with a detailed hands-on tutorial to each of the core components that make up the Oracle SOA Suite; namely the Oracle Service Bus, BPEL Process Manager, Human Workflow, Business Rules, and Business Activity Monitoring. Once you are familiar with the various pieces of the SOA Suite and what they do, the next question will typically be: "What is the best way to combine / use all of these different components to implement a real-world SOA solution?"

Answering this question is the goal of the next section. Using a working example of an online auction site (oBay), it leads you through key SOA design considerations in implementing a robust solution that is designed for change. Though the examples in the book are based on Oracle SOA Suite 10.1.3.4 the book will still be extremely useful for anyone using 11g.

The final section addresses non-functional considerations and covers the packaging, deployment, and testing of SOA applications; it then details how to use Web Service Manager to secure and administer SOA applications.

Table of Contents

Chapter 1: Introduction to Oracle SOA Suite

Service-oriented architecture in short

Why SOA is different

SOA Suite components

SOA Suite architecture

JDeveloper

Other components

Summary

Chapter 2: Writing Your First Service

Installing SOA Suite

Writing our first BPEL process

Writing our first proxy service

Summary

Chapter 3: Service Enabling Existing Systems

Types of systems

Java Connector Architecture

Creating services from files

Creating services from databases

Summary

Chapter 4: Loosely Coupling Services

Coupling

Reducing coupling in stateful services

Oracle Service Bus design tools

Service Bus overview

Virtualizing service endpoints

Virtualizing service interfaces

Summary

Chapter 5: Using BPEL to Build Composite Services and Business Processes

Basic structure of a BPEL process

A simple composite service

Summary

Chapter 6: Adding in Human Workflow

Workflow overview

Leave approval workflow

Processing tasks with the worklist application

Improving the workflow

Managing the assignment of tasks

Summary

Chapter 7: Using Business Rules to Define Decision Points

Business Rule concepts

Using the Rule Author

Creating a Decision Service

Using functions

Summary

Chapter 8: 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

Chapter 9: oBay Introduction

oBay requirements

Defining our blueprint for SOA

One additional layer

oBay high-level architecture

Downloading and installing oBay application

Summary

Chapter 10: 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

Chapter 11: Building Business Services

Build versus reuse

Reusing existing functionality directly

Modifying existing functionality using service bus

Creating services from scratch

Summary

Chapter 12: Building Validation into Services

Using XML Schema validation

Using Schematron for validation

Putting validation in the underlying service

Layered validation considerations

Summary

Chapter 13: Error Handling

Business faults

Handling business faults in BPEL

Using the fault management framework

Handling faults within the service bus

Summary

Chapter 14: Message Interaction Patterns

Message routing

Using BPEL correlation sets

Message aggregation

Scheduling services

Summary

Chapter 15: Workflow Patterns

Managing multiple participants in a workflow

Using the workflow API

Summary

Chapter 16: 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

Chapter 17: 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

Chapter 18: Packaging and Deployment

The need for packaging

SOA Suite packaging

Deployment architectures

Summary

Chapter 19: 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

Chapter 20: Defining Security and Management Policies

Security and management challenges in the SOA environment

Securing services

Creating gateways and agents

Defining policies

Monitoring services

Summary

What You Will Learn

Learn to use key technology adapters to service-enable existing systems

Build implementation-agnostic services using the Oracle Service Bus

Assemble services to build composite services and long-running business process using BPEL

Initiate and discover how business rules can be used to externalize "decision points" in a BPEL process

Incorporate Human Workflow into your processes and use Business Rules to provide greater agility

Design XML schemas and service contracts for improved agility, reuse, and interoperability

Examine different approaches either from scratch or by re-using existing logic for building new business services

Observe the protocols available in addition to SOAP over HTTP for invoking Web Services and the advantages they provide

Create, deploy, and run test cases that automate the testing of composite applications

Secure and administer SOA applications using Web Service Manager

Architect, design, and implement your overall SOA Solution

Design your Web Service contracts for interoperability and maintainability

Section 1 – Getting Started

Chapter 1: Introduction to Oracle SOA Suite: An initial introduction to the Oracle SOA Suite and its various components.

Chapter 2: Writing your first service: A hands-on introduction to the core components of the Oracle SOA Suite, namely the Oracle BPEL Process Manager and the Oracle Service Bus.

Chapter 3: Service-enabling existing systems: Looks at a number of key technology adapters and how we can use them to service-enable existing systems.

Chapter 4: Loosely coupling services: Describes how we can use the Oracle Service Bus to build services that are implementation-agnostic.

Chapter 5: Building composite services and business processes: Covers how to use BPEL to assemble services to build composite services and long-running business process.

Chapter 6: Adding in human workflow: This chapter looks at how human tasks can be managed through workflow activities embedded within a BPEL process.

Chapter 7: Using business rules to define decision points: This chapter introduces business rules and how we can use them to externalize "decision points" in a BPEL process.

Chapter 8: Building real-time dashboards: This chapter looks at how Business Activity Monitoring (BAM) can be used to give business users a real-time view into how business processes are performing.

Section 2 – Putting it all together

Chapter 9: oBay introduction: Provides a blueprint for our SOA architecture, highlighting some of the key design considerations and describing how they fit our architecture for oBay.

Chapter 10: Designing the service contract: Gives guidance on how to design XML schemas and service contracts for improved agility, reuse, and interoperability.

Chapter 11: Building business services: Examines different approaches for building new business services either from scratch or by re-using existing logic.

Chapter 12: Building validation into services: Examines how we can implement validation within a service using XSD validation, Schematron, and Business Rules.

Chapter 13: Error handling: This chapter examines strategies for handling system and business errors, with detailed coverage of the BPEL Fault Management Framework.

Chapter 15: Workflow patterns: Looks at how to implement workflows involving complex chains of approval and how to use the Workflow Service API.

Chapter 16: Using business rules to implement services: Here we look at the Rules engine’s inferencing capabilities, and how we can use them to implement types of business services.

Chapter 17: The importance of bindings: Looks at the protocols available in addition to SOAP over HTTP for invoking web services and the advantages they provide.

Section 3 – Other considerations

Chapter 18: Packaging and deployment: Examines how to package up a SOA application for deployment into environments such as test and production.

Chapter 19: Testing composite applications: Looks at how to create, deploy, and run test cases that automate the testing of composite applications.

Chapter 20: Defining security and management policies: Details how to use Web Service Manager to secure and administer SOA applications.

Authors

Antony Reynolds

Antony Reynolds has worked in the IT industry for more than 25 years, first getting a job to maintain yield calculations for a zinc smelter while still an undergraduate. After graduating from the University of Bristol with a degree in Mathematics and Computer Science he worked first for a software house, IPL, in Bath, England, before joining the travel reservations system Galileo as a development team lead. Galileo gave him the opportunity to work in Colorado and Illinois where he developed a love for the Rockies and Chicago style deep pan pizza.

Since joining Oracle in 1998 he has worked in sales consulting and support. He currently works as a sales consultant helping customers across North America realize the benefits of standards based integration and SOA. Whilst at Oracle he has co-authored the Oracle SOA Suite 10g Developers Guide and the Oracle SOA Suite 11g R1 Developers Guide.

Antony lives in Colorado with his wife and four children who make sure that he is gainfully employed playing games, watching movies, and acting as an auxiliary taxi service. Antony is a slow but steady runner and can often be seen jogging up and down the trails in the shadow of the Rocky Mountains…

Matt Wright

Matt Wright is a director at Rubicon Red an independent consulting firm helping customer’s enable enterprise agility and operational excellence through the adoption of emerging technologies such as Service-Oriented Architecture (SOA), Business Process Management (BPM) and Cloud Computing.

With over 20 years experience in building enterprise scale distributed systems, Matt first became involved with SOA shortly after the initial submission of SOAP 1.1 to the W3C in 2000, and has worked with some of the early adopters of BPEL since its initial release in 2002. Since then, he has been engaged in some of the earliest SOA-based implementations across EMEA and APAC.

Prior to Rubicon Red Matt held various senior roles within Oracle, most recently as Director of Product Management for Oracle Fusion Middleware in APAC, where he was responsible for working with organizations to educate and enable them in realizing the full business benefits of SOA in solving complex business problems.

As a recognized authority on SOA, Matt is a regular speaker and instructor at private and public events. He also enjoys writing and publishes his own blog (http://blog.rubiconred.com). Matt holds a B.Sc. (Eng) in Computer Science from Imperial College, University of London.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.