architectural decisions and patterns for transactional ... · • soa decisions, patterns, and...

19
Business Integration Technologies © 2007 IBM Corporation Architectural Decisions and Patterns for Transactional Workflows in SOA ICSOC 2007 September 18, 2007 Olaf Zimmermann Jonas Grundler Stefan Tai Frank Leymann

Upload: others

Post on 18-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

Business Integration Technologies

© 2007 IBM Corporation

Architectural Decisions and Patterns for Transactional Workflows in SOA

ICSOC 2007September 18, 2007

Olaf Zimmermann Jonas GrundlerStefan TaiFrank Leymann

Page 2: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation2 Zurich Research Laboratory

Agenda

SOA Decision Modeling overview– Meta model

– Levels and layers

– Decision scoping and dependencies

Decision Model for transactional workflows in SOA– Step (a): Identification of conceptual decisions and patterns

– Step (b): Decomposition by layer

– Step (c): Refinement from conceptual to technology to vendor/asset level

Conclusions and future work

Page 3: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation3 Zurich Research Laboratory

Agenda

SOA Decision Modeling overview– Meta model– Levels and layers– Decision scoping and dependencies

Decision Model for transactional workflows in SOA– Step (a): Identification of conceptual decisions and patterns

– Step (b): Decomposition by layer

– Step (c): Refinement from conceptual to technology to vendor/asset level

Conclusions and future work

Page 4: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation4 Zurich Research Laboratory

SOA Decision Modeling (SOAD) in a NutshellTechnical decision identificationand making often disconnected from enforcement (cost, quality, risk impact!)

• One-of-a-kind design of transaction, security, and reliability concerns

• Gaps between logical and physical models, LOBs,presales and post sales

SOAD provides method and tools for end-to-end decision maker collaboration and best practices exchange:

• SOA decisions, patterns, and policies continuum

• Reusable and machine-readable decision models

• Web 2.0 tool support

Decision Identification

Decision Making

Decision Enforcement

SOA Decision Modeling

Page 5: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation5 Zurich Research Laboratory

Multi-Channel Order Management SOA in the Telecommunications Industry [OOPSLA 2005]

Functional domain– Order entry management– Two business processes:

new customer, relocation

Main SOA drivers– Deeper automation grade

(e.g. compensation)– Services shared within and

between domains

Service composition– Top-down from retailer

interface and process– Bottom-up from existing

wholesaler systems

BusinessProcessLayer

ChannelController

BusinessServices

Screen1 Screen2Presen-tation

Browser Channel Web Services Channel

ApplicationServices

Business Objects

CoreSystems

BusinessObjects

CoreSystem 1

BS1 BSn

AS1 ASn

. . . . . . other

? WS Façades

Activity Stub 1 Activity Stub n?

BSF1 BSF n

Client Client

ValueObject

ValueObjectShort Running

ProcessActivities

WSDLWSDL

WSDLWSDL

ActivityImplementation 1

ActivityImplementation n

CoreSystem n

Business Process Engine

Page 6: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation6 Zurich Research Laboratory

Architectural Decision Modeling for Reuse [QOSA]

Architectural decisions capture key design issues and the rationale behind a chosen solution:– Conscious design decisions

concerning a software system as a whole, or one or more of its core components

– With an impact on non-functional characteristics and quality factors

Documenting architectural decisions should be state of the practice

Using pre-populated AD models in an active, guiding role is a novel approach– Our work is based on existing work and ongoing research, e.g., [Kruchten 2006]

Decision scoping

Dependencies

Refinement levels and layers

Page 7: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation7 Zurich Research Laboratory

ConceptualLevel

Technology Level

Vendor/AssetLevel

3*(1+7+1) Top-Level ADTopic Groups

{CM} {OM}

{OM} Operational Modeling Decisions{CM} Component Modeling

{SOMA/SSS Resource Layer 1}

{SOMA/SSS Component Layer 2}

{SOMA/SSS Service Layer 3}

{SOMA/SSS Process Layer 4}

{SOMA/SSS Consumer Layer 5}

{SOMA/SSS Integration Layer 6}

{SOMA/SSS QoS Layer 7}

{CM} {OM}

{SOMA/SSS Resource Layer 1}

{SOMA/SSS Component Layer 2}

{SOMA/SSS Service Layer 3}

{SOMA/SSS Process Layer 4}

{SOMA/SSS Consumer Layer 5}

{SOMA/SSS Integration Layer 6}

{SOMA/SSS QoS Layer 7}

{CM} {OM}

{SOMA/SSS Resource Layer 1}

{SOMA/SSS Component Layer 2}

{SOMA/SSS Service Layer 3}

{SOMA/SSS Process Layer 4}

{SOMA/SSS Consumer Layer 5}

{SOMA/SSS Integration Layer 6}

{SOMA/SSS QoS Layer 7}

Workflow, SOA

BPEL, WSDL, SOAP, SCA

BPEL engines & tools (e.g., IBM WID, WPS)

Layers: [SOMA/SSS]

Page 8: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation8 Zurich Research Laboratory

Key Decision on Layer 2, 3, 4: Activity Transactionality

On the IT design level, the process modeler defines the transaction boundaries for all invoke activities within a process, as well as the underlying architectural layers

Decision instance 1 (ADOutcome):Tx for GoNoGoDecision

Decision drivers:Read only access via idempotent

service operations, frequent execution

Decision instance 3 (ADOutcome):Tx for ContactCustomerTask

Decision drivers:Modifying customer profile, so same threats as for 2

Only non-Tx messaging interface is available

Decision instance 2 (ADOutcome): Tx for CreatePolicyTaskDecision drivers:

Multiple process instances might run concurrently, policies in database have to be protected from phantom reads, lost updates, deadlocks

Decision type (AD): Transactionality (Tx), Decision scope: Task/Service OperationDecision drivers: Resource protection needs, data currency, performance, legacy interfaces

Page 9: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation9 Zurich Research Laboratory

Commercial Tools: Transactionality on BPEL/SCA Level

E.g., BPEL editor in IBM WebSphere Integration Developer (WID):

Proprietary radio button per invoke activity: “TransactionalBehavior”

Assembly editor in WID:

Proprietary SCA qualifiers for SCA reference, import interface, implementation, such as “Join transaction”

Plus SOAP engine, WSAT, JMS configuration

Page 10: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation10 Zurich Research Laboratory

Life without Architectural Patterns and Decisions…

No platform-independent solution descriptions or best practices– In industry example, WID-specific articles and an online help exist on WWW– Given advice is platform-specific and assumes deep platform expertise

BPM to BPEL export tools set transactionality to inappropriate default values– In industry example, one WID setting per activity, plus four SCA qualifiers involved

Role problem– Solution architect (responsible, but no awareness) vs. platform specialist (skills, tool)

Reuse problem– Many platform-specific settings: BPEL, SCA, WSAT, etc.

Reconciliation problem– Changes to WID overwritten each time BPEL is regenerated; BPEL vs. SCA consistency

Page 11: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation11 Zurich Research Laboratory

Agenda

SOA Decision Modeling overview– Meta model

– Levels and layers

– Decision scoping and dependencies

Decision Model for transactional workflows in SOA– Step (a): Identification of conceptual decisions and patterns– Step (b): Decomposition by layer– Step (c): Refinement from conceptual to technology to vendor/asset

level

Conclusions and future work

Page 12: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

Transactionality

O

Q

Transaction Islands(Section 4.1)

O Transaction Bridge(Section 4.1)

CompositionParadigm

OQ

Workflow(SCL)

O CustomCode

WorkflowLanguage

OQ

BPEL

O None

BPEL EngineSelection

OQ

IBM WPS(Section 4.2)

O Other

ComponentTechnology

OQ

SCA

O J2EE

Transactional ActivityBehavior in WPSQ O (Section 4.2)

Project Scope (e.g., CRM) Process Scope (Upgrade Customer) Activity/Operation Scope (5 Tasks in BPM)Te

chno

logy

Lev

el

ResourceProtection

OQ

System Transactions(Global Transaction)

O Compensation (Busi-ness Transaction)

CompensationTechnology

O

Q

BPEL handler(and/or WBAF)

O Engine-specificcompensation

O Custom code

TransactionCoordinator

OQ

Process Engine in SCL

OCon

cept

ualL

evel

Ass

etLe

vel

Q – Question (Architectural Decision)O – Option (Architecture Alternative)

RMI – Remote Message InvocationIIOP – Internet Inter-ORB ProtocolJMS – Java Messaging ServiceMOM – Message-Oriented MiddlewareJ2EE – Java 2 Enterprise Edition

O Stratified Stilts(Section 4.1)

SCA Interface Qualifier OQ

(Section4.2)

SCA ReferenceQualifier OQ

(Section4.2)

SCA Import Qualifier OQ

(Section4.2)

SCA Implemen-tation Qualifier OQ

(Section4.2)

External Coordinator(Third Party)

O SOAP/HTTP withWS-AT enabled

O RMI/IIOP

O JMS, other MOM

Service InvocationProtocolQ

O SOAP/HTTP

WPS – WebSphere Process Server

CompensationPlacement

O

Q

Externalprocessing

O BPEL scope

O BPEL activity

EJB TransactionAttribute OQ

Relatedwork

Layer 2Primitive

Layer 4Primitive

Layer 3Primitive

Patterns

Page 13: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation13 Zurich Research Laboratory

Patterns as ADAlternatives on Conceptual Level

S2

I2UI1

S1

U

S1 S2

I2I1

ADAlternative 1:Transaction Islands+ layers decoupled+ many small Tx- ACID not ensured

ADAlternative 2:Transaction Bridge+ best resource protection- few large Tx- long running processes?

ADAlternative 3:Stratified Stilts+ asynchronous messaging+ long running processes- ACID not ensured

S1 S2

I2UI1

Layer 3(Service)

Layer 4(Process)

Layer 2(Component)

{Conceptual Decision Model}

Transaction

Page 14: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation14 Zurich Research Laboratory

Process Activity Transactionality Primitives (Layer 4)

(PA

T-J)

Joi

n

I2UI1 I2UI1

(PA

T-N

) New

ADAlternative PAT-J: Invoke activity joins existing Tx

ADAlternative PAT-N: Each invoke activity opens new Tx

Refinement dependencies (“forces”):

No standard mapping to BPEL – many platform-specific extensions & limitations (e.g., WID can add Tx boundaries at any time, ACID scopes in BPEL4J)

In WID, PAT-J maps to “Participates”, PAT-N to “Requires Own”{Asset Decisions}

{Conceptual Decision Model}

Layer 4(Process)

Transaction

{Technology Decisions}

Page 15: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation15 Zurich Research Laboratory

Communication Infrastructure Primitives (Layer 3)

S

I

S

I

(CT-

ST)

Syn

chro

nous

Tran

sact

iona

l

(CT-

AS

)A

sync

hron

ous

Stra

tifie

d

(CT-

SN

T)S

ynch

rono

usN

on-T

rans

actio

nal

S

I

{Conceptual Decision Model} {Technology Decision Model}

CT-SNT: SOAP/HTTP, IIOP(without Tx context sharing)

CT-ST: SOAP/HTTP with WS-AT, IIOP (with Tx context sharing)

CT-AS: WS-RM, JMS

Plus SCA Qualifiers in WID/WPS(see slide with SP primitives)

Layer 3(Service)

Page 16: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation16 Zurich Research Laboratory

Service Provider Transaction Primitives (Layer 2)

S S

(ST-

J) J

oin

(ST-

N) N

ew{Conceptual Decision Model} {Technology Decision Model}

SCA Qualifiers in WID/WPS

Layer 2(Component)

{Asset Decision Model}

Page 17: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation17 Zurich Research Laboratory

Agenda

SOA Decision Modeling overview– Meta model

– Levels and layers

– Decision scoping and dependencies

Decision Model for transactional workflows in SOA– Step (a): Identification of conceptual decisions and patterns

– Step (b): Decomposition by layer

– Step (c): Refinement from conceptual to technology to vendor/asset level

Conclusions and future work

Page 18: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation18 Zurich Research Laboratory

Summary of Benefits and Novel Contributions

Design method complementing general purpose methodologies– Anticipating required decisions, giving concrete advice (per role)

Model-driven approach to decision capturing– Reusable, pre-populated ADMs replacing text tables (reuse)– Decision outcome not overwritten by code generation (reconciliation)

Tool prototype– Creation of decision model from requirements modeling (BPM) tool– Decision injection into BPEL editor

Time savings

Risk mitigation

Quality improvements

Page 19: Architectural Decisions and Patterns for Transactional ... · • SOA decisions, patterns, and policies continuum • Reusable and machine-readable decision models • Web 2.0 tool

© 2007 IBM Corporation19 Zurich Research Laboratory

Future Work Regarding These and Other SOA Decisions

Capture more variations and decision drivers for presented patterns

Map primitives to additional platforms (technologies, assets)

Capture patterns for other decision types

Represent patterns as runtime policies

Integrate SOAD into end-to-end tool chain– Get more information from BPM (roles, resources, technical attributes)

– Design and decision model interlock

– Collaboration platform

– More case studies