Wednesday, 1 April 2015

Difference between BPEL,Mediator and OSB

Hello Guys,


Today I am sharing my blog on Difference between BPEL,Mediator and OSB.
OSB is a 'A proven, lightweight integration Enterprise Service Bus (ESB) specifically designed for the task of integrating, virtualizing, and managing services in a shared services infrastructure, Oracle Service Bus allows you to achieve value more quickly with simple, code-free, configuration-based service integration'
and

'Oracle BPEL (Business Process Execution Language) Process Manager is a tool for designing and running business processes. This product provides a comprehensive,standards-based and easy to use solution for creating, deploying and managingcross-application business processes with both automated and human workflow steps – all in a service-oriented architecture'
In simpler terminology:
 If the primary requirement is for a solutions to accomplish  content based routing,transformation,message validations,enrichments and the integration is enterprise wide and features like message throttling,service virtualization,Reliable messaging are important,the Oracle Service Bus is a great fit .
If the requirement is for a solution to design, manage and run business processes which are stateful with functionalities like Human Workflow,Business Rules,monitoring and management and composite service implementations,the choice should be BPEL.
In reality ,most of the requirements are a combination of both of the above and a  pattern of using OSB in conjunction with SOA /BPEL has emerged.



 Oracle BPEL  Oracle Service Bus
 Stateful and long running processes Stateless messaging capablities
 Service Orchestration Service virtualization,message throttling,configuration based service configuration,Service pooling.
 Composite implementation Message validation,content based routing,transformation.
 Integration of Rules and Human Workflow XQuery and XSLT based message transforms.

Mediator has replaced the old ESB solution in SOA 10g-it is  essentially installed as part of the SCA composite.Primary function of the mediator is to serve as an intermediary bus within the composite components.
Below is a table summarizing key differences between Mediator and OSB:

  Mediator  Oracle Service Bus
 Light weight intra composite mediation Larger,more heavy weight inter composite enterprise service 'Bus'
 Domain Value mapping and Xref(cross referencing ) support. Serves as a logical proxy to physical services effectively providing service vitualization
Capablity to create data type assertions in XML trees. Message throttling,service pooling and reliable messaging
 Message transformation using XSLT. Message transformation using XQuery and XSLT.
 Development within JDeveloper Eclipse or web console based development.

It is also intresting to note that there are potential areas where all three components offer some overlapping functionality namely:
  • Message Routing
  • Message Filter
  • XSLT transformation
  • Message validation
  • Asynchronous Messaging
In conclusion,it would be wise to analyze the requirements of a business problem thoroughly before choosing one over the other and in most cases the solution is a combination of the OSB,Mediator and BPEL.

Cheers Guys!!
Kavindra Sahu

Monday, 2 March 2015

Oracle SOA & OSB_Interview Questions


Hello Guys
 
Today I am sharing my blog on Oracle SOA & OSB_Interview Questions

1) What is the difference between SOA Suite 10g and 11g?
SCA architecture was followed in 11g and not in 10g
In 11g you can put all your project SOA components in composite.xml file and deploy to single server, where in 10g you have to deploy each component to the respective server (i.e ESB to ESB server, BPEL to BPEL Server)
Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM are brought into one place in 11g using SCA composite concept.
· The major difference between 10g & 11g would be the app server container. 10g by default runs onOC4J while 11g runs on Web logic Server.
· In 10g every BPEL is a separate project, but in 11g several components can make 1 project as SCA.
· In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager contains all.
· In 10g we have to deploy each project separately, but in 11g we can deploy SCA which contains all.
· In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.

2)      What is SOA?
Service Oriented Architecture (SOA) is used to develop Enterprise applications by using a collection of services which communicates each other. Service-Oriented Architecture (SOA) is a set of principles and methodologies for designing and developing software in the form of interoperable services.



3)      Principles of SOA?
·         loose coupling
·         Re-usability
·         Interoperability
·         Flexible

4)      Is Oracle SOA same as Oracle Fusion Middleware?
No because SOA is one of  the part in Fusion middleware  and
SOA behaves like user interface where as Fusion is big platform
5)      What is SCA?
Service Component Architecture (SCA) provides a programming model for building applications and systems based on a Service Oriented Architecture. SCA is a model that aims to encompass a wide range of technologies for service components and for the access methods which are used to connect them.

6)      What is Web service?
Web services are application components, which are self-contained and self-describing and provide services based on the open protocol communication (i.e SOAP UI, HTTP over the net).
A Web service is a method of communication between two electronic devices over the web. A Web service is a software function provided at a network address over the web or the cloud, it is a service that is “always on” as in the concept of utility computing.
7)  What is Mediator?
The Mediator is in charge of interconnecting, within an SOA composite application, components that expose different interfaces. In addition, the Mediator can perform duties such as filtering and making routing decisions.
The composite editor in JDeveloper gives you the flexibility to define the interface now, to choose an existing interface, or to define the interface later as you wire components to the Mediator.
Transforming data from one representation to another is, along with routing, one of the key functions of the Mediator.
8)  Difference between ESB and Mediator?
In 10g for routing, separate router need to keep along with ESB for routing and filter expressions.
Where as in 11g mediator contains routing rules and filter expressions itself.
9. How can you generate File Based Events using Oracle Service Bus?
Service Bus allows you to create Proxy Services that can poll to ftp and sftp servers . Create a Messaging Type Proxy Service and choose , ftp or sft as the protocol on transport configuration.
10. How can you invoke an EJB method from Oracle Service Bus?
EJBs can be invoked as Web Services by first registering a Business Service with ejb transport and then getting the WSDL from the Business Service.

Basic OSB/SOA Suite 11g Interview Question with Answers:
11. How can you achieve parallel processing in Oracle Service Bus?
Oracle Service bus has the Split Join capability. A request can be broken to multiple childs each of which can be processed parallel and the results can be joined and then sent to requester.

12. What is difference between a WSDL Proxy Service and Any SOAP Proxy service?
Any SOAP proxy service can accept any payload that conforms to SOAP schema.
13. Can you interact directly with Database from Service Bus?
Yes by using the BEA XQuery method execute-sql
14. How can you interact transaction ally with multiple EIS such as JMS EJB and DB in Service Bus?
Invoke the Business Services and xqueries(for DB) representing the different EIS in the request pipeline
15. For a Proxy Service listening to a JMS Queue how can you ensure that the JMS Message is retried if an error occurs during processing?
Use an XA JMS Connection factory in the jms url.
16. What purpose do the Stage components serve in Service Bus?
They are the containers for actions. A stage is the smallest group to have its error handling
17. How can you jump control from one stage to next stage without using if then else logic?
Use the Skip action
18. How can you end a Proxy flow without using if then else logic ?
By using the Reply action
19. Describe the different sections of WSDL document?
WSDL different sections are Type,message,porttype,binding,service.
20. Difference between RPC and Document styles?
In RPC there is predefine standard for soap message but in Doc there is no restriction for the soap message It allows you to include whatever XML data you want and also to include a schema for this XML
21. What’s the main difference from the WSDL perspective between synchronous and asynchronous services?
§  Synchronous WSDL has one portType but asynchronous WSDL has two portType
§  Sync operation  has input,output,fault but asynchronous operation has only input
22. What’s correlation and why is it needed?
§  Corroelation is the property to map the request with the response
§  In async call it is required to map the request with response.
23.  What is SMO?
In mediation Service message object(SMO) is used for processing and manipulating messages exchanged between services. It is the extended version of SDO. SMO represnts the following group of data
§  Header Information:
§  Body Of Message
§  Message Attachments
§  Context Information
24. In BPEL 11g, how the fault handling is taken care of? What are those 2 xml files that will be used in this fault handling?
§  There is new concept to handling the fault in BPEL 11g by using two XML file
§  File names are fault-binding.xml and fault-polises.xml
25.What is a Proxy Service?
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.
26.What are the different types of Pipelines?
Request and Response Pipeline.
27.       What is a Publish Table?
Use a publish table action to publish a message to Zero or more statically specified services.
28.       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.
29.Where does the Service Bus fit in the SOA landscape?
The core of SOA success depends on an Enterprise Service Bus (ESB) that supports dynamic synergy and alignment of business process interactions, continual evolution of existing services and rapid addition of new ones. To realize the benefits of SOA, it is imperative that IT organizations include a robust and intelligent service intermediary that provides a layer of abstraction to mask the complexities of service integration in heterogeneous IT environments,
30.How does OSB support REST?
By defining your proxy service as an Any XML Service so you can accept
and return XML of any flavor.
31.What are some of the major protocols that OSB supports?
http,jms,ftp,sftp,jca,tuxedo(Oracle Service Bus (OSB) use Tuxedo Transport so your applications can utilize Tuxedo services from Java EE applications via OSB proxy and business services.)
32.what is Dynamic Routing?
Dynamic Routing is used to determine the business service at runtime in the message flow.
33.In the context of OSB, what is a Pipeline?
Pipeline pairs are request and response pipelines. The request pipeline definition specifies the actions that Oracle Service Bus performs on request messages, The response pipelinedefinition specifies the actions that Oracle Service Bus performs on response messages
34. What is Message Enrichment?
Adding or deleting some element from the message is called message enrichment.
35.    What is meant by “Location Transparency”?
Through a registration and discovery mechanism, the SOA provides location transparency, which allows clients to not know (or care) about where a component or service is actually located.
36. What is dehydration storage tables?
Dehydration store is the database where BPEL engine stores all BPEL processes meta data and run time instance data. This data store is installed under db schema- ORABPEL
Meta data includes bpel process descriptor (bpel.xml), human task modelling data etc..
Run time instance data includes process instance records, process activities execution data, invoke and call back xml messages etc.
37. How to make partner link Dynamically?
Just go inside the property tab when you double click on the Invoke activity, inside the property of Invoke there are different properties(jca.file.Directory and jca.file.FileName) which you can set. Just click on the Values text space in front of the property it will take you to Adapter Property screen where you can browse the value forthisproperty.
38. What is synchronous file read ?
Sync Read option in BPEL file adapter allows us to read the file from the middle of the process, this is different from the Read option which polls for the new files and is the start of the BPEL process.
39. What is transient and durable BPEL?
Transient process: These are the kind that does not have any break activity or mid receive activity in their design. Dehydration process occurs at the end of the process. If the BPEL process crashes before finishing, then the instance is lost. We will not find the traces of this process in the dehydration store. To java folks, this is very much similar to a transient variable. When explicitly declared as transient the variable will not be persisted with the object state and cannot be serialized.
Durable process: BPEL processes of this kind are dehydrated on the fly when a breakpoint or non-idempotent activity is encountered. In the event of a server crash, the BPEL process restarts from the last dehydration point.
40. What is CAVS?
Composite Application Validation System (CAVS) is part of the Application Integration Architecture Foundation Pack and with CAVS you can test your SOA Composites like SOAPUI or the SOA Test Suite
41. What are MCF properties?
When configuring a Database Adapter or AQ Adapter via the Adapter Configuration Wizard, a Database Connection is required to configure the adapter (this is already defined in your project). The Connection Information listed is actually pulled from your JDeveloper Database Connection information.
Once the adapter is created, a WSDL file is automatically created that includes the adapter definition. This includes the Managed Connection Factory (MCF) properties as well as the Java Naming and Directory Interface (JNDI) name, as shown below:
 42. What is a syncFileRead operation?Is is a inbound or a outbound operation?Can my process begin with a syncFileRead operation?—
No since it is a outbound operation so you need to invoke it.
43.   What is canonical model? 
Canonical Model is a design pattern used to communicate between different data formats. A form of Enterprise Application Integration, it is intended to reduce costs and standardize on agreed data definitions associated with integrating business systems. A Canonical Model is any model that is canonical in nature, i.e. a model which is in the simplest form possible based on a standard, common view within a given context
Canonical Model  is a design pattern, applied within the service oriented design paradigm, which aims to reduce the need for performing data model  transformation when services exchange messages that reference the same data model.
44.      Difference between  ESB/Mediator and OSB?
ALSB (Aqua Logic Service Bus) is renamed as OSB. The ‘old’ ESB has been renamed tomediator and is now only used as component in our sca application.
Mediator is an internal component installed as part of the SCA Composite editor within JDeveloper. Mediator has essentially taken place of the role of ESB in 11g and takes care of the communication brokering within an application. Mediator is geared at being used to broker messages between components that compliment each other and form a composite. Thus adhering to SCA (Service Component Architecture).
Mediator also offers functionality such as
§  Cross Referencing (XREF) – Referencing of keys and fields from separate systems, by means of storing a mapping table.
§  Domain Value Maps (DVM) – Essential DVM is used to map information from one domain to another, this helps significantly when utilizing Canonical Data Models.
§  Schema Validation – The ability to make assertions of data types in a XML Tree.
OSB is a fully fledged standalone stateless ESB, and works as an intermediary between service consumers. It does this by primarily working as a proxy or a differentiated layer between the two.
What does the Mediator do?
§  It mediates components/services within an SOA Composite Application.
§  Routes the requests to the Services
§  Data Transformation between formats and protocols
§  It DOES NOT do service localisation and it cannot act as a Gateway to the Services.
How is it different from Oracle Service Bus?
§  The main difference is in the scope. Mediator performs intra-composite mediation while Oracle Service Bus performs inter-composite mediation which means that it mediates different composites together.
Mediator is an internal component in a composite application and can be used to mediate between the components or the component and the outside world. OSB is a standalone full function powerful stateless ESB that is an intermediary between hetrogenous clients and services and is a part of neither of them.
45.  Comparison of  Oracle Mediator with Oracle Service Bus ?
Oracle Mediator is an intra-composite mediation component that is deployed within a composite, keeping the composite on a canonical model. Its primary function is to provide the transformation of legacy formats to a common format. It is responsible for brokering communications between components that make up a composite, enabling transformation, routing, event delivery, and payload validation inside the composite
46. Difference Between Service Coreography and Service Orchestration?
Web services choreography pertains to the public protocol of a Web service, describing the nature and order of messages exchanged between a Web service and its consumers or peers. Choreography has been proposed as a layer to fill the gap among existing orchestration technologies. WSCI (Web Services Choreography Interface), was proposed by BEA and Sun as a specification aimed at describing the flow of messages among interacting Web services.
Web services orchestration, on the other hand, pertains to the private implementation of a Web service, i.e. describing and executing the interactions and flow among Web services to form collaborative processes or (long-running) business transactions. The most recent orchestration specification, BPEL4WS, was brought forward jointly by IBM and Microsoft, consolidating earlier efforts by the respective vendors.
47.What are the fault handling mechanism in SOA?
Fault Handling in a BPEL Process:
There are two categories of BPEL faults:
§  Business faults
§  Runtime faults
Business Faults:
Business faults are application-specific faults that are generated when there is a problem with the information being processed (for example, when a social security number is not found in the database). A business fault occurs when an application executes a throwactivity or when an invoke activity receives a fault as a response. The fault name of a business fault is specified by the BPEL process service component. The messageType, if applicable, is defined in the WSDL. A business fault can be caught with a faultHandler using the faultName and a faultVariable.
<catch faultName=”ns1:faultName” faultVariable=”varName”>
 Runtime Faults:
Runtime faults are the result of problems within the running of the BPEL process service component or web service (for example, data cannot be copied properly because the variable name is incorrect). These faults are not user-defined, and are thrown by the system. They are generated if the process tries to use a value incorrectly, a logic error occurs (such as an endless loop), a Simple Object Access Protocol (SOAP) fault occurs in a SOAP call, an exception is thrown by the server, and so on. These faults are included in thehttp://schemas.oracle.com/bpel/extension namespace. These faults are associated with the messageType RuntimeFaultMessage.
 Some Runtime Faults:
Binding Fault: A binding Fault is thrown inside an activity if the preparation of the invocation
Fails. For example, the WSDL of the process fails to load. A binding Fault is not retryable. This type of fault usually must be fixed by human intervention.
RemoteFault: A remoteFault is also thrown inside an activity. It is thrown because the invocation fails. For example, a SOAP fault is returned by the remote service.
ReplayFault: A replayFault replays the activity inside a scope. At any point inside a scope, this fault is migrated up to the scope. The server then re-executes the scope from the beginning.

48. What is WSDL and Basic structure of WSDL?
WSDL is an XML-based language for describing Web services and how to access them. WSDL is a document written in XML. The document describes a Web service. It specifies the location of the service and the operations (or methods) the service exposes.

§  WSDL stands for Web Services Description Language
§  WSDL is an XML based protocol for information exchange in decentralized and distributed environments.
§  WSDL is the standard format for describing a web service.
§  WSDL definition describes how to access a web service and what operations it will perform.
§  WSDL is a language for describing how to interface with XML-based services.
§  WSDL is an integral part of UDDI, an XML-based worldwide business registry.
§  WSDL is the language that UDDI uses.
§  WSDL was developed jointly by Microsoft and IBM.
§  WSDL is pronounced as ‘wiz-dull’ and spelled out as ‘W-S-D-L’
Following are the elements of WSDL document:
§  Definition: element must be the root element of all WSDL documents. It defines the name of the web service, declares multiple namespaces used throughout the remainder of the document, and contains all the service elements described here.
§  Data types: the data types – in the form of XML schemas or possibly some other mechanism – to be used in the messages
§  Message: an abstract definition of the data, in the form of a message presented either as an entire document or as arguments to be mapped to a method invocation.
§  Operation: the abstract definition of the operation for a message, such as naming a method, message queue, or business process, that will accept and process the message
§  Port type : an abstract set of operations mapped to one or more end points, defining the collection of operations for a binding; the collection of operations, because it is abstract, can be mapped to multiple transports through various bindings.
§  Binding: the concrete protocol and data formats for the operations and messages defined for a particular port type.
§  Port: a combination of a binding and a network address, providing the target address of the service communication.
§  Service: a collection of related end points encompassing the service definitions in the file the services map the binding to the port and include any extensibility definitions.
49.What is Split Join and Types of Split Join?
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:
a.) Static Split-Join
The static Split-Join branches from the main execution thread of an Oracle Service Bus 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.
b.) Dynamic Split-Join
The dynamic Split-Join branches from the main execution thread of an Oracle Service Bus 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.
50. Types of Transactions in SOA?
§  Inbound transaction: A transaction initiated by an inbound adapter. For example, a transaction entering the SOA system from a JMS system.
§  Outbound transaction: A transaction outbound from the SOA system (and hence from an adapter). For example, a transaction that is made against a database outside the SOA system.
§  JTA transaction: Every step of a process is executed within the context of a JTA transaction. A JTA transaction ensures that one or more operations execute as an atomic unit of work. See the section on XA above.
§  Asynchronous transaction: A composite transaction composed of sub-transactions. However, these sub-transactions are consecutive and serialized, that is, some sub-transactions may have been committed while others may be still executing or have not yet executed. Asynchronous transactions are guaranteed to be propagated once and only once. When an update at the source is committed, the transaction commits and expects that the update is propagated to the target appropriately.
§  Synchronous transaction: These are transactions that execute in one thread from one endpoint to another, without intermediate processes, and which are not serialized.
51. What is Compensate Activity?
 The compensate activity invokes compensation on an inner scope activity that has already successfully completed. This activity can be invoked only from within a fault handler or another compensation handler. Compensation occurs when a process cannot complete several operations after already completing others. The process must return and undo the previously completed operations. For example, assume a process is designed to book a rental car, a hotel, and a flight. The process books the car and the hotel, but is unable to book a flight for the correct day. In this case, the process performs compensation by unbooking the car and the hotel.The compensation handler is invoked with the compensate activity, which names the scope on which the compensation handler is to be invoked.
 52. What is TargetNamespace?
The targetNamespace is a convention of XML Schema that enables the WSDL document to refer to itself.
53. What is  attributeFormDefault?
The form for attributes declared in the target namespace of this schema. The value must be “qualified” or “unqualified”. Default is “unqualified”. “unqualified” indicates that attributes from the target namespace are not required to be qualified with the namespace prefix. “qualified” indicates that attributes from the target namespace must be qualified with the namespace prefix.
 54. What is elementFormDefault?
The form for elements declared in the target namespace of this schema. The value must be “qualified” or “unqualified”. Default is “unqualified”. “unqualified” indicates that elements from the target namespace are not required to be qualified with the namespace prefix. “qualified” indicates that elements from the target namespace must be qualified with the namespace prefix.
55.what is difference between Abstract wsdl & concrete wsdl?
Abstract wsdl:-Used on server side,contains request,response and type of operation performed.
concrete wsdl:-used on client side,contains abstract wsdl and transport used.
Abstract WSDL contains only messages and operations. Abstract WSDL is used by web Server where as concrete WSDL contains messages, operations and binding/transport specific information i.e. SOAP over Http/HTTPS/JMS having wsdl style i.e. RPC/DOC literal.
Abstract WSDL consists of the structure of the message that is like what operation, what is the input and what is the ouput . Whereas in concrete WSDL has all the things that the abstract wsdl has in addition it has transport(http,jms) details.
Abstract wsdl:- Used on server side,contains request,response and type of operation performed.
concrete wsdl:- Used on client side,contains abstract wsdl and transport used.
● An abstract WSDL document describes what the web service does, but not how it does it or how to contact it. An abstract WSDL document defines:
the operations provided by the web service.
the input, output and fault messages used by each operation to communicate with the web service, and their format.
● A concrete WSDL document adds the information about how the web service communicates and where you can reach it. A concrete WSDL document contains the abstract WSDL definitions, and also defines:
the communication protocols and data encodings used by the web service.
the port address that must be used to contact the web service.
56.Basic Principles of Sequential Routing Rules?
Oracle Mediator processes sequential routing rules:-
§  ·         Oracle Mediator evaluates routings and performs the resulting actions sequentially. Sequential routings are evaluated in the same thread and transaction as the caller.
§  ·         Oracle Mediator always enlists itself into the global transaction propagated through the thread that is processing the incoming message. For example, if an inbound JCA adapter invokes an Oracle Mediator, the Oracle Mediator enlists itself with the transaction that the JCA adapter has initiated.
§  ·         Oracle Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
§  ·         Oracle Mediator never commits or rolls back transactions propagated by external entities.
§  ·         Oracle Mediator manages the transaction only if the thread-invoking Oracle Mediator does not already have an active transaction. For example, if Oracle Mediator is invoked from inbound SOAP services, Oracle Mediator starts a transaction and commits or rolls back the transaction depending on success and failure.
Basic Principles of Parallel Routing Rules
§  ·         Oracle Mediator processes routing rules in parallel based on the following principles:
§  ·         Oracle Mediator queues and evaluates routings in parallel in different threads.
§  ·         The messages of each Oracle Mediator service component are retrieved in a weighted, round-robin fashion to ensure that all Oracle Mediator service components receive parallel processing cycles. This is true even if one or more Oracle Mediator service components produce a higher number of messages compared to other components. The weight used is the message priority set when designing an Oracle Mediator service component. Higher numbers of parallel processing cycles are allocated to the components that have higher message priority.
§  ·         You can set the Priority field in the Mediator Editor to indicate the priority of an Oracle Mediator service component. Priorities can range from zero to nine, with nine being the highest priority. The default priority is four.
57.   Difference between Include and Import?
The difference between the include element and the import element is that
import element allows references to schema components from schema documents with different target namespaces and
the include element adds the schema components from other schema documents that have the same target namespace (or no specified target namespace) to the containing schema.
In short, the import element allows you to use schema components from any schema; the include element allows you to add all the components of an included schema to the containing schema.



Oracle Service Bus Interview Question and Answers

Question: To connect to source system which service we will use?
Answer: we will use Proxy service to connect to Source system.

Question: To connect to target system which service we will use?
Answer: we will use Business service to connect to target system.


Question:  What is Proxy Service?
Answer: It is a service in OSB which is exposed to source system or application.
Question: What is Business Service?
Answer: It is a service in OSB which is used to connect to target system.
Question: What is Message Flow?
Answer: Message flow is there in proxy service, We do all types of transformation, routing and other processing message flow only.

Question: 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)?
Answer: No, we can't access variable in proxy service message flow from other proxy service message flow.

Question: Can we use direct bindings to call SOA composites?
Answer: Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.

Question: Where the file will go if there is any error while polling the file ?
Answer: 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.

Question: Why we use Split-Joins in OSB?
Answer: To do parallel processing.

Question: Types of Split-Joins?
Answer: Static and dynamic.

Question: How to call Java code from OSB?
Answer: By using Java callout activity.
Question: Can we use more than one route node in message flow?
Answer: No, we can't we use more than one route node in proxy service message flow.


Question: When we call asynchronous service from OSB then how to get response back from that asynchronous service to OSB?
Answer: Design the proxy service which in turn calls business service which in turn calls asynchronous service. In the message flow of this proxy change the message header to below.
You need to specify ReplyTo value so that asynchronous service response came to CallSyncCompositeProxy proxy service.
<soap-env:Header xmlns:ns1="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<ns1:MessageID>ws:uniqueAddress</ns1:MessageID>
<ns1:ReplyTo>
<ns1:Address>http://localhost:8011/CallAsyncService/proxyServices/CallSyncCompositeProxy</ns1:Address>
</ns1:ReplyTo>
</soap-env:Header>
Remember ReplyTo address refers to CallSyncCompositeProxy endpoints.
Question:  What is throttling in OSB?
Answer: 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.


Question: to transform from binary to XML or XML to binary format what we will in OSB?
Answer: we use MFL.

Question: can we use MDS in OSB?
Answer: No, Oracle Service Bus does not support MDS.

Question: Can we use DVM’s in Oracle Service Bus?
Answer: No, we can’t use DVM’s in Oracle Service Bus.
Question: How Security works in OSB?
Answer: Oracle Service Bus leverages Weblogic Security Framework.

Question: Can we use OWSM to secure OSB services?
Answer: Yes, we can use OWSM to secure OSB services.

Question: To secure OSB proxy service, which OWSM policy you will use?
Answer: To secure OSB proxy service, we use OWSM service side policy.

Question: Can we invoke secure web service from OSB?
Answer: Yes, we can use OWSM client policy and invoke secure web service from OSB.

Question: When we use service Account?
Answer: We use Service Account when we are invoking a service which required static authentication.

Question: Can we re-use Service Account for other Business Services as well?
Answer: Yes, we can re-use the Service Account.

Question: What is Transport-Level Security?
Answer:  It refers to transport protocol security means secure the connection over which messages are transferred. E.g. HTTPS means HTTP over SSL.

Question: What is Message-Level security?
Answer: Message level security is used when we want to protect the message exchanged between two applications.


Question: What is Service pooling in OSB?

Answer: In OSB we can group together more than one service so that whenever one service goes down, request will route to next available service and end user can continue his work without any interruption.

For more details, you can refer my below post.


Question: How file pooling works in OSB?
Answer: There are below two ways to poll a file in OSB.

·         Use OSB file protocol: We can use file protocol available in proxy service to poll the file. Refer below post for more details.


·         Use 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.




Question: Types of pipeline available in OSB?
Answer: We have two pipelines in OSB, Request and Response pipeline.




Question: Can we invoke Restful service from OSB?
Answer: Yes, we can invoke Restful service from OSB. For more details refer below post.


Question: When we use service Account?
Answer: We use Service Account when we are invoking a service which required static authentication.




Question: We don’t have any DB protocol in OSB then how to read/write data from database using OSB?
Answer: 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.




Question: How to perform file listing in OSB?

Answer:  To perform file listing in OSB, you need to create file adapter with file listing operation in Jdeveloper and use that only.


Question: What is Service Result caching in OSB?

Answer: 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
For more details, you can refer my below post.

Question: How to perform Service Callout in OSB?
Answer: We use Service Callout option inside Oracle Service Bus to call any service inside message flow to get the required data. In this post, I will show you how to use Service Callout activity in Oracle Service Bus and pass the response from callout service to next service

Refer below post for more details.

Question: When we invoke proxy 2 from proxy 1 then which protocol we need use?
Answer: When there is internal proxy call in OSB then we use “local” transport instead of HTTP.


Question: What is content based routing in OSB?
Answer: When we route the request message to different business services based on request message content, that is called content based routing.


Question: What are different options available in OSB to read flat file?
Answer: We can read flat file in two different ways.

·         Using MFL: we can MFL in OSB to read flat files. For more details refer my below post


·         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.

Question: What is SLA alert in OSB?
Answer: 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.

Question: How to move large file without reading it in OSB?
Answer:  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 avaiable for file protocol in OSB to move large files.

Cheers Guys!!!
Kavindra Sahu

Difference between synchronous Vs Asynchronous OSB Process


Hello Guys


Today I am sharing my blog on Difference between synchronous Vs Asynchronous OSB Process


Difference between BPEL,Mediator and OSB

Hello Guys, Today I am sharing my blog on Difference between BPEL,Mediator and OSB. OSB is a 'A proven, lightweight integration En...