Php - WebsService - Oui mais lequel....

Eléphanteau du PHP | 12 Messages

03 mars 2010, 10:04

Bjour,

Je dev en php/mysql, je travaille d'habitude sur des bases locales et non partagées (1 site/1 base).
J'ai une commande particulière :
- Une base de données BDD1 alimentée par un outil Extranet de saisie (là pas de soucis, tout est géré, x users, y profils,...)
- Il faut pouvoir interroger le contenu de la base selon le user authentifé à partir d'autres sites Internet
* les autres sites sont principalement en php/mysql
* mais j'ai aussi de l'asp....
* (et éventuellement d'autres demandes par la suite).

Je crois que la solution des webservices php peuvent répondre à mes critères, par contre je ne sais pas quoi utiliser ?
(je suis en php5 côté serveur et client php, pour les autres clients, ils n'auront qu'à développer leur module d'interrogation).
Pouvez vous m'indiquer sur quoi je devrais partir ? soap, xml-rpc, nusoap, ...

Merci....
Nico

ViPHP
ViPHP | 2287 Messages

03 mars 2010, 11:47

Salut,

Effectivement tu as ces 3 possibilités.

XML/RPC a l'avantage d'être la solution la plus légère mais potentiellement la moins universelle des 3 (c'est parfait si tu sais que tes clients seront tous en PHP, mais il faut voir ce que ça donne avec d'autres langages pour consommer).

noSOAP est une implémentation de SOAP réalisée en PHP. Mais elle n'implémente pas les dernières normes SOAP, il faut voir si c'est un problème pour ton cas. En tout cas elle a pour elle d'être "ancienne", bien documentée et utilisée sur le web.

Si ton infrastructure d'hébergement t'en donne la possibilité, la solution la plus sûre (et potentiellement plus performante que nuSOAP, sans sacrifier l'ouverture vers d'autres langages pour les clients) est l'extension SOAP de PHP (qui est compilée, donc potentiellement plus véloce, et qui supporte apparemment les dernières normes SOAP / WSDL 1.1).

Quel que soit ton choix, attention car l'ouverture de webservices peut assez rapidement te poser des problèmes de dimensionnement de ton infrastructure (si tu as quelques centaines de clients qui consomment ton webservice à fréquence élevée), ce sera donc un point critique à surveiller à l'exploitation.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 12 Messages

03 mars 2010, 15:53

Merci pour tes conseils.

Je vais regarder du côté de nuSoap (ancien mais apparemment stable).

a+
Nico

ViPHP
ViPHP | 5462 Messages

04 mars 2010, 03:03

pourquoi nuSOAP ?, l'extension soap existe directement dans php
http://www.php.net/manual/fr/book.soap.php