21
ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems November 15, 2006

ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

Embed Size (px)

Citation preview

Page 1: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

ERP Course: Enterprise Application IntegrationReadings: Chapter 3 from Gustavo Alonso et al

Peter Dologdolog [at] cs [dot] aau [dot] dkE2-201Information SystemsNovember 15, 2006

Page 2: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

2Peter Dolog, ERP Course, EAI

quotationsupplier andcustomer mgmt

order processing procurement shipment

management financial

Copyright Springer Verlag Berlin Heidelberg 2004

IS/ERP IS/ERP IS/ERP IS/ERP IS/ERP

Page 3: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

3Peter Dolog, ERP Course, EAI

Historical Perspective

presentation layer

resource management

layer

application logic layer

client

info

rmat i

on

syste

m

1. define access channelsand client platforms

2. define presentation formats and protocols forthe selected clients andprotocols

3. define the functionalitynecessary to deliver thecontents and formats neededat the presentation layer

4. define the data sourcesand data organization neededto implement the applicationlogic

top-down design

Copyright Springer Verlag Berlin Heidelberg 2004

Page 4: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

4Peter Dolog, ERP Course, EAI

clientpresentatio

n layer

resource management

layer

application logic layer

info

rmat i

on

syste

m

3-tier architecture

middleware

Copyright Springer Verlag Berlin Heidelberg 2004

Page 5: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

5Peter Dolog, ERP Course, EAI

client

resource management

layer

application logic layer

info

rmat i

on

syste

m

N-tier architecture

middleware

presentationlayer

Web server

Web browser

HTML filter

Copyright Springer Verlag Berlin Heidelberg 2004

Page 6: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

6Peter Dolog, ERP Course, EAI

request

response

invokingexecution thread

invokedexecution thread

blo

ckin

g

peri

od

Copyright Springer Verlag Berlin Heidelberg 2004

Blocking/Synchronous Communication

Page 7: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

7Peter Dolog, ERP Course, EAI

Nonblocking/Asynchronous Communication

put

put

invokingexecution thread

invokedexecution thread

queue

fetch

fetch

queue

thre

ad

rem

ain

sacti

ve

Copyright Springer Verlag Berlin Heidelberg 2004

Page 8: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

8Peter Dolog, ERP Course, EAI

RPC Abstraction

Remote Procedure Call

sockets

TCP, UDP

Internet Protocol (IP)

Remote Procedure Call: hides communication details behinda procedure call and helps bridge heterogeneous platformssockets: operating system level interface to theunderlying communication protocolsTCP, UDP:User Datagram Protocol (UDP) transports data packets without guaranteesTransmission Control Protocol (TCP)verifies correct delivery of data streams

Internet Protocol (IP):moves a packet of data from one node to another

Copyright Springer Verlag Berlin Heidelberg 2004

Page 9: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

9Peter Dolog, ERP Course, EAI

RPC

communicationmodule

client

procedure call

client stubbindmarshalserializesend

client proces

s

communicationmodule

server

procedure

server stub

unmarshaldeserializereceive

server process

dispatcher(selectstub)

Copyright Springer Verlag Berlin Heidelberg 2004

Page 10: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

10Peter Dolog, ERP Course, EAI

client 1. BOT 4. procedure call 10. EOT

client stub 2.register txn & create context 5.add txn id & context to call 11.request commit

14.confirm termination

client process server

9. procedure

server stub6. extract context and txn id7. register server for txn13. participate in 2PC

server process

transaction manager

3. create txn idregister txnregister client for txnreturn txn id

8. lookup txn idregister server for txn

12. lookup txn idrun 2PCnotify client of outcome

Copyright Springer Verlag Berlin Heidelberg 2004

Page 11: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

11Peter Dolog, ERP Course, EAI

Other Middleware

Object brokersObject monitorsMessage-oriented middlewareMessage brokers

Page 12: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

12Peter Dolog, ERP Course, EAI

external application

external application

Input queue

Input queue

Output queue

Output queue

Reliablequeuingsystem

RequestQuote

SupportQuote

Copyright Gustavo Alonso, ETH

Page 13: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

13Peter Dolog, ERP Course, EAI

dispatcherinventory manage

mentERP

shipping

message-oriented middleware

month-end

closing

new PO

new PO

new PO

new PO

Copyright Springer Verlag Berlin Heidelberg 2004

Page 14: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

14Peter Dolog, ERP Course, EAI

message broker core

sender receiver

message broker

with message brokers, custom message routing logic can be defined at the message broker level or at the queue level

in basic MOM it is the sender who specifies the identity of the receivers

Copyright Springer Verlag Berlin Heidelberg 2004

Page 15: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

15Peter Dolog, ERP Course, EAI

dispatcher(publisher)

inventory manage

ment(subscrib

er)

ERP(subscrib

er)

shipping(subscri

ber)

message broker

month-end

closing(subscri

ber)new PO

new PO

new PO

new PO

new PO

Copyright Springer Verlag Berlin Heidelberg 2004

Page 16: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

16Peter Dolog, ERP Course, EAI

admin

message broker MB-A

message broker MB-B

client

client

admin

client

client

admin

message broker MB-C

client

client

administrative domain A

administrative domain B

administrative domain C

Copyright Springer Verlag Berlin Heidelberg 2004

Page 17: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

17Peter Dolog, ERP Course, EAI

DBMS applications

message broker

SmartQuotationadapter

e-mailadapter

databaseadapter

SmartQuotation

SmartForecastingadapter

SmartForecasting

XYZadapter

XYZ

integrating application (contains the composition

logic)

Copyright Springer Verlag Berlin Heidelberg 2004

Page 18: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

18Peter Dolog, ERP Course, EAI

message broker

SmartQuotationadapter

SmartQuotation

SmartForecastingadapter

SmartForecasting

RFQ processing

1A 6

B C 72 4

3

5

8

at systems startup time (can occur in any order, but all must occur before RFQs are executed)

A: subscription to message quote

B: subscription to message quoteRequest

C: subscription to message newQuote

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 quote message

5: delivery of message quote

6: publication of a newQuote message

7: delivery of message newQuote

8: invocation of the createForecastEntry procedure

Copyright Springer Verlag Berlin Heidelberg 2004

Page 19: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

19Peter Dolog, ERP Course, EAI

check if offered product

check if worth proceeding

get quote from quotation system

get quote from supplier

enter quotein forecasting system

send quote to customer

ContractExists=true

ContractExists=false

Offered=true

Offered=false

GoAhead=true

update quotation system

variables: QuoteReferenceNumber: int Customer: String Item: String Quantity: int RequestedDeliveryDate: Date DeliveryAddress: String GoAhead: Bool ContractExists: Bool Offered: Bool

else

Copyright Springer Verlag Berlin Heidelberg 2004

Page 20: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

20Peter Dolog, ERP Course, EAI

workflow engine

resource broker

completed work items

inbound queue

resource 1

resource 2

resource n

1

2

4 53

workflow definitionsoutbound queues

workflow designer

Copyright Springer Verlag Berlin Heidelberg 2004

Page 21: ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

21Peter Dolog, ERP Course, EAI

Copyright Gustavo Alonso, ETH