Vous êtes sur la page 1sur 3

Exercice 1 :

5. REST ? ses principes et


1. C'est quoi l'architecture orientée caracteristiques ?
REST (REpresentational State Transfer) est un style
service ? d’architecture pour concevoir un service web, utilisant
SOA : Service Oriented Architecture est un style au maximum les possibilités de HTTP. Ses principales
d’architecture dont l’objectif est d’organiser un caractéristiques sont les suivantes :
ensemble d’applications isolées, en un ensemble de application client/serveur : le transport sur le réseau est
services interconnectés, chacun étant accessible à assuré par HTTP.
travers des interfaces et des protocoles de interface uniforme : tout élément offert à la
communication standards. manipulation par l’application est nommé ressource et
est identifié de manière unique.
Quels sont les acteurs principaux de cette les réponses du serveur aux clients utilisent également
architecture et leurs roles ? les messages HTTP.
 Le fournisseur de services crée le service, puis publie représentation des ressources : le format avec lequel
une ressource est représentée est JSON.
sa description dans un annuaire de services Web.
 L'annuaire de services rend disponible l'interface du Exercice 2 :
service ainsi que ses informations d'accès.
 Le demandeur de services accède à l'annuaire de 1. Service web REST :
service pour rechercher les services désirés. Ensuite, import javax.ws.rs.GET;
import javax.ws.rs.Path;
il se lie au fournisseur pour invoquer le service. import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
2. Definir le concept de Service ? @Path("/tax")
public class Exercice {
Un service est défini comme une entité informatique
@GET
indépendante des plateformes, auto-contenue et
@Produces(MediaType.TEXT_PLAIN)
autonome. public double calculerTTC(
@QueryParam("ht") double ht,
3. Pouquoi les Services Web? @QueryParam("tva") double tva) {
Pour permettre le support de la composition des return ht * (1 + tva);}
applications distribuées en couplage faible tout en }
optimisant les coûts et les délais.
2. Client web REST :
import javax.ws.rs.client.Client;
4. Quels sont les standards de la import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
technologie des services web ? import javax.ws.rs.core.Response;
@Path("/tax")
public class Exercice {
public static void main() {
double ht = 1180;
double tva = 0.25;
Client client =
ClientBuilder.newClient();
WebTarget target =
client.target("/tax/calculerTTC
?ht="+ ht +"&tva="+ tva);
Response response =
target.request().get();
System.out.println("Prix TTC : " +
response.getEntity());
response.close();
client.close();
}
}
Exercice 3 :

Service Bibliotheque :
import javax.jws.WebService;
import javax.jws.WebMethod;
@WebService(name="GestionBiblio")
public class GestionBiblio {
private static List<Livre> livres = new ArrayList<Livre>();

@WebMethod
public void ajouterLivre(string titre, string auteur, string categorie, string id, int
nb){
Livre livre = new Livre(titre,auteur,categorie,id,nb);
livres.add(livre);
}

@WebMethod
public List<Livre> rechercherLivre(string titre){
List<Livre> liste = new ArrayList<Livre>();
foreach(Livre livre : livres)
If(livre.getTitre().equals(titre)) liste.add(livre);
return liste;
}

@WebMethod
public void emprunterLivre(string cne, string id){
foreach(Livre livre : livres)
If(livre.getId().equals(id) && livre.getNombreExemplaire() > 0){
livre.setNombreExemplaire(livre.getNombreExemplaire() - 1);
return;
}
}

@WebMethod
public List<Livre> consulterLivre(){
Collections.sort(livres, new Comparator<Livre>(){
public int compare(Livre l1, Livre l2){
return l1.getCategorie().compareTo(l2.getCategorie());
}
});
return livres;
}
}

Publication du service :
import javax.xml.ws.Endpoint;
public class SOAPPublisher {
public static void main(String[] args) {
Endpoint endpoint = Endpoint.publish("http://biblio", new GestionBiblio());
JOptionPane.showMessageDialog( null, "Eteindre le serveur");
endpoint.stop();
}
}

Vous aimerez peut-être aussi