rss
SOATUBE
Oracle
Custom Search SOABYTE here

Wednesday, July 7, 2010

Oracle SOA,OSB,BPEL,AIA Interview Questions with answers




  • SOA Related

  • 1)Why SOA?      
  •         What are the advantages?
  •         What are the disadvantages?
  • 2)What are the approaches to categorize the existing services in a company?  ------How do we prepare a service portfolio before implementing SOA?
  • 3)What are the different design patterns in SOA?
  •             What are the different types of installation of SOASuite 10g?

  • xml/xsd/wsdl Related

  • What is the difference between concrete and abstract wsdl?
  •             What is the structure of a wsdl?
  •             Difference between Synchronus,One-way,Asynchronus BPEL process wsdls.
  •             What is the significance of targetNamespace in a wsdl.
  •             What is a inline schema?
  •             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.
  •             Difference between URI and URL?          

Orchestration == Executeable Process
Web Service Orchestration relates to the execution of specific business processes. WS-BPEL is a language for defining processes that can be executed on an orchestration engine.
Choreography == Multi-party Collaboration
Web Service Choreography relates to describing externally observable interactions between web services. WS-CDL is a language for describing multi-party contracts and is somewhat like an extension of WSDL: WSDL describes web services interfaces, WS-CDL describes collaborations between web services.
  • 8)What is a pick activity?Can I have a pick activity with no onMessage branch?
Go to Developers guide. Answer is no.onMessage branch is mandatory.
  • 9)What are the different message exchange patterns in BPEL?
Go to developers Guide.
  • 10)What is the difference between Async and Sync activity on wsdl level?
two port vs one port funda.Create the two and see the difference.
  • 11)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 cant have two recieve activity with createInstance box checked.
Go to developer's guide.
  • What is a flowN activity and how does it leverages the flow activity?
Go to developers guide.
  • 13)What are dspMaxThread and a recieverThread properties?Why are they important?
Go to Best Practice Guide
  • 14)How does a async request run in the backend?
Go to Best Practice Guide
  • 15)Explain error handling in BPEL and what is a error handling framework?
Go to Developer's Guide
go to Developers Guide.bpel.xml
  •            What do you mean by non-idempotent activity?Which all activities are non-idempotent by default?
All retriable activities are idempotent by default.If idempotent is set to be false then it is a start of new transaction and in other words a Dehydration point is created.recieve,pick,wait,checkpoint() are non-idempotent by default.
  •            What is the default level of transation in a composite<required|requiredNew>?
Default is required.

  • 17)What is a XA datasource?How it differs from a non-XA datasource?
  • 18)How a wsdl of inbound jca adapter differs from a outbound one?--create and check.
  • 19)How will you know if a adapter is XA or Non-XA? ---create them and check. Logically they both will implement different classes.
  • 20)What are MCF properties? --- go to developer's guide
  • 21)What all operations can be performed using a file adapter? --create and check
  • 22)What is a syncFileRead operation?Is is a inbound or a outbound operation?Can my process begin with a syncFileRead operation?---Go to developer's Guide.No since it is a outbound operation so you need to invoke it.
  • 23)What all errors can't be handled by a BPEL process?--Best Practices Guide
  • 24)What is a throw activity?---Go to Developer's guide
  • 25)Why do we use a JMS queue?What is the benefit of using it over a simple AQ queue?--maintain JTA transaction capability and to ensure one and only one message delivery.
  • 26)What is getPreference property?How do we set it and what advantage it provides?Explain with a example?--Go to developer's guide
  • 27)How can we make a partner link dynamic?

  • 28)What are the dehydration tables in orabpel|soainfra schema?
  • 29)How do we resubmit a faulted process?---Developers guide
  • 30)How does the server know that a instance is faulted?--Best practice Guide
  • 31)What is a nonBlockingAll property?What is the use of it?
  • 32)In how many ways can a process be deployed?
  • 33)How can we embed or use a java code in BPEL?How can we make a java service a Web-service?What is xml facade?
  • Can we use a File Adapter to get a file without reading its content?---yes.go to developers guide 11g
  • How can we use a file as a trigger file?--go to developers guide 11g
  • XA vs nonXADatasource?

  • ESB
  • 33)When do we use ESB over BPEL?
  • 34)Why ESB is faster than its BPEL counterpart?
  • What is the difference between ESB runtime & Designtime?
  • 35)What is the out of box error handling framework in ESB?
  • 36)How can we get instance ID in ESB?
  • 37)How can we make routing in ESB dynamic?
  • Most of them are discussed in Best Pratices Guide.
  • AIA
  • 38)Why AIA? What is the need of it if SOA is already there?
  • 39)When to go for AIA?
  • 40)What is EBO,EBM,EBS,EBF,ABCs?
  • 41)Can a ABCs be a ESB process?If yes in what scenario?
  • 42)How can we extend a EBM?
  • 43)How can we extend a EBS?
  • 44)How can we extend a ABCs?
  • 45)What is a standard AIA flow?
  • 46)What is the error-handling framework in AIA?
Mixed Categories
  • What is SOA, Oracle SOA suite, BPEL, ESB
  •  Designer for Business process
  • Difference between BPEL and ESB
  •  Role of XML in EAI
  •  Activities in BPEL
  •  Transactions and fault (exception) management
  • Run time components of SOA
  • Calling external web service
  • Calling asynch BPEL process within empty BPEL process
  • Combination of ESB and BPEL and third party web services
  • Java embedding
  • BPEL and ESB console
  • Adapter - concepts, integration, life-cycle mngmt, translation errors
  • Oracle E-Biz adapter and capturing event from oracle ERP
  • Fine tuning BPEL process
  • Deployment framework
  • Business rules and AIA
  • Email notification and rejection handler
  • Patches and installation - unix based and windows based
  • External resource management (example MQ shared library and third party jar files)
  • OAS administration - 10.1.3.4 / 10.1.3.5
  • JMS and connection pools
  • Transformation and iteration
  • Which are the areas you think Oracle SOA fits perfectly                                                                 Answer - EAI with real-time data transfer, need heavy data communication with rich business logic, Oracle ERP in existing environement]
  • Loose coupling and control at central point (orchestration vs. choreography)



Java related questions with respect to EAI
1) XML and XSD
2) JAXp and JAXb
3) Collections
4) Web container and Application server

Few Others
1. Is Oracle SOA same as Oracle Fusion Middleware
Oracle Fusion Middleware is a collection of standards-based software products that spans a range of tools and services from J2EE and developer tools, to integration services, business intelligence, collaboration, and content management. Oracle Fusion Middleware offers complete support for development, deployment, and management.
Oracle SOA Suite is an essential middleware layer of Oracle Fusion Middleware. It provides a complete set of Service Infrastructure components for designing, deploying, and managing composite applications

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

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

4. Predefined errors in BPEL?
Custom errors
Timed out errors
BPM errors
Validation Errors

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

6. What are the various elements in WSDL?
Various elements are:
Types, messages, operation, port, bindings and Services.
Types– a container for data type definitions using some type system (such as XSD).
Message– an abstract, typed definition of the data being communicated.
Operation– an abstract description of an action supported by the service.
Port Type–an abstract set of operations supported by one or more endpoints.
Binding– a concrete protocol and data format specification for a particular port type.
Port– a single endpoint defined as a combination of a binding and a network address.
Service– a collection of related endpoints.


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

8. 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.
With the exception of the element, which is contained in the of a SOAP message, XML elements within the and the are defined by the applications that make use of them, although the SOAP specification imposes some constraints on their structure. Figure shows the main elements of a SOAP message.

SOA/BPEL basic questions


1.    Explain SOA architecture?
2.    Explain WSDL structure?
3.    What is the use of SOA in IT industry and how it resoves the problem?
4.    Why we use BPEL and ESB in SOA?
5.    What is the main concept behind ESB?
6.    What builds up Oracle Fusion Middleware?
7.    What are various parts of Oracle SOA Suite?
8.    What is the main function of Business Rules?
9.    Why we use Web service Manager?
10.  How can we secure our web services using Oracle SOA Suite?


Project Question

 11.  Explain about your project Architecture?
12.  How you are using SOA in your architecture (Flow of BPEL--> ESB)?


BPEL Technical
 13.  What is the use of PICK activity in BPEL PM?
14.  Why we use Decision service?
15.  How can we improve the performance of an XSL file? –
Answer: - By avoiding use of various if statements and using choose, and by using for-each group in place of for-each.
16.  How to deploy an XSL file without deployment of BPEL Process?
Answer: - 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 on Dehydration Database
17.  What is the use of Work_Item table?
18.  How can we clear the instances using dehydration database?

ESB Technical’s 
19.  How can you call a web service or BPEL process in an ESB?
Answer: -
    By selecting the service of deployed BPEL process -- It creates problem while deployment as it has
                dependencies.
    By copying the wsdl of deployed process and then creating a SOAP service of that process.
20.  What are DVM's and how are they helpful in SOA?
21.  What is end point virtualization?

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 messagescompared 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 anOracle 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.


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

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

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

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

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

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

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

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

  • WSDL stands for Web Services Description Language
  • WSDL is an XML based protocol for information exchange in decentralized and distributed environments.
  • WSDL is the standard format for describing a web service.
  • WSDL definition describes how to access a web service and what operations it will perform.
  • WSDL is a language for describing how to interface with XML-based services.
  • WSDL is an integral part of UDDI, an XML-based worldwide business registry.
  • WSDL is the language that UDDI uses.
  • WSDL was developed jointly by Microsoft and IBM.
  • WSDL is pronounced as ‘wiz-dull’ and spelled out as ‘W-S-D-L’
Following are the elements of WSDL document:
  • Definition: element must be the root element of all WSDL documents. It defines the name of the web service, declares multiple namespaces used throughout the remainder of the document, and contains all the service elements described here.
  • Data types: the data types – in the form of XML schemas or possibly some other mechanism – to be used in the messages
  • Message: an abstract definition of the data, in the form of a message presented either as an entire document or as arguments to be mapped to a method invocation.
  • Operation: the abstract definition of the operation for a message, such as naming a method, message queue, or business process, that will accept and process the message
  • Port type : an abstract set of operations mapped to one or more end points, defining the collection of operations for a binding; the collection of operations, because it is abstract, can be mapped to multiple transports through various bindings.
  • Binding: the concrete protocol and data formats for the operations and messages defined for a particular port type.
  • Port: a combination of a binding and a network address, providing the target address of the service communication.
  • Service: a collection of related end points encompassing the service definitions in the file the services map the binding to the port and include any extensibility definitions.
49.What is Split Join and Types of Split Join?
Oracle Service Bus’s Split-Join feature lets you split a service payload, such as an order, into individual messages for concurrent processing. Concurrent processing, as opposed to sequential processing, greatly improves service performance. Split-Join achieves this task by splitting an input message payload into sub messages (split), routing them concurrently to their destinations, and aggregating the responses into one overall return message (join). This process of payload splitting and response aggregation is called a Split-Join pattern.

Types:

a.) Static Split-Join

The static Split-Join branches from the main execution thread of an Oracle Service Bus message flow by splitting a payload into a fixed number of new branches according to the configuration of the Split-Join. At design time you determine the number and variety of services to be invoked.
b.) Dynamic Split-Join
The dynamic Split-Join branches from the main execution thread of an Oracle Service Bus message flow by dynamically creating new branches according to the contents of the incoming payload. The dynamic Split-Join uses conditional logic to determine the number of branches to create. All requests are handled simultaneously, and the responses are aggregated into a single reply.
50. Types of Transactions in SOA?
  • Inbound transaction: A transaction initiated by an inbound adapter. For example, a transaction entering the SOA system from a JMS system.
  • Outbound transaction: A transaction outbound from the SOA system (and hence from an adapter). For example, a transaction that is made against a database outside the SOA system.
  • JTA transaction: Every step of a process is executed within the context of a JTA transaction. A JTA transaction ensures that one or more operations execute as an atomic unit of work. See the section on XA above.
  • Asynchronous transaction: A composite transaction composed of sub-transactions. However, these sub-transactions are consecutive and serialized, that is, some sub-transactions may have been committed while others may be still executing or have not yet executed. Asynchronous transactions are guaranteed to be propagated once and only once. When an update at the source is committed, the transaction commits and expects that the update is propagated to the target appropriately.
  • Synchronous transaction: These are transactions that execute in one thread from one endpoint to another, without intermediate processes, and which are not serialized.
51. What is Compensate Activity?
 The compensate activity invokes compensation on an inner scope activity that has already successfully completed. This activity can be invoked only from within a fault handler or another compensation handler. Compensation occurs when a process cannot complete several operations after already completing others. The process must return and undo the previously completed operations. For example, assume a process is designed to book a rental car, a hotel, and a flight. The process books the car and the hotel, but is unable to book a flight for the correct day. In this case, the process performs compensation by unbooking the car and the hotel.The compensation handler is invoked with the compensate activity, which names the scope on which the compensation handler is to be invoked.
 52. What is TargetNamespace?
The targetNamespace is a convention of XML Schema that enables the WSDL document to refer to itself.
53. What is  attributeFormDefault?
The form for attributes declared in the target namespace of this schema. The value must be “qualified” or “unqualified”. Default is “unqualified”. “unqualified” indicates that attributes from the target namespace are not required to be qualified with the namespace prefix. “qualified” indicates that attributes from the target namespace must be qualified with the namespace prefix.
 54. What is elementFormDefault?
The form for elements declared in the target namespace of this schema. The value must be “qualified” or “unqualified”. Default is “unqualified”. “unqualified” indicates that elements from the target namespace are not required to be qualified with the namespace prefix. “qualified” indicates that elements from the target namespace must be qualified with the namespace prefix.
55.what is difference between Abstract wsdl & concrete wsdl?
Abstract wsdl:-Used on server side,contains request,response and type of operation performed.
concrete wsdl:-used on client side,contains abstract wsdl and transport used.
Abstract WSDL contains only messages and operations. Abstract WSDL is used by web Server where as concrete WSDL contains messages, operations and binding/transport specific information i.e. SOAP over Http/HTTPS/JMS having wsdl style i.e. RPC/DOC literal.
Abstract WSDL consists of the structure of the message that is like what operation, what is the input and what is the ouput . Whereas in concrete WSDL has all the things that the abstract wsdl has in addition it has transport(http,jms) details.
Abstract wsdl:- Used on server side,contains request,response and type of operation performed.
concrete wsdl:- Used on client side,contains abstract wsdl and transport used.
● An abstract WSDL document describes what the web service does, but not how it does it or how to contact it. An abstract WSDL document defines:
the operations provided by the web service.
the input, output and fault messages used by each operation to communicate with the web service, and their format.
● A concrete WSDL document adds the information about how the web service communicates and where you can reach it. A concrete WSDL document contains the abstract WSDL definitions, and also defines:
the communication protocols and data encodings used by the web service.
the port address that must be used to contact the web service.
56.Basic Principles of Sequential Routing Rules?
Oracle Mediator processes sequential routing rules:-
  • ·         Oracle Mediator evaluates routings and performs the resulting actions sequentially. Sequential routings are evaluated in the same thread and transaction as the caller.
  • ·         Oracle Mediator always enlists itself into the global transaction propagated through the thread that is processing the incoming message. For example, if an inbound JCA adapter invokes an Oracle Mediator, the Oracle Mediator enlists itself with the transaction that the JCA adapter has initiated.
  • ·         Oracle Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
  • ·         Oracle Mediator never commits or rolls back transactions propagated by external entities.
  • ·         Oracle Mediator manages the transaction only if the thread-invoking Oracle Mediator does not already have an active transaction. For example, if Oracle Mediator is invoked from inbound SOAP services, Oracle Mediator starts a transaction and commits or rolls back the transaction depending on success and failure.
Basic Principles of Parallel Routing Rules
  • ·         Oracle Mediator processes routing rules in parallel based on the following principles:
  • ·         Oracle Mediator queues and evaluates routings in parallel in different threads.
  • ·         The messages of each Oracle Mediator service component are retrieved in a weighted, round-robin fashion to ensure that all Oracle Mediator service components receive parallel processing cycles. This is true even if one or more Oracle Mediator service components produce a higher number of messages compared to other components. The weight used is the message priority set when designing an Oracle Mediator service component. Higher numbers of parallel processing cycles are allocated to the components that have higher message priority.
  • ·         You can set the Priority field in the Mediator Editor to indicate the priority of an Oracle Mediator service component. Priorities can range from zero to nine, with nine being the highest priority. The default priority is four.
57.   Difference between Include and Import?
The difference between the include element and the import element is that
import element allows references to schema components from schema documents with different target namespaces and
the include element adds the schema components from other schema documents that have the same target namespace (or no specified target namespace) to the containing schema.
In short, the import element allows you to use schema components from any schema; the include element allows you to add all the components of an included schema to the containing schema.

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

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


OSB

1. We mostly know OSB is used for Message and Protocol Transformations. How OSB performs Protocol transformations? [ANSWERED]

2. When OSB is integrated with a Messaging System, for an asynchronous messaging model, how is it possible for OSB to send a message in a queue and retrieve the response for the same, i,e how to map the request/response in a asynchronous messaging model? (I am not sure how correct the question is with respect to JMS context)[ANSWERED]

3. Is it possible to run OSB without Weblogic Server? Please give supportive reason to your answer [ANSWERED]

4. In which below mentioned situation you will encounter performance issue?
A. A single Admin Server running all SOA products (OSB, SOA suite components, BAM, B2B etc) or B. Multiple Managed Server running in a cluster where each of them hosting a single product/component? [ANSWERED]

5. Give a high level implementation scenario WITH and WITHOUT OSB, what all different component you will choose to design a solution where a source system puts a flat file into a location and the data has to be inserted to RDBMS. Basically to design a solution for this requirement with OSB and without OSB (using SOA suite components).[ANSWERED]

6. What is the difference between OER and OSR, what they are used for? (I have done googling but still waiting for an expert answer) [ANSWERED]

7. How MDS is used for provisioning a service? (Previously I was under impression that it used for maintaining run time metadata of SOA service infrastructure) [ANSWERED]

8. Give a complete business scenario where you will implement , mediator, OSB , DB adapter, Fileadapter and  Business Rules. [ANSWERED]

9. Is it possible to use mediator as a standalone component without interacting to other SOA suite component? Give a business scenario [ANSWERED]

10. Does EM console provides you a feature where you can search a payload based on a consumer data (provided it is not hidden) like invoice number or customer mobile number etc? [ANSWERED]

11. Is possible to deploy a proxy which consuming a message from a queue/topic without any message selector? How about multiple proxys polling from a same queue without a message selector, which one will consume the message? [ANSWERED]

12. Is it possible to establish a connection to a message system (JMS/MQ) without creating a JMS connection factory? [ANSWERED]

13. What is local protocol in OSB and what are advantages of this? Give a real life scenario. [ANSWERED]

14. How you would configure a proxy service to poll from a multiple queues? Give the details what setting has to be done in proxy configuration?  [ANSWERED]

15. Assume in a distributed OSB system there are 2 MS running. A file adapter has been configured to read a file from a particular location. What location you prefer to give as an input? any place of MS1 or MS2? [ANSWERED]

16. In a distributed OSB system, if you have been asked to create 2 separate queues residing on 2 MS, how you will implement this? [ANSWERED]

17. What are the other standard ways of doing message transformation apart from XQuery/XSLT? [ANSWERED]

18. In Oracle Weblogic Server we all know that, in data-source configuration maxCapacity determines the max number of active connections in the pool. Think of scenario where in a certain DS has maxCapacity of 100 and initial of 30. The application can't use more than 60 connection at a time. Still Weblogic is throwig ConnectionPool is issue (No connection in pool). What is the probable cause of this? What is the debugging strategy? [ANSWERED]

19. Does OSB provides weight based load balancing like 25% of load to BackEnd1, 50% of load to BackEnd2 and rest 25% of load to BackEnd3? [ANSWERED]

20. How Throttling is implemented in OSB? [ANSWERED]

21. How Transactions are configured in OSB? How you would set the transaction time-outs? [ANSWERED]

22. If a proxy is talking to multiple DB (via multiple business services) what connection factory you will prefer, XA or nonXA? (I know XA CF has to be created if there are transactions involvement, but how to represent that as a business scenario) [ANSWERED]
23. In a business system, OSB is talking to a DB, doing some update operation and then calling a web service. This is absolutely sequential. Ideal happy scenario is, DB updated successfully and web service returning a Success. For a given transaction, OSB updates a table in DB successfully  but while talking to web service it receives a fault response. Effectively the transaction has to be rolled back, what is the best way to it? What changes you will do in your design so that Db Table returns into previous state. If you feel there is any restriction to achieve this, please mention. [ANSWER EXPECTED]

24. A source system puts files into a mount point. OSB then picks it up and processes, after processing is done OSB deletes that file.  After sometime it is observed that, the speed source system is putting the file is quite higher than OSB processing it. So all on a sudden, source system is facing space issues in mount points (because OSB slowly processing it), What design level changes can be done to to overcome this scenario? You are free to add any components in OSB/Weblogic level. [ANSWER EXPECTED]

25. What are advantages of using File Adapter than OSB with File Protocol? [ANSWER EXPECTED]

26. Flow activity gives you the parallel processing capabilities in BPEL. Other than Flow activity how parallelism can be achieved in BPEL? [ANSWER EXPECTED]

27. Apart from SSL, give other examples of transport level security used/can be used in OSB? [ANSWER EXPECTED]

28. Assume a situation, where OSB is talking to a UDDI. It is using UDDI's helper service for authentication and authorization, once basic authentication/authorization is done. UDDI issues a token to OSB which remains valid for sometime. As long as token is valid, OSB can do some stuff (calling some other webservices, talking to DB etc etc), once the token expires, OSB has to re-authenticate. How does OSB keep the track of token expiration? If OSB has received a same request  again and again, how it will cache the token to save re-authentication? Is there any properties in OSB [ANSWER EXPECTED]

29. Is it possible to talk to a DB (Oracle) only using Java Call outs in OSB? Assume required thin drivers are present in Weblogic Containers.[ANSWER EXPECTED]

30. Does OSB supports DVM (Domain Value Mapping)? How it can be implemented, give an example of working model. [ANSWER EXPECTED]

31. In a situation, where a back end web service has to be called and web service call is the terminal action of that implementation. Which OSB action is preferred out of Routing and Service CallOut ? Give Reasons. [ANSWER EXPECTED]




19 comments:

Anonymous said...

Hi,

Thanks a lot, It's Very useful while preparing for BPEL interviews. Could you also post the answers for these questions.

Kind Regards
AVN

Team Fusion said...

Answers are here:-)

Anonymous said...

Hi,

Thanks a lot for BPEL Interview questions.

Thanks,
SJ

Anonymous said...

Hi,

Thanks a lot,this site is very informative for those who are preparing for BPEL interviews...
when i was goggling this site i got good information..

Oracle R12 Upgrade

pankaj said...

Hi,

Thanks a load for post. Very useful artical.

Pankaj

Anonymous said...

Good questions. Nice post

Anonymous said...

Hi,

Its really helpful..if you could also post ans that would have been great..

Romi

Amiya Kumar said...

Hi Romi,

Most of the answers are here along with the questions or search this site for the same.

Anonymous said...

Thanks for sharing.Really helpful.

Gopi said...

Hi All,

These type of Questions i was faced in interview's. I really happay with this....

Narasimha swami said...

Hai Good Evening
please givethe oracle soa bpel interview questions or material

Narasimha swami said...

hai

Amiya Kumar said...

What exactly you are looking for ? Most of the questions are covered and answers are also provided along with it.Under Bpel Interview Questions label .Go through all the posts. Also cover Transaction Semantics Label posts. Good Luck keep reading :)

Mallikarjun said...

Hi,

Its really helpful

But please post the answers

Thanks in Advance
Arjun

moneymonk said...

Thanks for sharing this. good post

Gangadhar said...

nice questions.......i am use this questions
oracle soa interview

prabhu kumar said...

Please can share the related Soa answers like above quistions

Thanks

Team Fusion said...

Pls ask you doubts on https://groups.google.com/forum/?hl=en#!forum/soabyte-forum

Nancy Garero said...

In today’s era everyone wants to be increase the size of their business just because of competition in business. The better and quicker way to increase the size of your business is the relocation or the opening of new business into the new country like the Singapore the latest business hub for business. For the moving and the opening of new business in Singapore you should have to register your company there or this task will be easier or quicker for you if you get contact to this site.

Post a Comment

 
Blogger Profile