Oracle Service Bus (OSB) Interview Questions
What is Service Result caching in OSB?
Service Result Caching is one of the options that you can use when you want to improve Oracle Service Bus performance. Service Result caching is used when we have business service which connects to external service which returns somewhat static response. So by using Service Result Caching we don’t hit external service for same request instead it will take the response from cache which improve the OSB performance
How to perform Service Callout in OSB?
We use Service Callout option inside Oracle Service Bus to call any service inside message flow to get the required data.
When we invoke proxy 2 from proxy 1 then which protocol we need use?
When there is internal proxy call in OSB then we use "local" transport instead of HTTP.
What is content based routing in OSB?
When we route the request message to different business services based on request message content, that is called content based routing.
What are different options available in OSB to read flat file?
We can read flat file in two different ways.
- Using Message Format Language (MFL): We can MFL in OSB to read flat files.
- File Adapter: Create file adapter which read flat file in Jdeveloper, copy JCA, WSDL & XSD file of file adapter in OSB and create proxy service which will read that flat file.
What is SLA alert in OSB?
A service-level agreement (SLA) is a contract between a service provider and a service consumer. In OSB monitoring framework we have SLA alerts which come into picture when there is violation of service level agreements.
How to move large file without reading it in OSB?
In Oracle SOA Suite we use "Move" opeartion to move large files from one location to another. But in Oracle Service Bus we don’t have that option available. But we can use Content Streaming option available for file protocol in OSB to move large files.
By how many ways we can do OSB development?
Will you prefer Eclipse or SB console for OSB development?
It is simple to work with SB console as compared to eclipse, so during initial phase we can opt for SB console and later go for eclipse. When we work at enterprise level, Eclipse is always recommended.
Do we need to create a session when we develop projects in Eclipse?
No, we need not to create a session when we develop projects in Eclipse, session will only come into picture when we deploy the project to server from eclipse.
Can multiple users work on SB console at one time?
Yes, multiple users with different user roles can work on SB console at same time as session will be created for each users individually.
Can we test the proxy service from Eclipse?
Yes, we can test the proxy service from Eclipse, for that we need to right click on the proxy service and then click on Run As and run it on server.
Can we create Xquery transformation in design mode in SB Console?
No, we have to write Xquery in source mode. We can create Xquery transformation in Eclipse.
Do we have the option to test the Xquery Transformation?
Yes, we can test the Xquery transformation.
Can we use XSLT file in OSB?
Yes, OSB support both Xquery and XSLT.
What is Business Service?
It is a service in OSB which is used to connect to target system.
What is Message Flow?
Message flow is there in proxy service, we do all types of transformation, routing and other processing message flow only.
Do we have global variable in OSB (Can we access variable which is defined in proxy service message flow from other proxy service message flow)?
No, we can't access variable in proxy service message flow from other proxy service message flow.
Can we use direct bindings to call SOA composites?
Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.
Where the file will go if there is any error while polling the file?
During configuring file or ftp protocol in OSB, we need to specify error directory, so you can see file to that directory if file polling failed.
Why we use Split-Joins in OSB?
In short - For parallel processing. (Split-Joins let you send message invocations in parallel (in addition to sequentially) and to aggregate the responses.)
Oracle Service Bus's Split-Join feature lets you split a service payload, such as an order, into individual messages for concurrent processing. Concurrent processing, as opposed to sequential processing, greatly improves service performance. Split-Join achieves this task by splitting an input message payload into sub messages (split), routing them concurrently to their destinations, and aggregating the responses into one overall return message (join). This process of payload splitting and response aggregation is called a Split-Join pattern.
Types of Split-Joins?
Static and dynamic.
- Static Spilt-Join:The static Split-Join branches from the main execution thread of an OSB message flow by splitting a payload into a fixed number of new branches according to the configuration of the Split-Join. At design time you determine the number and variety of services to be invoked.
- Dynamic Spilt-Join:The dynamic Split-Join branches from the main execution thread of an OSB message flow by dynamically creating new branches according to the contents of the incoming payload. The dynamic Split-Join uses conditional logic to determine the number of branches to create. All requests are handled simultaneously, and the responses are aggregated into a single reply.
How to call Java code from OSB?
By using Java callout activity.
Can we use more than one route node in message flow?
No, we can't we use more than one route node in proxy service message flow.
What is throttling in OSB?
Throttling means we want to process certain messages in one time, then we need to set some parameters in OSB to do the required task.
How file pooling works in OSB?
There are below two ways to poll a file in OSB.
- OSB file protocol: We can use file protocol available in proxy service to poll the file
- File adapter: We can create file adapter in Jdeveloper and import JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.
We don’t have any DB protocol in OSB then how to read/write data from database using OSB?
We can use database adapter to read/write data from database. We can create database adapter in Jdeveloper, import adapter JCA,WSDL & XSD files to OSB and generate proxy or business service as per our requirement.
How to perform file listing in OSB?
To perform file listing in OSB, you need to create file adapter with file listing operation in Jdeveloper and use that only.
What is Message Flow?
Message Flow is an OSB component which is part of proxy service. We define our business logic in message flow.
Can we delete Start Node in Message flow?
Start Node comes by default in message flow once we create a proxy service. Every message flow should always have a start node and we can't delete the start node in message flow.
What is Dynamic Routing action?
This action is used when we need to route the message to business service dynamically that means at design time we don't know to which business service we have to route the message and that is determined at run time.
Which action we use to throw fault/error in message flow?
We use "raise-error" action to throw business fault in message flow.
What is reply action?
It specify that immediate reply is sent to invoker.
What actions we use for OSB reporting?
We use Alert, Log and Report for OSB reporting.
Can we change the file name in message flow at runtime?
Yes, we can change file name at runtime using Transport Header action.
Can we change the endpoint URI of the external service that we invoke using business service?
Yes, we can do it by using routing option action.