Presentazione: Sviluppo di un hub di comunicazione in una applicazione per porti con biztalk server...
-
Upload
gwalter85 -
Category
Technology
-
view
463 -
download
2
Transcript of Presentazione: Sviluppo di un hub di comunicazione in una applicazione per porti con biztalk server...
SVILUPPO DI UN HUB DI COMUNICAZIONE IN UN’APPLICAZIONE PER PORTI
CON BIZTALK SERVER 2010
UNIVERSITÀ DEGLI STUDI DI TRIESTECorso di laurea specialistica in Ingegneria Informatica
LaureandoWalter Geretto
ANNO ACCADEMICO 2009/2010
RelatoreProf. Maurizio Fermeglia
Obiettivo Realizzazione di un sistema di comunicazione fra moduli software per:
Gestire routing di messaggi
Analizzare il contenuto dei messaggi e applicare regole di business
Eseguire set di operazioni durante il transito dei messaggi
Il sistema deve consentire: Monitoraggio dei flussi di informazioni
Gestione degli errori di comunicazione
Configurazione delle risorse utilizzate dal sistema
Sviluppo di un hub con Biztalk Server: prodotto Microsoft per integrazione di applicazioni
SlimPORT Progetto innovativo di porto (Sicurezza, Logistica, Intermodalità Portuale) Processi operativi nell’ambito dell’ultimo miglio mare e primo miglio terra Vantaggi attesi
Riduzione del tempo di stazionamento e di transito delle merci e dei passeggeri nei nodi del trasporto
Velocizzazione operazioni di carico, scarico e trasbordo
Cooperazione con sistemi infotelematici di gestione dei processi operativi esistenti
Incremento della sicurezza nelle operazioni portuali e salvaguardia delle logiche di business
Intermodalità nell’ambito della catena logistica
Decongestione dei trasporti e mobilità sostenibile nel territorio
SlimTRUCK Sistema di trasferimento container nella tratta porto-retroporto su strada.
Garantisce controllo delle merci durante il trasporto
Obiettivi
• Ottimizzare flussi degli spostamenti• Ottimizzare gestione di aree portuali• Ottimizzare procedure operative e doganali
Metodologia
• Revisione processi operativi • Revisione normative attive
Tubo virtuale Sistema formato da un insieme di componenti software e hardware
Obiettivi ottimizzare il flusso delle merci
decongestionare l’area portuale
affidare l’espletamento delle procedure doganali in retroporto
Porto e Retro-porto devono essere visti come un'unica entità
sono separati da suolo pubblico
la merce in transito deve muoversi su strade percorse da traffico urbano
Prevede un hub centrale che gestisce il flusso informativo tra le componenti
IP (xDSL/FO) GSM/GPRS/UMTS
GSM/GPRS/UMTS
WLAN
IEEE 802.11 b/g/n
Container Container
Motrice
Tag Tag
Computer di
bordo
DOGANA
Operatore
Dispositivo
DOGANA
Postazione
Locale PC
GATEWAY
T&T
PC
HUB
Teorema
PC
SISTEMA
DI
GESTIONE
ZigBee (IEEE 802.15.4)
GPS
Architettura di rete
Gruppo(OBC + Tag) Operatore Portuale
GatewayHub
Componente Gateway Centro di controllo: raccoglie informazioni provenienti da computer di bordo
Informazioni ricevute dati di localizzazione rilevati dai GPS integrati nei computer di bordo
dati di integrità di gruppo
dati di integrità dei sigilli elettronici situati sui meccanismi di apertura dei containers
Funzionalità Richiesta di vestizione di un gruppo (OBC + Tag1 + Tag2)
Richiesta di svestizione di un gruppo arrivato a destinazione
Invio di informazioni aggiornate all’hub centrale (periodico, a eventi)
Componente Gestione Emergenze Identifica e gestisce le emergenze di processo
apertura del container in zona non autorizzata
mancata rilevazione del gruppo (motrice/container)
deviazione dal percorso
stazionamento del veicolo
segnalazione di allarme da parte del conducente
Prevede due processi rilevazione dell’emergenza: eseguito a evento
individuazione delle mancate rilevazioni: eseguito in maniera continuativa
Componente Console Strumento a disposizione di un operatore che supervisiona la
movimentazione delle merci
Preleva informazioni dal database interno all’hub
Visualizza segnalazioni di allarme attive
Funzionalità: Richiesta di informazioni aggiornate sullo stato dei gruppi
Richiesta degli eventi configurati nei computer di bordo
Richiesta di identificazione dei gruppi a cui appartengono gli OBC
Hub centrale Routing dei messaggi ricevuti dalle applicazioni
Orchestrazione dei processi di business
Analisi dei messaggi con un motore decisionale
Monitoring dei flussi di informazione
Vestizione Processo «On Going» Svestizione
Flussi di informazione
Hub centrale Console
Gestione Emergenze
Gateway Vestizione gruppo Svestizione gruppo Aggiornamento di stato
Notifica di arrivo in area sicura Segnalazione di allarme
Richiesta aggiornamento di stato Richiesta eventi OBC Richiesta identificazione gruppo
Comunicazione con il database Instardamento delle richieste
Ambiente di sviluppo
Visual Studio 2010 Ultimate Edition• .NET Framework 4.0
SQL Server 2008 R2
Internet Information Server 7.5
Biztalk Server 2010
Biztalk Server 2010
Biztalk Server 2010
Standard per la Comunicazione XML
Modello per la descrizione di dati secondo una struttura gerarchica
Messo a punto e promosso dal consorzio mondiale W3C
Fondamento degli scenari Biztalk
Flussi dati codificati secondo “XML Schema” Metodo per definire la struttura di documenti XML
Utilizza XML (http://www.w3.org/2001/XMLSchema)
Fornisce meccanismi per il riuso degli schemi
Schemi resi pubblici e condivisi con tutti gli attori del progetto
Database interno all’Hub
AlarmId
GroupId
PerformedActivity
ScheduledActivity
AlarmDate
SourceSystem
IssueDetail
StatusCorrelation
Id
Operation
CreationDate
GroupSetId
OBCId
FirstRFIDId
SecondRFIDId
FirstContainerIdentifier
SecondContainerIdentifier
TruckLicensePlate
Status
AssembleDate
DisassembleDate
OBCId
Identifier
Status
OperationDetailId
Code
Description
StatusMessageId
OBCId
GroupId
CorrelationId
OperationDetailId
SendingDate
Latitude
Longitude
XAxisSpeed
YAxisSpeed
Direction
IsActiveGPS
IsActiveGSM
IsActiveZigBee
IsActiveOBCBattery
IsActiveFirstTagBattery
IsActiveSecondTagBattery
IsActiveFirstRFID
IsActiveSecondRFID
IsActiveAlarmButton
IsClosedFirstContainer
IsClosedSecondContainer
ReceivingDate
TagId
MacAddress
Status
Fasi di sviluppo
Schemas <?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns=“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">
<xs:element name="ErrorDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="ErrorCode" type="xs:int" />
<xs:element name="ErrorDescription" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Nome schema
Child element
Root element
Mappe
Source schema
Destination schema
Functoid
Orchestrazioni Serie ordinate di operazioni o transazioni che implementano un processo di
business
Servono per Correlare messaggi
Eseguire business rules
Gestire e definire l’ambito di una transazione
Non devono essere usate per Eseguire routing dei messaggi tra le porte
Attuare semplici trasformazioni dei messaggi
Effettuare chiamate remote a sistema attraverso espressioni
Definire complesse regole e policy(per questo esiste il business rules engine)
Orchestrazioni
ProcessoPorte logiche Orchestration View
Business rules engine Motore decisionale interno a Biztalk Server
Richiamato all’interno di flussi di orchestrazione
Fact Xml document
.NET class
Vocabolario collezione di nomi che identificano Facts
Policy collezione di regole
Policy
Rule
Fact
Slot
Porte di comunicazione Porte logiche: definite all’interno delle orchestrazioni
Message type
Direction (Send/Receive)
Porte fisiche: definite all’interno della console amministrativa Configurazione Adapter
Pipeline
Mappe di trasformazione in ingresso e in uscita
Filtri/Sottoscrizioni
Binding: associazione fra porta logica e porta fisica
Sono stati usati gli adapter SQL e WCF
HUB
Web services L’Hub centrale espone gli schemas dei messaggi come operazioni di web
services Architettura orientata ai servizi
Interoperabilità fra piattaforme
Protocolli standard di comunicazione (Html, SOAP)
Rappresentazione e meccanismo di scambio dei dati (XML , WSDL)
L’Hub espone 5 servizi BasicHttp binding con gestione emergenze (Basic Profile - necessità di interoperabilità)
WSHttp binding con Gateway e Console (WS-Security, WS-Addressing)
L’Hub consuma servizi esposti dalle altre componenti Utilizza gli schemas dei messaggi condivisi
Message Contract + XmlSerializer
Installazione applicazione Ambiente di sviluppo:
Deploy degli assembly dei progetti Biztalk
Binding delle porte delle orchestrazioni
Deploy delle policy dal Business Rules Composer
Esportazione dell’applicazione in un file .msi
Ambiente di produzione: Importazione dell’applicazione contenuta in un file .msi
Installazione dell’applicazione
Inserimento in GAC degli assembly
Creazione dei servizi in IIS
Enlist e Start dell’applicazione
Progetti di supporto Realizzazione di una soluzione di supporto che simula le funzionalità delle
componenti mancanti Consumo dei servizi esposti dall’hub (invio di richieste di vestizione, svestizione,
segnalazione di allarme, …)
Esposizione dei servizi previsti dal Gateway e dalla componente gestione emergenze
Simulazione di movimento dei veicoli
Persistenza dei dati in un database di supporto
Lo scopo è di eseguire il test delle funzionalità previste dall’hub
Simulazione di movimento dei convogli Identificazione delle coordinate del percorso
Google Earth: coordinate geografiche nel sistema di riferimento WGS84
Meccanismo di generazione di coordinate geografiche Formule trigonometriche per calcolare distanza e direzione fra coppie di coordinate
Spostamento calcolato ipotizzando velocità costante del mezzo
Simulazione parallela di più veicoli in Thread separati
Rappresentazione grafica del percorso Static API di Google Maps
Console dell’applicazione
Conclusioni L’applicazione realizzata è ad oggi installata in un ambiente di sviluppo.
Si tratta di un prototipo che implementa tutte le funzionalità definite in fase di analisi
Sviluppi futuri: Analisi e Sviluppo della componenti mancanti (MarketPlace, Sistema di supporto alle
decisioni)
Aggiunta di funzionalità all’Hub per gestire la comunicazione con le nuove componenti
Integrazione con i moduli software sviluppati dagli altri Partner
Test del sotto-sistema completo
Grazie per l’attenzione