Crides a provediments remots (SOAP)

  • warning: tempnam(): open_basedir restriction in effect. File() is not within the allowed path(s): (/srv/www/gilug.org/www/site.tree/) in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 802.
  • warning: fopen(): Filename cannot be empty in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 803.
  • El fitxer no s'ha pogut crear.

Per a tota la gent interessada en les noves tecnologíes web, intentaré fer 5 cèntims del que és el SOAP, la potència i els importants avantatges que ofereix.

El SOAP (simple object access protocol) és un protocol que permet a un client fer crides a procediments remots que estàn al servidor. Per exemple, el google proveeix una API (conjunt de funcions) que permet utilitzar el motor de búsqueda a través de crides des de la nostra pàgina web (mitjançant SOAP) Més tard "crearem" una petita web amb el motor de búsqueda del google. L'avantatge d'aquestes "llibreries" web, és la independència amb el sistema operatiu i el llenguatge que hagi estat implementada.

Per exemple, a la pagina web del meu curro hem migrat els servlets java a procediments SOAP, de tal manera que els clients que accedeixen als nostres serveis nomes han de cridar a funcions com addClient o addUnit, s'encarrega el servidor despres de tractar la base de dades. D'aquesta manera donem una transperència en la actualització de les funcions, ja el client que accedeix no ha de canviar res del seu codi.

Exemple d'implementació d'un client per al servei web de Google en PHP:

$soapclient = new soapclient('http://api.google.com/search/beta2'); // creem l'objecte soapclient
$result = $soapclient->call('doGoogleSearch',$parameters, 'urn:GoogleSearch'); // Cridem la funció doGoogleSearch

print_r ($result); //Al fer la crida ens retorna un array amb informació de la búsqueda (resultats aproximats, temps de búsqueda, etc.,) a més dels resultats (link, títol, explicació...)

Bueno, per no desviar-nos tant del tema (que això és un grup d'usuaris de linux!), podríem implementar algún servei web per la pàgina web del gilug, a veure si fem una mica de promoció :)

Alguns exemples que podríem fer de cara al gilug:
-Un traductor literal castellà-català o viceversa (utilitzant diccionaris wordtrans -> http://wordtrans.sourceforge.net
-Un generador de cites/insults, etc (amb el fortune - bofh xD)
-Aquest no se si es possible pero seria molt interessant:
El festival és un programa de pronunciació de text. Tu el crides: $festival -tts | echo "hola gilug" i aquest reproduiria una versió parlada (rollo robot-soundblaster16) del text "hola gilug". Creieu que es podria fer un servei web que retornés (amb streaming o tipus/mime de so?) el text parlat per crear pagines web parlades? o chat parlat? o alguna cosa per l'estil?

Bueno, deixo aquestes questions obertes, i a veure si algú s'anima a ajudarme amb els serveis webs aquests, sobretot el del so :) o bé, si teniu alguna idea per crear un servei web interessant feu-m'ho saber, jo crec que es una bona manera perquè la gent es fixi amb nosaltres si apostem per les últimes tecnologíes.

Referències útils:

Tot sobre serveis webs: 'http://web-services.bankhacker.com' (castellà)
Llista de serveis webs: 'http://services.xmethods.net/ (anglès)
API Apache SOAP v2.2: http://programacion.com/java/tutorial.php?id=apachesoap (castellà)

Victor Martin
victor(arrova)lleida.org (no, no sóc de lleida, simplement es que el de girona.com no és gratuït. O si? xDDD)