a rich services approach to cocome

61
A Rich Services Approach to A Rich Services Approach to A Rich Services Approach to A Rich Services Approach to CoCoME CoCoME CoCoME CoCoME Ingolf H. Krueger Joint work with Barry Demchak, Vina Ermagan, Emilia Farcas, To-ju Huang, Massimiliano Menarini CSE Department – Calit2 University of California, San Diego http://sosa.ucsd.edu

Upload: buitram

Post on 14-Feb-2017

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A Rich Services Approach to CoCoME

A Rich Services Approach to A Rich Services Approach to A Rich Services Approach to A Rich Services Approach to

CoCoMECoCoMECoCoMECoCoME

Ingolf H. Krueger

Joint work with Barry Demchak, Vina Ermagan,

Emilia Farcas, To-ju Huang, Massimiliano Menarini

CSE Department – Calit2

University of California, San Diego

http://sosa.ucsd.edu

Page 2: A Rich Services Approach to CoCoME

Team Introduction

• Affiliation and Experience

– UCSD, CSE Department: Service-oriented software & systems engineering

laboratory (S3EL)

Research on innovative techniques for service-oriented software and systems engineering:

– service-oriented software architecture

– tailored development process, methodology & tools

– expressive description techniques

– precise, methodological foundation

– Calit2: Software and systems architecture and integration team (SAINT)

– Successful application to large-scale software and systems integration projects within Calit2

– Ocean Observatories Cyberinfrastructure

– Metagenomics, Bioinformatics

– Automotive

– Public Safety

– Enterprise Chat

– Design and implementation of flexible and scalable solutions such as XML-based Web services, web-portals, message and enterprise service busses.

Page 3: A Rich Services Approach to CoCoME

Team Introduction

MaxVina

Emilia

To-JuBarry

Page 4: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 5: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 6: A Rich Services Approach to CoCoME

Technologies

• Traditional approaches

– COTS

– Standardization is a problem

– Many unused features cause application bloat

– CORBA

– Heavyweight

• Promising approaches

– Web Services – Web Services

– Several W3C standards backed by industry for the separation of concerns (HTTP/SOAP), data marshaling (XML), interface descriptions (WSDL)

– Addressing cross-cutting concerns is a problem

– Enterprise Service Bus

– Message-oriented middleware (MOM)

– Flexible plug-in architecture

– Rich set of data adapters/connectors for rapid connections

– Transition from logical architecture to ESB implementation is still ad-hoc

Page 7: A Rich Services Approach to CoCoME

Challenges

• Address crosscutting architectural concerns

– such as policy management, governance, and authentication

• Still maintain a lean implementation and deployment flavor?

• Horizontal: interplay at the same logical or deployment level of

– application services– application services

– the corresponding crosscutting concerns

• Vertical: hierarchical decomposition into sub-services

– the environment is shielded through encapsulation from

– their structural and behavioral complexity

– the form of their composition

Page 8: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 9: A Rich Services Approach to CoCoME

Rich Services – Why/What?

“To boldly go where

no service has gone before”.

• an extension of the service notion, based on an architectural pattern

• Manage the complexity of a system-of-systems

– decomposing into primary and crosscutting concerns

– providing flexible encapsulation for these concerns

– generating a model that can easily be leveraged into a deployment

• Workflow management

– Service choreography at the infrastructure or application level

• Dynamic adaptation

– new services can be introduced at runtime

– no need to change or adapt the implementation of existing services

Page 10: A Rich Services Approach to CoCoME

ice/Data

nnector

Rich Services: Scalable Service Integration

From tightly to l o o s e l y coupled systems

Communication

infrastructure

Application

functionalities

Infrastructure

functionalities

Servi

Con

Service/Data

Connector

a hierarchically decomposed structure supporting“horizontal” and “vertical” service integration

Both a structural and

behavioral interface

functionalities

Page 11: A Rich Services Approach to CoCoME

Rich Services – Core

• Main entities of the architecture blueprint

– Service/Data Connector - interaction between the Rich Service and its environment

– the Messenger and the Router/Interceptor - communication infrastructure

– Rich Services - encapsulate various application and infrastructure functionalities

• Rich Application Services• Rich Application Services

– interface directly with the Messenger

– provide core application functionality

• Rich Infrastructure Services

– interface directly with the Router/Interceptor

– provide infrastructure and crosscutting functionality

– Examples: policy monitoring/enforcement, encryption, authentication

Page 12: A Rich Services Approach to CoCoME

Se

rvic

eE

licit

ati

on

Arch

ite

ctu

re

Rich Services – Development Process

Rich Services

RAS4CC1 CC2 CC3

Router/Interceptor

CC1 CC4 CC5

RIS:

RIS:

Services

Service S1

Roles

U1

U2

U3

U4

U5

Use Case Graph

ConcernsC1 C2 C3

C4CC1

CC2CC3

Domain Model

R1 R2

R3 R4

R5 R6

R1 R2

msg

R3

CC1

CC2

Role Domain Model

R1 R2

R3 R4

R5 R6

Ana

lysis

Identif

icatio

n

Defin

ition

Cons

olid

ation

Hierarchic composition

RefinementLogical Architecture Loop

Ric

hS

erv

ice

AS

ys

t em

Ar c

hit

ectu

r e

De

f in

itio

n

Router/Interceptor

Messenger/Communicator

RAS1 RAS2

Router/ Interceptor

Messenger/ Communicator

RAS5 RAS6RAS3

S

/D

S

/

D

RAS7

Rich Services Virtual NetworkSystem of Systems Topology

H1 H2

H3

H5

H6

H7

H8

H9H4

RAS1 RAS2 RAS3

RAS5 RAS6 RAS7

Infrastructure Mapping

H1:RAS1 H2:RAS2

H3:CC1

H5:RAS2

H6:RAS5

H7:RAS7H8:RAS7

H9:RAS6

H4:RAS3O

ptim

izatio

n

Implementation

RAS1 RAS2

RAS3 RAS4

RAS5 RAS6

RAS7 CC1

CC2 CC3

CC4 CC5

Ana

lysis

Synth

esis

RefinementLogical Model

Deployment Loop

Service Elicitation Rich Services Architecture System Architecture Definition

Page 13: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 14: A Rich Services Approach to CoCoME

Service

Role

Interaction

Element

CompoundOperand ChannelAtom*

**Deadline

Message Sequence Chart Service Model

Operators MessageReferenceEventState

** *

Receive EventSend Event

Hierarchy,

Composition

Page 15: A Rich Services Approach to CoCoME

Service

Role

Interaction

Element

CompoundOperand ChannelAtom*

**Deadline

Message Sequence Chart Service Model

QoS

properties

Operators MessageReferenceEventState

** *

Receive EventSend Event

Interactions

(Messages)

Loop, Alt, Seq,

Join, Par, etc

Page 16: A Rich Services Approach to CoCoME

Example MSCs

Role

State

Message

Reference

Page 17: A Rich Services Approach to CoCoME

Example MSCs

Loop

Alternative

Page 18: A Rich Services Approach to CoCoME

Example HMSC

JOIN

LOOP <*>

ALT

Express Sale

Normal Sale

Join

Synchronization

Unbounded Loop

Alternative

Express Sale

LOOP <*>

Card Validation

LOOP <*>

Receive Order

Page 19: A Rich Services Approach to CoCoME

Mitigation Strategy

Detection Strategy

Managed Service Deadline

Interaction Based Detection Strategy

Mitigator

*

applies

Fault Detector

detects

Failure EffectFailure

*

activates

Service Model for Failure Management

Detection Strategy can be based on

Interactions or State Machines.

ServiceUnmanaged

ServiceInteraction

Element

*

fails

*

*

A Managed Service wraps

another service, adding

failure management

mechanisms to it.

Failure Effect:

Missed Deadline, …

Page 20: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 21: A Rich Services Approach to CoCoME

Modeling the CoCoME

• Which parts of CoCoME have we modeled?

– Static view – logical Rich Service architecture

– Behavioral view – interactions in the logical model

– QoS properties

– Policy enforcement – encryption– Policy enforcement – encryption

– Failure Management

– Deployment choices with ESBs

Page 22: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 23: A Rich Services Approach to CoCoME

Modeling the CoCoME

• Domain Model

• Decomposition of the system based on business

manageability as the most important concern in the system

– Other candidate concerns: security, workflow optimization, policies, …

• Arranging the services in the service repository to match the Rich Service decomposition

– Trading System Rich Service

– Enterprise Rich Service

– Store Rich Service

– Cash Desk Rich Service

Page 24: A Rich Services Approach to CoCoME

CoCoME – Domain Model

Rich Services Architecture System Architecture DefinitionService Elicitation

Page 25: A Rich Services Approach to CoCoME

Trading System Rich Service

responsible for decrypting every message from the Enterprise to the Bank and

encrypting messages from the Bank to the Enterprise

Service/Data

Connector

Service Elicitation System Architecture DefinitionRich Services Architecture

Composite

Rich Service

Page 26: A Rich Services Approach to CoCoME

Enterprise Rich Service

Monitors deadlines of

interactions patterns

Detects when a Store does not respond

in time and announces the Dispatcher

Service Elicitation System Architecture DefinitionRich Services Architecture

Service/Data

Connector

Composite

Rich Service

Page 27: A Rich Services Approach to CoCoME

Store Rich Service

ta r

Service Elicitation System Architecture DefinitionRich Services Architecture

Service/Dat

Connector

Composite

Rich Service

Page 28: A Rich Services Approach to CoCoME

Cash Desk Rich Service

<<Rich Service>>

Cash Desk

Logging

Service/Data

Connector

CD Failure

ManagementService/Data

Connector

Encryption

Service/Data

Connector

The Sale information is logged

before updating the Inventory

The counterpart of the one from the Trading System; allows for end–to–end encryption of the communication between the Cash Desk and the Bank.

Detects if an item is not identified within the

deadline and mitigates by rejecting the item

Service Elicitation System Architecture DefinitionRich Services Architecture

Messenger

Router/Interceptor

Service/Data

Connector

Sale System

Service/Data

Connector

System

Cache

Service/Data

Connector

Barcode

Scanner

Service/Data

Connector

Printer

Service/Data

Connector

Cashier

Service/Data

Connector

Cash Box

Service/Data

Connector

Card Reader

Service/Data

Connector

Light Display

Service/Data

Connector

Page 29: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 30: A Rich Services Approach to CoCoME

Cash Desk Rich Service

Behavioral View

Messenger

Router/Interceptor

<<Rich Service>>

Cash Desk

Logging

Service/Data

Connector

CD Failure

ManagementService/Data

Connector

Encryption

Service/Data

Connector

Static View

<<Interactions>>

Cash Desk

CD-MSC

Normal Sale

Express Sale

Enter Express

Exit Express

Managed AddItem

AddItem Mitigate

Bar Payment

Card Payment

Update Cached Sales

Connector

• Cash Desk Rich Service: the lowest level in hierarchy.

• Each Rich Service is associated with a behavioral view.

Service Elicitation System Architecture DefinitionRich Services Architecture

Messenger

Sale System

Service/Data

Connector

System

Cache

Service/Data

Connector

Barcode

Scanner

Service/Data

Connector

Printer

Service/Data

Connector

Cashier

Service/Data

Connector

Cash Box

Service/Data

Connector

Card Reader

Service/Data

Connector

Light Display

Service/Data

Connector

Connector:

(Imports: Customer,

Bank

Exports: Cashier, Card

Reader, Light Display

MSCs: INormalSale,

IExpressSale)

...

Page 31: A Rich Services Approach to CoCoME

Rich Service Behavioral View

• References the services (MSCs) taking place at this level

• Has a main MSC which captures how the services in that Rich Service are composed together to form the overall behavior of that Rich Service

• Declares the imported and exported roles

– Imported Roles:

<<Interactions>>

Cash Desk

CD-MSC

Normal Sale

Express Sale

Enter Express

Exit Express

Managed AddItem

AddItem Mitigate

Bar Payment

Card Payment– Imported Roles:

– Roles from higher levels of hierarchy that interact with internal roles of the Rich Service

– Exported Roles:

– Internal roles of the Rich Service that will interact with external roles.

– Import/Export Interface:

– The communication pattern (MSCs) between Imported and Exported roles = behavior protocol

Service Elicitation System Architecture DefinitionRich Services Architecture

Card Payment

Update Cached Sales

Connector:

(Imports: Customer,

Bank

Exports: Cashier, Card

Reader, Light Display

MSCs: INormalSale,

IExpressSale)

...

Page 32: A Rich Services Approach to CoCoME

Cash Desk – Main MSC

• Only the services contained within, or interacting with, this Rich Service are captured in the main MSC of the Rich Service.

JOIN

LOOP <*>

ALT

Express Sale

Normal Sale

• JOIN operator: Composes the operand MSCs in parallel, synchronizing them on the common messages.

LOOP <*>

Enter Express

Update Cached Sales

LOOP <*>

Exit Express

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 33: A Rich Services Approach to CoCoME

Cash Desk - Normal Sale

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 34: A Rich Services Approach to CoCoME

Cash Desk – Sale AddItem MSC

• Managed AddItem captures adding an item

– The Item ID is sent to Store Inventory, which will provide the Item Description.

– If the item is not recognized, the Store Inventory will reject the item

– Shown on the next slide

Sale AddItem MSC

JOIN

Managed AddItem

• The Rejected Item MSC captures the Cashier’s response when an Item is not found:

– either reject the item or

– enter the human readable item ID

Service Elicitation System Architecture DefinitionRich Services Architecture

Rejected Item

Page 35: A Rich Services Approach to CoCoME

Cash Desk - Managed AddItem

Interaction elements can

have deadlines

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 36: A Rich Services Approach to CoCoME

Cash Desk – Failure Management

• If the Store inventory does not recognize the item in 10 ms, the CD-Failure Management will send an “Item Not Found” message on Store Inventory’s behalf.

• DET operator: Failure Manager

AddItem FM MSC

• DET operator: Failure Manager monitors the interaction specified as the first operand. If the time condition is not met, the second operand interaction is activated.

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 37: A Rich Services Approach to CoCoME

Logging Rich Infrastructure Service

• Requirement: Each Sale must be logged before sending to Inventory for update.

• The Rich Infrastructure Service “Logging” intercepts every

System

Cache

Sale

System

<<Interceptor>> Logging

“Logging” intercepts every message sent by Sale System to System Cache to log the message.

• System Cache will periodically send its contents to Store Inventory if not empty.

*

Log *

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 38: A Rich Services Approach to CoCoME

Enterprise Rich ServiceService/Data

Connector

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 39: A Rich Services Approach to CoCoME

Enterprise - Product Exchange

Product Exchange MSC

Internal

computation

Store RS exports the

roles Requesting

Store, Nearby Store,

and Providing Store

computation

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 40: A Rich Services Approach to CoCoME

Enterprise - Product Exchange

ALT

DispatcherNearby

Store *

Enterprise

Repository

requestFlush

Confirm Time <= 15min

Bind Nearby Stores

Arrange Exchange MSCUpdate Repository MSC

The asterisk (‘*’) notation =

The axis represents all components that implement this role

confirmFlush(store)

update

Confirm Time

storeUnavailable(store)

Service Elicitation System Architecture DefinitionRich Services Architecture

Page 41: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 42: A Rich Services Approach to CoCoME

CashDesk

Hierarchical Deployment of Trading System

CashierLight Printer Card Barcode Cashbox System Sale System

Logging CashDesk Failure ManagementEncryption

Cash desk PC Other entities

CashierLight

Display

Printer Card

Reader

Barcode

Scanner

Cashbox System

Cache System

Service Elicitation Rich Services Architecture System Architecture Definition

Page 43: A Rich Services Approach to CoCoME

StoreS/ D Connector

Hierarchical Deployment of Trading System

Store Mgmt System

S/D

CashDesk

Logging Auditing Store Failure Management

System

Store Inventory

StoreManager

StockManager

S/D

S/D

S/D

CashierLight

Display

Printer Card

Reader

Barcode

Scanner

Cashbox System

Cache

Sale System

Logging CashDesk Failure ManagementEncryption

Service Elicitation Rich Services Architecture System Architecture Definition

Page 44: A Rich Services Approach to CoCoME

EnterpriseS/D Connector

Enterprise Failure ManagementS/D

QoS MonitorS/D

Hierarchical Deployment of Trading System

Enterprise Management

System

S/D

StoreS/D Connector

Logging Auditing Store Failure Management

Router / Interceptor and Messenger / Communicator

Dispatcher

S/D

Enterprise

Repository

S/D

Enterprise

Manager

S/D

Store Mgmt

System

S /D

Store

Inventory

S /D

Store

Manager

S /D

Stock

Manager

S /D

Logging Auditing Store Failure Management

CashDesk

CashierLight

Display

Printer Card

Reader

Barcode

Scanner

Cashbox System

Cache

Sale System

Logging CashDesk Failure ManagementEncryption

Service Elicitation Rich Services Architecture System Architecture Definition

Page 45: A Rich Services Approach to CoCoME

EnterpriseS/D Connector

S/D Connector

Router / Interceptor and Messenger / Communicator

S/D

Enterprise Failure ManagementS/D

QoS MonitorS/D

Hierarchical Deployment of Trading System

EncryptionS/D Connector

Router / Interceptor

Messenger / Communicator

Logical link

Recovered link

S/D Connector

Customer

S/D Connector

Store

CashDesk

S/D ConnectorEnterprise

Management System

S/D

CahsierLight

Display

Printer Card

Reader

Barcode

Scanner

Cashbox System

Cache

Sale System

Store Mgmt

System

S/D

Store

Inventory

S/D

Store

Manager

S/D

Stock

Manager

S/D

Dispatcher

S/D

Enterprise

Repository

S/D

Enterprise

Manager

S/D

Logging Auditing Store Failure Management

Logging CashDesk Failure ManagementEncryption

Bank

S/D Connector

Supplier

S/D Connector

Courier

Service Elicitation Rich Services Architecture System Architecture Definition

Page 46: A Rich Services Approach to CoCoME

MULE as deployment system

•MULE Enterprise Service Bus–Relatively new technology with great potential

–Ad-Hoc development process, needs new SOA perspective

–Rich Services are a perfect match

Web Portal

BPELWeb

ServicesJ2EE/EJB/

ServletSAP

IBM AS400

JBI (JSR-208)

Security –Authentication and Authorization

MULE BackboneEnd-to-End Data Transformation

File/FTP/SFTP

JMS, MQ Series,

ORACLE AQ

TCP, MCAST,

SSL

Caching (Distrib.)

Frameworks(Spring)

GRID,JavaSpace

E-CommEmail, IM

Service Elicitation Rich Services Architecture System Architecture Definition

Page 47: A Rich Services Approach to CoCoME

ata

or

Deployment of Rich Services using MULE

Service Connector

Adapter

Mule Router

Encryption

Interceptor

Logging

Interceptor

Sanitizer

Router

Mule (Router/Interceptor)

It is then possible to add data transformation

(via transformer objects), and have UMOs

participate in interactions with other

Routers allow the Mule framework to receive messages

from one channel and re-publish them according to

arbitrary routing rules. The Service/Data Connector can

be implemented by having a router listen and publish

relevant messages on an external channel

Serv

ice

/ Da

Co

nne

c to

Mule UMO Component

Mule Transformers

Message

Receivers

Connector

Dispatcher <<Rich Service>>

Service/Data

Connector

Web service

WSDL

SOAP

Mule Transport (Messenger)

Support: Jms, SOAP, Http, etc...

Mule (Router/Interceptor)

Service Elicitation Rich Services Architecture System Architecture Definition

A basic service is deployed as a

Mule Universal Message Object (UMO) to

decouple the computation from delivery and

transport.

UMO is responsible for managing the

interaction of events to and from the

component

participate in interactions with other

components. Transformers are used to

convert inbound data to an object type

required by the UMO Component or outbound

to an object type required by the transport

such as a JmsMessage.

Page 48: A Rich Services Approach to CoCoME

Flat Deployment of Trading System

Router / Interceptor

Messenger / Communicator

Enterprise server

Store server

Cash desk PC

Store client

Enterprise client

Other entities

S/D

Enterprise Failure ManagementS/ D

QoS MonitorS/D

EncryptionS/ D

Logging

Auditing

Store Failure ManagementQoS Monitor

EncryptionLogging

CashDesk Failure Management QoS Monitor

Encryption

Cashbox

Casier

System

Cache

Sale System

Light

Display

Printer

Card

Reader

Barcode

Scanner

Customer

Courier

Bank

Supplier

Store Mgmt System

S/D

StockManager

S/D

Store Inventory

S/D

StoreManager

S/D

Enterprise Repository

S/D

Dispatcher

S/D

Enterprise Management

System

S/D

EnterpriseManager

S/D

Service Elicitation Rich Services Architecture System Architecture Definition

Page 49: A Rich Services Approach to CoCoME

Outline

• Team Introduction

• State of the Art and Challenges of SOA Integration

• Our methodology

– Rich Services

– Development process

– Message Sequence Charts

• Modeling the CoCoME

– Modeling of the static view

– Modeling of the behavioral view

– Deployment Strategies for Rich Services using ESB Technology

• Summary, Experiences, and Outlook

Page 50: A Rich Services Approach to CoCoME

Summary

• Rich services

– THE integration piece of the SOA puzzle

– Flexible handling of horizontal & vertical integration concerns

– Address cross-cutting concerns, including failure management

– Useful as logical and deployment architecture model

– Immediate mapping to wide variety of deployment architectures, including ESB

• Service-orientation & workflows go well together

– Workflows become service choreographies

– Resource location independence

Rich Services provide a flexible and comprehensive architectural framework that reconcile the notion of hierarchy with the service notion!

Page 51: A Rich Services Approach to CoCoME

Experiences and Lessons Learned from CoCoME

• Decomposition

– Decomposing a system based on a concern influences the whole system architecture, and has inevitable consequences.

– tyranny of the dominant decomposition

– One should study such impacts before making the decision.

• Deployment

– Flattened versus hierarchical deployments

– Advantages of using an ESB based deployment

– Built in services and intercepting mechanisms

– One-to-one mapping between the architecture and deployment

– Greatly increases code reuse

Page 52: A Rich Services Approach to CoCoME

Experiences and Lessons Learned from CoCoME

• Crosscutting Concerns

– Rich Services allow addressing the crosscutting concerns in a centralized way.

– we can easily deal with policies imposed at different business tiers.

– Intercepting capability of Rich Infrastructure Services

– Routing capabilities

– enables the definition of routing policies and interceptors without – enables the definition of routing policies and interceptors without changing existing services

Page 53: A Rich Services Approach to CoCoME

Experiences and Lessons Learned from CoCoME

• CoCoME was a very good case study for Rich Services

– A good match to Rich Services hierarchy and support for policies

– It validated our ideas on crosscutting concerns

– We improved our development process for the transition from services to Rich Services

– We improved our notations for Service/Data Connectors,

– as we had many imported/exported roles in CoCoME

– We found out that Application Services can also define routing schemes– We found out that Application Services can also define routing schemes

– In the Product Exchange Use Case, the Enterprise’s Dispatcher dynamically binds Providing Stores to actual stores

We thank the organizers for the selection of the case study!

Page 54: A Rich Services Approach to CoCoME

Outlook for Rich Services

• We support deadline constraints for interactions

– Supporting more QoS properties and error-recovery behaviors when constraints are not met

• We have built a tool chain to support a traditional service-oriented software development process

– Leveraging these tools and support ESBs in the context of Rich Services

– the integration of dedicated refactoring techniques to simplify the integration of legacy systems into the Rich Services framework

– UML Profile for Rich Services (ADL)

Page 55: A Rich Services Approach to CoCoME

The End

Thank you !Thank you !

Page 56: A Rich Services Approach to CoCoME

Services – Workflow Management

• Service-orientation and workflows

– Good match: every service can become an action/step within a workflow

– Resource location no longer matters

– Web service base technologies (publishing, lookup, binding, transport, …) well understood

• Areas of opportunity• Areas of opportunity

– System-of-systems integration

– Handling of cross-cutting concerns, especially: policies, governance, QoS, failure management

– Service- and workflow hierarchies

– How to elicit and define workflows?

Page 57: A Rich Services Approach to CoCoME

Trading System – Data Domain Model

Time

Order

*

*

Report

Running Total

Sale Log

1

1

1

*Statistics

1

*

Cost of transportation

Shipment

*

*

Inventory

Description

Price

Identifier

Product

Quantity

Unavailable

Incoming

Stock

* *

Providing Stores

Query

*

*

Receipt

Page 58: A Rich Services Approach to CoCoME

Trading system MSCs

JOIN

LOOP <*>

ALT

Normal SaleLOOP <*>

Customer Cashier

Arrive

Arrive

Product

Light

Display

Black

Main MSC Normal Sale MSC

Express Sale

LOOP <*>

Card Validation

LOOP <*>

Receive Order

ALT

Bar Payment

Card Payment

Receipt

Leave

Product

Page 59: A Rich Services Approach to CoCoME

Trading system

Card Validation MSC Encryption MSCs

Page 60: A Rich Services Approach to CoCoME

Store – Product Exchange

Page 61: A Rich Services Approach to CoCoME

Enterprise - Main MSC

PAR

LOOP <*>

Main MSC

LOOP <*>

Delivery Report

Product Exchange