A Constraint Satisfaction Method for Configuring Non-Local Service   Interfaces
  Modularity and decontextualisation are core principles of a service-oriented architecture. However, the principles are often lost when it comes to an implementation of services, as a result of a rigidly defined service interface. The interface, which defines a data format, is typically specific to a particular context and its change entails significant redevelopment costs. This paper focuses on a two-fold problem. On the one hand, the interface description language must be flexible enough for maintaining service compatibility in a variety of different contexts without modification of the service itself. On the other hand, the composition of interfaces in a distributed environment must be provably consistent. The existing approaches for checking compatibility of service choreographies are either inflexible (WS-CDL and WSCI) or require behaviour specification associated with each service, which is often impossible to provide in practice.   We present a novel approach for automatic interface configuration in distributed stream-connected components operating as closed-source services (i.e. the behavioural protocol is unknown). We introduce a Message Definition Language (MDL), which can extend the existing interfaces description languages, such as WSDL, with support of subtyping, inheritance and polymorphism. The MDL supports configuration variables that link input and output interfaces of a service and propagate requirements over an application graph. We present an algorithm that solves the interface reconciliation problem using constraint satisfaction that relies on Boolean satisfiability as a subproblem. 
Pavel Zaichenkov, Olga Tveretina, Alex Shafarenko
cs.LO