Tuesday, October 7, 2014

Tracking OSB Instance | Logging vs Tracing

Oracle Service Bus tracking the instance:

1. OSB is stateless in nature so there is no consept of instances lineup like in BPEL. But we can have a log entry at the start of the OSB project such that we can make sure to track the failed call. We can log the important entries like Client Name invoked the OSB Project and Unique Id.

Ex. If we call the getCustomerDetail OSB call from Customer Portal

In realtime we have a header and body part for each request. Header part will speak about the which client calls (CallFrom) the osb and name of the osb composite(CallTo). In log we need to log this entry along with the UniqueID for unique representation. UniqueID is the combination of timestamp and id for the request which is populated from the portal.



 <xsd:complexType name="RequestHeader">
    <xsd:sequence>
      <xsd:element name="CallFrom"/>
      <xsd:element name="CallTo"/>
      <xsd:element name="UniqueID"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="RequestBody">
    <xsd:sequence>
      <xsd:element name="id"/>
    </xsd:sequence>
  </xsd:complexType>

For debugging the scenarios, you can also enable tracing (in Operation Settings) on the proxy/business service to capture the complete trace of the execution. But ensure this setting is turned off in PROD environments as this hampers performance.

3 comments: