A Constraint Satisfaction Method for Configuring Non-Local Service Interfaces
Modularity and decontextualization are core principles of a service-oriented architecture. However, the principles are often lost when it comes to an implementation of services due to rigid service interfaces. This paper focuses on a two-fold problem. On the one hand, the interface description language must be flexible for maintaining service compatibility in different contexts without modification of the service itself. On the other hand, the composition of interfaces in a distributed environment must be provably consistent. We present a novel approach for automatic interface configuration in distributed services. We introduce a Message Definition Language (MDL), an interface description language with support of subtyping, flow 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.