1. We mostly know OSB is used for Message and
Protocol Transformations. How OSB performs Protocol transformations?
Answer:
By making sure service provider and service consumer
are loosely coupled. This is done in OSB by segregating the connectivity into
two interfaces, one from service consumer to OSB, as a Proxy and
second from OSB to service provider, as a business
service. Since proxy and business services can have different transport
protocols, OSB can perform protocol transformation between providers and
consumers.
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)
Answer:
Can be done in two ways, using JMS correlation Id
and JMS message Id. Both are supported OOTB in Weblogic JMS and in OSB.
3. Is it possible to run OSB without Weblogic
Server? Please give supportive reason to your answer
Answer:
No.
4. In which below mentioned situation you will
encounter performance issue?
Answer:
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?
Scenario A. Since in this case all runtime
components (not just the admin ones) are running on same weblogic instance it
might overload the server. You might face both CPU and Memory issues.
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).
Answer:
With OSB:
1. Proxy service with File transport along with MFL
for text->XML conversion OR Proxy service with File Adapter
2. Business service with DB adapter (insert or
insert and merge depending on requirement)
3. Transform the flat file XML content in the proxy
to the input format of the business service and use a route node to invoke the
business service. Add error handling as required.
Without OSB:
1. SOA composite with a file adapter in service
lane.
2. Mediator component
3. DB adapter in reference lane
4. Mediator component connecting the adapters with a
transformation included.
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)
Answer:
In very short, OER can be used for all information
regarding SOA services and resources (including any design documents, mappings,
descriptions, usage information etc.) while OSR is UDDI compliant
registry and will be used to store only the runtime
service meta info like service endpoint, WSDL etc. OSR will also provide UDDI
compliant methods for looking up the service
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)
Answer:
MDS will be used for storing service artifacts like
Schemas and WSDLs which will be available to composites at both runtime and
design time. The most basic use of MDS is for easy reuse and maintenance of
artifacts so one does not have to maintain multiple copies of common artifacts.
8. Give a complete business scenario where you will
implement , mediator, OSB , DB adapter, Fileadapter and Business Rules.
Answer:
You can take any use case and define requirements
such that all of these are used.
9. Is it possible to use mediator as a standalone
component without interacting to other SOA suite component? Give a business
scenario
Answer:
Yes. Check the answer for Q. 5 for instance.
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?
Answer:
Yes, depending on how you are logging stuff and
audit levels etc. You can set composite title with the relevant data (for ex.
customer id from payload) and then search in EM console for that. Or you can
use sensors to log the payload and then search.
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?
Answer:
You can have a proxy consuming messages from a
queue/topic without a message selector.
You cant have two proxies listening to same Queue
(with or without message selector).
You can have two proxies listening to same topic
(with or without message selector). Both will receive a copy of the messages,
and then will consume the messages depending on the selector.
12. Is it possible to establish a connection to a
message system (JMS/MQ) without creating a JMS connection factory?
Answer:
No
13. What is local protocol in OSB and what are
advantages of this? Give a real life scenario.
Answer:
In short same thread from the calling proxy will be
used for processing a local proxy. Performance wise better. Easier to chain
services and create moduler interfaces.
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?
Answer:
Proxy service can not poll from different queues. It
can however poll from a distributed queue or same queue running on multiple
servers by providing a comma separated list of listen addresses before JNDI
name in the endpoint URL.
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?
Answer:
Ideally both MS1 and MS2 should be mounted on a
shared filesystem and then you can provide either of the them.
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?
Answer:
You can either created uniformly distributed queue,
or you can also create different queues and target them on different servers
but having same JNDI names.
17. What are the other standard ways of doing
message transformation apart from XQuery/XSLT?
Answer:
Java Callout, MFL, NXSD, External Xquery Resource,
External XSLT resource, XQuery expression within actions, XSLT expression
within actions.
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?
Answer:
Connections might not be getting released or
refreshed correctly. Reduce the shrink frequency and provide an Inactive
conneciton timeout.
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?
Answer:
Yes it does.
20: What is
throttling in OSB?
Answer: 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
21. How Throttling is implemented in OSB?
Answer:
In memory queue is used to store messages
temporarily. Business service will throttle messages going to the backend and
depending on configuration of busienss service, will keep messages over the
specified limit in an in memory queue(up to a specified no of max messages) to
ensure that backend is not overloaded.
22. How Transactions are configured in OSB? How you
would set the transaction time-outs?
Answer:
Too vast a question to answer here. A lot of different
possible scenarios and different configurations depending on transport
protocol.
23. 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)
From a business perspective, if all the backend
databases need to have data in sync then use XA. If backend DBs are independent
and if a mismatch in data between backends is not an issue then use non
XA(better performance).
24: Can we use more than one route node in message
flow?
Answer: No, we can't we use more than one route node
in proxy service message flow.
25: When we call asynchronous service from OSB then
how to get response back from that asynchronous service to OSB?
Answer: 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.
<soap-env:Header
xmlns:ns1="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<ns1:MessageID>ws:uniqueAddress</ns1:MessageID>
<ns1:ReplyTo>
<ns1:Address><Callback Proxy
Address></ns1:Address>
</ns1:ReplyTo>
</soap-env:Header>
26: to transform from binary to XML or XML to binary
format what we will in OSB?
Answer: we use MFL.
27: can we use MDS in OSB?
Answer: No, Oracle Service Bus does not support MDS.
28: Can we use DVM’s in Oracle Service Bus?
Answer: Oracle Service Bus does not support DVM’s by
default as SOA. But, we can import the xml file created from .dvm from
jdeveloper to OSB and map dvm values.
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
1. What
is the difference between concrete and abstract wsdl?
2. What
is the structure of a wsdl?
3.
Difference between Synchronus,One-way,Asynchronus BPEL process wsdls.
4. What
is the significance of targetNamespace in a wsdl.
5. What
is a inline schema?
6. What
is the difference between xsd:import and xsd:include?
7. 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.
8.
Difference between URI and URL?
5) What is SOAP and what are the binding protocols
available? ---google it.
6) Why SOAP over http why not WSIF even if the later
ensures JTA transaction and is faster than former
BPEL Related (10g/11g)
7) What is choreography? How does it differ from
orchestration?
Orchestration == Executable 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.
12)What is a flow activity? Is it sequential or
parallel? What is nonBlockingInvoleAll property?
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
16) How do we handle transactions in BPEL? or for
more
What is transaction=participate?Where do we set
this?
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 are
transient and durable BPEL processes?
§ Dehydration
in Oracle BPEL?
§ 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).
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.
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
SOA Interview Questions
What are the main benefits of SOA ?
§ SOA helps create greater alignment between IT and
line of business while generating more flexibility - IT flexibility to support
greater business flexibility. Your business processes are changing faster and
faster and global competition requires the flexibility that SOA can provide.
§ SOA can help you get better reuse out of your
existing IT investments as well as the new services you’re developing today.
SOA makes integration of your IT investments easier by making use of
well-defined interfaces between services. SOA also provides an architectural
model for integrating business partners’, customers’ and suppliers’ services
into an enterprise’s business processes. This reduces cost and improves
customer satisfaction
What is a reusable Service?
§ It is an autonomous, reusable, discoverable,
stateless functionality that has the necessary granularity, and can be part of
a composite application or a composite service.
§ A reusable service should be identified with a
business activity described by the service specifications (design-time
contract).
§ A service’s constraints, including security, QoS,
SLA, usage policies, may be defined by multiple run-time contracts, multiple
interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the
code).
§ A reusable service should be governed at the
enterprise level throughout its entire lifecycle, from design-time through
run-time. Its reuse should be promoted through a prescriptive process, and that
reuse should be measured.
Talking about Service identification, which approach
between top-down and bottom-up methodologies encourages re-use and mantainance
?
Since the top-down approach is business-driven it
can be practical to separate the different concerns of business and IT on
different plans, providing a common ground in between. So in most situations it
the most appropriate if you want to improve reuse and ROI in the medium/long
term. Anyway
How can you achieve loose coupling in a soa ?
One strategy for achieving loose coupling is to use
the service interface (the WSDL for a SOAP Web Service) to limit this
dependency, hiding the service implementation from the consumer. Loose coupling
can be addressed by encapsulating the service functionalities in a manner that
limits the impact of changes to the implementation on the service interface.
However, at some point you will need to change the interface and manage
versioning without impacting service consumers, in addition to managing
multiple security constraints, multiple transports, and other considerations
Do you recall any pattern which could be used to
leverage loose coupling ?
The Mediation pattern, using an enterprise service
bus (ESB), will help in achieving this.
Mediation will take loose coupling to the highest
level. It will establish independence between consumers and providers on all
levels, including message formats, message types (including SOAP, REST, XML,
binary) and transport protocols (including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation
of concerns between consumers and providers on the transport, message type, and
message format levels.
The Service of a SOA should be engineered as
stateless or stateful ?
Service should be stateless. It may have a context
within its stateless execution, but it will not have an intermediary state
waiting for an event or a call-back. The retention of state-related data must
not extend beyond a request/response on a service. This is because state
management consumes a lot of resources, and this can affect the scalability and
availability that are required for a reusable service.
What is composition of a Service ?
Composition is the process by which services are
combined to produce composite applications or composite services. A composite
application consists of the aggregation of services to produce an enterprise
portal or enterprise process. A composite service consists of an aggregation of
services that produces another reusable service. It’s just like combining
electronic components to create a computer motherboard, and then using that
motherboard in a computer. Think of the motherboard as a reusable composite
service that is a component of the computer, and of the computer as the
composite application.
How do I integrate my Legacy applications with SOA ?
What are the common pitfalls of SOA ?
What’s the difference between services and
components?
Is SOA really needed on your opinion?
Question : What is Web service?
Answer :Web services are application components,
which are self-contained and self-describing and provide services based on the
open protocol communication (i.e SOAP UI, HTTP over the net).
Question: What is SCA?
Answer :Service Component Architecture (SCA)
provides a programming model for building applications and systems based on a
Service Oriented Architecture. SCA is a model that aims to encompass a wide
range of technologies for service components and for the access methods which
are used to connect them.
Question : What is SOA?
Answer :Service Oriented Architecture (SOA) is used
to develop Enterprise applications by using a collection of services which
communicates each other. Service-Oriented Architecture (SOA) is a set of
principles and methodologies for designing and developing software in the form
of interoperable services.
Question : What are principles of SOA?
Answer :• loose coupling
• Re-usability
• Interoperability
• Flexible
Question :
What is Mediator?
Answer :The Mediator is in charge of
interconnecting, within an SOA composite application, components that expose
different interfaces. In addition, the Mediator can perform duties such as
filtering and making routing decisions.
The composite editor in JDeveloper gives you the
flexibility to define the interface now, to choose an existing interface, or to
define the interface later as you wire ....
Question : What is the difference between Oracle SOA
10g and 11g?
Answer :SCA architecture was followed in 11g and not
in 10g
In 11g you can put all your project SOA components
in composite.xml file and deploy to single server, where in 10g you have to
deploy each component to the respective server (i.e ESB to ESB server, BPEL to
BPEL Server)
• Basically all the SOA components like BPEL, ESB
(Called Mediator in 11g), & OWSM are brought into one place in 11g using
SCA composite concept.
• The major difference between 10g & 11g would
be the app server container. 10g by default runs onOC4J while 11g runs on Web
logic Server.
• In 10g every BPEL is a separate project, but in
11g several components can make 1 project as SCA.
• In 10g consoles are separate for BPEL and ESB, but
in 11g Enterprise Manager contains all.
• In 10g we have to deploy each project separately,
but in 11g we can deploy SCA which contains all.
• In 10g BAM and business rules are outside SOA
Suite, but in 11g they are in SOA Suite.
Question : What is BPEL?
Answer :Within the enterprise, BPEL is used to
standardize enterprise application integration as well as to extend the
integration to previously isolated systems. Between enterprises, BPEL enables
easier and more effective integration with business partners. BPEL stimulates
enterprises to further define their business processes, which in turn leads to
business process optimization, reengineering, and the selection of the most
appropriate processes, thus further optimizing the organization. Definitions of
business processes described in BPEL do not affect existing systems, thereby
stimulating upgrades. BPEL is the key technology in environments where
functionalities are already or will be exposed via Web services. With increases
in the use of Web services, the importance of BPEL will increase as well.
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
Question : What is BPEL Process in SOA ?
Answer :(Business Process Execution Language) BPEL
Process is a language used for the composition, orchestration and coordination
of webservics.
Enterprise Information system can improve the
efficiency of businesses through the automation of business processes. The
objective of almost every company is that the application it uses should
provide comprehensive support for business processes. It means that
applications should align with business processes closely.
BPEL improves and extends the flexibility of earlier
integration methods and distributed architectures, and focuses on the
reusability of existing applications and system, efficient interoperability’s
and application integrations and the composition of business processes out of
services provided by applications. Another important objective of SOA is also
the ability to apply changes in the future in a relatively easy and
straightforward way.
BPEL is the one of the most popular, commonly
accepted specialized language for business process, BPEL is a special language,
designed to execute business processes using a special server. BPEL process
provide good environment where business processes can be developed in an easy
and efficient manner, directly executed, monitored and quickly adapted to the
changing needs of enterprises without too much effort.
Question : What is/was the motivation behind BPEL?
How does it differ from other/past attempts/technologies aimed at the
integration/business process problem? Can you talk briefly about the evolution
of BPEL?
Answer :Orchestrating a set of services into an
end-to-end process flow entails a new set of technical requirements (binding to
heterogeneous system, synchronous and asynchronous message exchange patterns,
data manipulation, flow coordination, exception management, undeterministic
events, compensating transactions, side-by-side versioning, in-flight instance
management and auditing). The goal of BPEL is provide a richer and yet simpler
abstraction/standard for addressing those requirements. Although it is a fairly
new standard, it leverages from 10+ years of research and development Microsoft
and IBM invested in XLANG and WSFL.
Question : What is orchestration? What does it mean
to build composite applications? Why would anyone want to?
Answer :Existing systems are not going away. Yet
enterprises need to build new applications that can leverage the functionality
encapsulated in those existing systems. The notion of a composite application
is based around the idea of building new applications by wiring together
existing building blocks. Orchestration plays an important role in this picture
because it is the glue that coordinates the execution of each discrete service.
A good orchestration server needs to be reliable, scalable and render the BPEL
process logic with very high fidelity.
Question : Explain Orchestration and Choreography.
Answer :In orchestration, which is usually used in
private business processes, a central process (which can be another Web
service) takes control of the involved Web services and coordinates the
execution of different operations on the Web services involved in the
operation. The involved Web services do not "know" (and do not need
to know) that they are involved in a composition process and that they are
taking part in a higher-level business process. Only the central coordinator of
the orchestration is aware of this goal, so the orchestration is centralized
with explicit definitions of operations and the order of invocation of Web services.
Choreography, in contrast, does not rely on a
central coordinator. Rather, each Web service involved in the choreography
knows exactly when to execute its operations and with whom to interact.
Choreography is a collaborative effort focusing on the exchange of messages in
public business processes. All participants in the choreography need to be
aware of the business process, operations to execute, messages to exchange, and
the timing of message exchanges.
Question : What are two configuration settings for
auditing?
Answer :
auditLevel:
• off - absolutely no logging performed whatsoever;
may result in a slight performance boost for processing instances.
• minimal - all events are logged; however, no audit
details are logged.
• production - all events are logged. The audit
details for assign activities are not logged; the details for all other nodes
are logged.
• development - all events are logged; all audit
details for all activities are logged.
auditDetailThreshold:
The maximum size (in bytes) an audit trail details
string can be before it is stored separately from the audit trail. If a details
string is larger than the threshold it will not be immediately loaded when the
audit trail is initially retrieved; a link will be displayed with the size of
the details string. Typically, the details string will contain the contents of
a BPEL variable. In cases where the variable is very large performance may be
severely impacted by logging it to the audit trail. The default value is 50
kilobytes
Question : How many tables are used for mediator
instance tracking?
Answer :There are in total 5 tables which are used
by mediator instance tracking:
• Mediator_instance - One row for each mediator
message flow.
• Mediator_case_instance - One row for each mediator
case (~ routing rule).
If a mediator component has two routing rules then
this should have 2 records for that mediator instance.
• Mediator_case_detail - Captures mediator audit
trail for each mediator routing rule. Number of records may vary based on the
nature of mediator component.
Eg: if mediator component is having a async req-resp
routing rule then this would contain 2 rows for the corresponding mediator
routing rule.
• Mediator_document - Stores the payload for routing
rules which are configured as deferred (~ parallel in jdev). So if all the
routing rules are "sequential" then this will not contain any
records.
• Mediator_audit_document - Stores the payload for
audit trail and only when "instanceTrackingLevel" for mediator is
"Complete".
Question : How can we handle faults in BPEL?
Answer :When a fault occurs within a business
process, the process may not complete successfully. (But it can complete
successfully if the fault is handled within a scope, which enables you to
divide a complex process into several parts; more on scopes later.) The
business process can handle the fault through one or more fault handlers.
Within a fault handler, the business process defines custom activities that should
recover from the fault and possibly reverse the partial (unsuccessful) work of
the activity where the fault has occurred.
Question : What is Scopes in BPEL? How can it be
useful in handling faults?
Answer :Scopes are hierarchically organized parts
into which a complex business process can be divided. They provide behavioral
contexts for activities. In other words, scopes enable you to define different
fault handlers for different activities (or sets of activities gathered under a
common structured activity such as or ). In addition to defining fault
handlers, you can declare variables that are visible only within a scope.
Scopes also let you define local correlation sets, compensation handlers, and
event handlers.
Question : What are two types of Events supported by
BPEL?
Answer :Although fault handlers and scopes improve
the robustness of BPEL processes considerably, you can also manage events. BPEL
supports two types of events:
1. Message events are triggered by incoming messages
through operation invocation on port types.
2. Alarm events are time-related and are triggered
either after certain duration or at a specific time.
Question : Explain the use of Message Event and
Alarm Events?
Answer :Managing message events is particularly
important when the business process is waiting for callbacks from partner Web
services. activity, lets you wait for only a single (exactly specified) message
on a port type. Often, however, it is more useful to wait for more than one
message, of which only one will occur.
Alarm events are useful when you want the process to
wait for a callback for a certain period of time, such as 15 minutes. If no
callback is received, the process flow continues as designed. This approach is
particularly useful in loosely coupled service-oriented architectures, where
you cannot rely on Web services being available all the time. This way, the
process flow can proceed even if one of the bookstores does not return an
offer.
Question : Explain “Pick” activity of BPEL.
Answer :BPEL provides the activity, through which
you can specify that the business process should await the occurrence of one
event in a set of events. Events can be message events handled with the
activity or alarm events handled with the activity. For each event, you specify
an activity or a set of activities that should be performed.
Question : How can we use Pick as Initial activity?
Answer :You can use the activity instead of the
initial activity. You can specify several operations, and receiving one of
these messages will result in the creation of a business process instance. Then
you have to use a special form of the activity. You specify the createInstance
attribute for the activity, but you can specify only events; events are not
permitted in this specific form.
Question : What is Use of assign activity in BPEL?
Answer :You use the assign activity to copy data
from one XML variable to another, or to calculate the value of an expression
and store it in a variable. A copy element within the activity specifies the
source and target of the assignment (what to copy from and to), which must be
of compatible types.
Question : How can you increase performance in BPEL
?
Answer :We can increase the performance by writing
indexes and sequences.
(Or) Go to application server - Configurations -
Change Xml file
Question : What is orchestration? What does it mean
to build composite applications? Why would anyone want to?
Answer :Existing systems are not going away. Yet
enterprises need to build new applications that can leverage the functionality
encapsulated in those existing systems. The notion of a composite application
is based around the idea of building new applications by wiring together
existing building blocks. Orchestration plays an important role in this picture
because it is the glue that coordinates the execution of each discrete service.
A good orchestration server needs to be reliable, scalable and render the BPEL
process logic with very high fidelity.
Question : What differentiates BPEL Process Manager
from other process integration offerings?
Answer :Four things:
• Native and comprehensive BPEL support
• Extensible binding framework (which means that you
can orchestrate not only Web services but also JCA, JMS, etc)
• Ease-of-use (you can get up and running in less
than 15 minutes)
• Cross-platform support (Oracle Application Server
but also WebLogic, WebSphere, etc.)
Question :
What are dspMaxThread and a recieverThread properties? Why are they
important?
ReceiverThreads property specifies the maximum
number of MDBs that process aysc across all domains. Whereas the dspMaxThreads
are the maximum number of MDBs that process asy and threads that operate across
a domain.
So, we need to ensure that the dspMaxThreads value
is !> ReceiverThreads.
Question : Is
it possible to use MS SQL Server as dehydration store with SOA Suite ?if yes
how?
Yes it is possible.
To automatically maintain long-running asynchronous
processes and their current state information in a database while they wait for
asynchronous callbacks, you use a database as a dehydration store.Storing the
process in a database preserves the process and prevents any loss of state or
reliability if a system shuts down or a network problem occurs. This feature
increases both BPEL process reliability and scalability. You can also use it to
support clustering and failover.
Question
: What are DVM's and how are they
helpful in SOA?
DVM-Domain Value Map are static mappings between a
source and target system which can be used in transformations. The value can be
changed via SOA composer.
Question
: What is the difference between
XREF and DVM?
XREF- It is dynamic since the values to the XREF can
be populated dynamically and it is stored in XREF_DATA table in SOA Dehydration
store.
DVM- Domain Value Map is static mappings between a
source and target system which can be used in transformations.
Question
: What is Dehydration store?
Dehydration store is the database where the
instances get stored when it gets dehydrated by the process on the occurrence
of non-idempotent activities and also stores the information on the long
running processes.
Question
: What is MDS?
MDS –Metadata Store, Wsdl and Schemas to be used in
the process can be published to the MDS and get it used in the code by
referring the artifacts from the MDS
Advantages:
JAR (Deployment unit) size will be reduced.
Duplication
of the artifacts can be avoided between the services.
Question
: What is a XA datasource? How
it differs from a non-XA datasource?
An XA transaction involves a coordinating
transaction manager, with one or more databases (or other resources, like JMS)
all involved in a single global transaction. Non-XA transactions have no
transaction coordinator, and a single resource is doing all its transaction
work itself (this is sometimes called local transactions).
Question
: How can we secure our web
services using Oracle SOA Suite?
When accessing the services should be restricted to
the group, then service should be secured via WSM (Web service Manager).
Question
: How to deploy an XSL file
without deployment of BPEL Process?
We will directly deploy the XSLT, options: -
Using ANT
script by file replacement in TMP folder.
By creating
a folder in BPEL PM installation folder and specifying its location in our BPEL
code with http call and replacing our xslt to that location.
Question:
What is HA File and FTP Adapters?
In the clustered environment,File and FTP adapters
should be used as HA(High-Availability)
Inbound:It is
controlled by Control Files and avoids the race between the manages servers in
reading the files where the reference of the files read by the managed servers
will be maintained in the control
directory.
Outbound:It is controlled by DB Mutex table
exist in the SOA dehydration store and
this avoids duplicated been written to the same file when all the managed
servers in the clusters process the same messages.
Question
: What is singleton Property in
SOA?
In the clustered environment when the processing of
the message should happen via only one SOA managed server, then the property
singleton needs to be defined at the adapter level.
Question
: What is a flow activity? What
is a flowN activity and how does it leverages the flow activity?
Flow activity is used, when parallel execution of
the flow is needed and to use this property “non-blocking invoke should be set
as true “at the partner link level and no. of execution of parallel flow is
defined and static. Where as in Flown the no. of execution of parallel flow is
not static and it is determined during run time.
Question:
What do you mean by non-idempotent activity? Which all activities are
non-idempotent by default?
Activities like Pick, Wait, receive, reply and
checkpoint () are called non-Idempotent activity and during the execution of
the process whenever these activities are encountered then it gets dehydrated
to the dehydration store.
Question:
What is forward delay in JMS Queue?
In the clustered environment where JMS queues are
used, when for the queues in any one of the Managed server doesn’t have the
consumer, once messages reaches the
forward delay time it gets moved to the
other managed server where consumer is present.
Question: What is redelivery limit in JMS Queue?
When the message gets failed to get processed ,then
it will be re-tried will the redelivery limit exhausts and once after the
redelivery limit the message can b e either moved to the error Queue are it can
be discarded.
Question:
What is timetodeliver in JMS Queue?
When Messages enqueued to the JMS queue, it will be
immediately consumed by the JMS Subscribers, if any delay needs to be induced
for the message consuming by the Subscribers then timetodelivery needs to set.
The JMS message will not be subscribed until timetodelivery exhausts.
Question
: Difference between JMS Queues
and Topics?
Queue-Message will be subscribed by one subscriber.
Topic-Message will be subscribed by more than one
subscriber.
Question:
What is a inline schema?
Schemas can be included inside of XML file is called
Inline Schemas.
Question: What is role of Mediator?
Answer: Oracle Mediator provides a lightweight
framework to mediate between various components within a composite application.
Oracle Mediator converts data to
facilitate communication between different
interfaces exposed by different components that are wired to build a SOA
composite application.
Question:Difference between Mediator & OSB?
Answer: OSB is all together different tool which is
used for integration like SOA but the main purpose of OSB is to route the
information and same we can do with
mediator. The main difference two is, we go for
Mediator when we want to route information between different components inside
composite and go for OSB when we want to
route the information between composites. Mediator
is used light weight mediation and OSB is used for heavy weight mediation.
Question: What is echo in Oracle Mediator?
Answer: The purpose of the echo option is to expose
all the Oracle Mediator functionality as a callable service without having to
route it to any other service. For
example, you can call an Oracle Mediator to perform
a transformation, a validation, or an assignment, and then echo the Oracle
Mediator back to your application
without routing it anywhere else.
For synchronous operations with a conditional
filter, the echo option does not return a response to the caller when the
filter condition is set to false. Instead, it
returns a null response.
The echo option is available for asynchronous
operations only if the Oracle Mediator interface has a callback operation. In
this case, the echo is run on a separate
thread.
Question: What is resequencing in Mediator ?
Answer: The resequencing feature of the Oracle
Mediator reorders sets of messages that might arrive to the Oracle Mediator in
the wrong sequence. You can define
resequencing for all operations in an Oracle
Mediator or for a specific operation.
Question: Resequencing options available in
mediator?
Answer:
Standard (based on input Id)
FIFO(based on time)
Best Efforts
Question: What is Schematron Validation?
Answer: Schematron is an XML schema language, and it
can be used to validate XML contents in an XML payload.
Question: Types of routing exist in Mediator?
Answer: Static & Dynamic Routing.
Question: What is Dynamic Routing in Mediator ?
Answer: A dynamic routing rule lets you externalize
the routing logic to an Oracle Rules Dictionary, which in turn enables dynamic
modification of the routing logic in
a routing rule.
When you choose to create dynamic routing rule then
it creates a new business rule service component that is wired to the Oracle
Mediator service component within the
SOA composite of the Oracle Mediator service
component. The business rule service component includes a rule dictionary. The
rule dictionary is a metadata container for
the rule engine artifacts, such as fact types,
rulesets, rules, decision tables and so on.
Inside routing rules, you need to set endpoint URI.
Question: Types of Static Routing rules?
Answer: Sequential & Parallel.
Question: Difference between Sequential &
Parallel static routing rules ?
Answer:
Sequential
parallel
Oracle Mediator evaluates routings and performs the
resulting actions sequentially. Sequential routings are evaluated in the same
thread and transaction as the caller
Oracle Mediator queues and evaluates routings in
parallel in different threads.
The messages of each Oracle Mediator service
component are retrieved in a weighted, round-robin fashion to ensure that all
Oracle Mediator service
components receive parallel processing cycles. This
is true even if one or more Oracle Mediator service components produce a higher
number of messages
compared to other components. The weight used is the
message priority set when designing an Oracle Mediator service component.
Higher numbers of parallel
processing cycles are allocated to the components
that have higher message priority.
You can set the Priority field in the Mediator
Editor to indicate the priority of an
Oracle Mediator service component. Priorities can
range from zero to nine, with
nine being the highest priority. The default
priority is four.
Oracle Mediator always enlists itself into the
global transaction propagated through the thread that is processing the
incoming message. For example, if an
inbound JCA adapter invokes an Oracle Mediator, the
Oracle Mediator enlists itself with the transaction that the JCA adapter has
initiated.
Oracle Mediator initiates a new transaction for
processing each parallel rule. The initiated transaction ends with an enqueue
to the Oracle Mediator parallel
message dehydration store.
For example, if an Oracle Mediator service component
has one parallel routing rule, one message is enqueued on the Oracle Mediator
parallel message dehydration store.
The parallel message dispatcher to the store then
initiates a transaction, reads the message from the database store, and invokes
the target component or service of this routing rule. The transaction initiated
by the listener thread is a completely new transaction and is propagated to the
target components.
Oracle Mediator propagates the transaction through
the same thread as the target components while executing the sequential routing
rules.
Oracle Mediator never commits or rolls back
transactions propagated by external
entities.
Oracle Mediator commits or rolls back transactions
because it is the initiator of these transactions.
If an operation or event has both sequential and
parallel routing rules, first sequential routing rules are evaluated and
actions are performed, and then parallel routings are queued for parallel
execution.
Oracle Mediator manages the transaction only if the
thread-invoking Oracle
Mediator does not already have an active
transaction. For example, if Oracle
Mediator is invoked from inbound SOAP services,
Oracle Mediator starts a
transaction and commits or rolls back the
transaction depending on success and
failure.
Question: Which static routing rule support fault
policy ?
Answer: Parallel rules only.