Top 50 Oracle Soa Interview Questions You Must Prepare 19.Apr.2024

DVM-Domain Value Map is static mappings between a source and target system which can be used in trformations. The value can be changed via SOA composer.

Business events are messages sent as the result of an occurrence or situation, such as a new order or completion of an order. In Oracle SOA Suite, the mediator service component subscribes or publishes events. When an event is published, other applications can subscribe to it.

Property needs to be defined to start the new traction or to continue with the same tractions 

Property Name: Traction and if this has value as required then the BPEL process will be continued in the same traction where as if the value is defined as requiresnew then it will start the new traction.

Concrete: Besides the information about how to communicate to the web service, it the information on where the service exist. It has Bindings (Protocol the message should be sent) and Services(has endpoint for each bindings). 

Abstract: It has information about how to communicate to the web service like types (Schema), Message (input and output messages service accepts) ,Operations (operation that can be performed on this service) and port Type.

Dehydration store is the database where the instances get stored when it gets dehydrated by the process on the occurrence of non-idempotent activities and also stores the information on the long running processes.

We will directly deploy the XSLT,
options: - 
Using ANT script by file replacement in TMP folder.
By creating a folder in BPEL PM Installation folder and specifying its location in our BPEL code with http call and replacing our xslt to that location.

MDS –Metadata Store 

Wsdl and Schemas to be used in the process can be published to the MDS and get it used in the code by referring the artifacts from the MDS 

Advantages: 

JAR (Deployment unit) size will be reduced. 
Duplication of the artifacts can be avoided between the services.

Oracle SOA Suite provides support for Decision components that support Oracle Business Rules. A Decision component is a mechanism for publishing rules and rule sets as a reusable service that can be invoked from multiple business processes. These rules can be changed without redeploying the code.

When ever the services returns the response in few seconds, it is recommended to go for synchronous BPEL process if not the BPEL process should be Asynchronous the reason is calling application can’t proceed further in case of synchronous process.

In the clustered environment when the processing of the message should happen via only one SOA managed server, then the property singleton needs to be defined at the adapter level.

Oracle Business Rules, initiated by a BPEL process service component, enable dynamic decisions at runtime. In addition, the human task and mediator service components can make use of rules for dynamic routing.

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.

The sequences of events involved in the delivery of invoke messages is as follows: 

  • The client posts the message to the delivery service. 
  • The delivery service saves the invocation message to the dlv_message table. The initial state of the message is 0 (undelivered). 
  • The delivery service schedules a dispatcher message to process the invocation message asynchronously. 
  • The dispatcher message is delivered to the dispatcher through the afterCompletion() call. Therefore, the message is not delivered if the JTA traction fails. 
  • The dispatcher sends the JMS message to the queue. Places a very short JMS message in the in-memory queue (jms/collaxa/BPELWorkerQueue) in OC4J JMS. The small JMS message triggers the Worker Bean in the downstream step. 
  • This message is then picked up by a Worker Bean MDB, which requests the dispatcher for work to execute. If the number of Worker Bean MDBs currently processing activities for the domain is sufficient, the dispatcher module may decide not to request another MDB. 
  • MDB fetches the invocation message from the dispatcher. 
  • MDB passes the invocation message to Oracle BPEL Server, which updates the invocation message state to 1 (delivered), creates the instance, and executes the activities in the flow until a breakpoint activity is reached.

Oracle Service Bus provides standalone service bus capabilities, enabling separation between application developers and target systems or services. Oracle Service Bus receives messages through a trport protocol such as HTTP(S), JMS, File, and FTP, and sends messages through the same or a different trport protocol.

Service response messages follow the inverse path. Oracle Service Bus handles the deployment, management, mediation, messaging, security and governance of implementing SOA to enterprise applications.

XSLT processes XML documents and trforms document data from one XML schema to another.

The following components comprise an Oracle SOA Suite installation:

  • Service Infrastructure
  • Oracle Mediator
  • Oracle Adapters
  • Business Events and Events Delivery Network
  • Oracle Metadata Repository
  • Oracle Business Rules
  • Oracle WSM Policy Manager
  • Oracle BPEL Process Manager (Business Process Execution Language)
  • Human Workflow
  • Oracle Business Activity Monitoring
  • Oracle User Messaging Service
  • Oracle B2B
  • Oracle JDeveloper
  • Oracle Enterprise Manager

The following components are included with Oracle SOA Suite, but available as a separate download:

  • Oracle Service Bus (provides service virtualization and protocol trformations for oracle SOA appl)
  • Oracle Complex Event Processing

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

Throw activity will explicitly throw the fault and this fault will get caught by the catch block and the corresponding actions will get executed. 

Using JAVA embedding activity in BPEL, Java code can be embedded in BPEL and can be used.

  1. Oracle Adapters 
  2. Oracle Mediator 
  3. Business Events and Events Delivery Network 
  4. Oracle Business Rules 
  5. Human Workflow 
  6. Oracle Business Activity Monitoring 
  7. Oracle Enterprise Manager

Pick activity can act as a multiple receive activity in some business scenarios. If we have two inbound operations and both can trigger the bpel process then we will go with pick activity as we can’t have two receive activity with create Instance box checked.

By avoiding use of various if statements and using choose and by using for-each group in place of for-each.

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

Durable:- It is long running process and initiated through a one-way invocation and do incur one or more dehydration points in the database during execution Ex: Asynchronous 

Trient:- It is short-lived process, request-response style processes and do not incur dehydration during their process execution Ex: Synchronous.

Yes, by selecting the Do not read file content check box in the Jdeveloper wizard while configuring the "Read operation."

OSB is the light-weight service bus wherever there is not much business logic involves and there is need to just get the message routed between the systems OSB is used where as when there is more business logic involves in the process, then BPEL will be used.

Oracle WSM Policy Manager provides the infrastructure for enforcing global security and auditing policies in the Service Infrastructure.

Service Data Objects (SDO) provides a data programming architecture. It provides a standardized view on data, and provides efficient trportation, as well as change capture, in form of a change summary. More specifically, it collects a data graph of related business objects, called DataObjects. This graph tracks the schema that describes the DataObjects. Knowledge is not required about how to access a particular back-end data source to use SDO in a SOA composite application. Consequently, you can use static or dynamic programming styles and obtain connected and disconnected access.

No because SOA is one of the parts in Fusion middleware and SOA behaves like user interface where as Fusion is big platform.

Oracle Adapters use JCA (Java Connector Architecture) technology to connect external systems to the Oracle SOA Suite.
Oracle SOA Suite provides the following technology adapters to integrate with trport protocols, data stores, and messaging middleware:

  • BAM
  • FTP
  • Java Messaging Service (JMS)
  • Advanced Queuing (AQ)
  • Files
  • Message Queuing (MQ) Series
  • Legacy Adapters
  • Application Adapters

Non- blocking invoke is used when Parallel flow needs to be executed where new thread will be created for each invoke a activity and which will execute simultaneously.

If we have to send the request to different service which has the same wsdl then dynamic partner link will be used and using addressing schema we can set the endpoint dynamic to send the request to the desired service.

To move your organization toward greater service orientation, you need to take a balanced approach to building versus buying. To create the infrastructure for an SOA, you’ll need the right commercial off-the-shelf software that complements (rather than replaces) your existing IT infrastructure. This is a “buy” statement. On the “build” side, you may also choose to access know-how and hands-on involvement to use these software products effectively and get the most out of them. This infrastructure and the associated tools can help you create the business services that run on your SOA. Again, there is some “building” associated with this. So the real wer is that you need a certain measure of both building and buying.

Yes it is possible. 

To automatically maintain long-running asynchronous processes and their current state information in a database while they wait for asynchronous callbacks, you use a database as a dehydration store. Storing the process in a database preserves the process and prevents any loss of state or reliability if a system shuts down or a network problem occurs. This feature increases both BPEL process reliability and scalability. You can also use it to support clustering and failover.

  1. Using Jdeveloper 
  2. Through Enterprise Manager Console 
  3. Through Weblogic Scripts.

Service-Oriented Architecture (SOA) governance is a concept used for activities related to exercising control over services in an SOA.

Some key activities that are often mentioned as being part of SOA governance are: 

Managing the portfolio of services: This includes planning development of new services and updating current services.

Managing the service lifecycle: This is meant to ensure that updates of services do not disturb current services to the consumers.

Using policies to restrict behavior: Consistency of services can be ensured by having the rules applied to all the created services.

Monitoring performance of services: The consequences of service downtime or underperformance can be severe because of service composition. Therefore action can be taken instantly when a problem occurs by monitoring service performance and availability.

Oracle mediator is used for route, validate, filter and trform data from service providers to external partners.

Route: Determines the service component (BPEL process, business rule, human task, and mediator) to which to send the messages.

Validate: Provides support for validating the incoming message payload by using a schematron or an XSD file.

Filter: If specified in the rules, applies a filter expression that specifies the contents (payload) of a message be analyzed before any service is invoked.

Trformation: If specified in the rules, trforms document data from one XML schema to another, thus enabling data interchange among applications using different schemas.

Oracle Metadata Repository MDS stores business events, rulesets for use by Oracle Business Rules, XSLT files for Oracle Service Bus and Oracle Mediator, XSD XML schema files for Oracle BPEL Process Manager, WSDL files, and metadata files for Complex Event Processing.

In the clustered environment, File and FTP adapters should be used as HA (High-Availability) 

Inbound: It is controlled by Control Files and avoids the race between the manages servers in reading the files where the reference of the files read by the managed servers will be maintained in the control directory. 

Outbound: It is controlled by DB Mutex table exist in the SOA dehydration store and this avoids duplicated been written to the same file when all the managed servers in the clusters process the same messages.

Activities like Pick, Wait, receive, reply and checkpoint() are called non-Idempotent activity and during the execution of the process whenever these activities are encountered then it gets dehydrated to the dehydration store.

Generally a service bus is used for endpoint virtualization and in 11g stack; Oracle Service Bus (OSB) is the primary service bus. In exposed proxy's message flow, it can route the request to any of your environment's actual (physical) service on the basis of whatever logic.

Mediator can also be used to expose the service and in mediator routing rule, it can be routed to actual service.

An XA traction involves a coordinating traction manager, with one or more databases (or other resources, like JMS) all involved in a single global traction. Non-XA tractions have no traction coordinator, and a single resource is doing all its traction work itself (this is sometimes called local tractions).

Scenario A: The BPEL code uses a fault-policy and a fault is handled using the “ora-human-intervention” activity, then the fault is marked as Recoverable and the instance state is set to “Running”. 

Scenario B: The BPEL code uses a fault-policy and a fault is caught and re-thrown using the “ora-rethrow-fault” action, then the fault is marked as Recoverable and the instance state is set to “Faulted”; provided the fault is a recoverable one (like URL was not available).

Flow activity is used, when parallel execution of the flow is needed and to use this property “non blocking invoke should be set as true “at the partner link level and no. of execution of parallel flow is defined and static. Where as in Flown the no. of execution of parallel flow is not static and it is determined during run time.

When accessing the services should be restricted to the group,then service should be secured via WSM (Web service Manager).

In choreography there is no business process to control the integration between the systems; each system will directly integrate with one another in sequence where as in Orchestration there is a business process which controls all the services (source/Target) which is part of the integration.

BPEL provides enterprises with an industry standard for business process orchestration and execution. Using BPEL, you design a business process that integrates a series of discrete services into an end-to-end process flow. This integration reduces process cost and complexity.

Pick activity picks the messages from service (Source) which has multiple operations or the BPEL process needs to receive the messages from multiple source system. Pick activity should have at least on Message branch.

Receiver Threads property specifies the maximum number of MDBs that process Async across all domains. Whereas the dspMaxThread are the maximum number of MDBs that process Async and threads that operate across a domain. So, we need to ensure that the dspMaxThread value is not greater than Receiver Threads.

  • Custom errors 
  • Timed out errors 
  • BPM errors 
  • Validation Errors