Top Banner
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
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.

Jan 18, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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