Wednesday 9 November 2011

Lesson01-Oracle Service Bus

Oracle Service Bus (previously known as Weblogic ALSB) is a light weight messaging component of SOA Suite. In addition to providing basic routing and transformation services, also provides advanced capabilities for service abstraction.
As of version 11.1.1.3, OSB can only run on Weblogic platform. Since it runs in a separate JVM, there is an overhead in communicating with rest of SOA Suite components.
Though OSB is similar to Mediator component at the conceptual level, there are specific scenarios when OSB will be very useful.
OSB has a built-in feature to modify service end point at run time. This would be very useful when virtualizing external services, probably hosted by various partners.
OSB can also be used to throttle services, thus limiting the number of invocations. This can be valuable in meeting client service level agreements as well as preventing services from being swamped.
In other cases, Mediator will offer more benefits since it is available in the same JVM as rest of SCA components.
OSB service invocation overview
image
OSB service invocation happens through two different layers: proxy service and business service. Proxy service is an entry point for all service invocations. Ideally proxy service should present a canonical interfaces to clients.
Proxy service then routes inbound message through a series of steps (aka pipes). Each step can perform distinct operations such as transformation, enrichment and logging etc., Eventually this message is routed to Business Service which is just a reference to target service. Similarly, output message from business services follows reverse flow through outbound pipeline, proxy service and finally to the client.
Input and output pipe lines are also responsible for transforming data from and to canonical format.
In subsequent lessons, we will explore various features of OSB.

No comments:

Post a Comment

xslt padding with characters call template for left pad and right pad

  Could a call-template be written that took two parameters ?   a string, and a   number) return the string with empty spaces appended t...