A chemical programming language for orchestrating services : Application to interoperability problems

Avec l’émergence du "Cloud-computing" et des applications mobiles, il est possible de trouver un service web répondant à presque tout besoin. De plus, les développeurs peuvent créer des applications complexes en combinant différents services indépendants, dont l’agencement et l’exécution p...

Full description

Bibliographic Details
Main Author: Lacouture, Mayleen
Other Authors: Nantes, Ecole des Mines
Language:en
Published: 2014
Subjects:
SOC
Online Access:http://www.theses.fr/2014EMNA0011/document
Description
Summary:Avec l’émergence du "Cloud-computing" et des applications mobiles, il est possible de trouver un service web répondant à presque tout besoin. De plus, les développeurs peuvent créer des applications complexes en combinant différents services indépendants, dont l’agencement et l’exécution peuvent être automatisés avec l’aide de langages d’orchestration. Cependant, la diversité des technologies et le manque de standardisation peuvent entraver la collaboration entre services. Un exemple de cette limitation est le cas de la gestion des photos avec des services tels que Flickr et Picasa, qui diffèrent non seulement sur la façon dont les photos sont organisées mais aussi sur les services qu’ils fournissent. L’hétérogénéité de ces deux services conduit à des problèmes d’interopérabilité, à savoir dans l’adaptation, l’intégration et la coordination. Nous proposons un framework pour aider à la résolution de ces problèmes, sous la forme d’une architecture qui intègre différents langages d’orchestration avec des fournisseurs de services hétérogènes autour d’un langage pivot. Comme langage pivot, nous proposons le langage d’orchestration Criojo qui implémente et étend le Heta-calcul, un calcul original associé à une machine chimique abstraite dédié à l’orchestration de services. En adoptant cette approche l’interopérabilité entre les services et les langages d’orchestration sera améliorée, facilitant ainsi le développement des services composites. Le haut niveau d’abstraction de Criojo pourrait permettre aux développeurs d’écrire des orchestrations très concises puisque les échanges de messages sont représentés d’une manière naturelle et intuitive. === With the emergence of cloud computing and mobile applications, it is possible to find a web service for almost everything. Moreover, developers can create complex applications by combining several independent services, whose arrangement and execution can be automated with the aid of orchestration languages. Nevertheless, the diversity of technologies and the lack of standardization can hinder the collaboration between services. An example of this limitation is the case of photo management with services such as Flickr and Picasa,which not only differ on the way photos are organized, but also in the services they provide. The heterogeneity of the two services leads to interoperability problems, namely adaptation, integration and coordination problems. We propose a framework for helping at the resolution of these issues, in the form of an architecture that integrates different orchestration languages with heterogeneous service providers around a pivot language. As a pivot language we propose an orchestration language based on the chemical programming paradigm. Concretely, this dissertation presents the language Criojo that implements and extends the Heta-calculus, an original calculus associated to a chemical abstract machine dedicated to service-oriented computing. The consequence of adopting this approach would bean improvement in the interoperability of services and orchestration languages, thus easing the development of composite services. The high level of abstraction of Criojo could allow developers to write very concise orchestrations since message exchanges are represented in a natural and intuitive way.