How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Osbsoa1
1. OSB/SOA Suite 11g Interview Question with Answers
Important OSB/SOA Suite 11g Interview Question with Answers that are usually
questioned during interviews:-
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
2. 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).
A 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.
3. 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
4. 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?
5. 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.
6. 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
7. 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:
8. 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.
9. 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.
10. 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.
11. 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
12. 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.