(Service o Oriented Architecture)



Похожие документы
Web Service Architecture

B.P.S. Business Process Server ALLEGATO C10

1 Vincenzo de Stefano SAP e Servizi Web

Presentazione di Cedac Software

Introduzione ai Web Services Alberto Polzonetti

E.S.B. Enterprise Service Bus ALLEGATO C11

1. BASI DI DATI: GENERALITÀ

Composizione e Coreografia di Web Services

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

CENTRALE UNICA DI SOCCORSO

Costruire il futuro il valore delle scelte tecnologiche

Dematerializzare per Semplificare

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Strumenti di modellazione. Gabriella Trucco

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

The Enterprise Service BUS. Manuale utente - VulCon

Approccio stratificato

8.A.8 Orchestratore Locale. ESB Piano dei test

Dematerializzare per Semplificare

Sistemi informativi secondo prospettive combinate

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

WEB SEMINAR Dettaglio servizio

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Definizione e realizzazione di un modello architetturale per la gestione della transazionalità in processi di business distribuiti. Edoardo Di Lorenzo

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi

7. Architetture Software

Corso di Basi di Dati e Conoscenza

L o. Walter Ambu japs: una soluzione agile (

Automazione Industriale (scheduling+mms) scheduling+mms.

Interoperabilità e cooperazione applicativa tra sistemi informativi

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Progettaz. e sviluppo Data Base

Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric. del 5 luglio Monitoring e Billing in OCP

Indice. pagina 2 di 10

Analisi e sperimentazione della piattaforma Web Service Notification nell ambito del controllo del traffico aereo

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa

IL PROGETTO BIP IN PIEMONTE

Focalize InfoLab ebiz visto da Objtec

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche


Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket.

1- Corso di IT Strategy

Specifiche Tecnico-Funzionali

Sistemi Informativi e Sistemi ERP

Architetture Applicative

Progetto di Applicazioni Software

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

Concetti di base di ingegneria del software

Progetto di Applicazioni Software

OpenSPCoop Un Implementazione Open Source della specifica SPCoop di Cooperazione Applicativa

Innovation Technology

DSCube. L analisi dei dati come strumento per i processi decisionali

OmniAccessSuite. Plug-Ins. Ver. 1.3

WorkFLow (Gestione del flusso pratiche)

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

La Gestione Documentale. Integrazione con Microsoft Dynamics NAV. Mario Pavese. Sales Manager Soluzioni EDP

L obiettivo che si pone è di operare nei molteplici campi dell informatica aziendale, ponendosi come partner di riferimento per l utenza aziendale.

Lezione 1. Introduzione e Modellazione Concettuale

IBM Software Demos The Front-End to SOA

Base di dati e sistemi informativi

Software per Helpdesk

Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing

Progettaz. e sviluppo Data Base

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

BPEL: Business Process Execution Language

Gartner Group definisce il Cloud

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

Presentazione aziendale. soluzioni, servizi, consulenza

Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

La Guida per l Organizzazione degli Studi professionali

Titolo. Verso il nuovo sito Istat: opportunità e innovazioni per potenziare l informazione sul web FORUM PA Maurizio Firmani Giulia Mottura

POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1

CitySoftware PROTOCOLLO. Info-Mark srl

SERVICE MANAGER. Architettura Client-Server e Web based di Servizi Specializzati per la Gestione di Periferiche e Connettività

11. Evoluzione del Software

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

leaders in engineering excellence

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Distributed Object Computing

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Addition X DataNet S.r.l.

Le comunicazioni telematiche in Toscana

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Modelli per la descrizione di protocolli

Транскрипт:

L Parliamo di SOA (Service o Oriented Architecture) Antonio Pintus, Marco Marongiu 1

Chi siamo Antonio Pintus è laureato in Informatica e studente di Dottorato di Ricerca in Informatica con argomenti relativi a "Service Oriented Architecture". Lavora come Software Engineer presso il CRS4 (Centro di Ricerca, Sviluppo e Studi Superiori in Sardegna). pintux[at]pintux.it Marco Marongiu è laureato in Matematica. Lavora come System Administrator per Tiscali nella sede di Sa Illetta a Cagliari. Attualmente il suo compito principale è la gestione sistemistica dell'infrastruttura SOA di Tiscali, basata su prodotti TIBCO. Scrive inoltre su riviste e siti web specializzati, in Italia e all'estero. mmarongiu[at]tiscali.com 2

Di cosa parliamo... Sistemi eterogenei, non progettati per parlare fra loro, da integrare, di qualunque dimensione Sistemi distribuiti di grandi dimensioni, fuori dal controllo di una singola organizzazione Sistemi in ambito business, ma ultimamente la SOA si sta utilizzando anche in ambito scientifico 3

Service Oriented Architecture (SOA): introduzione (1) In un recente passato, i sistemi enterprise, spesso si differenziavano (di fatto creando notevoli incompatibilità tra di essi) per l'adozione di tutta una serie di diversi protocolli, interfacce, tecnologie e prodotti commerciali Nonostante ci siano stati tutta una serie di approcci per rendere più interoperabili questi sistemi, è sinora mancato una effettiva definizione ed impiego di standard 4

Service Oriented Architecture (SOA): introduzione (2) Inizialmente nata come soluzione software per l'integrazione di sistemi eterogenei in ambito Business-to-Business (B2B) Giunta a poter essere considerata, da un punto di vista più astratto, come un'architettura, un modello di programmazione ed un paradigma con lo scopo di raggiungere un disacoppiamento (o basso livello di accoppiamento) nel design di applicazioni distribuite costituite da agenti software (servizi) interagenti tra loro Modello pervasivo, oltre che inter-enterprise, anche intraenterprise e a tutti i livelli, dal management al settore IT 5

Vantaggi di SOA Interoperabilità tra sistemi eterogenei Standardizzazione delle interazioni Astrazione dai dettagli implementativi Scalabilità Adattività ai rapidi cambiamenti delle esigenze di business Monitoring Governance Libertà nella scelta delle piattaforme di sviluppo 6

Svantaggi di SOA l'aggiunta di un certo numero di livelli di indirezione porta ad una maggiore lentezza Complessità: sviluppare, fare il debugging e mantenere sistemi distribuiti con un basso livello di accoppiamento tra le componenti è piuttosto complesso Spesso l'adozione di questo modello impone un adattamento anche nell'organizzazione delle persone 7

Concetti base Servizi insieme di componenti software che implementano una funzionalità Interoperabilità capacità di sistemi diversi di comunicare fra loro Disaccoppiamento (loose coupling) condizione di dipendenza ridotta o assente fra diversi componenti di un sistema distribuito 8

Componenti base Infrastruttura Comunemente è l'enterprise Service Bus (ESB), il cui ruolo è permettere l'interoperabilità Architettura ad alto livello: i sistemi, i servizi, le interfacce, il bus Processi Sequenza di azioni da eseguire per implementare una certa funzionalità di business (ne parleremo in concreto più avanti) 9

Il concetto di Servizio (1) Un servizio è un modulo software, autonomo e indipendente dalla piattaforma, indipendente dal linguaggio di programmazione usato e progettato per consentire una interazione di tipo Machine-to- Machine (M2M) attraverso la rete. E' un'astrazione software di un processo reale In particolare potrebbe essere un servizio orientato al Businessto-Business (B2B) Fornitore del servizio (Service Provider): la parte che fornisce e rende disponibile il servizio. Fruitore del servizio (Service Consumer): la parte che consuma il servizio utilizzandolo per il proprio processo di business 10

Il concetto di Servizio (2) I servizi diventano quindi le unità atomiche per il design e l'implementazione di architetture software distribuite che rispondono all'esigenza di processi di business anche molto complessi nonché potenzialmente decentralizzati ed eterogenei. I servizi possono essere composti tra loro Nuove applicazioni possono essere rapidamente costruite mediante una loro composizione Si parla di orchestrazione e coreografia di servizi esistono approcci alternativi; fra questi stanno prendendo quota gli eventi, da cui le Event-Driven Architecture Le applicazioni composte sono a loro volta un servizio 11

Interoperabilità e disacoppiamento (loose-coupling) (1) Web Services: la tecnologia dei Web Service è rapidamente diventata la tecnologia abilitante per SOA. Web Services (WS), una definizione: A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (WSDL). Other systems interact with the Web Service in a manner prescribed by its description using SOAP messages, conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. (W3C) Grazie alle descrizioni formali e gli standard definiti per i WS, essi sono oggi ampiamente utilizzati, riuscendo a garantire anche l'interoperabilità, il disacoppiamento e indipendenza dalla piattaforma. 12

Interoperabilità e disacoppiamento (loose-coupling) (2) I web service sono un sistema sincrono La comunicazione può essere anche asincrona Nessuno dei due schemi è vincente di per sé, la scelta deve essere strettamente legata al contesto in cui il servizio andrà ad operare Un approccio asincrono è basato sullo scambio di messaggi, che può avvenire secondo modelli diversi (si parla di Message Exchange Patterns o MEP) Uno strumento è fornito da prodotti che implementano la specifica JMS (messaggistica basata su code o su topic ) 13

Enterprise Service Bus (ESB) Realizza la comunicazione fra i servizi Permette l'invocazione dei servizi su sistemi eterogenei supporto allo scambio dei messaggi la trasformazione dei dati il routing intelligente dei messaggi gestione dell'affidabilità e sicurezza monitoring e management dei servizi Costituisce una backbone che tratta le applicazioni come servizi, consentendo la composizione e la comunicazione tra applicazioni con: loose coupling, Messaggi, Plug & Play di applicazioni enterprise eterogenee 14

Enterprise Service Bus (ESB) BPEL orchestration JMS / JavaEE Service orchestration Applications... Enterprise Service Bus (ESB) Distributed Query Engine Adapters Web Services MQ gateway Data Sources Applicazioni Enterprise Applicazioni Java.NET,... Mainframe, Applicazioni legacy Immagine adattata, si veda il rif. [1] 15

Service Orchestration Un'orchestrazione di servizi descrive come essi possono interagire tra di loro a livello di messaggi, includendo la logica di business e l'ordine di esecuzione delle interazioni L'intero flusso e la sua esecuzione sono sempre controllati da una delle parti coinvolte nel processo. Mediante orchestration quindi è possibile definire un processo di business multi-step, eseguibile, potenzialmente di lunga durata e transazionale WS-BPEL il linguaggio più usato 16

Service Coreography Ogni servizio conosce solo il suo compito e come passare ai servizi che lo seguono nella catena il prodotto della loro elaborazione è il modello del passacarte Non c'è una entità centrale che ha conoscenza di tutto il processo e lo dirige Vantaggi: l'implementazione di un servizio coreografico è concettualmente più semplice Svantaggi: capire dove un processo si è incastrato può diventare complicato non ci sono standard e tool consolidati come per BPEL e orchestrazione 17

API In questo caso si utilizzano i prodotti di un vendor che mette a disposizione una API e dei tool di sviluppo per costruire i servizi I servizi e il bus condividono la API Vantaggi: lo sviluppatore non deve occuparsi di dettagli di basso livello (p.e.: protocollo di comunicazione, reliability, gestione degli errori...) Svantaggi: si è legati al vendor, ai suoi prodotti e alle loro modifiche, al suo servizio di supporto... 18

Esempi 19

Architettura di esempio SMS gateway (GW) S2 Trouble Ticket (TT) Enterprise Service Bus (ESB) Monitoring (MON) S1 Fault manager (FM) 20

Esempio: flusso non integrato qualcuno inserisce un ticket di fault su TT S1 vede il fault, lo prende in carico e allerta S2 S2 importa il fault su FM FM invia per SMS attraverso GW gli aggiornamenti del ticket risolto il problema, S2 chiude il ticket su TT FM rileva la chiusura del fault e manda l'ultimo aggiornamento via GW 21

Coreografia (con messaggi one-way) SMS gateway (GW) S2 Trouble Ticket (TT) Enterprise Service Bus (ESB) Monitoring (MON) S1 Fault manager (FM) 22

Coreografia (ottimizzato) SMS gateway (GW) S2 Trouble Ticket (TT) Adapter Monitoring (MON) S1 Fault manager (FM) 23

Messaggi asincroni SMS gateway (GW) S2 Trouble Ticket (TT) SMS.IN TT.FAULT.OPEN FM.CLOSE FM.OPEN Monitoring (MON) S1 Fault manager (FM) 24

Un altro approccio: Web Services (1) Tutti i servizi sono realizzati: O come Web Service O dispongono di un adapter di tipo Web Service La gestione dei processi automatici ora avviene mediante una Web Service Orchestration: Mediante un processo BPEL, long-running, capace di reagire ad eventi (asincroni) Per esempio alla chiusura del ticket che termina di fatto il processo 25

Un altro approccio: Web Services (2) SMS gateway WS (GW) SMS S2 close Trouble Ticket WS (TT) Enterprise Service Bus (ESB) Monitoring (MON) BPEL orchestration S1 Fault manager WS (FM) 26

Riferimenti [1] Michael P. Papazoglou, Web Services: Principles and Technology, Pearson Prentice Hall, 2007 [2] Nicolai M. Josuttis, SOA in Practice The Art of Distributed System Design, O'Reilly, 2007 [3] AA.VV.: SOA Practiotioners' Guide, part 1, 2, 3. http://dev2dev.bea.com/pub/a/2006/09/soa-practitioners-guide.html http://www.soablueprint.com/practitioners_guide 27

Grazie per l'attenzione. 28