Download - SOA Overview Session-2
-
7/31/2019 SOA Overview Session-2
1/27
Click to edit Master subtitle style
5/26/12
BPM, ESB,Adapters
-
7/31/2019 SOA Overview Session-2
2/27
5/26/12 22
Introduction to BPM
BPM:
Is a technology to create a program that can invokeweb services but presents a very intuitive flow-charttype representation that can be easily understoodand modified
More technically, it is a markup language forcomposing a set of discrete services into an end-to-end process flow
BPEL Process is a web service, hence has a WSDLdocument that describes its operation
invokes operations described in interfaces in theWSDL of other services.
-
7/31/2019 SOA Overview Session-2
3/27
Copyright -http://soatraining.hpag 33
-
7/31/2019 SOA Overview Session-2
4/27
5/26/12 44
Orchestration Requirements
Process orchestration coordinates services in a process from asingle run-time environment
Orchestration should enable us to create:
Business processes from services and human activities
Coarse grained business services from fine grained services Integration flows to integrate various applications
Orchestration requirements include:
Execution sequencing including serial, parallel, or other kinds ofcontrol flow dependency patterns
Exception handling including transactions and compensations
Data flow and manipulation
Event handling including timers and other out-of-band events
-
7/31/2019 SOA Overview Session-2
5/27
Copyright -http://soatraining.hpag 55
BPEL Process Manager
Oracle BPEL Process Manager is implementation ofthe BPEL standard.
The Oracle BPEL Process Manager consists of thethree components. Each component enables you to
perform a specific set of tasks: The design environment (Oracle JDeveloper) enables
you to design and deploy BPEL processes.
The BPEL Server is where the process is deployed
BPEL Control can be used to run and monitor the BPELprocess
-
7/31/2019 SOA Overview Session-2
6/27
5/26/12 66
ESB
Just like BPEL, ESB is a technology tocreate SOA Applications
An ESB project is deployed onto theESB server, just like BPEL
There are lot of similarities and some
differences between the capabilitiesof BPEL and ESB
-
7/31/2019 SOA Overview Session-2
7/27
5/26/12 77
ESB and BPELwhen to usewhich
Basic points
ESB is useful in typical integration scenarios integrate file to DB, queue to file, Queue to DB, Appsto file, Apps to mainframe etc
BPEL is useful for orchestration scenarios bringtogether finer services into an application
Everything that ESB can do, BPEL can do too.However, ESB is faster to build and faster to execute
compared to similar integration built using BPEL.But BPEL can help develop services that may simplybe impossible to create in ESB.
BPEL has rich features like OBR, Human task, Flow,pick etc. If you require any of these, you need to use
BPEL
-
7/31/2019 SOA Overview Session-2
8/27
5/26/12 Copyright - 88
Getting Customer Datausing BPEL
-
7/31/2019 SOA Overview Session-2
9/27
5/26/12 99
ESB Capabilities
-
7/31/2019 SOA Overview Session-2
10/27
5/26/12 1010
TransformConvert data as it flows through
the bus Canonical or point-to-
point transformations
Standard XSLT forexpressingtransformations
Drag-and-drop
graphical mapping tool
Smart mapping tool,dictionary-based
-
7/31/2019 SOA Overview Session-2
11/27
5/26/12 1111
ESB Capabilities
-
7/31/2019 SOA Overview Session-2
12/27
5/26/12 1212
RouteReliably transport and route data over
a variety of protocols
Reliable messaging and guaranteed deliveryare keyin highly-distributed, asynchronous, fire-and-forget SOAwhere senders do not wait for a response.
Internally: uses JMS for asynchronous flows
On the edges: wide support of transportsSOAP,JMS, legacy messaging
Hot-pluggable transport: 3rd Party JMS, DB, J2EE
-
7/31/2019 SOA Overview Session-2
13/27
5/26/12 1313
Route: Taking Decisions
Content-based:if total_price > 500, route toFedEx
Header-based:if message_type = order, route tofulfillment
Standard XPath to definerouting expressions
Graphical expression builder
-
7/31/2019 SOA Overview Session-2
14/27
5/26/12 1414
ESB Capabilities
-
7/31/2019 SOA Overview Session-2
15/27
5/26/12 1515
Security
Main security challenges in distributed environments
Islands of security lead to security gaps
No end-to-end visibility
Developers are not necessarily security experts Modifying policies is extremely complex
ESB leverages the Oracle SOA infrastructure for security
J2EE Container (OC4J) at service level
Oracle Web Services Manager to configure global policies
No security hard-coded in endpoints
Deployment options: gateway or agent modes ESB sets and ro a ates securit headers WS-Securit
-
7/31/2019 SOA Overview Session-2
16/27
5/26/12 1616
ESB Capabilities
-
7/31/2019 SOA Overview Session-2
17/27
5/26/12 1717
Transactions & ExceptionsHandling
Submitter is in charge:
Persists messages
Resubmit
SYNCHRONOUS FLOW ASYNCHRONOUS FLOW
ESB is in charge:
Persists messages
Retries, resubmit
End-to-end transaction/XA support via JTA
Ability to set transaction boundaries
Built-in error hospital to persist and resubmit failedmessages
-
7/31/2019 SOA Overview Session-2
18/27
5/26/12 1818
ESB Capabilities
-
7/31/2019 SOA Overview Session-2
19/27
5/26/12 1919
ESB can call otherservices
ESB can call other services like BPELvia direct invocation or SOAPbindings
Direct invocation can work only whenthe ESB and BPEL servers are on sameapplication server
Direct invocation is faster BPEL can be used for process
orchestration
-
7/31/2019 SOA Overview Session-2
20/27
5/26/12 Copyright - 2020
ESB Capabilities
-
7/31/2019 SOA Overview Session-2
21/27
5/26/12 2121
ESB Control Overview
RoutingServices
Transformation
FilterExpression
JMSAdapter
DB
Adapter
FlowInstance
s
OverviewNavigator
BPELProcess
Manage&
Search
FlexibleErrorRetry
-
7/31/2019 SOA Overview Session-2
22/27
5/26/12 2222
ESB Server Overview
Is the runtime environment for ESBapplications (called ESB Systems)
ESB Systems are composed of a setof one or more services or adapters
The definition of ESB system iscreated in Jdeveloper and stored in
DB by ESB Metadata server At runtime, ESB Metadata server
reads these from database to create
the ESB instance in the ESB Servermemor to rocess re uests
-
7/31/2019 SOA Overview Session-2
23/27
5/26/12 2323
ESB Designer Overview
RoutingServices
Transformation
Filters
FileAdapt
erJMSAdapt
er
DBAdapt
er
JDevApplicati
on
ComponentPalette
Metadat
a WSDL XSD XSL
JDevProjec
t
Adapter
Services
Operation
-
7/31/2019 SOA Overview Session-2
24/27
5/26/12 2424
Use ESB when
Use ESB: The payload has everything needed for transforminginto the output format
Use ESB: Transformations and invocations are simple, saysequential
Use ESB: When you dont require a long running process
Use ESB: When you dont need to store data temporarily invariables
Use ESB: Memory footprint - smaller for ESB for similar project(say developing a program that reads a DB and writes a file)
Use ESB: When you want to use DVM (BPEL does support DVMsvia lookup-dvm, but its easier to use them in ESB)
Use ESB: When same or similar data needs to be sent forward.ESB is ideal for this kind of usage pattern
Use ESB: When you are not too concerned about error handlingand dont need a very tight control
Use ESB: When you need to be able to resubmit messages
-
7/31/2019 SOA Overview Session-2
25/27
5/26/12 2525
Use BPEL when
Use BPEL: Orchestration required
Use BPEL: When you need to call an asynchronous service
Use BPEL: Long-lived or chatty application
Use BPEL: Need to send notification
Use BPEL: Need to use business rules
Use BPEL: Require to split or join payloads
Use BPEL: Want to iterate over data, run a loop
Use BPEL: content validation required based on business rules
(and not necessarily xsd based) Use BPEL: when participating apps support only HTTP/XML
Use BPEL: WSDL operations having multipart in messages
Use BPEL: Need to send binary attachments
Use BPEL: Monitoring using BAM etc. BPEL offers sensors
-
7/31/2019 SOA Overview Session-2
26/27
5/26/12 2626
Whats an Adapter
An adapter provides an interface thatexposes a non Web-based applicationas Web service endpoint.
This enables the BPEL process tointeract with the service usingstandard BPEL Invoke, Receive, andReply activities
The adapters enable customers andpartners to leverage investments inexisting custom or otherwise unique
applications, and to integrate them
-
7/31/2019 SOA Overview Session-2
27/27
5/26/12 2727
Taxonomy of Adapters
Technology Adapters
Used to integrate with transport protocols, data stores,and messaging middleware
Examples file, FTP, database, JMS, AQ adapters
Packaged-Applications Adapter
Integration with packaged applications
Examples Oracle Applications adapter, Siebel adapter,Peoplesoft adapter, SAP adapter
Legacy Adapters
Integration with legacy and mainframe systems
Examples: Tuxedo adapter, CICS adapter, VSAM adapter,IMS/TM adapter, IMS/DB adapter
It is possible to create your own adapters too (custom