Towards automated service procurement. A framework for automated service trading (2013)

In the current vibrant business world companies demand agility. This need is motivated by a global fast market that provides interesting opportunities but challenges its actors by testing its flexibility to quickly adapt and customise its services to new trends. Meanwhile, companies should evolve and innovate to offer high added-value from competitors. In order to face these agility challenge, in an increasingly connected world companies stablish business networks to exchange services and collaborate together in order to take advantage of new market opportunities. With this agile liaisons, companies can leverage their core expertise and extend it with added value from other partners. In this context, IT infrastructure represent an important backbone to articulate new virtual organisation models conformed by the collaboration of different partnerships. From this IT perspective, in the last decade Service Oriented Computing (SOC) has been developed as a mature paradigm providing a stable stack of technologies for integration. This technological foundation provides the ideal breeding environment for a seamless service integration amongst organisations that would make the promise of the virtual organisation model a reality. However, from an the industrial point of view, potential integration scenarios to be addressed are classified in two groups: (i) inter-organisational scenarios where the service providers and consumers belong to different organisations and (ii) intra-organisational scenarios where all stakeholders belong to the very same organisations. In this context, while SOC application has been established as the main paradigm in the later , the former still remain a challenging scenario to be tackled. 
Currently, intra-organisational scenarios have been the typical cases for SOC application since knowledge is shared and conventions are easy to orchestrate. In this scenarios, functional integration (i.e. the operational capabilities of a service specified by an API) is supported by the basic stack of standards defined in SOC. Conversely, inter-organizational scenarios rise up a different challenge derived from the need for guarantees and compensations in case of an unsatisfactory service provision. In this cases, there is a necessity for establishing not only a certain API or the service but to stablish the expected level of service to be deliver from a provider to a consumer. This level of service is traditionally specified in terms of non-functional aspects that stipulate the guarantees and obbligations of consumers and parties during the provision: from a consumer perspective, guarantees could be valid QoS attribute ranges (such as ?ResponseTime? or ?Availability?) while the obligation could be to pay an specific cost per service invocation; on the other hand, providers can have a minimum workload guaranteed by consumer but the provider have to compensate in case it fails in respecting a QoS minimum value. 
In order to specify the setting of the non-functional context for a service consumption, traditional industries have identify the idea of Service Level Agreement (SLA). This element agreed by service consumers and providers extends the functional contract (i.e. API) to formalise the expected values for each of non-functional attributes that are relevant for each stakeholder. Like traditional scenarios, SLAs provide the grounding for reliable inter-organisational transactions since each parties have an explicit declaration of the other counter-party and in case of a SLA violation the appropriate compensation action would be developed. In addition, mid-wide size organisations develop a similar integration challenge than the inter-organisational since sub-organisation tends to cooperate between them but there is a common shared goal by the organisation as a whole. 
SLA life-cycle can be a complex process and be conformed by a diversity of stages such as discovery, ranking or monitoring. However, taking into account a formal contracting model, we coin the trading process as the subset of activities (from the overall SLA Life-cycle) that involve the creation of an SLA. In this context, this trading process can later be followed by the actual service provision based on the SLA terms. During the last decade, Industry and Academia have addressed the SLA from the IT infrastructure perspective in order to achieve an efficient SLA Management. In particular, the relevant works to date include: some formal languages to specify the SLA and can be processed in an automated way; and some techniques and tools to analyse the SLAs and frameworks for SLA Trading. From the Industrial point of view, SLAs have gain momentum in both intra-organisational and inter-organisational scenarios. Moreover, some consultancy firms identify the SLA trading as a key issue that IT Infrastructure should tackle in the future. 
On the one hand, as an example of the former, SLAs are increasingly applied in large organisations such as government administrations that are conformed by multiple divisions that should cooperate efficiently. Specifically, we can identify the PLATINA Project that has as the main goal the development of a service bus to provide support to e-governance and in such a scenario, division has their own processes while they have to participate in global processes; as a consequence SLAs represent a key artefact that could articulate the balance to achieve an appropriate trade-off amongst resources supporting shared processes. 
On the other hand, we can identify an inter-organisational integration in the increasingly popular Cloud Computing scenario. In such a case, organisations acting as providers (such as Amazon) offer a set of computing services to potential organisations (acting as consumers) in order to outsource their infrastructure over the virtual platforms provided. In this scenarios SLAs are present as a fundamental mean for the consumer to understand the reliability of the service and define the expected compensation in case of failure. 
However, in spite the increasing usage of the SLAs in the IT Infrastructure and the proliferation of techniques and tools, trading of SLAs still remains a highly manual process and there is a lack of general frameworks oriented towards an automation of the process. Moreover, a general analysis of the trading process in different use cases rises up a polimorfic problem derived from the high level of variability present. As a consequence his dissertation is developed with the following hypothesis as a foundation: Automating the service trading boosts the flexibility of organizational links and companies are increasingly interested in agile liaisons. 
In particular, in order to address the variability of the different scenarios, we identify a set of dimensions. These dimensions, provide a motivating context that is used to analyse the current state of the art and to identify areas not sufficiently supported by current solutions in order to lay the foundations for the requirements of our thesis. Concretely, five dimensions are identified: (i) Deployment, corresponding with the capabilities in terms of the definition to articulate the steps and stakeholders of the trading process. (ii) Architecture, corresponding with the structure that articulates the different trading components of a system. The structure will imply certain capabilities in terms of interactions and domain collaboration.(iii) Vocabulary, corresponding with properties related with the type of terms presented in the agreement. (iv) Trading Process, corresponding with the process involved in the agreement creation. (v) Knowledge characterisation, corresponding with the variability in terms of knowledge management of the inputs needed to create the SLA. 
Dealing with these dimensions our thesis is stated in the following way: It is convenient to develop a software framework that provides engineering support to make development of systems that automate service trading easier in the context of different scenarios and taking into account the different variability dimensions to cover a wide set of scenarios. 
As a consequence, four different key contributions are identified in our work: (i) This dissertation has analysed the variability of the service trading problem providing a comparative framework that can be used to categorise conceptual approaches and motivate the support for flexible systems. (ii) We present an abstract model that identify the key aspects and relationships in the service trading problem. (iii) This work presents a software framework to create automated service trading systems (FAST) and that has been tested in three different scenarios. (iv) In this dissertation we propose a system of templates that can be used to analyse and compare trading scenarios and to design the supporting settings using FAST in order to develop a customised trading system.