Oracle SOA Interview questions & material

1) What is SOA? Principles of SOA?

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

Principles of SOA:
  • Loose coupling
  • Re-usability
  • Interoperability
  • Flexible
2)How to increase the transaction timeouts in SOA?

Ans: For the transaction timeout needs to be increased, all the below settings timeout value needs to be changed to the expected Timeout value.
  • JTA
  • Engine Bean
  • Delivery Bea
3) What is end point virtualization?

Ans :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.
4)When u will go for Sync process?

Ans :Whenever 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. 

5)Difference between URI and URL?

Ans : A URI is an identifier for some resource, but a URL gives you specific information as to obtain that resource. A URI is a URL and as one commenter pointed out, it is now considered incorrect to use URL when describing applications. Generally, if the URL describes both the location and name of a resource, the term to use is URI. Since this is generally the case most of us encounter every day, URI is the correct term.

6)What is the difference between concrete and abstract wsdl?

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

7)What is Web Service ?What is WSDL ? 

Ans : Web service is a piece of code which is available on web (internet). That code of piece can be developed in any language (java, .net etc). A client invokes the web service by sending xml message and it wait for xml response (synchronously or asynchronously). WSDL stands for Web Services Description Language 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

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

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

9)How do we resubmit a faulted process? 

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

10)What is HA File and FTP Adapters? 

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

11)What is File ChunkedRead ? 

Ans: This is a feature of Oracle File and FTP Adapters that uses an invoke activity within a while loop to process the target file. This feature enables you to process arbitrarily large files. 
                                     If an invalid payload is provided, then ChunkedRead scenarios do not throw an exception. When a translation exception (bad record violating the NXSD specification) is encountered, the return header is populated with the translation exception message that includes details such as line and column where the error occurred. All translation errors do not result in a fault. These errors are manifested as a value in the return header. You must check the jca.file.IsMessageRejected and jca.file.RejectionReason header values to ascertain whether an exception has occurred. Additionally, you can also check the jca.file.NoDataFound header value. 

12)What is File Debatching ? 

Ans: When a file contains multiple messages, you can choose to publish messages in a specific number of batches. This is referred to as debatching. During debatching, the file reader, on restart, proceeds from where it left off in the previous run, thereby avoiding duplicate messages. File debatching is supported for files in XML and native formats.

13)Business Benefits of Service-Oriented Architecture
  • SOA can help businesses respond more quickly and economically to changing market conditions.
  • SOA can be considered an architectural evolution. It captures many of the best practices of previous software architectures.
  • The goal of separating users from the service implementations is promoted by SOA.
  • The goals like increased interoperability, increased federation and increased business & technology domain alignment can be achieved by SOA due to its architectural and design discipline.
  • SOA is an architectural approach for constructing complex software-intensive systems from services.
  • SOA realizes its business and IT benefits through utilizing an analysis and design methodology when creating services.

14)Do you recall any pattern which could be use to leverage loose coupling ?

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

15)What is a XA datasource? How it differs from a non-XA datasource?

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

16)What is role of Mediator?

Ans: Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Oracle Mediator converts data tofacilitate communication between different interfaces exposed by different components that are wired to build a SOA composite application.

17)what is the use of Pick Activity?

Ans: This activity waits for the occurrence of one event in a set of events and performs the activity associated with that event. The occurrence of the events isoften mutually exclusive (the process either receives an acceptance or rejection message, but not both). If multiple events occur, the selection of the activity toperform depends on which event occurred first. If the events occur nearly simultaneously, there is a race and the choice of activity to be performed is dependent on both timing and implementation.

18)What is trigger file in File adapter?

Ans: When we choose “Trigger File” checkbox, file adapter will not poll/read the file/files from specified directory unless it sees trigger file in trigger file directory. Once trigger files is there in the trigger file directory, file adapter will start polling the files.

19)What is difference between Transient and Durable processes?

Ans:  Below is difference between Transient and Durable process
Transient Process: Transient processes do not incur dehydration during their process execution. If an executing process experiences an unhandled fault or the server crashes, instances of a transient process do not leave a trace in the system.
Durable Process: Durable processes incur one or more dehydration points in the database during execution. Dehydration is triggered by one of the following activities:
  • Receive activity
  • OnMessage branch in a pick activity
  • OnAlarm branch in a pick activity
  • Wait activity Reply activity
  • checkPoint() within a <bpelx:exec> activity
20)When we call secured web service from SOA, which policy we will use “Client” or “Service”?

Ans : When we call secured web service from SOA then we add “Client” policy to reference partner link and when we want to secure our web service then we use “Service” policy.

21) What is SOA governance? What are its functions?

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

22)What is DB-Based MDS Repository?

Ans: Database-based repositories are used in production environments where robustness is needed. These repositories are created using the Repository Creation Utility (RCU) application from Oracle. This utility helps with the creation of a new database schema with its corresponding tables and objects. Repositories can later be registered or deregistered via the Oracle Enterprise Manager Fusion Middleware Control console.

23)what is the scope of Policy Sets or where we can apply Policy sets ?

  • Domain — all policy subjects of the specified type in a domain
  • Application or Partition—all policy subjects of the specified type in an application or SOA partition
  • Application module or SOA composite—all policy subjects of the specified type in an application module or SOA composite
  • Service or reference—all policy subjects of the specified type in a SOA service or reference
  • Port or component—all policy subjects of the specified type in a port or SOA component

24)Difference between XA & Non-XA transaction ?

Non-XA (Local Transaction):  It involves only one resource. When you use Non-XA transaction then you can’t involve multiple resources (different databases, Queues, application servers etc), you can rollback or commit transaction for only one resource. There is not transaction manager for this transaction as we are dealing with only one resource at a time. 

XA (Global Transaction): It involves more than one resource (different databases, queues, application servers) all participate in one transaction. It uses two-phase commit to ensure that all resources either all commit or rollback any particular transaction. When you have scenario like you need to connect to two different databases, JMS Queue and application server, in this case you will use XA transaction that means all resource participate in one transaction only.

25)What is Dynamic Routing in Mediator ?

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

SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser