Chapitre III : Les technologies utilisées et la
méthode d'analyse multicritère
III.1. Introduction
Le nombre des technologies, plateformes et cadres
d'applications existants, de nos jours, nous amènent à
définir précisément la nature, le public visé, les
services rendus par l'application que l'on souhaite concevoir ainsi que les
meilleures ressources à utiliser. Cependant, l'utilisation des APIs
demeure d'une nécessité incontournable. A la suite de ces lignes,
nous survolerons les technologies dont leur utilisation à
représenter un atout majeur dans la conception de notre application.
III.2. API
III.2.1. Définition d'une API
Les interfaces de programmation pour applications sont des
interfaces qui sont utilisées par les programmes pour interagir avec des
applications. Ce sont des briques logicielles ou des morceaux de codes qui
lorsqu'ils sont sollicités, délivrent des services ou des
informations définies.
Elles sont chacune indépendantes mais communicantes
c'est-à-dire qu'elles permettent de s'échanger mutuellement des
services et des informations.
En outre, Une API web est référencée par
le terme API tout simplement par abus de langage. Elle représente, en
résumé, une interface pour les programmes et non, une interface
pour les utilisateurs. Dans le cadre du développement d'application,
l'utilisateur se résume au développeur, qui intègrera
l'api web répondant à ses besoins, dans son morceau de code.
Ainsi, cette application fournira des services aux utilisateurs, dont la
majorité sera ceux exposés par cette API.
III. Chapitre 3 : Les technologies utilisées
et la méthode d'analyse multicritère
20
Figure 8 : Definition d'une API
III.2.2. Caractéristiques des API ?
Dépendance au langage
Une API peut être utilisable dans un unique langage de
programmation ou être indépendante des langages. Dans le second
cas un langage intermédiaire comme XML peut être utilisé
comme format de données pour les requêtes aux fonctions et
méthodes. [30]
? Licence d'utilisation
Elle est sous licence libre et utilisable sans frais par tout
programmeur, ou sous licence propriétaire et accessible uniquement
à une communauté restreinte. [30]
? Niveau de langage
On distingue d'une part l'API de haut niveau, en
matière de langage de programmation, comme les API graphiques et d'autre
part l'ABI (Application Binary Interface), proche du système, comme la
Linux Standard Base ou les interfaces de pilotes de matériels. [30]
III. Chapitre 3 : Les technologies utilisées
et la méthode d'analyse multicritère
21
III.2.3. Les différents types d'API
Il existe, d'une part, un style d'architecture,
prénommé REST (Representational State Transfer) permettant de
construire des applications et sur lequel s'adosse les APIs. Son architecture
ne nécessite aucun traitement et est naturellement flexible dans un but
de fournir une méthode simplifiée d'accéder à des
services Web. En effet, l'architecture repose sur le protocole HTTP. [31]
Une API dite RESTFULL est une API qui possède une
architecture REST. Le principe d'interaction avec les ressources est couvert
par les adresses URI (Uniform Resource Identifier). [31]
Une ressource est tout simplement une information
intéressante accessible par sa propre adresse ou URI, que le serveur
peut fournir. [32]
D'autre part, Il existe un protocole, prénommé
SOAP (Simple Object Access Protocol), basé sur le XML permettant aux
applications d'échanger des informations via HTTP. L'utilisation de la
communication via HTTP reste incontournable parce que ce dernier est
supporté par tous les navigateurs et serveurs. Soap est donc une
alternative crée pour permettre la communication entre applications qui
tournent sur différents systèmes d'exploitation,
différentes technologies et différents langages de programmation.
[33]
Les deux techniques, énoncées
précédemment, ont des problèmes à prendre en compte
au moment de décider quel protocole utiliser. L'accès à
des services Web par SOAP offre des avantages par rapport à REST :
[34]
- Non dépendance par rapport à la langue, la
plate-forme et le transfert (REST nécessite l'utilisation de HTTP)
- Fonctionne bien dans des environnements distribués
(REST nécessite une communication directe point à point)
- Standardisé
- Intègre la gestion des erreurs
III. Chapitre 3 : Les technologies utilisées
et la méthode d'analyse multicritère
22
- Automatisé lorsqu'il est utilisé avec des
produits utilisant certains langages de programmation
Cependant, REST est plus récent, plus souple et plus
facile à utiliser. Ses avantages suivants par rapport à SOAP :
[34]
- Aucun besoin d'outils coûteux pour interagir avec le
service Web
- Une courbe d'apprentissage plus petite pour les
développeurs
- Efficace (SOAP utilise XML pour tous les messages, REST peut
utiliser des formats de
message plus petits tels que le JSON)
- Rapide (pas de traitement étendu requis)
- Proche d'autres technologies Web.
|