Università degli studi di Trieste<br />Corso di laurea specialistica in Ingegneria Informatica<br />Sviluppo di un Hub di ...
Obiettivo<br />Realizzazione di un sistema di comunicazione fra moduli software per:<br />Gestire  routing di messaggi<br ...
SlimPORT<br />Progetto innovativo di porto(Sicurezza, Logistica, Intermodalità Portuale)<br />Processi operativi nell’ambi...
SlimTRUCK<br />Sistema di trasferimento container nella tratta porto-retroporto su strada.<br />Garantisce controllo delle...
Tubo virtuale<br />Sistema formato da un insieme di componenti software e hardware<br />Obiettivi<br />ottimizzare il flus...
Architettura di rete<br />Hub<br />Gateway<br />Gruppo(OBC + Tag)<br />OperatorePortuale<br />
Componente Gateway<br />Centro di controllo: raccoglie informazioni provenienti da computer di bordo<br />Informazioni ric...
Componente Gestione Emergenze<br />Identifica e gestisce le emergenze di processo<br />apertura del container in zona non ...
Componente Console<br />Strumento a disposizione di un operatore che supervisiona la movimentazione delle merci<br />Prele...
Hub centrale<br />Routing dei messaggi ricevuti dalle applicazioni<br />Orchestrazione dei processi di business<br />Anali...
Flussi di informazione<br /><ul><li>Richiesta aggiornamento di stato
Richiesta eventi OBC
Richiesta identificazione gruppo
Vestizione gruppo
Svestizione gruppo
Aggiornamento di stato
Notifica di arrivo in area sicura
Segnalazione di allarme
Comunicazione con il database
Instardamento delle richieste</li></li></ul><li>Ambiente di sviluppo<br />
Biztalk Server 2010<br />
Biztalk Server 2010<br />
Standard per la Comunicazione<br />XML<br />Modello per la descrizione di dati secondo una struttura gerarchica<br />Messo...
Database interno all’Hub<br />
Fasi di sviluppo<br />
Schemas<br />  <?xml version="1.0" encoding="utf-16"?> <br />  <xs:schemaxmlns=“http://Teorema.slimTruck.BT.Schemas.ErrorD...
Mappe<br />Source schema<br />Destination schema<br />Functoid<br />
Orchestrazioni<br />Serie ordinate di operazioni o transazioni che implementano un processo di business<br />Servono per<b...
Orchestrazioni<br />Processo<br />Porte logiche<br />Orchestration View<br />
 Business rules engine<br />Motore decisionale interno a Biztalk Server<br />Richiamato all’interno di flussi di orchestra...
Upcoming SlideShare
Loading in …5
×

Presentazione: Sviluppo di un hub di comunicazione in una applicazione per porti con biztalk server 2010

581 views
526 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
581
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentazione: Sviluppo di un hub di comunicazione in una applicazione per porti con biztalk server 2010

  1. 1. Università degli studi di Trieste<br />Corso di laurea specialistica in Ingegneria Informatica<br />Sviluppo di un Hub di comunicazione in un’applicazione per porti con Biztalk Server 2010<br />Relatore<br />Prof. Maurizio Fermeglia<br />Laureando<br />Walter Geretto<br />Anno Accademico 2009/2010<br />
  2. 2. Obiettivo<br />Realizzazione di un sistema di comunicazione fra moduli software per:<br />Gestire routing di messaggi<br />Analizzare il contenuto dei messaggi e applicare regole di business<br />Eseguire set di operazioni durante il transito dei messaggi<br />Il sistema deve consentire:<br />Monitoraggio dei flussi di informazioni<br />Gestione degli errori di comunicazione<br />Configurazione delle risorse utilizzate dal sistema<br />Sviluppo di un hub con Biztalk Server: prodotto Microsoft per integrazione di applicazioni <br />
  3. 3. SlimPORT<br />Progetto innovativo di porto(Sicurezza, Logistica, Intermodalità Portuale)<br />Processi operativi nell’ambito dell’ultimo miglio mare e primo miglio terra<br />Vantaggi attesi<br />Riduzione del tempo di stazionamento e di transito delle merci e dei passeggeri nei nodi del trasporto<br />Velocizzazione operazioni di carico, scarico e trasbordo<br />Cooperazione con sistemi infotelematici di gestione dei processi operativi esistenti<br />Incremento della sicurezza nelle operazioni portuali e salvaguardia delle logiche di business<br />Intermodalità nell’ambito della catena logistica<br />Decongestione dei trasporti e mobilità sostenibile nel territorio<br />
  4. 4. SlimTRUCK<br />Sistema di trasferimento container nella tratta porto-retroporto su strada.<br />Garantisce controllo delle merci durante il trasporto<br />
  5. 5. Tubo virtuale<br />Sistema formato da un insieme di componenti software e hardware<br />Obiettivi<br />ottimizzare il flusso delle merci<br />decongestionare l’area portuale<br />affidare l’espletamento delle procedure doganali in retroporto<br />Porto e Retro-porto<br />devono essere visti come un'unica entità<br />sono separati da suolo pubblico<br />la merce in transito deve muoversi su strade percorse da traffico urbano<br />Prevede un hub centrale che gestisce il flusso informativo tra le componenti<br />
  6. 6. Architettura di rete<br />Hub<br />Gateway<br />Gruppo(OBC + Tag)<br />OperatorePortuale<br />
  7. 7. Componente Gateway<br />Centro di controllo: raccoglie informazioni provenienti da computer di bordo<br />Informazioni ricevute<br />dati di localizzazione rilevati dai GPS integrati nei computer di bordo<br />dati di integrità di gruppo <br />dati di integrità dei sigilli elettronici situati sui meccanismi di apertura dei containers <br />Funzionalità<br />Richiesta di vestizione di un gruppo (OBC + Tag1 + Tag2)<br />Richiesta di svestizione di un gruppo arrivato a destinazione<br />Invio di informazioni aggiornate all’hub centrale (periodico, a eventi)<br />
  8. 8. Componente Gestione Emergenze<br />Identifica e gestisce le emergenze di processo<br />apertura del container in zona non autorizzata<br />mancata rilevazione del gruppo (motrice/container)<br />deviazione dal percorso<br />stazionamento del veicolo<br />segnalazione di allarme da parte del conducente<br />Prevede due processi<br />rilevazione dell’emergenza: eseguito a evento<br />individuazione delle mancate rilevazioni: eseguito in maniera continuativa<br />
  9. 9. Componente Console<br />Strumento a disposizione di un operatore che supervisiona la movimentazione delle merci<br />Preleva informazioni dal database interno all’hub<br />Visualizza segnalazioni di allarme attive<br />Funzionalità:<br />Richiesta di informazioni aggiornate sullo stato dei gruppi<br />Richiesta degli eventi configurati nei computer di bordo<br />Richiesta di identificazione dei gruppi a cui appartengono gli OBC<br />
  10. 10. Hub centrale<br />Routing dei messaggi ricevuti dalle applicazioni<br />Orchestrazione dei processi di business<br />Analisi dei messaggi con un motore decisionale<br />Monitoring dei flussi di informazione<br />
  11. 11. Flussi di informazione<br /><ul><li>Richiesta aggiornamento di stato
  12. 12. Richiesta eventi OBC
  13. 13. Richiesta identificazione gruppo
  14. 14. Vestizione gruppo
  15. 15. Svestizione gruppo
  16. 16. Aggiornamento di stato
  17. 17. Notifica di arrivo in area sicura
  18. 18. Segnalazione di allarme
  19. 19. Comunicazione con il database
  20. 20. Instardamento delle richieste</li></li></ul><li>Ambiente di sviluppo<br />
  21. 21. Biztalk Server 2010<br />
  22. 22. Biztalk Server 2010<br />
  23. 23. Standard per la Comunicazione<br />XML<br />Modello per la descrizione di dati secondo una struttura gerarchica<br />Messo a punto e promosso dal consorzio mondiale W3C <br />Fondamento degli scenari Biztalk<br />Flussi dati codificati secondo “XML Schema”<br />Metodo per definire la struttura di documenti XML<br />Utilizza XML (http://www.w3.org/2001/XMLSchema)<br />Fornisce meccanismi per il riuso degli schemi<br />Schemi resi pubblici e condivisi con tutti gli attori del progetto<br />
  24. 24. Database interno all’Hub<br />
  25. 25. Fasi di sviluppo<br />
  26. 26. Schemas<br /> <?xml version="1.0" encoding="utf-16"?> <br /> <xs:schemaxmlns=“http://Teorema.slimTruck.BT.Schemas.ErrorDetails”xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Teorema.slimTruck.BT.Schemas.ErrorDetails" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br /><xs:element name="ErrorDetails"><br /><xs:complexType><br /><xs:sequence><br /><xs:element name="ErrorCode" type="xs:int" /><br /><xs:element name="ErrorDescription" type="xs:string" /><br /> </xs:sequence><br /></xs:complexType><br /></xs:element><br /> </xs:schema><br />Nome schema<br />Root element<br />Child element<br />
  27. 27. Mappe<br />Source schema<br />Destination schema<br />Functoid<br />
  28. 28. Orchestrazioni<br />Serie ordinate di operazioni o transazioni che implementano un processo di business<br />Servono per<br />Correlare messaggi<br />Eseguire business rules<br />Gestire e definire l’ambito di una transazione<br />Non devono essere usate per<br />Eseguire routing dei messaggi tra le porte<br />Attuare semplici trasformazioni dei messaggi<br />Effettuare chiamate remote a sistema attraverso espressioni<br />Definire complesse regole e policy(per questo esiste il business rules engine)<br />
  29. 29. Orchestrazioni<br />Processo<br />Porte logiche<br />Orchestration View<br />
  30. 30. Business rules engine<br />Motore decisionale interno a Biztalk Server<br />Richiamato all’interno di flussi di orchestrazione<br />Fact<br />Xml document<br />.NET class<br />Vocabolario<br />collezione di nomi che identificano Facts<br />Policy<br />collezione di regole<br />
  31. 31. Porte di comunicazione<br />Porte logiche: definite all’interno delle orchestrazioni<br />Message type<br />Direction (Send/Receive)<br />Porte fisiche: definite all’interno della console amministrativa<br />Configurazione Adapter<br />Pipeline<br />Mappe di trasformazione in ingresso e in uscita<br />Filtri/Sottoscrizioni<br />Binding: associazione fra porta logica e porta fisica<br />Sono stati usati gli adapter SQL e WCF<br />HUB<br />
  32. 32. Web services<br />L’Hub centrale espone gli schemas dei messaggi come operazioni di web services<br />Architettura orientata ai servizi<br />Interoperabilità fra piattaforme<br />Protocolli standard di comunicazione (Html, SOAP)<br />Rappresentazione e meccanismo di scambio dei dati (XML , WSDL)<br />L’Hub espone 5 servizi<br />BasicHttpbinding con gestione emergenze (Basic Profile - necessità di interoperabilità)<br />WSHttpbinding con Gateway e Console (WS-Security, WS-Addressing)<br />L’Hub consuma servizi esposti dalle altre componenti <br />Utilizza gli schemas dei messaggi condivisi<br />Message Contract + XmlSerializer<br />
  33. 33. Installazione applicazione<br />Ambiente di sviluppo:<br />Deploy degli assembly dei progetti Biztalk<br />Binding delle porte delle orchestrazioni<br />Deploy delle policy dal Business Rules Composer<br />Esportazione dell’applicazione in un file .msi<br />Ambiente di produzione:<br />Importazione dell’applicazione contenuta in un file .msi<br />Installazione dell’applicazione<br />Inserimento in GAC degli assembly<br />Creazione dei servizi in IIS<br />Enlist e Start dell’applicazione<br />
  34. 34. Progetti di supporto<br />Realizzazione di una soluzione di supporto che simula le funzionalità delle componenti mancanti<br />Consumo dei servizi esposti dall’hub (invio di richieste di vestizione, svestizione, segnalazione di allarme, …)<br />Esposizione dei servizi previsti dal Gateway e dalla componente gestione emergenze<br />Simulazione di movimento dei veicoli<br />Persistenza dei dati in un database di supporto<br />Lo scopo è di eseguire il test delle funzionalità previste dall’hub<br />
  35. 35. Simulazione di movimento dei convogli<br />Identificazione delle coordinate del percorso<br />Google Earth: coordinate geografiche nel sistema di riferimento WGS84<br />Meccanismo di generazione di coordinate geografiche<br />Formule trigonometriche per calcolare distanza e direzione fra coppie di coordinate<br />Spostamento calcolato ipotizzando velocità costante del mezzo<br />Simulazione parallela di più veicoli in Thread separati<br />Rappresentazione grafica del percorso <br />Static API di Google Maps<br />
  36. 36. Console dell’applicazione<br />
  37. 37. Conclusioni<br />L’applicazione realizzata è ad oggi installata in un ambiente di sviluppo. <br />Si tratta di un prototipo che implementa tutte le funzionalità definite in fase di analisi<br />Sviluppi futuri:<br />Analisi e Sviluppo della componenti mancanti (MarketPlace, Sistema di supporto alle decisioni)<br />Aggiunta di funzionalità all’Hub per gestire la comunicazione con le nuove componenti<br />Integrazione con i moduli software sviluppati dagli altri Partner<br />Test del sotto-sistema completo<br />
  38. 38. Grazie per l’attenzione<br />

×