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

Olga Liskin, Leif Singer, K. Schneider
{"title":"Teaching old services new tricks: adding HATEOAS support as an afterthought","authors":"Olga Liskin, Leif Singer, K. Schneider","doi":"10.1145/1967428.1967432","DOIUrl":null,"url":null,"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.\n 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.\n We discuss which information is needed to create a HATEOAS-compliant 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.","PeriodicalId":268294,"journal":{"name":"International Workshop on RESTful Design","volume":"3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-03-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop on RESTful Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1967428.1967432","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 17

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 HATEOAS-compliant 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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
教旧服务新技巧:在事后添加HATEOAS支持
超媒体作为应用程序状态引擎(HATEOAS)是REST架构风格的约束之一。它需要服务响应链接到下一个有效的应用程序状态。这使客户机不必了解所有服务的url及其域应用程序协议的详细信息。然而,很少有服务支持HATEOAS。在大多数情况下,客户端程序员需要复制服务中已经存在的业务逻辑和URL模式。这些依赖关系导致客户端在发生更改时更有可能中断。但是,现有的服务不能很容易地更新以支持HATEOAS:当服务发生更改时,客户机可能会停止正常工作。此外,由于技术或政治原因,客户机开发人员可能无法访问服务的源代码。我们将讨论为现有服务创建符合hateoas的包装器服务需要哪些信息。我们包含了一个符号,用于基于UML状态图对可能的应用程序状态和转换建模。我们通过比较现有服务的客户端和包装后的对应服务来展示我们方法的可行性和优点。我们的方法使客户端开发人员能够将第三方服务包装在符合hateoas的层后面。这将紧密耦合从潜在的许多客户机转移到单个包装器服务,该包装器服务可以在原始服务更改时轻松地重新生成。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Functional descriptions as the bridge between hypermedia APIs and the Semantic Web Experiences designing hypermedia-driven and self-adaptive web-based AR authoring tools On using JSON-LD to create evolvable RESTful services Composition of engineering web services with universal distributed data-flows framework based on ROA What if the web were not RESTful?
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1