ارائه روشی برای پشتیبانی از تطبیق‌پذیری در توسعه برنامه‌های کاربردی مبتنی بر سرویس

نوع مقاله : علمی-پژوهشی

نویسندگان

1 دانشکده علوم و مهندسی کامپیوتر- دانشگاه شهید بهشتی

2 پژوهشکده فضای مجازی- دانشگاه شهید بهشتی

چکیده

امروزه به دلیل پویایی محیط اجرای کاربردهای مبتنی بر سرویس، قابلیت تطبیق با تغییرات زمینه و محیط به یکی از مهم‌ترین خصوصیات کیفی این کاربردها تبدیل شده است. ایجاد قابلیت تطبیق‌پذیری در زمان اجرا به‌گونه‌ای که خصوصیات توسعه کاربردهای سرویس‌گرا را پشتیبانی کند و قابلیت اجرا و استقرار بر بستر یکپارچه‌سازی مبتنی بر سرویس را داشته باشد مسئله پیچیده‌ای است. در این مقاله، روشی برای پشتیبانی از تحقق نیازمندی‌های تطبیق‌پذیری در توسعه و تکامل کاربردهای سرویس‌گرا ارائه می‌گردد. برای رسیدن به این هدف، فرامدل توصیف فرآیندهای کسب‌وکار برای در نظر گرفتن دغدغه‌های پایش و تطبیق توسعه داده شده است. به‌علاوه، مجموعه‌ای از سازوکارها جهت تبدیل نیازمندهای تطبیق به نقاط وارسی و روندهای تطبیق به‌گونه‌ای که قابلیت اجرا بر روی گذرگاه سرویس سازمانی را داشته باشد ارائه شده است. روش ارائه‌شده بر اساس سناریوهای مختلف در یک نمونه موردی و بر اساس آزمون‌های کمی و کیفی مورد ارزیابی قرار گرفته است. نتایج حاصل از این ارزیابی نشان می‌دهد که روش ارائه‌شده می‌تواند امکان توسعه رفتارهای تطبیق‌پذیر را به شکل مؤثر از منظر توسعه نرم‌افزار و تحقق نیازمندی‌های تطبیق‌پذیری فراهم آورد.

کلیدواژه‌ها


عنوان مقاله [English]

A Method to Support Adaptability in Development of Service-based Applications

نویسندگان [English]

  • K. Sedighiani 1
  • S. Shokrollahi 2
  • F. Shams 1
1 Department of Computer Engineering and Science, Shahid Beheshti University, Tehran, Iran
2 Cyberspace Research Institute, Shahid Beheshti University, Tehran, Iran
چکیده [English]

Nowadays, due to the dynamic environment of service-based applications, the ability to adapt to environmental and contextual changes has become a crucial quality of such applications. However, providing these applications with adaptability capability at runtime so as to supports service-oriented development characteristics and to be able to run on a service integration infrastructure is a complex and difficult task. This paper presents a method to support realizing adaptability requirements in the development and evolution of service-based applications. To this end, the business process meta-model has been extended to monitoring and adaptation concerns. In addition, a set of mechanisms to transform these requirements to monitoring checkpoints and adaptation actions are presented in such a way that they can be deployed on enterprise service bus. The proposed method is evaluated on the basis of the several scenarios in a case study based on quantitative and qualitative experiments. The results of the evaluation demonstrate that the proposed method can effectively provide the possibility of developing adaptive behaviors.

کلیدواژه‌ها [English]

  • adaptability
  • adaptation strategy
  • integration
  • process quality attributes
  • service-based applications
[1]      V. Andrikopoulos, A. Bucchiarone, E. Nitto, R. Kazhamiakin, S. Lane and V. Mazza, “Service Engineering,” Service Research Challenges and Solutions for the Future Internet. Lecture Notes in Computer Science, Springer, vol. 6500, 2010.
[2]      P. A. S. Neto, Plácido A. Souza, G. Vargas-Solar, U. Souza da Costa, and M. A. Musicante, "Designing service-based applications in the presence of non-functional properties: A mapping study," Information and Software Technology, vol. 69, pp. 84-105, 2016.
[3]      X. Bai, J. Xie, B. Chen and S. Xiao, “Dresr: Dynamic routing in enterprise service bus,” International Conference on E-Business Engineering (ICEBE’07), IEEE, pp. 528-531, 2007.
[4]      I. Y. Chen, G. K. Ni and C. Y. Lin, “A runtime-adaptable service bus design for telecom operations support systems,” IBM Systems Journal, vol. 47, no. 3, pp. 445-56, 2008.
[5]      C. Ayora, V. Torres, B. Weber, M. Reichert and V. Pelechano, “VIVACE: A framework for the systematic evaluation of variability support in process-aware information systems,” Information and Software Technology, vol. 57, pp. 248-76, 2015.
[6]      R. Aschoff and A. Zisman, “QoS-driven proactive adaptation of service composition,” International Conference on Service-Oriented Computing, Springer, Berlin, Heidelberg, pp. 421-435, 2011.
[7]      S. Ambroszkiewicz, J. Brzezinski, W. Cellary, A. Grzech and K. Zielinski, Advanced SOA Tools and Applications, Berlin, Heidelberg: Springer Berlin Heidelberg, 2014.
[8]      R. Bruni, A. Corradini, F. Gadducci, A. Lluch Lafuente and A. Vandin, A conceptual framework for adaptation. In Lecture Notes in Computer Science, 2012.
[9]      سپیده شیوندی و سیما عمادی، «ترکیب خودکار سرویس‌ها مبتنی بر گراف رنگ‌آمیزی»، مجله مهندسی برق دانشگاه تبریز، جلد 48، شماره 2، صفحه 736-725، تابستان 1397.
[10]      E. Fki, S. Tazi, and K. Drira, "Automated and flexible composition based on abstract services for a better adaptation to user intentions," Future Generation Computer Systems, vol. 68, pp. 376-390, 2017.
[11]      S. Lane, Q. Gu, P. Lago and I. Richardson, “Towards a framework for the development of adaptable service-based applications,” Service Oriented Computing and Applications, vol. 8, no. 3, pp. 239-257, 2014.
[12]      Z. Zheng and M. R. Lyu, "Selecting an optimal fault tolerance strategy for reliable service-oriented systems with local and global constraints,” IEEE Transactions on Computers, vol. 64, no. 1, pp. 219-232, 2015.
[13]      C. Ayora, V. Torres, J. Luis de la Vara and V. Pelechano, "Variability management in process families through change patterns," Information and Software Technology, vol. 74, pp. 86-104, 2016.
[14]      S. Cheng and D. Garlan, “Stitch: A language for architecture-based self-adaptation,” Journal of Systems and Software, vol. 85, no. 12, pp. 2860-2875, 2012.
[15]      L. Shen, X. Peng and W. Zhao, “Quality-driven self-adaptation: Bridging the gap between requirements and runtime architecture by design decision,” International Computer Software and Applications Conference, pp. 185-194, 2012.
[16]      L. Gonzalez, J. Luis Laborde,  M. Galnares, M. Fenoglio and  R. Ruggia, “An Adaptive Enterprise Service Bus Infrastructure for Service Based Systems,” Service-Oriented Computing – ICSOC 2013 Workshops, Springer International Publishing,  pp. 480-491, 2014.
[17]    یوسف رستگاری و فریدون شمس، «ارائه چارچوبی آگاه-از-زمینه به‌منظور تطبیق پذیری هم آرایی سرویس‌ها»، بیستمین کنفرانس ملی سالانه انجمن کامپیوتر ایران، صفحه 790-795، دانشگاه فردوسی مشهد، اسفند 1393.
[18]      T. Szydlo and K. Zielinski, “Adaptive Enterprise Service Bus,” New Generation Computing, vol. 30, no. 2-3, pp. 189-214, 2012.
[19]      B. Weber, S. Sadiq and M. Reichert, “Beyond rigidity - Dynamic process lifecycle support: Survey on dynamic changes in process-aware information systems,” Computer Science - Research and Development, vol. 23, no. 2, pp. 47-56, 2009.
[20]      M. Minor, R. Bergmann, R. and S. Görg, “Case-based adaptation of workflows,” Information Systems, vol. 40, pp. 142-152, 2014.
[21]      L. Pessoa, P. Fernandes, T. Castro, V. Alves, G. N. Rodrigues and H. Carvalho, "Building reliable and maintainable Dynamic Software Product Lines: An investigation in the Body Sensor Network domain," Information and Software Technology, vol. 86, pp. 54-70, 2017.
[22]      B. H. C. Cheng, K. I. Eder, M. Gogolla, L. Grunske and M. Litoiu, “Using Models at Runtime to Address Assurance for Self-Adaptive Systems,” Springer International Publishing, pp. 101-136, 2014.
[23]      N. Gamez, J. El Haddad and L. Fuentes, “Managing the Variability in the Transactional Services Selection,” Ninth International Workshop on Variability Modelling of Software-intensive Systems - VaMoS ’15, pp. 88-95, 2015.
[24]      V. Cardellini, E. Casalicchio, V. Grassi, S. Iannucci, F. L. Presti and R. Mirandola, “MOSES: A framework for qos driven runtime adaptation of service-oriented systems,” IEEE Transactions on Software Engineering, vol. 38, no. 5, pp. 1138-1159, 2012.
[25]      کاوان صدیقیانی و فریدون شمس، «به‌کارگیری مدل‌های معماری زمان اجرا برای پشتیبانی از خودتطبیقی در برنامه‌های کاربردی مبتنی بر سرویس»، بیستمین کنفرانس ملی سالانه انجمن کامپیوتر ایران، صفحه 790-795، دانشگاه فردوسی مشهد، اسفند 1393.
[26]      B. List and B. Korherr, “An Evaluation of Conceptual Business Process Modelling Languages,” In 2006 ACM symposium on Applied computing, pp. 1532-1539, 2006.
[27]      M. Dohring, H. A. Reijers and S. Smirnov, “Configuration vs. adaptation for business process variant maintenance: An empirical study,” Information Systems, vol. 39, no. 1, pp. 108-133, 2014.
[28]      K. Saeedi, L. Zhao and P.R. Falcone Sampaio, “Extending BPMN for supporting customer-facing service quality requirements,” In ICWS 2010 - 2010 IEEE 8th International Conference on Web Services, Miami, Florida, USA, pp. 616-623, 2010.
[29]      F. City, I. polimi and S. Tiburg, “Taxonomy of Adaptation Principles and Mechanisms. S-Cube Software Services and System Network, 215483 (Contractual Deliverable), pp. 8-42, 2009.
[30]      G. M. Karam and R. S. Casselman, “A Cataloging Framework for Software Development Methods,” Computer, vol. 26, no.2, pp. 34-46, 1993.