Interoperabilità e cooperazione applicativa tra sistemi informativi
Dipartimento di Ingegneria Elettrica e dell’Informazione
Politecnico di Bari
Michele Ruta
Incontro tecnico con gli stakeholderTerminal Crociere del Porto di Bari - 28/05/2014 1 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Indice
Introduzione ai Port Community System
Elementi architetturali fondamentali
Tecnologie per la cooperazione applicativa Middleware
SOA e Web Service
Enterprise Service Bus
Conclusione
2 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Port Community System
Che cosa è un Port Community System (PCS) piattaforma informativa aperta per lo scambio di
informazioni intelligente e sicuro
Che cosa fa gestisce, automatizza e ottimizza i processi portuali e la
logistica attraverso un’unica immissione dei dati
collega le catene logistiche e di trasporto all’interno del bacino portuale
3 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Attori in un PCS
Partner sia pubblici sia privati
Società private Enti pubblici
Linee di spedizione marittima Dogane
Spedizionieri commerciali Autorità portuale
Spedizionieri doganali Polizia marittima
… Sanità marittima
…
4 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Servizi di un PCS
Servizi molteplici e diversificati, tra cui: Interscambio di dati in formato elettronico facile, veloce
ed efficiente
Accentramento e riuso dei dati
Disponibilità 24/7/365
Dichiarazioni doganali
Gestione elettronica delle informazioni riguardanti l’import/export di carichi
Tracciamento lungo l’intera catena logistica
Trattamento di merci pericolose
Elaborazione di statistiche marittime e di altro genere
5 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Benefici di un PCS
Riduzione di modulistica in formato cartaceo Maggiore efficienza e rapidità dei processi portuali
Maggiore sostenibilità ambientale
Monitoraggio di tutti i passaggi dei processi logistici
Miglioramento della sicurezza
Abbattimento dei costi e incremento di competitività degli operatori
6 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Elementi architetturali di un PCS
Un PCS deve permettere la cooperazione applicativa tra i sistemi informativi dei diversi operatori commerciali ed autorità interessate
Livelli architetturali fondamentali
• Interfaccia per gli operatori (Web-based)• Client dedicati (sistemi mobili, etc.)Presentazione
• Middleware• Cooperazione applicativaIntegrazione
• Definizione ed esecuzione dei processi di businessLogica applicativa
• Database• DatawarehouseStorage
7 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Livello di integrazione
Per la natura e le modalità operative di un PCS, il livello di integrazione riveste particolare importanza
Favorire la cooperazione applicativa efficiente
sicura
tra sistemi indipendenti e disaccoppiati
tra componenti sviluppati con tecnologie e su piattaforme eterogenee
8 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Cooperazione applicativa
Diverse tecnologie per l’interazione tra moduli debolmente accoppiati in sistemi distribuiti Middleware pre-web
Web Service e SOA WSDL + SOAP + UDDI stack
REST
OData
Enterprise Service Bus
9 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Funzionalità
Ogni tipo di soluzione risponde a un insieme di bisogni fondamentali Come invocare una procedura o un oggetto su un
sistema remoto?
Come mettere a disposizione procedure o oggetti a sistemi remoti?
Quali i protocolli di interazione?
Quali i formati dei dati?
Come scoprire componenti remoti che forniscono le funzionalità richieste?
Come comporre blocchi funzionali distribuiti in un processo di business (workflow)?
10 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Middleware RPC-based
Interoperabilità mediante Interface Definition Language comuni
Binding statico vs dinamico
11 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Object Broker
Nati con l’affermarsi della programmazione object-oriented
Esempio: CORBA
12 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Message Oriented Middleware
RPC: interazione richiesta-risposta
MOM: scambio di messaggi Permette maggior varietà di architetture e modelli di
interazione
Uso di code per la consegna dei messaggi
Esempi: JMS (Java Message Service), API Java standard
Microsoft MSMQ
13 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Message Broker
Evoluzione dei MOM per favorire disaccoppiamento tra i componenti
facilità di evoluzione della logica applicativa
integrazione di nuovi componenti
Non connessioni N a N, ma architettura hub and spoke
Non specifica diretta del destinatario di un messaggio, ma paradigma publish/subscribe
14 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
EAI basata su Message Broker
Enterprise Application Integration: cooperazione applicativa tra infrastrutture informatiche indipendenti
Fondamentale per un PCS
15 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Service Oriented Architecture
Attualmente i sistemi complessi sono sempre più progettati e descritti come SOA
Servizio: procedura, metodo o oggetto con una interfaccia pubblica e stabile che può essere invocato da un client (Alonso et al., 2003)
Produttori (server) e consumatori (client) Interfaccia = protocollo + formato +
comportamento
16 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Web Service
Stack di tecnologie standard (W3C, OASIS) per definire i diversi aspetti di una SOA attraverso il WWW
Interface definition language: WSDL (Web Service Definition Language)
Protocollo per lo scambio di messaggi: SOAP (Simple Object Access Protocol) su HTTP
Formato di interscambio dati: XML Protocollo per pubblicazione e discovery di servizi:
UDDI (Universal Description, Discovery and Integration)
Ulteriori specifiche per profili di interoperabilità e sicurezza
17 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
REST
In anni recenti, il paradigma REST (REpresentationalState Transfer), che nasce da HTTP, è stato proposto come alternativa più semplice
RESTful Web Service: servizi sul web in cui HTTP è il protocollo di comunicazione
ogni risorsa è identificata da un URI
le risorse sono rappresentate in formati interoperabili (i più comuni: HTML, JSON, XML)
metodi PUT, GET, POST, DELETE per effettuare le 4 manipolazioni fondamentali su ogni risorsa: create, read, update, delete (CRUD)
18 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
OData
Open Data Protocol: recente standard OASIS Accesso via web a una sorgente di dati
Basato su protocollo Atom e formato JSON Interfaccia REST per operazioni CRUD
Implementazioni per .NET, Java, JavaScript, PHP, C++
19 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Workflow Management Systems
Workflow: processo che porta al raggiungimento di un obiettivo di business ben definito
Elementi di un workflow Attori coinvolti Flusso logico dei messaggi scambiati
Formati e protocolli
Gestione delle eccezioni e degli errori
20 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Workflow Management Systems
Elementi di un WfMS Designer per specificare i workflow (mediante GUI) Engine per l’esecuzione e il monitoraggio dei workflow ed il
recovery dagli errori
21 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Workflow: formalismi standard
Design only Diagrammi UML di attività
Design and execution BPMN: Business Process Model and Notation
WS-BPEL: Web Services Business Process Execution Language
22 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Enterprise Service Bus
Tipologia di MOM per EAI basato su Web Service affermatasi negli ultimi anni
23 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
ESB: caratteristiche
Sistemi realizzati con tecnologie differenti possono colloquiare grazie all’interazione con l’ESB e creare un canale tra applicazioni tra loro incompatibili, normalizzandone i protocolli di comunicazione
Il traffico di informazioni transita su un canale di interscambio basato su standard aperti (Web Services, XML, SOAP)
La sicurezza di servizi e dati è garantita dall’utilizzo di standard WS-*, compresi WS-Security, WS-Trust, WS-Policy, etc.
24 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
ESB: operazioni sui messaggi
Routing: indirizzamento dei messaggi (static, content-based, policy-based, rule-based)
Message transformation: conversione di formati e strutture dati
Message enrichment: componenti filtro arricchiscono messaggi ricevuti da componenti di basso livello (segnalazione evento, etc.) e li passano a componenti di più alto livello
Split and merge: dividere o combinare messaggi per una gestione più efficiente
Queuing and staging: conservare messaggi per destinatari temporaneamente indisponibili o sovraccarichi
25 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
ESB: service orchestration
Coordinatore centralizzato (broker) che controlla i servizi coinvolti e coordina l’esecuzione delle differenti operazioni
I singoli servizi non sanno di prendere parte ad un business process a livello di astrazione più elevato
Solo il coordinatore conosce gli obiettivi della composizione e gestisce l’ordine e la logica delle invocazioni dei servizi, nonché il relativo passaggio dei dati
Linguaggio BPEL (Business Process Execution Language) come linguaggio standard de facto
26 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
ESB: mapping dei componenti
Orchestrator: Process Orchestration
Rules Engine: Rules-based
Routing Message Transformation Message Enhancement
Service Registry; Service Mapping
Mediator: Routing Message Transformation Message Enhancement Protocol Transformation Transaction Management Security
Orchestrator Rules Engine Service Registry
Mediator
27 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Conclusione
I PCS richiedono tecnologie di interoperabilità e cooperazione applicativa standardizzate flessibili efficienti sicure
Tra le proposte più recenti si possono trovare soluzioni interessanti
Ma resta sempre necessario un certo grado di adattamento e personalizzazione per rispondere ai bisogni del sistema informativo
28 di 29
M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativiIncontro tecnico con gli stakeholder
Terminal Crociere del Porto di Bari - 28/05/2014
Questions & Answers
29 di 29
Top Related