TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 3
2009-01-11 23:15
309 查看
自动流程的实现
上文中提到Business Works流程编排的语法类似简化版的过程式解释型计算机语言的语法,编排出的流程和程序一样都会由引擎来解释运行,和语言的区别在于其使用图形化的编排方式。Business Works的流程编排,采用XML描述。支持分支选择,循环,子流程调用等语法,语法比较简单。
以上的示例流程开始是接收JMS消息的组件。当接收成功后进入一个分支,先给在流程范围内的一个全局变量计数赋值为0,然后进入循环。在循环内部,调用一个子流程,计数加1,当计数大于5时退出循环;接收JMS消息失败后进入另一个分支,将错误信息写入文件。流程的XML 语法描述如下(删除和图形相关的语法,只保留流程逻辑的语法)。
流程整体的描述:
主流程中赋值和写文件组件的描述:
流程开始时选择分支的描述:
流程结束的两个分支的描述:
循环是个大的组件,包含内部的组件。调用子流程和赋值组件的描述:
循环整体的描述:
循环内部连接的描述:
从以上的流程语法描述可以看到, Business Works流程使用<pd:activity name="">,<pd:group name="">节点描述流程中的组件,
<pd:transition>节点描述组件之间的连接。
对应图的概念,组件即是顶点,连接即是弧。起始组件是只有出度的顶点,结束组件是只有入度的组件。
看到以上的语法描述,可以很自然地想到一种流程引擎的执行方式:根据读入的流程描述构造一个[/b]AOV(Activity on vertex network)[/b]图, [/b]这个图是有序无环图。流程由事件触发执行,从起始顶点出发,广度优先遍历整个图,每到达一个顶点就执行该顶点所对应的组件操作函数,直到结束顶点。[/b]不了解Business Works流程引擎的具体实现方式,在此不做多的描述。大家解决问题的思路大同小异,估计这类图形化流程引擎的实现都类似,可以参考一些开源的应用集成产品。
在Business Works中,流程是要被执行的任务,由引擎的工作线程来执行。每一个工作线程轮询触发事件队列,取到一个触发事件实例后,就找到对应的流程执行之。执行完毕后再轮询事件队列,等待下一个事件的到来。引擎实例的工作线程数都是可以配置的。
补充一点,图形化流程的分支是可以并发的,这一点和程序流程不同。如下:
上文中提到Business Works流程编排的语法类似简化版的过程式解释型计算机语言的语法,编排出的流程和程序一样都会由引擎来解释运行,和语言的区别在于其使用图形化的编排方式。Business Works的流程编排,采用XML描述。支持分支选择,循环,子流程调用等语法,语法比较简单。
以上的示例流程开始是接收JMS消息的组件。当接收成功后进入一个分支,先给在流程范围内的一个全局变量计数赋值为0,然后进入循环。在循环内部,调用一个子流程,计数加1,当计数大于5时退出循环;接收JMS消息失败后进入另一个分支,将错误信息写入文件。流程的XML 语法描述如下(删除和图形相关的语法,只保留流程逻辑的语法)。
流程整体的描述:
主流程中赋值和写文件组件的描述:
流程开始时选择分支的描述:
流程结束的两个分支的描述:
循环是个大的组件,包含内部的组件。调用子流程和赋值组件的描述:
循环整体的描述:
循环内部连接的描述:
从以上的流程语法描述可以看到, Business Works流程使用<pd:activity name="">,<pd:group name="">节点描述流程中的组件,
<pd:transition>节点描述组件之间的连接。
对应图的概念,组件即是顶点,连接即是弧。起始组件是只有出度的顶点,结束组件是只有入度的组件。
看到以上的语法描述,可以很自然地想到一种流程引擎的执行方式:根据读入的流程描述构造一个[/b]AOV(Activity on vertex network)[/b]图, [/b]这个图是有序无环图。流程由事件触发执行,从起始顶点出发,广度优先遍历整个图,每到达一个顶点就执行该顶点所对应的组件操作函数,直到结束顶点。[/b]不了解Business Works流程引擎的具体实现方式,在此不做多的描述。大家解决问题的思路大同小异,估计这类图形化流程引擎的实现都类似,可以参考一些开源的应用集成产品。
在Business Works中,流程是要被执行的任务,由引擎的工作线程来执行。每一个工作线程轮询触发事件队列,取到一个触发事件实例后,就找到对应的流程执行之。执行完毕后再轮询事件队列,等待下一个事件的到来。引擎实例的工作线程数都是可以配置的。
补充一点,图形化流程的分支是可以并发的,这一点和程序流程不同。如下:
相关文章推荐
- TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 1
- TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 4
- TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 5
- TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 6
- TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 2
- TIBCO企业应用解决方案 从EAI到SOA
- spring security 一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架
- 解读 --- 基于微软企业商务应用平台 (Microsoft Dynamics 365) 之上的人工智能 (AI) 解决方案
- 基于AgileEAS.NET企业应用开发平台的分布式解决方案 推荐
- 一起谈.NET技术,微软 Share Point 2010 企业应用解决方案
- TIBCO中国胡长城谈:中国企业工作流应用
- 基于AgileEAS.NET企业应用开发平台的分布式解决方案
- iOS 7.1使用企业应用部署方式无法安装app(2014-09-13更新:dropbox被墙后的解决方案)
- ios 企业应用"无法安装应用程序 因为证书无效"的解决方案
- 基于AgileEAS.NET企业应用开发平台的分布式解决方案
- 基于WCF MSMQ 的企业应用解决方案
- TIBCO中国胡长城谈:中国企业工作流应用
- TIBCO BusinessWorks
- 合理控制流量,避免网络拥塞,实现多链路自动切换解决方案为企业互联网应用保驾护航
- TIBCO中国胡长城谈:中国企业工作流应用