前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(16)Shark工作流的实现和WMFC&OMG规范的对比

(16)Shark工作流的实现和WMFC&OMG规范的对比

作者头像
田春峰-JCJC错别字检测
发布2019-02-14 15:05:36
4150
发布2019-02-14 15:05:36
举报
文章被收录于专栏:字根中文校对软件

Shark工作流的实现和WMFC&OMG规范的对比

-----第十一部分:obe 引擎的ServiceManager

关键字:Shark 工作流 WMFC OMG 规范

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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 这个接口。

待续

田春峰

accesine@163.com

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2004年02月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档