Web Services e interoperabilità

Lavorando con i web services sorge il problema dell’interoperabilità, magari qualcuno si chiede “ma come è possibile? I web services garantiscono l’interoperabilità grazie al fatto che espongono servizi sulla rete e poi ho li ho anche validati…”. Ebbene si questo è in parte vero in parte perchè spesse volte si riferiscono a xml schema e quindi strumenti (come Eclipse) ne garantiscono la validità se questi schema vengono rispettati.

Ma ciò non basta. Non basta perchè il modo in cui sono scritti influenza il modo in cui le classi java o C# sono generate e ne sto qui a parlare proprio perchè in azienda abbiamo avuto questo problema. Un’altra azienda ha scritto dei file wsdl da cui ha generato classi java (tramite lo strumento di Axis2 wsdl2java) e su cui poi ha lavorato per un progetto. Questo progetto dovrà poi essere realizzato in C# con piattaforma .NET.

Fatto sta che gli strumenti che generano le classi C# non riescono perchè non trovano valido il file wsdl utilizzato!!! Vi domanderete “come faccio a sapere quali sono gli accorgimenti che devo prendere?”

Attualmente la bibbia di riferimento è il Basic Profile, una sorta di studio che ha portato a definire delle regole per ridurre i rischi derivanti dall’interoperabilità. Il BP è stato realizzato dal Web Service Organisation WS-I una specie di consorzio guidato da SAP, Fujitsu, Microsoft, HP, Sun, IBM, Intel, Oracle ecc

In questo BP si fa cenno a diverse tecnologie per usate per i web services SOAP, WSDL UDDI, XML schema, HTTP e HTTPS vi invito quindi a dare uno sguardo.

Al di là della sola lettura occorrono strumenti di verifica e che ho trovato grazie a questo articolo. In pratica il WS-I ha rilasciato uno strumento chiamato Interoperability Testing Tools (su un accenno a come si usa vedere qui) che è stato poi integrato in altri strumenti come soapUI un software in parte rilasciato open source con licenza GNU Library o Lesser General Public License (LGPL) in parte, la versione Pro, in via commerciale. soapUI è stato realizzato come applicazione stand-alone ma anche come plugin per Eclipse, Netbeans, IntelliJ e Maven.

Esistono altri strumenti che troverete nell’articolo che vi ho indicato e che da oggi ho cominciato a valutare.

Benvenuti nel meraviglioso mondo dell’interoperabilità :-)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s