Flexible and Maintainable Service-Oriented Architectures with Resource-Oriented Web Services

  • Michael Gebhart
  • Pascal Giessler
  • Sebastian Abeck
Chapter

Abstract

The implementation of service-oriented architectures is mostly driven by the motivation to create a flexible and maintainable IT. Whether this goal can be achieved or not strongly depends on the design quality of the services. For that reason, the services within a service-oriented architecture have to be created with care. In the past, several quality attributes and quality indicators were identified that provide information about the design quality of a service. These quality indicators were described with focus on method-driven services based on SOAP. However, today, services are often designed in a resource-oriented way using REST or similar approaches to enable technology-independent interactions. For that reason, this chapter maps the existing quality attributes and quality indicators onto resource-oriented web services. As result, architects and developers get a toolset to design resource-oriented web services in a service-oriented architecture systematically in a quality-oriented manner. The quality indicators are illustrated by means of a resource-oriented web service in the context of a service-oriented SmartCampus system developed at the Karlsruhe Institute of Technology. The scenario shows that the application of the quality indicators limits the design scope and accelerates making design decisions.

References

  1. 1.
    Erl, T: SOA: Principles of Service Design. Prentice Hall, Upper Saddle River (2007). ISBN 978-0132344821Google Scholar
  2. 2.
    Gebhart, M., Abeck, S.: Metrics for evaluating service designs BASED on SoaML. Int. J. Adv. Softw. 4(1&2), 61–75 (2011)Google Scholar
  3. 3.
    Gebhart, M.: Query-based static analysis of web services in service-oriented architectures. Int. J. Adv. Softw. 7(1&2), 136–147 (2014)Google Scholar
  4. 4.
    Fielding, R.: Architectural Styles and The Design of Network-Based Software Architectures. University of California, Irvine (2000)Google Scholar
  5. 5.
    Webber, J., Parastatidis, S., Robinson, I.: REST in practice: Hypermedia and Systems Architecture. O’Reilly Media Inc (2010)Google Scholar
  6. 6.
    W3C: Web Content Accessibility Guidelines (WCAG) 2.0 (2008)Google Scholar
  7. 7.
    Dikmans, L., Luttikhuizen, R.: SOA Made Simple. PACKT Publishing (2012). ISBN 9781849684163Google Scholar
  8. 8.
    Mason, R.: How REST Replaces SOAP on the Web: What it means to you. http://www.infoq.com/articles/rest-soap (2011)
  9. 9.
    ISO/IEC 25010: Systems and software engineering—Systems and software Quality Requirements and Evaluation (SQuaRE)—System and software quality models (2011)Google Scholar
  10. 10.
    ISO/IEC 40210: Information technology—W3C SOAP Version 1.2 Part 1: Messaging Framework (2011)Google Scholar
  11. 11.
    ISO/IEC 42020: Information technology—W3C SOAP Version 1.2 Part 2: Adjuncts (2011)Google Scholar
  12. 12.
    IETF RFC 2616: Hypertext Transfer Protocol—HTTP/1.1 (1999)Google Scholar
  13. 13.
    Garlan, D., Shaw, M.: An introduction to software architecture. Pittsburgh, PA (1994)MATHGoogle Scholar
  14. 14.
    Richardson, L., Amundsen, M., Sam, R.: RESTful Web APIs. O`Reilly & Associates (2013). ISBN 978-1449358069Google Scholar
  15. 15.
    Evans, E.: Domain-Driven Design: Tacking Complexity In the Heart of Software. Addison-Wesley Longman Publishing Co, Boston (2003). ISBN 0321125215Google Scholar
  16. 16.
    IETF RFC 7252: The Constrained Application Protocol (CoAP) (2014)Google Scholar
  17. 17.
    Summers, B.L.: Software Engineering Reviews and Audits. CRC Press, Boca Raton (2011)Google Scholar
  18. 18.
    Cohen, S.: Ontology and taxonomy of services in a service-oriented architecture. Microsoft Archit. J. (2007)Google Scholar
  19. 19.
    Perepletchikov, M., Ryan, C., Frampton, K., Schmidt, H.: Formalising service-oriented design. J. Softw. 3, 1–14 (2008)Google Scholar
  20. 20.
    Perepletchikov, M., Ryan, C., Frampton, K., Schmidt, H.: Cohesion metrics for predicting maintainability of service-oriented software. In: Seventh International Conference on Quality Software (QSIC) (2007)Google Scholar
  21. 21.
    Perepletchikov, M., Ryan, C., Frampton, K., Tari, Z.: Coupling metrics for predicting maintainability in service-Oriented design. In: Australian Software Engineering Conference (ASWEC) (2007)Google Scholar
  22. 22.
    Hirzalla, M., Cleland-Huang, J., Arsanjani, A.: A metrics suite for evaluating flexibility and complexity in service oriented architecture. In: ICSOC (2008)Google Scholar
  23. 23.
    Choi, S.W., Kimi, S.D.: A quality model for evaluating reusability of services in soa. In: 10th IEEE Conference on E-Commerce Technology and the Fifth Conference on Enterprise Computing, E-Commerce and E-Services (2008)Google Scholar
  24. 24.
    Gebhart, M., Giessler, P., Burkhardt, P., Abeck, S.: Quality-oriented requirements engineering for agile development of restful participation service. Ninth International Conference on Software Engineering Advances, pp. 69–74 (2014)Google Scholar
  25. 25.
    Amundsen, M., Richardson, L., Foster, M. W.: Application-Level Profile Semantics (ALPS). http://alps.io/spec/ (2014). Last-accessed 17 May 2015
  26. 26.
    Newman, S.: Building Microservices. O’Reilly (2015)Google Scholar
  27. 27.
    QA82: QA82 Analyzer. http://www.qa82.org

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Michael Gebhart
    • 1
  • Pascal Giessler
    • 1
  • Sebastian Abeck
    • 2
  1. 1.iteratec GmbHStuttgartGermany
  2. 2.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations