Saturday 5 May 2012

About SOA



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

2 comments:

  1. Hi Anil,

    This site is very useful for Oracle soa Developers and admin guy's

    ReplyDelete
  2. Thanks its very good your post is helps me to learn subject.

    ReplyDelete