Mismatch Avoidance in Web Services Software Architectures
Cristina Gacek (University of Newcastle, United Kingdom)
Carl Gamble (University of Newcastle, United Kingdom)
Abstract: Architectural mismatches are a recognized obstacle to successful software reuse. An architectural mismatch occurs when two or more software components are connected to form a system and those components make differing and incompatible assumptions about their interactions or the environment in which they exist.
Mismatch detection and avoidance has been previously discussed in existing literature. These typically take the form of generic rules and guidelines. Service Oriented Architectures (SOA) are becoming one of the main trends in the current engineering of software. Using web services, as defined by W3C Web Services Architecture Working Group, supports the engineering of SOA by providing rules and restrictions that apply to the definition of web services and how they can interact with other components to form a larger system. We see this as an opportunity to define a web services style with corresponding rules to avoid the introduction of architectural mismatches at design time.
In this paper we describe the development of an environment which supports SOA development by enabling their description, as well as facilitating the detection of potential mismatches between web services. Here we define a web services style in the architectural description language ACME & Armani, and present the environment that we developed in ACME Studio using our web services style definition. This is accompanied by a small case study illustrating the use of our environment.
Keywords: acme, architectural mismatch, architectural style, software architecture, web services
Categories: D.2.11, D.2.12