Design and development of a REST-based Web service platform for applications integration
Tutor / director / evaluatorCeccaroni, Luigi
Document typeMaster thesis
Rights accessOpen Access
Web services have attracted attention as a possible solution to share knowledge and application logic among different heterogeneous agents. A classic approach to this subject is using SOAP, a W3C protocol aimed to exchange structured information. The Web Services Interoperability organization (WS-I), defines a set of extensions, commonly called WS-*, which further enhance this knowledge exchange defining mechanisms and functionalities such as security, addressability or service composition. This thesis explores a relatively new alternative approach to the SOAP/WS-I stack: REST-based Web services. The acronym REST stands for Representational state transfer; this basically means that each unique URL is a representation of some object. You can get the contents of that object using an HTTP GET; you then might use a POST, PUT or DELETE to modify the object (in practice most of the services use a POST for this). All of Yahoo’s Web services use REST, including Flickr; del.icio.us API uses it; pubsub [http://www.pubsub.com/], Bloglines [http://www.bloglines.com/], Technorati [http://technorati.com/] and both, eBay and Amazon, have Web services for both REST and SOAP. Google seems to be consistent in implementing their Web services to use SOAP, with the exception of Blogger, which uses XML-RPC. The companies and organization that are using REST APIs have not been around for very long, and their APIs came out in the last seven years mostly. So REST is a new way to create and integrate Web services, whose main advantages are: being lightweight (not a lot of extra xml mark-up), human readable results, easy to build services (no toolkits required). Although REST is still generating discussion about possible implementations, and different proposals have been put forward, it provides enough mechanisms to allow knowledge-representations sharing among heterogeneous intelligent services. In this thesis, a novel way to integrate intelligent Web-services is designed and developed, and the resulting system is deployed in the domain of recommendation. Through a mashup, how different services are integrated and how a simple recommendation system consumes data coming from them to provide relevant information to users is presented. Part of this work has been carried out within the context of the Laboranova European project [http://www.laboranova.com/], and has been deployed to integrate a set of applications to create a virtual space to support innovation processes.