Programmation WebVoici le plan que je vais adopter pour vous présenter le Web Service:
1/ Definition: Web Service2/ Notions à connaître: Servlet, JSP, SOAP, XML3/ Installation du serveur web pour exécuter le service web4/ Implémentation, déploiement et invocation d'un service web5/ Exemple: le Chat1/ Définition: Web ServiceDéfinition: Un
service web est une méthode qu'on peut appeler à distance à travers un réseau, indépendamment du système d'exploitation et du langage de programmation utilisé.
Ainsi un client écrit en PHP s'exécutant sur Unix peut utiliser un service web développé en Java qui s'exécute sur Windows et inversement.
Les services web fonctionnent sur le principe du client serveur:
- un client appelle un service web
- le serveur traite la demande et renvoie le résultat au client
- le client utilise le résultat
De tels services web sont différents des traditionnels services internet basés sur le contenu. La différence fondamentale est celle-ci:
- les services basés sur le contenu délivrent des pages web (produites statiquement ou dynamiquement) destinées aux utilisateurs;
- les services web délivrent des données à des ordinateurs.
L'intégralité des services web disponibles sur internet est appelée le
Service Web (le web de services)Bon, là je vois que vous avez besoin d'un exemple:
Supposons que vous êtes familier avec les moteurs de recherche comme Google
qui peuvent vous traduire un contenu web. De cette façon, vous pouvez visionner la version française d'une page web écrite (ou dynamiquement créée) en espagnol. La version traduite est typiquement produite à la volée par un software installé sur le site du moteur de recherche. Si vous voulez monter un nouveau site avec des capacités similaires, vous aussi, vous auriez besoin soit de créer soit d'acheter un software pour traiter les traductions et de l'installer dans votre serveur web. Mais dans le nouveau monde des services web, il est possible de
déléguer ce travail à un site possédant un service web dédié à la traduction.
La signature de la méthode du service peut ressembler à:
String translate {
String sourceLanguage;
String targetLanguage;
String textToTranslate;
}
Votre moteur de recherche prend la page demandée, la fragmente en markup et en texte, et pour chaque fragment de texte, appelle le service web en spécifiant les langages source et cible. Avec le texte renvoyé et les markups originaux, la page peut être reconstruite.
2/ Notions à connaître: Servlet, JSP, SOAP, XMLUne
Servlet est une application
Java fonctionnant du côté serveur (comme
ASP et
PHP). Elle permet donc de gérer des requêtes HTTP et de fournir au client une réponse HTTP dynamique.
Les
Servlets ont de nombreux avantages par rapport aux autres technologies côté serveur. Tout d'abord, étant donné qu'il s'agit d'une technologie Java, les servlets fournissent un moyen d'améliorer les serveurs web sur n'importe quelle plateforme, d'autant plus que les servlets sont indépendantes du serveur web. En effet, les servlets s'exécutent dans un moteur de servlet (comme
Tomcat) utilisé pour établir le lien entre la servlet et le serveur web.
Ainsi le programmeur n'a pas à se soucier de détails techniques tels que la connexion au réseau, la mise en forme de la réponse HTTP, ...
Voici un exemple de servlet "PremierServlet.java" (il affiche simplement "Ma première servlet"):
- Code:
-
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class PremiereServlet extends HttpServlet {
public void init() {
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE> Titre </TITLE></HEAD>");
out.println("<BODY>");
out.println("Ma première servlet");
out.println("</BODY>");
out.println("</HTML>");
out.close();
}
}
On verra comment l'utiliser.
Les
JSP (Java Server Pages) sont un standard permettant de développer des applications Web
interactives, c'est-à-dire dont le contenu est
dynamique. En, fait, une page web JSP aura un contenu pouvant être différent selon certains paramètres (des infos stockées dans une BD, les préférences de l'utilisateur, ...) tandis qu'une page web classique (par exemple en
HTML) affichera toujours la même information..
Ils s'exécutent du côté
serveur (comme
PHP,
ASP). Les JSP sont intégrables au sein d'une page Web en HTML à l'aide de balises spéciales.
Une page JSP est exécutée au moment de la requête par un moteur de JSP (
Tomcat par exemple).
Quelle est la différence avec une
Servlet?
Lorsqu'un utilisateur appelle une page JSP, le serveur Web appelle le moteur de JSP qui crée un code source Java à partir du script JSP, compile la classe afin de fournir un fichier compilé (d'extension .class), c'est-à-dire qu'il constitue en fait une servlet à partir du script JSP. En fait, les JSP sont un moyen d'écrire facilement des servlets, en incluant dans des balises spécifiques le code JSP au sein du fichier HTML.
SOAP (Simple Object Access Protocol) est un protocole de transmission de messages. Il utilise le protocole de transport HTTP (mais il fonctionne aussi avec d'autres comme
FTP).
XML (eXtensible Markup Language) est un un format de description des données et non de leur représentation, comme c'est le cas avec HTML.
Les balises XML décrivent le contenu plutôt que la présentation (contrairement À HTML). Ainsi, XML permet de séparer le contenu de la présentation, ce qui permet par exemple d'afficher un même document sur des applications ou des périphériques différents sans pour autant nécessiter de créer autant de versions du document que l'on nécessite de représentations!