You are on page 1of 12

Rpublique Tunisienne Ministre de lEnseignement Suprieur et de la Recherche Scientifique Universit De Sousse

Institut Suprieur uprieur des Sciences Applique et de Technologie echnologie de Sousse

Module : Architecture SOA

Les Web Services Service SOAP, REST

Master de Recherche informatique SPI

Propos par : Dr.Maha Maha khameja Elabor par : Mr :Shili Mohamed

Anne Universitaire : 2013**2014

Master SPI

Rapport de projet

I. II. III. IV. V. VI.

Introduction Architecture des Web Service Communication Web Service Exemple Conclusion Rfrence

2 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

Selon la dfinition du W3C (World Wide Web Consortium), un Web service (ou service Web) est une application appelable via Internet - par une autre application dun autre site Internet -permettant lchange de donnes (de manire textuelle) afin que lapplication appelante puisse intgrer le rsultat de lchange ses propres analyses. Les requtes et les rponses sont soumises des standards et normalises chacun de leurs changes Aujourdhui, les services Web provoquent un intrt certain auprs des architectes et des dcideurs. Ds prsent, les Web Services sont sortis du champ des changes interentreprises pour sadapter celui du rfrencement et de la mise disposition des ressources de lentreprise, empitant en ce sens sur les technologies de type EAI. Cette utilisation elle seule prouve la qualit du modle et sa prennit, notamment au niveau des couches les plus basses. Par contre, la normalisation complte dune architecture distribue construite sur les Web Services nest pour linstant pas encore tout fait tablie. Par ailleurs, ce modle nchappe pas des problmes de performance : Le problme du choix de la bonne granularit du service, commun toutes les architectures distribues, se prsente dans le cas des Web Services de manire plus aigu encore. Mme si ils nont pas acquis la maturit ncessaire leur industrialisation, les Web services se prsentent plus que jamais comme la solution approprie aux problmatiques dchange de donnes et dintgration dapplications.

3 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

Architecture des Web Service

Figure N1 N : Architecture des Web Service


Les acteurs Annuaire Service Registry Annuaire des services publis par les providers (UDDI) Gr sur un serveur niveau application, entreprise ou mondial Service Provider Application s'excutant sur un serveur et comportant un module logiciel accessible par en XML Service Requester Application cliente ente se liant un service et invoquant ses fonctions par des messages XML (REST, XML-RPC,SOAP)

4 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

Communication Web Service


Les diffrentes technologies pour accder un service web REST (Reprsentational State Transfer) Consommer un WebServiceREST revient appeler une simple URL en http (Post ou Get) , le serveur renvoie sa rponse, la plupart du temps en XML Communication par change de fichier XML XML-RPC SOAP (Simple Object Access Protocol) REST (Reprsentational State Transfer) Nest pas un protocole ou un format, mais une architecture (celle de HTTP). Chaque mthodeou serviceest attach une URL Consommer un WebServiceREST revient appeler une simple URL en http (Post ou Get) , le serveur renvoie sa rponse, la plupart du temps en XML Trs utilis pour la communication entre machines. Exemple : Rcupration des Informations dune commune par une requte http en mode GET

Figure N2 :Rest

5 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

Exemple

Figure N2: Table Enseignement

Figure N3: Insertion de ligne

Figure igure N4 N : Interface principale

6 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

Figure N5 : Fichier gnre de Web service

Classe gnre automatique

Code
package com; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "enseignement") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Enseignement.findAll", query = "SELECT e FROM Enseignement e"), @NamedQuery(name = "Enseignement.findById", query = "SELECT e FROM Enseignement e WHERE e.id = :id"), @NamedQuery(name = "Enseignement.findByNom", query = "SELECT e FROM Enseignement e WHERE e.nom = :nom"),

7 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

@NamedQuery(name = "Enseignement.findByEmail", query = "SELECT e FROM Enseignement e WHERE e.email = :email"), @NamedQuery(name = "Enseignement.findByT\u00e9lphone", query = "SELECT e FROM Enseignement e WHERE e.t\u00e9lphone = :t\u00e9lphone"), @NamedQuery(name = "Enseignement.findByAdresse", query = "SELECT e FROM Enseignement e WHERE e.adresse = :adresse")}) public class Enseignement implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id") private Integer id; @Basic(optional = false) @NotNull @Size(min = 1, max = 12) @Column(name = "Nom") private String nom; // @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation @Basic(optional = false) @NotNull @Size(min = 1, max = 12) @Column(name = "Email") private String email; @Basic(optional = false) @NotNull @Size(min = 1, max = 22) @Column(name = "T\u00e9lphone") private String tlphone; @Basic(optional = false) @NotNull @Size(min = 1, max = 22) @Column(name = "Adresse") private String adresse; public Enseignement() { } public Enseignement(Integer id) { this.id = id; } public Enseignement(Integer id, String nom, String email, String tlphone, String adresse) { this.id = id;
8 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

this.nom = nom; this.email = email; this.tlphone = tlphone; this.adresse = adresse; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getTlphone() { return tlphone; } public void setTlphone(String tlphone) { this.tlphone = tlphone; } public String getAdresse() { return adresse; } public void setAdresse(String adresse) { this.adresse = adresse; } @Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Enseignement)) { return false; } Enseignement other = (Enseignement) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; }
9 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

@Override public String toString() { return "com.Enseignement[ id=" + id + " ]"; } }

Enseignement.java
<?xml version="1.0" encoding="UTF-8"?> version="1.0" encoding="UTF-8" standalone="yes" <enseignement> <adresse>3180 bouhajla</adresse> <email>mohamed_recherche@hotmail.Fr</email> <id>2</id> <nom>shili mohamed</nom> <tlphone>21307656</tlphone> </enseignement>

Fichier XML

Figure N6 : Rsultat finale

10 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

Les Web Services possdent une simplicit de mise en oeuvre : Ils rendent en effet accessibles depuis Internet des fonctionnalits dune application exixtante tout en ne modifiant pas en profondeur le systeme dinformation de lentreprise.Il sagit de lajout de briques suplmentaires. Pour cela, les Web Services exploitent les standards dchange Internet. Les services Web avec ses protocoles et ses standards avance vers toujours plus de normalisation. Dj, le protocole dchange de messages SOAP et le langage WSDL pour la dfinition de linterface standardsent la couche de transport. Les Web Services reposent sur des bases solides(SOAP et WSDL)qui ont prouv leur efficacit et leur maturit mme si un normalisation complte nexiste pas encore. Cette standardisation permet une grande interoprabilit entre des applications de technologie diffrente : les protocoles SOAP, WSDL et UDDI permettent de simplifier lutilisation des services auxquels ils sont lis par lutilisation de fichiers textuels, donc lisibles par lutilisateur. Leur contenu se limitant aux lments essentiels dinteroprabilit, ces standards assurent une grande indpendance de limplmentation par rapport au systme dexploitation, larchitecture de la machine ou au standard utilis. Un des avantages principaux des Web Services est quils sont bas sur Internet qui est on le sait fiable et mature.

11 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

Master SPI

Rapport de projet

source : http ://www.softeam.fr/technologies_web_services.php Sources: http ://fr.wikipedia.org/wiki/XML http://www.irisa.fr/coo/2001/W3CSOAP1.pdf http://www.w3.org/2003/06/soap12-pressrelease.html.fr http://igm.univ-mlv.fr/~dr/XPOSE2005/rouvio_WebServices/soap.html http://www.commentcamarche.net http://www-adele.imag.fr/users/Didier.Donsez/cours http://www.w3schools.com/soap/

12 Copyright 2014 Shili Mohamed, Mohamed_recherche@hotmail.fr

You might also like