skip to main content
research-article

Designing level 3 behavioral RESTful web service interfaces

Published:01 August 2011Publication History
Skip Abstract Section

Abstract

A web service interface contains information about the names of the operations that can be invoked on the service and the input and output parameters of these operations. This information is not enough to facilitate service developer and consumer in understanding the behavior of the service. In the context of RESTful web services, the requirements of RESTful interface should also be met that are not fulfilled by just advertising the allowed operations on the resources. In addition, RESTful services take hypermedia as an engine of application states. Such services are defined to be at level 3 of Richardson Maturity Model(RMM). In this paper, we present an approach to model the structural and behavioral interface of a RESTful web service using UML class and UML protocol diagrams. These models lead to RESTful interfaces that conform to level 3 of RMM and describe the behavior of operations in terms of preconditions and post-conditions. These models facilitate the authentication mechanism and provide clear mapping to HTTP requests and responses. The generated contracts of methods can be published in an extended version of the WADL language and also used for documentation, stub generation, testing and monitoring purposes.

References

  1. S. Allamarajun. RESTful Web Services Cookbook. O'Reilly Media, 2010.Google ScholarGoogle Scholar
  2. A. Bertolino and A. Polini. The audition framework for testing web services interoperability. Proceedings of 31th Euromicro Conference on Software Engineering and advanced Applications, pages 134--142, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Bravetti and G. Zavattaro. A Theory of Strong Service Compliance. Proceedings of the 9th international conference on Coordination models and languages, pages 96--112, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Bravetti and G. Zavattaro. A Foundational Theory of Contracts for Multi-party Service Composition. Fundamentals of Software Engineering 2007: Selected Contributions, 89:451--478, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. C. Briand, Y. Labiche, and H. Sun. Investigating the Use of Analysis Contracts to Support Fault Isolation in Object Oriented Code. Proceedings of the 2002 ACM SIGSOFT International Symposium on Software testing and analysis, pages 70--80, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Castagna, N. Gesbert, and L. Padovani. A Theory of Contracts for Web Services. Proceedings of ACM Transactions on Programming Languages and Systems (TOPLAS), 31, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. I. Ciupa and A. Leitner. Automatic testing based on Design by Contract. Proceedings of Net.ObjectDays Š05, 6th Annual International Conference on Object-Oriented and Internet-based Technologies, Concepts and Applications for a Networked World, pages 545--557, 2005.Google ScholarGoogle Scholar
  8. G. Dai, X. Bai, Y. Wang, and F. Dai. Contract-Based Testing for Web Services. Proceedings of 31st Annual International Computer Software and Applications Conference, pages 517--526, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. J. Hadley. WADL specifications. 2006. http://www.w3.org/Submission/wadl/.Google ScholarGoogle Scholar
  10. J. H. Hausmann, R. Heckel, and M. Lohmann. Model-based development of Web service descriptions enabling a precise matching concept. In International Journal of Web Services Research, 2:67--85, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  11. M. Laitkorpi, J. Koskinen, and T. Systa. A UML-based Approach for Abstracting Application Interfaces to REST-like Services. Proceedings of the 13th Working Conference on Reverse Engineering, pages 134--146, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Laitkorpi, P. Selonen, and T. Systa. Towards a Model Driven Process fo Designing ResTful Web Services. To appear: International Conference on Web Services, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Lohmann, L. Mariani, and R. Heckel. A Model-driven Approach to Discovery, Testing, and Monitoring of Web Services. In L. Baresi, E. Di Nitto (eds.): Test and Analysis of Web Services, pages 173--204, 2007.Google ScholarGoogle Scholar
  14. B. Meyer. Applying Design by Contract. Computer, IEEE Computer, 25:40--51, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. I. Porres and I. Rauf. From uml protocol statemachines to class contracts. Procceedings of the International Conference on Software Test, Verification and Validation(ICST 2010), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. I. Rauf, M. Iqbal, and Z. Malik. UML Based Modeling of Web Service Composition-A Survey. Proceedings of the 2008 Sixth International Conference on Software Engineering Research, Management and Applications, pages 301--307, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. L. Richardson and S. Ruby. RESTful Web Services. O'Reilly, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Siikarla, M. Laitkorpi, P. Selonen, and T. Systa. Transformations have to be developed ReST assured. Proceedings of the 1st international conference on Theory and Practice of Model Transformations, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O. UML. 2.2 Superstructure Specification. OMG ed, 2009. http://www.omg.org/spec/UML/2.2/.Google ScholarGoogle Scholar
  20. J. Webber, S. Parastatidis, and I. Robinson. REST in Practice: Hypermedia and Systems Architecture. O'Reilly Media, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Zou, J. Mei, and Y. Wang. From Representation State Transfer to Accountable State Transfer Architecture. Proceedings of 2010 IEEE International Conference on Web Services, pages 99--306, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Designing level 3 behavioral RESTful web service interfaces

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader