Conditional Routing Message Transformation Service Callouts

Introduction 1-11 Figure 1–9 Optimized Pluggable Security Layer For more information, see Section 3.3, Oracle Service Bus Security and the security topics in the Oracle Fusion Middleware Developers Guide for Oracle Service Bus.

1.3.3 Service Virtualization

Service Virtualization provides agility through message manipulation and control. Oracle Service Bus lets you flexibly control messages using validation, transformation, routing based on message content, parallel processing of multiple items in a message, alert triggering, and error handling at different points in a message flow. For example, Oracle Service Bus provides the following capabilities: ■ XQuery-based policies or callouts to external services for message routing ■ Routing policies that apply to both point-to-point and one-to-many routing scenarios publish. For publish, routing policies serve as subscription filters ■ Routing table abstracted from proxy services, that enables modification of routes without having to re-configure proxy service definitions ■ Identity-based routing, to classify clients into user-defined groups and apply routing policies based on these groups

1.3.3.1 Conditional Routing

All routing logic pertaining to communications with a service end point is handled with configured proxy services. This frees service consumers from having to understand any of the complexities of communicating with back-end services. Decoupling the routing, transformation, security, and transport details from the service consumers and providers and placing them within configurable proxy services, provides for more flexible service integration. 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