12
R Ministère de l’Ense Institut Supérieur de M Mast Proposé par : Dr.Maha kh Elaboré par : Mr :Shili Mo Anné Les Web République Tunisienne eignement Supérieur et de la Scientifique Université De Sousse es Sciences Applique et de Technologie Module : Architecture SOA ter de Recherche informatique SPI khameja Mohamed ée Universitaire : 2013**2014 b Services SOAP, REST Recherche e de Sousse T

Web Service

Embed Size (px)

Citation preview

Page 1: Web Service

République TunisienneMinistère de l’Enseignement Supérieur et de la Recherche

Institut Supérieur des

Module

Master de Recherche informatique

Proposé par : Dr.Maha khameja

Elaboré par : Mr :Shili Mohamed

Année Universitaire

Les Web Service

République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche

Scientifique Université De Sousse

upérieur des Sciences Applique et de Technologie de Sousse

Module : Architecture SOA

Master de Recherche informatique SPI

Maha khameja

:Shili Mohamed

Année Universitaire : 2013**2014

Web Services SOAP, REST

Ministère de l’Enseignement Supérieur et de la Recherche

echnologie de Sousse

REST

Page 2: Web Service

Master SPI Rapport de projet

2 Copyright ©2014 Shili Mohamed, [email protected]

I. Introduction

II. Architecture des Web Service

III. Communication Web Service

IV. Exemple

V. Conclusion

VI. Référence

Page 3: Web Service

Master SPI Rapport de projet

3 Copyright ©2014 Shili Mohamed, [email protected]

Selon la définition du W3C (World Wide Web Consortium), un Web service

(ou service Web) est une application appelable via Internet - par une autre

application d’un autre site Internet -permettant l’échange de données (de

manière textuelle) afin que l’application appelante puisse intégrer le

résultat de l’échange à ses propres analyses. Les requêtes et les réponses

sont soumises à des standards et normalisées à chacun de leurs échanges

Aujourd’hui, les services Web provoquent un intérêt certain auprès des

architectes et des décideurs. Dès à présent, les Web Services sont sortis du

champ des échanges interentreprises pour s’adapter à celui du

référencement et de la mise à disposition des ressources de l’entreprise,

empiétant en ce sens sur les technologies de type EAI. Cette utilisation à elle

seule prouve la qualité du modèle et sa pérennité, notamment au niveau des

couches les plus basses. Par contre, la normalisation complète d’une

architecture distribuée construite sur les Web Services n’est pour l’instant

pas encore tout à fait établie. Par ailleurs, ce modèle n’échappe pas à des

problèmes de performance : Le problème du choix de la bonne granularité

du service, commun à toutes les architectures distribuées, se présente dans

le cas des Web Services de manière plus aiguë encore. Même si ils n’ont pas

acquis la maturité nécessaire à leur industrialisation, les Web services se

présentent plus que jamais comme la solution appropriée aux

problématiques d’échange de données et d’intégration d’applications.

Page 4: Web Service

Master SPI

Copyright ©2014 Shili Mohamed,

Architecture des Web Service

Figure N°

Les acteurs

–Annuaire –Service Registry

• Annuaire des services publiés par les providers (UDDI)

• Géré sur un serveur niveau application, entreprise ou mondial

–Service Provider

• Application s'exécutant sur un serveur et comportant un module logiciel accessible par en

XML

–Service Requester

• Application cliente se liant à un service et invoquant ses fonctions par des messages XML

(REST, XML-RPC,SOAP)

Master SPI

4

Mohamed, [email protected]

Architecture des Web Service

Figure N°1 : Architecture des Web Service

services publiés par les providers (UDDI)

• Géré sur un serveur niveau application, entreprise ou mondial

• Application s'exécutant sur un serveur et comportant un module logiciel accessible par en

ente se liant à un service et invoquant ses fonctions par des messages XML

Rapport de projet

Architecture des Web Service

• Application s'exécutant sur un serveur et comportant un module logiciel accessible par en

ente se liant à un service et invoquant ses fonctions par des messages XML

Page 5: Web Service

Master SPI

Copyright ©2014 Shili Mohamed,

Communication Web Service

Les différentes technologies pour accéder à un service web

– REST (Représentational

• Consommer un WebServiceREST

URL en http (Post ou Get) , le serveur renvoie sa réponse, la

en XML

– Communication par échange de fichier XML

• XML-RPC

• SOAP (Simple Object Access Protocol)

REST (Représentational State Transfer)

N’est pas un protocole ou un format, mais une

• Chaque ‘méthode’ou ‘service’est attaché à une URL

• Consommer un WebServiceREST revient à appeler une

(Post ou Get) , le serveur renvoie sa

• Très utilisé pour la communication entre machines.

Exemple : Récupération des Informations d’une commune par une requête

Master SPI

5

Mohamed, [email protected]

Communication Web Service

Les différentes technologies pour accéder à un service web

State Transfer)

• Consommer un WebServiceREST revient à appeler une simple

URL en http (Post ou Get) , le serveur renvoie sa réponse, la plupart du temps

Communication par échange de fichier XML

• SOAP (Simple Object Access Protocol)

REST (Représentational State Transfer)

un protocole ou un format, mais une architecture (celle de HTTP).

• Chaque ‘méthode’ou ‘service’est attaché à une URL

• Consommer un WebServiceREST revient à appeler une simple URL en http

(Post ou Get) , le serveur renvoie sa réponse, la plupart du temps

• Très utilisé pour la communication entre machines.

Exemple : Récupération des Informations d’une commune par une requête

http en mode GET

Figure N°2 :Rest

Rapport de projet

Communication Web Service

revient à appeler une simple

plupart du temps

architecture (celle de HTTP).

simple URL en http

réponse, la plupart du temps en XML

Exemple : Récupération des Informations d’une commune par une requête

Page 6: Web Service

Master SPI

Copyright ©2014 Shili Mohamed,

Exemple

Figure N°2: Table Enseignement

Figure N°

Master SPI

6

Mohamed, [email protected]

Figure N°2: Table Enseignement

Figure N°3: Insertion de ligne

igure N°4 : Interface principale

Rapport de projet

Page 7: Web Service

Master SPI Rapport de projet

7 Copyright ©2014 Shili Mohamed, [email protected]

Figure N°5 : Fichier génère de Web service

Classe générée 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"),

Page 8: Web Service

Master SPI Rapport de projet

8 Copyright ©2014 Shili Mohamed, [email protected]

@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 télphone; @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 télphone, String adresse) { this.id = id;

Page 9: Web Service

Master SPI Rapport de projet

9 Copyright ©2014 Shili Mohamed, [email protected]

this.nom = nom; this.email = email; this.télphone = télphone; 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 getTélphone() { return télphone; } public void setTélphone(String télphone) { this.télphone = télphone; } 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; }

Page 10: Web Service

Master SPI Rapport de projet

10 Copyright ©2014 Shili Mohamed, [email protected]

@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>[email protected]</email> <id>2</id> <nom>shili mohamed</nom> <télphone>21307656</télphone> </enseignement>

Fichier XML

Figure N°6 : Résultat finale

Page 11: Web Service

Master SPI Rapport de projet

11 Copyright ©2014 Shili Mohamed, [email protected]

Les Web Services possèdent une simplicité de mise en oeuvre : Ils rendent en

effet accessibles depuis Internet des fonctionnalités d’une application exixtante

tout en ne modifiant pas en profondeur le systeme d’information de

l’entreprise.Il s’agit de l’ajout de briques suplémentaires. Pour cela, les Web

Services exploitent les standards d’échange Internet.

Les services Web avec ses protocoles et ses standards avance vers toujours plus

de normalisation. Déjà, le protocole d’échange de messages SOAP et le langage

WSDL pour la définition de l’interface standardsent la couche de transport. Les

Web Services reposent sur des bases solides(SOAP et WSDL)qui ont prouvé leur

efficacité et leur maturité même si un normalisation complète n’existe pas

encore.

Cette standardisation permet une grande interopérabilité entre des

applications de technologie différente : les protocoles SOAP, WSDL et UDDI

permettent de simplifier l’utilisation des services auxquels ils sont liés par

l’utilisation de fichiers textuels, donc lisibles par l’utilisateur. Leur contenu se

limitant aux éléments essentiels d’interopérabilité, ces standards assurent une

grande indépendance de l’implémentation par rapport au système

d’exploitation, à l’architecture de la machine ou au standard utilisé.

Un des avantages principaux des Web Services est qu’ils sont basé sur Internet

qui est on le sait fiable et mature.

Page 12: Web Service

Master SPI Rapport de projet

12 Copyright ©2014 Shili Mohamed, [email protected]

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/