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

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

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

Q) What is a Proxy Service ?

  • A proxy service is what the service bus exposes to service consumers and implements the virtualization logic
  • A proxy service can route messages to multiple business services; you can choose to configure a proxy service with an interface that is independent of the business services with which the proxy service communicates
  • In such cases, you can configure a proxy service message flow definition to route a message to the appropriate business service and map the message data into the format required by the business service interface
  • It is exposed to the calling applications or services
  • Proxy services are Oracle Service Bus definitions of intermediary Web services that Oracle Service Bus implements locally on Weblogic Server
  • You can think of proxy services as the services published by OSB
  • Instead of your service clients calling the services directory, they call OSB proxy services instead

Few more definitions of Proxy Service:

  • Proxy services are definitions of generic intermediary Web services that are hosted locally on Oracle Service Bus
  • A proxy service communicates with other services in the IT infrastructure through interfaces, which may or may not be identical to that of a service provider or service consumer business service
  • Proxy services can route messages to multiple business services, using their configured independent interfaces
  • Proxy services can be defined and configured using the Oracle Service Bus Console
  • They are configured by specifying their
    1. interface
    2. type of transport OSB uses
    3. and their associated message processing logic

Q) What is Message Flows in OSB ?

  • Message flows are definitions used for implementing proxy services within Oracle Service Bus
  • Message flow modeling involves configuration of message processing logic in proxy service’s message flow definitions
  • This logic includes activities such as transformation, publishing, reporting, and exception management
  • You can use the graphical modeling tools available in Workspace Studio/OEPE and in the Oracle Service Bus Console to perform message modeling
  • Oracle Service Bus proxy service implementations are defined in message flow definitions using components such as
    1. Pipelines
    2. Branch nodes
    3. Route nodes

Another explanation for Message Flow:

  • In Oracle Service Bus, a message flow is the implementation of a proxy service
  • You can configure logic for the manipulation of messages using proxy service message flow definitions
  • This logic includes such activities as transformation, publishing, and reporting, which are implemented as individual actions within the stages of a pipeline
  • Message flow in OSB is the most important part
  • It defines the request message flow from Start Node to Route activity and also defines the response message flow from Route to Start Node
  • It contains Pipeline Pairs, Branch Nodes, Route Nodes, Stages, and Actions etc

Q) What is a Business Service ?

  • Business services are Oracle Service Bus definitions of the enterprise services that exchange messages during business processes
  • A business service and its interface can be defined and configured using the Oracle Service Bus design-time tooling
  • To configure a business service, you must specify its interface, the type of transport it uses, its security requirements, and other characteristics
  • A business service definition is similar to that of a proxy service, but it does not have pipelines (a message flow)
  • It connects to the EIS (Enterprise Information System) layer (
  • In an enterprise architecture, EIS is typically a SOAP based Web Services

Q) Can we expose any Business Service to external clients or subscribers ?

  • No, we cannot expose Business Services to external clients or subscribers
  • We need Proxy Services to expose to external world

Q) Can we have Proxy Services without Business Services ?

  • Yes we can have Proxy Services without Business Services, but that will be just a dummy service
  • EIS layer cannot be connected using that Proxy Service

Q) What are the different types of Pipelines ?

  • Request pipeline
  • Response Pipeline

Q) In the context of OSB, what is a Pipeline ?

  • Pipelines are one-way processing paths that include no branching
  • A pipeline is a named sequence of stages containing actions, representing a non-branching one-way processing path
  • It is used to specify the message flow for service requests and responses
  • A stage is a user-configured processing step
  • Messages fed into the pipelines are accompanied by a set of message context variables that contain the message contents
  • They can be accessed or modified by actions in the pipeline stages

Figure: Pipeline

Q) What is a Pipeline Pair ?

  • Pipeline pairs are request and response pipelines
  • The request pipeline definition specifies the actions that Oracle Service Bus performs on request messages to the proxy service before invoking a business service or another proxy service
  • The response pipeline definition specifies the processing that Oracle Service Bus performs on responses from the business or proxy service that the proxy service invokes before returning a response to a client
  • NOTE: A Pipeline Pair node can have only one direct descendant in the Message Flow
  • Stage: A stage is a container of related activities to manipulate messages passing through the pipeline

Q) Explain Service Callout in OSB ?

  • Action is to be used in a Pipeline pair to call the services
  • It should be noted that the Service Callout action is used only for invoking synchronous request-response operations
  • OSB’s service callout action offers greater flexibility for more sophisticated message flows
  • The service callout action is used inside a message flow to call on another service registered within OSB to perform necessary action on the message
  • The response returned by that service is assigned to a local variable
  • The variable can then be used within the current message flow
  • The service callout action can be used configure a synchronous (blocking) callout to an OSB-registered proxy or business service
  • The service types that can be called could be –
    1. WSDL Web Service
    2. SOAP
    3. Any XML Service
    4. Messaging

Q) Whether OSB Service Callout is Synchronous or Asynchronous ?

  • Synchronous request-response used in pipeline-pair
  • And it is blocking

Q) Explain Java Callout in OSB ?

  • Sometime, you may have legacy application coded in core Java or EJB, and then at times you may need Java Callout
  • Invoking / accessing method should be “public” and “static

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 3
Oracle OSB-SOA-BPEL Interview Question and Answer - Part 1