PacktLib: Oracle Service Bus 11g Development Cookbook

Oracle Service Bus 11g Development Cookbook

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Preface

Creating a basic OSB service

Introduction

Creating a new OSB project

Defining a folder structure for the OSB project

Importing an already existing project into Eclipse OEPE

Creating a business service to call an external SOAP-based web service

Generating a simple pass-through proxy service

Deploying the OSB configuration from Eclipse OEPE

Testing the proxy service through the OSB console

Testing the proxy service through soapUI

Creating proxy service with a WSDL based interface

Using a routing action to statically route to another service

Adding an operational branch to support the different WSDL operations of the proxy service

Using an XQuery transformation to map between the different data models of the services

Working Efficiently with OSB Artifacts in Eclipse OEPE

Introduction

Setting up an OSB project to work with JCA adapters

Using context menu to add nodes and actions to message flow

Moving nodes/actions in Eclipse OEPE by drag-and-drop

Copying nodes/actions from one place to another

Moving artifacts inside the same OSB project

Copying artifacts from one project into another

Debugging services through Eclipse OEPE

Messaging with JMS Transport

Introduction

Sending a message to a JMS queue/topic

Changing JMS Transport message headers and properties at runtime

Consuming messages from a JMS queue

Consuming messages from a topic with non-durable/durable subscription

Consuming messages from a JMS queue/topic selectively

Accessing JMS Transport headers and properties in message flow

Using request-response messaging with JMS

Using QBrowser Admin GUI for accessing JMS queues/topics

Testing JMS with soapUI

Using EJB and JEJB transport

Introduction

Exposing an EJB session bean as a service on the OSB using the EJB transport

Using JNDI Provider to invoke an EJB session bean on a remote WebLogic domain

Using converter class with EJB transport to help converting data types

Exposing an EJB session bean as an EJB on the OSB using the JEJB transport

Manipulating the response of the JEJB transport by a Java Callout action

Using HTTP Transport

Introduction

Using HTTP transport to implement messaging over HTTP

Exposing a RESTful service on the OSB

Consuming a RESTful service from the OSB

Creating a generic RESTful gateway on the OSB

Implementing a WebSockets transport for server-side push

Using File and Email Transports

Introduction

Using the File or FTP transport to trigger a proxy service upon arrival of a new file

Using the File JCA adapter to read a file within the message flow

Using the File Transport to write to a file

Using Email Transport to receive e-mail

Using Email Transport to send e-mail

Communicating with the Database

Introduction

Using DB adapter to read from a database table

Using DB adapter to execute a custom SQL statement against the database

Using the DB adapter to update a database table

Using DB adapter to poll for changes on a database table

Using the AQ adapter to consume messages from the database

Using the AQ adapter to send messages to the database

Communicating with SOA Suite

Introduction

Invoking a SCA composite synchronously from an OSB service

Invoking a SCA composite asynchronously from an OSB service

Invoking an OSB service from SCA composite synchronously

Invoking an OSB service from SCA composite asynchronously

Communication, Flow Control, and Message Processing

Introduction

Using Service Callout action to invoke a service

Using the Publish action to asynchronously invoke a service

Using the Java Callout action to invoke Java code

Using the Java Callout action with XMLBeans

Using custom XPath functions

Using the For Each action to process a collection

Using dynamic Split-Join to perform work in parallel

Using the Validate action to perform message validation

Enabling/disabling a Validate action dynamically

Creating private proxy service

Reliable Communication with the OSB

Introduction

Configuring Retry handling in JMS

Enabling JMS message persistence

Working with global transactions and quality of service

Using WS-Reliable Messaging (WS-RM) with WS transport

SOAP over JMS

Handling Message-level Security Requirements

Introduction

Preparing OSB server to work with OWSM

Configuring OSB server for OWSM

Securing a proxy service by Username Token authentication

Securing a proxy service by protecting the message

Securing a proxy service by using Username Token authentication and protecting the message

Securing a proxy service by using certificate authentication and protecting the message

Securing a proxy service with authorization through Message Access Control

Using JDeveloper to test a secured service

Calling a secured service from OSB

Handling Transport-level Security Requirements

Introduction

Using service accounts with OSB

Configuring WebLogic network connection filters

Preparing OSB server to work with SSL

Configuring a proxy service to use HTTPS security

Index