Oracle Fusion Middleware customers use Oracle Service Bus (OSB) for
virtualizing Service endpoints and implementing stateless service
orchestrations. Behind the performance and speed of OSB, there are a
couple of key design implementations that can affect application
performance and behavior under heavy load. One of the heavily used
feature in OSB is the Service Callout pipeline action for message
enrichment and invoking multiple services as part of one single
orchestration. Overuse of this feature, without understanding its
internal implementation, can lead to serious problems.
will delve into OSB internals, the problem associated with usage of
Service Callout under high loads, diagnosing it via thread dump and heap
dump analysis using tools like ThreadLogic
and OQL (Object Query Language) and resolving it. The first section in
the series will mainly cover the threading model used internally by OSB
for implementing Route Vs. Service Callouts.
OSB Pipeline actions for Service Invocations
Proxy is the inbound portion of OSB that can handle the incoming
request, transform/validate/enrich/manipulate the payload before
invoking co-located or remote services. The execution logic is built
using the proxy pipeline actions. For executing the remote (or even
local) business service, OSB provides three forms of service invocations
within a Proxy pipeline:
- Route - invoke a single business
service endpoint with (or without) a response. This happens entirely at
end of a proxy service pipeline execution and bridges the request and
response pipeline. The route can be treated as the logical destination
to reach or final service invocation. There can be only one Route action
(there can be choices of Route actions - but only one actual execution)
in a given Proxy execution.
- Publish - invoke a business service
without waiting for result or response (like 1-way). The caller does
not care much about the response. Just interested in sending out
something (and ensuring it reaches the other side).
Callout - invoke one or more business service(s) as part of message
augmentation or enrichment or validation but this is not the primary
business service for a given Proxy, unlike the Route action. The service
callouts can be equivalent to credit card validation, address
verification while Route is equivalent to final order placement. There
can be multiple Service Callouts inside a Proxy pipeline. Read the complete article here.
SOA & BPM Partner Community
regular information on Oracle SOA Suite become a member in the SOA
& BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.
Blog Twitter LinkedIn Facebook Wiki