SOA Interview Questions


What are the main benefits of SOA ?

  • SOA helps create greater alignment between IT and line of business while generating more flexibility - IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide.
  • SOA can help you get better reuse out of your existing IT investments as well as the new services you’re developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction

What is a reusable Service?

  • It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service.
  • A reusable service should be identified with a business activity described by the service specifications (design-time contract).
  • A service’s constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).
  • A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured.

Talking about Service identification, which approach between top-down and bottom-up methodologies encourages re-use and mantainance ?

Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term. Anyway

How can you achieve loose coupling in a soa ?

One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface. However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations

Do you recall any pattern which could be used to leverage loose coupling ?


The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this.
Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels.

The Service of a SOA should be engineered as stateless or stateful ?

Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.

What is composition of a Service ?

Composition is the process by which services are combined to produce composite applications or composite services. A composite application consists of the aggregation of services to produce an enterprise portal or enterprise process. A composite service consists of an aggregation of services that produces another reusable service. It’s just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application.

How do I integrate my Legacy applications with SOA ?

Legacy applications are frequently at the core of your IT environment. With the right skills and tools, you need to identify discrete elements within your legacy applications and “wrap” them in standards-based interfaces and use them as services within your SOA.

How does the ESB fits in this picture ?

The Enterprise Service Bus is a core element of any SOA. ESBs provide the “any to any” connectivity between services within your own company, and beyond your business to connect to your trading partners. But SOA does not stop at just implementing an ESB. Depending on what your goals are, you may want to use an ESB to connect other services within your SOA such as information services, interaction services and business process management services. Additionally, you will need to consider development services and IT service management services. The SOA reference architecture can help you lay out an SOA environment that meets your needs and priorities. The ESB is part of this reference architecture and provides the backbone of an SOA but it should not be considered an SOA by itself.

What are the common pitfalls of SOA ?

One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant timeframe or to offer a compelling return on investment.

What’s the difference between services and components?

Services are logical grouping of components to achieve business functionality. Components are implementation approaches to make a service. The components can be in JAVA, C#, C++ but the services will be exposed in a general format like Web Services.

What are ends, contract, address, and bindings?


These three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be available to the client. End consists of three important things where, what and how:-
  • Contract is an agreement between two or more parties. It defines the protocol how client should communicate with your service. Technically, it describes parameters and return values for a method.
  • An Address indicates where we can find this service. Address is a URL, which points to the location of the service.
  • Bindings determine how this end can be accessed. It determines how communications is done. For instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for each of these communications medium two bindings will be created.
Below figure, show the three main components of end. You can see the stock ticker is the service class, which has an end hosted on www.soa.com with HTTP and TCP binding support and using Stock Ticker interface type.

The concept of SOA is nothing new, however why everyone started to talk about SOA only in the last years ?

Yes I agree the basic concept of SOA aren’t new, however some technology technology changes in the last 10 years made service-oriented architecture more practical and applicable to more organizations than it was previously. Among this:
  • Universally-accepted industry standards such as XML, its many variants, and Web-services standards have contributed to the renewed interest in SOA.
  • Data governance frameworks, which are important to a successful SOA implementation, have well test and refined over the years.
  • A variety of enabling technologies and tools (e.g., modeling, development, infrastructure/middleware, management, and testing) have matured.
  • Understanding of business and business strategies has grown, shifting attention from technology to the people, cultural changes, and process that are key business success factors.

What is the most important skill you need to adopt SOA ? technical or cultural ?

Surely cultural. SOA does require people to think of business and technology differently. Instead of thinking of technology first (e.g., If we implement this system, what kinds of things can we do with it?), practitioners must first think in terms of business functions, or services (e.g., My company does these business functions, so how can I set up my IT system to do those things for me most efficiently?).It is expected that adoption of SOA will change business IT departments, creating service-oriented (instead of technology-oriented) IT organizations.

Is SOA really needed on your opinion?

SOA is not for everyone. While SOA delivers significant benefits and cost savings, SOA does require disciplined enforcement of centralized governance principals to be successful. For some organizations, the cost of developing and enforcing these principals may be higher than the benefits realized, and therefore not a sound initiative.

Question : What is Web service?

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

Question : What is SCA?

Answer :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.

Question : What is SOA?

Answer :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.

Question : What are principles of SOA?

Answer :• loose coupling
• Re-usability
• Interoperability
• Flexible

 Question : What is Mediator?

Answer :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 ....


Question : What is the difference between Oracle SOA 10g and 11g?

Answer :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.



 

Question : What is BPEL?

Answer :Within the enterprise, BPEL is used to standardize enterprise application integration as well as to extend the integration to previously isolated systems. Between enterprises, BPEL enables easier and more effective integration with business partners. BPEL stimulates enterprises to further define their business processes, which in turn leads to business process optimization, reengineering, and the selection of the most appropriate processes, thus further optimizing the organization. Definitions of business processes described in BPEL do not affect existing systems, thereby stimulating upgrades. BPEL is the key technology in environments where functionalities are already or will be exposed via Web services. With increases in the use of Web services, the importance of BPEL will increase as well.


Question : What is BPEL Process in SOA ?

Answer :(Business Process Execution Language) BPEL Process is a language used for the composition, orchestration and coordination of webservics.

Enterprise Information system can improve the efficiency of businesses through the automation of business processes. The objective of almost every company is that the application it uses should provide comprehensive support for business processes. It means that applications should align with business processes closely. 

BPEL improves and extends the flexibility of earlier integration methods and distributed architectures, and focuses on the reusability of existing applications and system, efficient interoperability’s and application integrations and the composition of business processes out of services provided by applications. Another important objective of SOA is also the ability to apply changes in the future in a relatively easy and straightforward way. 

BPEL is the one of the most popular, commonly accepted specialized language for business process, BPEL is a special language, designed to execute business processes using a special server. BPEL process provide good environment where business processes can be developed in an easy and efficient manner, directly executed, monitored and quickly adapted to the changing needs of enterprises without too much effort. 

Question : What is/was the motivation behind BPEL? How does it differ from other/past attempts/technologies aimed at the integration/business process problem? Can you talk briefly about the evolution of BPEL?

Answer :Orchestrating a set of services into an end-to-end process flow entails a new set of technical requirements (binding to heterogeneous system, synchronous and asynchronous message exchange patterns, data manipulation, flow coordination, exception management, undeterministic events, compensating transactions, side-by-side versioning, in-flight instance management and auditing). The goal of BPEL is provide a richer and yet simpler abstraction/standard for addressing those requirements. Although it is a fairly new standard, it leverages from 10+ years of research and development Microsoft and IBM invested in XLANG and WSFL.

Question : What is orchestration? What does it mean to build composite applications? Why would anyone want to?

Answer :Existing systems are not going away. Yet enterprises need to build new applications that can leverage the functionality encapsulated in those existing systems. The notion of a composite application is based around the idea of building new applications by wiring together existing building blocks. Orchestration plays an important role in this picture because it is the glue that coordinates the execution of each discrete service. A good orchestration server needs to be reliable, scalable and render the BPEL process logic with very high fidelity.

 

Question : Explain Orchestration and Choreography.

Answer :In orchestration, which is usually used in private business processes, a central process (which can be another Web service) takes control of the involved Web services and coordinates the execution of different operations on the Web services involved in the operation. The involved Web services do not "know" (and do not need to know) that they are involved in a composition process and that they are taking part in a higher-level business process. Only the central coordinator of the orchestration is aware of this goal, so the orchestration is centralized with explicit definitions of operations and the order of invocation of Web services. 

Choreography, in contrast, does not rely on a central coordinator. Rather, each Web service involved in the choreography knows exactly when to execute its operations and with whom to interact. Choreography is a collaborative effort focusing on the exchange of messages in public business processes. All participants in the choreography need to be aware of the business process, operations to execute, messages to exchange, and the timing of message exchanges. 

Question : What are two configuration settings for auditing?

Answer :
auditLevel: 

• off - absolutely no logging performed whatsoever; may result in a slight performance boost for processing instances. 
• minimal - all events are logged; however, no audit details are logged. 
• production - all events are logged. The audit details for assign activities are not logged; the details for all other nodes are logged. 
• development - all events are logged; all audit details for all activities are logged. 

auditDetailThreshold: 

The maximum size (in bytes) an audit trail details string can be before it is stored separately from the audit trail. If a details string is larger than the threshold it will not be immediately loaded when the audit trail is initially retrieved; a link will be displayed with the size of the details string. Typically, the details string will contain the contents of a BPEL variable. In cases where the variable is very large performance may be severely impacted by logging it to the audit trail. The default value is 50 kilobytes

Question : How many tables are used for mediator instance tracking?

Answer :There are in total 5 tables which are used by mediator instance tracking: 

• Mediator_instance - One row for each mediator message flow. 
• Mediator_case_instance - One row for each mediator case (~ routing rule). 
If a mediator component has two routing rules then this should have 2 records for that mediator instance. 

• Mediator_case_detail - Captures mediator audit trail for each mediator routing rule. Number of records may vary based on the nature of mediator component. 

Eg: if mediator component is having a async req-resp routing rule then this would contain 2 rows for the corresponding mediator routing rule. 

• Mediator_document - Stores the payload for routing rules which are configured as deferred (~ parallel in jdev). So if all the routing rules are "sequential" then this will not contain any records. 

• Mediator_audit_document - Stores the payload for audit trail and only when "instanceTrackingLevel" for mediator is "Complete". 

Question : How can we handle faults in BPEL?

Answer :When a fault occurs within a business process, the process may not complete successfully. (But it can complete successfully if the fault is handled within a scope, which enables you to divide a complex process into several parts; more on scopes later.) The business process can handle the fault through one or more fault handlers. Within a fault handler, the business process defines custom activities that should recover from the fault and possibly reverse the partial (unsuccessful) work of the activity where the fault has occurred.

Question : What is Scopes in BPEL? How can it be useful in handling faults?

Answer :Scopes are hierarchically organized parts into which a complex business process can be divided. They provide behavioral contexts for activities. In other words, scopes enable you to define different fault handlers for different activities (or sets of activities gathered under a common structured activity such as or ). In addition to defining fault handlers, you can declare variables that are visible only within a scope. Scopes also let you define local correlation sets, compensation handlers, and event handlers. 

Question : What are two types of Events supported by BPEL?

Answer :Although fault handlers and scopes improve the robustness of BPEL processes considerably, you can also manage events. BPEL supports two types of events: 

1. Message events are triggered by incoming messages through operation invocation on port types. 
2. Alarm events are time-related and are triggered either after certain duration or at a specific time. 

Question : Explain the use of Message Event and Alarm Events?

Answer :Managing message events is particularly important when the business process is waiting for callbacks from partner Web services. activity, lets you wait for only a single (exactly specified) message on a port type. Often, however, it is more useful to wait for more than one message, of which only one will occur. 

Alarm events are useful when you want the process to wait for a callback for a certain period of time, such as 15 minutes. If no callback is received, the process flow continues as designed. This approach is particularly useful in loosely coupled service-oriented architectures, where you cannot rely on Web services being available all the time. This way, the process flow can proceed even if one of the bookstores does not return an offer.

 

Question : Explain “Pick” activity of BPEL.

Answer :BPEL provides the activity, through which you can specify that the business process should await the occurrence of one event in a set of events. Events can be message events handled with the activity or alarm events handled with the activity. For each event, you specify an activity or a set of activities that should be performed. 

Question : How can we use Pick as Initial activity?

Answer :You can use the activity instead of the initial activity. You can specify several operations, and receiving one of these messages will result in the creation of a business process instance. Then you have to use a special form of the activity. You specify the createInstance attribute for the activity, but you can specify only events; events are not permitted in this specific form. 

Question : What is Use of assign activity in BPEL?

Answer :You use the assign activity to copy data from one XML variable to another, or to calculate the value of an expression and store it in a variable. A copy element within the activity specifies the source and target of the assignment (what to copy from and to), which must be of compatible types. 

Question : How can you increase performance in BPEL ?

Answer :We can increase the performance by writing indexes and sequences.

(Or) Go to application server - Configurations - Change Xml file

Question : What is orchestration? What does it mean to build composite applications? Why would anyone want to?

Answer :Existing systems are not going away. Yet enterprises need to build new applications that can leverage the functionality encapsulated in those existing systems. The notion of a composite application is based around the idea of building new applications by wiring together existing building blocks. Orchestration plays an important role in this picture because it is the glue that coordinates the execution of each discrete service. A good orchestration server needs to be reliable, scalable and render the BPEL process logic with very high fidelity.

Question : What differentiates BPEL Process Manager from other process integration offerings?

Answer :Four things:
• Native and comprehensive BPEL support
• Extensible binding framework (which means that you can orchestrate not only Web services but also JCA, JMS, etc)
• Ease-of-use (you can get up and running in less than 15 minutes)
• Cross-platform support (Oracle Application Server but also WebLogic, WebSphere, etc.)

 

Question :  What are dspMaxThread and a recieverThread properties? Why are they important?

ReceiverThreads property specifies the maximum number of MDBs that process aysc across all domains. Whereas the dspMaxThreads are the maximum number of MDBs that process asy and threads that operate across a domain.
So, we need to ensure that the dspMaxThreads value is  !> ReceiverThreads.

 

Question  : Is it possible to use MS SQL Server as dehydration store with SOA Suite ?if yes how?

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.
Question  :  What are DVM's and how are they helpful in SOA?
DVM-Domain Value Map are static mappings between a source and target system which can be used in transformations. The value can be changed  via  SOA composer.
Question  :  What is the difference between XREF and DVM?
XREF- It is dynamic since the values to the XREF can be populated dynamically and it is stored in XREF_DATA table in SOA Dehydration store.

DVM- Domain Value Map is static mappings between a source and target system which can be used in transformations.

Question  :  What is Dehydration store?

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.
Question  :   What is MDS?
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.

Question  :   What is a XA datasource? How it differs from a non-XA datasource?
An XA transaction involves a coordinating transaction manager, with one or more databases (or other resources, like JMS) all involved in a single global transaction. Non-XA transactions have no transaction coordinator, and a single resource is doing all its transaction work itself (this is sometimes called local transactions).
Question  :   How can we secure our web services using Oracle SOA Suite?
When accessing the services should be restricted to the group, then service should be secured via WSM (Web service Manager).

Question  :   How to deploy an XSL file without deployment of BPEL Process?
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.

Question:   What is HA File and FTP Adapters?
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.

Question  :   What is singleton Property in SOA?

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.

Question  :    What is a flow activity? What is a flowN activity and how does it leverages the flow activity?

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.

Question:   What do you mean by non-idempotent activity? Which all activities are non-idempotent by default?

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.

Question:    What is forward delay in JMS Queue?

In the clustered environment where JMS queues are used, when for the queues in any one of the Managed server doesn’t have the consumer, once messages reaches  the forward delay time it gets moved  to the other managed server where consumer is present.

Question:   What is redelivery limit in JMS Queue?

When the message gets failed to get processed ,then it will be re-tried will the redelivery limit exhausts and once after the redelivery limit the message can b e either moved to the error Queue are it can be discarded.

Question:   What is timetodeliver in JMS Queue?

When Messages enqueued to the JMS queue, it will be immediately consumed by the JMS Subscribers, if any delay needs to be induced for the message consuming by the Subscribers then timetodelivery needs to set. The JMS message will not be subscribed until timetodelivery exhausts.

Question  :   Difference between JMS Queues and Topics?
Queue-Message will be subscribed by one subscriber.
Topic-Message will be subscribed by more than one subscriber.
Question:   What is a inline schema? 
Schemas can be included inside of XML file is called Inline Schemas.



Question: What is role of Mediator?
Answer: Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Oracle Mediator converts data to

facilitate communication between different interfaces exposed by different components that are wired to build a SOA composite application.


Question:Difference between Mediator & OSB?
Answer: OSB is all together different tool which is used for integration like SOA but the main purpose of OSB is to route the information and same we can do with

mediator. The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to

route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight mediation.


Question: What is echo in Oracle Mediator?
Answer: The purpose of the echo option is to expose all the Oracle Mediator functionality as a callable service without having to route it to any other service. For

example, you can call an Oracle Mediator to perform a transformation, a validation, or an assignment, and then echo the Oracle Mediator back to your application

without routing it anywhere else.

For synchronous operations with a conditional filter, the echo option does not return a response to the caller when the filter condition is set to false. Instead, it

returns a null response.

The echo option is available for asynchronous operations only if the Oracle Mediator interface has a callback operation. In this case, the echo is run on a separate

thread.

Question: What is resequencing in Mediator ?
Answer: The resequencing feature of the Oracle Mediator reorders sets of messages that might arrive to the Oracle Mediator in the wrong sequence. You can define

resequencing for all operations in an Oracle Mediator or for a specific operation.

Question: Resequencing options available in mediator?
Answer:
Standard (based on input Id)
FIFO(based on time)
Best Efforts

Question: What is Schematron Validation?
Answer: Schematron is an XML schema language, and it can be used to validate XML contents in an XML payload.


Question: Types of routing exist in Mediator?
Answer: Static & Dynamic Routing.


Question: What is Dynamic Routing in Mediator ?
Answer: A dynamic routing rule lets you externalize the routing logic to an Oracle Rules Dictionary, which in turn enables dynamic modification of the routing logic in

a routing rule.

When you choose to create dynamic routing rule then it creates a new business rule service component that is wired to the Oracle Mediator service component within the

SOA composite of the Oracle Mediator service component. The business rule service component includes a rule dictionary. The rule dictionary is a metadata container for

the rule engine artifacts, such as fact types, rulesets, rules, decision tables and so on.

Inside routing rules, you need to set endpoint URI.



Question: Types of Static Routing rules?
Answer: Sequential & Parallel.



Question: Difference between Sequential & Parallel static routing rules ?
Answer:

Sequential
parallel
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 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.
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 initiates a new transaction for processing each parallel rule. The initiated transaction ends with an enqueue to the Oracle Mediator parallel
message dehydration store.

For example, if an Oracle Mediator service component has one parallel routing rule, one message is enqueued on the Oracle Mediator parallel message dehydration store.

The parallel message dispatcher to the store then initiates a transaction, reads the message from the database store, and invokes the target component or service of

this routing rule. The transaction initiated by the listener thread is a completely new transaction and is propagated to the target components.
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 commits or rolls back transactions because it is the initiator of these transactions.
If an operation or event has both sequential and parallel routing rules, first sequential routing rules are evaluated and actions are performed, and then parallel

routings are queued for parallel execution.
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.



Question: Which static routing rule support fault policy ?
Answer: Parallel rules only.

No comments:

Post a Comment