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