Sunday, June 28, 2015

Private OSB Service

Private OSB Service: Limited to OSB Server

Recently, I came across with the new requirement from my Client that Basic/Granular services should not be exposed to outer world on OSB server. These basic services should be used only by other OSB composites if required. 

There are, however, many transports which can be used to invoke OSB service as below: 
  1. http
  2. jca
  3. jms
  4. local
  5. sb
  6. ws
we will see local transport here which also supports proxy service design to achieve modularity.

Just do message modeling of Proxy and set the transport to Local and deploy it. While invoking this basic service from other Proxy service, you can use any publish,service callout or Routing option. It works well !!

Local transport based proxy service can only be invoked by other proxy service, not by client and which perfectly suites to my requirement. Local proxy service doesn't have URI.

Importantly, Local proxy service inherits (QoS) transactional behavior of invoking proxy service. So say, if it is best effort at invoking service then same Qos will be at Local proxy.

Additionally, it supports propagation of security (Message or Transport or Anonymous)

Local OSB service can be tested using OSB test Console. These can't be published to UDDI