A Domain-Specific Language for Web APIs and Services Mashups
Distributed programming has shifted from private networks to the public Internet and from using private and controlled services to increasingly using publicly available heterogeneous Web services (e.g., REST, SOAP, RSS, and Atom). This move enables the creation of innovative end-user-oriented composed services with user interfaces. These services mashups are typically point solutions to specific (specialized) problems; however, what is missing is a programming model that facilitates and accelerates creation and deployment of mashups of diverse services. In this paper we describe a domain-specific language that unifies the most common service models and facilitates service composition and integration into end-user-oriented Web applications. We demonstrate our approach with an implementation that leverages the Ruby on Rails framework.
KeywordsService Composition Atom Service Rest Service Data Mediation Service Composition Solution
- 1.Curbera, F., Goland, Y., Klein, J., Leymann, F., Roller, D., Thatte, S., Weerawarana, S.: Business Process Execution Language for Web Services, Version 1.0 (2002), http://www-128.ibm.com/developerworks/library/specification/ws-bpel/
- 2.Fielding, R.T.: Software Architectural Styles for Network-based Applications. Ph.D. thesis, University of California, Irvine, CA (January 2000)Google Scholar
- 3.Goff, M.K.: Network Distributed Computing: Fitscapes and Fallacies. Prentice Hall, Upper Saddle River, NJ (2003)Google Scholar
- 4.Tai, S., Desai, N., Mazzoleni, P.: Service communities: applications and middleware. In: SEM-06. Proceedings of the 6th International Workshop on Software Engineering and Middleware, Portland, OR, pp. 17–22 (2006)Google Scholar