Loose Coupling and Substitution Principle in Objet-Oriented Frameworks for Web Services Diana Allam
Total Page:16
File Type:pdf, Size:1020Kb
Loose coupling and substitution principle in objet-oriented frameworks for web services Diana Allam To cite this version: Diana Allam. Loose coupling and substitution principle in objet-oriented frameworks for web services. Software Engineering [cs.SE]. Ecole des Mines de Nantes, 2014. English. NNT : 2014EMNA0115. tel-01083286 HAL Id: tel-01083286 https://tel.archives-ouvertes.fr/tel-01083286 Submitted on 17 Nov 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Thèse de Doctorat Diana ALLAM Mémoire présenté en vue de l’obtention du grade de Docteur de l’École nationale supérieure des mines de Nantes sous le label de l’Université de Nantes Angers Le Mans École doctorale : Sciences et technologies de l’information, et mathématiques Discipline : Informatique et applications, section CNU 27 Unité de recherche : Laboratoire d’informatique de Nantes-Atlantique (LINA) Ecole des Mines de Nantes Soutenue le 10 Juillet 2014 Thèse n°: ED 503-2014 EMNA 0115 Loose Coupling and Substitution Principle in Object-Oriented Frameworks for Web Services JURY Rapporteurs : M. Farouk TOUMANI, Professeur, Université Blaise Pascal M. Gwen SALAÜN, Maître de conférences, ENSIMAG, Grenoble INP Examinateurs : M. Claude JARD, Professeur, Université de Nantes M. Anderson SANTANA DE OLIVEIRA, Chercheur senior, SAP Labs Directeur de thèse : M. Jean-Claude ROYER, Professeur, Ecole des Mines de Nantes Co-directeur de thèse : M. Hervé GRALL, Maître-Assistant, Ecole des Mines de Nantes Remerciements 1 Je tiens à remercier dans un premier temps, mon encadrant, Hervé Grall, et mon directeur de thèse, Jean-Claude Royer, pour leurs patiences pendant nos heures de discussion, pour leurs aides, leurs conseils avisés mais également pour leurs soutiens tout au long de ma thèse. Un grand MERCI! Merci à Gwen Salaün et Farouk Toumani pour avoir accepté d’être rapporteurs. Merci aussi à Claude Jard et Anderson Santana de Oliveira pour avoir accepté d’être membres du Jury. Merci à l’ensemble des membres du projet ANR CESSA, Mario Südholt, Rémi Douence, Hervé Grall, Jean-Claude Royer, Matteo Dell-Amico, Yves Roudier, Muhammad Sabir Idrees, Anderson Santana de Oliveira, Gabriel Serme et Gaëtan Harel avec qui j’ai eu des précieuses échanges. Merci au chef d’équipe Ascola, Mario Südholt, à l’ancien chef du département, Narendra Jussien et au nouveau chef du département, Jacques Noyé, d’avoir fourni un soutien financier pour participer à des divers activités et événements, particulièrement à des conferences na- tionales et internationales. Merci à Catherine Fourney, Florence Rogues, Cécile Derouet, Diana Gaudin, Michelle Dauvé, Sylvie le Goff et Delphine Turlier pour leurs aides en tout ce qui concerne les étapes administratives et les demandes de mission. Merci aux membres du département informatique pour leur belle ambiance amicale. Je tiens à remercier en particulier Jurgen pour sa disponibilité et ses conseils. Merci aux membres de CXF mailing-list, particulièrement Sergey Beryozkin, pour leurs réponses rapides à mes questions sur le forum et leurs aides à résoudre et comprendre certains problèmes. Merci à mes amis du département énergétique à l’école des Mines, Nadia, Charlotte, Emna, Elias, Maël et les autres, avec qui j’ai passé des très beaux moments. 1http://lylouannecollection.blogspot.fr/ 3 Merci à mes amis Libanais à Nantes (et qui sont passés par Nantes), Rémy, Nader et Ali el Housseini, Ali el Roz, Ali Yassin, Jaafar, Houssam, Haydar Abbass, Ghassan, Ahmad, Mo- hamed Jawad, Hosni, Ayman & Batoul, Zein & Majd, Youmna et les autres avec qui j’ai partagé des beaux souvenirs. Merci à ma famille de Roumanie, Carmen, Cilvio, Laura, Andra, Christina, Marta, Rodica, Alex, ma grande mère et les autres qui me sont chers. Merci à ma famille ALLAM de Hermel, particulièrement à mes cousins Dyala, Faten, Firas, Yahya, Zakaria, Mohamed, Malek, Sam, Khouzama, Malak, Rami, Ali, Layal, Rasha, Bachir, Houssein, Fatima2, Emne, Jawad, Widiane, Samaher, Amani, Lamis et tous les autres. Merci à la petite famille ASSAF, particulièrement à Mouchira, Sara et Nour, pour les beaux moments qu’on a passé ensemble et les beaux souvenirs inoubliables. Merci à mes deux plus chères personnes, mon père et ma mère, à qui je dois plus que toutes leurs années de sacrifice, leurs soutiens sans faille, leurs disponibiltés à tout moment, leurs encouragements et leurs prières. C’est grâce à vous deux que je suis qui je suis aujourd’hui. Merci à mes deux soeurs, Nadine et Karmen, et à mon frère Karim, à qui je réserve une place très particulière dans mon coeur et dans ma vie. Merci à mon précieux, Ali, mon compagnon du chemin, l’étoile qui éclaire ma vie et mon ange protecteur. 4 Contents 1 Introduction 11 I State of the Art 21 2 Service Oriented Architecture and Web Services 23 2.1 Service Oriented Architecture (SOA) concepts . 24 2.1.1 Interface-based interaction ........................ 24 2.1.2 Dynamic discovery ............................ 25 2.1.3 SOA entities ................................ 26 2.2 Web services ................................... 27 2.2.1 SOAP model ............................... 27 2.2.2 RESTful model ............................. 33 2.3 Discussion ..................................... 35 3 Distributed Objects and Web Services 37 3.1 The architecture of an object-oriented framework for Web services . 39 3.1.1 The object level and the service level . 39 3.1.2 Data binder ................................ 40 3.1.3 Development and execution ....................... 43 3.1.4 Data flow ................................. 45 3.1.5 Control flow ............................... 45 3.2 An overview about distributed object environments . 48 3.2.1 Distributed objects design ........................ 48 3.2.2 Object-oriented middleware ....................... 50 3.3 Discussion ..................................... 52 3.3.1 Service orientation vs object orientation in distributed systems . 52 3.3.2 Gap between objects and structural documents . 53 3.3.3 A need for a unified model at the service level . 54 4 Abstract Formal Models for Service-Oriented Computing 57 4.1 Abstract models for SOA ............................. 58 4.1.1 Communication requirements ...................... 58 5 CONTENTS 4.1.2 Message-based models .......................... 59 4.1.3 Unified models for SOAP and RESTful services . 59 4.1.4 From π-calculus to Join-calculus . 60 4.2 Type systems ................................... 61 4.2.1 Typing requirements for an interaction model . 61 4.2.1.1 Channels mobility: channel type and recursivity over channel types .............................. 61 4.2.1.2 Succession of interactions ................... 63 4.2.1.3 Customization of Web services interfaces . 63 4.2.1.4 Subtyping ........................... 64 4.2.2 Type systems in theory .......................... 65 4.2.3 Weaknesses in existing used type systems . 66 4.2.4 Type safety and type checking ...................... 66 4.3 Discussion ..................................... 67 II Towards a Well-Founded Object-Oriented Framework for Web Ser- vices 69 5 Inconsistencies in Object-Oriented Frameworks for Web Services 71 5.1 Requirements in object-oriented frameworks for Web services . 72 5.1.1 Loose coupling .............................. 73 5.1.2 Substitution principle ........................... 73 5.2 Weaknesses in existing frameworks ....................... 74 5.2.1 Tight coupling in object-oriented discovery APIs . 74 5.2.2 Weak interoperability in respect with the substitution principle . 80 5.2.3 Tight coupling between binding schema and service technology . 83 5.3 Conclusion .................................... 88 6 A Black Box Formal Model for Service-Oriented Computing 89 6.1 Web services communication ........................... 90 6.1.1 Components definition .......................... 90 6.1.2 Components deployment ......................... 91 6.2 Typing message-oriented services ........................ 94 6.2.1 Typing values ............................... 94 6.2.2 Application to examples ......................... 94 6.2.2.1 Channels mobility ....................... 95 6.2.2.2 Succession of interactions ................... 96 6.2.2.3 Customization of Web services interfaces . 97 6.2.3 Subtyping ................................. 97 6.2.3.1 Subtyping example ...................... 97 6.2.3.2 Subtyping algorithm ...................... 99 6.3 Well typed service communication . 100 6 CONTENTS 6.3.1 Type checking messages . 100 6.3.2 Type-checking in the presence of attackers . 103 6.3.2.1 Typing error example . 103 6.3.2.2 A need for a weak authentication . 103 6.4 Conclusion .................................... 105 III A New Specification for a Well-Founded Object-Oriented Frame- work for Web Services 107 7 A Unified Object-Oriented API for Dynamic Web Services Discovery 109 7.1 Unification of the standardized Web services components . 110 7.1.1 Components and interfaces . 110 7.1.2 Messages exchange between interfaces . 114 7.1.3 Matching with the type system . 115 7.2 Unification of dynamic Web services discovery protocols . 118 7.2.1 The