Oracle Service Bus (OSB) Interview Questions
Q1) What is Service Result caching in OSB?
Ans: 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 a somewhat static response. So by using Service Result Caching we don’t hit external service for the same request instead it will take the response from the cache which improve the OSB performance
Q2) How to perform Service Callout in OSB?
Ans: We use the Service Callout option inside Oracle Service Bus to call any service inside message flow to get the required data.
Q3) When we invoke proxy 2 from proxy 1 then which protocol we need use?
Ans: When there is an internal proxy call in OSB then we use "local" transport instead of HTTP.
Q4) What is content-based routing in OSB?
Ans: When we route the request message to different business services based on request message content, that is called content-based routing.
Q5) What are the different options available in OSB to read the flat files?
Ans: We can read the flat files in two different ways.
- Using Message Format Language (MFL): We can MFL in OSB to read flat files.
- File Adapter: Create a file adapter that reads the flat file in Jdeveloper, copies the JCA, WSDL & XSD file of file adapter in OSB, and creates a proxy service that will read that flat file.
Q6) What is SLA alert in OSB?
Ans: A service-level agreement (SLA) is a contract between a service provider and a service consumer. In the OSB monitoring framework, we have SLA alerts that come into the picture when there is a violation of service level agreements.
Q7) How to move large files without reading it in OSB?
Ans: In Oracle SOA Suite we use the "Move" operation 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 the Content Streaming option available for file protocol in OSB to move large files.
Q8) By how many ways we can do OSB development?
Ans: We can do development in OSB in two ways. Either we can use Eclipse which is an IDE tool for OSB or we can use SB console for the development.
Q9) Will you prefer Eclipse or SB console for OSB development?
Ans: It is simple to work with SB console as compared to the eclipse, so during the initial phase, we can opt for SB console and later go for the eclipse. When we work at the enterprise level, Eclipse is always recommended.
Q10) Do we need to create a session when we develop projects in Eclipse?
Ans: No, we need not create a session when we develop projects in Eclipse, the session will only come into the picture when we deploy the project to the server from eclipse.
Q11) Can multiple users work on the SB console at one time?
Ans: Yes, multiple users with different user roles can work on the SB console at the same time as the session will be created for each user individually.
Q12) Can we test the proxy service from Eclipse?
Ans: 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 the server.
Q13) Can we create Xquery transformation in design mode in SB Console?
Ans: No, we have to write Xquery in source mode. We can create Xquery transformation in Eclipse.
Q14) Do we have the option to test the Xquery Transformation?
Ans: Yes, we can test the Xquery transformation.
Q15) Can we use the XSLT file in OSB?
Ans: Yes, OSB supports both Xquery and XSLT.
Q16)What is Business Service?
Ans: It is a service in OSB that is used to connect to the target system.
Q17) What is Message Flow?
Ans: Message flow is there in proxy service, we do all types of transformation, routing, and other processing message flow only.
Q18) Do we have a global variable in OSB (Can we access the variable which is defined in proxy service message flow from other proxy service message flow)?
Ans: No, we can't access variables in proxy service message flow from other proxy service message flow.
Q19) Can we use direct bindings to call SOA composites?
Ans: Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.
Q20) Where the file will go if there is an error while polling the file?
Ans: During configuring file or ftp protocol in OSB, we need to specify the error directory, so you can see the file to that directory if file polling failed.
Q21) Why we use Split-Joins in OSB?
Ans: 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 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.
Q22) How to call Java code from OSB?
Ans: By using a Java callout activity.
Q23) Can we use more than one route node in message flow?
Ans: No, we can't use more than one route node in the proxy service message flow.
Q24) What is throttling in OSB?
Ans: 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.
Q25) How file pooling works in OSB?
Ans: There are 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 a file adapter in Jdeveloper and import the JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.
Q26) We don’t have any DB protocol in OSB then how to read/write data from the database using OSB?
Ans: We can use a database adapter to read/write data from the database. We can create a database adapter in Jdeveloper, import adapter JCA, WSDL & XSD files to OSB, and generate proxy or business service as per our requirement.
Q27) How to perform file listing in OSB?
Ans: To perform file listing in OSB, you need to create a file adapter with file listing operation in Jdeveloper and use that only.
Q28) What is Message Flow?
Ans: Message Flow is an OSB component that is part of proxy service. We define our business logic in the message flow.
Q29) Can we delete Start Node in Message flow?
Ans: 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 the message flow.
Q30) What is Dynamic Routing action?
Ans: This action is used when we need to route the message to business service dynamically which 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.
Q31) Which action we use to throw fault/error in message flow?
Ans: We use "raise-error" action to throw business fault in the message flow.
Q32) What is a reply action?
Ans: It specifies that an immediate reply is sent to the invoker.
Q33) What actions we use for OSB reporting?
Ans: We use Alert, Log, and Report for OSB reporting.
Q34) Can we change the file name in message flow at runtime?
Ans: Yes, we can change the file name at runtime using Transport Header action.
Q35) Can we change the endpoint URI of the external service that we invoke using business service?
Ans: Yes, we can do it by using routing option action.