Couplage faible et principe de substitution dans les environnements à objets pour les services web
Auteur / Autrice : | Diana Allam |
Direction : | Jean-Claude Royer |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et applications |
Date : | Soutenance le 10/07/2014 |
Etablissement(s) : | Nantes, Ecole des Mines |
Ecole(s) doctorale(s) : | Sciences et Technologies de l'Information et Mathématiques |
Partenaire(s) de recherche : | Equipe de recherche : ASCOLA. ASpect and COmposition LAnguages |
Laboratoire : Laboratoire d'Informatique de Nantes Atlantique / LINA - ASCOLA / INRIA - EMN - Laboratoire d'Informatique de Nantes Atlantique / LINA - ASCOLA / INRIA - EMN | |
Jury : | Président / Présidente : Claude Jard |
Examinateurs / Examinatrices : Anderson Santana de Oliveira, Hervé Grall | |
Rapporteur / Rapporteuse : Gwen Salaün, Farouk Toumani |
Mots clés
Résumé
Actuellement, l’implémentation des services (modèles SOAP et RESTful) et de leurs applications clientes est de plus en plus basée sur la programmation par objet. Ainsi, les cadriciels orientés-objets pour les services Web sont essentiellement composés de deux couches : une couche à objets qui enveloppe une couche à services. Dans ce contexte, deux principes sont nécessaires pour la spécification de ces cadriciels : (i) En premier lieu, un couplage faible entre les deux couches, ce qui permet de cacher la complexité des détails techniques de la couche à services dans la couche à objets et de faire évoluer la couche à services avec un impact minimal sur la couche à objets (ii) En second lieu, une interopérabilité induite par le principe de substitution associée au sous-typage dans la couche à objets. Dans cette thèse, nous présentons d’abord les faiblesses existantes dans les cadriciels orientés-objets liés à ces deux principes. Ensuite, nous proposons une nouvelle spécification pour ces cadriciels en vue de résoudre ces problèmes. Comme application, nous décrivons la mise en œuvre de notre spécification dans le cadriciel cxf, à la fois pour SOAP et RESTful.