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