Oracle OSB-SOA-BPEL Interview Question and Answer – Part 3

In this article, we will discuss interview question with their justification on Oracle OSB, SOA and BPEL

This is part-3 of Oracle OSB-SOA-BPEL interview question series

Q) What are stages ?

  • Stages are OSB Message Flow component to contain the actions

Q) What are Routing Nodes ?

  • To handle request & response dispatching of messages to and from business service
  • Container for routing options such as Routing, Dynamic Routing, and Routing Table
  • Last node in the proxy message flow
  • Route Node can be seen as an action which defines where a Request thread stops and Response thread begins, in addition to whatever it does

Q) What is a Routing Table ?

  • Use a routing table to select different routes based upon the result of a single XQuery expression
  • A routing table action contains a set of routes wrapped in a switch-style condition table
  • Each route has one “Routing”

Q) What is Dynamic Routing ?

  • OSB can do dynamic routing based on the abstract WSDL which means that any proxy or business service that is based on the same abstract WSDL can be used included in the set of dynamic routes
  • For example, if there are two business services namely, ConditionlBranchingOperations & InvokingExtenalService that are each based on same interface, we can use dynamic routing
  • The core of this feature is built on the following XML element –
<ctx:route>
	<ctx:service isProxy=”true|false”>{$proxy|$businessService}</ctx:service>
 	<!– Optional : –>
	<ctx:operation>OperationName</ctx:operation>
</ctx:route>
  • isProxy is true or false decides, whether dynamic route is to a Proxy Service or to a business Service
  • Evaluated expression of a dynamic routing action inside a route node decides, whether to route to Business Service or Proxy Service

Q) What is a Publish Node ?

  • Use a publish action to identify a statically specified target service for a message and to configure how the message is packaged and sent to that service

Q) What is a Publish Table ?

  • Use a publish table action to publish a message to Zero or more statically specified services

Q) Difference between OSB – Publish, Routing and Service Callout ?

Service Callout:

  • Used in real time request-response scenarios
  • Call a service in synchronous service in a Blocking way
  • Being a synchronous call, the thread gets blocked until a response is returned from end service

Publish:

  • Used for Request only scenarios where you don’t expect a response back
  • The nature of Publish action (sync or async) will depend upon the target service you are invoking
  • Invoking an external service through a business service,  then Publish action with Quality of Service(QoS) as “Best Effort” (default) will work like fire and forget and thread won’t get blocked (async call)
  • Invoking a local proxy service (proxy with transport protocol as “local”) from another proxy using publish action then it would be a blocking call (synchronous call) and thread will get blocked until the processing of local proxy finishes

Routing: 

  • Only can be created inside a Route Node
  • Route Node is the last node in a request processing and not in the pipeline, it passes all processing to another service (business or proxy)
  • Route Node indicates that Request Processing will end here and Response Processing will begin
  • You cannot have any node after Route Node in the message flow
  • Route Node can be seen as an action which defines where a Request thread stops and Response thread begins, in addition to whatever it does
  • It is know that by-design, request and response pipelines of an OSB proxy will be in different threads unless otherwise configured

Q) What is OSB Throttling ?

  • Throttling is termed as “regulate the flow”
  • Oracle Service Bus has throttling feature and by using that feature we can control number of requests sent to target service

Q) But why we need OSB Throttling ?

  • Every system has its own capacity means it can process only certain number of message at one time, if we try to send messages beyond its capacity then that system’s performance can degrade or in worst case it can crash
  • So to avoid all this we can use OSB throttling feature to send limited messages to target system

Q) Difference between OSB & OSB for developer ?

  • You can use the Oracle Service Bus for Developers option in order to save some memory and CPU (the Developer option creates only one server instead of an Admin plus a Managed server)

Folks, it’s your turn to comment & suggest for improvement

Note: We have taken inputs from various folks and other weblog for making this comprehensive set of Oracle SOA-OSB interview & answers

Related Articles :

Happy Coding !!
Happy Learning !!

Oracle OSB-SOA-BPEL Interview Question and Answer - Part 4
Oracle OSB-SOA-BPEL Interview Question and Answer - Part 2