Database Lookup from Proxy Services Data Transformation Tools EJB and JEJB Transports Split-Join

1-12 Oracle Fusion Middleware Concepts and Architecture for Oracle Service Bus Oracle Service Bus supports dynamic content-based routing of messages and run-time protocol selection. It facilitates these capabilities by allowing the configuration of proxy services with interfaces that are independent of the end-point business services. Using generic proxy templates, proxy services can be configured as message-flow definitions with routing logic that dynamically route messages to appropriate business services, based on message content.

1.3.3.2 Message Transformation

Oracle Service Bus supports the following capabilities for the transformation or processing of messages: ■ Validates incoming messages against schemas ■ Selects a target service or services, based on the message content or message headers ■ Transforms messages based on the target service ■ Transforms messages based on XQuery or XSLT ■ Supports transformations on both XML and MFL messages ■ Message enrichment ■ Supports callouts to Web services to gather additional data for transformation for example, country code, full customer records, and so on

1.3.3.3 Service Callouts

Oracle Service Bus provides a service callout action that offers greater flexibility for more sophisticated message flows for complex dynamic-routing processing, or to perform message enrichment. The service callout action is used inside a message flow routing stage, to call on the destination service to perform some action on the message. The Service Callout functionality supports features such as RPC Encoding and URL replacement and offers extensibility of Oracle Service Bus capabilities by using Java Callouts and POJOs. For more information on service callouts, see Constructing Service Callout Messages in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus.

1.3.3.4 Database Lookup from Proxy Services

Oracle Service Bus provides a database lookup function using a new XQuery function in the Oracle XQuery engine. This can be used for message enrichment, for routing decisions or for customizing the behavior of a proxy service. Read-access to databases from proxy services is supported without requiring writing of a custom EJB or custom Java code and without the need for a separate database product like Oracle Data Service Integrator. It is implemented using the execute-sql function to make a JDBC call to a database to perform simple database reads. For more information, see Accessing Databases using XQuery in Modeling Message Flow in Oracle Service Bus in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus.

1.3.3.5 Data Transformation Tools

Two data transformation tools are installed with Oracle Service Bus and Eclipse—the Oracle XQuery Mapper plug-in for Eclipse and Format Builder. Eclipse and Format Builder are supported on Windows platforms only. Introduction 1-13

1.3.3.6 EJB and JEJB Transports

You can design business or proxy services in Oracle Service Bus to use the EJB or JEJB transport. Both transports are fully integrated into the Oracle Service Bus Administration Console and Test Console. Business services built with the EJB transport can be used for Publish, Service Callout, and service invocations. An EJB can be exposed as a Web service, without the need for tools or the modification of the legacy code on the application server that hosts the EJB. The JEJB transport also lets you invoke services through Oracle Service Bus with plain old Java objects POJOs

1.3.3.7 Split-Join

The Split-Join feature improves service performance by splitting a message payload and processing multiple operations in a message simultaneously rather than one after another, then combining, or joining, all results. For more information, see Improving Service Performance with Split-Join in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus.

1.3.4 Service Management