Skip to Main Content
This paper aims at demonstrating the benefits and importance of the service concept in the model-driven design of distributed applications. A service defines the observable behaviour of a system without constraining the system's internal structure. We argue that by specifying application-level interaction aspects as a service, and designing application parts is not constrained by interaction patterns provided by a middleware platform. Therefore, a level of platform-independence can be achieved, so that the design of application parts can be reused across a large set of middleware platforms. The service concept is also used in our approach to describe an abstract platform that defines what characteristics of a potential target middleware platform are considered in platform-independent design. We discuss the trade-offs a designer is confronted within the definition of an abstract platform, and discuss alternatives for platform-specific realization.