service integration architectures an introduction to process integration, service integration, and...

49
Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Upload: dale-waters

Post on 25-Dec-2015

243 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Service Integration ArchitecturesAn Introduction to Process Integration, Service Integration, and Mashup Integration

Page 2: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Interaction styles…

2

dispatcherdispatcherinventory

management

ERP shipping

new PO

new PO

new PO

new PO

month-end closing

new PO

Page 3: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

3Copyright Springer Verlag Berlin Heidelberg 2004

dispatcher(publisher)dispatcher(publisher)

inventory manageme

nt(subscriber)

ERP(subscriber

)

shipping(subscriber

)

message broker

new PO

new PO

new PO

new PO

month-end closing

(subscriber)new PO

Page 4: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

• Before messages are exchanged:

• A: subscription to message newQuote

• B: subscription to message quoteRequest

• C: subscription to message newQuote (may be indep of subscription A)

• at run time: processing of a request for quote.

• 1: publication of a quoteRequest message

• 2: delivery of message quoteRequest

• 3: synchronous invocation of the getQuote function

• 4: publication of a newQuote message

• 5: delivery of message newQuote

• 6: invocation of the createForecastEntry procedure

Copyright Springer Verlag Berlin Heidelberg 2003 4

message broker

SmartQuotationadapter

SmartQuotation

SmartForecastingadapter

SmartForecasting

RFQ processing

1AA

BB CC2 4

3

5

5

6

Page 5: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

And, many other benefits…

• Asynchronous• Guaranteed delivery• Transactional• Monitoring, logging

5

Page 6: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

6Copyright Springer Verlag Berlin Heidelberg 2004

dispatcher(publisher)dispatcher(publisher)

inventory manageme

nt(subscriber)

ERP(subscriber

)

shipping(subscriber

)

Service Bus

SOAP JMS new PO

SMTP

month-end closing

(subscriber)REST ?

Page 7: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

7

DBMS applications

message bus

SmartQuotationadapter

e-mailadapter

databaseadapter

SmartQuotation

SmartForecastingadapter

SmartForecasting

XYZadapter

XYZ

Composition

Copyright Springer Verlag Berlin Heidelberg 2004

Page 8: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Integration at the application and UI level

• BPM/workflows• Service composition• Mashups• Universal Integration• Lifecycle management

8

Page 9: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Dimensions

9

Page 10: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

10

Business Processes, BPM, Workflows

• Business process: a set of steps executed to achieve a business goal

• BPM: refers to automation, monitoring, improvement of BP• Workflow: formal description of a process, suitable for automated

execution

Page 11: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

11

Business Process Automation via Workflow Technology

• Business processes are at the heart of what companies do• Obvious goal: better/cheaper/faster processes

• How? Automation!! (1990s)• Rise of workflow technology

DBMS applications

sendmail applicatio

n

Online account access

SAP accounting system

XYZ

Automate business logic, information flow

Page 12: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

12

Elements of Workflow Models

DBMS applications

sendmail applicatio

n

Online account access

SAP accounting system

XYZ

Automate business logic, information flow

• Workflow modeling framework and tool• Information modeling framework and tool• Organization modeling framework and tool• A workflow engine

Page 13: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

13

inStock=trueinStock=false

invoke checkLocalStock

invoke checkShipAvailable

send confirmOrder

Do nothing

EXTERNAL SUPPLIER ACCESSED

LOCAL SYSTEM ACCESSED

READY TO SEND CONFIRMATION

COMPLETE (CONFIRM)

START (upon invocation of orderGoods operation)

shippingAvail=false

send cancelOrdershippingAvail=tru

e

Do nothing

COMPLETE (CANCEL)

copyright Springer-Verlag, 2004

Petri nets

both states (places) and activities (transitions)

Page 14: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

14

Data and data access model

• Blackboard vs data flow• “traditional” vs web services-

typed• Xml, WSDL messages

A

B

C

quantityquantity

priceD

Page 15: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Organization model

Sales exec 1Sales exec 1 Sales exec 15Sales exec 15

Sales - EMEASales - EMEA Sales - APSales - AP

SalesSales

S&MS&MHRHR FinanceFinance

CorporateCorporate

……

……

……

Sales exec nSales exec n

Page 16: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Organization model - 2

Sales exec 1Sales exec 1 Sales exec 15Sales exec 15

DesktopDesktop LaptopsLaptops

ConsumerConsumer

SalesSales

EnterpriseEnterprise

ServicesServices

Sales exec nSales exec n Sales exec zSales exec z

Page 17: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

17

Workflow system architecture

workflow

engine

development tools

Workflow model repository

execution logsanalytics engine

SAP adapter

Workflow model, + possibly org model (or go to enterprise directories)

SAP

Email adapter

Email app

Custom adapter

Account mgmt

Page 18: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

18Copyright Springer Verlag Berlin Heidelberg 2003

workflow engine

resource broker

completed work items

inbound queue

resource 1

resource 2

resource n

1

2

4 53

workflow definitionsoutbound queues

workflow designer

Page 19: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

19

Many Benefits (in theory….)• Reduced need for human labor

• No repeated data entry• cheaper

• Faster processing• Information flows automatically, 24x7x365

• More reliable• No case left behind

• Paperless and secure

Page 20: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

20

The Two Sides of Business Process Management

• Execution/Automation• WF, megaprogramming• Flexibility

• Management• Visibility, Monitoring• Analysis, Optimization• Modeling, Re-engineering

• You can have one without the other (and in many cases, you should)

Page 21: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

21

Business Process

(Enterprise) Application Integration

WAS.net

CICS

SOAP

RMI/IIOP

MQSeries

MQSeries

Delivery channels

Legacy integration

Workflow is not the only integration technology

Page 22: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

22

Business Process

Service composition

WAS.net

CICS

Web serviceLegacy integration

WS-BPEL defines a model and a grammar for describing the behavior of a business process based on interactions between the process and its partners. The interaction occurs through Web Service interfaces.

Web service Web service

Web service

Page 23: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

23

Workflow system architecture

workflow

engine

development tools

Workflow model repository

execution logsanalytics engine

SAP adapter

Workflow model, + possibly org model (or go to enterprise directories)

SAP

Email adapter

Email app

Custom adapter

Account mgmt

Page 24: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

24

Elements of WS composition middleware

composition engine

development tools

Process model repository

Process execution logs

analytics engine

Web service

Web service

Web service

Web service

Web service

Company B

Company C

Company D

Company A

Service composition language (up to now, no org modeling)

Page 25: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Dimensions

25

Page 26: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Mashups26

Page 27: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Mashups: an example application• The HousingMaps example

• Application: http://www.housingmaps.com• Development concerns

• Data extraction: apartment offers are extracted from the Craigslist

• Data passing: extracted data must be communicated to Google Maps

• New layout: the apartment listing and the composite application need a new respectively own layout

• Problems• Development by hand: hacking of the Craigslist,

programming of the Google Maps AJAX API>> hard and time consuming task!

27

Page 28: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

UI integration: research challenges

• Assist mashup development!• Identify a good component model

• Characterize relevant properties of UI components• Componentize UI + descriptors

• Derive an appropriate composition model• Synchronize components• Handle data passing

• Enabling even web users to do UI integration• Provide for hosted development and execution

28

Page 29: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

An UI Component model

• The Mixup UI component model• State

• internal state depends on visible UI• Events

• notify other components of internal state changes;• high-level, UI-centric semantics.

• Operations• allow the querying and modification of the internal state;• again: high-level, UI-centric semantics.

• Properties• may be used as design-time configuration parameters;• or as runtime state indicators.

• Presentation modes• Express visualization (visible, hidden, minimized,…) or life cycle

information (instatiated, ready, busy,…)

29

Page 30: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

The Mixup editor for UI integration

List of application components

available for the mashup. Additional

components may easily be loaded into the editor by

referencing the respective online

resource.Graphical model of the composition logic.

Mahup logic modeling canvas.

Tabs that allow the designer to switch between different

views (e.g. composition logic vs. layout) on the composite

application under development.

The mashup application running in a standard web browser

Deployment

30

Page 31: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Let’s build and expose our first mashup, in 2 minutes

(but…. Is it a mashup???)

Page 32: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Dimensions

32

Page 33: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Universal Integration

33Component browser

UI componentService component

Composition canvas

Data flow connector

Events and operations

Page 34: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Goals and research challenges

• Creating a universal component model• Abstract common features of UI and services• Recognize differences wrt traditional service integration

• Identifying the key abstractions for a universal composition model that is simple but effective• Data flows• Stateful vs. stateless components• Components with and without UI

• Offering integration as a service• Hosted development and execution

34

Page 35: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Guiding principles

• Universality: UI, application logic, and data• Synchronization and orchestration: bring together UI

and application/service logic• User and programmatic input: UIs + APIs• Lightweight composition model: 2 pages spec, no

transaction, no exceptions/compensations• Complexity inside components• Extensibility and openness• Standard layout and graphics tools

35

Page 36: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

The mashArt component model

• State• UI components: given by the “state” of the user interface• Services: internal “program state” (e.g., of an order service)

• Events• Publish state changes (data formatted as name-value pairs)

• Operations• Change state of perform operation invocations

• Configuration properties• E.g., layout settings or authentication options• Constructor parameters

36

Page 37: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Dimensions

37

Page 38: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Lifecycle management

38

Page 39: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Projects involve managing people working on “artifacts” Deliverables, Papers, Proposals, complex artifacts Possibly disseminated: SVN, Mediawiki, Gdocs, etc.

How do we manage the evolution of these artifacts?

The motivating scenario

Work Plan39

Microsft Project! = only for planning

Page 40: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Another alternative: Workflow systems

(automation)

Drawbacks: Rigid, complex, For programmers Flow of actions

Adaptive workflows Flexible Still complex

The motivating scenario (2)

Work Plan40

Thus, people don’t usually model the evolution of these artifacts

Page 41: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

• A system for universal resource lifecycle management

• Designed to manage URI-identifiable artifacts• Decoupled from the artifacts it manages

Gelee meeting, Feb 17th, 2009 Work Plan41

Proposal: URLM

Page 42: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Example: Lifecycle of our SotA

Gelee meeting, Feb 17th, 2009 Work Plan42

Internal Review

+ Change access rights+ Notify reviewers

Internal Review

+ Change access rights+ Notify reviewers

Final Assembly

+ Generate PDF+ Change access rights

Final Assembly

+ Generate PDF+ Change access rights

EU Review

+ Change access rights+ Notify reviewers

Publication

+ Post on web site+ Change access rights

Publication

+ Post on web site+ Change access rights

Elaboration

+ label

Terminal nodes Phase Action Transition

Notation

Page 43: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Gelee meeting, Feb 17th, 2009 Work Plan43

Gelee Architecture

Page 44: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Trento Meeting, January 28, 2009

URLM: Universal Resource Lifecycle Management 44

Mockup

Page 45: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Dimensions

45

Page 46: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

SaaS and PaaS

• Software as a service refers to traditional, packaged SW applications offered… as a service• Now we talk about both web services and services on the

web• No deployment or mgmt cost for customers. Pay per use –

or varied business models.

• Platform as a service: infrastructural or development offered as a service

• How related? Enables a new approach to programming..

Page 47: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

And from here…

• Programming becomes simplified (in theory)• Domain experts become programmers. Mass

programming. Flexibility and ease of change.• Deployment must also be simplified. Deploy on the

cloud.• Programming as a service. Your code is not buried

into your PC or our local SVN. • Collaborative programming – and learning from

others. Exploit the power of the crowd.

Page 48: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

Evolution or Revolution?

• Technology is evolutionary• revolutionary aspects (dynamic service selection, Semantic

Web services) are only on paper for now

• Standardization, adoption pace, impact are revolutionary

• Real impact: the Web and composition awareness. Expose via API.

Page 49: Service Integration Architectures An Introduction to Process Integration, Service Integration, and Mashup Integration

49

References - composition

• Alonso at al: Web services – Concepts, Architectures, and Applications. Springer Verlag. 2004

• Curbera et al - Web Services Platform Architecture. Prentice Hall

• Leymann and roller: Production workflows. Prentice Hall

• Papazoglou: Web services – Principles and Technologies. Prentice-Hall