面向服务架构中的工作流详解
1. 工作流基础概念
在关键基础设施的不同区域存在多个应用网格。为了实现协作、可视化、传感器融合、计算和地理信息系统(GIS)应用等功能,会调用组件网格(子网格)。这是基于核心网格能力,并通过添加特定应用服务,构建出支持洪水、天然气或电力基础设施研究的分布式系统,而工作流则用于集成组件网格和服务。这里虽然以网格来表述,但同样适用于云环境。
工作流是一种“对服务间交互进行编程”的方法,也可以用“软件协调”“服务编排”“服务或流程协调”“服务对话”“Web 或网格脚本编写”“应用集成”或“软件总线”等术语来描述。它是一个活跃的研究领域,不同方法着重于控制流、调度和/或数据流。
工作流意味着分布式系统采用两级编程模型。基本服务使用传统语言(如 C、C++、FORTRAN、Java 和 Python)进行编程,而工作流则描述服务之间更粗粒度的交互编程。这与基本的 shell 编程中的多级编程概念类似,在 shell 编程中,管道常用于连接执行程序。实际上,脚本编写(如 shell 脚本)是一种流行的工作流实现方式,用分布式编程结构取代了熟悉的 UNIX 原语,例如用 TCP 通道或发布 - 订阅消息传递取代管道。
多级架构非常常见,不仅在工作流编程中,在计算、数据库和传感器领域也普遍存在。工作流的概念最初由工作流管理联盟提出,该联盟已存在近 20 年,制定了标准参考模型、文档,并催生了大量的工具和工作流管理支持产品产业。不过,该联盟主要关注业务流程管理,工作流中的步骤通常涉及人工而非计算机步骤。而本文讨论的工作流与该联盟所描述的有着不同的关注点。
从历史上看,工作流概念源于使用 Linda、HeNCE、AVS 和 Kho
面向服务架构中的工作流详解
超级会员免费看
订阅专栏 解锁全文
2642

被折叠的 条评论
为什么被折叠?



