Abstract
Future software systems will operate in a highly dynamic world. Systems will need to operate correctly despite of unespected changes in factors such as environmental conditions, user requirements, technology, legal regulations, and market opportunities. They will have to operate in a constantly evolving environment that includes people, content, electronic devices, and legacy systems. They will thus need the ability to continuously adapt themselves in an automated manner to react to those changes. To realize dynamic, self-adaptive systems, the service concept has emerged as a suitable abstraction mechanism. Together with the concept of the service-oriented architecture (SOA), this led to the development of technologies, standards, and methods to build service-based applications by flexibly aggregating individual services. This article discusses how those concepts came to be by taking two complementary viewpoints. On the one hand, it evaluates the progress in software technologies and methodologies that led to the service concept and SOA. On the other hand, it discusses how the evolution of the requirements, and in particular business goals, influenced the progress towards highly dynamic self-adaptive systems. Finally, based on a discussion of the current state of the art, this article points out the possible future evolution of the field.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abowd, G.D., Ebling, M., Gellersen, H.W., Hunt, G., Lei, H.: Guest editors’ introduction: Context-aware computing. IEEE Pervasive Comput. 01(3), 22–23 (2002)
Andrews, T. et al.: Business process execution language for Web services. Tech. rep., IBM (2003) http://www.ibm.com/developerworks/library/ws-bpel
Antón, A.: Goal-based requirements analysis. In: Proceedings of the 2nd International Conference on Requirements Engineering (ICRE ’96), April 15–18, 1996, Colorado Springs, Colorado, USA, pp. 136–144. IEEE Computer Society
Arsanjani, A.: Service-oriented modeling and architecture. IBM developerWorks article (November 2004) http://www.ibm.com/developerworks/library/ws-soa-design1
Babaoglu, O., Canright, G., Deutsch, A., Di Caro, G., Ducatelle, F., Gambardella, L., Ganguly, N., Jelasity, M., Montemanni, R., Montresor, A., Urnes, T.: Design patterns from biology for distributed computing. ACM Trans. Auton. Adapt. Syst. 1(1), 26–66 (2006). http://doi.acm.org/10.1145/1152934.1152937
Bai, X., Chen, Y., Shao, Z.: Adaptive web services testing. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), pp. 233–236 (2007a)
Bai, X., Xu, D., Dai, G., Tsai, W., Chen, Y.: Dynamic reconfigurable testing of service-oriented architecture. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), vol. 1, pp. 368–375 (2007b)
Baresi, L., Guinea, S.: Towards dynamic monitoring of ws-bpel processes. In: 3rd International Conference on Service-Oriented Computing (ICSOC 2005), pp. 269–282 (2005)
Baresi, L., Di Nitto, E.: Test and Analysis of Web Services. Springer, Berlin (2007)
Baresi, L., Di Nitto, E., Ghezzi, C.: Toward open-world software: Issue and challenges. Comput. 39(10), 36–43 (2006)
Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P.: Validation of web service compositions. IET Softw. 1(6), 219–232 (2007)
Batini, C., Bolchini, D., Ceri, S., Matera, M., Maurino, A., Paolini, P.: The UM-MAIS methodology for multi-channel adaptive Web information systems. World Wide Web 10(4), 349–385 (2007)
Benbernou, S., Meziane, H., Hacid, M.S.: Run-time monitoring for privacy-agreement compliance. In: 5th International Conference on Service-Oriented Computing (ICSOC 2007), pp. 353–364 (2007)
Bertolino, A., Polini, A.: The audition framework for testing web services interoperability. In: EUROMICRO-SEAA, pp. 134–142. IEEE Computer Society, New York (2005)
Bianculli, D., Ghezzi, C., Spoletini, P.: A model checking approach to verify BPEL4WS workflows. In: IEEE International Conference on Service-Oriented Computing and Applications (SOCA 2007), pp. 13–20 (2007)
Bultan, T., Fu, X., Su, J.: Run-time monitoring in service-oriented architectures. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 57–85. Springer, Berlin (2007)
Burlton, R.: Business Process Management: Profiting from Process. SAMS publishing, Indianapolis (2001)
Canfora, G., Di Penta, M.: SOA: Testing and self-checking. In: International Workshop on Web Services—Modeling and Testing (WS-MaTE), pp. 3–12 (2006a)
Canfora, G., Di Penta, M.: Testing services and service-centric systems: Challenges and opportunities. IT Prof. 8(2), 10–17 (2006b)
Charfi, A., Mezini, M.: Hybrid web service composition: Business processes meet business rules. In: 4th International Conference on Service Oriented Computing (ICSOC 2004)
Chhetri, M., Lin, J., Goh, S., Zhang, J., Kowalczyk, R., Yan, J.: A coordinated architecture for the agent-based service level agreement negotiation of Web service composition. In: Australian Software Engineering Conference (ASWEC’06), pp. 90–99 (2006)
Colombo, E., Mylopoulos, J., Spoletini, P.: Modeling and analyzing context-aware composition of services. In: 3rd International Conference on Service Oriented Computing (ICSOC 2005)
Colombo, M., Di Nitto, E., Mauri, M.: Scene: A service composition execution environment supporting dynamic changes disciplined through rules. In: ICSOC, pp. 191–202 (2006)
Comuzzi, M., Pernici, B.: An architecture for flexible Web service QoS negotiation. In: 9th IEEE International Enterprise Distributed Object Computing Conference (EDOC’05), pp. 70–82 (2005)
Cugola, G., Di Nitto, E., Fuggetta, A.: The JEDI event-based infrastructure and its application to the development of the OPSS WFMS. IEEE Trans. Softw. Eng. 27(9), 827–850 (2001)
Curbera, F.: Components contracts in service-oriented architectures. IEEE Comput. 11, 74–80 (2007)
Dai, G., Bai, X., Wang, Y., Dai, F.: Contract-based testing for Web services. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), vol. 1, pp. 517–524 (2007)
de Almeida, L.F.J., Vergilio, S.R.: Exploring perturbation based testing for web services. In: IEEE International Conference on Web Services (ICWS 2006), pp. 717–726 (2006)
Deussen, P., Din, G., Schieferdecker, I.: A TTCN-3 based online test and validation platform for Internet services. In: 6th International Symposium on Autonomous Decentralized Systems (ISADS), pp. 177–184 (2003)
Devescovi, D., Di Nitto, E., Dubois, D., Mirandola, R.: Self-organization algorithms for autonomic systems in the selflet approach. In: 1st International Conference on Autonomic Computing and Communication Systems (Autonomics ’07), pp. 1–10 (2007)
Dey, A.: Understanding and using context. Pers. Ubiquitous Comput. 5(1), 4–7 (2001)
Di Nitto, E., Di Penta, M., Gambi, A., Ripa, G., Villani, M.: Negotiation of service level agreements: An architecture and a search-based approach. In: 5th International Conference on Service-Oriented Computing (ICSOC 2007), pp. 295–306 (2007)
Di Penta, M., Bruno, M., Esposito, G., Mazza, V., Canfora, G.: Web services regression testing. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 205–234. Springer, New York (2007)
Emmerich, W., Sventek, J., Aoyama, M.: The impact of research on the development of middleware technology. ACM Trans. Softw. Eng. Methodol. 17(4) (2008)
Erl, T.: Service-Oriented Architecture. Prentice-Hall, Englewood Cliffs (2004)
Foster, I., Kesselman, C.: The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, Los Altos (2004)
Foster, I., Kesselman, C., Nick, J., Tuecke, S.: The physiology of the grid: An open grid services architecture for distributed systems integration (2002). citeseer.ist.psu.edu/foster02physiology.html
Foster, H., Uchitel, S., Magee, J., Kramer, J.: LTSA-WS: A tool for model-based verification of web service compositions and choreography. In: 28th International Conference on Software Engineering (ICSE ’06), pp. 771–774 (2006)
Fu, X., Bultan, T., Su, J.: Analysis of interacting BPEL Web services. In: 13th International Conference on World Wide Web (WWW 2004), pp. 621–630 (2004)
Fuggetta, A.: A classification of case technology. Computer 26(12), 25–38 (1993). http://dx.doi.org/10.1109/2.247645
Ghezzi, C., Guinea, S.: Run-time monitoring in service-oriented architectures. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 237–264. Springer, New York (2007)
Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. Softw. Eng. 16(4), 403–414 (1990)
Heckel, R., Mariani, L.: Automatic conformance testing of web services. In: Fundamental Approaches to Software Engineering (FASE 05). LNCS, pp. 34–48 (2005)
IBM-MB, IBM websphere message broker (2008). http://www-306.ibm.com/software/integration/wbimessagebroker/
Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman, Reading (2000)
Jaeger, M., Rojec-Goldmann, G., Muhl, G.: QoS aggregation for web service composition using workflow patterns. In: 8th IEEE International Enterprise Distributed Object Computing Conference (EDOC ’04), pp. 149–159 (2004). http://dx.doi.org/10.1109/EDOC.2004.19
Jarke, M., Pohl, K.: Establishing visions in context: Toward a model of requirements processes. In: 14th International Conference on Information Systems (ICIS’93), pp. 23–34 (1993)
Josuttis, N.: SOA in Practice: The Art of Distributed System Design. O’Reilly Media, Sebastopol (2007)
Kavantzas, N.: Web services choreography description language 1.0. Tech. rep., W3C (2004)
Kaye, D.: Loosely Coupled: The Missing Pieces of Web Services. RDS Press (2003)
Kazhamiakin, R., Pistore, M.: A parametric communication model for the verification of BPEL4WS compositions. In: 15th International Conference on World Wide Web (WWW 2006)
Kephart, J., Chess, D.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)
Kreger, H. et al.: Management using web services: A proposed architecture and roadmap. Tech. rep., IBM, HP and Computer Associates (2005). http://www-128.ibm.com/developerworks/library/specification/ws-mroadmap
Lazovik, A., Aiello, M., Papazoglou, M.: Planning and monitoring the execution of web service requests. Int. J. Digit. Libr. 6(3), 235–246 (2006)
Leymann, F.: Choreography for the grid: Towards fitting BPEL to the resource framework. Concurr. Comput. Pract. Exp. 18(10), 1201–1217 (2006)
Marzolla, M., Mirandola, R.: Performance prediction of Web service workflows. In: Third International Conference on Quality of Software Architectures (QoSA 2007). LNCS, vol. 4880, p. 127. Springer, New York (2007)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
Miller, J., Mukerji, J.: Mda guide version 1.0.1. OMG report (2003)
Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: Representing knowledge about information systems. ACM Trans. Inf. Syst. 8(4), 325–362 (1990)
Naur, P., Randell, B. (eds.): Software engineering: Report of a Conference Sponsored by the NATO Science Committee, Scientific Affairs Division, NATO (1968)
Papazoglou, M.: Web Services: Principles and Technology. Addison-Wesley, Reading (2007)
Papazoglou, M.: The challenges of service evolution. In: Advanced Information Systems Engineering Conference (CAISE 2008). Springer, New York (2008a)
Papazoglou, M.: Compliance requirements for business-process driven SOAs. In: IFIP World Computer Congress Conference (WCC 2008). Springer, New York (2008b)
Papazoglou, M., Georgakopoulos, D.: Special issue: Service-oriented computing—Introduction. Commun. ACM 46(10), 24–28 (2003)
Papazoglou, M., Kratz, B.: Web services technology in support of business transactions. Service Oriented Comput. Appl. 1(1), 51–63 (2007)
Papazoglou, M., Pohl, K.: Report on longer term research challenges in software and services. Results from two workshops held at the European Commission premises at 8th of November 2007 and 28th and 29th of January 2008, European Commission, http://www.cordis.lu, with contributions from Boniface, M., Ceri, S., Hermenegildo, M., Inverardi, P., Leymann, F., Maiden, N., Metzger, A., Priol, T. (2008)
Parnas, D.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Pernici, B. (ed.): Mobile Information Systems: Infrastructure and Design for Adaptivity and Flexibility. Springer, New York (2006)
Pistore, M., Traverso, P.: Assumption-based composition and monitoring of web services. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 307–335. Springer, New York (2007)
Pistore, M., Traverso, P., Bertoli, P., Marconi, A.: Automated synthesis of executable Web service compositions from BPEL4WS processes. In: Special Track, 14th International Conference on World Wide Web (WWW 2005)
Rolli, D., Luckner, S., Momm, C., Weinhardt, C.: A framework for composing electronic marketplaces—From market structure to service implementation. In: 3rd Workshop on e-Business (WeB 2004), Washington, DC, USA (2004)
Royce, W.: Managing the development of large software systems. In: IEEE WESCON, San Francisco, CA, USA, pp. 1–9 (1970)
Rozinat, A., van der Aalst, W.M.P.: Conformance checking of processes based on monitoring real behavior. Inf. Syst. 33(1), 64–95 (2008)
Ruth, M.E., Tu, S.: Towards automating regression test selection for web services. In: 16th International Conference on World Wide Web (WWW 2007), pp. 1265–1266 (2007)
Solanki, M., Cau, A., Zedan, H.: Augmenting semantic Web service descriptions with compositional specification. In: 13th International Conference on World Wide Web (WWW 2004)
Spanoudakis, G., Mahbub, K., Zisman, A.: A platform for context aware runtime web service discovery. In: 2007 IEEE International Conference on Web Services (ICWS 2007), pp. 233–240 (2007)
Traverso, P., Pistore, M.: Automatic composition of semantic Web services into executable processes. In: 3rd International Semantic Web Conference (ISWC 2004)
van der Aalst, W.M.P.: Business alignment: Using process mining as a tool for delta analysis and conformance testing. Requir. Eng. 10(3), 198–211 (2005)
Yang, J., Papazoglou, M.: Service components for managing the life-cycle of service compositions. Inf. Syst. 28(1) (2004)
Zachos, K., Maiden, N., Zhu, X., Jones, S.: Discovering web services to specify more complete system requirements. In: 19th International Conference on Advanced Information Systems Engineering (CAiSE 2007), pp. 142–157 (2007)
Author information
Authors and Affiliations
Corresponding author
Additional information
Parts of the research leading to these results have received funding from the European Community’s Seventh Framework Programme FP7/2007-2013 under grant agreement 215483 (S-Cube).
Rights and permissions
About this article
Cite this article
Di Nitto, E., Ghezzi, C., Metzger, A. et al. A journey to highly dynamic, self-adaptive service-based applications. Autom Softw Eng 15, 313–341 (2008). https://doi.org/10.1007/s10515-008-0032-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-008-0032-x