Electronic Commerce System - PowerPoint PPT Presentation

About This Presentation
Title:

Electronic Commerce System

Description:

Seleziona uno o pi cataloghi A3: ... Manipolano server object Agenti l architettura Object Broker Motivazioni Molti DataBase Legacy Necessit di Low Coupling ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 25
Provided by: Valen123
Category:

less

Transcript and Presenter's Notes

Title: Electronic Commerce System


1
Electronic Commerce System
  • Sistema per il Commercio Elettronico tipologia B2B

Montagna Roberto
2
Sommario
  • Il problema
  • Use case
  • Larchitettura software
  • Modello statico
  • Modello dinamico
  • Ristrutturazione modello dinamico
  • Deployment

3
Il Problema



testo
  • Commercio elettronico B2B
  • Più customer e supplier legati da contratti
  • Comunicazione tramite Internet
  • sistema basato su
  • Agenti software
  • Object broker (CORBA)

4
Il Problema Supplier


  • Presenta un catalogo
  • Accetta ordini
  • Mantiene informazioni sui propri customer

5
Il Problema Customer


  • Sfoglia cataloghi
  • Effettua ordini
  • Mantiene contratti con i propri supplier
  • Ha uno o più conti in Banca

6
Il Problema Flusso 1/3



Sfoglia catalogo
Effettua ordine
Valida ordine con contratto
Creazione ordine di consegna
Valida ordine con inventario
7
Il Problema Flusso 2/3



Invia la spedizione
Creazione fattura
Informa customer
Spedizione fattura
Arrivo spedizione
Conferma Arrivo
Update ordine
8
Il Problema Flusso 3/3



Conferma fattura
Effettua pagamento
9
Use Case Diagram



Browse Catalog
Process Delivery Order
Confirm Shipment
Place Requisition
Send Invoice
Confirm Delivery
10
Il Problema Flusso 1/3



Sfoglia catalogo
Browse Catalog
Effettua ordine
Valida ordine con contratto
Place Requisition
Creazione ordine di consegna
Valida ordine con inventario
Process Delivery Order
11
Il Problema Flusso 2/3



Invia la spedizione
Creazione fattura
Confirm Shipment
Send Invoice
Informa customer
Spedizione fattura
Arrivo spedizione
Conferma Arrivo
Update ordine
Confirm Delivery
12
Il Problema Flusso 3/3



Conferma fattura
Send Invoice
Effettua pagamento
13
Agenti Software


  • Incapsulano la logica dellapplicazione Business
    Rule
  • CLIENT CustomerAgent, SupplierAgent
  • Lavorano a nome dellutente
  • Assistono lutente nel lavoro
  • SERVER RequisitionAgent, DeliveryAgent ,
    InvoiceAgent
  • Soddisfano le richieste di altri agenti
  • Per fare ciò
  • Interagiscono con altri agenti server
  • Manipolano server object

14
Agenti larchitettura



Contract DB
Customer Agent
Requisition Agent
Operation Funds DB
Delivery Order Agent
Requisition DB
Catalog DB
Invoice Agent
Inventory DB
Delivery Order DB
Electronic Payment
Account Payable DB
Invoice DB
Supplier Agent
15
Object Broker


  • Motivazioni
  • Molti DataBase Legacy
  • Necessità di Low Coupling
  • (clienti, agenti, oggetti server)
  • Soluzione
  • Object Broker (CORBA)
  • Pregi
  • Facilita la localizzazione del Software (schema)

16
Static Modeling



1
1
1
1
1
1
1..
1
1
1
1
1
1
Maintained by
1..
1
1
1
ltltentitygtgt SelectedItem
1
1
0..1
1..
1
ltltentitygtgt Catalog
0..1
1..
1
1
ltltentitygtgt Inventory
ltltentitygtgt Supplier
1
1..
1
1
1..
17
Collaboration Diagram


  • Browse Catalog
  • Place Requisition
  • Process Delivery Order
  • Confirm Shipment
  • Confirm Delivery
  • Send Invoice

18
Consolidated Collaboration Diagram



ltltextern system interfacegtgt BankServer Interface
ltltdatabase wrappergtgt InventoryServer
ltltdatabase wrappergtgt InvoiceServer
ltltuser interfacegtgt Supplier Interface
Bank
ltltdatabase wrappergtgt AccountPayable Server
ltltbusiness logicgtgt aSupplier Agent
ltltbusiness logicgtgt anInvoice Agent
aSupplier
ltltdatabase wrappergtgt Operations FundsServer
ltltdatabase wrappergtgt ContractsServer
ltltdatabase wrappergtgt OrdersServer
ltltbusiness logicgtgt aDelivery OrderAgent
ltltdatabase wrappergtgt Requisition Server
ltltbusiness logicgtgt aRequisition Agent
ltltuser interfacegtgt Customer Interface
ltltbusiness logicgtgt aCustomer Agent
ltltdatabase wrappergtgt CatalogServer
aCustomer
19
Concurrent Collaboration Diagram


  • Browse Catalog
  • Place Requisition
  • Process Delivery Order
  • Confirm Shipment
  • Confirm Delivery
  • Send Invoice

20
Subsystem Collaboration Diagram



Bank Subsystem
Bank SubSystem
Customer Organization Subsystem
Supplier Organization Subsystem
ltltextern system interfacegtgt BankServer Interface
ltltdatabase wrappergtgt InventoryServer
ltltdatabase wrappergtgt InvoiceServer
ltltuser interfacegtgt Supplier Interface
ltltdatabase wrappergtgt AccountPayable Server
ltltbusiness logicgtgt aSupplier Agent
ltltbusiness logicgtgt anInvoice Agent
ltltdatabase wrappergtgt Operations FundsServer
ltltdatabase wrappergtgt ContractsServer
ltltdatabase wrappergtgt OrdersServer
ltltbusiness logicgtgt aDelivery OrderAgent
ltltbusiness logicgtgt aRequisition Agent
ltltdatabase wrappergtgt Requisition Server
ltltuser interfacegtgt Customer Interface
ltltbusiness logicgtgt aCustomer Agent
ltltdatabase wrappergtgt CatalogServer
21
Aggregazioni Subsystem Collaboration Diagram



Bank Subsystem
Bank SubSystem
Customer Organization Subsystem
Supplier Organization Subsystem
ltltextern system interfacegtgt BankServer Interface
ltltdatabase wrappergtgt InventoryServer
ltltdatabase wrappergtgt InvoiceServer
ltltuser interfacegtgt Supplier Interface
ltltdatabase wrappergtgt AccountPayable Server
ltltbusiness logicgtgt aSupplier Agent
ltltbusiness logicgtgt anInvoice Agent
ltltdatabase wrappergtgt Operations FundsServer
ltltdatabase wrappergtgt ContractsServer
ltltdatabase wrappergtgt OrdersServer
ltltbusiness logicgtgt aDelivery OrderAgent
ltltbusiness logicgtgt aRequisition Agent
ltltdatabase wrappergtgt Requisition Server
ltltuser interfacegtgt Customer Interface
ltltbusiness logicgtgt aCustomer Agent
ltltdatabase wrappergtgt CatalogServer
22
Subsystem Collaboration DiagramCompleto



Bank Subsystem
1 per Banca
1 per Customer Org.
1 per Supplier Org.
BankSubsystem
Customer Organization Subsystem
Supplier Organization SubSystem
ltltaggregate subsystemgtgt PaymentSubsystem
ltltserver subsystemgtgt InventorySubsystem
ltltaggregate subsystemgtgt ContractSubsystem
ltltcoordinator subsystemgtgt SupplierAgentSub.
ltltuser interface subsystemgtgt SupplierInterfaceSub.
ltltcoordinator subsystemgtgt CustomerAgentSub.
ltltserver subsystemgtgt OrderSubsystem
ltltuser interface subsystemgtgt CustomerInterfaceSub
.
ltltserver subsystemgtgt CatalogSubsystem
23
Subsystem Collaboration DiagramCardinalità



Bank Subsystem
1 per Banca
1 per Customer Org.
1 per Supplier Org.
BankSubsystem
1
Customer Organization Subsystem
Supplier Organization SubSystem

ltltaggregate subsystemgtgt PaymentSubsystem
ltltserver subsystemgtgt InventorySubsystem


1
1

1
ltltaggregate subsystemgtgt ContractSubsystem
ltltcoordinator subsystemgtgt SupplierAgentSub.
ltltuser interface subsystemgtgt SupplierInterfaceSub.
1

1
1


1

ltltcoordinator subsystemgtgt CustomerAgentSub.
ltltserver subsystemgtgt OrderSubsystem



1
1
ltltuser interface subsystemgtgt CustomerInterfaceSub
.
ltltserver subsystemgtgt CatalogSubsystem

24
Deployment diagram



Ripetuto per ogni Customer Organization
Ripetuto per ogni Supplier Organization
Customer Agent Node
Payment Subsystem Node
Supplier Agent Node
Orders Node
Catalog Node
ltltInternetgtgt
Customer Interface Node 1 per customer
Contract Subsystem Node
Supplier Interface Node 1 per supplier
Inventory Node
Bank Node
Ripetuto per ogni banca
25
Testo del problema 1/5



?
  • In the electronic commerce problem there are
    customers and suppliers. Each customer has a
    contract with a supplier for purchases from that
    suppliers, as well as one or more bank accounts
    through which payments to suppliers can be made.
  • Each supplier proviedes a catalog of items,
    accepts customers orders, and maintains accounts
    with each customers for receiving payment.

26
Testo del problema 2/5



?
  • A customer is able to browse through several
    World Wide Web-based catalogs provided by the
    suppliers and make selections of items that need
    to be purchased.
  • The customers order needs to be checked aganist
    the avaiable contracts to determine if there is a
    valid customer contract with the suppliers, which
    will be used for charging the purchase.

27
Testo del problema 3/5



?
  • Each contract has operations funds committed to
    it. It is necessary to determine that sufficient
    funds are avaiable for the customer order.
  • Assuming that the contract and funds are in
    place, a delivery order is created and sent to
    the catalog supplier. The supplier confirms the
    orde and enters a planned shipping date. As time
    passes, the shipping order is monitored and both
    supplier and customer are notified if there is a
    shipping delay.

28
Testo del problema 4/5



?
  • When the order is shipped, the customer is
    notified. The customer acknowledges when the the
    shipment is received, and the delivery order is
    updated. After receipt of shipment, authorization
    for payment of the invoice is made. The invoice
    is checked against the contract, avaiable funds,
    and delivery order status, after which the
    invoice is sent to electronic funds transfer from
    the customer bank to the supplier bank.

29
Testo del problema 5/5



?
  • The application uses several legacy databases, so
    an object broker tecnology, such as CORBA, is
    required.

30
Browse Catalog use case



?
  • Il customer può
  • Sfogliare vari cataloghi
  • Per ogni catalogo visionare più item

31
Place Requisition use case



?
  • Scelti gli item da ordinare il customer
  • Esegue lordine
  • Il sistema
  • Valida lordine sul contratto
  • Spedisce la richiesta dacquisto al supplier

32
Process Delivery Order use case



?
  • Il sistema
  • Riceve lordine dacquisto
  • Controlla la disponibilità in magazzino
  • Visualizza lordine al supplier

33
Confirm Shipment use case



?
  • Il Supplier
  • Prepara la spedizione
  • Informa il Customer

34
Confirm Delivery use case



?
  • La merce arriva a destinazione
  • Il Customer
  • Conferma larrivo
  • Il sistema
  • Inizia la procedura di pagamento

35
Send Invoice use case



?
  • Il supplier
  • Crea la fattura
  • Spedisce la fattura al client
  • Una volta ricevuta la merce
  • Il customer
  • Controlla la fattura
  • Avvia il trasferimento dei fondi

36
Customer Agent client



Customer Agent
Requisition Agent
?
Delivery Order Agent
Catalog DB
  • Permette al customer di
  • Visualizzare i cataloghi
  • Visionare lavanzamento della spedizione
  • e
  • Richiede lautorizzazione al Requisition Agent
  • Invia lordine al Delivery Order Agent

37
Requisition Agent server



?
Contract DB
Customer Agent
Requisition Agent
Operation Funds DB
Requisition DB
  • Ricevuto lordine
  • Controlla il contratto
  • Controlla i fondi
  • Registra la richiesta
  • Autorizza il Customer Agent

38
Delivery Order Agent server



Customer Agent
?
  • Ricevuto lordine
  • Lo memorizza
  • Informa
  • Supplier Agent
  • Invoice Agent
  • Update info spedizione

Delivery Order Agent
Invoice Agent
Delivery Order DB
Supplier Agent
39
Invoice Agent server



?
Contract DB
  • Si occupa dei pagamenti
  • Autorizzazione
  • Memorizzazione
  • Avvio transazione bancaria

Operation Funds DB
Delivery Order Agent
Invoice Agent
Electronic Payment
Account Payable DB
Invoice DB
Supplier Agent
40
Supplier Agent client



?
  • Permette al supplier di
  • Completare lordine
  • Aggiorna linventario
  • Invia la fattura allInvoice Agent

Delivery Order Agent
Invoice Agent
Inventory DB
Supplier Agent
41
Object Broker funzionamento



?
1 customerAgent Broker Request
2 service Handle
3 customerAgent Service Request
4 deliveryOrder AgentResponse
42
Classe BankAccount



?
43
Classe Catalog



?
44
Classe Contract



?
45
Classe Customer



?
46
Classe DeliveryOrder



?
47
Classe Invetory



?
48
Classe Invoice



?
49
Classe OperationFunds



?
50
Classe Payment



?
51
Classe Requisition



?
52
Classe SelectedItem



?
53
Classe Supplier



?
54
Browse Catolog coll. diag.



?
A1 Customer Input
A2 Customer Request
ltltuser interfacegtgt CustomerInterface
ltltbusiness logicgtgt aCustomerAgent
A6 Catalog Output
A5 Catalog Info
aCustomer
A3 Catalog Request
A4 Catalog Info
ltltdatabase wrappergtgt CatalogServer
55
Browse Catolog coll. diag.



?
  • A1 il customer richiede un catalogo attraverso
    la customer interface
  • A2 Il CustomerAgent è istanziato. Seleziona uno
    o più cataloghi
  • A3 Il CustomerAgent richiede informazioni al
    CatalogServer
  • A4 Il CatalogServer restituisce le informazioni
  • A5 Il CustomerAgent inoltra le informazioni
    allinterfaccia
  • A6 La CustomerInterface visualizza il catalogo
    allutente

56
Place Requisition coll. diag.



?
B6Reserve Funds
B8Store
ltltdatabase wrappergtgt Requisitory Server
ltltdatabase wrappergtgt Operation FundsServer
ltltbusiness logicgtgt aRequisition Agent
B7Funds Reserved
B3 Requisition Request
B9Requisition Status
B5Available Contracts
B10Puchase Request
B4 Contract Query
ltltbusiness logicgtgt aDelivery OrderAgent
ltltbusiness logicgtgt aCustomer Agent
ltltbusiness logicgtgt Contracts Server
B11 Store
B2Customer Request
B12Requisition Status
B1 Customer Input
ltltuser interfacegtgt Order Server
ltltuser interfacegtgt CustomerInterface
B13 Requisition Output
aCustomer
57
Place Requisition coll. diag.



?
  • B1 Il Customer seleziona item dal catalogo e li
    ordina
  • B2 La CustomerInterface inoltra la richiesta al
    CustomerAgent
  • B3 Il CustomerAgent istanzia il RequisitionAgent
    con lordine
  • B4 Il RequisitionAgent richiede il contratto
  • B5 Il ContractServer restituisce il contratto
  • B6 Il RequisitionAgent cerca di bloccare i fondi
    necessari

58
Place Requisition coll. diag.



?
  • B7 LOperationFundsServer conferma il blocco dei
    fondi
  • B8 Il RequisitionAgent approva lordine e lo
    memorizza nel RequisitionServer
  • B9 Il RequisitionAgent informa il CustomerAgent
  • B10 Il CustomerAgent istanzia il
    DeliveryOrderAgent con lordine di acquisto
  • B11 Il DeliveryOrderAgent memorizza le
    informazioni nellOrdersServer
  • B12 Il CustomerAgent inoltra lo stato
    dellordine allinterfaccia
  • B13 La CustomerInterface visualizza lo stato

59
Process Delivery Order coll. diag.



?
ltltdatabase wrappergtgt Inventory Server
C7Supplier Check
C8 Confirm
C2Supplier Request
C1Supplier Input
ltltuser interfacegtgt Supplier Interface
ltltbusiness logicgtgt aSupplier Agent
C2Order Status
C10Order Output
aSupplier
C3Order Request
C6Delivery Order
C4Select
ltltdatabase wrappergtgt OrdersServer
ltltbusiness logicgtgt aDelivery OrderAgent
C5Selected Order
60
Process Delivery Order coll. diag.



?
  • C1 Il Supplier richiede un nuovo ordine di
    consegna
  • C2 La SupplierInterface inoltra la richiesta al
    SupplierAgent
  • C3 Il SupplierAgent invia la richiesta al
    DeliveryOrderAgent
  • C4,C5 Il DeliveryOrderAgent seleziona lordine
    di consegna interrogando lOrdersServer

61
Process Delivery Order coll. diag.



?
  • C6 Il DeliveryOrderAgent spedisce lordine al
    SupplierAgent
  • C7,C8 Il SupplierAgent controlla che gli item
    siano presenti in magazzino
  • C9 Il SupplierAgent invia lo stato dellordine
    alla SupplierInterface
  • C10 Linterfaccia visualizza allutente le
    informazioni sullordine e sul magazzino

62
Confirm Shipment coll. diag.



?
S6Order Status
S5Update
ltltbusiness logicgtgt aCustomer Agent
ltltbusiness logicgtgt aDelivery OrderAgent
ltltdatabase wrappergtgt OrdersServer
S4Order Status
S7Order Status
ltltuser interfacegtgt Supplier Interface
ltltuser interfacegtgt CustomerInterface
ltltbusiness logicgtgt aSupplier Agent
S2Supplier Request
S8Order Output
S1Supplier Input
S3Update
ltltdatabase wrappergtgt Inventory Server
aSupplier
aCustomer
63
Confirm Delivery coll. diag.



?
R7Commit Funds
ltltdatabase wrappergtgt Requisition Server
ltltbusiness logicgtgt aRequisition Agent
ltltdatabase wrappergtgt Operation FundsServer
R8Funds Commitment
R6Update
R5Shipment Received
R3Shipment Received
ltltbusiness logicgtgt aDelivery OrderAgent
ltltbusiness logicgtgt aCustomer Agent
R2Customer Confirmation
R4Update
R1Customer Input
ltltuser interfacegtgt CustomerInterface
ltltdatabase wrappergtgt OrdersServer
aCustomer
64
Send Invoice coll. diag.



?
D11 Electronic Funds
D16 Invoice Output
Bank
aSupplier
ltltexternal system interfacegtgt Bank
ltltdatabase wrappergtgt InvoiceServer
ltltuser interfacegtgt SupplierInterface
D11 Electronic Payment
D10 Store
D8 Invoice
D1Invoice
ltltbusiness logicgtgt aSupplierAgent
ltltdatabase wrappergtgt AccountsPayable Server
ltltbusiness logicgtgt anInvoiceAgent
D9 Payment Status
D13Invoice Status
D4 Contract Query
D2Order Notification
D6Funds Query
D7Funds Response
ltltdatabase wrappergtgt Operation FundsServer
ltltdatabase wrappergtgt ContractServer
ltltbusiness logicgtgt aDelivery OrderAgent
D5 Contract Response
D2Order SubScription
65
Browse Catolog conc. coll. diag.



?
A1 Customer Input
A2 Customer Request
ltltuser interfacegtgt CustomerInterface
ltltbusiness logicgtgt aCustomerAgent
A6 Catalog Output
A5 Catalog Info
aCustomer
A3 Catalog Request
A4 Catalog Info
ltltdatabase wrappergtgt CatalogServer
Collaboration diagram for Browse Catalog use case
66
Place Requisition conc. coll. diag.



?
B6Reserve Funds
B8Store
ltltdatabase wrappergtgt Requisitory Server
ltltdatabase wrappergtgt Operation FundsServer
ltltbusiness logicgtgt aRequisition Agent
B7Funds Reserved
B3 Requisition Request
B9Requisition Status
B5Available Contracts
B10Puchase Request
B4 Contract Query
ltltbusiness logicgtgt aDelivery OrderAgent
ltltbusiness logicgtgt aCustomer Agent
ltltbusiness logicgtgt Contracts Server
B11 Store
B2Customer Request
B12Requisition Status
B1 Customer Input
ltltuser interfacegtgt Order Server
ltltuser interfacegtgt CustomerInterface
B13 Requisition Output
aCustomer
67
Process Delivery Order conc. coll. diag.



?
ltltdatabase wrappergtgt Inventory Server
C7Supplier Check
C8 Confirm
C2Supplier Request
C1Supplier Input
ltltuser interfacegtgt Supplier Interface
ltltbusiness logicgtgt aSupplier Agent
C2Order Status
C10Order Output
aSupplier
C3Order Request
C6Delivery Order
C4Select
ltltdatabase wrappergtgt OrdersServer
ltltbusiness logicgtgt aDelivery OrderAgent
C5Selected Order
68
Confirm Shipment conc. coll. diag.



?
S6Order Status
S5Update
ltltbusiness logicgtgt aCustomer Agent
ltltbusiness logicgtgt aDelivery OrderAgent
ltltdatabase wrappergtgt OrdersServer
S4Order Status
S7Order Status
ltltuser interfacegtgt Supplier Interface
ltltuser interfacegtgt CustomerInterface
ltltbusiness logicgtgt aSupplier Agent
S2Supplier Request
S8Order Output
S1Supplier Input
S3Update
ltltdatabase wrappergtgt Inventory Server
aSupplier
aCustomer
69
Confirm Delivery conc. coll. diag.



?
R7Commit Funds
ltltdatabase wrappergtgt Requisition Server
ltltbusiness logicgtgt aRequisition Agent
ltltdatabase wrappergtgt Operation FundsServer
R8Funds Commitment
R6Update
R5Shipment Received
R3Shipment Received
ltltbusiness logicgtgt aDelivery OrderAgent
ltltbusiness logicgtgt aCustomer Agent
R2Customer Confirmation
R4Update
R1Customer Input
ltltuser interfacegtgt CustomerInterface
ltltdatabase wrappergtgt OrdersServer
aCustomer
70
Send Invoice conc. coll. diag.



?
D11 Electronic Funds
D16 Invoice Output
Bank
aSupplier
ltltexternal system interfacegtgt Bank
ltltdatabase wrappergtgt InvoiceServer
ltltuser interfacegtgt SupplierInterface
D11 Electronic Payment
D10 Store
D15 Invoice Status
D8 Invoice
D1Invoice
ltltbusiness logicgtgt aSupplierAgent
ltltdatabase wrappergtgt AccountsPayable Server
ltltbusiness logicgtgt anInvoiceAgent
D9 Payment Status
D13Invoice Status
D4 Contract Query
D2Order Notification
D6Funds Query
D7Funds Response
ltltdatabase wrappergtgt Operation FundsServer
ltltdatabase wrappergtgt ContractServer
ltltbusiness logicgtgt aDelivery OrderAgent
D5 Contract Response
D2Order SubScription
Write a Comment
User Comments (0)
About PowerShow.com