分布式计算中的工作流与服务导向架构
立即解锁
发布时间: 2025-08-29 10:37:48 阅读量: 12 订阅数: 25 AIGC 

# 分布式计算中的工作流与服务导向架构
## 1. 工作流系统的两种模式
在分布式计算领域,存在两种不同的工作流系统模式,分别是“代理(proxy)”模式和数据流模式。
### 1.1 代理模式
代理模式下,运行在Windows系统上的工作流代理控制着主要运行在Linux机器上的远程组件。这种模式在一些特定的分布式计算场景中发挥着重要作用,它能够实现不同操作系统之间的协同工作,充分利用不同系统的优势。
### 1.2 数据流模式
数据流模式是工作流系统的原始模型,与代理模式截然相反。当前的混搭应用(mashups)通常属于数据流系统,其交互通过JavaScript或PHP等语言编写脚本实现。例如,截至2010年9月,ProgrammableWeb.com记录了超过2000个API和5000个混搭应用。
以下是这两种模式的对比表格:
| 模式 | 特点 | 典型应用 |
| ---- | ---- | ---- |
| 代理模式 | Windows上的工作流代理控制Linux上的远程组件 | 特定分布式计算场景 |
| 数据流模式 | 基于数据流概念,交互用脚本语言实现 | 混搭应用 |
## 2. 商业混搭应用与工作流环境
### 2.1 商业混搭应用
商业领域有多种混搭应用的实现方式,例如:
- Yahoo! Pipes(http://pipes.yahoo.com/pipes/)
- Microsoft Popfly(http://en.wikipedia.org/wiki/Microsoft_Popfly)
- IBM的sMash增强BPEL Web 2.0工作流环境(www.ibm.com/developerworks/websphere/zones/smash/)
### 2.2 MapReduce是否为工作流环境的争议
对于MapReduce是否属于工作流环境存在一定的争议。虽然它和工作流能够执行相似的问题,但在具体的定义和功能上可能存在差异。相关讨论可参考(http://yahoo.github.com/oozie/)。
### 2.3 扩展“远程方法调用”模型的工作流
还有一些工作流方法扩展了“远程方法调用”模型,该模型是通用组件架构(Common Component Architecture,CCA)的基础。CCA论坛的相关信息可访问(www.cca-forum.org/)。
## 3. 其他相关技术与工具
### 3.1 消息中间件
消息中间件在分布式计算中起着重要的作用,以下是一些常见的消息中间件:
- AQMP:开放的消息中间件标准(www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol)
- Mule MQ:开源的企业级Java消息服务(JMS)实现(www.mulesoft.org/documentation/display/MQ/Home)
- Apache ActiveMQ:开源消息系统(http://activemq.apache.org/)
- NaradaBrokering:开源内容分发基础设施(www.naradabrokering.org/)
- RabbitMQ:开源企业消息系统(www.rabbitmq.com/)
- Amazon Simple Queue Service(Amazon SQS)(http://aws.amazon.com/sqs/)
- Microsoft Azure Queues(http://msdn.microsoft.com/en-us/windowsazure/ff635854.aspx)
### 3.2 工作流管理系统
工作
0
0
复制全文
相关推荐









