• No results found

A Rich Services Approach to CoCoME

N/A
N/A
Protected

Academic year: 2021

Share "A Rich Services Approach to CoCoME"

Copied!
61
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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.

(3)

Team Introduction

Max

Vina

Emilia

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

ic e /D a ta n n e c to r

Rich Services: Scalable Service Integration

From tightly to

l o o s e l y coupled

systems

Communication infrastructure Application functionalities Infrastructure functionalities S e rv i C o n S e rv ic e /D a ta C o n n e c to r

a hierarchically decomposed structure supporting

“horizontal” and “vertical” service integration

Both a structural and behavioral interface

(11)

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

(12)

S e rv ic e E lic it a ti on A r c h it e c tu re

Rich Services – Development Process

Rich Services RAS4 CC1 CC2 CC3 Router/Interceptor CC1 CC4 CC5 RIS: RIS : Services Service S1 Roles U1 U2 U3 U4 U5

Use Case Graph

Concerns C1 C2 C3 C4 CC1 CC2 CC3 Domain Model R1 R2 R3 R4 R5 R6 R1 R2 msg R3 CC1 CC2

Role Domain Model

R1 R2 R3 R4 R5 R6 A n a ly s is Id e n tif ic a tio n D e fin iti on C o ns o lid a ti o n Hierarchic composition

Refinement Logical Architecture Loop

R ic h S e rv ic e A S y s te m A rc h it e c tu re D e fi n it io n Router/Interceptor Messenger/Communicator RAS1 RAS2 Router/ Interceptor Messenger/ Communicator RAS5 RAS6 RAS3 S / D S / D RAS7

Rich Services Virtual Network System of Systems Topology

H1 H2 H3 H5 H6 H7 H8 H9 H4

RAS1 RAS2 RAS3

RAS5 RAS6 RAS7

Infrastructure Mapping H1:RAS1 H2:RAS2 H3:CC1 H5:RAS2 H6:RAS5 H7:RAS7 H8:RAS7 H9:RAS6 H4:RAS3 O p tim iz a tio n Implementation RAS1 RAS2 RAS3 RAS4 RAS5 RAS6 RAS7 CC1 CC2 CC3 CC4 CC5 A n a ly s is S y n th es is Refinement Logical Model Deployment Loop

(13)

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

(14)

Service

Role

Interaction Element

Compound

Operand * Atom Channel

*

* Deadline

Message Sequence Chart Service Model

Operators State Event Reference Message

* * * Receive Event Send Event Hierarchy, Composition

(15)

Service

Role

Interaction Element

Compound

Operand * Atom Channel

*

* Deadline

Message Sequence Chart Service Model

QoS properties

Operators State Event Reference Message

* * * Receive Event Send Event Interactions (Messages) Loop, Alt, Seq,

(16)

Example MSCs

Role State Message

(17)

Example MSCs

Loop

(18)

Example HMSC

JOIN LOOP <*> ALT Express Sale Normal Sale Join Synchronization Unbounded Loop Alternative Express Sale LOOP <*> Card Validation LOOP <*> Receive Order

(19)

Mitigation

Strategy Detection Strategy

Managed Service Deadline

Interaction Based Detection Strategy Mitigator * applies Fault Detector detects Failure Effect Failure * activates

Service Model for Failure Management

Detection Strategy can be based on Interactions or State Machines.

Service Unmanaged Service Interaction Element * fails * *

A Managed Service wraps another service, adding

failure management mechanisms to it.

Failure Effect: Missed Deadline, …

(20)

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

(21)

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

(22)

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

(23)

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

(24)

CoCoME – Domain Model

Rich Services Architecture System Architecture Definition

(25)

Trading System Rich Service

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

encrypting messages from the Bank to the Enterprise

S e rv ic e /D a ta C o n n e c to r

Service Elicitation Rich Services Architecture System Architecture Definition

Composite Rich Service

(26)

Enterprise Rich Service

Monitors deadlines of

interactions patterns

Detects when a Store does not respond in time and announces the Dispatcher

Service Elicitation Rich Services Architecture System Architecture Definition

S e rvi ce /D a ta C o n n e ct o r Composite Rich Service

(27)

Store Rich Service

ta r

Service Elicitation Rich Services Architecture System Architecture Definition

S e rvi ce /D a t C o n n e ct o r Composite Rich Service

(28)

Cash Desk Rich Service

<<Rich Service>> Cash Desk Logging Service/Data Connector CD Failure Management Service/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 Rich Services Architecture System Architecture Definition

Messenger Router/Interceptor S e rv ic e /D a ta C o n n e c to r 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

(29)

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

(30)

Cash Desk Rich Service

Behavioral View Messenger Router/Interceptor <<Rich Service>> Cash Desk Logging Service/Data Connector CD Failure Management Service/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 Rich Services Architecture System Architecture Definition

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)

(31)

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 Rich Services Architecture System Architecture Definition

Card Payment Update Cached Sales

Connector: (Imports: Customer, Bank

Exports: Cashier, Card Reader, Light Display MSCs: INormalSale, IExpressSale)

(32)

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

(33)

Cash Desk - Normal Sale

(34)

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 Rich Services Architecture System Architecture Definition Rejected Item

(35)

Cash Desk - Managed AddItem

Interaction elements can have deadlines

(36)

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.

(37)

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 *

(38)

Enterprise Rich Service

S e rvi ce /D a ta C o n n e ct o r

(39)

Enterprise - Product Exchange

Product Exchange MSC

Internal computation

Store RS exports the roles Requesting Store, Nearby Store,

and Providing Store

computation

(40)

Enterprise - Product Exchange

ALT Dispatcher Nearby Store * Enterprise Repository requestFlush

Confirm Time <= 15min

Bind Nearby Stores

Arrange Exchange MSC Update Repository MSC

The asterisk (‘*’) notation =

The axis represents all components that implement this role

confirmFlush(store) update

Confirm Time

storeUnavailable(store)

(41)

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

(42)

CashDesk

Hierarchical Deployment of Trading System

Cashier

Light Printer Card Barcode Cashbox System Sale

System Logging Encryption CashDesk Failure Management

Cash desk PC Other entities

Cashier Light Display Printer Card Reader Barcode Scanner Cashbox System Cache System

(43)

Store

S/ D Connector

Hierarchical Deployment of Trading System

Store Mgmt System

S/ D CashDesk

Logging Auditing Store Failure Management

System Store Inventory Store Manager Stock Manager S/ D S/ D S/ D Cashier Light Display Printer Card Reader Barcode Scanner Cashbox System Cache Sale System

Logging Encryption CashDesk Failure Management

(44)

Enterprise

S/ D Connector

Enterprise Failure Management

S/ D

QoS Monitor

S/ D

Hierarchical Deployment of Trading System

Enterprise Management System S/ D Store S/ 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 Cashier Light Display Printer Card Reader Barcode Scanner Cashbox System Cache Sale System Logging Encryption CashDesk Failure Management

(45)

Enterprise S/D Connector

S/D Connector

Router / Interceptor and Messenger / Communicator

S/D

Enterprise Failure Management

S/D

QoS Monitor

S/D

Hierarchical Deployment of Trading System

Encryption S/D Connector Router / Interceptor Messenger / Communicator Logical link Recovered link S/D Connector Customer S/D Connector Store CashDesk S/D Connector Enterprise Management System S/D Cahsier Light 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 Encryption CashDesk Failure Management

Bank

S/D Connector

Supplier

S/D Connector

Courier

(46)

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 BPEL Web Services J2EE/EJB/ Servlet SAP IBM AS400 JBI (JSR-208)

Security –Authentication and Authorization

MULE Backbone

End-to-End Data Transformation

File/FTP/ SFTP JMS, MQ Series, ORACLE AQ TCP, MCAST, SSL Caching (Distrib.) Frameworks (Spring) GRID, JavaSpace E-Comm Email, IM

(47)

a

ta

o

r

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

S e rv ic e /Da C o n n e cto

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.

(48)

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 Management

S/ D QoS Monitor S/D Encryption S/ D Logging Auditing

Store Failure Management QoS Monitor

Encryption Logging

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 Stock Manager S/D Store Inventory S/D Store Manager S/D Enterprise Repository S/D Dispatcher S/D Enterprise Management System S/D Enterprise Manager S/D

(49)

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

(50)

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!

(51)

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

(52)

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

(53)

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

(54)

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

(55)

The End

Thank you !

Thank you !

(56)

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

(57)

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

(58)

Trading system MSCs

JOIN LOOP <*> ALT Normal Sale LOOP <*> 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

(59)

Trading system

(60)
(61)

Enterprise - Main MSC

PAR LOOP <*> Main MSC LOOP <*> Delivery Report Product Exchange

References

Related documents

Any scenario which extends the existing helicopter’s service (and therefore revenue-generating) life, and which helps prevent new competitor products penetrating the market can

The functionally relevant, non-kissing tRNA sequences selected to bind AM1A (Group II) had binding affinities and sequence specificity rivaling that seen in the wild-type tRNA

Your HOOVER ‘FloorMate’ Cleaner may be used to clean wood floors that have been sealed with a polyurethane coating and can be cleaned with water.. CAUTION: To prevent damage to

¿Se siente fácilmente herido cuando la gente encuentra defectos en usted o en su

Adding to the evidence for a unitary focus of attention, Treisman, Kahneman and Burkell (1983) found that when attention was divided between two spatial areas, performance was

4 shows the mean thermal sensation votes (mTSV) and mean PMV (mPMV) in waiting hall of high-speed railway station against operative temperatures.. The results show a high

To this end, the rolling unit assessment has been designed around the implementation of a live research project, driven by students, within 12 weeks of semester 2 focusing on

For the baseline scenario, this yielded global warming median temperature changes of between 3.9 1C and 6.7 1C over pre-industrial levels with a median value of 5.0 1C 21 when using