SOA/BPM Alliance Via Distributed Business Data

sweetleafapartInternet και Εφαρμογές Web

7 Αυγ 2012 (πριν από 8 χρόνια και 11 μήνες)

339 εμφανίσεις

Corporate Context:

A SOA & BPM Alliance Via
Business Data Management

Amir Bahmanyari


Architect

Topics


Abstract Highlights


A Corporate Context


Client


BPM


SOA


Corporate Business Data


Operations Assets


Corporate Registry and Repository



SOA: Service Oriented Architecture



BPM: Business Process Management




Business & Information Technology Alliance



Case Study: Corporate Context Services


Abstract


Business Process Management services are
becoming the core providers of mission critical
real
-
time corporate business data.



Short List



Business transactions status


Business Process Management data


Business partners’ data


Corporate Global data



This

presentation demonstrates how BPM web
services are architected to align with SOA
principles to expose such services in a
Corporate Context

A Corporate Context


The Client, a business person, initiates the invocation
of an operation implemented by a Web Service which
providing access to certain type of corporate data
such as the status of an in
-
flight transaction



As a consequence of executing a Business Process
workflow, the dynamic changes in the state of
business transactions are persisted in distributed
databases across corporate



BPM Processes Instance data (process server)


BPM partners’ related data (adapters, etc.)


Global transactional data (audits and random
corporate references)



A corporate business application utilizing SOA
principles to access such diverse corporate data
provides the client with services to expose these
data in real
-
time for control, monitor and reports
generation purposes


An enterprise architectural style of design,
deployment, management and governance of

web services in an enterprise




A business
-
centric IT architectural approach that
supports integrating your business as linked,
repeatable business tasks, or “services” implemented
as distributed web services



A perception of distributed, loosely coupled,
independent, autonomous, and reusable web services
collectively or selectively implementing functions for
completing a well defined Business Process



Without BPM, SOA lacks supporting
agile

and
competitive

enterprise “business” scoped services


Service Oriented Architecture
(SOA)

SOA Principles


Consistency: Consistent behavior regardless of path to the
behavior

(Well defined Interfaces and Binding types to service
providers)



Commonality: I
t provides the business with common,
enterprise wide information that is consistent and
coordinated (business process encapsulation)

.


Modularity: Reusability, and agile Composition

(core function defined services)



Decoupled: Total autonomy, and governance of business
units, functions, components while integrated

(well defined service life cycle)



Manageability: Defined and independent SLAs to manage
business functions

Business Process Management
(BPM)


BPM is a management approach focused on aligning
all aspects of an organization with the wants and
needs of clients



Gartner: “BPM provides governance of a business's
process environment to improve agility and
operational performance”




Simply put, BPM is a discipline for defining a set of
distinct activities which collectively, and
algorithmatically constitute a well defined business
function.


Without SOA, BPM “
silo
” does not extend to an
enterprise service provider scope



In a Nutshell




SOA & BPM Alliance


Corporate Data



Transactional


Intermediate enterprise tiers


Business partners systems


Backend resources


Business Process Instance (process
choreography, restart, terminate etc.)


Global (reference/tracking numbers)


Warehousing


Client Application (local app DBs)


Internet (search engines etc.)

Case Study:

Corporate Context Services



Architecture View


Corporate SOA/BPM Alliance


Corporate Registry & Repository


Corporate Databases


SOA Client Implementation


BPM Implementation


Demo


Architecture (out of a nutshell)



JSP
Client
App
WSDL
Servlet
Proxy
SOAP
/
HTTPS
Business Process
(
BPEL
)
Process Server
Application Server
Middleware
:
Enterprise Service Bus
Adapters
:
Business Services Components
`
Global Data Source
Business Flow
Management
APIs
JDBC
JDBC
Business Process
Instance
Business
Service
Data
ShareHolders
Accounting System
International
Transfer Agency
Global
Payment System
JDBC
Process
Choreography
Corporate SOA/BPM Alliance



Corporate Registry & Repository




Enables SOA Governance (Life Cycle)


Publish

a “Service” (WSDL)


Find

the right available “Service”


How

the web services are
used

(Endpoints,
Operations, Binding type etc.)


Who

uses the services


Service
reusability



Services
composition


Corporate Databases(1)




Global Database (Global Reference Number)


Business Process Engine Database


Process Instance


Process Instance Id (PIID: PK for flow manager lookups
APIs)


Process Instance Status (Running, Terminated,
Finished, Failed)


Process Instance Activities States (BPEL)


Process Choreography, Updates to the message contents,
manual change of PI status, deletion, resubmission


BPM Application database


Long running processes reports data


Microflows temporary data (if any)


Corporate Databases(2)




Mid tiers business services components


Persist a BPM transaction request while in
progress


Persist the transaction status while posted to
backend


Update the transaction status as backend sends
notifications


Business partners backend systems


Recording backend transaction status


Maintaining pending transactions data


Account details


Operation Resources


Third party systems data


Legacy backend data




SOA Client Implementation




IBM WebSphere Integration Developer (WID 6.1.2)


JSP/HTML: Client input


Fund/Account numbers, Global Reference Number


WSDL


Operations


getBPMStatus
()

Real
-
Time Transaction Status in BPM.

Reused


getActivityStatus
()

View of Transaction Activities.

Composite, Re
-
Uses getBPMStatus()


getFndAcctStatus
()

Returns Pending Transactions Per Reference Number to

Composes getBPMStatus() and getActivityStatus(). It Reuses them for Real
-
Time Status.


CancelTransaction
()

Notifies partner to Cancel an in
-
flight transaction, Terminates Process Instance in BPM and Updates Global DB
with a “Cancelled” Business Status.


reSubmitTran()


Binding/HTTP transport


PortTypes: Corporate Context Service


Servlet


Web Services Proxy classes


Client



Pending Transactions



Transaction Summary



Transaction Activity



Cancelled Transaction



BPM Implementation




IBM WebSphere Application Server (WAS)


BPM Application Deployment


BPM Application exposed as a Web Service per
WSDL PortType specification


IBM WebSphere Process Server (WPS 6.1)


Business Process Instance


BPEL: BP Workflow


BP Database (ORA)


BP Choreography

BPEL (BPM)