Upload
frederick-britton-phelps
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
ERP Course: Enterprise Application IntegrationReadings: Chapter 3 from Gustavo Alonso et al
Peter Dologdolog [at] cs [dot] aau [dot] dkE2-201Information SystemsNovember 15, 2006
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
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
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
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
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
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
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
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
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
11Peter Dolog, ERP Course, EAI
Other Middleware
Object brokersObject monitorsMessage-oriented middlewareMessage brokers
12Peter Dolog, ERP Course, EAI
external application
external application
Input queue
Input queue
Output queue
Output queue
Reliablequeuingsystem
RequestQuote
SupportQuote
Copyright Gustavo Alonso, ETH
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
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
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
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
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
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
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
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
21Peter Dolog, ERP Course, EAI
Copyright Gustavo Alonso, ETH