Article Preview
TopIntroduction
Services-oriented computing has revealed a new paradigm and brought a technology revolution to traditional IT system development. As service technologies have been developing rapidly, an increasing number of services are available on the Internet, and consequently terms such as Service Web and Internet of Services have been proposed to describe this phenomenon.
Although a user can occasionally employ a single service to meet his needs directly, more often than not the fulfillment of his needs relies on a set of composed services. Therefore, service composition has become a key technology for service-oriented computing and there is a tremendous amount of research on this particular topic. Recently, the mashup technique, which allows users to recompose existing services to create entirely new or additional value-added services, emerges as a promising service composition approach (Liu, Xuanzhe, Yi Hui, et al., 2007). It essentially introduces a simple self-serve approach (Blake, M. Brian, et al., 2007) in which every user is able to compose his own service applications by merely performing a “drag and drop” action within a web browser. Obviously from this perspective, a mashup is extremely consumer-centric and lightweight, and it becomes more attractive to consumers using the Internet under the Web 2.0 paradigm. In recent years, a number of mashup platforms have been developed by various industry vendors.
When a user begins to develop a mashup, the first task is to discover and select suitable existing services. Since there are a huge number of services on the Internet, finding the appropriate ones can be very laborious even for an experienced user. Therefore, service recommendation is becoming increasingly critical as the number of services on the Internet continues to grow rapidly. Based on above observations, the problem we try to address in this paper is how to recommend, for a particular user’s functional specifications, a set of suitable services that the user can utilize to create a proper mashup. Although several service recommendation systems and approaches already exist, they are limited to proposing one or more services with similar functionality. However, in order to develop a mashup, a user often needs a set of related services rather than a single specific service. Furthermore, in order to more precisely recommend suitable services for a particular user, the user’s implicit requirements, which are neglected by most current service recommendation systems and approaches, should be taken into consideration.
Although users’ implicit requirements and their relevant knowledge of certain tasks are difficult or even impossible to model, they can be partially inferred and then captured from some existing social networks formed over users, services, and previous mashups. Figure 1 depicts such a social network, where services, mashups, and users are mutually connected. Based on this network, the underlying relationships can be discovered. For example, two users with many common neighbors may likely share more common interests. For this reason, we propose a social-aware service recommendation approach for mashup creation.
Figure 1. Services' social network structure
The contributions of this paper are three-fold:
- 1.
We propose a coupled matrices model to describe the multi-dimensional relationships among users, mashups, and services;
- 2.
We design a factorization algorithm to predict unobserved relationships in the model to support more accurate service recommendations; and
- 3.
We present a set of experiments to evaluate our approach on a real data set. The experimental results indicate that our approach is promising and outperforms existing approaches.