Ø
What is
SOA
SOA provides an enterprise architecture
that supports building connected enterprise applications.SOA
facilitates the development of enterprise applications as modular business Web
services that can be easily integrated and reused, creating a truly flexible,
adaptable IT infrastructure.
Ø
What Does
the Oracle SOA Suite Provide?
Oracle SOA Suite is a
complete set of service infrastructure components for creating, deploying, and
managing services. Oracle SOA Suite enables services to be created, managed,
and orchestrated into composite applications and business processes.
Additionally, you can adopt it incrementally on a project by project basis and
still benefit from the common security, management, deployment architecture,
and development tools that you get out of the box.
Ø
Difference
between 10g and 11g.
1).
Basically all the soa components like BPEL,ESB(Called mediator in 11g) and OWSM
are brought into one place in 11g using SCA Composite.
2).The
major difference b/w 10g and 11g would be the application server container 10g
by default runs on OC4J While 11g runs on web logic server.
3).
in 10g every BPEL is a separate project, But in 11g several components can make
one project as sca.
4).
in 10g consoles are separate for BPEL an ESB, But in 11g EM contains all.
5).In
10g we have to deploy each project separately, but in 11g we can deploy SCA
which contains all.
6).
in 10g BAM and Business Rules are outside the soa suite, But in 11g they are in
soa suite.
Ø
Difference
between BPEL and ESB.
1). ESB
is good for routing message to multiple destinations. It is also good for doing
transformations that have little to no business rules.
2).BPEL
is used for bringing together multiple services. There is much more functionality and allows
implementation of complex business logic.
3).Exception
handling can be done in BPEL.
4).
ESB does not have the sensors which can be used to monitor the activities that
can send actions to BAM or DB/JMS.
5).BPEL
can use Business Rules, Human Task and Notifications.
6).
BPEL primarily used for Orchestration, Data enrichment and also for Human
interactions where as ESB is used for Store and forward transport data.
Ø
Difference
between Mediator and ESB.
1).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.
Ø Basic Principles of Sequential Routing
Rules
Oracle
Mediator processes sequential routing
rules based on the following principles:
·
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.
·
Note:
·
The Priority property is applicable only to
parallel routing rules.
·
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.
Note:
·
Dehydrating of messages means storing the incoming
messages in a database for parallel routing rules so they can be processed
later by worker threads.
·
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.
Ø
Orchestration
Orchestration involves composing multiple
services into an end-to-end business process. The business process execution
language (BPEL) language supports this orchestration.
Ø 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.
Example
The following example shows importing a namespace.
XML
<?xml version="1.0"?>
<xs:schema elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/05/XMLInfoset" xmlns="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.example.com/IPO" />
<xs:include schemaLocation="example.xsd" />
</xs:schema>
Hi Anil,
ReplyDeleteThis site is very useful for Oracle soa Developers and admin guy's
Thanks its very good your post is helps me to learn subject.
ReplyDelete