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
- interface
- type of transport OSB uses
- 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 –
- WSDL Web Service
- SOAP
- Any XML Service
- 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 :
- Oracle OSB-SOA-BPEL Interview Question Index
- Oracle OSB Tutorials Index
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 1
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 3
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 4
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 5
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 6
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 7
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 8
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 9
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 10
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 11
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 12
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 13
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 14
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 15
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 16
- Oracle OSB-SOA-BPEL Interview Question and Answer – Part 17
Happy Coding !!
Happy Learning !!