Chapitre 5 L'ingénierie des applications
Mashup
Mashup. Afin d'assurer un Mashup automatique
(sémantique) il faut que ces différents APIs soient
sémantisés en utilisant différentes approches de
sémantisation.
La sémantisation des APIs est similaire à celle
des services web classiques (vois chapitre 3) dans laquelle les services web
sont renforcés par une couches sémantique qui permet de les
sélectionner et les composer de manières automatiques. Dans le
cas des Mashups le même problème est posé, une
sélection et une combinaison automatique qui ont permet d'ajouter une
couche sémantique au-dessus des APIs (REST, SOAP, JS, RSS,...). Mais le
problème majeur dans les Mashup est que ces APIs ne sont pas de
même nature par exemple (les services web soap sont orientés
services par contre les services web RESTful sont orientés ressources)
et qui ont une description différentes. Par exemple dans un même
Mashup on peut trouver deux APIs un à base de SOAP avec une description
WSDL et l'autre à base de REST avec la description WADL.
La génération automatique des Mashups
nécessitera non seulement La sémantisation des APIs mais aussi un
algorithme de Matching qui permet de trouver automatiquement les
différents APIs qui peuvent être combiner avec un service
donnée. Dans le cas des Mashups la combinaison des APIs se fait en
niveau des entrées et des sorties des méthodes publiées
par ces APIs, par exemple on suppose qu'on va créer un Mashup qui permet
de donner des informations météorologiques des villes; dans un
premier temps on cherche manuellement l'API qui peut nous donner des
informations météorologiques, mais cet API lui seul ne suffit pas
car il ne donne pas la possibilité de sélectionner et choisir les
villes qu' on veut découvrir , chose qui rend la tache difficile pour un
utilisateur final. Pour résoudre ce problème on va chercher un
API qui complète l'API météorique de manière que
l'input LOCATION de l'API météorique
correspond au l'output de l'API qu'on cherche (par exemple GoogleMap).
4. Comparaison entre les différentes approches
:
Approch e
|
Type
d'utilisateur
|
Profile d'utilisateur
|
sélection
|
combinaison
|
Temps/
côut / difficulté
|
Adaptation
en change- ment
|
Connaissance
préalable
|
Manuelle
|
Développeur
|
*Programmation web *l'emplacement,
structure et sémantique des sources
*documentation d'API
|
Manuelle
|
Manuelle
|
Elevé
|
Non
|
Rien
|
Semi- automati que
|
occasionnel
|
*La métrise de l'outil *l'emplacement,
structure et sémantique des sources
|
Manuelle
|
Semi-
automatique
|
Moyen
|
Non
|
Méta-modèle
|
Automati que
|
Final
|
*L'utilisation du
navigateur web
|
Automatique
|
Automatique
|
Réduit
|
Oui
|
Ontologie
|
Table 5.1 Tableau comparatif entre les différentes
approches d'ingénieries de Mashup
|