Interface Responsibility Patterns: Processing Resources and Operation Responsibilities

O. Zimmermann, Daniel Lübke, Uwe Zdun, C. Pautasso, Mirko Stocker
{"title":"Interface Responsibility Patterns: Processing Resources and Operation Responsibilities","authors":"O. Zimmermann, Daniel Lübke, Uwe Zdun, C. Pautasso, Mirko Stocker","doi":"10.1145/3424771.3424822","DOIUrl":null,"url":null,"abstract":"Remote Application Programming Interfaces (APIs), as for instance offered in microservices architectures, are used in almost any distributed system today and are thus enablers for many digitalization efforts. It is hard to design such APIs so that they are easy and effective to use; maintaining their runtime qualities while preserving backward compatibility is equally challenging. Finding well suited granularities in terms of the architectural capabilities of endpoints and the read-write semantics of their operations are particularly important design concerns. Existing pattern languages have dealt with local APIs in object-oriented programming, with remote objects, with queue-based messaging and with service-oriented computing platforms. However, patterns or equivalent guidances for the architectural design of API endpoints, operations and their request and response message structures are still missing. In this paper, we extend our microservice API pattern language (MAP) and introduce endpoint role and operation responsibility patterns, namely Processing Resource, Computation Function, State Creation Operation, Retrieval Operation, and State Transition Operation. Known uses and examples of the patterns are drawn from public Web APIs, as well as application development and system integration projects the authors have been involved in.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the European Conference on Pattern Languages of Programs 2020","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3424771.3424822","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Remote Application Programming Interfaces (APIs), as for instance offered in microservices architectures, are used in almost any distributed system today and are thus enablers for many digitalization efforts. It is hard to design such APIs so that they are easy and effective to use; maintaining their runtime qualities while preserving backward compatibility is equally challenging. Finding well suited granularities in terms of the architectural capabilities of endpoints and the read-write semantics of their operations are particularly important design concerns. Existing pattern languages have dealt with local APIs in object-oriented programming, with remote objects, with queue-based messaging and with service-oriented computing platforms. However, patterns or equivalent guidances for the architectural design of API endpoints, operations and their request and response message structures are still missing. In this paper, we extend our microservice API pattern language (MAP) and introduce endpoint role and operation responsibility patterns, namely Processing Resource, Computation Function, State Creation Operation, Retrieval Operation, and State Transition Operation. Known uses and examples of the patterns are drawn from public Web APIs, as well as application development and system integration projects the authors have been involved in.
接口责任模式:处理资源和操作责任
远程应用程序编程接口(api),例如在微服务架构中提供的,在今天几乎所有的分布式系统中都有使用,因此是许多数字化工作的推动者。很难设计这样的api,使其易于有效地使用;在保持向后兼容性的同时保持它们的运行时质量同样具有挑战性。在端点的体系结构功能及其操作的读写语义方面找到合适的粒度是特别重要的设计关注点。现有的模式语言已经处理了面向对象编程中的本地api、远程对象、基于队列的消息传递和面向服务的计算平台。然而,API端点、操作及其请求和响应消息结构的体系结构设计模式或等效指南仍然缺失。本文对微服务API模式语言(MAP)进行了扩展,引入了端点角色和操作职责模式,即处理资源、计算函数、状态创建操作、检索操作和状态转换操作。模式的已知用途和示例来自公共Web api,以及作者参与的应用程序开发和系统集成项目。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信