Architecture-Centric Design of Complex Message-Based Service Systems
Complex, message-based service systems discourage central execution control, require extremely loose coupling, have to cope with unpredictable availability of individual (composite) services, and may experience a dynamically changing number of service instances. At the topmost level, the architecture of such a complex system often follows a messaging style most naturally. A major problem during the design of these systems is achieving an overall consistent configuration (i.e, ensuring intended message routing across producers, consumers, and brokers). While orchestration or choreography-based approaches support the design of individual composite services along a workflow-centric paradigm, they are an awkward fit for specifying a message-centric architecture. In this paper, we present an architecture-centric approach to designing complex service systems. Specifically we propose modeling the system’s high-level architecture with an architecture description language (ADL). The ADL captures the message-centric configuration which subsequently allows for consistency checking. An architecture-to-configuration transformation ensures that the individual deployed services follow the architecture without having to rely on a central coordinator at runtime. Utilizing our provided tool support, we demonstrate the successful application of our methodology on a real world service system.
KeywordsDecentralized Composite Services Architecture Description Language Consistency Checking Message-based Style
Unable to display preview. Download preview PDF.
- 2.Baresi, L., Ghezzi, C., Mottola, L.: On accurate automatic verification of publish-subscribe architectures. In: Proc. of the 29th International Conference on Software Engineering, ICSE 2007, pp. 199–208. IEEE Computer Society, Washington, DC (2007)Google Scholar
- 4.Dashofy, E., Asuncion, H., Hendrickson, S., Suryanarayana, G., Georgas, J., Taylor, R.: Archstudio 4: An architecture-based meta-modeling environment. In: Companion to the Proc. of the 29th International Conference on Software Engineering, pp. 67–68. IEEE Computer Society, Washington, DC (2007)Google Scholar
- 5.Dashofy, E.M., Van der Hoek, A., Taylor, R.N.: A highly-extensible, xml-based architecture description language. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture, pp. 103–112. IEEE (2001)Google Scholar
- 10.Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, Reading (2003)Google Scholar
- 12.Organization for the Advancement of Structured Information Standards (OASIS): Web Services Business Process Execution Language (WS-BPEL) Version 2.0 (April 2007), http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
- 13.Pautasso, C., Heinis, T., Alonso, G.: Jopera: Autonomic service orchestration. IEEE Data Eng. Bull. 29(3), 32–39 (2006)Google Scholar
- 15.Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley (2009)Google Scholar
- 16.Yildiz, U., Godart, C.: Information flow control with decentralized service compositions. In: IEEE Int. Conf. on Web Services, pp. 9–17 (July 2007)Google Scholar
- 18.Zheng, Y., Taylor, R.N.: Enhancing architecture-implementation conformance with change management and support for behavioral mapping. In: Proc. of the 34th Int. Conf. on Software Engineering, ICSE 2012, pp. 628–638. IEEE Press, Piscataway (2012)Google Scholar