در راستای افزایش قابلیت اطمینان محیط های ابر با وب سرویس های RESTful
اخیرا، محاسبات ابری به یک استاندارد مطلوب برای توسعه برنامه های کاربردی توزیع شده در مقیاس بزرگ تبدیل شده است که امکان بهره برداری از منابع متعدد IT مورد تقاضا را در محدوده ای از ماشین های مجازی، حافظه های ذخیره سازی و پایگاه داده ها تا مجموعه گسترده ای از وب سرویس ها ابر فراهم می سازد. چنین سرویس ها با معماری های مبتنی بر سرویس ارتباط نزدیکی دارند و طراحی و پیاده سازی آنها اغلب توسط متدولوژی انتقال حالت نمایشی پشتیبانی می شود. گرچه محیط های ابری که سرویس های RESTful را عرضه می کنند، مدل محاسبات مطلوبی را تشکیل می دهند، استفاده از آنها عاری از چالش نیست. فراهم سازی قابلیت اطمینان چنین محیط هایی منجر به مشکلاتی می شود و روی قابلیت استفاده آنها تاثیرگذار است. از آنجاییکه راه اندازی مجدد ساده پردازش شکست خورده (بعنوان نمونه جدید) از ابتدا معمولا کافی نیست و اغلب منجر به ناسازگاری غیرقابل قبول حالت پردازش می شود، در این مقاله، یک مکانیسم تحمل پذیر خرابی پیشنهاد می کنیم که از سمنتیک عملیات REST و ساختار منابع به منظور تعیین انعطاف پذیر نیازهای رسمی استفاده می کند و تضمین می کند که حالت پردازش بازیابی شده با شرط های REST سازگار است. سپس، پشتیبانی خارجی موثر بازیابی وب سرویس های RESTful را با ارائه پروتکلی مطرح می سازیم که سرویس بازیابی عقب گرد ReServE را بسط داده و مدل سازگاری بازیابی RESTful را تضمین می کند. اثبات صحت پروتکل را ارائه کرده و از نظر تجربی به ارزیابی کارایی راهکار پیشنهادی می پردازیم.
کلمات کلیدی: SOA، وب سرویس های RESTful ، بازیابی عقب گرد، تحمل پذیری خرابی، سازگاری
Towards increasing reliability of clouds environments with RESTful web services
Future Generation Computer Systems Volume 87, October 2018, Pages 502-513
Abstract
Recently, cloud computing has turned out to be a desired standard for development of distributed, large-scale applications. It allows to exploit on-demand various IT resources, ranging from virtual machines, storage, and databases to a broad set of cloud web services. Such services are closely intertwined with service-oriented architectures, and their design and implementation is often supported by Representational State Transfer methodology. Although cloud environments offering RESTful services constitute a desired computing model, their adoption is not free from challenges. Among the others, providing reliability of such environments poses difficulties and affects their usability. Since the simple restart of a failed processing (as a new instance) from the very beginning, is usually insufficient and often leads to unacceptable inconsistency of processing state, in this paper we propose a fault-tolerant mechanism that copes with this problem. In the proposed solution we introduce recovery consistency model that exploits semantics of REST operations and structure of resources, in order to flexibly determine formal requirements ensuring that the recovered processing state is compatible with REST constraints. Next, we put forward an efficient external upport of RESTful web services recovery, by presenting the protocol that extends ReServE rollback-recovery service and guarantees RESTful recovery consistency model. We provide a proof of protocol correctness, and experimentally evaluate efficiency of the proposed approach.
Keywords: SOA, RESTful web services, Rollback-recovery, Fault-tolerance, Consistency