以用户为中心的物联网应用的代数服务组合
1. 引言
物联网(IoT)预示着一个全新的时代,在这个时代里,物理世界的每一个物体和所有生物都将通过创新的分布式服务相互连接。这使得物联网应用的规模将远超人们的想象。物联网应用主要是为社会提供价值,即使是没有开发专业知识的人也能够控制、管理和定制自己的应用。因此,构建物联网应用的方式需要转变,开发者需要创建能够涵盖多种场景的通用应用,以尽可能满足用户在运行时的需求,让用户能够自主地从多种行为中进行选择。
服务组合对于构建复杂的物联网应用至关重要,因为很多场景需要组合大量的服务。然而,设计一个能适应多种物联网场景的通用组合并非易事,用户需求在不同场景下可能会有所不同,而且随着服务数量的增加,物联网应用的动态性会导致可能的场景数量也随之增加。目前的组合方法无法满足以用户为中心的大量服务组合的物联网应用需求,因为它们一次只能定义一个工作流。若要应对新的场景,就需要创建全新的工作流或修改现有的工作流。为此,提出了DX - MAN,这是一种用于静态物联网服务组合的代数模型,它能够开发包含多个工作流的复合服务,以适应多个运行时场景。
2. 相关工作
当前的组合方法包括编排、嵌套编排、编排协作、数据流和嵌套数据流。
- 编排与编排协作 :编排和编排协作在面向服务的架构(SOA)中已经使用多年,现在也逐渐在物联网应用中受到关注。编排定义了一个中央协调器来调用服务中的操作,为了消除中央协调器带来的性能瓶颈或支持多个管理域,嵌套编排中可以定义多个子工作流。而编排协作则通过服务之间的协作和分散式消息交换来实现工作流。但无论是(嵌套)编排还是编排协作,一次都只能定义一个工作流。
-