  The shift from monolithic applications to composition of distributed software
initiated in the early twentieth, is based on the vision of
software-as-service. This vision, found in many technologies such as RESTful
APIs, advocates globally available services cooperating through an
infrastructure providing (access to) distributed computational resources.
Choreographies can support this vision by abstracting away local computation
and rendering interoperability with message-passing: cooperation is achieved by
sending and receiving messages. Following this choreographic paradigm, we
develop SEArch, after Service Execution Architecture, a language-independent
execution infrastructure capable of performing transparent dynamic
reconfiguration of software artefacts. Choreographic mechanisms are used in
SEArch to specify interoperability contracts, thus providing the support needed
for automatic discovery and binding of services at runtime.
