Showing posts with label SOA Interview Questions. Show all posts
Showing posts with label SOA Interview Questions. Show all posts

Saturday, December 12, 2015

Oracle SOA Interview Questions and Answers (File Adapter)

Question: What is “Minimum Age” in File adapter?

Answer: This parameter specifies the minimum age of files to be retrieved. This enables a large file to be completely copied into the input directory before it is retrieved for processing.


Question: What is trigger file in File adapter?

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


Question: What is Logical path in File adapter?

Answer: This parameter specifies the logical input directory to be polled. The parameter is of type String. We provide value of logical path in composite.xml file.


Question: How to handle errors when we unable to read/poll a file using file adapter if that file is corrupt?

Answer: We need to use File rejection handler to catch these types of error.


Question: What is Sync-Read in file adapter?

Answer: When we want to read a file in between our BPEL flow then we use this option.


Question: Can we read remote files using file adapter?

Answer: To read file from remote location we need to use FTP adapter.


Question: What is native format?

Answer: when we want to read the file as it, means we don’t want to transform file content to XML format then we use native format option.




Question: What is difference between Transient and Durable processes?

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


Question: Can we set audit level at BPEL level?

Answer: Yes, we can use bpel.config.auditLevel property inside composite.xml file for BPEL process service component to set audit level for BPEL. This property takes precedence over audit level settings at the SOA Infrastructure, service engine, and SOA composite application levels.

<component name="BPELProcess">
   <implementation.bpel src="BPELProcess.bpel" />
   <property name="bpel.config.auditLevel"></property>
</component>


Question: What are disadvantages of Asynchronous process?

Answer: It adds dehydration overhead. This can become a problem if there are large numbers of asynchronous processes waiting for a response since for every callback, a new thread/transaction is needed and a callback needs to be matched to a correlation table which takes longer if there are a lot of open processes. Design processes to be synchronous as much as possible, avoid nesting of asynchronous processes also avoid synchronous processes calling asynchronous processes.


Question: Does Oracle recommend batch processing?

Answer: No, we should avoid batch processing in BPEL as much as we can. Batch processing takes lot of memory and causes a lot overhead for storing audit information. We should put the work to be done in a separate BPEL process and optimize this process. Design for worst case scenarios. Implement retry mechanisms in fault-policies. Implement your own scheduling mechanism to spread the load, if no message level processing is needed, ODI might be an option.


Question: What is idempotent activity?

Answer: An idempotent activity is an activity that can be retried.
This property has the following values:

False: Activity is dehydrated immediately after execution and recorded in the dehydration store. When idempotent is set to False, it provides better failover protection, but may impact performance if the BPEL process accesses the dehydration store frequently.

True (default): If Oracle BPEL Server fails; it performs the activity again after restarting. This is because the server does not dehydrate immediately after the invoke and no record exists that the activity executed. Some examples of where this property can be set to True are: read-only services (for example, CreditRatingService) or local EJB/WSIF invocations that share the instance's transaction.


Question: What is nonBlockingInvoke property?

Answer: This property is used when we use Flow or Flow N in BPEL. By default, Oracle BPEL Process Manager executes in a single thread by executing the branches sequentially instead of in parallel. When this property is set to True, the process manager creates a new thread to perform each branch's invoke activity in parallel. This property is applicable to both durable and transient processes.


Question: What is streamResultToTempFile property in Mediator?

Answer: Until 11g Release 1 11.1.1.3, for XSLT operations in Oracle Mediator, the result was cached into memory as a whole document in binary XML format. For large document processing, this caused out-of-memory errors. Starting with 11g Release 1 11.1.1.4, the streamResultToTempFile property is available. This property enables XSLT results to be streamed to a temporary file and then loaded from the temporary file. Set streamResultToTempFile to yes when processing large payload using XSLT. The default value is no.

<component name="Mediator1">
   <implementation.mediator src="Mediator1.mplan"/>
   <property name="streamResultToTempFile">yes</property>
</component>

This property is recommended only for processing large payloads. Enabling this property could reduce performance for normal payloads.



Question: Which property we have to use to process JMS, AQ or MQ messages on one node in cluster environment.

Answer: we use singleton property in composite.xml file.

<property name="singleton" type="xs:boolean" many="false" override="may">true</property>


Question: Which property we need to use to control number of message processed from MQ at one time?

Answer: we need to use InboundThreadCount property to control number of messages which MQ adapter pick from MQ.


Question: Which property we need to use with singleton property to process the message in sequential order for AQ?

Answer: We need to set activtionInstances=1 along with singleton property for AQ adapter in cluster environment to process message in sequential order.


Question: Can we set IncludeFiles property dynamically for file/ftp adapter?

Answer: No, by default we can’t set IncludeFiles property at run time. But Oracle provided one patch (patchId=10380349), if we apply that then we can use set this property at run time.


Question: What is delay property for AQ adapter?

Answer: This property is used when we don’t want to make the message visible to outside world for some time. Message is visible and ready to read once that delay time expire message. This property is set at Invoke for AQ adapter.


Question: What is adapter.jms.receive.threads property for JMS adapter?

Answer: To improve performance, the adapter.jms.receive.threads property can be tuned for an adapter service. The default value is 1, but multiple inbound threads can be used to improve performance. When specified, the value of adapter.jms.receive.threads is used to spawn multiple inbound poller threads.


Question: What is UseStaging property in file and FTP adapter?

Answer: If the parameter is set to true, then the outbound Oracle File or FTP Adapter writes translated data to a staging file and later streams the staging file to the target file. If the parameter is set to false, then the outbound Oracle File or FTP Adapter does not use an intermediate staging file. It is defined in Outbound JCA File.


Oracle SOA Interview Questions and Answers (Adapter)

Question: Types of Adapters ?

Answer: Transactional & Non- Transactional Adapter

Transactional : Database, JMS, AQ, MQ adapters

Non- Transactional: File & FTP adapter


Question: Difference between Read & Sync-Read operation in File & FTP adapter?

Answer: Read is used when Polling is required to be done while SyncRead is used when you need to read the file in between the flow i.e you want to have a synchrnous communication.


Question: What is File Debatching ?

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


Question: What is File ChunkedRead ?

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


Question: Multiple Directories supported in File & FTP adapter ?

Answer: The Oracle File and FTP Adapters support polling multiple directories within a single activation. You can specify multiple directories in JDeveloper as opposed to a single directory. This is applicable to both physical and logical directories.


Question: What is the use of Trigger file ?

Answer: By default, polling by inbound Oracle File and FTP Adapters start as soon as the endpoint is activated. However, if you want more control over polling, then you can use a file-based trigger. Once the Oracle File or FTP Adapter finds the specified trigger file in a local or remote directory, it starts polling for the files in the inbound directory.

For example, a BPEL process is writing files to a directory and a second BPEL process is polling the same directory for files. If you want the second process to start polling the directory only after the first process has written all the files, then you can use a trigger file. You can configure the first process to create a trigger file at the end. The second process starts polling the inbound directory once it finds the trigger file.


Question: Types of Rejection Message Handler ?

Answer

  • Web Service Handler
  • Custom Java Handler
  • JMS Queue
  • File



Question: What is MDS & Why we use MDS in Oracle SOA?

Answer: MDS stands for Oracle MetaData Service. It is central repository inside Oracle Fusion Middleware. MDS purpose is to provide centralized store where we can keep, manage & access metadata.

Metadata is often defined as data about data, or in other words, pieces of information that describes and gives meaning to other information. Typical examples of metadata used by Oracle Fusion Middleware components are XML files, XSD schema files, XSL transformations, SCA composites, BPEL processes, WSDLs, business rules, Oracle ADF pages, JaveServer Pages (JSP), and Oracle ADF task flows, among others.

The same metadata that is used during the design phase of application is used at application runtime through the metadata service layer. This ensures consistency through the lifecycle of the application. Metadata such as XML files or XSD schema files is usually shared among different components. Therefore, it is not only necessary that those resources can be accessed easily and referenced by all the components, but it is also important that they remain consistent; a change in the metadata should be reflected in all the components that are referencing it. Having only one copy of each metadata resource avoids unnecessary redundancy and guarantees that the changes are made in only one place.


Question: Types of MDS Repository?

Answer: File-Based & DB Based.


Question: What is File-Based MDS Repository?

Answer: The idea behind file-based repositories is to allow developers to have a light repository available in their local environment that can be easily adapted for development and tests; a file-based repository relieves developers of having to configure and maintain an external database while providing necessary functionality, such as file referencing and customizations. These kinds of repositories are easily modified and maintained, since they define a directory structure similar to any other directory structure inside an operating system. They can be navigated and altered using common shell commands or any kind of visual file explorer application. The file-based repository is usually located inside the Oracle JDeveloper home (JDEV_HOME/integration) if the default configuration is used.


Question: What is DB-Based MDS Repository?

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


Question: Which configuration file store MDS configurations?

Answer: The adf-config.xml file is a configuration file that is used to store MDS Configurations.


Question: What type of WSDL file we usually keep in MDS?

Answer: We usually keep Abstract WSDL’s only in MDS.


Question: By how many ways we can handle error/fault in BPEL?

Answer: By using Catch blocks & Fault handling framework.


Question: Can we use both Catch block & fault handling framework in one BPEL?

Answer: Yes, we can have both Catch Block & Fault policies files in one BPEL.


Question: Standard Faults in BPEL?

Answer: Below is the list of Standard Faults in BPEL.

  • bindingFault, conflictingReceive, conflictingRequest, correlationViolation
  • forcedTermination, invalidReply, joinFailure, mismatchedAssignmentFailure
  • remoteFault, repeatedCompensation, selectionFailure, uninitializedVariable


Question: Standard Faults in Mediator?

Answer: Mediator has only one standard fault.

{http://schemas.oracle.com/mediator/faults}mediatorFault.


Question: How to get Fault Trace in CatchAll block?

Answer: By using getFaultAsString() function.


Question: Can we have custom faults in BPEL?

Answer: Yes we can create custom faults in BPEL, these faults are usually called Business Faults and we usually handle it by using specific Catch block.


Question: Can we re throw a fault from Catch blocks?

Answer: Yes, we can re-throw fault from Catch block.


Question: Where we keep fault-policies.xml & fault-binding.xml files?

Answer: We can keep these files either local to project or in MDS and in both the cases we have to specify the path in composite.xml file.



Question: What is OWSM?

Answer: OWSM stands for Oracle Web Service Manager. Oracle Web Services Manager offers a comprehensive and easy-to-use solution for policy management and security of service infrastructure. It is a standalone platform for securing and managing access to web services.


Question: How do we call secured web service from SOA?

Answer: By using OWSM policies.


Question: Can we generate custom OWSM policies?

Answer: Yes, we can create custom OWSM policies.


Question: By how many ways we can add OWSM policy to Web Service?

Answer:

  • Through policy annotations at design time
  • Via the Administration Console at runtime
  • Via Fusion Middleware Control or WLST


Question: When we call secured web service from SOA, which policy we will use “Client” or “Service”?

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


Question: Can we use OWSM with Oracle Service Bus?

Answer: Yes, we can access OWSM policies from OSB.


Question: Can we attach OWSM policy to multiple composites to secure composites?

Answer: yes, we can apply one policy to all composites in one domain using policy sets.


Question: what is the scope of Policy Sets or where we can apply Policy sets ?

Answer:

  • 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


Oracle SOA Interview Questions and Answers (Mediator)

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: Which static routing rule support fault policy ?

Answer: Parallel rules only.


Question: How many faults can Oracle Mediator service engine throw ?

Answer: Only One

{http://schemas.oracle.com/mediator/faults}mediatorFault.

Question: Difference between Sequential & Parallel static routing rules ?

Answer:

S.No: Sequential Parallel
1 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.
2 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.
3 Oracle Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
4 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.
5 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.


Friday, December 11, 2015

Oracle SOA Interview questions and answers

Part-1 : WSDL and XSD interview questions
Question : What is Web Service ?
Answer: 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).

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

Question: Explain elements/tags of WSDL ?

  • Types : A container for abstract type definitions defined using XML Schema
  • message - A definition of an abstract message that may consist of multiple parts, each part may be of a different type
  • portType - An abstract set of operations supported by one or more endpoints (commonly known as an interface); operations are defined by an exchange of messages
  • binding - A concrete protocol and data format specification for a particular portType
  • service - A collection of related endpoints, where an endpoint is defined as a combination of a binding and an address (URI)


Question: Difference between Abstract and Concrete WSDL ?
Answer : Abstract WSDL contains only messages and operations. Abstract WSDL is used by SOAP Server.

Where as concrete WSDL contains messages, operations and transport specific information (JMS or Http). This is used by SOAP client.

Question : What is SOAP ?
Answer : SOAP is a simple XML-based protocol to let applications exchange information over HTTP. Or more simply: SOAP is a protocol for accessing a Web Service.

Question : What is XML Schema ?
Answer : An XML Schema describes the structure of an XML document.

Question : Difference between Include and Import in context to XML schema ?
Answer : The fundamental difference between include and import is that you must use import to refer to declarations or definitions that are in a different target namespace and you must use include to refer to declarations or definitions that are (or will be) in the same target namespace.

Question : What is targetNamespace's function?
Answer : <schema xmlns="http://www.w3.org/2001/SchemaXML         targetNamespace="http://www.example.com/name"         xmlns:target="http://www.example.com/name">
The targetNamespace declares a namespace for other xml and xsd documents to refer to this schema. The target prefix in this case refers to the same namespace and you would use it within this schema definition to reference other elements, attributes, types, etc. also defined in this same schema definition.


Part-2: XSL and Transaction interview questions


Question : How to refer another XSL from main XSL file ?

Answer : The <xsl:import> element is a top-level element that is used to import the contents of one style sheet into another.

Note: This element must appear as the first child node of <xsl:stylesheet> or <xsl:transform>. Syntax: <xsl:import href="URI"/>


Question: Why we use Call-template inside XSL ?

Answer : Call-template works similar to the apply-template element in XSLT. Both attach a template to specific XML data. This provides formatting instructions for the XML. The main difference between the two processes is the call function only works with a named template. You must establish a 'name' attribute for the template in order to call it up to format a document.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
< xsl:call-template name="myTemplate">
< !-- Content: xsl -->
< /xsl:call-template>
< stylesheet>


Question: Difference between XA & Non-XA transaction ?

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


Question: What is inline schema ?

Answer: Inline schemas are XML schema definitions included inside XML instance documents. Like external schema documents, inline schemas can be used to validate that the instance matches the schema constraints.


Question: what is the use of Pick Activity?

Answer: 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 is often mutually exclusive (the process either receives an acceptance or rejection message, but not both). If multiple events occur, the selection of the activity to perform 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.


Question: Design patterns in SOA ?

Question: Difference between Synchronous Process and Asynchronous Process ?

Question: Use of Config Plans ?

Friday, October 30, 2015

MDS-01330: unable to load MDS

MDS-01330: unable to load MDS configuration document

After successful installation of SOA(11g) 11.1.1.5 on Oracle XE when I started the managed server I faced following exception which makes me worried.... and kept on thinking for few minutes ....do I need to reinstall everything but thanks God I got a solution.
I hope this helps to all who faced such an issue.

Exception

oracle.mds.lcm.exception.MDSLCMException: MDS-01330: unable to load MDS configuration document
MDS-01329: unable to load element "persistence-config"
MDS-01370: MetadataStore configuration for metadata-store-usage "soa-infra-store" is invalid.
ORA-04063: package body "DEV_MDS.MDS_INTERNAL_SHREDDED" has errors
ORA-06508: PL/SQL: could not find program unit being called: "DEV_MDS.MDS_INTERNAL_SHREDDED"
ORA-06512: at line 1.....


Solution

  1. First of all drop SOA Suite schemas and associated tablespaces using RUC.
  2. Then go to command line (cmd) and set environment variable RCU_JDBC_TRIM_BLOCKS=TRUE
  3. Run RCU again to re-create the SOA Suite schemas and tablespace


Now restart server and this time there will be no error associated with "MDS-01330: unable to load MDS configuration document"


Thursday, October 22, 2015

Oracle Service Bus Interview Questions with Answers - Part IV

Part - IV

1. What is Message Flow?

Ans: Message Flow is an OSB component which is part of proxy service. We define our business logic in message flow.

2. Can we delete Start Node in Message flow?

Ans: Start Node comes by default in message flow once we create a proxy service. Every message flow should always have a start node and we can't delete the start node in message flow.

3. Can we add multiple pipeline pairs in one message flow?

Ans: Yes, we can add more than one pipeline pair in one message flow.

4. Can we directly add actions under request or response pipeline?

Ans: No, we can't add actions directly under request or response pipeline, we need to add stage node in request or response pipeline and inside that stage, we can add all required actions.

5. Can we have more than one route node in message flow?

Ans: No, we can't add more than one route node in message flow.

6. Which node you will use when you need to route the message based on content?

Ans: We will use Conditional Branch to route the message to different business services based upon content, this is also called content based routing.

7. Which node you will use to route the message based upon operations?

Ans: We will use operation Branch to route the message to different business services based upon operation.

8. Can we delete the default branch in conditional or operational branch?

Ans: No, we can't delete the default branch in conditional or operational branch.

9. Can we add more than one route in one conditional or operation branch?

Ans: Yes, if we need more than one branch then we add one route node in each branch as each branch will be independent and only one branch will execute at one time.

10. Can we add stage node under route node?

Ans: No, we can't add stage node under route node. Stage node can be added only under request and response pipeline or in error handlers.

11. What is Dynamic Routing action?

Ans: This action is used when we need to route the message to business service dynamically that means at design time we don't know to which business service we have to route the message and that is determined at run time.

12. Which action we use to throw fault/error in message flow?

Ans: We use "raise-error" action to throw business fault in message flow.

13. What is reply action?

Ans: It specify that immediate reply is sent to invoker.

14. What actions we use for OSB reporting?

Ans: We use Alert, Log and Report for OSB reporting.

15. Can we change the file name in message flow at runtime?

Ans: Yes, we can change file name at runtime using Transport Header action.

16. Can we change the endpoint URI of the external service that we invoke using business service?

Ans: Yes, we can do it by using routing option action.

Part - I | Part - II | Part - III


Oracle Service Bus Interview Questions with Answers - Part III

Part - III

1. What is Service Result caching in OSB?

Ans: Service Result Caching is one of the options that you can use when you want to improve Oracle Service Bus performance. Service Result caching is used when we have business service which connects to external service which returns 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

2. How to perform Service Callout in OSB?

Ans: We use Service Callout option inside Oracle Service Bus to call any service inside message flow to get the required data.

3. When we invoke proxy 2 from proxy 1 then which protocol we need use?

Ans: When there is internal proxy call in OSB then we use "local" transport instead of HTTP.

4. What is content based routing in OSB?

Ans: When we route the request message to different business services based on request message content, that is called content based routing.

5. What are different options available in OSB to read flat file?

Ans: We can read flat file in two different ways.

  • Using Message Format Language (MFL): we can MFL in OSB to read flat files.
  • 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.

6. What is SLA alert in OSB?

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

7. How to move large file without reading it in OSB?

Ans: 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 available for file protocol in OSB to move large files.

8. By how many ways we can do OSB development?

Ans: We can do development in OSB by two ways. Either we can use Eclipse which is IDE tool for OSB or we can use SB console for the development.

9. Will you prefer Eclipse or SB console for OSB development?

Ans: It is simple to work with SB console as compared to eclipse, so during initial phase we can opt for SB console and later go for eclipse. When we work at enterprise level, Eclipse is always recommended.

10. Do we need to create a session when we develop projects in Eclipse?

Ans: No, we need not to create a session when we develop projects in Eclipse, session will only come into picture when we deploy the project to server from eclipse.

11. Can multiple users work on SB console at one time?

Ans: Yes, multiple users with different user roles can work on SB console at same time as session will be created for each users individually.

12. Can we test the proxy service from Eclipse?

Ans: Yes, we can test the proxy service from Eclipse, for that we need to right click on the proxy service and then click on Run As and run it on server.

13.Can we create Xquery transformation in design mode in SB Console?

Ans: No, we have to write Xquery in source mode. We can create Xquery transformation in Eclipse.

14. Do we have the option to test the Xquery Transformation?

Ans: Yes, we can test the Xquery transformation.

15. Can we use XSLT file in OSB?

Ans: Yes, OSB support both Xquery and XSLT.

Part - I | Part - II | Part - IV


Oracle Service Bus Interview Questions with Answers - Part II

Part - II

1. What is throttling in OSB?

Ans: Throttling means we want to process certain messages in one time, then we need to set some parameters in OSB to do the required task.

2. To transform from binary to XML or XML to binary format what we will use in OSB?

Ans: We use Message Format Language (MFL).

A Message Format Language (MFL) document is a specialized XML document used to describe the layout of binary data. It is an Oracle proprietary language used to define rules to transform formatted binary data into XML data. An MFL document conforms to the mfl.dtd, which includes elements and attributes used to describe each field of data, as well as groupings of fields (groups), repetition, and aggregation.

When you create a business services or proxy services of Messaging Service type, you can select MFL types as the request message type or the response message type of the service

3. Can we use MDS in OSB?

Ans: No, Oracle Service Bus does not support MDS.

4. Can we use DVM’s in Oracle Service Bus?

Ans: No, we can’t use DVM’s in Oracle Service Bus.

5. How Security works in OSB?

Ans: Oracle Service Bus leverages Weblogic Security Framework.

6. Can we use OWSM to secure OSB services?

Ans: Yes, we can use OWSM to secure OSB services.

7. To secure OSB proxy service, which OWSM policy you will use?

Ans: To secure OSB proxy service, we use OWSM service side policy.

8. Can we invoke secure web service from OSB?

Ans: Yes, we can use OWSM client policy and invoke secure web service from OSB.

9. When we use service Account?

Ans: We use Service Account when we are invoking a service which required static authentication.

10. Can we re-use Service Account for other Business Services as well?

Ans: Yes, we can re-use the Service Account.

11. What is Transport-Level Security?

Ans: It refers to transport protocol security means secure the connection over which messages are transferred. E.g. HTTPS means HTTP over SSL.

12. What is Message-Level security?

Ans: Message level security is used when we want to protect the message exchanged between two applications.

13. What is Service pooling in OSB?

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

14. How file pooling works in OSB?

Ans: There are below two ways to poll a file in OSB.

  • OSB file protocol: We can use file protocol available in proxy service to poll the file.
  • File adapter: we can create file adapter in Jdeveloper and import JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.

15. Types of pipeline available in OSB?

Ans: We have two pipelines in OSB, Request and Response pipeline.

16. Can we invoke Restful service from OSB?

Ans: Yes, we can invoke Restful service from OSB.

17. We don’t have any DB protocol in OSB then how to read/write data from database using OSB?

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

18. How to perform file listing in OSB?

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

Part - I | Part - III | Part - IV


Oracle Service Bus Interview Questions with Answers - Part I

Part - I

1. To connect to source system which service we will use?

Ans: We will use Proxy service to connect to Source system.

2. To connect to target system which service we will use?

Ans: We will use Business service to connect to target system.

3. What is Business Service?

Ans: It is a service in OSB which is used to connect to target system.

4. What is Message Flow?

Ans: Message flow is there in proxy service, we do all types of transformation, routing and other processing message flow only.

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

Ans: No, we can't access variable in proxy service message flow from other proxy service message flow.

6. Can we use direct bindings to call SOA composites?

Ans: Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.

7. Where the file will go if there is any error while polling the file?

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

8. Why we use Split-Joins in OSB?

Ans: In short - For parallel processing. (Split-Joins let you send message invocations in parallel (in addition to sequentially) and to aggregate the responses.)

Oracle Service Bus's Split-Join feature lets you split a service payload, such as an order, into individual messages for concurrent processing. Concurrent processing, as opposed to sequential processing, greatly improves service performance. Split-Join achieves this task by splitting an input message payload into sub messages (split), routing them concurrently to their destinations, and aggregating the responses into one overall return message (join). This process of payload splitting and response aggregation is called a Split-Join pattern.

9. Types of Split-Joins?

Ans: Static and dynamic.

  • Static Spilt-Join: The static Split-Join branches from the main execution thread of an OSB message flow by splitting a payload into a fixed number of new branches according to the configuration of the Split-Join. At design time you determine the number and variety of services to be invoked.
  • Dynamic Spilt-Join: The dynamic Split-Join branches from the main execution thread of an OSB message flow by dynamically creating new branches according to the contents of the incoming payload. The dynamic Split-Join uses conditional logic to determine the number of branches to create. All requests are handled simultaneously, and the responses are aggregated into a single reply.

10. How to call Java code from OSB?

Ans: By using Java callout activity.

11. Can we use more than one route node in message flow?

Ans: No, we can't we use more than one route node in proxy service message flow.

12. When we call asynchronous service from OSB then how to get response back from that asynchronous service to OSB?

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

Remember ReplyTo address refers to CallSyncCompositeProxy endpoints.

Part - II | Part - III | Part - IV


Wednesday, May 20, 2015

Oracle SOA Suite 11g Interview Questions - Part 2

Here are few more interview questions

What is a web service?

A web service is any piece of software that makes itself available over the internet and uses a standardized XML messaging system. XML is used to encode all communications to a web service. For example, a client invokes a web service by sending an XML message, then waits for a corresponding XML response. As all communication is in XML, web services are not tied to any one operating system or programming language--Java can talk with Perl; Windows applications can talk with Unix applications.

Any Web Service that:

  • Is available over the Internet or private (intranet) networks
  • Uses a standardized XML messaging system
  • Is not tied to any one operating system or programming language
  • Is self-describing via a common XML grammar
  • Is discoverable via a simple find mechanism


What is Difference between mediator and OSB?

What is a soap message?

A SOAP message is an ordinary XML document containing the following elements −

  • Envelope − Defines the start and the end of the message. It is a mandatory element.
  • Header − Contains any optional attributes of the message used in processing the message, either at an intermediary point or at the ultimate end-point. It is an optional element.
  • Body − Contains the XML data comprising the message being sent. It is a mandatory element.
  • Fault − An optional Fault element that provides information about errors that occur while processing the message.
All these elements are declared in the default namespace for the SOAP envelope − http://www.w3.org/2001/12/soap-envelope and the default namespace for SOAP encoding and data types is − http://www.w3.org/2001/12/soap-encoding

Let’s suppose,I have pushed one message in to Queue and before consuming it my server went down, so what will you do, to not loose the data?

What is debatching in case of file adapter?

What is Polling? How many ways we can do polling with DB Adapter?

What are the components that are there in 11g not present in 10g

Difference between DMV and XREF

Domain-Value Maps enable mapping of vocabulary in one domain to another, which is useful when different domains represent the same data in different ways.

Applications that you want to integrate often use different vocabulary to represent the same information. For example, one domain might represent a city with a long name (Boston), whereas another domain may represent a city with a short name (BO).

In such cases, you can use a Domain-Value Map to directly map values between multiple domains. A direct mapping of values between two or more domains is also known as Point-to-Point mapping.

Each Domain-Value Map typically holds a specific category of mappings among multiple applications. For example, one Domain-Value Map might hold mappings for city codes and another might hold mappings for state codes ... Continue reading....

If I have huge size file(some gbs) how to process?

What is XSLT 2.0?

What is the conecpt of For-each group in transformation?

What is MDS? How do you update MDS? Can we update through jdev

Do you have knowledge on Jms concepts? What is the difference between Queue and Topic

In queues, one message can be consumed by only one client. But in the topics, one message can be consumed by many clients. Both are separate domains in MOM.

Queue represent Point-To-Point domain and Topic represent Pub/Sub domain

A point-to-point (PTP) product or application is built around the concept of message queues, senders, and receivers. Each message is addressed to a specific queue, and receiving clients extract messages from the queue(s) established to hold their messages. Queues retain all messages sent to them until the messages are consumed or until the messages expire.

In a publish/subscribe (pub/sub) product or application, clients address messages to a topic. Publishers and subscribers are generally anonymous and may dynamically publish or subscribe to the content hierarchy. The system takes care of distributing the messages arriving from a topic's multiple publishers to its multiple subscribers. Topics retain messages only as long as it takes to distribute them to current subscribers.

Can we configure 2 applications listening to same queue with same configuration? If so what decides which one will pick the message

What is durable process?

Durable processes are typically long-living and initiated through a one-way invocation. Because of out-of-memory and system downtime issues, durable processes cannot be memory-optimized.

Durable processes incur one or more dehydration points in the database during execution. Continue reading.....

Which are the activities for dehydration? What are they called

Does Synchronous process dehydrate?

While a process which reads a large size file is running, server crashes. When it starts again from where will the execution be?

Difference between EBO and EBM?

How to customized EBO’s?

How do you access file placed in mds?

What is WSDL? Explain its components?

What kind of WSDL do you place in MDS abstract/concrete? Why do you place abstract?

Can we have a Webservice without WSDL?

How to invoke Restful services?

Can we have more than one port type? If so which case

If a WSDL has multiple operations, what decides which operation to choose?

What is file min age in file adapter?

What is fault policy?

If a db adapter has a retry of 5 and there is a fault policy associated which has a retry of 4, which one will get executed?

What is Concept of mediator? What is message sequencing?

Concepts of human task and business rules?

What are correlation sets? And how to implement it?

How to create schema for a file csv separated by special character ( special characters not on the keyboard)?

How do you create the AIA interfaces? Do you follow the standards? Do you know about workbench?

Assume a situation with multiple nodes in the server, all the nodes have an instance of file picking process. Now when the file is placed all the instance which are polling will try to pick the file. How do you ensure that the file is picked only by one of the node?

In the transformation activity can we have multiple schemas(target)?

What is difference between JMS,MQ and AQ Queues?

What are the type of wsdl?

Rpc and Document Literal type wsdl.


How to secure your composite or web-service?

What is Two phase and one phase commit?

The 2 phase commit protocol referred to as XA(eXtended Architecture)provides ACID-like properties for global transaction processing.

2 phase commit protocol is an atomic commitment protocol for distributed systems. This protocol as its name implies consists of two phases. The first one is commit-request phase in which transaction manager coordinates all of the transaction resources to commit or abort. In the commit-phase, transaction manager decides to finalize operation by committing or aborting according to the votes of the each transaction resource.

XA transactions need a global transaction id and local transaction id(xid) for each XA resource. Each XA Resource is enlisted to XA Manager by start(xid) method. This method tells that XA Resource is being involved in the transaction(be ready for operations). After that, the first phase of the 2PC protocol is realized by calling prepare(xid) method. This method requests OK or ABORT vote from XA Resource. After receiving vote from each of XA Resource, XA Manager decides to execute a commit(xid) operation if all XA Resources send OK or decides to execute a rollback(xid) if an XA Resource sends ABORT. Finally, the end(xid) method is called for each of XA Resource telling that the transaction is completed.

What is XA and NON-XA datasources?

Concepts of Transactions?(async.persist,async.cache,sync)?

What is Target and Default Namespace in any schema?

How to validate an Input Message?

What is Dehydration State?

What is data source rollback?(XA or NON-XA)

What is Persistence Store? Which one is default persistence store?

How to invoke Custom Fault?

How to ensure guaranteed delivery of messages?

What is Connection Factory and Connection pool?

If a Sync service called an Async Service, will it wait for the response from Async Service?

No it will not wait. port concept.

How to validate an Input Message? What is the difference between verification and validation?

What is dehydration?

What is Database or datasource Rollback?

What is JNDI ? What is the use of this? How to configure it?

The Java Naming and Directory InterfaceTM (JNDI) is an application programming interface (API) that provides naming and directory functionality to applications written using the JavaTM programming language. It is defined to be independent of any specific directory service implementation.

Usage:

With this API, you can access many types of data, like objects, devices, files of naming and directory services, eg. it is used by EJB to find remote objects. JNDI is designed to provide a common interface to access existing services like DNS, NDS, LDAP, CORBA and RMI.

The most common use case is to set up a database connection pool on a Java EE application server. Any application that's deployed on that server can gain access to the connections they need using the JNDI name "java:comp/env/FooBarPool" without having to know the details about the connection.

This has several advantages:

  • If you have a deployment sequence where apps move from devl->int->test->prod environments, you can use the same JNDI name in each environment and hide the actual database being used. Applications don't have to change as they migrate between environments. You can minimize the number of folks who need to know the credentials for accessing a production database. Only the Java EE app server needs to know if you use JNDI.
  • One very simple advantage is that it acts as a placeholder for your connection details. When the composite is deployed to the WLS server, this JNDI (the same name is specified in the composite) is used to point to the correct DB, FTP etc from WLS. You can change it directly in the WLS without needing to modify the code and hence additionally this provides a centralized way of managing the resources.


JNDI Name: The JNDI name to use for the JMS connection. This is probably the most common source of error. This is the JNDI name of the JMS adapter’s connection pool created in the WebLogic Server and which points to the connection factory. JDeveloper does not verify the value entered here. If you enter a wrong value, the JMS adapter won’t find the queue and you will get an error message at RUNTIME, which is very difficult to trace.

If in a DB adapter you are giving wrong JNDI name so it will be error out compile time or run time?

Ans: Run time

If a consumer is consuming a meesage and want to write in a file. Before writing some error happen? What will happen to that message?

What is difference Between File and FTP adapter?

File adapter is basically used to read,write files locally on your server. And FTP adapter is basically used to read and write files from any network.


How to start a BPEL Process when email received?

When to use Opaque schema?


Oracle SOA Interview Questions


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

2) Principles of SOA?

  • Loose coupling
  • Re-usability
  • Interoperability
  • Flexible

3) What is the difference between 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 as a single deployment unit 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 BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.

4) Is Oracle SOA same as Oracle Fusion Middleware?

No because SOA is one of the parts in Fusion middleware and SOA behaves like user interface whereas 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 the SOA Suite 11g Components?

  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

7) What is choreography? How does it differ from orchestration?

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.

8) What are the different message exchange patterns in SOA?

  • Synchronous
  • Asynchronous Fire and Forget
  • Asynchronous Delayed Response.

9) In how many ways can a process be deployed?

  • Using JDeveloper
  • Through Enterprise Manger Console
  • Through Weblogic Scripts.

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

11) How does a async request run in the backend?

The sequence 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 invoke_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 transaction 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 WorkerBean in the downstream step.
  • This message is then picked up by a WorkerBean MDB, which requests the dispatcher for work to execute. If the number of WorkerBean 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.

12) How to increase the transaction timeouts in SOA?

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 Bean

13) Is it possible to use MS SQL Server as dehydration store with SOA Suite?

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.


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

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.

15) What is end point virtualization?

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.

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

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

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

19) What is Decision service?

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

20) Why we use BPEL and OSB?

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.

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


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

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

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



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

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

27) What is a pick activity? Can I have a pick activity with no onMessage branch?

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.

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

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

30) How can we embed or use a java code in BPEL?

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

31) How does pick activity differ from a receive activity?

Pick activity can act as a multiple recieve 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 recieve activity with create Instance box checked.

32) How can we make a partner link dynamic?

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.

33) What is a nonBlockingAll property?

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.

34) What is getPreference property? How do we set it and what advantage it provides?

Hard coding is not a good practice, so to avoid hard coding preference variable can be used and the value of the preference variable is accessed using getPreference().The preference variable value can be changed without re-deploying the code via em console MBean property.

35) How can we improve the performance of an XSL file?

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

36) How do we handle transactions in BPEL?

Property needs to be defined to start the new transaction/to continue with the same transactions Property Name: Transaction and if this has value as required then the BPEL process will be continued in the same transaction where as if the value is defined as requiresnew then it will start the new transaction.

37) What are transient and durable BPEL processes?

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

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

38) When u will go for Sync process?

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.

39) What is a syncFileRead operation? Is a inbound or a outbound operation? Can my process begin with syncFileRead operation?

When file has to be read in the mid of the BPEL process, then we will use syncFileRead Operation, means some process should initiate the file read process and it is an outbound operation and process can’t begin with Sync File read.

40) Can we use a File Adapter to get a file without reading its content?

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

41) How to increase performance increase in bpel (Db Adapter/file adapter)?

We can increase the performance by writing indexes and sequences. (Or) Go to application server --- >Configurations ----- > Change Xml file

42) Explain error handling in BPEL and what is a error handling framework? How does a error handling framework better than simple error handling in BPEL?

EHF –Whenever any error thrown by the BPEL process/Mediator then EHF will check whether exist in Fault-Bindings.xml files and if so then the action in the Fault-Policy.xml file will be taken and if the action is not found then the fault will the thrown and it will be handled in the catch block.

43) How do we resubmit a faulted process?

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

44) Predefined errors in BPEL?

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


45) What is a throw activity? What it is ?

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

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

47) Difference between URI and URL?

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.

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

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

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

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.

51) What is SOAP and what are the binding protocols available?

Simple object access protocol and it is a protocol specification for the communication happens between the web services over the network and binding protocol is HTTP.

52) What is the difference between Async and Sync activity on wsdl level?

  • Async wsdl-It has only input messages for the operation and it has 2 operations one for sending the request and other for call back.
  • Sync wsdl-It has 2 messages input and output messages for the wsdl operation.

53) What are the WSDL structure?

Following are the wsdl structure

  • definitions
  • Types
  • Messages
  • Operation
  • Port type
  • Bindings
  • Services
  • Ports


54) What is the significance of target Namespace in a wsdl?

It is the one which uniquely identifies the WSDL and when the WSDL is used it should be identified using its Target Namespace.

55) What is structure of SOAP message?

The structure of a SOAP message: A SOAP message is encoded as an XML document, consisting of an element, which contains an optional element, and a mandatory element. The element, contained within the , is used for reporting errors.
The SOAP envelope-The SOAP is the root element in every SOAP message, and contains two child elements, an optional and a mandatory.
The SOAP header-The SOAP is an optional sub-element of the SOAP envelope, and is used to pass application-related information that is to be processed by SOAP nodes along the message path.
The SOAP body-The SOAP is a mandatory sub-element of the SOAP envelope, which contains information intended for the ultimate recipient of the message.
The SOAP fault-The SOAP is a sub-element of the SOAP body, which is used for reporting errors.

56) Why do we need to have messages in WSDL, aren't operations and types enough to describe the parameters for a web service?

Messages consist of one or more logical parts. Each part is associated with a type from some type system using a message-typing attribute. The set of message-typing attributes is extensible.

  • The element describes the data being exchanged between the Web service providers and consumers. Each Web Service has two messages: input and output.
  • The input describes the parameters for the Web Service and the output describes the return data from the Web Service.
  • Each message contains zero or more parameters, one for each parameter of the Web Service's function.
  • Each parameter associates with a concrete type defined in the container element. So describing the parameters cannot performed by operations and types this is the main need of Messages.

57) What is a inline schema?

Schemas can be included inside of XML file is called Inline Schemas.

58) What is the difference between xsd:import and xsd:include?

The fundamental difference between include and import is that you must use import to refer to declarations or definitions that are in a different target namespace and you must use include to refer to declarations or definitions that are (or will be) in the same target namespace.

59) What is BAM?

Business Activity Monitoring is a tool that is useful in monitoring business services and processes. It actively collects data, applies rules and reports information to users. When something goes wrong in business processes, BAM can be configured to take corrective measures such as emailing administrators/support team.

60) How to send the data to BAM from SOA?

The Oracle BAM Adapter is a Java Connector Architecture (JCA)-compliant adapter which can be used from a Java EE client to send data and events to the Oracle BAM Server. Oracle BAM Adapter is configured in Oracle Weblogic Server Administration Console to provide any of these connection pools. Oracle BAM Adapter provides three mechanisms by which you can send data to Oracle BAM Active Data Cache from an SOA composite application.

61) What are the ways to publish the data to BAM?

There are two ways to publish the data to BAM

  • BAM Adapter.
  • BAM Sensor activity level.

62) What are the roles in BAM?

  • Architect
  • Administrator
  • Active Viewer
  • Active Studio

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

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

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

66) Difference between JMS Queues and Topics?

Queue-Message will be subscribed by one subscriber.
Topic-Message will be subscribed by more than one subscriber.