interoperabilità e cooperazione applicativa tra sistemi ... · m. ruta – interoperabilità e...

29
Interoperabilità e cooperazione applicativa tra sistemi informativi Dipartimento di Ingegneria Elettrica e dell’Informazione Politecnico di Bari Michele Ruta Incontro tecnico con gli stakeholder Terminal Crociere del Porto di Bari - 28/05/2014 1 di 29

Upload: others

Post on 21-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 2: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 3: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 4: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 5: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 6: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 7: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 8: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 9: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 10: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 11: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 12: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 13: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 14: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 15: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 16: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 17: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 18: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 19: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 20: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 21: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 22: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 23: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 24: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 25: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 26: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 27: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 28: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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

Page 29: Interoperabilità e cooperazione applicativa tra sistemi ... · M. Ruta – Interoperabilità e cooperazione applicativa tra sistemi informativi Incontro tecnico con gli stakeholder

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