Web Service – Open ESB Filippo Bosi – [email protected] Lorenzo Manzoni - [email protected] Marco Cimatti – [email protected] organizzato da: Specifiche di prima generazione: struttura WSDL organizzato da: 2 Interoperabilità • Binding/Encoding – Default Microsoft WS: document/literal – Default SUN WS: RPC/encoded • Security – WebSphere 5.x e 6.x non sono compatibili per quanto riguarda alcuni aspetti delle specifiche di sicurezza. organizzato da: 3 Interoperabilità: • Febbraio 2002 si forma WS-I • WS-I: – “promote Web services interoperability across platforms, operating systems and programming languages” • Agosto 2004: Basic Profile v.1.1 – SOAP, WSDL, UDDI organizzato da: 4 ESB-JBI e Web Service • JBI usa la parte astratta del WSDL per la descrizione dei servizi. • ESB-JBI consente di ottenere la trasparenza rispetto al protocollo di comunicazione. organizzato da: 5 ESB: Condizione per avere la trasparenza rispetto al protocollo • Le condizioni affinché un client e un server possano comunicare in modo trasparente rispetto al protocollo sono: • condivisione della parte astratta del WSDL • utilizzo dello stesso MEP Client Service MEP1 MEP2 P1 P2 BC BC WSDL2 WSDL1 organizzato da: A B ESB 6 ESB Open Source organizzato da: Prodotti ESB: Service Mix • È stato il primo ESB open source compliant con gli standard JBI • Ad oggi le componenti esistenti sono: – Binding Component: HTTP-SOAP, JMS-SOAP, file, RSS, email, … – Service Engine: • BPEL • LW Container per Plain Old Java Object • JSR 181: classi Java annotate secondo le specifiche • Quartz: timer schedulatore • … • http://servicemix.apache.org organizzato da: 8 Prodotti ESB: Mule • ESB open source integrabile con le specifiche JBI (JSR208) • Connettività secondo i protocolli e gli standard più diffusi – HTTP, FTP, JMS, JDBC, SMTP, POP3, IMAP, embedded, AS400 Data Queue, SOAP, RMI, Xmpp (Jabber), SSL, servlet, … • Disponibile a parte la versione JBI-compliant Mule-JBI • http://mule.codehaus.org/ organizzato da: 9 Prodotti ESB: PEtALS • ESB open source JBI compliant • Configurabile in maniera distribuita (clustering), con comunicazione tra i JBI container mediante JMS (implementazione JORAM) • BC e SE “standard” già disponibili • http://petals.objectweb.org organizzato da: 10 ESB: Open ESB • Prodotto open source JBI compliant • Gira all’interno di Application Server J2EE: – GlassFish/Sun Application Server – JBoss (sperimentale) – Altri? • Distribuito con NetBeans 6.0 (SOA) • https://open-esb.dev.java.net/ organizzato da: 11 ESB: Open ESB • Binding Component disponibili (Open ESB 2.0 beta): – HTTP – JDBC – JMS – SMTP – FTP – File – Microsoft Message Queue – IBM WebSphere MQ (MQSeries) – Health Level Seven (HL7) – … • Binding component (Imola): CICS, CORBA organizzato da: • Binding component “in progress”: ADABAS, DCOM, IMS, SAP, SNMP, … 12 ESB: Open ESB • Service Engine disponibili (Open ESB 2.0 beta): – BPEL (Business Process Execution Language) – IEP (Intelligent Event Processor) – SQL – Workflow – XSLT (Extensible Stylesheet Language Transformations) – ETL (Extract, Transform & Load) • Service engine “in progress”: – JavaScript, DTEL, scripting, … organizzato da: 13 Scenario DEMO 1/4 organizzato da: 14 scenario DEMO 2/4 organizzato da: 15 scenario DEMO 3/4 organizzato da: 16 scenario DEMO 4/4 Crea Corba Factory Name Service CORBA CORBA CORBA SERVANT SERVANT CORBA SERVANT SERVANT IIOP IIOP CORBA CORBA BC BC C D B A SE BC BPEL HTTP 1 SOAP - HTTP organizzato da: 2 3 4 Client .NET