Service oriented architecture: di che cosa parliamo?
Transcript
Service oriented architecture: di che cosa parliamo?
Speciale SOA Service oriented architecture: di che cosa parliamo? Anticipazioni dal Libro Bianco sulla SOA curato dal Gruppo di Lavoro del ClubTI di Milano. La prima edizione entro la fine del 2009 Il presente articolo raccoglie alcune considerazioni dell’autore sulla SOA derivate principalmente dalla sua attività professionale e dal coordinamento del Gruppo di Lavoro sulla SOA (si veda Box 1) del ClubTI di Milano e di FidaInform (Box 2), che ha portato alla stesura della prima versione del Libro Bianco sulla SOA (Box 3) che l’autore, assieme al Gruppo di Lavoro sta aggiornando e completando nella prossima versione definitiva, che sarà disponibile entro la fine del 2009. Che cosa è la SOA: una breve sintesi La SOA, Service Oriented Architecture, può essere definita come uno stile architetturale informatico - ICT, Information and Communication Technology, che supporta, integrandoli, i processi di business come un insieme di servizi tra loro interoperanti. Essa rappresenta da un lato una importante soluzione basata su standard per garantire l’interoperabilità tra programmi software indipendentemente dai linguaggi e dai sistemi operativi, dall’altro tende a colmare il gap tra i processi e le attività svolte dall‘Azienda/Ente e gli strumenti ICT che le supportano. La SOA consente di pianificare, progettare, sviluppare e fornire soluzioni ICT come “servizi modulari di business” per costruire un’organizzazione, impresa o ente come una Pubblica Amministrazione (PA) che sia, agile, flessibile ed allineata 62 al business o alle attività, in modo da essere più competitiva, profittevole, efficace ed efficiente. La fig. 1 sintetizza tale doppia valenza della SOA, sia lato tecnico che lato business. L’approccio logico alla base della SOA per consentire uno stretto allineamento tra processi aziendali e moduli software che li supportino si basa su: 1) individuazione dei processi e loro scomposizione in “business processes”; 2) realizzazione di moduli software interoperanti basati su oggetti e su standard internazionali; 3) associazione tra processi ed applicativi software realizzate assemblando e coordinando i componenti software di cui sopra. I “Business Services” possono essere visti come l’immagine “elettronica” e concettuale di un processo reale o di una sua parte (si veda Figura 2). La definizione dei business services costituisce un vero e proprio progetto, che parte dalla fotografia dei processi in essere nell’organizzazione (o di un loro sotto insieme) e che arriva alla loro analisi per individuare componenti (ad esempio singole attività o gruppi di attività) che sono espletate in diversi processi o che sono specifici ed unici di uno stesso processo. L’analisi deve tener conto che la “modularizzazione” dei processi servirà per associare poi ad essi gli idonei componenti software. Importante quindi individuare la più conveniente “granularità”, ossia l’insieme di funzioni (e quindi la complessità) che ogni singolo servizio espleta: il singolo servizio può essere elementare, ad esempio la registrazione di una informazione, o con molteplici funzionalità, ad esempio espletare l’intero ciclo passivo o attivo (o entrambi!!) della contabilità. In una Soa i “componenti software” sono di norma i “web services”: per realizzare una SOA possono essere usate anche altre tecnologie, ma sono questi ultimi i più usati e diffusi. Un Web Service è quindi un componente software disegnato per incapsulare una funzione o un processo di business, che supporta una interazione macchina-mac- Fig. 1 - Le due facce della Soa: tecnica e di business • più facile allineamento e più stretta correlazione tra processi di business e applicativi software che li supportano • migliore e maggiore governo ICT • migliore e maggiore governo dei processi tramite l’ICT • più facile automazione dei processi e quindi migliore BPM e BAM • più facile ripensamento-reingegnerizzazione dei processi Consente una corrispondenza tra un ‘modulo’ di un processo di business (business service) e un oggetto software che risponda agli standard SOA BUSINESS TECNICO BPM, BUSINESS PROCESS MANAGEMENT BAM, BUSINESS ACTIVITY MONITORING • più facile e più efficiente interoperabilità tra applicativi software • riusabilità dei moduli (economia) • più facile e più efficiente evoluzione delle architetture dei sistemi informativi • migliore governance ICT sia a livello strategico che operativo più efficace valorizzazione del contributo dell’ICT al business Tramite standard internazionali e consolidati, permette l’interoperabilità tra e la riusabilità dei moduli software indipendentemente dal tipo di linguaggio usato e dal tipo di sistema operativo ICT Professional n.66 Speciale SOA ICT Professional n.66 Fig. 2 - Correlazione tra processi , Business Services e Web Services High Level Business Process Business Service Processi Business Service Business Service Business Level Electronic Image KPI, Real time Alerting Business Services Electronic Image of the High Level Business Proc. Web Services Web Services Fig. 3 - Il modello “elementare” dei Web Services UDDI repository SO AP Me ssa ge s Un protocollo standardizzato che definisce il formato di un messaggio fra le applicazioni <publish> A Una directory (pubblica o privata) BROKER che serve per trovare e identificare Registra il servizio e aiuta a cercarlo i Web Services di interesse WSDL Un linguaggio XML based utilizzato per scrivere come utilizzare il Web Service C I.T. Levels Registrare e rendere disponibile un Web Service A) Il producer registra il suo Web Service con un broker B) Il consumer chiede il servizio attraverso il broker C) Il broker identifica il producer per il consumer s ge sa es M AP SO china e che è descritto mediante: • Interfaccia: descrive i messaggi di input/output utilizztati/generati dal servizio; • Implementazione: descrive il “comportamento” del servizio. I Web Services vengono descritti e richiamati utilizzando tre standard universalmente consolidati ed accettati: • WSDL, Web Services Description Language: è un dialetto del linguaggio XML che fornisce la grammatica, la semantica e il formato di specificazione delle interfacce esposte dai Web Service. È gestito da W3C, si veda: http://www.w3.org/TR/wsdl20/ • SOAP, Simple Object Access Protocol: è il protocollo per chiamare un servizio e ricevere risposta. L’utilizzo di SOAP su HTPP (ma si potrebbe usare SMTP, FTP...) è la base dei Web Services, secondo quanto la maggior parte dell’industria del software ha ormai stabilito come standard di fatto. • UDDI,Universal Description Discovery Integration: è lo standard per registrare e ricercare i Web Services all’interno di directory, come delle pagine gialle. Base comune a questi tre standard è l’ XML, Extensible Markup Language: esso è un metalinguaggio creato e gestito dal World Wide Web Consortium (W3C), utilizzato per creare nuovi linguaggi atti a descrivere documenti strutturati. Rispetto ad HTML, che descrive con opportuni tag come l’informazione deve essere presentata sul browser all’utente (posizionamento testo e fotografie, colore e caratteristiche caratteri, ecc.), l’XML fornisce tag che indicano la semantica delle informazioni, quindi il tipo di informazione: ad esempio un indirizzo, una qualifica, la retribuzione mensile, ecc. L’XML è oggi la semantica di riferimento per i contenuti di protocolli, informazioni delle applicazioni, ecc. È utilizzato anche come mezzo per l’esportazione di dati tra diverse banche dati. Essendo un metalinguaggio, con XML è possibile creare dei Dizionari specifici per specifici ambiti, quali ad esempio <find> Utilizzare un Web Service B 1) Il consumer manda una richiesta al producer <bind> PRODUCER Fornisce il servizio 1 2 CONSUMER Utilizza il servizio 2) Il producer risponde alla richiesta del consumer SOAP Messages matematica, chimica, medicina, architettura, commercio internazionale, e così via. La fig. 3 mostra il modello di base di un funzionamento dei web services, basato sull’interazione tra l’agente utente, nella figura indicato con “consumer” e l’agente “producer” che fornisce il web service richiesto. Sia “consumer” che “producer” hanno la stessa “descrizione” tramite WSDL e comunicano tramite il protocollo SOAP (si vedano in figura i punti 1 e 2). Il “Producer”, chiamato anche “provider” realizza e mette a disposizione in rete uno o più web services: li pubblica attraverso un “broker” che costituisce una directory, ossia un elenco dei servizi “pubblicati” con una descrizione standardizzata delle loro caratteristiche e funzionalità. La pubblicazione avviene tramite l’operazione di <publish> (si veda fig. 4) . Il “Producer” agisce come un service provider che rimane in attesa di richieste (da parte di consumer) dei servizi offerti. Il “Brooker”, chiamato anche “Service Directory”, gestisce il registro (Regi- stry) dei servizi pubblicati: svolge il ruolo di “pagine gialle” per chi ricerca un servizio sulla base delle caratteristiche e funzionalità con le quali è stato registrato. Il “Brooker” può seguire politiche di controllo e filtraggio delle richieste, limitando la visibilità dei servizi registrati a seconda del profilo del richiedente. Il “Consumer”, chiamato anche “requestor”, è l’utente dei servizi forniti dai provider. Per conoscere se e dove è erogato il servizio richiesto, interroga con l’operazione <find> il Brooker. Individuato il producer, si collego ad esso con <bind> ed utilizza il servizio richiesto con <use>. In SOA il mezzo trasmissivo è la rete Internet ed il protocollo è SOAP. Questo protocollo usa una sintassi ed una semantica dei messaggi XML ed utilizza per trasporto dei suoi messaggi il sottostante protocollo HTTP tipico del mondo web e di Internet. L’uso di http ha favorito la diffusione di SOAP, dato che altri protocolli, tipici di ambienti preSOA ma con le stesse finalità, quali CORBA-IIOP, RMI e COM+ usano 63 Speciale SOA Fig. 4 - Le tipiche operazioni elementari tra web services Broker <publish> <find> <bind> Producer Consumer <use> Fig. 5 - BPEL nello Stack dei Servizi SOA BPEL4WS WS- Reliable Messaging Process WSCoordination WS- Security WS- BA Quality of Service UDDI Discovery XSD, WSDL, WS-Policy Description SOAP Messaging XML HTTP, MQ, SMTP porte in Internet spesso bloccate dai firewall. Un elemento chiave dei web services è la loro interfaccia “standard” realizzata tramite WSDL, anch’esso basato su XML. Tale interfaccia descrive ciò che il web service effettua e con quali primitive e comandi si interagisce con esso. Praticamente tale interfaccia assomiglia alle ti- Transport piche e ben note interfacce di programmazione API, Application Program Interface. Per la realizzazione di un applicativo i Web services da soli non bastano: occorre il loro coordinamento. Dati i diversi livelli di granularità con i quali può esser costruito un web service, un programma normalmente è costituito da più web ser- vices. Occorre quindi descrivere come comporre questi web services, descrivere il loro flusso di esecuzione , in una parola coordinarli per ottenere l’applicativo voluto. In ambito SOA esistono due differenti scenari per il coordinamento, che stabiliscono i relativi modelli di regole: •l’orchestrazione dei servizi; •La coreografia dei servizi. Definire standard per le politiche di coordinamento dei servizi non è un problema semplice e solo tecnologico. Nel tempo sono emersi e si sono consolidati due standard, il BPEL per l’orchestrazione ed il WS-CD per la coreografia. Tutti gli scenari di coordinamento, indipendentemente dalla loro complessità, devono essere costruiti esclusivamente a partire dalla composizione di interazioni elementari di tipo messaggio senza replica, messaggio/replica sincroni, messaggio/replica asincroni. Il termine orchestrazione fa chiaro riferimento ad un’orchestra nella quale i singoli musicisti hanno uno spartito, sanno suonare il loro strumento ma devono essere coordinati dal direttore di orchestra (orchestrator). La metafora dell’orchestra evidenzia che questo modello richiede la centralizzazione del controllo. Il modello dell’orchestrazione si basa comunque sulla centralizzazione del controllo, e consente una reale autonomia dei singoli servizi, che svolgono le loro funzioni, quando attivati, sempre allo stesso modo indipendentemente da chi e come svolge l’orchestrazione. L’orchestrazione di fat- 1 The OpenGroup è molto attivo anche in ambito SOA, ed ha prodotto delle specifiche per approcciare soluzioni SOA nell’ambito del proprio modello architetturale TOGAF, si veda http://www.opengroup.org/projects/soa-book/ 2 Il termine incapsulamento è qui usato con un significato generico e diverso da quello della programmazione ad oggetti, per la quale significa che un oggetto contiene (“incapsula”) al suo interno gli attributi (dati) e i metodi (procedure) che accedono ai dati stessi. 3 JCP, Java Community Process. è un processo formalizzato per le specifiche e le caratteristiche future delle piattaforme Java, ed emana i documenti, le Java Specification Request, univocamente identificati dalla sigla JSR xxx. 4 Con il termine di BPM, Business Process Management, si intende un insieme di attività per la gestione dei processi in un’ottica di integrazione e di supervisione complessiva dell’intera filiera, con l’obiettivo di migliorarli e renderli in maniera progressiva più efficaci ed efficienti per il business (azienda) e/o per i fini istituzionali. 5 Con il termine di BAM, Business Activity Monitoring, si intende un insieme di attività per la misurazione delle prestazioni dei processi per il business. Spesso viene usato per indicare queste attività il termine BPM, Business Performance Management, ma l’acronimo si confonde con il Business Process Management: per questo motivo si preferisce usare l’acronimo BAM. 64 ICT Professional n.66 Speciale SOA ICT Professional n.66 Fig. 6 - Esempio di funzionamento dell’orchestrazione dei web services via BPEL ed il relativo motore Software di sviluppo Processo BPEL .NET <process> <sequence> <receive> <.../> </sequence> </process> Java Il Web Service viene pubblicato ERP Web Services Progettista di processo Motore di Orchestrazione Fig. 7 - La visione d’insieme dell’associazione processi-ICT in SOA con web services High Level Business Process BAM Business Service Business Service Business Service Explicit Processes Electronic Image ∝ to è un servizio logicamente di livello superiore rispetto ai web services che concorrono all’attuazione dell’applicativo: essa non eroga uno specifico servizio, ma attua il coordinamento tra i web services per realizzare la loro cooperazione ed ottenere l’applicativo desiderato. BPEL è un linguaggio basato su XML, standardizzato da W3C e OASIS come BPEL4WS o WS-BPEL per il coordinamento dei web services: si posiziona al di sopra della pila (stack) dei web services, schematizzata in fig. 5. L’applicazione SOA voluta viene assemblata con gli opportuni web services che si attivano secondo le regole descritte tramite BPEL, che specifica l’esatto ordine secondo il quale i web services devono essere invocati. Tale ordine può essere sequenziale o parallelo, e con BPEL si possono esprimere scelte condizionali: un web service, ad esempio, può essere invocato in funzione del valore di un precedente web service o di un predefinito parametro. Con BPEL, come un normale linguaggio di programmazione, si possono costruire loop, dichiarare variabili, copie ed assegnare valori, ecc. Combinando tutti questi costrutti, è possibile definire praticamente qualsiasi processo di business complesso. La fig. 6 mostra l’esempio di funzionamento dell’orchestrazione dei web services via BPEL ed il relativo motore. Il progettista “monta” tra di loro i vari webservices, che possono anche essere remoti e sviluppati in ambiente diversi: nella figura in Java, dotnet ed un’applicazione ERP. Il montaggio avviene creando un unico <processo> (si veda il tag <process> di apertura e chiusura dell’intero programma BPEL in figura) al cui interno si trovano tipicamente comandi quali <receive> per gestire richieste da parte del client , <reply>per rispondere alle richieste di <receive>, <invoke> per invocare web services remoti, e così via. BPEL è anche usato come “descrittore” formale di processi, ed in questo ruolo si affianca ad altri strumenti quali il BPMN, Business Process Modeling Notation, dell’OMG: è la notazione grafica standard KPI, Real time Alerting Electronic Image of the High Level Business Proc. BSM Business Level Business Process Mgmt I.T. Levels Web Services WSM ....... System Mgmt ....... Applications ↓ ↓↓ ↓ ↓ ↓↓ Vendite ↓ Vendite Vendite Vendite Server Vendite ↓ ↓↓ ↓ ↓ ↓ ↓ Storage per disegnare processi di business in un workflow (http://www.bpmn.org/). Lo standard più consolidato per la descrizione di coreografie è WS-CDL, Web Service Choreography Description Language. Questo linguaggio, basato su XML, permette di specificare in una logica di contratto tra le parti, ossia tra i web services componenti, come questi devono interoperare ed a quali vincoli devono sottostare perché ciascuno garantisca il corretto espletamento delle proprie attività. WS-CDL descrive la collaborazione interoperabile e “peer-to-peer” tra le parte coinvolte: il corretto comportamento tra le parti è raggiunto stabilendo mutue responsabilità tramite opportune “relazioni” (Relationships). La collaborazione Application layer avviene tramite un insieme di regole e di vincoli congiuntamente concordati, attraverso le quali avviene lo scambio di messaggi. La Figura 7 mostra una visione d’insieme di una architettura SOA basata su web services, ed evidenzia sia le logiche tecniche che quelle di “governante”, più avanti discusse. Osservando la figura dall’alto verso il basso si evidenziano: •sul lato “execution” che riguarda l’implementazione: - la ristrutturazione dei processi di Business ad alto livello con la loro “decomposizione” in Business Services; - la loro corrispondenza con uno o più Web Services; - l’uso di web service consente di mi- 65 Speciale SOA surazione delle loro prestazioni - a livello di sistemi ICT viene effettuato il “tradizionale” monitoraggio e controllo del funzionamento e delle prestazioni dei sistemi ICT, in termini di applicazioni, software di base (middleware), reti ed hardware Fig. 8 - Tipico schema funzionale di ESB Ma dove e come può operare una SOA? (Fonte: Mule) Figura 9 - Le principali tecniche di sicurezza per una SOA e web services (Fonte: IBM) gliorare la flessibilità, il time-to market, l’efficienza nel supportare i servizi di business, oltre che nella creazione di nuovi web services, riutilizzando, modificando e componendo quelli esistenti. È importante evidenziare che SOA non definisce modalità di sviluppo software per i web service. •sul lato monitoraggio e controllo: - a livello processi di business tali funzioni sono attuate, in logica top-down, dal BAM, Business Activity Monitoring (concetto ripreso e approfondito più avanti) e dal BSM, Business Service Management. Il primo fornisce informazioni di sintesi e dettaglio per i decisori sul business, il secondo misura i livelli di servizio (SLA) e verifica gli impatti sui Business Services; - a livello web services, il monitoraggio di questi servizi viene attuato dal WSM, Web Service Management, che si occupa del monitoraggio dell’execution dei web services e del controllo e della mi- I web services operano prevalentemente lato server, ma in taluni casi possono anche operare sui sistemi d’utente: condizione “sine qua non” è che siano fra loro interconnessi con la tipica pila di protocolli di Internet, al cui top si trovi SOAP. Il mondo dei server, analogamente a quello per lo sviluppo software, si suddivide attualmente in due principali ambiti, che fanno riferimento ai sistemi operativi prevalentemente utilizzati: •Il mondo Linux e Unix, il primo opensource il secondo proprietario e con alcuni attori di riferimento, quali Sun, HP ed IBM che hanno dato vita insieme ad altre aziende ed enti al consorzio The OpenGroup1 (http://www.opengroup.org/) •Il mondo Windows della Microsoft per i server: il primo sistema operativo per i server è stato N; attualmente sono ancora in funzione server Windows 2000 e 2003, oltre all’ultima versione corrente, Windows 2008. Questa macro divisione dei sistemi operativi per le piattaforme server vale anche per gli ambienti per lo sviluppo del software si dividono ormai in due differenti “filosofie”, che da anni si contendono e si spartiscono il mercato: ™6 Con il termine di BPR, Business Process Reengineering, si intende l’attività di modifica radicale di uno o più processi aziendali che muti le condizioni di produzione di un prodotto/servizio in modo percepibile dal cliente. 7 ITIL, IT Infrastructure Library, costituisce un insieme di “best practices” ben consolidate ed accettate per la gestione dei servizi ICT. Una parte di tali best practices sono state standardizzate nell’ ISO 20000. L’attuale versione di ITIL è la 3, focalizzata a coprire l’intero ciclo di vita di un servizio. 8 RMI, Remote Method Invocation, consente di invocare metodi di oggetti remoti: questo standard è stato incluso nell’ambito Java. 9 OLE, Object Linking and Embedding, è la tecnica Microsoft per il collegamento e l’incorporazione di oggetti. 10 COM, COM+ e DCOM costituiscono l’evoluzione nel tempo delle archietture Microsoft per applicazioni distribuite 11 Confronta articolo “La Soa è morta. Viva i servizi” pubblicato il 13 gennaio 2009 su www.eweekeurope.it nella sezione Opinioni 12 Centro Nazionale per l’Informatica nelle Pubbliche Amministrazioni 66 ICT Professional n.66 Speciale SOA •quella Microsoft, che si basa sulla disponibilità di ogni tipo (o quasi) di linguaggio di programmazione, ma solo nell’ambito dei propri sistemi operativi Windows; è una filosofia “proprietaria” ma molto diffusa anche per una certa facilità di sviluppo, che è andata sviluppandosi fino a raggiungere l’attuale framework architetturale .NET in grado di sviluppare e gestire web services (propri o di altri); •quella del “mondo Java”, guidato da Sun, IBM ed Oracle, che si basa sul linguaggio Java2 che può operare su qualsiasi hardware e con qualsiasi sistema operativo, basta che ci sia una JVM, Java Virtual Machine; operante in ogni ambiente operativo, dagli embedded system ai super computer; è un approccio molto “open” ma più complesso, che ha avuto varie implementazioni e sofisticazioni a seconda dei diversi fornitori; •entrambi questi mondi adottano gli standard SOA ed XML come semantica comune per l’interoperabilità. Il mercato italiano degli sviluppatori si è prevalentemente orientato : •Per “piccoli” sviluppi al mondo .NET; •Per applicazioni più complesse e più sofisticate (transazionali, real-time, software di base, ecc.) agli ambienti J2EE, Java 2 Enterprise Edition. L’architettura SOA ed i web services consentono di superare la demarcazione sopra illustrata, in quanto sono e possono essere indipendenti sia dal linguaggio di programmazione che dal tipo di sistema operativo sul quale vengono fatti operare. L’infrastruttura tipica per il supporto di una architettura SOA con i web services si base su server in logica multi-tier, tipicamente su web server – application server – database server. Il più delle volte occorre poi interfacciarsi ad applicativi o a banche dati preesistenti, che non si possono “mostrare” come web services. Come presentarli come web services senza riscriverli? La tecnica è chiamata “wrapping”, in italiano “incapsulamento2”: si costruisce un’apposita interfaccia che da un lato presenta WSDL e supporta il protocollo SOAP, dall’altra ICT Professional n.66 Figura 10 - Schema di riferimento degli strumenti di sicurezza per i web service WS-SecureConversation WS-Federation WS-Authorizzation WS-Trust WS-Privacy WS-Policy WS-PolicyFramework WS-Policy Attrachments Policy Assertions WS-Security today SOAP Foundation time (Fonte: W3C) si interfaccia all’applicazione con le sue interfacce native (“as is”). La necessità di interfacciare e far interoperare web services con sistemi legacy diversi ha portato alla creazione di una infrastruttura software chiamata Enteprise Service Bus, ESB, in grado di fornire efficienti ed efficaci adattatori tra i diversi sistemi (si veda un esempio in fig. 8). In un’infrastruttura ESB, tutte le applicazioni sono integrate ed operano come “servizi“ e la logica d’integrazione è distribuita lungo gli endpoint connessi al bus. Decentralizzando la logica di integrazione lungo il bus si migliora la scalabilità teorica ed è possibile effettuare gradualmente il rilascio delle funzionalità d’integrazione strettamente necessarie. Lo standard di riferimento per l’ ESB in un’architettura SOA è dato da JBI, Java Business Integration, la specifica emanata da JCP, il Java Community Process3. La SOA è sicura? La SOA, per la sua logica architetturale di un insieme di componenti che sono in- IL GDL SOA DEL CLUBTI DI MILANO (BOX 1) Dal secondo semestre 2006 nel ClubTI di Milano è attivo il Gruppo di Lavoro SOA, formato da CIO, consulenti, responsabili di aziende dell’offerta, e coordinato da Marco Bozzetti, con l’obiettivo di fornire una chiave di lettura della SOA e dei web services (WS) non solo per i CIO ma anche per i decisori, ai diversi livelli, lato offerta e lato domanda. Il GdL iniziò a studiare il fenomeno con un taglio manageriale, contestualizzandolo nella situazione ICT italiana, chiarendo che cosa è e che cosa non è (le varie declinazioni, gli standard, …), a chi interessa e perché (sia lato domanda che lato offerta), quali sono i modelli di business, quali i criteri e le logiche per una “corretta” scelta ed implementazione da parte di un Ente/Azienda. I risultati della corposa attività di “volontariato professionale” del GdL SOA si sono concretizzati in: • Pubblicazione a marzo 2008 del Libro Bianco sulla SOA v. 1, disponibile in formato elettronico, sul sito del Club (si veda anche Box 3); entro il 2009 verrà pubblicata la versione 2 definitiva del Libro Bianco • Workshop sulla SOA tenuto in Assolombarda del 23 giugno e del 16 settembre 2008, disponibile in streaming su www.soieltv.it • Partecipazione e contributi in numerosi Convegni • Realizzazione SOA University in streaming su www.cbritaly.it Il GdL SOA ha operato in due fasi distinte: una prima fase che ha portato alla realizzazione della Libro Bianco v.1, ed una seconda fase, ancora in corso, per la realizzazione della v.2 e della SOA University. La prima fase non ha avuto alcuna sponsorizzazione, la seconda ha la sponsorizzazione di Accenture, HP e Microsoft. 67 Speciale SOA Fig. 11- Il passaggio da un agglomerato di architetture eterogenee alla SOA Roadmap OGGI Infrastruttura integrazione DOMANI Fig. 12 - La trasformazione della UO-SI come fornitore di servizi e competenze ICT dipendenti dalla locazione e rintracciabili in rete, apre un insieme di problemi sulla sicurezza che sono stati in parte risolti con un insieme specifico di strumenti e standard, nel seguito descritti. Gli aspetti della sicurezza ICT per l’architettura SOA e per web services includono: •aspetti architetturali e di configurazione: dipendono dalla progettazione complessiva del sistema; •la sicurezza dei singoli web service: dipende da come è stato scritto il codice; •le policy e gli strumenti per l’identificazione ed autenticazione degli interlocutori, che spesso sono altri programmi e web services. Gli standard per la sicurezza specifici per la SOA sono emessi e gestiti soprattutto da W3C (http://www.w3.org/Security/) e 68 da OASIS (http://www.oasisopen.org/specs/#wssv1.1). A questi si devono aggiungere gli altri standard tipici della sicurezza ICT, ed indipendenti dall’architettura SOA e dai web services, in particolare la famiglia di standard ISO 27000 per la gestione della sicurezza. Molto importanti a livello implementativo sono poi le specifiche per la realizzazione di soluzioni SOA sicure emanate da WS-I, per le quali si rimanda a http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicsecurity. La fig. 10 mostra lo schema dei vari strumenti di sicurezza, dove: •WS-Security descrive i miglioramenti per SOAP e definisce come usare i security token con i messaggi SOAP. XML Digital Signature e XML Encryption sono i meccanismi principali. •WS-Policy descrive come mittenti e riceventi possano specificare le loro capacità ed i loro requisiti, grazie ad uno specifico formato di messaggio SOAP per la policy. •WS-Trust descrive il modello per stabilire relazioni sicure sia in maniera diretta che tramite broker, incluse terze parti e intermediari. •WS-Privacy descrive il modello per inserire in una WS-Policy gli aspetti legati alla privacy. L’obiettivo è di poter espletare la conformità a determinate politiche di privacy con la combinazione di WS-Policy, WS-Securit e WS-Trust. •WS-SecureConversation descrive come gestire ed autenticare lo scambio di messaggi, includendo il trattamento delle chiavi di sessione. •WS-Federation descrive come costruire scenari federati per la sicurezza usando WS-Security, WS-Policy, WS-Trust e WS-SecureConversation. •WS-Authorisation descrive come le politiche di accesso ed autorizzazione per un web service debbono essere specificate e gestite. Tra tutti gli standard e le specifiche inerenti la SOA SAML, Security Assertion Markup Language, è uno standard basato su XML per lo scambio di dati di autenticazione ed autorizzazione, tipicamente tra un fornitore di web service ed un fornitore di identità management. È usato in particolare per omogeneizzare tra ambienti diversi il Single Sign-On. SAML fornisce la struttura per descrivere in maniera standard e in XML le informazioni di sicurezza di un utente. SAML è l’elemento fondante, nei web service, per l’autenticazione federata che facilita l’interazione tra domini di sicurezza diversi: l’identity management federato consente di isolare ciascun dominio dai dettagli di autenticazione e di autorizzazione delle altre infrastrutture grazie ai meccanismi ed ai messaggi standard SAML. Le origini e le motivazioni per la SOA Le motivazioni per la SOA derivano da un lato dalle necessità di business lato do- ICT Professional n.66 Speciale SOA manda, dall’altro dall’evoluzione tecnologica e dalla conseguente disponibilità di soluzioni per l’interoperabilità con gli standard precedentemente descritti, in particolare WSDL e SOAP, da tutti adottati. Nel presente paragrafo sono discusse le motivazioni lato domanda e lato Offerta, oltre che di tipo tecnico e di Business. La complessità dei sistemi informativi aziendali nasce dalla sovrapposizione nel tempo di soluzioni architetturali e applicative disomogenee tra loro, che rendono complessa e costosa la loro gestione: i vari “silos” disomogenei hanno creato, negli anni, una “barriera corallina” informatica con “n-plicazioni” di dati simili ma diversi, difficoltà di interazione, mancanza di flessibilità ed agilità nel complesso. Alle veloci richieste di cambiamento del business nei confronti dei sistemi informativi, questi ultimi risultano troppo spesso solo un vincolo ed un forte freno: affiancato al costo di gestione della “barriera” (mai come ora tale termine assume il suo vero significato semantico!!) il tutto non risulta più accettabile alla direzione dell’Azienda/Ente e richiede La soluzione è la definizione e implementazione di una infrastruttura software aziendale che permetta la comunicazione flessibile tra le applicazioni. Lo scopo primario è quello di passare da un mondo eterogeneo dove le varie architetture si sommano in un agglomerato caotico ad un insieme più ordinato di risorse le quali gravitano intorno ad un nucleo detto “infrastruttura di integrazione”, che si preoccupa di collegare tutto l’insieme impresa. La prima forte spinta è avvenuta quindi lato domanda, con l’aspettativa per il top management dell’Azienda/Ente: di migliorare la governance dell’ICT e dell’Azienda/Ente nel suo complesso , anche grazie all’introduzione di strumenti informatici per il monitoraggio ed il controllo dei processi e delle loro prestazioni (BPM, Business Process Management4 e BAM, Business Activity Monitoring5) oltre che tramite un ripensa- ICT Professional n.66 Fig. 13 - Il modello Demand-Delivery per la UO-SI Fig. 14 – Dall’analisi del Libro Bianco sulla SOA v.1: i benefici attesi Fig. 15 - Dall’analisi del Libro Bianco sulla SOA v.1: i motivi per l’adozione mento ed una re-ingegnerizzazione dei processi stessi (BPR6); di portare innovazione nei processi in maniera agile grazie all’informatica; di migliorare significativamente l’allineamento tra business/attività-processi- sistema informativo. Le aspettative riguardano anche il Responsabile dei sistemi Informativi e la sua Unità Organizzativa, che deve trasformarsi da puro centro di costo ad un Centro di Servizi e di Competenze ICT (si 69 Speciale SOA Fig. 16 - Il lungo percorso per l’interoperabilità applicativa Fig. 17 - La metafora della “mela SOA” veda fig. 12), con una struttura ed i processi interni orientati ad un modello “demand-delivery” schematizzato nella fig. 13 e capace di gestire tutte le fasi del ciclo di vita di un servizio ICT in logica ITILV37. Nella figura sono evidenziate unità organizzate che espletano processi primari ITIL delle varie fasi : •SO, Service Operation; •SS, Service Strategy; •SD, service Design: •CSI, Continual Service Improvement. La SOA rappresenta un’occasione ed una necessità per il cambiamento dell’unità organizzativa Sistemi Informativi (UOSI) con gli obiettivi di: •parlare il linguaggio del business-attività ed esserev più “vicini”, in maniera agile e flesibile, ai “process owner” ed agli utenti;, in modo da garantire un’effet- 70 tivo “time to market” nel soddisfare le richieste delle diverse Direzioni/linee di business; •creare un programma e una piano evolutivo (road map) dell’intera architettura dei sistemi informativi capaci di una più facile ed efficace interoperabilità tra sistemi ed applicativi diversi, per il superamento del problema dei silos e della conseguente inconsistenza dei dati; sempre più stretto allineamento dell’ICT alle esigenze del business e dei processi; maggior flessibilità e riusabilità di moduli (anche “vecchi” tecnicamente, ma non funzionalmente obsoleti) con una significativa riduzione dei costi ICT; •monitorare sistematicamente le prestazioni dei sistemi e dei servizi, introducendo metriche, quali ad esempio i Service Level Agreemnet (SLA) e rendendo il tutto trasparente all’utenza finale; •Maggior disponibilità di soluzioni sul mercato con conseguente maggior competitività e relativa riduzione dei costi. Tali motivazioni ed aspettative sono confermate dai risultati dell’indagine condotta dal GdL SOA alla fine del 2007 e riportata nel Libro Bianco v.1. La fig. 14 riporta i principali benefici attesi dalle Aziende, segmentate in funzione delle loro dimensioni come numero di dipendenti. La fig. 15 evidenzia le principali motivazioni da parte del top-management dell’Azienda/Ente. Le motivazioni di business non sono solo dalla parte della domanda, ossia dei clienti utilizzatori dell’ICT: ci sono, e significative, anche lato offerta, ossia dalla parte dei fornitori e produttori di soluzioni ICT. In primo luogo, dopo molto anni (si veda fig. 14) , si è avuta la definizione di standard comuni universalmente accettati da tutti i principali attori, con un totale indipendenza dai linguaggi di programmazione e dai sistemi operativi. Questo comporta una più facile e più lineare integrazione dei sistemi e degli applicativi, la riutilizzabilità e convertibilità dei “vecchi” software, un terreno comune per la collaborazione con altri fornitori ICT, una maggior focalizzazione alle esigenze reali dei clienti-utenti, una più facile produzione ed offerta di servizi “a consumo”, noti anche con la dizione inglese di “software on demand” e “pay per use”. Questa tipologia di servizi viene oggi denominata SaaS, “Software as a Service” fornita in rete da fornitori chiamati ASP, Application service Provider. Con la SOA svariate sono le opportunità di business per i diversi fornitori di ICT, che includono: • consulenza sui processi , in particolare per BPR e per la definizione di “business services”; • consulenza sull’evoluzione architetturale ICT: tempi e modalità, scelta fornitori, ecc.; • sviluppo e fornitura di applicazioni specifiche e di moduli applicativi specifici via web services; ICT Professional n.66 Speciale SOA ICT Professional n.66 Fig. 18 - L’architettura tecnica del Sistema Pubblico di Cooperazione nelle PA Composizione dei servizi SPConn SPCoop • fornitura piattaforme di sviluppo ed esecutive (run time): application server, platform server, ecc.; • Integrazione di sistemi e di applicazioni; • fornitura di web services , semplici e compositi, in logica SaaS; • fornitura di particolari componenti “iperspecializzati” (es. ESB, adapter, ecc.); • supporto per soluzioni in open source. Gli elementi differenzianti di un approccio SOA: 1) SOA non è una nuova moda, ma è basata su standard consolidati (OMG, Oasis, W3C) e diffusi, recepiti da tutti i grandi player informatici; 2) SOA è business-centrica : ICT e business (LOB) iniziano ad avere un vocabolario comune e ad essere allineati; 3) I servizi SOA si focalizzano sui processi di business e sulle loro interazioni; 4) I servizi SOA si connettono ed interoperano dinamicamente; 5) I servizi SOA possono essere riusati in maniera intensiva. Da un punto di vista strettamente tecnico, la SOA ed i Web Services rappresentano il punto d’arrivo di più di trent’anni di ricerca e sviluppo per consentire interoperabilità a livello applicativo. Come è evidenziato nella fig. 16, il primo standard de facto per l’interoperabilità è stato l’RPC, Remote Procedure Call, inizialmente usato per chiamate tra programmi all’interno della stessa macchine e dello stesso sistema operativo: proposta nel 1984, implementata da SUN (chiamata ONC) viene standardizzata dall’Open Group nell’architettura-framework DCE, Distributed Computing Environment, per applicazioni in logica client-server: (http://www.opengroup.org/dce/). Sulla base e dall’evoluzione del DCE OMG ha emanato è lo standard CORBA, Common Object Requesting Broker Architecture, che consente a moduli software, scritti in differenti linguaggi ed operanti su macchine diverse, di cooperare tra loro. CORBA introduce il concetto di servizi di supporto: naming, versioning, introspezione, ecc. Lo standard è com- Pubblicazione/abbonamento Orchestrazione Descrizione AS SPCoop (WS-Security) AS SPCoop Registro SICA (XML, SOAP, MIME) AS SPCoop (affidabilità) Messaggistica Busta SPCoop (WS-Security) Busta SPCoop (XML, SOAP, MIME) Affidabilità Connessione SSL, TLS HTTP IPsec IP Sicurezza Interazione Trasporto Tecnologie SCPCoop V.1.0 Piano di evoluzione SPCoop Affidabilità Fonte: Cnipa Fig. 19 - L’ interazione tra sistemi informativi diversi della PA tramite il Sistema Pubblico di Cooperazione Fonte: Cnipa plesso e vengono rilasciate diverse versioni; viene anche recepito in Java (RMI8), Con CORBA si è vicini all’attuale SOA, ma è di fatto usato prevalentemente nel mondo Linux-Unix e nell’ambito dell’open-source. Molti grandi fornitori hanno adottato CORBA, altri, in primis Microsoft, hanno sviluppato soluzioni diverse e proprietarie. Microsoft si è basata su RPC, in particolare per i PC: ha poi definito e sviluppato meccanismi di comunicazione ed architetture per l’interoperabilità man mano più sofisticate e basate su DCE: OLE9, COM10, COM+, DCOM, ActiveX. Solo recentemente, con il frame work .NET Microsoft adotta gli standard SOA ed i web services . Altri fornitori hanno proposto loro logiche proprietarie per lo più basate sul messaging, che complessivamente sono individuate con il termine EAI, Enterprise Architecture Inte- gration: tipici esempi le soluzioni MQseries di IBM e quelle di Tibco. Dal punto di vista tecnico la SOA coi web services è una tecnologia ormai affermata, consolidata ed utilizzata da tutti i principali fornitori e produttori di ICT. È presente su tutte le principali piattaforme server, sia proprietarie che open source, ed in tutti i principali ambienti di sviluppo, sia “integrati” (IDE, Integrated Developement Environoment) che “rapidi” (RAD, Rapid Application Developement). Data la complessità di progettazione e di sviluppo, in particolare per il coordinamento, sono state introdotte delle metodiche specifiche o che ben si adattano al mondo dei web services, in particolare: Strumenti e tecniche di ausilio allo sviluppo di web services; tra le molte, significativi e standard: 71 Speciale SOA Fig. 20 – Dall’analisi del Libro Bianco sulla SOA v.1 : le barriere all’adozione della SOA Fig. 21 – Le figure ICT standardizzate da Eucip - SCA , Service Component Architecture, e la Open CSA, OASIS Open Composite Services Architecture; - Gli strumenti WS-I, emessi dalla Web Service Interoperability Organization (http://www.ws-i.org/default.aspx) quali “best practices” e facilitatori per l’implementazione di applicazioni SOA; MDA, Model Driven Architecture, dell’OMG (http://www.omg.org/mda/). La SOA così affermata che essa costituisce la base tecnologica anche per le evoluzioni oggi al centro dei trend innovativi in informatica: AJAX, web 2.0, SaaS, Cloud Computing. Ma la l’ampiezza e la complessità di tali temi porterebbe trop- 72 po lontano e richiederebbe ben altro spazio rispetto al presente articolo, ed essi saranno quindi trattati in altre occasioni. Ma la SOA allora c’è o è morta? Dal precedente paragrafo si evince che la SOA ed i suoi standard non sono concetti nuovi, ma da tempo ormai consolidati, almeno a livello tecnico-architetturale. Negli ultimi anni la SOA ha raccolto interesse ed è al centro di una forte spinta promozionale da parte dei principali fornitori di ICT, ma recentemente questa spinta si è affievolita e vari giornalisti e fonti di stampa hanno titolato articoli con “La SOA è morta?” 11 , “La SOA non c’è più …”. La maggior parte dei nuovi pacchetti software si basa su web service e la totalità dei Fornitori basa le proprie soluzioni su tale architettura, per renderle indipendenti dalle piattaforme e dai sistemi operativi, oltre che facilmente interoperanti con altri applicativi. Ma questo porta a considerarla il più delle volte solo come un’altra nuova architettura tecnologia sulla quale tutti i produttori di software si sono buttati per ovvie ragioni di mercato e di marketing, relegandola quindi ad una nuova offerta di prodotto o di soluzione IT, e non aiuta a comprendere la sua doppia valenza, tecnica e di business, schematizzata nella Figura 1. Facendo riferimento a tale figura come ad una mela, è stata quasi totalmente “mangiata”, ossia adottata, la parte tecnologica, ma la parte business è stata solo “assaggiata” (la metafora in fig. 17). Il “quasi” riferito alla parte tecnologica sta ad indicare che, almeno in Italia, poche Aziende/Enti hanno intrapreso con la SOA un vero e proprio programma pluriennale per la trasformazione dell’intero sistema informativo. Sono stati fatti progetti prototipali o per coprire nuovi processi e nuove attività, oppure sono stati “wrappizzati” vecchi applicativi ancora funzionanti (i così detti legacy) per non doverli rifare, almeno nel breve medio termine. Con la generale crisi economica e finanziaria, oltre che con i grandi bagni di sangue di molti mega-progetti infirmatici degli anni passati, l’Alta Direzione vuole avere dei risultati a breve, massimo in 1214 mesi, e ben difficilmente si vuole impegnare in programmi pluriennali … L’introduzione dei concetti di BPR, BPM e BAM, che ora potrebbero trovare una più facile e reale attuazione tramite la SOA, non sempre è visto di buon occhio da parte dei massimi responsabili dell’Azienda/Ente: è doveroso misurare le attività degli altri … ma le mie? E questo è tanto più vero per le piccole realtà, che costituiscono l’ ossatura ed il sistema nervoso dell’economia italiana: perché mettere in discussione i processi se l’Azienda è in attivo e funziona? Perché ICT Professional n.66 Speciale SOA misurare, ed investire/spendere per farlo, attività che si crede siano sotto controllo ed “a vista” da parte dei massimi responsabili? L’osservazione è in parte vera, ma con la forte terziarizzazione di molti processi, con la filiera sempre più stretta tra l’azienda ed i suoi clienti e fornitori, la competitività “globale” richiede una continua innovazione su tutti i processi, e quindi un sempre più forte supporto dei sistemi informatici sia per l’automazione di molti processi sia come strumenti decisionali. In tale contesto una facile ma efficace ed efficiente interoperabilità dei propri sistemi informativi con quelli dei clienti e dei fornitori risulta sempre più improcrastinabile. Questo discorso vale anche per le Pubbliche Amministrazioni (PA), sia centrali che locali, che devono sempre più e meglio “digitalizzarsi” per offrire servizi a tutti i loro interlocutori, in primis i cittadini e le aziende. Il Cnipa12 ha definito propria la SOA come cuore del Sistema Pubblico di Cooperazione (fig. 18). In tale ambito, un sistema informativo di una PA può far integrare i propri applicativi con quelli di un altro sistema di un’altra PA, indipendentemente da come sono fatti e su quali piattaforme operano, tramite porte di dominio che “mappano” le realtà locali negli standard SOA ed in un formato di trasporto ad hoc, ma XML, chiamato “busta e-gov”. La fig. 19 illustra tale interazione: per i dettagli si rimanda a http://www.cnipa.gov.it/site/it-IT/Attivit%c3%a0/Sistema_Pubblico_di_Connettivit%c3%a0_(SPC)/ I problemi nell’affrontare un programma/prigetto SOA sono ben emersi nella già citata indagine del ClubTI-Fida, e sintetizzati nella fig. 20: • Per le aziende “piccole” (< 10 dipendenti) il primo ostacolo è costituito dalla “non cultura informatica” dei decisori di massimo livello; • Per le aziende medio grandi l’ostacolo principali è costituito dalle competenze interne. E proprio per le PMI la disponibilità di ICT Professional n.66 73 Speciale SOA disporre in logica “a consumo” tramite SaaS di applicativi sofisticati, che non potrebbero né acquisire né gestire al loro interno, potrebbe consentire, a giudizio dell’autore, il salto di qualità per risalire le classifiche internazionali (a d esempio OECD, IMD, ecc.) che relegano, e non a torto, il “sistema Italia” tra gli ultimi in Europa ed in posizioni basse a livello mondiale. Al di là del tipo di struttura organizzativa, l’elemento determinante per il successo (o non) è dato dalle competenze e dalle professionalità delle persone coinvolte. Coinvolte non tanto e non solo nella progettazione e sviluppo dei web services e, ma anche nell’analisi dei processi e nella definizione dei “business services”, nella riorganizzazione dell’UO-SI in un’ottica di Centro servizi, nel supporto all’utenza, nella gestione dei progetti e dei terzi fornitori, nella gestione opera- 74 tiva dell’intero sistema informativo. Non è necessario che tutte le competenze siano espletate internamente, ma se si terziarizza e si delega occorre che all’interno ci sia la capacità di controllo e di gestione del tutto. La SOA, come ogni altro progetto che impatta sui processi e sulle modalità operative del personale, richiede a tutti i livelli, ma soprattutto al vertice, la capacità di gestire efficacemente il cambiamento, il così detto “change management”. È un aspetto importante e che non deve essere sottovalutato. Per le competenze tecniche si può ora far riferimento alle figure professionali ed alle loro competenze così come definite dallo standard europeo Eucip. La fig. 21 mostra le varie figure per l’ICT ad oggi definite , suddivise nelle tre aree del “plan”, del “build” e dell’”operate”. Ogni profilo è descritto da un documento che definisce l’insieme delle competenze richieste Seguire le indicazioni dello standard Eucip semplifica la selezione del personale interno per un programma di crescita nella nuova logica ITIL-SOA, ed aiutare nella richiesta/selezione/acquisizione del personale esterno da coinvolgere nei diversi progetti. Per il personale interno è opportuno svolgere l’analisi del gap, sia a livello tecnico che psico-attitudinale Tempi e costi Il progetto architetturale nel suo complesso fa parte della fase iniziale di un “programma SOA”, che si articola nelle diverse fasi per la migrazione della situazione e delle architetture “as-is”, normalmente a silos, in un’architettura SOA. L’intero programma , al di là della fase ini- ICT Professional n.66 Speciale SOA IL LIBRO BIANCO SULLA SOA ziale di impostazione che, a secondo della complessità e vastità del sistema informativo in considerazione può durare tra i 2 ed i 12 mesi, ha una durata media superiore ai quattro – cinque anni; Il progetto realizzativo di una specifica soluzione SOA, relativo ad un solo o a pochi processi:, può richiedere, in funzione della sua complessità e granularità, dai 2 ai 24 mesi (o più). Un intervento iniziale di test costituisce un tipico progetto della durata di almeno 6-12 mesi. Occorre tener conto, in logica “change management”, delle competenze ICT e della “cultura” interne. I tempi (ed i costi) per la formazione del personale coinvolto nella SOA non devono essere sottovalutati. I costi possono variare in maniera assai significativa a secondo che si consideri l’intero programma o, nel suo ambito, un singolo progetto, ed a secondo delle opzioni scelte: •da centinaia di €/anno in caso di Saas, •a migliaia di €/anno (anche molte) in caso di opzione “suite” o “best of breed” Quando si considerano i costi per una soluzione SOA si dovrebbero considerare tutti i costi diretti ed indiretti, nella logica ormai consolidata del TCO, Total Cost of Ownership, ed in particolare si deve porre attenzione, oltre ai costi hardware, di sviluppo e di licenze software, anche ai : • costi progettazione (in particolare per l’intero Programma nella prima fase); • costi (tempo-uomo) per l’approvazione dall’Alta Direzione —> analisi rischio e ritorno economico dell’iniziativa; • costi formazione sia per il personale tecnico che per gli utenti; • costi change management e di gestione dell’intero “programma”. In ogni caso il costo complessivo è significativo, ma deve sempre essere confrontato con il costo per l’Azienda/Ente di una NONSOA, ossia di un sistema informativo non flessibile e non strettamente allineato al business, che difficilmente potrà portare effettivo valore a quest’ultimo. Marco Bozzetti Partner GeaLab ICT Professional n.66 (BOX 3) Il principale risultato delle attività del GdL SOA è stata la pubblicazione, a fine marzo 2008, del Libro Bianco sulla SOA v.1, reso disponibile in formato elettronico nel sito del ClubTI di Milano, www.clubtimilano.it per i Soci e per tutti gli utenti che si registano (gratuito). Questa prima versione è focalizzata ad una visione strategica del fenomeno a medio ed a lungo termine, con un linguaggio ed un taglio manageriale-decisionale. Indice e contenuti Libro Bianco sulla SOA v.1 1. Introduzione: illustra brevemente motivazioni ed obiettivi del LB 2.Allineare il sistema informativo ai processi di business: illustra la logica della SOA in un’ottica “business centrica”, evidenziando la stretta relazione tra WS, business services ed i processi reali dell’Ente/Azienda. 3. Cosa sono le architetture SOA ed i web services: è il capitolo più tecnico, che descrive i concetti base dell’architettura e dei WS, facendo riferimento ai vari ambiti ed illustrando, con semplice esempi, in che cosa consistono. 4.L’impatto della SOA sui fornitori: analizza i diversi approcci lato offerta, e considera anche l’offerta di soluzioni open-source. Il capitolo si basa, e fa riferimento, all’indagine sui fornitori riportata nell’Allegato 1 e che il GdL intende nampliare nella v.2. 5.L’impatto della SOA sulla funzione ICT: è il capitolo che discute l’impatto della SOA lato domanda e che discute logiche e criteri da seguire per decidere se e come migrare il proprio sistema informativo in SOA. I diversi casi di studio dell’Allegato 2 mostrano alcuni esempi di progetti SOA-WS sviluppati da aziende ed enti italiani. 6.L’impatto della SOA sul sistema paese: dall’impatto sulla domanda e sull’offerta, non solo per l’ICT ma anche per il ripensamento dei processi, viene discusso il più generale impatto sul sistema paese in termini di miglioramento delle competitività delle aziende e di opportunità di business per il mondo ICT, in particolare in logica SaaS, Software as a Service. 7.I risultati dell’ indagine 2007 Fida-ClubTI Milano: sintetizza i risultati dell’indagine effettuata su tutti i Soci e simpatizzanti dei vari ClubTI. 8.Allegati: All. 1 Schede prodotti e soluzioni sul mercato All. 2 I casi di studio All. 2.1 Architettura SCP e Porta di Dominio per le Pubbliche Amministrazioni All. 2.1.1 L’implementazione della Porta di Dominio del Comune di Milano All. 2.2 Il Progetto BPM All. 2.3 L’ evoluzione dalla EAI alla SOA: il caso Telecom Italia All. 2.4 Il progetto SEM in Seat All. 2.5 Emessage All. 2.6 Suite Cardinis All. 2.7 Il progetto SI.R. Nuova Generazione di Lombardia Informatica All. 2.8 Il caso Gruppo Monte dei Paschi di Siena (MPS) All. 3 Tabella confronto caratteristiche tecniche ambienti sviluppo web services opensource All. 4 Questionario indagine decisori ed utenti SOA I casi di studio rappresentano una parte significativa del LB: l’insieme dei casi considerati nella prima versione è ridotto, ma risponde alla logica di considerare l’impatto della SOA non solo nello sviluppo di applicazioni al’interno di sistemi informativi, ma anche su prodotti e soluzioni software che il produttore ha voluto far evolvere per renderli interoperanti con altri ambienti grazie all’uso dei web services. È in corso la realizzazione della versione 2 definitiva del Libro Bianco che sarà disponibile a fine 2009. 75