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.
翻译:从单体应用向分布式软件组合的转变始于21世纪初,其核心理念为"软件即服务"。这一理念体现在RESTful API等多种技术中,倡导通过提供分布式计算资源访问的基础设施实现全球性服务的协同运作。编排(Choreography)技术通过抽象本地计算并实现消息传递的互操作性——即通过收发消息完成协作——可有效支撑该理念。遵循编排范式,我们开发了名为SEArch(Service Execution Architecture,服务执行架构)的语言无关执行基础设施,能够对软件制品进行透明的动态重构。SEArch运用编排机制定义互操作契约,从而为运行时服务的自动发现与绑定提供必要支持。