240 likes | 486 Vues
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
E N D
Corporate Context: A SOA & BPM Alliance Via Business Data Management Amir BahmanyariArchitect
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
Service Oriented Architecture (SOA) • 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
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
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
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
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