Service Oriented Architecture Benefici per l’ICT e il Business Roma, 13 Gennaio 2009 Giovanni Peruggini gianni.peruggini@gmail.com
La Service Oriented Architecture La SOA (Service Oriented Architecture): è una stategia IT non è una tecnologia viene da lontano è destinata alle imprese porta benefici ha dei costi
L'IT oggi nelle imprese
IT oggi: un’infrastruttura ordinaria! I sistemi infrmativi attuali sono una stratificazione di ambienti giustapposti sull’onda delle mode tecnologiche, delle stategie di marketing del fornitori sulla mancanza di organicità della gestione dell’ICT in accordo con le strategie delle imprese. ICT guidata con un approccio tattico, a silos ICT diventata un “problema” e non una opportunità (male necessario)
IT oggi – tecnologie e standard Le tecnologie da sole possono aiutare ma la loro adozione tattica porta alla complicazione, difficoltà di gestione, manutenzione, evoluzione dei SI. Spesso di adotta una tecnologia nuova per sostituirne una vecchia senza partire dall’esigenza di business e si finisce con il dovere gestire la coabitazione di tecnologie storicamente differenziate. Tecnologia fine a se stessa – autoreferenziale. ICT guidata dai tecnici e non coordinata e corrrelata con il business (strategie aziendali, obiettivi di business).
IT: Le fasi storiche Prima fase: Centralità del dato Seconda fase: centralità dell’informazione (strutturata e non strutturata) Terza fase: centralità del processo
Cosa l'ICT deve fare per il Business Supportare la crescita e il cambiamento del business Mettere a disposizione la migliore tecnologia nel modo più semplice e basandosi su standard Migliorare l’esperienza dell’utente e la sua produttività riducendo la complessità percepita Ridurre i costi, mitigare i rischi e aumentare la compliance (obblighi di legge, normative interne, etc.)
IT: Evoluzione - Service Oriented Architecture - Grid Computing - Virtualizzazione - Middleware - DB - Standard
IT e Tecnologie Hot Tecnologies Quasi tutte sono legate alla SOA ! Enterprise Application Server Web Services Platform Enterprise Portal Enterprise Service Bus Business Integration Business Process Mgmt. Identity Management Identity Provisioning Web Services Management Data Integration Enterprise Records Mgmt. Enterprise Content Mgmt. Quasi tutte sono legate alla SOA !
Enterprise Architecture Service Oriented Architecture & Service Oriented Architecture Concetti di base che nascono da vecchie idee adeguate ai contesti di business, alla complessità e alle tecnologie attuali: La storia: Software a componenti Architetture multi layer e multi tier CORBA …..
EA & SOA I termini della questione: - Enterprise Architecture (EA) - Services Oriented Enterprise (SOE) - Service Oriented Computing (SOC) - Service-Oriented Architecture (SOA) Concetti di base che nascono da vecchie idee adeguate ai contesti di business e alle tecnologie attuali: - Software a componenti CORBA ------------------------------------------------------------------------------------------------------ Prima fase: Centralità del dato Seconda fase (appena conclusa): centralità dell’informazione (strutturata e non strutturata) Prox fase (in corso): centralità del processo ------------------------------------------------------------------------------------------------------- Focus sui Processi – avvicinamento alle esigenze del business Necessità di coordinare evoluzione dell’ICT e Business (rispondere alle esigenze di business proattivamente in tempo e a costi adeguati) Agility – Flessibilità, on time, on market, on quality Integrazione di SI eterogenei Riuso (Servizi – Orchestrazione – wrapping legacy) Ridurre il gap tra esigenze del business e implementazione di Servizi in grado di soddisfarle (dall’analisi all’applicazione senza passare per la programmazione)
Enterprise Architecture Enterprise - organizzazione o parte di una organizzazione con obiettivi di business, budget, vincoli tecnologici e organizzativo-gestionali. Enterprise Architecture – Descrizione della struttura e del comportamento dei processi di business ed organizzativi, dei sistemi informativi di un’organizzazione in termini di obiettivi e direttive stategiche. Finalità dell'EA Ottimizzare il Business delle imprese Descrivere: Architettura del Business Struttura organizzativa Architettura dei processi Gestione delle prestazioni
Implementare l'EA = adottare la SOA Dall’EA alla SOA Implementare l'EA = adottare la SOA Service Orientation (SO) Modello di progettazione dei processi di business come applicazioni composite realizzate da servizi cooperanti Service Oriented Enterprise (SOE) Enterprise che adotta la Service Orientation Service Oriented Computing (SOC) Paradigma computazionale basato su servizi (indipendenza, loose-coupling, interfacce standard) Approcci alla SOA: Top-Down – dalla SOE (SO) alla SOA Bottum-Up – dal SOC alla SOA
Cos’è la SOA Service-Oriented Architecture (SOA) - strategia ICT che implementa funzioni di business orchestrando servizi autoconsistenti e riusabili che iteragiscono attraverso interfacce e contratti definiti. La SOA indirizza il riuso e l'agility agility = capacità di rispondere alle esigenze di business con soluzioni ICT rese disponibili in tempi e modi adeguati. Alla base della SOA vi sono i concetti del service-oriented computing. Parole chiave: processo, servizio, orchestrazione, componentizzazione, incapsulamento, standardizzazione delle interfacce, loose-coupling,
SOA Anatomy
Web Technology Wave 1 Web Client HTML+HTTP User Interface Client Web Presentation Logic External Application Business Logic Database
Web Technology Wave 2 XML e WebServices HTML+HTTP User Interface Client Web Web Web Services XML Presentation Logic External Application JDBC/SQL Business Logic Database
Web Technology Wave 3 Comprehensive SOA HTML+HTTP+WSRP+AJAX Web Technology Wave 3 Comprehensive SOA WS Reliable Messaging + BPEL Service Presentation User Interface/Portal/Web 2.0 WS Reliable Messaging - WS Security – WS Eventing Composite Business Process or Application Service Orchestration BPEL Service Construction Composite Service BPEL/Java WebServices/XML/SQL WebServices Packaged Application Legacy Application Java Application Resources & Services Database Content
Comprehensive SOA La SOA che una strategia si traduce in termini IT in un' architettura applicativa e per l’integrazione basata su standard in grado di: - Rispondere alle esigenze del Business - Massimizzare il riuso nell'IT - Business Logic e processi cablati nelle applicazioni - Dati e Contenuti esistenti da proteggere - Ridurre i costi dell'IT (potenzialmente) Mettere in opera una SOA richiede: - un cambiamento culturale e organizzativo - implementare una robusta infrastruttura tecnologica che rende accessibili ed utilizzabili le tecnologie
Mettere in opera una SOA Implementare una SOA richiede: impiantare una infrastruttura tecnologica complessa e affidabile cambiare l'organizzazione dell'impresa aggiornare gli skill del personale Le infrastrutture SOA disponibili si basano sui Web Services ma usare i WS non significa avere implementato la SOA!
La SOA e i Sistemi Informativi Develop Manage Collaborate Access Extend Collaborative Portals Business Analytics & Activity Management Business Process Orchestration Enterprise Services Infrastructure Grid Computing Infrastructure Application Components Data Process
Anatomia di un'infrastruttura SOA Events Analytics Business Monitoring System Infrastructure Manager BAM BI MANAGEMENT & MONITORING App Dev Framework Internet tools Model & Analyze Requirements BPA tools Multi Protocol Routing XSLT Transform Enterprise Service Bus Native BPEL Business Rules Human Workflow Process Manager (BPEL) ROUTING & ORCHESTRATION Discovery Policies Management Security Web Services Manager Registry GOVERNANCE DATA SERVICES & CONNECTIVITY Apps Adapters Partners B2B RFID SES DB Bulk ODI ETL J2EE Application Server Messaging
Ciclo di vita di una SOA Integrate Orchestrate Develop Analyze Access Optimize Deploy Secure Manage
Business Process Analysis Model & Analyze Requirements 1. Business Requirements Capture 2. Business Process Definition 3. Business Activity Mapping
Enterprise Service Bus Connect & Route Service Component Architecture Infrastructure Routing QOS Transform Rules WSDL JCA BAPI WSIF JMS
Business Process Manager (BPEL) Orchestrate & Transform Business Process State – Audit Trail Clustering, Dehydration Business Process Engines Human Workflow 1. Define 2. Deploy 3. Monitor 4. Optimize
Business Activity Monitoring (BAM) Analyze & Optimize Cosa è e cosa fa un BAM ? Monitoraggio dell’andamento del Business Accedibile e interpretabile dagli utenti Strumentazione per analisi e ottimizzazione
Web Services Manager Secure & Govern Performance Management Availability Management Security Management Event Management Policy Definition Web Services Manager Enterprise Service Bus WSIF WSDL JCA JMS BAPI
Benefici della SOA
Promesse della SOA La SOA offre sul piano tecnologico: componentizzazione Incapsulamento separazione delle interfacce loose-coupling La SOA permette di disporre di componenti-programma discreti e riusabili con input e output standard che possono essere utilizzati come building blocks per assemblare applicazioni.
Benefici della SOA Le principali caratterisitiche esibite: abilitazione e supporto al riuso del software possibilità di combinare i servizi in più modi per comporre applicazioni che mappano processi (composizione) utilizzo di servizi loosely-coupled mediante interfacce standard
Benefici della SOA Il riuso Il riuso di componenti permette di: Ridurre la ridondanza dei servizi esistenti Semplificare lo sviluppo del software
Benefici della SOA Il riuso Approccio IT tradizionale - silos applicativi: stessa funzione replicata in più punti Approccio SOA – riuso dei servizi - un unico servizio da sviluppare/manutenere usato da più processi - nuovi processi ottenuti per composizione di servizi esistenti
Benefici della SOA Il riuso Effetti Riduzione costi per nuovi sviluppi Riduzione costi manutenzione (evolutiva/correttiva) Riduzione rischi derivanti da: difettosità del codice discontinuità di servizio Aumento rapidità di risposta al business per: Modifiche dei processi esistenti Implementazione di nuovi processi
Benefici della SOA Il riuso Rapidità d'implementazione dei nuovi processi Riduzione dei costi di sviluppo, test e manutenzione Riduzione dei rischi legati a: difetti d'implementazione interruzione del servizio
Benefici della SOA La composizione Combinare funzioni predefinite (servizi) per realizzare diverse funzionalità (processi) Superamento dal concetto di API Orchestrazione di servizi per via dichiarativa (BPEL) Indipendenza dal dove e come sono fatti i servizi (UDDI – WSDL) Infrastruttura di base con servizi e funzioni comuni
Benefici della SOA La composizione Effetti Sviluppo e manutenzione software semplici e rapidi limitati a: Servizi di business Processi Alto livello di astrazione – catena di sviluppo più corta composizione servizi di business per via dichiarativa strumenti a supporto dell'analisi
Benefici della SOA La composizione Maggiore rapidità di risposta alle esigenze e ai cambiamenti del business Riduzione dei costi di sviluppo e manutenzione
Benefici della SOA Loose-coupling – std IF Standardizzazione delle interfacce dei servizi Indipendenza dalla: Localizzazione dei servizi Modalità d'implementazione (tecnologia, piattaforma hardware e software) Servizi come black-box indipendenti
Benefici della SOA Il loose-coupling – std IF Effetti Localizzare/implementare nel modo più conveniente Fattori di scelta: Tecnologici (wrapping su piattaforma del legacy da integrare) Prestazionali (rete, ambiente – per es. algoritmi computing- intesive su piattaforme HPC) Economici (costi delle piattaforme hardware e e software) Organizzativi (fusioni aziendali, responsabilità distinte) Minimizzazione effort per l'integrazione dei sistemi Meno software da sviluppare Disponibilità integration layer infrastrutturale Meno skill richiesti, meno tecnologie da dominare Deployment incrementale Implementazione graduale - Servizi di wrapping del legacy
Benefici della SOA Il loose-coupling – std IF Effetti Integrazione di processi cross-enterprise Apertura dell'impresa all'esterno offerta di servizi a terzi Acquisizione di servizi da terzi Scelta tra approccio Make / Buy per il reperimento dei servizi mancanti Possibilità di acquistare da fornitori esterni: Software (codice da deployare in house) Servizi (acceduti quando serve via rete) Scelta approccio migliore puntuale (per servizio)
Benefici della SOA Il loose-coupling – std IF Riduzione dei costi di sviluppo/manutenzione Ritorno degli investimenti rapido Aumento della velocità di risposta al business Aumento del grado di automazione dell'interazione tra imprese Aumento della qualità del servizio offerto al business Opportunità di business con la vendita di servizi
Benefici della SOA I benefici in sintesi Rispondenza al Business Agility, risposta alle dinamiche di mercato Migliore efficienza dei processi Disponibilità delle risorse IT in base alle esigenze di business Efficienza dei Costi Riduzione dei costi di manutenzione Riduzione degli skill e dell'effort richiesti per supportare i cambiamenti del business Ottimizzazione del rapporto tra prezzo e prestazioni grazie alla libertà di scelta delle piattaforme, tecnologie, localizzazione dei servizi e delle modalità di approvviggionamento Riduzione del Rischio Innalzamento del livello qualitativo dell'IT Deployment incrementale Accelerazione dei tempi di ritorno degli investimenti
Criticità della SOA
Criticità della SOA Approcci Bottom-up Scenari: dai WS alla SOA dal SOC alla SOA Top-down dall'EA alla SOE e alla SOA Dalla SOE alla SOA Dopo la fase bottom-up si procede ad una risistemazione con l'approccio top-down che serve a dare organicità e coerenza al tutto
Criticità della SOA Infrastrutture tecnologiche per la SOA I Web Services sono una tecnologia utile e importante ma non bastano per fare una SOA Serve una infrastruttura tecnologica SOA per: Gestione e monitoraggio dei servizi e processi Messa in sicurezza dei servizi QoS: garantire e misurare prestazioni e disponibilità Orchestrazione dei servizi di business Accesso e trasformazione dei dati Comunicazione
Criticità della SOA Tempi/Costi/Ritorni
Criticità della SOA Diffusione della SOA Nel mondo vi sono già alcuni grandi progetti: FEA – Organizzazioni governative U.S. BCE (EA) Governi europei (Francia, Germania,..) Multinazionali (TELCO, Finance, Distribuzione) In Italia poche esperienze di rilievo: Finance TELCO Enti .....
Criticità della SOA Strategia enterprise Strategia Enterprise non mera scelta tecnologica Approccio “giovane” (ma non vi è altra scelta) Costi iniziali elevati (IT, Organizzazione, Skill) Ritorni graduali Impatti organizzativi forti Benefici maggiori solo in caso di piena adozione