Hội chứng trái tim vận động viên trong tiến hóa dịch vụ web

Apostolos Zarras1, Ioannis Dinos1, Panos Vassiliadis1
1Department of Computer Science & Engineering University of Ioannina Ioannina Greece

Tóm tắt

Tóm tắtMặc dù có các tiêu chuẩn, công nghệ và xu hướng cụ thể (W3C, RESTful, microservices, vv) mà một nhóm quyết định tuân theo để phát triển một hệ thống hướng dịch vụ, rất có khả năng các thành viên trong nhóm sẽ phải sử dụng một hoặc nhiều dịch vụ giải quyết các vấn đề chung như điện toán đám mây, mạng và phân phối nội dung, lưu trữ và cơ sở dữ liệu, quản lý và điều hành, cũng như tích hợp ứng dụng. Thông thường, các dịch vụ chung có tuổi thọ dài, chúng có nhiều trách nhiệm, giao diện của chúng phức tạp và chúng phát triển theo thời gian. Cách mà những dịch vụ này tiến hóa cũng ảnh hưởng đến sự tiến hóa của bất kỳ hệ thống nào sẽ phụ thuộc vào chúng. Do đó, việc lựa chọn các dịch vụ cụ thể sẽ được sử dụng là mối quan tâm chính của nhóm. Trong bài báo này, chúng tôi báo cáo một mẫu, gọi là hội chứng trái tim vận động viên, giúp dễ dàng lựa chọn các dịch vụ tiến hóa đúng cách. Các mẫu quy định các thực hành tốt nhất phát sinh từ nhiều trường hợp thực tế. Trong bối cảnh của chúng tôi, hội chứng trái tim vận động viên phát sinh từ một nghiên cứu liên quan đến sự tiến hóa của một tập hợp các dịch vụ Amazon phổ biến, lâu dài bao trùm nhiều lĩnh vực khác nhau. Theo hội chứng trái tim vận động viên, các nhà phát triển nên lựa chọn các dịch vụ có nhịp tim thay đổi nhìn giống như nhịp tim của một vận động viên khi anh ta nghỉ ngơi. Cụ thể, nhịp tim thay đổi nên chủ yếu bao gồm các khoảng thời gian yên tĩnh, bị gián đoạn bởi vài đợt thay đổi đột ngột. Tương tự, sự phát triển gia tăng của các dịch vụ nên chủ yếu liên quan đến các khoảng thời gian yên tĩnh của bảo trì, tách biệt bởi những đợt tăng trưởng đột ngột. Việc lựa chọn các dịch vụ tuân theo mẫu này có nghĩa là có khả năng cao rằng các dịch vụ sẽ tiến hóa để đáp ứng các yêu cầu thay đổi. Mẫu này cũng đảm bảo rằng sự tiến hóa của dịch vụ bao gồm cả việc mở rộng các dịch vụ với các chức năng mới và bảo trì những cái hiện có. Mẫu này cũng đảm bảo rằng sự gia tăng độ phức tạp trong các giao diện dịch vụ sẽ diễn ra một cách mượt mà và có thể chấp nhận được. Cuối cùng, việc tuân thủ mẫu này có nghĩa là sự phát triển của các dịch vụ sẽ có thể dự đoán được.

Từ khóa


Tài liệu tham khảo

10.1007/978-3-030-31646-4_1

10.1109/TSC.2014.2310195

ZarrasAV VassiliadisP DinosI.Keep calm and wait for the spike! Insights on the evolution of amazon services. In: Proceedings of the 28th International Conference Advanced Information Systems Engineering (CAISE) Lecture Notes in Computer Science vol. 9694.Springer;2016:444‐458.

TranHT NguyenVT PhanCV.Towards service co‐evolution in SOA environments: a survey. In: Context‐aware systems and applications and nature of computation and communication.Springer;2021:233‐254.

FokaefsM MikhaielR TsantalisN StrouliaE LauA.An empirical study on web service evolution. In: Proceedings of the 18th IEEE International Conference on Web Services (ICWS);2011:49‐56.

RomanoD PinzgerM.Analyzing the evolution of web services using fine‐grained changes. In: Proceedings of the 19th IEEE International Conference on Web Services (ICWS);2012:392‐399.

FokaefsM StrouliaE.Using WADL specifications to develop and maintain REST client applications. In: Proceedings of the 22nd IEEE International Conference on Web Services (ICWS);2015:81‐88.

10.1007/978-3-319-46295-0_18

10.1109/TSE.2011.22

10.1007/s11761-016-0204-7

CampinhosJ SecoJC CunhaJ.Type‐safe evolution of Web services. In: Proceedings of the IEEE/ACM 2nd International Workshop on Variability and Complexity in Software Design (VACE);2017:20‐26.

GrohO BarakiH JahlA GeihsK.COOP ‐ automatic validation of evolving microservice compositions. In: Proceedings of the Seminar Series on Advanced Techniques & Tools for Software Evolution (SATTOSE) CEUR Workshop Proceedings vol. 2510.CEUR‐WS.org;2019.

BaresiL GuineaS MannaVPL.Consistent runtime evolution of service‐based business processes. In: Proceedings of the 11th IEEE/IFIP Conference on Software Architecture;2014:77‐86.

WangX FengZ ChenS HuangK.Dkem: A distributed knowledge based evolution model for service ecosystem. In: Proceedings of the 25th IEEE International Conference on Web Services (ICWS);2018:1‐8.

WangS HigashinoWA HayesM CapretzMAM.Service evolution patterns. In: Proceedings of the 21st IEEE International Conference on Web Services (ICWS);2014:201‐208.

LübkeD ZimmermannO PautassoC ZdunU StockerM.Interface evolution patterns: balancing compatibility and extensibility across service lifecycles. In: Proceedings of the 24th ACM European Conference on Pattern Languages of Programs (EuroPLoP);2019:15:1‐15:24.

Lehman MM, 2006, Software Evolution and Feedback: Theory and Practice

Treiber M, 2009, Service‐Oriented Computing, 284

10.1007/s11761-013-0128-4

RomanoD.Analyzing the change‐proneness of service‐oriented systems from an industrial perspective. In: Proceedings of the 35th International Conference on Software Engineering (ICSE);2013:1365‐1368.

FokaefsM StrouliaE.Wsdarwin: A decision‐support tool for Web‐service evolution. In: Proceedings of the 29th IEEE International Conference on Software Maintenance (ICSM);2013:444‐447.

LiJ XiongY LiuX ZhangL.How does Web service API evolution affect clients?In: Proceedings of the 20th IEEE International Conference on Web Services (ICWS);2013:300‐307.

10.1016/j.jss.2014.10.014

SkoulisI VassiliadisP ZarrasAV.Open‐source databases: Within outside or beyond Lehman's laws of software evolution?In: Proceedings of the 26th International Conference Advanced Information Systems Engineering (CAISE) Lecture Notes in Computer Science vol. 8484.Springer;2014:379‐393.

10.1016/j.is.2016.06.010

LeitnerP MichlmayrA RosenbergF DustdarS.End‐to‐end versioning support for web services. In: Proceedings of the 5th IEEE International Conference on Services Computing (SCC);2008:59‐66.

ZouZL FangR LiuL WangQB WangH.On synchronizing with web service evolution. In: Proceedings of the 15th IEEE International Conference on Web Services (ICWS);2008:329‐336.

BanatiH BediP MarwahaP.Wsdl‐temporal: An approach for change management in web services. In: Proceedings of the 2nd International Conference on Uncertainty Reasoning and Knowledge Engineering (URKE);2012:44‐49.

SampaioAR KadiyalaH HuB SteinbacherJ ErwinT RosaN BeschastnikhI RubinJ.Supporting microservice evolution. In: Proceedings of the 33rd IEEE International Conference on Software maintenance and evolution (icsme);2017:539‐543.

AliM AngelisGD PoliniA.Servicepot ‐ an extensible registry for choreography governance. In: Proceedigns of the 7th IEEE international symposium on service‐oriented system engineering (sose);2013:113‐124.

AngelisFD FanìD PoliniA.Partes: A test generation strategy for choreography participants. In: Proceedings of the 8th IEEE International Workshop on Automation of Software Test (AST);2013:26‐32.

NguyenCD MarchettoA TonellaP.Test case prioritization for audit testing of evolving Web services using information retrieval techniques. In: Proceedings of the 9th IEEE International Conference on Web Services (ICWS);2011:636‐643.

10.1109/TSE.2010.92

10.1109/TSC.2015.2466544

AutiliM SalleAD GalloF PompilioC TivoliM.On the model‐driven synthesis of evolvable service choreographies. In: Proceedings companion of the 12th European Conference on Software Architecture: Companion Proceedings (ECSSA).ACM;2018:20:1‐20:6.

10.1109/MS.2014.131

ZarrasAV DinosI VassiliadisP.AWS‐data: WSDL descriptions for EC2 ELB AS SQS RDS and MTurk. github.com/zarras/AWS‐Data/;2021.

LehmanMM RamilJF WernickP PerryDE TurskiWM.Metrics and laws of software evolution—the nineties view. In: Proceedings of the 4th IEEE International Software Metrics Symposium (Metrics);1997:20‐34.

LehmanMM RamilJF PerryDE.On evidence supporting the feast hypothesis and the laws of software evolution. In: Proceedings of the 5th IEEE International Software Metrics Symposium (Metrics);1998:84‐88.

XieG ChenJ NeamtiuI.Towards a better understanding of software evolution: an empirical study on open source software. In: Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM);2009:51‐60.

SneedHM.Measuring Web service interfaces. In: Proceedings of the 12th IEEE International Symposium on Web Systems Evolution (WSE);2010:111‐115.

10.1007/978-1-84800-044-5_11

Bourque P, 2014, Guide to the Software Engineering Body of Knowledge, version 3.0, IEEE Computer Society (Swebok)

Meszaros G, 1997, Pattern languages of program design 3, 529

WellhausenT FiesserA.How to write a pattern? a rough guide for first‐time pattern authors. In: Proceedings of the 16th ACM European Conference on Pattern Languages of Programs (Europlop);2011:1‐9.

Gamma E, 1994, Design Patterns—Elements of Reusable Object‐Oriented Software

10.1201/9780203496213