Corporate Context: A SOA & BPM Alliance Via Business Data Management Amir Bahmanyari Architect.

Post on 15-Jan-2016

219 views 0 download

Tags:

Transcript of Corporate Context: A SOA & BPM Alliance Via Business Data Management Amir Bahmanyari Architect.

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 ofweb 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: It 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 ProxySOAP/HTTPS

Business Process(BPEL)

Process ServerApplication Server

Middleware: Enterprise Service Bus

Adapters:Business Services Components

`

Global Data Source

Business Flow Management

APIs

JDBC

Business Process Instance

Business Service

Data

ShareHolders Accounting System

International Transfer Agency

Global Payment System

Process Choreography

Corporate SOA/BPM AllianceCorporate Registry and Repository

JSP Client App WSDL

Servlet ProxySOAP/HTTPS

Business Process(BPEL)

Process ServerApplication Server

Middleware: Enterprise Service Bus

Adapters:Business Services Components

`

Global Data Source

Business Flow Management

APIs

JDBC

Business Process Instance

Business Service

Data

ShareHolders Accounting System

International Transfer Agency

Global Payment System

Process Choreography

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)