SlideShare uma empresa Scribd logo
1 de 41
Il mercato  S ervice  O riented  A rchitecture     futuro e prospettive Emanuele Della Valle CEFRIEL – Politecnico di Milano email: [email_address] web:  http://swa.cefriel.it   Service Oriented Architecture (SOA): dalla sperimentazione  all'implementazione strategica, 15 Marzo 2007, Milano
Tra tanti slogan …
…  c’è’unica certezza, … “ It is  not  necessarily  the strongest  of the  species that survives   nor the most intelligent ,  but   the  one that  is  most   responsive to change .” --- Charles Darwin “ L’origine della specie” http://it.wikipedia.org/wiki/L%27origine_delle_specie   essere preparati a  cambiare  è l’unica cosa su cui contare --- Michael Liebow Vice President, SOA & Web Services IBM Global Service
…  perchè il Business sia flessibile … Today’s IT architectures, arcane as they may be, are the  biggest roadblocks  most companies face  when making strategic moves . --- McKinsey “ Flexible IT, Better Strategy” http://www.mckinseyquarterly.com/article_abstract_visitor.aspx?ar=1346   [Immagini prese da http://moment.mit.edu/imageLibrary/contents/bridges.html]
…  l’ICT deve essere flessibile: … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ICT di oggi ICT desiderabile 70% esistente 55% esistente 45% ++ valore 30% ++ valore
…  diminuendo i costi, perchè …  Costi Relativi Costi iniziali Messa in esercizio Manutenzione Cambiamenti [Grafico derivato da studio ZapThink http://www.zapthink.com/] Costi relativi di differenti approcci all’integrazione Integrazione custom Soluzioni EAI proprietarie Soluzioni EAI basate su Web Services Soluzioni EAI orientate alle SOA
…  perché qualcosa è cambiato …  Costi Relativi Costi iniziali Messa in esercizio Manutenzione Cambiamenti [Grafico derivato da studio ZapThink http://www.zapthink.com/] Costi relativi di differenti approcci all’integrazione Fin dal 1970  la prossima generazione  di EAI sarà •  distribuita •  orientata ai servizi •  scalabile •  plug and play •  integrata •  orientata al riuso •  orientata ai business objects •  orientata ai processi •  flessibile SOA over WS (SOAP1.1, WSDL1.2, UDDI, BPEL4WS…) 2010 2005 2000 1995 1990 1985 1980 1970 CORBA 2.4 WS-* 0.x XML-RPC CORBA2.0 CORBA1.0 EDIFACT RPCs Sockets ANSI X12 TDCC Integrazione custom Soluzioni EAI proprietarie Soluzioni EAI basate su Web Services Soluzioni EAI orientare alle SOA
…  nelle tecnologie utilizzate, e … standard proprietario standard specifico standard generico XML-RPC UDDI CDS COS naming Java Registry Meccanismo di discovery WSDL DCE IDL CORBA IDL Java Interface Descrizione dell’interfaccia protocolli internet RPC CO IIOP JRMP Protocollo di trasferimento SOAP PDU GIOP stream Formato wire XML XML CDR Java Serialization Formato Dati qualsiasi linguaggio RPC CORBA RMI Java RMI Meccanismo di invocazione Web Services XML-RPC CORBA Java
…  e creando maggiore valore, perchè …  1 2 3 4 5 silos object component service SOA Maturità del modello di integrazione infrastuttura architettura applicazioni metodo IT vista dal business Function oriented moduli strutturata Piattaforme proprietarie monolitica Function oriented moduli Object oriented Piattaforme proprietarie a layer Function oriented componenti Component based Piattaforme aperte a componenti Service oriented servizi Service modeling W eb  S ervices Ispirata alla SOA Service oriented Processi IT integrati via servizi IT process modeling Web Services SOA Problem oriented Processi integrati via servizi Business Process Modeling Semantic Web Services SESA 6 SESA
…  perchè, dai silos verticali … ,[object Object],[…] Dipartimento 1 Dipartimento 2 Dipartimento N
…  è possibile estrarre i servizi, … ,[object Object],[…] Dipartimento 1 Dipartimento 2 Dipartimento N
…  e comporli in molteplici processi. ,[object Object],Dipartimento 1 Servizi condivisi Servizi outsourced Fornitore Cliente Dipartimento 2
Cosa c’è SOA   vs.   Web Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Cos’è … Cosa  non è …
Cosa c’è   Il mito Service Oriented Architecture ,[object Object],Service provider Service requester source:  http://www.w3.org/TR/2002/WD-ws-arch-20021114/ Publish Discovery Agencies Service Description Discover Interact Service Description ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cosa c’è   La realtà delle SOA basate su Web Services ,[object Object],XML SOAP WSDL UDDI WSFL DISCO PKI XKMS SAML ebXML XML-RPC XMLP XML-DIGSIG XML-ENC SOAP-SEC X-KISS CPP-CPA WSEL SOAP-RP DIME XLANG DISCO JABBER P3P DSML OWL-S XSD WSBPEL
Cosa c’è   L’esperienza permette di distinguere ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],WSBPEL SOAP  . XML-Security  . WSDL UDDI
Cosa c’è   WSDL:  W eb  S ervices  D escription  L anguages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Implementazione (Parte  dove ) “ Binding” concreto (Parte  come ) Interfaccia astratta (Parte  cosa ) <service> <port> <binding> <types> <message> <portType> <operation>
Cosa c’è   UDDI :  U niversal  D escription,  D iscovery and  I ntegration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Business Entity Nome, Indirizzo, Contatti Identificativo ABN, CAN, DUNS, … Classificazione Geografica, tipo di industria, … Business Service Nome, descrizione Classificazione Tipo di processo, ruolo, … Binding Template Descrizione, URL, … tModel Descrizione dell’interfaccia, trasport, protocollo, sintassi, … tModel Nome, descrizione, URL, … Classificazione Tipo, namespace, processo, ruolo, tipo di industria, geografia, riferimenti ad altri tModels XML objects repository Pagine Bianche Pagine Verdi Pagine Gialle Standard
Cosa c’è Relazione tra UDDI e WSDL Impresa A Impresa B WSDL (Parte  Come ) WSDL (Parte  Dove ) XYZ Service Implementation WSDL (Parte  Come ) WSDL (Parte  Dove ) XYZ Service Implementation UDDI XYZ Service Binding Template  di A UDDI XYZ  Business  Service  di A UDDI Business Entity Impresa A UDDI XYZ Service Binding Template  di B UDDI XYZ  Business  Service  di B UDDI Business Entity Impresa B UDDI tModel standard del servizio XYz WSDL (Parte  cosa )
Cosa c’è Web Services all’opera  Web Service  Invocation framework Web Service Execution Environment SOAP  Message Processor WS Container Client application Stub Servizio Code to develop Code and XML automatically generated Web Service product WSDL2Code  generator public class Calculator { public int  add (int  i1 , int  i2 ){ return i1 + i2; } public int subtract(int i1, int i2){ return i1 - i2;} } Legenda <soap:Envelope> <soapenv:Body> <addResponse> < addReturn >  8 </ addReturn > </addResponse> </soap:Body> </soap:Envelope> Skeleton WSDL (Parte  cosa ) WSDL (Parte  Come ) WSDL (Parte  Dove ) SOAP  Message Processor WSDL2code generator […] UDDI tModel  standard del servizio Impresa  Interfaccia standard di un servizio calcolatrice <soap:Envelope> <soap:Body> < add > < i1 >3</ i1 > < i2 >5</ i2 > </ add > </soap:Body> </soap:Envelope> IN SOAP OUT SOAP
Cosa c’è Composizione: una necessità ,[object Object],[object Object],[object Object],[object Object],[object Object]
Cosa c’è  WS-BPEL: esempio per Virtual Travel Agency get itinerary get order order tickets receive confirmation confirm flight send tickets send confirmation submit to agent receive tickets receive confirmation select airline reserve seats charge credit card plan trip Agent Process Airline Process Traveler Process e-payment Process get charge request check  credit card Charge  card fault handler throw fault handler compensation handler exit compensate
Cosa potete farci   VISA ha ridotto i costi operativi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],“ If you take all the transactions across all the stock markets and exchanges in the world, and you aggregated them over a  24-hour period, we do that volume over a coffee break.“ ---  Sara Garrison SVP of Network and Open Systems Development
Cosa potete farci   Standard Life ha risparmiato £6m con SOA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],“ The architecture has improved the quality and manageability of in-house applications. We are building applications on a proven framework.”   —  Ian Muir  senior manager for core technology Standard Life
Cosa potete farci   Xeros aumenta la propria produttività ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],“ we can move forward with a SOA that helps us respond to today’s challenges and gives us a flexible architecture to respond to future challenges .” —  Ram Sunkara, Manager, Integration Competency Center, Xerox
Cosa potete farci Cosa serve per ripetere queste esperienze? Skill Governance Investimenti
Cosa potete farci   La migliore strategia è partire da dove si è … Implementare singoli Web Services  esponendo le funzionalità delle applicazioni esistenti Sviluppare applicazioni  dentro e fuori l’impresa basate sui Web Service esposti 1 2 3 4 Trasformare l’impresa  dando il massimo accesso interno e esterno a servizi affidabili e sicuri. Modificare  i propri  processi di business  in modo da sfruttare  appieno la  flessibilità  dell’infrastruttura  IT
Cosa potete farci   … e avere un piano per il lungo periodo. 1 pianificare 2 progettare 3 Implementare 4 Monitorare Cosa fare? Identificare  come  una  SOA  può  aiuta re a raggiungere  obiettivi di business Creare un progetto SOA in cui  ogni Web Service venga esposto per una precisa ragione Costruire  e mettere in produzione  passo passo  la SOA basata su Web Services e  standard aperti Monitorare  le  performance  e  verificare  che la  SOA soddisfi  le esigenze di  business Perchè? Obbliga il business a dialogare con  l’IT  riducendo il rischio di passi falsi Permette all’impresa di  imparare a guardare una SOA dal punto di vista del business Evitare l’effetto big bang  prendendosi il tempo per  pensare alla sicurezza e ai livelli di servizio Aiuta a  mantenere gli obiettivi  di progetto  sotto controllo  ottimizzando la creazione di valore
Cosa potrete fare domani   Potreste sperimentare alcuni problemi … ,[object Object],[object Object],A4 A1 A4 A1 A2 A1 A2 A1 B3 A4 A2 A1 B3 A1 B3 A1 A1 A2 A1 A4 A4 A2 A1 A4 A4 A2 A1 A2 A2 A1 B3 A1 A1 A2 A1 A1 A1 B3 A1 A1 A1 A1 A4 A4 A4 A1 A1 A2 A1 A4 A1 A1 A1 A1 B3 B3 A2 A4 A1 A1 A2 A1 A1 A2 A1 A1 A1 A1 B3 A4 A1 A1 A1 A1 A1 A1 A4 B3 B3 B3 B3 A1 B3 A4 B3 A1 A4 A1 A4 A2 A2 A1 A1 A1 A1 A4 A1 A1 A1 A2 A1 A4 A1 A4 B3 A1 A1 A4 A2 A4 A1 A1 A2 B3 A1 A2 A2 A1 A1 B3 A1 A1 A1 A1 A1 A4 B3 A2 A1 A4 A1 A1 A1 A4 A1 B3 A1 A2 A2 A1 A4 A2 A1 A2 A1 A1 A1 A2 A1 A1 A1 A1 A1 A1 A1 B3 B3 A4 A4 A1 A4 A2 A1 A4 B8 A1 A4 A1 A2 A4 B3 A1 A4 A6 A2 A5 A4 A1 A4 A1 A1 B3 B3 A1 A1 B3 A1 A1 A4 A4 A1 A1 A4 A1 A2 A1 B3 A1 A4 A4 A1 A2 A2 B3 A2 Pochi servizi Processi IT  poco complessi Numerosi servizi Inspired by: J. Cardoso, C. Bussler, A. Sheth1, D. Fensel,  Semantic Web Services and Processes , October 2002 Complessi Business Process All’interno di un’organizzazione  Tra molteplici organizzazioni A ? C D N1 N2 F E
Cosa potrete fare domani   … dovuti all’eterogeneità semantica … interfaccia, il programma che li riceve deve comunque sapere in che formato sono. Occorre comunque accordarsi sulla struttura di ciascun business object.  Fino ad ora nessuno ha ancora trovato una soluzione attuabile  …” Oracle Chairman and CEO -  Larry Ellison “ L’eterogeneità semantica rimane il principale intoppo alla integrazione di applicazioni , un intoppo che i Web Services da soli non risolveranno. Finché qualcuno non troverà un modo di  per far sì che le applicazioni si capiscano, gli effetti dei Web  Services resteranno limitate. Quando si passano i dati di un  utente in un certo formato usando un Web Services come  The problem is not in the plumbing,  it is in the semantics ” Verizon   Chief Scientist -  M . L . Brodie
Cosa potrete fare domani   … perché la semantica non si vede, ma c’è! ,[object Object],Publish Service provider Service requester Discovery Agencies Discover Interact Provider Human Requester Human Provider Entity Requester Entity WSD + WSD + Sem AGREE WSD ? Sem ? Sem
Cosa potrete fare domani   Come mettere d’accordo persone e macchine? ,[object Object],Discovery Agencies Publish Service provider Service requester Interact Provider Human Requester Human Provider Entity Requester Entity AGREE Sem Discover + Sem WSD ! WSD + Sem WSD WSD + Sem WSD ? Sem WSD + Sem WSD
Cosa potrete fare domani   Usando le tecnologie del Semantic Web … ,[object Object],[object Object],[object Object],[object Object],Discovery Agencies Publish Service provider Service requester Interact Provider Human Requester Human Provider Entity Requester Entity AGREE Sem Discover + Sem WSD Ontology WSD + Sem WSD WSD + Sem WSD ? Sem WSD + Sem WSD META META META META META META
Cosa potrete fare domani … che a partire dal 2008 … Gartner  Presentation: “Time Well Spent: Web Services Mature More” Charles Abrams, Daryl Plummer; Nov. 2004
Cosa potrete fare domani … permetteranno di … …  al business di  esprimere direttamente i problemi  sotto forma di goal e  non  nei termini del la   soluzione  (es. servizi) …  di  modellare processi di business  dal proprio punto di vista (goal) e non come processi che integrano servizi …  di supportare i processi di business  con applicazioni assemblate dinamicamente utilizzando goal-based discovery …  basate su  Semantically Empowered Service Oriented Architecture   …  usando come infrastruttura i  Semantic Web Service   1 2 3 4 5 silos object component service SOA Maturità del modello di integrazione infrastuttura architettura applicazioni metodo IT vista dal business Function oriented moduli strutturata Piattaforme proprietarie monolitica Function oriented moduli Object oriented Piattaforme proprietarie a layer Function oriented componenti Component based Piattaforme aperte a componenti Service oriented servizi Service modeling Web Services Ispirata alla SOA Service oriented Processi IT integrati via servizi IT process modeling Web Services SOA Problem oriented Integrazione flessibile di servizi Business Process Modeling Semantic Web Services SESA 6 SESA
C’era una volta e un’altra volta non c’era più, ma quella volta comunque c’era … ,[object Object],[object Object],[…] adapter […] […] […] […] SOA Sem Sem Sem Sem […] Sem
C’era una volta e un’altra volta non c’era più, ma quella volta comunque c’era … ,[object Object],[object Object],[…] […] […] […] SESA + SWS Sem Sem Sem Sem Sem Sem Sem Sem ! 2010 2005 2000 1995 1990 1985 1980 1970 SESA over SWS SOA over WS WS-* 1.x (SOAP1.1, WSDL1.2, UDDI, BPEL4WS…) CORBA 2.4 WS-* 0.x XML-RPC CORBA2.0 CORBA1.0 EDIFACT RPCs Sockets ANSI X12 TDCC
Conclusions An European IST-IP project for SESA and SWS ,[object Object],http://www.ip-super.org
Conclusions SEEMP: An application of Semantic Web Services in eGov S ervice  A bstract  M achine Mediation & Orchestration Layer OSGi core Service Machine Layer 1 Layer 2 Layer 3 Service Machine (Mélusine Core)  Mediation and Orchestration Layer  Selection Discovery Parser Invocation Invocation Discovery Layer 1 : Abstract  machine Layer 2 : Adapters Layer 3 : Real  (SEEMP)  services EMP -AM (Employment Marketplace Platform Abstract Machine) RM Injection Machine Injection Machine  […] Cleansing Ranking Statistics http://www.seemp.org
Conclusions NeP4B: Networked Peers for Business  ,[object Object],[object Object],http://dbgroup.unimo.it/nep4b/   S S S S S S S S S S M M M M D D M M M M M M D D M M M M M M D D D D S S S S S S S S S S M M M M M M D D S S S S M M M M D D S S S S S S M M S S D D Knowledge resource Mediator Service Discovery Engine  Semantic Peers Semantic Super Peers infrastructure M M M M S S ? Distributed Discovery  Information Routing
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Semelhante a Il mercato SOA: futuro e prospettive

Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione aziendaAlberto Lagna
 
Service Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media WikiService Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media WikiMatteo Busanelli
 
Web 2.0: le sfide per le moderne dot-com
Web 2.0: le sfide per le moderne dot-comWeb 2.0: le sfide per le moderne dot-com
Web 2.0: le sfide per le moderne dot-comEmanuele Della Valle
 
Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo IntegratiStudio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo IntegratiGiusy E Marco Tutone-Calandra
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifEmanuele Della Valle
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)Sabino Labarile
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)DotNetMarche
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFFabrizio Bernabei
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
Introduzione ai Web Services
Introduzione ai Web ServicesIntroduzione ai Web Services
Introduzione ai Web ServicesMarco Livraghi
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneAmmLibera AL
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernelsGabriele Baldoni
 
Un'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseUn'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseAlberto Lagna
 
Porting delle vostre applicazioni con SOA (Italian)
Porting delle vostre applicazioni con SOA (Italian)Porting delle vostre applicazioni con SOA (Italian)
Porting delle vostre applicazioni con SOA (Italian)Claudio Rubbiani
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 

Semelhante a Il mercato SOA: futuro e prospettive (20)

SOA wonderful World
SOA wonderful WorldSOA wonderful World
SOA wonderful World
 
Architetture.Distribuite
Architetture.DistribuiteArchitetture.Distribuite
Architetture.Distribuite
 
Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione azienda
 
Service Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media WikiService Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media Wiki
 
Web 2.0: le sfide per le moderne dot-com
Web 2.0: le sfide per le moderne dot-comWeb 2.0: le sfide per le moderne dot-com
Web 2.0: le sfide per le moderne dot-com
 
Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo IntegratiStudio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa Bif
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Introduzione ai Web Services
Introduzione ai Web ServicesIntroduzione ai Web Services
Introduzione ai Web Services
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernels
 
Un'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseUn'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterprise
 
Porting delle vostre applicazioni con SOA (Italian)
Porting delle vostre applicazioni con SOA (Italian)Porting delle vostre applicazioni con SOA (Italian)
Porting delle vostre applicazioni con SOA (Italian)
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 

Mais de Emanuele Della Valle

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streamsEmanuele Della Valle
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningEmanuele Della Valle
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search enginesEmanuele Della Valle
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoEmanuele Della Valle
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Emanuele Della Valle
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...Emanuele Della Valle
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Emanuele Della Valle
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create valueEmanuele Della Valle
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Emanuele Della Valle
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Emanuele Della Valle
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Emanuele Della Valle
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesEmanuele Della Valle
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Emanuele Della Valle
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Emanuele Della Valle
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Emanuele Della Valle
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)Emanuele Della Valle
 

Mais de Emanuele Della Valle (20)

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streams
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream Reasoning
 
Big Data and Data Science W's
Big Data and Data Science W'sBig Data and Data Science W's
Big Data and Data Science W's
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - Fluxedo
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create value
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic Technologies
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)
 

Il mercato SOA: futuro e prospettive

  • 1. Il mercato S ervice O riented A rchitecture futuro e prospettive Emanuele Della Valle CEFRIEL – Politecnico di Milano email: [email_address] web: http://swa.cefriel.it Service Oriented Architecture (SOA): dalla sperimentazione all'implementazione strategica, 15 Marzo 2007, Milano
  • 3. … c’è’unica certezza, … “ It is not necessarily the strongest of the species that survives nor the most intelligent , but the one that is most responsive to change .” --- Charles Darwin “ L’origine della specie” http://it.wikipedia.org/wiki/L%27origine_delle_specie essere preparati a cambiare è l’unica cosa su cui contare --- Michael Liebow Vice President, SOA & Web Services IBM Global Service
  • 4. … perchè il Business sia flessibile … Today’s IT architectures, arcane as they may be, are the biggest roadblocks most companies face when making strategic moves . --- McKinsey “ Flexible IT, Better Strategy” http://www.mckinseyquarterly.com/article_abstract_visitor.aspx?ar=1346 [Immagini prese da http://moment.mit.edu/imageLibrary/contents/bridges.html]
  • 5.
  • 6. … diminuendo i costi, perchè … Costi Relativi Costi iniziali Messa in esercizio Manutenzione Cambiamenti [Grafico derivato da studio ZapThink http://www.zapthink.com/] Costi relativi di differenti approcci all’integrazione Integrazione custom Soluzioni EAI proprietarie Soluzioni EAI basate su Web Services Soluzioni EAI orientate alle SOA
  • 7. … perché qualcosa è cambiato … Costi Relativi Costi iniziali Messa in esercizio Manutenzione Cambiamenti [Grafico derivato da studio ZapThink http://www.zapthink.com/] Costi relativi di differenti approcci all’integrazione Fin dal 1970 la prossima generazione di EAI sarà • distribuita • orientata ai servizi • scalabile • plug and play • integrata • orientata al riuso • orientata ai business objects • orientata ai processi • flessibile SOA over WS (SOAP1.1, WSDL1.2, UDDI, BPEL4WS…) 2010 2005 2000 1995 1990 1985 1980 1970 CORBA 2.4 WS-* 0.x XML-RPC CORBA2.0 CORBA1.0 EDIFACT RPCs Sockets ANSI X12 TDCC Integrazione custom Soluzioni EAI proprietarie Soluzioni EAI basate su Web Services Soluzioni EAI orientare alle SOA
  • 8. … nelle tecnologie utilizzate, e … standard proprietario standard specifico standard generico XML-RPC UDDI CDS COS naming Java Registry Meccanismo di discovery WSDL DCE IDL CORBA IDL Java Interface Descrizione dell’interfaccia protocolli internet RPC CO IIOP JRMP Protocollo di trasferimento SOAP PDU GIOP stream Formato wire XML XML CDR Java Serialization Formato Dati qualsiasi linguaggio RPC CORBA RMI Java RMI Meccanismo di invocazione Web Services XML-RPC CORBA Java
  • 9. … e creando maggiore valore, perchè … 1 2 3 4 5 silos object component service SOA Maturità del modello di integrazione infrastuttura architettura applicazioni metodo IT vista dal business Function oriented moduli strutturata Piattaforme proprietarie monolitica Function oriented moduli Object oriented Piattaforme proprietarie a layer Function oriented componenti Component based Piattaforme aperte a componenti Service oriented servizi Service modeling W eb S ervices Ispirata alla SOA Service oriented Processi IT integrati via servizi IT process modeling Web Services SOA Problem oriented Processi integrati via servizi Business Process Modeling Semantic Web Services SESA 6 SESA
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Cosa c’è Relazione tra UDDI e WSDL Impresa A Impresa B WSDL (Parte Come ) WSDL (Parte Dove ) XYZ Service Implementation WSDL (Parte Come ) WSDL (Parte Dove ) XYZ Service Implementation UDDI XYZ Service Binding Template di A UDDI XYZ Business Service di A UDDI Business Entity Impresa A UDDI XYZ Service Binding Template di B UDDI XYZ Business Service di B UDDI Business Entity Impresa B UDDI tModel standard del servizio XYz WSDL (Parte cosa )
  • 20. Cosa c’è Web Services all’opera Web Service Invocation framework Web Service Execution Environment SOAP Message Processor WS Container Client application Stub Servizio Code to develop Code and XML automatically generated Web Service product WSDL2Code generator public class Calculator { public int add (int i1 , int i2 ){ return i1 + i2; } public int subtract(int i1, int i2){ return i1 - i2;} } Legenda <soap:Envelope> <soapenv:Body> <addResponse> < addReturn > 8 </ addReturn > </addResponse> </soap:Body> </soap:Envelope> Skeleton WSDL (Parte cosa ) WSDL (Parte Come ) WSDL (Parte Dove ) SOAP Message Processor WSDL2code generator […] UDDI tModel standard del servizio Impresa Interfaccia standard di un servizio calcolatrice <soap:Envelope> <soap:Body> < add > < i1 >3</ i1 > < i2 >5</ i2 > </ add > </soap:Body> </soap:Envelope> IN SOAP OUT SOAP
  • 21.
  • 22. Cosa c’è WS-BPEL: esempio per Virtual Travel Agency get itinerary get order order tickets receive confirmation confirm flight send tickets send confirmation submit to agent receive tickets receive confirmation select airline reserve seats charge credit card plan trip Agent Process Airline Process Traveler Process e-payment Process get charge request check credit card Charge card fault handler throw fault handler compensation handler exit compensate
  • 23.
  • 24.
  • 25.
  • 26. Cosa potete farci Cosa serve per ripetere queste esperienze? Skill Governance Investimenti
  • 27. Cosa potete farci La migliore strategia è partire da dove si è … Implementare singoli Web Services esponendo le funzionalità delle applicazioni esistenti Sviluppare applicazioni dentro e fuori l’impresa basate sui Web Service esposti 1 2 3 4 Trasformare l’impresa dando il massimo accesso interno e esterno a servizi affidabili e sicuri. Modificare i propri processi di business in modo da sfruttare appieno la flessibilità dell’infrastruttura IT
  • 28. Cosa potete farci … e avere un piano per il lungo periodo. 1 pianificare 2 progettare 3 Implementare 4 Monitorare Cosa fare? Identificare come una SOA può aiuta re a raggiungere obiettivi di business Creare un progetto SOA in cui ogni Web Service venga esposto per una precisa ragione Costruire e mettere in produzione passo passo la SOA basata su Web Services e standard aperti Monitorare le performance e verificare che la SOA soddisfi le esigenze di business Perchè? Obbliga il business a dialogare con l’IT riducendo il rischio di passi falsi Permette all’impresa di imparare a guardare una SOA dal punto di vista del business Evitare l’effetto big bang prendendosi il tempo per pensare alla sicurezza e ai livelli di servizio Aiuta a mantenere gli obiettivi di progetto sotto controllo ottimizzando la creazione di valore
  • 29.
  • 30. Cosa potrete fare domani … dovuti all’eterogeneità semantica … interfaccia, il programma che li riceve deve comunque sapere in che formato sono. Occorre comunque accordarsi sulla struttura di ciascun business object. Fino ad ora nessuno ha ancora trovato una soluzione attuabile …” Oracle Chairman and CEO - Larry Ellison “ L’eterogeneità semantica rimane il principale intoppo alla integrazione di applicazioni , un intoppo che i Web Services da soli non risolveranno. Finché qualcuno non troverà un modo di per far sì che le applicazioni si capiscano, gli effetti dei Web Services resteranno limitate. Quando si passano i dati di un utente in un certo formato usando un Web Services come The problem is not in the plumbing, it is in the semantics ” Verizon Chief Scientist - M . L . Brodie
  • 31.
  • 32.
  • 33.
  • 34. Cosa potrete fare domani … che a partire dal 2008 … Gartner Presentation: “Time Well Spent: Web Services Mature More” Charles Abrams, Daryl Plummer; Nov. 2004
  • 35. Cosa potrete fare domani … permetteranno di … … al business di esprimere direttamente i problemi sotto forma di goal e non nei termini del la soluzione (es. servizi) … di modellare processi di business dal proprio punto di vista (goal) e non come processi che integrano servizi … di supportare i processi di business con applicazioni assemblate dinamicamente utilizzando goal-based discovery … basate su Semantically Empowered Service Oriented Architecture … usando come infrastruttura i Semantic Web Service 1 2 3 4 5 silos object component service SOA Maturità del modello di integrazione infrastuttura architettura applicazioni metodo IT vista dal business Function oriented moduli strutturata Piattaforme proprietarie monolitica Function oriented moduli Object oriented Piattaforme proprietarie a layer Function oriented componenti Component based Piattaforme aperte a componenti Service oriented servizi Service modeling Web Services Ispirata alla SOA Service oriented Processi IT integrati via servizi IT process modeling Web Services SOA Problem oriented Integrazione flessibile di servizi Business Process Modeling Semantic Web Services SESA 6 SESA
  • 36.
  • 37.
  • 38.
  • 39. Conclusions SEEMP: An application of Semantic Web Services in eGov S ervice A bstract M achine Mediation & Orchestration Layer OSGi core Service Machine Layer 1 Layer 2 Layer 3 Service Machine (Mélusine Core) Mediation and Orchestration Layer Selection Discovery Parser Invocation Invocation Discovery Layer 1 : Abstract machine Layer 2 : Adapters Layer 3 : Real (SEEMP) services EMP -AM (Employment Marketplace Platform Abstract Machine) RM Injection Machine Injection Machine […] Cleansing Ranking Statistics http://www.seemp.org
  • 40.
  • 41.