Section: Overall Objectives
The advent of the Cloud, of smart mobile devices and of service-based architecture has opened a field of possibilities wide as the invention of the Web 25 years ago. Software companies now deliver applications and services using the Web as a platform. From text to video editing, from data analytics to process management, they distribute business applications to users within their web browser or on some mobile appliance (See http://blog.programmableweb.com/2011/09/16/open-api-growth-a-visualization/). These services are deployed on sophisticated infrastructures that can cope with very demanding loads. The Software as a Service approach (SaaS) highlights their cooperative nature, by enabling the storage of data in cloud infrastructures that can be easily shared among users. Thus, clients consume applications through service API (web services), available on delivery platforms, called stores or markets. This approach of the distribution of software outstrips the traditional software distribution channels, in both scale and opportunity. Scale has different dimensions : the number of users (communities rather than groups), the size of data produced and managed (billions of documents), the number of services and of organizations (tens of thousands). Opportunity refers to the infinite number of combinations between these services and the many ways to consume and use them.
This fast-paced evolution challenges research because the creation of applications from the composition of services must incorporate new content and context based constraints. From a socio-technical perspective, the behaviour of users is evolving constantly as they get acculturated to new services and ways to cooperate. Mere enhancement of current existing solutions to cope with these challenges is likely insufficient. We conduct a dedicated research effort to tackle the problems arising from the evolution of contemporary technologies and of those we can anticipate.
For this purpose, we explore three directions: large scale collaborative data management, data centred service composition and above all, a foundation for the construction of trustworthy collaborative systems.
Large scale collaborative data management concerns mostly the problem of allowing people to collaborate on shared data, synchronously or not, on a central server or on a peer to peer network. Although this research has a long history referring back to , new challenges arise regarding needs that are occurring with the acculturation of users to collaboration like the number of participants to a collaboration (a crowd), sharing among different organisations and the nature of documents that are shared and produced. The problem here is to design new algorithms and to evaluate them under different usage conditions and constraints and for different kinds of data.
Data centred service composition deals with the challenge of creating applications by composing services from different providers. Service composition has been studied for some time now but the technical evolution and the growing availability of public API oblige us to reconsider the problem . Our goal here is, taking into account this evolution, like the advent of the Cloud, the availability at a large scale of public API based on the REST (representational state transfer) architectural style, to design models, methods and tools to help developers to compose these services in a safe and effective way.
Based on the work that we do in the two first topics, our main research direction aims at providing support to build trustworthy collaborative applications based on the knowledge that we can gather from the underlying algorithms, from the composition of services and from the quality of services that can be deduced and monitored. The complexity of the context in which applications are executed does not allow to provide proven guarantees. Our goal is to base our work on a contractual and monitored approach to provide users with confidence in the service they use. It is very surprising to see to what extent people rely today on services with very little knowledge about the amount of confidence they put in these services. As soon as these services are based on composition of other unknown services, it becomes very difficult to understand the consequences of the failure of a component of the composition for instance.
We follow a path that portrays a ruptured continuum, to underscore both the endurance of the common questions along with the challenge of accommodating a new scale. We regard collaborative systems as a combination of supportive services, encompassing safe data management and data sharing. Trustworthy data centred services are an essential support for collaboration at the scale of communities and organisations. We see there that we aim at combining our results and expertise to achieve a new leap forward toward the understanding and the mastering of methods and techniques that allow the engineering and the use of large scale collaborative systems.