Skip to Main Content
Service oriented architectures (SOAs) are constantly gaining ground for the provision of business to business as well as user-centric services, mainly in the form of Web services technology. SOAs enable service providers to design and deploy new,composite service offerings out of existing component services. In order to match end-user expectations with respect to personalization and ease of use, these services should be designed in a manner that allows them to exhibit a certain level of context-awareness which is a basic element towards a richer end-user experience. However, in the majority of such services, context-handling is still tightly coupled with the core functionality of the service, resulting in a design which is difficult to implement and maintain. The paper proposes the decoupling of core service logic from context-related functionality by adopting a model-driven approach based on a modified version of the ContextUML metamodel. Core service logic and context handling are treated as separate concerns at the modeling level as well as in the resulting source code where aspect oriented programming (AOP) encapsulates context-dependent behavior in discrete code modules. The design of a restaurant finder service is used to portray the modified ContextUML metamodel and the service modeling process which is covered in full. Respective code snippets belonging to the executable version of the service (part of work in progress) are also provided, illustrating the transition from model to code and the resulting separation of concerns.