<o:p> </o:p> Shark让更多的人联想到了XPDL,而忘了OMG的一些东东。
<o:p> </o:p>
Shark不仅支持XPDL,而且还扩展了OMG's Workflow Management Facility Specification 。
所以你会在Shark中见到 WfExecutionObject,WfRequester等等让你并不是非常明白的类。
<o:p> </o:p>
如果研究Shark,那么首先可以花费一些时间将 wfmopen 这个引擎研究一下。两者没有什么必然的联系,只是wfmopen简单一些,其中给出了一些omg core对象的关系和说明,而shark却很少提及。
WfMOpen is a J2EE based implementation of a workflow facility (workflow engine) as proposed by the Workflow Management Coalition (WfMC) and the Object Management Group (OMG).
The workflow component is based on a set of JAVA interfaces that define an API for a workflow management facility. The basic "omgcore" interfaces follow OMG's Workflow Management Facility Specification, V1.2 very closely, while making some modifications to adapt the CORBA service to the established design practices for a Java API.
<o:p> </o:p>
下面这张图,很值得推敲。
http://wfmopen.sourceforge.net/userapi/de/danet/an/workflow/omgcore/doc-files/domain.gif
这个中的关系弄明白了,对shark的核心的类关系,也就大致了解了。<o:p></o:p>
在下面这篇文档中,有这几个类的简要介绍:<o:p></o:p>
http://www-db.stanford.edu/CHAIMS/Doc/RelatedWork/SWAP_jFLOW_CS446/paper.htm <o:p></o:p>
其中还稍稍提及了流程实例的应该如何创建,看完以后,对你明白shark的流程创建非常有帮助。从这一点上你需要明白,shark的很多设计思想,是基于OMG规范的。<o:p></o:p>
<o:p> </o:p>
不过,在shark中,有client和internal之分。<o:p></o:p>
下面的代码摘自WfProcessWrapper中创建流程实例的一段,为了看得直接,有删节: public WfProcess create_process (SharkTransaction t,WfRequester requester) {<o:p></o:p> WfProcessMgrInternal mgr=WfProcessMgrWrapper.getProcessMgrImpl(t,name);<o:p></o:p> <o:p> </o:p> WfRequesterInternal req=<o:p></o:p> SharkEngineManager.getInstance().getObjectFactory().createDefaultRequester(userAuth);<o:p></o:p> <o:p> </o:p> WfProcessInternal procInternal=mgr.create_process(t,req);<o:p></o:p> WfProcess proc=<o:p></o:p> SharkEngineManager.getInstance().getObjectFactory()<o:p></o:p> .createProcessWrapper(userAuth,procInternal.key(t));<o:p></o:p> return proc;<o:p></o:p> } |
<o:p> </o:p>
Shark的org.enhydra.shark.api.client.wfmodel 包类似于wfmopen中的de.danet.an.workflow.omgcore ,是对omg的核心类的接口定义。<o:p></o:p>
但是Shark却还有内部重要的api接口:org.enhydra.shark.api.internal 包。
分享到:
相关推荐
### Shark工作流引擎的技术分析与改进探讨 #### 1. 引言 随着信息技术的不断发展,企业业务流程的管理变得日益复杂。为了更好地管理和优化这些流程,**工作流技术**应运而生,并逐渐成为核心的技术之一。工作流...
在实际应用中,"Shark"字体可能会与其他设计元素,如颜色、图像和布局相结合,以创造出协调一致的视觉效果。通过调整字体大小、行距、字间距等排版参数,可以优化阅读体验,同时保持设计的整体风格。对于网页设计,...
性能优化与扩展性** Shark通过Spark引入了内存计算,减少了磁盘I/O,提高了查询速度。此外,Shark还支持列式存储,进一步提升了查询效率。同时,Shark的可扩展性使其能够随着数据量的增长动态扩展计算资源。 **...
Shark与Spark的关系密切,两者都是Apache软件基金会的顶级项目。Shark通过在Spark上构建SQL接口,实现了对Hive查询的快速响应。在Shark 1.1-2中,我们可以看到如何将Spark的弹性分布式数据集(RDD)模型与SQL查询...
Shark恒的破解教程是非常良心的,从无到有,一步一个脚印带领你去深入破解技术,这个破解教程不仅教会你如何破解,更教会你为什么这样破解
- 外部应用调用接口:允许第三方系统与Shark交互。 - 引擎互操作接口:支持与其他工作流引擎或系统的交互。 - 流程监视接口:提供监控工具,便于实时查看流程状态。 #### 二、Shark 引擎的启动与配置 - **启动...
**C++机器学习库Shark 4.0详解** Shark是一个开源的C++机器学习库,专为高效和灵活的统计建模而设计。它提供了多种机器学习算法,包括监督学习、无监督学习和半监督学习。在4.0版本中,Shark库已经经过了充分的优化...
Shark 是 Enhydra 开发的完全基于 WFMC 和 OMG 的标准, 使用 XPDL 来进行定义的工作流引擎。本文通过对其最核 心的工作模块调度方式的研究, 根据各种实际测量的数据详细地从两个方面分析了其作用和各种优缺点, 探讨...
Shark工作流提供丰富的API接口,便于与其他系统集成,如CRM、ERP等,实现全业务流程的无缝衔接。 ### 7. **最佳实践** - 设计清晰的流程模型,避免过多的分支和循环,提高流程的可读性和维护性。 - 合理分配任务,...
shark恒破解教程
Shark的工作流管理通过提供刷新和获取工作列表的API,使得开发者能够轻松地构建与业务流程相关的应用。这些API允许用户查看他们当前的任务,包括任务的状态、描述、优先级等,从而促进高效的任务管理和协作。开发者...
在MATLAB环境中,"Shark"项目显然涉及到了水下航行器(Underwater Vehicle)的非线性六自由度(6-DOF)动力学建模与仿真。六自由度模型通常包括三个平动自由度(沿x、y、z轴的平移)和三个旋转自由度(绕x、y、z轴的...
4. **用户界面**:Shark的用户界面部分提供给用户与工作流交互的方式,包括任务的启动、审批、查询等功能。这部分通常涉及Web技术,如HTML、JavaScript、CSS,以及可能的服务器端框架,如Spring MVC。 5. **数据库...
shark恒破解教程两季大全共20集,最全最强大的脱壳破解教程 此教程为电子书版
**三、Shark与cmdbuild的关系** `shark-cmdbuild-2.4.3`这个文件名可能指的是cmdbuild的一个特定版本或者一个与其相关的扩展或插件。在cmdbuild社区中,"Shark"可能是一个图形用户界面(GUI)的增强版或者一个数据...
shark恒破解教程(最全版),附件
"Shark for Root"是一款专为安卓用户设计的网络数据包捕获工具,适用于具有root权限的设备。这款工具主要用于网络诊断、应用分析以及安全测试等领域,帮助开发者和高级用户了解应用程序在网络通信中的行为。 首先,...