Chapitre 2 : Les Architectures web distribuées : Les Web Services

Institut Supérieur des Études Technologiques de Bizerte
1/9
100%

| | | | |

| --- | --- | --- | --- |

| Institut Supérieur des Etudes Technologiques de Bizerte Département Technologies de l’informatique | | | |

| Parcours : | Développement des Système d’Informations | | |

| Unité d’Enseignement : | Environnement de Développement | | |

| Matière : Architecture Logicielle | | | |

| Enseignants Responsables : Khaoula Jridi &Hatem Hamdi | | Année Universitaire : 2015-2016 | Semestre : 5 |

Chapitre 2 : Les Architectures web distribuées : Les Web Services

Objectif :

  • Dévoiler la notion du web services
  • Définir les notions de base d’un service web
  • Savoir le déroulement d’un service web (son fonctionnement)
  • Présenter les protocoles et les technologies utilisés pour réaliser un web service.

Plan du chapitre :

Introduction

1. Architecture Web Services

2. Les Principales Technologies des services web

3. Les Outils de Développements des Services Web

4. Web Applications et l'Architecture 3-Tier

5. Web Applications et l'Architecture 4-Tier

Introduction

La distribution d’une application est sa capacité d’être déployé sur différents sites ; sur des machines physiquement éparpillées.

La distribution est aussi la capacité de communiquer avec d’autres applications distantes.

Publicité

Quand nous visons la distribution comme critère de performance d’une application, nous passons de la programmation orientée objet à la programmation orientée objets distribués.

Les objets d’une application distribuée ne se trouvent pas forcément dans la même machine ils se trouvent dans :

  • Des machines différentes
  • Des applications différentes
  • Des plateformes différentes
  • Des systèmes d’information différents

Toutefois ces objets sont hétérogènes et ont besoins de communiquer entre eux à travers le réseau et de manière transparente. Comment gérer donc cette contrainte.

1. Architecture Web Services

  • Une architecture Web Services est un type d'architecture reposant sur les standards de l'Internet ; orientée services permettant à des applications de communiquer sans préoccupation des technologies d'implantations utilisées de part et d'autre.
  • Priorité : Interopérabilité
  • Née fin 90 (Microsoft, IBM, SAP)
  • Basée sur les technologies XML

I.1. Un service Web c’est quoi ?

Un service web est :

  • une « unité logique applicative » accessible en utilisant les protocoles standards d’Internet
  • Une «librairie» fournissant des données et des services à d’autres applications.
  • Un objet métier qui peut être déployé et combiné sur Internet avec une faible dépendance vis-à-vis des technologies et des protocoles.
  • Combine les meilleurs aspects du développement à base de composants et du Web.

Les Services Web fournissent une couche d'abstraction entre le client et le fournisseur d'un service. Cette couche est indépendante de la plateforme et du langage d'implémentation.

![](data:image/png;base64...)

I.2. Atoûts des services Web

  • Réutilisabilité
  • Interopérabilité - indépendance de:
  • La Plate-forme (Hardware et Système d’Exploitation, Pentium avec Windows, Sparc avec Sun Solaris, PowerPc avec AIX, Pentium avec Linux, ..)
  • L'implémentation (Java, C#, C++, ...)
  • L'environnement de développement (J2EE,dotNET, ...)

Remarque :

Interopérabilité : Capacité des services Web à faire converser des applications & des composants hétérogènes

Exemple :

Réalisation d'un service Web permettant de donner le cours d'une action en bourse, fonctionnant sous Linux en Java et l'interroger depuis une page Web Asp.net en même temps que depuis une application PERL ou PHP.

I.3. Les Générations des applications Web

- 1 Génération :

  • Pages Web statiques (HTML)

Publicité

- 2 Génération :

  • Des applications réelles

(Pages Web dynamiques comme CGI, Servlets, ASP, JSP, PHP, ...)

- 3 Génération :

  • Les Services Web (basé sur XML)

L’évolution du Web

![](data:image/png;base64...)

I.4. Le problème de l’Interopérabilité entre systèmes

![](data:image/png;base64...)

I.5. Les Services Web assurent:

  • Interopérabilité:
  • Différentes Applications (Client et/ou Serveur)
  • Différents Systèmes d‘ Exploitation
  • Différents Hardwares
  • Distribution et Intégration des logiques métiers
  • Faible couplage
  • Protocoles plus adaptés au Web
  • La plus importante innovation des Services Web est l'utilisation de XML comme EDI

1. Les Principales Technologies des Services Web (XML, WSDL, UDDI, SOAP, ...)

Les quatre principales technologies des Services Web

  • eXtensible Markup Language (XML)
  • Simple Object Access Protocol (SOAP)
  • Web Services Description Language (WSDL)
  • Universal Description, Discovery and Integration(UDDI)

II.1. Fonctionnement - Couches

Toutes ces technologies sont disposées en couches et constitue l'architecture services Web

![](data:image/png;base64...)

II.2. Les principaux acteurs

![](data:image/png;base64...)

II.3. La description des Services Web

Publicité

Comment décrire le contrat entre le client et le serveur?

WSDL est un langage qui permet de décrire:

  • un service Web
  • et comment l’invoquer

1. WSDL en détail

WSDL permet la représentation d'un Service Web de manière plus abstraite pour la réutilisation et offre une Interface publique avec laquelle le client invoque le service Web.

1. Structure de WSDL:

<?xml version="1.0" encoding="utf-8"?>

<definitions>

<types>!--abstract data types</types>

<message>!--message structure</message>

<portType>!--Web Service Interface</portType>

<binding>!--how the service is accessed</binding>

<service>!--who provides the service</service>

</definitions>

II.4. La publication des services Web

Comment disponibiliser les services au monde extérieur?

UDDI est un annuaire qui permet:

  • l’enregistrement des services.
  • la découverte des informations sur les services

Publicité

• Une structure de données basée sur XML pour faciliter la découverte des services (XML Schema).

• Similaire à la figure (ci-dessous).

![](data:image/png;base64...)

II.5. Les messages : SOAP (Simple Object Access Protocol)

Comment appeler et obtenir le résultat d'un service Web?

SOAP est un protocole de transmission de messages:

il est particulièrement utile pour exécuter des dialogues requête-réponse RPC (Remote Procedure Call)

  • SOAP est un protocole léger pour accomplir la transmission des informations structurées dans un environnement distribué et décentralisé
  • SOAP est basé sur XML et définit les mécanismes d'échanges d'information entre les clients et les fournisseurs de service web.
  • Les messages SOAP sont susceptibles d'être transportés en HTTP, SMTP, FTP...
  • Le protocole SOAP définit:
  • Une enveloppe
  • une mise en œuvre sur HTTP (HTTP Extension Framework)
  • Un ensemble de règles de codages
  • Un fonctionnement en modèle client / serveur (RPC)

La Structure d’un Message SOAP

![](data:image/png;base64...)

Résumé d’un Services Web

![](data:image/png;base64...)

1. Les Outils de Développements des Services Web

![](data:image/png;base64...)

1. Web Applications et l'Architecture 3-Tier

![](data:image/png;base64...)

1. Web Applications et l'Architecture 4-Tier

![](data:image/png;base64...)

Chapitre 2 : Les Architectures web distribuées : Les Web Services

Institut Supérieur des Études Technologiques de Bizerte · Software Architecture · notes

Browse all génie logiciel documents

| | | | |

| --- | --- | --- | --- |

| Institut Supérieur des Etudes Technologiques de Bizerte Département Technologies de l’informatique | | | |

| Parcours : | Développement des Système d’Informations | | |

| Unité d’Enseignement : | Environnement de Développement | | |

| Matière : Architecture Logicielle | | | |

| Enseignants Responsables : Khaoula Jridi &Hatem Hamdi | | Année Universitaire : 2015-2016 | Semestre : 5 |

Chapitre 2 : Les Architectures web distribuées : Les Web Services

Objectif :

  • Dévoiler la notion du web services
  • Définir les notions de base d’un service web
  • Savoir le déroulement d’un service web (son fonctionnement)
  • Présenter les protocoles et les technologies utilisés pour réaliser un web service.

Plan du chapitre :

Introduction

1. Architecture Web Services

2. Les Principales Technologies des services web

3. Les Outils de Développements des Services Web

4. Web Applications et l'Architecture 3-Tier

5. Web Applications et l'Architecture 4-Tier

Introduction

La distribution d’une application est sa capacité d’être déployé sur différents sites ; sur des machines physiquement éparpillées.

La distribution est aussi la capacité de communiquer avec d’autres applications distantes.

Advertisement

Quand nous visons la distribution comme critère de performance d’une application, nous passons de la programmation orientée objet à la programmation orientée objets distribués.

Les objets d’une application distribuée ne se trouvent pas forcément dans la même machine ils se trouvent dans :

  • Des machines différentes
  • Des applications différentes
  • Des plateformes différentes
  • Des systèmes d’information différents

Toutefois ces objets sont hétérogènes et ont besoins de communiquer entre eux à travers le réseau et de manière transparente. Comment gérer donc cette contrainte.

1. Architecture Web Services

  • Une architecture Web Services est un type d'architecture reposant sur les standards de l'Internet ; orientée services permettant à des applications de communiquer sans préoccupation des technologies d'implantations utilisées de part et d'autre.
  • Priorité : Interopérabilité
  • Née fin 90 (Microsoft, IBM, SAP)
  • Basée sur les technologies XML

I.1. Un service Web c’est quoi ?

Un service web est :

  • une « unité logique applicative » accessible en utilisant les protocoles standards d’Internet
  • Une «librairie» fournissant des données et des services à d’autres applications.
  • Un objet métier qui peut être déployé et combiné sur Internet avec une faible dépendance vis-à-vis des technologies et des protocoles.
  • Combine les meilleurs aspects du développement à base de composants et du Web.

Les Services Web fournissent une couche d'abstraction entre le client et le fournisseur d'un service. Cette couche est indépendante de la plateforme et du langage d'implémentation.

![](data:image/png;base64...)

I.2. Atoûts des services Web

  • Réutilisabilité
  • Interopérabilité - indépendance de:
  • La Plate-forme (Hardware et Système d’Exploitation, Pentium avec Windows, Sparc avec Sun Solaris, PowerPc avec AIX, Pentium avec Linux, ..)
  • L'implémentation (Java, C#, C++, ...)
  • L'environnement de développement (J2EE,dotNET, ...)

Remarque :

Interopérabilité : Capacité des services Web à faire converser des applications & des composants hétérogènes

Exemple :

Réalisation d'un service Web permettant de donner le cours d'une action en bourse, fonctionnant sous Linux en Java et l'interroger depuis une page Web Asp.net en même temps que depuis une application PERL ou PHP.

I.3. Les Générations des applications Web

- 1 Génération :

  • Pages Web statiques (HTML)

Advertisement

- 2 Génération :

  • Des applications réelles

(Pages Web dynamiques comme CGI, Servlets, ASP, JSP, PHP, ...)

- 3 Génération :

  • Les Services Web (basé sur XML)

L’évolution du Web

![](data:image/png;base64...)

I.4. Le problème de l’Interopérabilité entre systèmes

![](data:image/png;base64...)

I.5. Les Services Web assurent:

  • Interopérabilité:
  • Différentes Applications (Client et/ou Serveur)
  • Différents Systèmes d‘ Exploitation
  • Différents Hardwares
  • Distribution et Intégration des logiques métiers
  • Faible couplage
  • Protocoles plus adaptés au Web
  • La plus importante innovation des Services Web est l'utilisation de XML comme EDI

1. Les Principales Technologies des Services Web (XML, WSDL, UDDI, SOAP, ...)

Les quatre principales technologies des Services Web

  • eXtensible Markup Language (XML)
  • Simple Object Access Protocol (SOAP)
  • Web Services Description Language (WSDL)
  • Universal Description, Discovery and Integration(UDDI)

II.1. Fonctionnement - Couches

Toutes ces technologies sont disposées en couches et constitue l'architecture services Web

![](data:image/png;base64...)

II.2. Les principaux acteurs

![](data:image/png;base64...)

II.3. La description des Services Web

Advertisement

Comment décrire le contrat entre le client et le serveur?

WSDL est un langage qui permet de décrire:

  • un service Web
  • et comment l’invoquer

1. WSDL en détail

WSDL permet la représentation d'un Service Web de manière plus abstraite pour la réutilisation et offre une Interface publique avec laquelle le client invoque le service Web.

1. Structure de WSDL:

<?xml version="1.0" encoding="utf-8"?>

<definitions>

<types>!--abstract data types</types>

<message>!--message structure</message>

<portType>!--Web Service Interface</portType>

<binding>!--how the service is accessed</binding>

<service>!--who provides the service</service>

</definitions>

II.4. La publication des services Web

Comment disponibiliser les services au monde extérieur?

UDDI est un annuaire qui permet:

  • l’enregistrement des services.
  • la découverte des informations sur les services

Advertisement

• Une structure de données basée sur XML pour faciliter la découverte des services (XML Schema).

• Similaire à la figure (ci-dessous).

![](data:image/png;base64...)

II.5. Les messages : SOAP (Simple Object Access Protocol)

Comment appeler et obtenir le résultat d'un service Web?

SOAP est un protocole de transmission de messages:

il est particulièrement utile pour exécuter des dialogues requête-réponse RPC (Remote Procedure Call)

  • SOAP est un protocole léger pour accomplir la transmission des informations structurées dans un environnement distribué et décentralisé
  • SOAP est basé sur XML et définit les mécanismes d'échanges d'information entre les clients et les fournisseurs de service web.
  • Les messages SOAP sont susceptibles d'être transportés en HTTP, SMTP, FTP...
  • Le protocole SOAP définit:
  • Une enveloppe
  • une mise en œuvre sur HTTP (HTTP Extension Framework)
  • Un ensemble de règles de codages
  • Un fonctionnement en modèle client / serveur (RPC)

La Structure d’un Message SOAP

![](data:image/png;base64...)

Résumé d’un Services Web

![](data:image/png;base64...)

1. Les Outils de Développements des Services Web

![](data:image/png;base64...)

1. Web Applications et l'Architecture 3-Tier

![](data:image/png;base64...)

1. Web Applications et l'Architecture 4-Tier

![](data:image/png;base64...)