(16)Shark工作流的实现和WMFC&OMG规范的对比
来源:互联网 发布:pc桌面软件开发 编辑:程序博客网 时间:2024/06/08 16:02
Shark工作流的实现和WMFC&OMG规范的对比
-----第十一部分:obe 引擎的ServiceManager
关键字:Shark 工作流 WMFC OMG 规范
ServiceManager 是一个提供了系统级别的工作流服务类。
可以用两种方式初始化:
1、 use the OBE initialization servlet.
如果在J2EE服务器中使用obe工作流因请那么需要使用这种方法。
2、 initialized by the constructor.
一般我们不用j2EE服务器的时候使用这种方式来初始化这个类。
ServiceManager的主要工作是定义了如下的服务:
"org.obe.event.BasicApplicationEventBroker"
"org.obe.runtime.strategy.BasicAssignmentStrategyFactory"
"org.obe.engine.async.BasicAsyncManager"
"org.obe.engine.calendar.BasicCalendarFactory"
"org.obe.runtime.strategy.BasicCompletionStrategyFactory"
"org.obe.engine.util.DataConverter"
"org.obe.runtime.evaluator.BasicEvaluatorFactory"
"org.obe.runtime.evaluator.BasicFunctionFactory" "org.obe.engine.persistence.memory.BasicInstanceRepository"
"org.obe.runtime.participant.BasicRealm"
"org.obe.spi.service.XPDLParserFactory" "org.obe.engine.persistence.memory.BasicProcessRepository"
"org.obe.runtime.tool.BasicToolFactory"
"org.obe.spi.service.WorkflowEventBroker"
"org.obe.engine.repository.BasicXMLRepository"
注意上面加粗的那个类。
在obe默认的test例子中,就是使用文件系统来保存 工作流实例 的。也就是通过
"org.obe.engine.persistence.memory.BasicProcessRepository"
来进行的。BasicProcessRepository继承自AbstractRepository。
很显然,企业级别的应用中我们主要是把工作流实例保存在数据库中。
结合本系列的第(16)篇(obe的数据库设计),我们可以继承AbstractRepository来实现自己的 工作流实例存取类。 然后按照上面的方法在ServiceManager中注册,使用。
这里有两个需要讨论的地方:
BasicProcessRepository 是一个提供了一个基于文件系统的 工作流定义功能服务类。
这个类中演示了如何把从xpdl定义文件中解析的package类,实例化到文件系统的方法。类似的我们可以把它改变成为实例化到数据库中的方法。
但是这个类从:AbstractRepository 继承过来,而在AbstractRepository中提供了从文件系统实例化的很多方法,其中的protected static class Entry 这个类 我还没有完全看明白。
但是obe同时提供了public interface ProcessRepository extends WorkflowService 这个接口。
AbstractRepository 也继承自WorkflowService 。
因此我建议:如果自己建立自己的Repository,不要继承AbstractRepository,而是继承:ProcessRepository 这个接口。
待续
田春峰
- Shark工作流的实现和WMFC&OMG规范的对比
- Shark工作流的实现和WMFC&OMG规范的对比
- (16)Shark工作流的实现和WMFC&OMG规范的对比
- Shark工作流的实现和WMFC&OMG规范的对比(工作流流程的设计)
- Shark工作流的实现和WMFC&OMG规范的对比1
- Shark工作流的实现和WMFC&OMG规范的对比2
- Shark工作流的实现和WMFC&OMG规范的对比3
- (5)Shark工作流的实现和WMFC&OMG规范的对比
- (9)Shark工作流的实现和WMFC&OMG规范的对比
- (10)Shark工作流的实现和WMFC&OMG规范的对比
- (15)Shark工作流的实现和WMFC&OMG规范的对比
- shark工作流的流程创建和持久化
- 工作流的标准和规范
- 最近使用shark作工作流的体会
- 工作流的应用之shark+jawe应用
- 工作流 Shark 的 JSPClient例子配置注意事项
- Shark工作流解决方案的学习小记
- OMG服务的用法
- Shark工作流的实现和WMFC&OMG规范的对比(工作流流程的设计)
- Shark工作流的实现和WMFC&OMG规范的对比
- (9)Shark工作流的实现和WMFC&OMG规范的对比
- (10)Shark工作流的实现和WMFC&OMG规范的对比
- (15)Shark工作流的实现和WMFC&OMG规范的对比
- (16)Shark工作流的实现和WMFC&OMG规范的对比
- 使用Filter指定浏览器来缓存或不缓存服务器数据
- 动态代理和nanning AOP(1)
- 动态代理和nanning AOP-2 实现Introduction
- 动态代理和nanning AOP-3
- 用CreateProcess读取Console程序的显示信息和返回结果
- 用 API 做的 ServerSocket 例子
- 如何使广告条自动运行,仅供学习参考
- 如何在启动机器时自动运行adsl拨号(1)