Teaching old services new tricks: Adding HATEOAS support as an afterthought

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

Research Organisations

View graph of relations

Details

Original languageEnglish
Title of host publicationProceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011
Pages3-10
Number of pages8
Publication statusPublished - 28 Mar 2011
Event2nd International Workshop on RESTful Design, WS-REST 2011 - Hyderabad, India
Duration: 28 Mar 201128 Mar 2011

Publication series

NameACM International Conference Proceeding Series

Abstract

Hypermedia as the Engine of Application State, or HATEOAS, is one of the constraints of the REST architectural style. It requires service responses to link to the next valid application states. This frees clients from having to know about all the service's URLs and the details of its domain application protocol. Few services support HATEOAS, though. In most cases, client programmers need to duplicate business logic and URL schemas already present in the service. These dependencies result in clients that are more likely to break when changes occur. But existing services cannot be easily updated to support HATEOAS: Clients could cease working correctly when a service is changed. Also, client developers might not have access to the service's source code, be it for technical or political reasons. We discuss which information is needed to create a HATEOAScompliant wrapper service for an existing service. We include a notation for modeling possible application states and transitions based on UML State Charts. We demonstrate the feasibility and advantages of our approach by comparing the clients for an existing service and its wrapped counterpart. Our approach enables client developers to wrap third-party services behind an HATEOAS-compliant layer. This moves the tight coupling away from potentially many clients to a single wrapper service that may easily be regenerated when the original service changes.

Keywords

    HATEOAS, Hypermedia, REST, Services, Wrapper

ASJC Scopus subject areas

Cite this

Teaching old services new tricks: Adding HATEOAS support as an afterthought. / Liskin, Olga; Singer, Leif; Schneider, Kurt.
Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011. 2011. p. 3-10 (ACM International Conference Proceeding Series).

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Liskin, O, Singer, L & Schneider, K 2011, Teaching old services new tricks: Adding HATEOAS support as an afterthought. in Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011. ACM International Conference Proceeding Series, pp. 3-10, 2nd International Workshop on RESTful Design, WS-REST 2011, Hyderabad, India, 28 Mar 2011. https://doi.org/10.1145/1967428.1967432
Liskin, O., Singer, L., & Schneider, K. (2011). Teaching old services new tricks: Adding HATEOAS support as an afterthought. In Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011 (pp. 3-10). (ACM International Conference Proceeding Series). https://doi.org/10.1145/1967428.1967432
Liskin O, Singer L, Schneider K. Teaching old services new tricks: Adding HATEOAS support as an afterthought. In Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011. 2011. p. 3-10. (ACM International Conference Proceeding Series). doi: 10.1145/1967428.1967432
Liskin, Olga ; Singer, Leif ; Schneider, Kurt. / Teaching old services new tricks : Adding HATEOAS support as an afterthought. Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011. 2011. pp. 3-10 (ACM International Conference Proceeding Series).
Download
@inproceedings{0580c9bfcb714f35bc439c7032b337c3,
title = "Teaching old services new tricks: Adding HATEOAS support as an afterthought",
abstract = "Hypermedia as the Engine of Application State, or HATEOAS, is one of the constraints of the REST architectural style. It requires service responses to link to the next valid application states. This frees clients from having to know about all the service's URLs and the details of its domain application protocol. Few services support HATEOAS, though. In most cases, client programmers need to duplicate business logic and URL schemas already present in the service. These dependencies result in clients that are more likely to break when changes occur. But existing services cannot be easily updated to support HATEOAS: Clients could cease working correctly when a service is changed. Also, client developers might not have access to the service's source code, be it for technical or political reasons. We discuss which information is needed to create a HATEOAScompliant wrapper service for an existing service. We include a notation for modeling possible application states and transitions based on UML State Charts. We demonstrate the feasibility and advantages of our approach by comparing the clients for an existing service and its wrapped counterpart. Our approach enables client developers to wrap third-party services behind an HATEOAS-compliant layer. This moves the tight coupling away from potentially many clients to a single wrapper service that may easily be regenerated when the original service changes.",
keywords = "HATEOAS, Hypermedia, REST, Services, Wrapper",
author = "Olga Liskin and Leif Singer and Kurt Schneider",
year = "2011",
month = mar,
day = "28",
doi = "10.1145/1967428.1967432",
language = "English",
isbn = "9781605589596",
series = "ACM International Conference Proceeding Series",
pages = "3--10",
booktitle = "Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011",
note = "2nd International Workshop on RESTful Design, WS-REST 2011 ; Conference date: 28-03-2011 Through 28-03-2011",

}

Download

TY - GEN

T1 - Teaching old services new tricks

T2 - 2nd International Workshop on RESTful Design, WS-REST 2011

AU - Liskin, Olga

AU - Singer, Leif

AU - Schneider, Kurt

PY - 2011/3/28

Y1 - 2011/3/28

N2 - Hypermedia as the Engine of Application State, or HATEOAS, is one of the constraints of the REST architectural style. It requires service responses to link to the next valid application states. This frees clients from having to know about all the service's URLs and the details of its domain application protocol. Few services support HATEOAS, though. In most cases, client programmers need to duplicate business logic and URL schemas already present in the service. These dependencies result in clients that are more likely to break when changes occur. But existing services cannot be easily updated to support HATEOAS: Clients could cease working correctly when a service is changed. Also, client developers might not have access to the service's source code, be it for technical or political reasons. We discuss which information is needed to create a HATEOAScompliant wrapper service for an existing service. We include a notation for modeling possible application states and transitions based on UML State Charts. We demonstrate the feasibility and advantages of our approach by comparing the clients for an existing service and its wrapped counterpart. Our approach enables client developers to wrap third-party services behind an HATEOAS-compliant layer. This moves the tight coupling away from potentially many clients to a single wrapper service that may easily be regenerated when the original service changes.

AB - Hypermedia as the Engine of Application State, or HATEOAS, is one of the constraints of the REST architectural style. It requires service responses to link to the next valid application states. This frees clients from having to know about all the service's URLs and the details of its domain application protocol. Few services support HATEOAS, though. In most cases, client programmers need to duplicate business logic and URL schemas already present in the service. These dependencies result in clients that are more likely to break when changes occur. But existing services cannot be easily updated to support HATEOAS: Clients could cease working correctly when a service is changed. Also, client developers might not have access to the service's source code, be it for technical or political reasons. We discuss which information is needed to create a HATEOAScompliant wrapper service for an existing service. We include a notation for modeling possible application states and transitions based on UML State Charts. We demonstrate the feasibility and advantages of our approach by comparing the clients for an existing service and its wrapped counterpart. Our approach enables client developers to wrap third-party services behind an HATEOAS-compliant layer. This moves the tight coupling away from potentially many clients to a single wrapper service that may easily be regenerated when the original service changes.

KW - HATEOAS

KW - Hypermedia

KW - REST

KW - Services

KW - Wrapper

UR - http://www.scopus.com/inward/record.url?scp=79956030657&partnerID=8YFLogxK

U2 - 10.1145/1967428.1967432

DO - 10.1145/1967428.1967432

M3 - Conference contribution

AN - SCOPUS:79956030657

SN - 9781605589596

T3 - ACM International Conference Proceeding Series

SP - 3

EP - 10

BT - Proceedings of the 2nd International Workshop on RESTful Design, WS-REST 2011

Y2 - 28 March 2011 through 28 March 2011

ER -

By the same author(s)