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