Les services Web et PHP
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: PHP
Page 1 sur 1
Les services Web et PHP
Introduction
Vous pouvez concevoir un service Web comme étant une application
disponible sur le réseau, généralement Internet mais pas seulement,
et capable d'échanger des documents au format XML. Comme le
but principal des services Web est de permettre à des applications
de différentes plates-formes ou compilées avec différents langages,
de communiquer ensemble, un langage commun doit être utilisé
pour assurer l'interopérabilité : XML (eXtensible Markup Language)
est le meilleur candidat pour cela, étant donné sa diffusion
et le grand nombre de bibliothèques qui permettent de le manipuler.
D'ailleurs,
il existe un sous-ensemble de XML, appelé SOAP (Simple Object
Access Protocol), qui a été expressément créé dans le but de
partager des données et d'invoquer des méthodes distantes, indépendamment
de la plate-forme ou du serveur sur lequel elles fonctionnent,
tant qu'il existe un protocole de communication permettant d'y
accéder, comme par exemple HTTP.
Dans les deux numéros précédents de Direction|PHP, j'ai écrit
deux articles qui montrent comment effectuer des Remote Procedure
Call (RPC) et lire leur résultat en utilisant PHP et SOAP. Nous
avons programmé deux applications qui accédaient aux interfaces
fournies par Google et Amazon.com. Nous avons découvert en même
temps des outils d'aide à la programmation, comme NuSOAP, une
bibliothèque PHP très utile pour écrire des clients et des serveurs
SOAP.
Cette fois-ci, nous allons écrire notre propre service Web,
c'est-à-dire le serveur qui reçoit les commandes, et envoie
les réponses.
Dans la première partie de cet article, nous analyserons la
structure principale d'un service Web, puis nous nous intéresserons
à ses particularités : cela nous permettra de concevoir notre
propre service Web. Il sera simple, mais il présentera les fonctionnalités
typiques d'un serveur de services Web. Puis, nous écrirons et
testerons notre application, en nous intéressant en particulier
à la gestion d'erreur et à la sécurité.
Comment fonctionne un service Web ?
Dans cet article, notre but est de permettre à une application
conçue pour effectuer des sélections et des insertions dans
une base de données, d'être utilisée par une tierce partie.
Cela signifie que nous devons être capables de recevoir des
requêtes d'autres systèmes, et de retourner une réponse qu'ils
pourront comprendre, indépendamment de la plate-forme et de
l'architecture distante.
Nous allons utiliser le protocole HTTP et traiter uniquement
le cas des données qui nous parviennent par méthode POST : cela
signifie qu'un utilisateur qui essaiera d'accéder à notre service
Web directement, depuis son navigateur, recevra une erreur.
Nous pouvons aussi décider de limiter les IP qui pourront accéder
au service Web, mais, pour rester simple, nous ne détaillerons
pas un tel filtre.
Ensuite, nous devons lire la requête, et l'analyser. Nous devons
alors valider les paramètres que l'utilisateur nous a transmis,
pour s'assurer que nous allons pouvoir fonctionner correctement
: par exemple, nous allons nous assurer de la cohérence d'un
couple nom d'utilisateur / mot de passe. Si tout est correct,
nous allons alors effectuer la sélection ou l'insertion attendue,
et retourner un résultat : les lignes lues dans la table, pour
le premier cas, et un message de réussite ou d'erreur dans le
second.
Maintenant, nous pouvons décrire le processus global d'un service
Web :
- Lire la requête SOAP
- Analyser la requête
- Vérifier et valider les paramètres envoyés
- Effectuer l'opération attendue
- Envoyer une réponse SOAP
Chacune de ces opérations requiert une gestion d'erreur stratégique
: la requête peut être malformée, ou bien provenir d'une source
interdite, l'analyse de la commande peut échouer, le nombre
de paramètres peut être incorrect, et bien sûr, l'exécution
de la commande peut aussi rencontrer un problème. Nous devons
être préparé à interrompre l'exécution du script à tout moment,
et envoyer un message d'erreur explicite au client.
lire la suite ici: http://www.journaldunet.com/developpeur/tutoriel/php/040513-php-nexen-nusoap1.shtml
Vous pouvez concevoir un service Web comme étant une application
disponible sur le réseau, généralement Internet mais pas seulement,
et capable d'échanger des documents au format XML. Comme le
but principal des services Web est de permettre à des applications
de différentes plates-formes ou compilées avec différents langages,
de communiquer ensemble, un langage commun doit être utilisé
pour assurer l'interopérabilité : XML (eXtensible Markup Language)
est le meilleur candidat pour cela, étant donné sa diffusion
et le grand nombre de bibliothèques qui permettent de le manipuler.
D'ailleurs,
il existe un sous-ensemble de XML, appelé SOAP (Simple Object
Access Protocol), qui a été expressément créé dans le but de
partager des données et d'invoquer des méthodes distantes, indépendamment
de la plate-forme ou du serveur sur lequel elles fonctionnent,
tant qu'il existe un protocole de communication permettant d'y
accéder, comme par exemple HTTP.
Dans les deux numéros précédents de Direction|PHP, j'ai écrit
deux articles qui montrent comment effectuer des Remote Procedure
Call (RPC) et lire leur résultat en utilisant PHP et SOAP. Nous
avons programmé deux applications qui accédaient aux interfaces
fournies par Google et Amazon.com. Nous avons découvert en même
temps des outils d'aide à la programmation, comme NuSOAP, une
bibliothèque PHP très utile pour écrire des clients et des serveurs
SOAP.
Cette fois-ci, nous allons écrire notre propre service Web,
c'est-à-dire le serveur qui reçoit les commandes, et envoie
les réponses.
Dans la première partie de cet article, nous analyserons la
structure principale d'un service Web, puis nous nous intéresserons
à ses particularités : cela nous permettra de concevoir notre
propre service Web. Il sera simple, mais il présentera les fonctionnalités
typiques d'un serveur de services Web. Puis, nous écrirons et
testerons notre application, en nous intéressant en particulier
à la gestion d'erreur et à la sécurité.
Comment fonctionne un service Web ?
Dans cet article, notre but est de permettre à une application
conçue pour effectuer des sélections et des insertions dans
une base de données, d'être utilisée par une tierce partie.
Cela signifie que nous devons être capables de recevoir des
requêtes d'autres systèmes, et de retourner une réponse qu'ils
pourront comprendre, indépendamment de la plate-forme et de
l'architecture distante.
Nous allons utiliser le protocole HTTP et traiter uniquement
le cas des données qui nous parviennent par méthode POST : cela
signifie qu'un utilisateur qui essaiera d'accéder à notre service
Web directement, depuis son navigateur, recevra une erreur.
Nous pouvons aussi décider de limiter les IP qui pourront accéder
au service Web, mais, pour rester simple, nous ne détaillerons
pas un tel filtre.
Ensuite, nous devons lire la requête, et l'analyser. Nous devons
alors valider les paramètres que l'utilisateur nous a transmis,
pour s'assurer que nous allons pouvoir fonctionner correctement
: par exemple, nous allons nous assurer de la cohérence d'un
couple nom d'utilisateur / mot de passe. Si tout est correct,
nous allons alors effectuer la sélection ou l'insertion attendue,
et retourner un résultat : les lignes lues dans la table, pour
le premier cas, et un message de réussite ou d'erreur dans le
second.
Maintenant, nous pouvons décrire le processus global d'un service
Web :
- Lire la requête SOAP
- Analyser la requête
- Vérifier et valider les paramètres envoyés
- Effectuer l'opération attendue
- Envoyer une réponse SOAP
| ||
Réagissez dans les forums de JDN Développeurs |
: la requête peut être malformée, ou bien provenir d'une source
interdite, l'analyse de la commande peut échouer, le nombre
de paramètres peut être incorrect, et bien sûr, l'exécution
de la commande peut aussi rencontrer un problème. Nous devons
être préparé à interrompre l'exécution du script à tout moment,
et envoyer un message d'erreur explicite au client.
lire la suite ici: http://www.journaldunet.com/developpeur/tutoriel/php/040513-php-nexen-nusoap1.shtml
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7875
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Sujets similaires
» Les Web Services ?
» Les Web services
» Ebook: GSM - Architecture, Protocols and Services
» SQL Server 2008 Express with Advanced Services
» Concevoir des services Web facilement en Java: XFire, la solution?
» Les Web services
» Ebook: GSM - Architecture, Protocols and Services
» SQL Server 2008 Express with Advanced Services
» Concevoir des services Web facilement en Java: XFire, la solution?
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: PHP
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum