• 20 hours
  • Hard

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Découvrez les architectures orientées services

Log in or subscribe for free to enjoy all this course has to offer!

Les architectures orientées services

À travers ce cours, vous allez découvrir ce que c’est une architecture orientée services, ses concepts, et ce qu’elle apporte dans le développement d’applications, notamment les applications distribuées. Mais avant cela, je vous présenterai quelques enjeux et problèmes qui découlent du développement d’applications.

Évolution des applications

L’un des facteurs importants à considérer lors du développement des applications est l’évolution des applications.

Pour comprendre de quoi il s’agit, considérons par exemple que vous êtes sollicité pour le développement d’une application qui fournit des fonctionnalités désignées par A et B.

Si vous êtes amené à étendre votre application par l'ajout de nouvelles fonctionnalités, désignées par C et D, cela ne doit pas remettre en question les parties existantes de l’application.

Réutilisation des applications

Maintenant, supposons que vous êtes sollicité une autre fois pour développer une autre application qui doit fournir des fonctionnalités B, C, E, et F. Étant donné que les fonctionnalités B et C sont déjà fournies par la première application, il serait judicieux de pouvoir les réutiliser et de ne pas les développer à nouveau. Cela vous éviterait la duplication du code inutile et cela réduirait aussi les efforts et les coûts.  Il est donc important que vos applications soient développées de telle sorte qu’elles favorisent la réutilisation.

Applications distribuées

Comme vous le savez certainement déjà,  les applications sont de plus en plus complexes et reposent sur l’intégration de plusieurs applications.

Architectures orientées services – SOA

L’architecture orientée services est apparue pour apporter des solutions au problème d’intégration d’applications. En quoi consiste SOA ? L’idée est simple ! Elle consiste à encapsuler les applications sous forme de briques logicielles appelées services. Ainsi, les différentes fonctionnalités requises sont exposées sous forme d’un ou plusieurs services.

Par conséquent, en suivant cette architecture, les applications peuvent être construites en composant et en réutilisant des services, à l’image des Lego. Contrairement au développement classique des applications, SOA favorise la réutilisation, l’évolution et l’intégration des applications.

 

Service Web

Vous vous posez certainement la question de savoir comment utiliser ces services pour créer par exemple des applications qui exploitent différents services qui appartiennent potentiellement à différents fournisseurs ?

Ou autrement dit, comment créer des applications orientées services distribuées ?

Et c’est quoi, un service Web ?

Un service Web peut être vu comme une interface logicielle accessible via le Web qui permet de fournir des données et des prestations. Pour utiliser un service Web, seule la description de son interface est nécessaire. Les détails liés à son implémentation ne sont ni exposés ni requis.

Les standards des services Web

La technologie des services Web repose principalement sur trois standards :

  1. WSDL (Web service description language) ou, autrement dit, un langage de description qui est basé sur XML. Le but de ce langage est de décrire l’interface d’un service Web indépendamment de son implémentation. Cette description fournit des informations nécessaires à l’appel du service, comme les opérations qu’il offre, les types de données supportées, les protocoles utilisés et l’adresse du service.

  2. Les services Web communiquent via l’échange de messages qui respectent un certain format. C’est justement ce que permet de faire SOAP (Simple Object Access Protocol). SOAP est un standard de communication basé sur XML.

  3. Les messages SOAP sont ensuite envoyés en utilisant un protocole de transport tel que HTTP.

Dans ce cours, vous avez vu ce qu’est une architecture orientée services et ce qu’elle apporte dans le développement des applications. Le choix d’une solution adéquate pour mettre en place une application distribuée n’aura plus de secret pour vous.  Vous êtes désormais capable de proposer des solutions de conception d’applications qui sont modulaires, distribuées, évolutives, et interopérables en vous basant sur l’architecture SOA. Dans le prochain cours,  vous allez découvrir une deuxième architecture très répandue de nos jours et qui est plutôt orientée ressource.

Example of certificate of achievement
Example of certificate of achievement