Service Components:
BPEL
Process : BPEL (Business Process
Execution Language) is an XML-based language that enables task-sharing in a
distributed computing or grid computing environment.
Business Process Execution
Language(BPEL) is an execution language for defining business processes. In
short, it is the language for orchestrating multiple Web Services based on the
business logic.
Business
Rule : A decision component, also called a business
rule service component, supports use of Oracle Business Rules in a SOA
composite application. Decision components support the following SOA composite
usage.
A decision component can be used within a SOA composite
and wired to a BPEL component.A decision component can be used within a SOA composite and used directly to run business rules.
A decision component can be used with the dynamic routing capability of Mediator.
A decision component can be used with the Advanced Routing Rules in Human Workflow.
Human Task : Oracle SOA Suite provides a graphical tool, known as the Human Task Editor, for modeling your task metadata. The modeling process consists of the following:
Creating and modeling a human task service component in the SOA Composite Editor
Associating it with a BPEL process
Generating the task form for displaying the human task during runtime in Oracle BPM Worklist.
Mediator : Oracle Mediator is a service component of the Oracle SOA Suite that provides mediation capabilities such as selective routing, transformation, and validation capabilities, along with various message exchange patterns, such as synchronous, asynchronous, and event publishing or subscriptions.
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.
Difference between Mediator and BPEL
BPEL
1) Complex Logic
2) Good Support language in form of”activities”
3) Performance wise very slow
4) Support of Dehydration and Instance Monitoring
5) For Long Running process BPEL is the Right Solution
6) To implement the controlled Transactions
Integration of Rules Engine and Human Workflow
7) To implement the service virtualization BPEL is not the right
approach
Mediator
1) Less Complex Logic
2) Less Support
3) Three times faster than BPEL
4) No support of de hydration
5) For Long Running process not a proper solution
6) You cannot control the transactions in Mediator.
7) Mediator is the right approach for the service virtualization
Spring
Context : The spring framework is a lightweight container that makes it
easy to use different types of services. Lightweight containers can accept any
JavaBean, instead of specific types of components.
Service Adapters:
ADF-BC
Adapter : The ADF-BC service enables
you to integrate Oracle Application Development Framework (ADF) applications
using service data objects (SDOs) with SOA composite applications.
AQ Adapter : The AQ adapter enables you to
interact with a single consumer or multiconsumer queue.Oracle Streams AQ provides a flexible mechanism for bidirectional, asynchronous communication between participating applications.
Advanced queues are an Oracle database feature, and are therefore scalable and reliable. Multiple queues can also service a single application, partitioning messages in a variety of ways and providing another level of scalability through load balancing.
B2B : The Oracle B2B service enables you to browse B2B metadata in the MDS repository and select document definitions.
Oracle B2B is an e-commerce gateway that enables the secure and reliable exchange of transactions between an organization and its external trading partners.
Oracle B2B and Oracle SOA Suite are designed for e-commerce business processes that require process orchestration, error mitigation, and data translation and transformation within an infrastructure that addresses the issues of security, compliance, visibility, and management.
BAM
Adapter : The Oracle BAM adapter
enables you to integrate Java EE applications with Oracle BAM Server to send
data.
Database
Adapter : The database adapter
enables a BPEL process to communicate with Oracle databases or third-party
databases through JDBC.
Direct Binding : The direct binding
service uses the Direct Binding Invocation API to invoke a SOA composite
application in the inbound direction and exchange messages over a remote method
invocation (RMI). This option supports the propagation of both identities and
transactions across JVMs and uses the T3-optimized path.Both synchronous and asynchronous invocation patterns are supported.You can also invoke an Oracle Service Bus (OSB) flow or another SOA composite application in the outbound direction.
EJB
Service : The EJB service enables Enterprise JavaBeans and SOA composite
applications to interact by passing SDO parameters (uses a WSDL file to define
the interface) or Java interfaces (does not use a WSDL file to define the
interface).
File
Adapter : The file adapter enables a
BPEL process or Oracle Mediator to exchange (read and write) files on local
file systems. The file contents can be in both XML and non-XML data formats.
FTP
Adapter : The FTP adapter enables a
BPEL process or Oracle Mediator to exchange (read and write) files on remote
file systems through use of the file transfer protocol (FTP). The file contents
can be in both XML and non-XML data formats.
HealthCare
Adapter : The Oracle Healthcare
adapter enables you to create an end-to-end health care integration process in
a SOA composite application. The Healthcare adapter establishes the connection
between a SOA composite application and the external health care applications
with which data is shared or with an internal topic or queue, where data can be
made available internally or to other systems
Http
Binding : The HTTP binding service
enables you to integrate SOA composite applications with HTTP binding.
As a service binding component in the Exposed Services swimlane to invoke SOA composite
applications through HTTP POST and GET operationsAs a reference binding component in the External References swimlane to invoke HTTP endpoints through HTTP POST and GET operations
JMS Adapter : The JMS adapter enables an Oracle BPEL process or Oracle Mediator to interact with a Java Messaging System (JMS).
The JMS architecture uses one client interface to many messaging servers. The JMS model has two messaging domains:
Point-to-point: Messages are exchanged through a queue and each message is delivered to only one receiver.
Publish-subscribe: Messages are sent to a topic and can be read by many subscribed clients.
MQ Adapter : The MQ adapter provides message exchange capabilities between BPEL processes and Oracle Mediator and the WebSphere MQ queuing systems.
The Messaging and Queuing Series (MQ Series) is a set of products and standards developed by IBM. The MQ Series provides a queuing infrastructure that provides guaranteed message delivery, security, and priority-based messaging.
Oracle
Applications : The Oracle applications
adapter provides connectivity to Oracle Applications. The adapter supports all
modules of Oracle Applications in Release 12 and Release 11i,
including selecting custom integration interface types based on the version of
Oracle E-Business Suite.
SalesForce
: The Runtime component of the Salesforce adapter implements the Cloud
Runtime SDK to interact with Salesforce.com Enterprise WSDL SOAP APIs.
Socket
Adapter : The socket adapter enables
you to create a client or a server socket, and establish a connection. This
adapter enables you to model standard or nonstandard protocols for
communication over TCP/IP sockets. The transported data can be text or binary
in format.
Third
Party Adapter : The third party adapter
enables you to integrate third-party adapters such as PeopleSoft, SAP, and
others into a SOA composite application. These third-party adapters produce
artifacts (WSDLs and JCA files) that can configure a JCA adapter.
UMS
Adapter :
Web
Service :
BPEL CONSTRUCTS:
Web service :
Invoke : Opens
a port in the BPEL process service component to send and receive data. For
example, this port is used to retrieve information verifying that a customer
has acceptable credit using a credit card authorization service. For
synchronous callbacks, only one port is needed for both the send and receive
functions.
Partner Link : Defines the location and the role of the web
services with which the BPEL process service component connects to perform
tasks, and the variables used to carry information between the web service and
the BPEL process service component. A partner link is required for each web
service that the BPEL process service component calls. You can create partner
links in several ways, including the following.
Receive : This activity specifies the
partner link from which to receive information and the port type and operation
for the partner link to invoke. This activity waits for an asynchronous
callback response message from a service, such as a loan application approver
service. While the BPEL process is waiting, it is dehydrated (compressed and
stored) until the callback message arrives. The contents of this response are
stored in a response variable in the process.The receive activity supports the
bpelx:property
extensions that facilitate the passing of
properties through the SOAP header, and the obtaining of SOA runtime system
properties for useful information such astracking.compositeInstanceId and tracking.conversationId.
Reply
: This activity allows the process to send a
message in reply to a message that was received through a receive activity. The
combination of a receive activity and a reply activity forms a request-response
operation on the WSDL port type for the process.
Activities :
Assign
: This activity provides a method for data
manipulation, such as copying the contents of one variable to another. Copy
operations enable you to transfer information between variables, expressions,
endpoints, and other elements.
Compensate
: This
activity invokes compensation on an inner scope activity that has 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 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 cannot 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.
Empty
: This activity enables you to insert a
no-operation instruction into a process. This activity is useful when you must
use an activity that does nothing (for example, when a fault must be caught and
suppressed).
Terminate
: A terminate activity enables you to end the tasks
of an activity (for example, the fault handling tasks in a catch branch).
For example, if a client's bad credit history
is identified or a social security number is identified as invalid, a loan
application process is terminated, and the client's loan application document
is never submitted to the service loan providers.
Throw
: This activity generates a fault from inside the business process.
Wait
: This activity allows a process to specify a delay
for a certain period or until a certain deadline is reached. A typical use of
this activity is to invoke an operation at a certain time. This activity
enables you to wait for a given time period or until a certain time has passed.
Exactly one of the expiration criteria must be specified.
Structured Activities :
Flow
: This activity enables you to specify one or more
activities to be performed concurrently. A flow activity completes when all
activities in the flow have finished processing. Completion of a flow activity
includes the possibility that it can be skipped if its enabling condition is
false.
Pick
: This activity waits for the occurrence of one
event in a set of events and performs the activity associated with that event.
The occurrence of the events is often mutually exclusive (the process either receives
an acceptance or rejection message, but not both).
If multiple events occur,
the selection of the activity to perform depends on which event occurred first.
If the events occur nearly simultaneously, there is a race and the choice of
activity to be performed is dependent on both timing and implementation.
Scope : This activity consists of a
collection of nested activities that can have their own local variables, fault
handlers, compensation handlers, and so on. A scope activity is analogous to a {
}
block in a programming language.Each scope has a primary activity that defines its behavior. The primary activity can be a complex structured activity, with many nested activities within it to arbitrary depth. The scope is shared by all the nested activities.
A customer request is received in a receive activity.
The request is processed inside a flow activity that enables concurrent behavior.
A reply message with the final approval status of the request is sent back to the customer in a reply activity.
Switch
: This activity consists of an ordered list of one
or more conditional branches defined in a case branch, followed optionally by
an otherwise branch. The branches are considered in the order in which they
appear.
The first branch whose
condition is true is taken and provides the activity performed for the switch.
If no branch with a condition is taken, then the otherwise branch is taken. If
the otherwise branch is not explicitly specified, then an otherwise branch with
an empty activity is assumed to be available. The switch activity is complete
when the activity of the selected branch completes.
While
: This activity supports repeated performance of a
specified iterative activity. The iterative activity is repeated until the
given
while
condition is no longer true.
Thank you very much
ReplyDeleteI feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Same as your blog i found another one Oracle BPM .Actually I was looking for the same information on internet for Oracle BPM and came across your blog. I am impressed by the information that you have on this blog. Thanks once more for all the details.
ReplyDelete