Evaluation of Server Push Technologies for Scalable Client-Server Communication

E. Soares, R. Thiago, L. Azevedo, M. D. Bayser, Viviane Torres da Silva, Renato Cerqueira
{"title":"Evaluation of Server Push Technologies for Scalable Client-Server Communication","authors":"E. Soares, R. Thiago, L. Azevedo, M. D. Bayser, Viviane Torres da Silva, Renato Cerqueira","doi":"10.1109/SOSE.2018.00010","DOIUrl":null,"url":null,"abstract":"When a consumer (or client) invokes a provider’s service that has a long time processing, a synchronous call is not a good option. This kind of communication blocks the consumer until the response arrives, and, besides, the invocation timeout can be reached raising a timeout error. Hence, an asynchronous call is more appropriate where the consumer calls the provider’s service and continues processing, and, when the provider’s service finishes it pushes the response to the consumer. There are different ways for implementing an asynchronous communication. A simple way is the consumer providing a callback function which the provider’s service invokes when it finishes the processing, performing a server push operation. However, there are many cases where this solution cannot be applied requiring other alternatives, e.g.: the consumer keeps up with the service execution checking for its readiness or state, and when it finishes, it calls another provider’s service to get the result; the consumer and provider keep an open connection for the asynchronous communication. This work analyzes the main server push technologies used for web development, presenting their weaknesses and strengths, and the existing main challenges. As a result, we provide a technologies comparison, and a classification based on multiple qualitative dimensions that helps one to choose the technology that fits its requirements and/or can be used to guide future researches in this field.","PeriodicalId":414464,"journal":{"name":"2018 IEEE Symposium on Service-Oriented System Engineering (SOSE)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE Symposium on Service-Oriented System Engineering (SOSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SOSE.2018.00010","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

When a consumer (or client) invokes a provider’s service that has a long time processing, a synchronous call is not a good option. This kind of communication blocks the consumer until the response arrives, and, besides, the invocation timeout can be reached raising a timeout error. Hence, an asynchronous call is more appropriate where the consumer calls the provider’s service and continues processing, and, when the provider’s service finishes it pushes the response to the consumer. There are different ways for implementing an asynchronous communication. A simple way is the consumer providing a callback function which the provider’s service invokes when it finishes the processing, performing a server push operation. However, there are many cases where this solution cannot be applied requiring other alternatives, e.g.: the consumer keeps up with the service execution checking for its readiness or state, and when it finishes, it calls another provider’s service to get the result; the consumer and provider keep an open connection for the asynchronous communication. This work analyzes the main server push technologies used for web development, presenting their weaknesses and strengths, and the existing main challenges. As a result, we provide a technologies comparison, and a classification based on multiple qualitative dimensions that helps one to choose the technology that fits its requirements and/or can be used to guide future researches in this field.
可扩展客户端-服务器通信的服务器推送技术评价
当使用者(或客户端)调用具有长时间处理的提供者服务时,同步调用不是一个好的选择。这种类型的通信会阻塞使用者,直到响应到达,此外,调用超时可能会引发超时错误。因此,异步调用更适合使用者调用提供者的服务并继续处理,当提供者的服务完成时,它将响应推送给使用者。实现异步通信有不同的方法。一种简单的方法是消费者提供一个回调函数,当提供者的服务完成处理时调用它,执行服务器推送操作。然而,在许多情况下,该解决方案不能应用,需要其他替代方案,例如:消费者跟踪服务执行,检查其准备情况或状态,当它完成时,它调用另一个提供者的服务来获得结果;使用者和提供者为异步通信保持一个打开的连接。本文分析了用于web开发的主要服务器推送技术,指出了它们的优缺点,以及存在的主要挑战。因此,我们提供了一种技术比较,以及基于多个定性维度的分类,帮助人们选择符合其要求和/或可用于指导该领域未来研究的技术。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:481959085
Book学术官方微信