web services - business process execution language 2… · features exposed as web services. z....

28
The Role of BPM in Service Oriented Architecture Charlton Barreto Adobe Senior Computer Scientist/Architect [email protected]

Upload: others

Post on 18-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

The Role of BPM in Service Oriented Architecture

Charlton BarretoAdobe Senior Computer Scientist/[email protected]

Page 2: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Agenda

IntroductionConvergence of BPM and SOAModelingComposition and refinementService constraints/semanticsWiring applications togetherTransaction models

Page 3: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Why SOA?

SOA = an architectural principle for structuring systemsSOA emphasizes the de-coupling of system componentsNew services are created from existing ones in a synergistic fashionStrong service definitions are criticalServices can be subsequently re-composed in response to changing business requirements

Page 4: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Why composite applications?Composite applications are...applications!

Build on loosely coupled servicesService sets – Services of services ☺

Comprised of heterogeneous partsExisting servicesNew services

Composite applications != SOAComposite applications employ SOA principles

Features exposed as Web servicesStandards-based interaction between servicesDescribed by standards-based artifactsAre themselves composable

Page 5: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Why BPM?

BPM describes how systems perform their business processesSOAs require understanding of roles, business expectations, interoperability

BPM serves these functions in a SOA With BPM, it is straightforward to let your business partners and customers directly participate in your business processesFor BPM, services can be associated with business processes, which act on the behalf of activities

Page 6: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Business-level modelingBusiness-level modeling comes with a set of methodologiesDifferent methodologies compete

BPBMBPMN Semantic WebUMM

Large number of business-level methodologies

Chances to unify them is very lowVery likely, there will always be different business-level modeling tools

Page 7: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Business processes need toCo-ordinate asynchronous communication between servicesCorrelate message exchanges between partiesImplement parallel processing of activitiesImplement compensation logic (“Undo” operations)

Manipulate/transform data between partner interactionsSupport long running business transactions and activitiesProvide exception handlingProvide universal data model for message exchange

Page 8: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Roles of modeling

Enterprise Information Systems (EIS) are developed to automate or support business processes

Need to be modeled, verified and validated before

EIS manages enactmentModel is the configuration parameter

Components of an EIS cooperate by means of middleware

Models are the configuration parameters of orchestration and choreography

Page 9: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Types of models

BPMNebBP CDLBPELBPEL4PeopleUML Activity DiagrammeUML State Chart

Page 10: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

BPMN

Standard Business Process Modeling NotationAddresses graphical elements

Flow ObjectsConnecting Objects SwimlanesArtifacts

No formal interaction modelMapping to BPEL 1.1

Page 11: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

ebBP

Basis of eBusiness collaborationDefines interoperable business processes through document-based message exchange

Standard and extensible business transaction patternsSupport for multiple role bindingsFlexibility for complex transaction activitiesBusiness quality of services for servicesState alignment using business signals and business

Page 12: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

CDL

Peer-to-peer global model operating between loosely coupled components

Established global behavioural contractBased on formalised description of external observable behaviour

Describes collaboration protocols Services act as peersInteractions may be long-lived and stateful

Page 13: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

BPEL

Orchestrating interaction between Web services in a business processRecursive aggregation model

Aggregation: A set of Web services can be tied into one or more new Web service by means of a business process model Recursive: These new Web services can again be tied into other new Web services

Page 14: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

BPEL4People

Extension of BPELWork toward representing human tasks in a BPEL process – People activity5 process-task patterns

Inline tasksPeople activityBPEL process

Standalone tasks: External to BPEL processPeople activity - directPeople activity - WSDL portTypeInvoke activity - WSDL portType

Page 15: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Interaction patterns

Document common problems and approaches related to the design and implementation of processes and servicesSpecial emphasis on situations that arise when processes and services engage in concurrent and interrelated interactions

Page 16: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Interaction protocol

Processing behaviourInteraction flowInteraction roleInteraction bindingsInteractive parts – i.e. activitiesInteractive part bindings

Page 17: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Model - Verification

ServicesActivity & sequence diagrammesInteraction protocol

Page 18: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Validation - CorrectnessProper completion: services should always be able to terminate with an end event, and they should not leave any unfinished workInvariants: constraints on case and base objects should be valid as soon as a service has finished Formalisms

Pi-calculusPetri nets

Business-levelBPDM Meta model (OMG)UMM Meta model (UN/CEFACT)

Page 19: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Conversation = Series of Related Messages

Can span seconds, hours, daysMultiple concurrent conversation instancesMessages belonging to one conversation are correlated

Page 20: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Describing Conversations

Message Exchange PatternsBusiness Transaction PatternsCollaborationChoreographyOrchestrationTemporal Logic

Page 21: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Observable behaviour definition

Interleaves with conversation patternsDefinitions

ebBPCDLBPEL Abstract ProcessesUML 2.0 Sequence Diagrammes

Page 22: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Conversation Patterns

Message Exchange PatternsDynamic DiscoveryRenewing InterestReaching ConsensusBusiness Exception HandlingFault/Signal Handling

Page 23: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Business process complexity

ComplexityActivityControl-flow Data-flowResourceEvent

Metrics:Several fields apply

Information complexityCyclomatic complexityKolmogorov complexityCognitive complexityComputational complexity

Page 24: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Service constraints/semanticsService component architecture

Assembly of individual services into larger applicationsDefining format for configuring a module for deploymentComponents that are composed into modules can be

Custom programsBPEL processesWS-A endpointsAnything else conforming to the interface specification

SCA and JBI are applications

Page 25: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Service Bus

Dynamic connection, mediation and control of services and interactions, Spans services via a consistent modelEnables changing processes and relationships between applications via configurationProvides management and monitoring facilities without requiring instrumentationOpenESB and Apache ServiceMix are applications

Page 26: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Transactions – Service-level

Web Services Transaction 1.1 (WS-TX)

Three specificationsWeb Services CoordinationWeb Services AtomicTransactionWeb Services BusinessActivity

Specifics of transaction and compensation management is outside the scope of WS-TX

Page 27: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Transactions – Business-level

ebBPBusiness transaction protocols

CDLChoreographies

BPELCompensation

Page 28: Web Services - Business Process Execution Language 2… · Features exposed as Web services. z. Standards-based interaction between services. z. Described by standards-based artifacts

Role of BPM in SOA

BPM provides abstraction for defining business processesServices provide the functions to support business processesSOA provides capabilities for combining services in an agile, flexible manner