Oracle SOA Suite Developer's Guide

There is a newer version of this book available - Oracle SOA Suite 11g R1 Developer's Guide
Oracle SOA Suite Developer's Guide
eBook: $47.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $127.98    Print cover: $79.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters


  • A hands-on guide to using and applying the Oracle SOA Suite in the delivery of real-world SOA applications.
  • Detailed coverage of the Oracle Service Bus, BPEL Process Manager, Web Service Manager, Rules, Human Workflow, and Business Activity Monitoring.
  • Master the best way to combine / use each of these different components in the implementation of a SOA solution.
  • Illustrates key techniques and best practices using a working example of an online auction site (oBay).

Book Details

Language : English
Paperback : 652 pages [ 235mm x 191mm ]
Release Date : March 2009
ISBN : 1847193552
ISBN 13 : 9781847193551
Author(s) : Antony Reynolds, Matt Wright
Topics and Technologies : All Books, Enterprise Products and Platforms, Oracle Fusion Middleware, Enterprise, Oracle, SOA

Table of Contents

Chapter 1: Introduction to Oracle SOA Suite
Chapter 2: Writing Your First Service
Chapter 3: Service Enabling Existing Systems
Chapter 4: Loosely Coupling Services
Chapter 5: Using BPEL to Build Composite Services and Business Processes
Chapter 6: Adding in Human Workflow
Chapter 7: Using Business Rules to Define Decision Points
Chapter 8: Building Real-time Dashboards
Chapter 9: oBay Introduction
Chapter 10: Designing the Service Contract
Chapter 11: Building Business Services
Chapter 12: Building Validation into Services
Chapter 13: Error Handling
Chapter 14: Message Interaction Patterns
Chapter 15: Workflow Patterns
Chapter 16: Using Business Rules to Implement Services
Chapter 17: The Importance of Bindings
Chapter 18: Packaging and Deployment
Chapter 19: Testing Composite Applications
Chapter 20: Defining Security and Management Policies
  • Chapter 1: Introduction to Oracle SOA Suite
    • Service-oriented architecture in short
      • Service
      • Orientation
      • Architecture
    • Why SOA is different
      • Terminology
      • Inter-operability
      • Extension and evolution
      • Reuse in place
    • SOA Suite components
      • Services and adapters
      • ESB—service abstraction layer
      • Service orchestration—BPEL Process Manager
      • Rules
      • Security and monitoring—OWSM
      • Active monitoring–BAM
      • Business to business—B2B
      • Complex Event Processing—CEP
    • SOA Suite architecture
      • Top level
      • Component view
      • Implementation view
      • A recursive example
    • JDeveloper
    • Other components
      • Service repository and registry
      • BPA Suite
      • BPM Suite
      • Portals and WebCenter
      • Enterprise manager SOA management pack
    • Summary
  • Chapter 2: Writing Your First Service
    • Installing SOA Suite
    • Writing our first BPEL process
      • Creating an application
      • Creating a BPEL project
        • Assigning values to variables
      • Deploying the process
      • Testing the BPEL process
    • Writing our first proxy service
      • Writing the Echo proxy service
      • Creating a change session
      • Creating a project
        • Creating project folders
      • Creating service WSDL
        • Importing a WSDL
      • Creating our business service
      • Creating our proxy service
        • Creating message flow
        • Activating the Echo proxy service
        • Testing our proxy service
    • Summary
  • Chapter 3: Service Enabling Existing Systems
    • Types of systems
      • Web service interfaces
      • Technology interfaces
      • Application interfaces
    • Java Connector Architecture
    • Creating services from files
      • A payroll use case
      • Reading a payroll file
        • Starting the wizard
        • Naming the service
        • Identifying the operation
        • Defining the file location
        • Selecting specific files
        • Detecting that the file is available
        • Message format
        • Finishing the wizards
      • Throttling the file and FTP adapter
        • Creating a dummy message type
        • Adding an output message to the read operation
        • Using the modified interface
      • Writing a payroll file
        • Selecting the FTP connection
        • Choosing the operation
        • Selecting the file destination
        • Completing the FTP file writer service
      • Moving, copying, and deleting files
        • Generate an adapter
        • Modify the port type
        • Modify the binding
        • Add additional header properties
      • Adapter headers
      • Testing the file adapters
    • Creating services from databases
      • Writing to a database
        • Selecting the database schema
        • Identifying the operation type
        • Identifying tables to be operated on
        • Identifying the relationship between tables
        • Under the covers
    • Summary
  • Chapter 4: Loosely Coupling Services
    • Coupling
      • Number of input data items
      • Number of output data items
      • Dependencies on other services
      • Dependencies of other services on this service
      • Use of shared global data
      • Temporal dependencies
    • Reducing coupling in stateful services
    • Oracle Service Bus design tools
      • Oracle workshop for WebLogic
      • Oracle Service Bus Console
    • Service Bus overview
      • Service Bus message flow
    • Virtualizing service endpoints
      • Moving service location
      • Selecting a service to call
    • Virtualizing service interfaces
      • Physical versus logical interfaces
      • Mapping service interfaces
      • Applying canonical form in the service bus
        • An important optimization
    • Summary
  • Chapter 5: Using BPEL to Build Composite Services and Business Processes
    • Basic structure of a BPEL process
      • Core BPEL process
        • Variables
      • Partner Links
      • Messaging activities
        • Synchronous messaging
        • Asynchronous messaging
    • A simple composite service
      • Creating our Stock Quote service
        • Import StockService schema
      • Calling the external web services
        • Calling the web service
        • Assigning values to variables
        • Testing the process
        • Calling the exchange rate web service
        • Assigning constant values to variables
        • Using the Expression builder
      • Asynchronous service
        • Using the Wait activity
      • Improving the stock trade service
        • Creating the while loop
        • Checking the price
        • Using the Switch activity
    • Summary
  • Chapter 6: Adding in Human Workflow
    • Workflow overview
    • Leave approval workflow
      • Creating our workflow process
        • Defining the workflow task
        • Specifying task parameters
        • Creating the user interface to process the task
        • Running the workflow process
    • Processing tasks with the worklist application
    • Improving the workflow
      • Dynamic task assignment
        • Assigning tasks to multiple users or groups
      • Cancelling or modifying a task
        • Withdrawing a task
        • Modifying a task
        • Difference between task owner and initiator
      • Requesting additional information about a task
    • Managing the assignment of tasks
      • Reassigning reportee tasks
        • Reassigning your own task
        • Delegating tasks
        • Escalating tasks
      • Using rules to automatically manage tasks
        • Setting up a sample rule
    • Summary
  • Chapter 7: Using Business Rules to Define Decision Points
    • Business Rule concepts
      • Leave approval rule
    • Using the Rule Author
      • Creating a Rule Repository
      • Creating a dictionary
      • Defining facts
        • Creating XML Facts
        • Using aliases
        • Hiding facts and properties
        • Saving the rule dictionary
      • Creating a rule set
        • Adding a rule to our rule set
        • Defining the test for the pattern
    • Creating a Decision Service
      • Creating a Rule Engine Connection
        • Using a file based repository
        • Using a WebDAV repository
      • Creating a Decision Service
      • Adding a Decide activity
        • Assigning facts
    • Using functions
      • Importing Java classes as facts
      • Creating a function
      • Invoking a function from within a rule
    • Summary
  • Chapter 8: Building Real-time Dashboards
    • How BAM differs from traditional business intelligence
    • Oracle BAM scenarios
    • BAM architecture
      • Logical view
      • Physical view
        • Capture
        • Store
        • Process
        • Deliver
      • BAM platform anomaly
      • User interface
    • Monitoring process state
      • Defining data objects
        • A digression on populating data object fields
      • Instrumenting BPEL
      • Testing the events
      • Creating a simple dashboard
    • Monitoring process status
    • Monitoring KPIs
    • Summary
  • Chapter 9: oBay Introduction
    • oBay requirements
      • User registration
        • User login
      • Selling items
        • List a new item
        • Cancel listing
        • Completing the sale
        • View account
      • Buying items
        • Search for items
        • Bidding on items
    • Defining our blueprint for SOA
      • Architecture goals
      • Typical SOA architecture
        • Application services layer
        • Virtual services layer
        • Business services layer
        • Business process
        • User Interface layer
    • One additional layer
      • Where the SOA Suite fits
  • oBay high-level architecture
    • oBay Application services
      • Workflow services
      • External web services
      • oBay developed services
    • oBay internal virtual services
    • oBay business services
      • oBay business processes
    • oBay user interface
  • Downloading and installing oBay application
  • Summary
  • Chapter 10: Designing the Service Contract
    • Using XML Schema to define business objects
      • Modelling data in XML
        • Data decomposition
        • Data hierarchy
        • Data semantics
        • Use attributes for metadata
      • Schema guidelines
        • Element naming
        • Namespace considerations
      • Partitioning the canonical model
        • Single namespace
        • Multiple namespaces
        • Chameleon namespaces
    • Using WSDL to define business services
      • Use document (literal) wrapped
      • Building your abstract WSDL document
        • WSDL namespace
        • Defining the 'wrapper' elements
        • Defining the 'message' elements
        • Defining the 'portType' element
    • Using XML Schema and the WSDL within BPEL PM
      • Sharing XML Schemas across BPEL processes
        • Deploying schemas to the BPEL server
        • Importing schemas
        • Updating the schema URL
      • Importing the WSDL document into BPEL PM
        • Adding the PartnerLink definition to the abstract WSDL
      • Sharing XML Schemas in the service bus
      • Importing the WSDL document into the service bus
    • Strategies for managing change
      • Major and minor versions
        • Service implementation versioning
      • Schema versioning
        • Change schema location
        • Update schema version attribute
        • Resist changing the schema namespace
      • WSDL versioning
        • Incorporating changes to the canonical model
        • Changes to the physical contract
        • Updating the service endpoint
        • Managing the service lifecycle
    • Summary
  • Chapter 11: Building Business Services
    • Build versus reuse
      • Adapters and web service wrappers
        • Adapters
        • Service wrappers
    • Reusing existing functionality directly
      • Exposing a PL/SQL stored procedure as a service
        • Launching the PL/SQL web service wizard
        • Choosing the level of Java Enterprise Edition support
        • Selecting a database connection and defining service bindings
        • Determine message style
        • Select stored procedures and functions to expose
    • Modifying existing functionality using service bus
      • Converting an existing service to canonical form
        • Create a new service interface
        • Adding the non-canonical service
        • More complex conversions
      • Exposing a Java class as a service
        • Wrapping the Java code
        • Launching the Web Service wizard
        • Select deployment platform
        • Select service name
        • Select message format
        • Provide custom serializers
        • Mapping
        • Select methods
    • Creating services from scratch
      • Creating a Java service from a WSDL
        • Starting the wizard
        • Choosing the WSDL
        • Choosing the mapping options
        • The generated Java
    • Summary
  • Chapter 12: Building Validation into Services
    • Using XML Schema validation
      • Strongly typed services
      • Loosely typed services
      • Combined approach
      • Using schema validation within BPEL PM
        • Validation of inbound documents
        • Validation of outbound documents
        • Validation between BPEL processes
        • Setting validateXML for a BPEL domain
        • Setting validateXML for a PartnerLink
      • Using schema validation within the service bus
        • Validation of inbound documents
        • Validation of outbound documents
    • Using Schematron for validation
      • Overview of Schematron
        • Assertions
        • Rules
        • Patterns
        • Namespaces
        • Schema
      • Intermediate validation
        • Cross field validation
        • Date validation
        • Element present
      • Using Schematron within BPEL PM
        • Creating a Partner Link for the Validation Service
        • Creating a Schematron file
        • Invoking the validate operation
        • Sharing a Schematron between processes
      • Using Schematron with the service bus
    • Putting validation in the underlying service
      • Using Business Rules for validation
      • Coding in validation
      • Returning validation failures in synchronous services
        • Defining faults
        • Custom fault codes
        • Validation failures in asynchronous services
    • Layered validation considerations
      • Dangers of over validation
      • Dangers of under validation
      • Negative coupling of validation
    • Summary
  • Chapter 13: Error Handling
    • Business faults
      • Defining faults in synchronous services
      • Defining faults in asynchronous services
    • Handling business faults in BPEL
      • Catching faults
        • Adding a catch branch
        • Throwing faults
      • Compensation
        • Defining compensation
        • Triggering a compensation handler
        • Adding a compensate activity
      • Returning faults
        • Asynchronous considerations
    • Using the fault management framework
      • Defining a fault policy
        • Defining fault policy conditions
        • Defining fault policy actions
      • Binding fault policies
        • Binding fault polices at the process level
        • Binding fault policies at the domain level
        • Binding resolution
      • Human intervention in BPEL Console
        • Change the input variable contents and retry
        • Set the output variable and continue
    • Handling faults within the service bus
      • Handling faults in synchronous proxy services
        • Raising an error
        • Defining an error handler
        • Getting the qualified fault name
        • Handling unexpected faults
        • Returning a SOAP Fault
        • Adding a Service Error Handler
        • Handling permanent faults
        • Handling transient faults
      • Handling faults in one-way proxy services
    • Summary
  • Chapter 14: Message Interaction Patterns
    • Message routing
      • WS-Addressing
        • Request message with WS-Addressing
        • Response message with WS-Addressing
        • Additional message exchanges
    • Using BPEL correlation sets
      • Using correlation sets for multiple process interactions
        • Defining a correlation set property
        • Defining correlation set
        • Using correlation sets
        • Defining property aliases
    • Message aggregation
      • Message routing
        • Correlating the callback
        • Specifying the reply to address
      • Creating a proxy process
        • Using the pick activity
        • Defining the correlation sets
      • Completing the aggregation
    • Scheduling services
      • Defining the schedule file
      • Using FlowN
        • Accessing branch specific data in FlowN
      • Dynamic Partner Links
        • Define common interface
        • Define Job Partner Link
        • Create endpoint reference
        • Update Endpoint
      • Re-cycling the scheduling file
    • Summary
  • Chapter 15: Workflow Patterns
    • Managing multiple participants in a workflow
      • Using multiple assignment and routing policies
        • Determining the outcome by a group vote
      • Using multiple Human Tasks
        • Linking individual Human Tasks
    • Using the workflow API
      • Defining the order fulfillment Human Task
        • Specifying task parameters
        • Specifying the routing policy
        • Notification settings
      • Querying task instances
        • Defining a Partner Link for the Task Query Service
        • User authentication
        • Querying tasks
        • Flex fields
        • Populating Flex Fields
        • Accessing Flex fields
      • Getting task details
      • Updating a task instance
        • Defining a PartnerLink for the Task Service
        • Using the updateTask operation
    • Summary
  • Chapter 16: Using Business Rules to Implement Services
    • How the rule engine works
      • Asserting facts
      • Executing the ruleset
        • Rule activation
        • Rule firing
      • Retrieve result
      • Session management
      • Debugging a ruleset
        • Using DM.println to add additional logging
    • Using business rules to implement an auction
      • Defining our XML Facts
      • Defining the decision service
    • Using a global variable to reference the result set
      • Defining a global variable
      • Defining a rule to initialize a global variable
    • Writing our auction rules
      • Evaluating facts in date order
        • Checking for non-existent fact
        • Using Calendar functionality
        • Updating the bid status
      • Using inference
        • Processing the next valid bid
      • Using functions to manipulate XML Facts
        • Asserting a winning bid
        • Retracting a losing bid
        • Rules to process a new winning bid
        • Validating the next bid
        • Rule to process a losing bid
      • Complete ruleset
    • Performance considerations
      • Managing state within the BPEL process
  • Summary
  • Chapter 17: The Importance of Bindings
    • The web services stack
      • Logical view of web services stack
      • Physical view of web services stack
    • Understanding Web Service Description Language (WSDL)
      • How to read WSDL
        • <definitions>
        • <types>
        • <message>
        • <portType>
        • <binding>
        • <service>
    • The case for different bindings
      • Connectivity
      • Transactionality
      • Performance
    • JCA bindings
    • Java bindings
      • Creating a Java binding
    • Service bus bindings
    • Summary
  • Chapter 18: Packaging and Deployment
    • The need for packaging
      • Problems with moving between environments
      • Types of interface
        • Web interfaces
        • Command line interfaces
    • SOA Suite packaging
      • Oracle Service Bus
      • Oracle BPEL Process Manager
        • Deploying a BPEL process using the BPEL Console
        • Deploying a BPEL process using 'ant'
        • Enabling web service endpoint and WSDL location alteration
        • Enabling adapter configuration
        • XML Schema locations
        • XSL imports
        • BPEL deployment framework
      • Oracle Web Services Manager (OWSM)
      • Oracle rules
      • Business activity monitoring
        • Commands
        • Selecting items
        • Using iCommand
    • Deployment architectures
      • SOA Suite deployment architectures
        • Using an external web server or load balancer
      • Web services manager
        • Console and monitor
      • Oracle Service Bus
      • Business activity monitoring
      • Local hostnames
    • Summary
  • Chapter 19: Testing Composite Applications
    • SOA Suite testing model
    • One-off testing
      • Testing BPEL processes
      • Testing the service bus
    • Automated testing
      • The BPEL test framework
        • BPEL test suites
        • Data validation
        • Deploying the test suite
        • Running the test suites
        • Partner link handling in test cases
        • Simulation of process to process interactions
        • Baseline scripts
    • 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
      • Evolution of security and management
      • Added complications of SOA environment
        • Security impacts of SOA
        • Management and monitoring impacts of SOA
    • Securing services
      • Security outside the SOA Suite
        • Network security
        • Preventing message interception
        • Restricting access to services
      • Declarative security versus explicit security
        • Security as a facet
        • Security as a service
      • Web Services Manager model
      • Policies
      • Agents and gateways
        • Distinctive benefits of gateways and agents
      • Service bus model
    • Creating gateways and agents
      • Creating a gateway
        • Registering gateway services
      • Creating an agent
      • Enabling agent services
    • Defining policies
      • Creating a new policy template to perform basic authentication
        • Creating the template
        • Extracting Credentials
        • Authenticating a user
        • Authorizing a user
        • Saving the pipeline template
      • Creating a new policy
        • Creating an agent policy
        • Creating a gateway policy
      • Applying a policy through Service Bus Console
        • Service accounts
        • Using a service account
        • Managing service bus user accounts
        • Service bus roles
        • Using a role to protect a proxy service
      • Final thoughts on security
    • Monitoring services
      • Monitoring overall service statistics in OWSM
      • Defining a Service Level Agreement in OWSM
      • Other monitoring and measuring features in OWSM
      • Monitoring in service bus
        • Creating an Alert Destination
        • Enabling service monitoring
        • Creating an alert rule
        • Monitoring the service
      • What makes a good SLA
    • Summary

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 ( Matt holds a B.Sc. (Eng) in Computer Science from Imperial College, University of London.

He has worked on Oracle SOA Suite Developer's Guide, Packt Publishing and Oracle SOA Suite 11g R1 Developer's Guide, Packt Publishing.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Oracle SOA Suite Developer's Guide +    Open Text Metastorm ProVision® 6.2 Strategy Implementation =
50% Off
the second eBook
Price for both: $75.00

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book


  • 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 14: Message interaction patterns: Covers complex messaging interactions, including multiple requests and responses, timeouts, and message correlation (both system and business).

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.

In Detail

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 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.

Use and apply the Oracle SOA Suite in the implementation of real-world SOA applications.


This book is a comprehensive guide, split into three sections. The initial section of the book provides an introduction to the Oracle SOA Suite and its various components, and will give you a fast-paced hands-on introduction to each of the key components in turn. The next section illustrates the usage of the various components of the SOA Suite to implement a real-world SOA-based solution with the help of an example of an online auction site (oBay). The final section covers other considerations such as the packaging, deployment, testing, security, and administration of SOA applications.

Who this book is for

This book targets developers and technical architects who work in the SOA domain. The primary purpose of the book is to provide them with a "hands on" practical guide to using and applying the Oracle SOA Suite in the delivery of real-world composite applications.

It presumes basic understanding of the concepts of SOA, as well as some of the key standards in this space, including web services (SOAP, WSDL), XML Schemas, and XSLT (and XPath).

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software