成都心情

  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  98 随笔 :: 2 文章 :: 501 评论 :: 1 Trackbacks

介 绍

    Enhydra Shark 项目以一种不同的方式交付了一个工作流服务器。
   
    Enhydra Shark 是一个可扩展的工作流引擎框架,它包括一个完全基于 WFMC 规范的标准实现,它使用XPDL(没有任何自己新的扩展)作为自身的工作流流程定义格式,使用WFMC 的 "ToolAgents" API 作为系统活动的服务器端的执行形式。
   
    Enhydra JaWE 图形XPDL编辑器可用于为 Enhydra Shark 生成 XPDL 流程定义!
   
    ToolAgents 可用于 JavaScript,JDBC 访问,EJB 访问,纯 Java 类,CORBA 调用,EMail,Webservice 调用,等等...

    流程与活动实例的存储通过一个可配置的持久化 API 来完成。持久层实现采用的标准是轻量级的Enhydra DODS O/R mapping 工具。更多重量级 J2EE EJB 持久层选择方案在下面展示。
   
    每个单一构件(持久层,事务管理,脚本引擎,流程库...)可用于它的标准实现或被项目特定模块所扩展/取代。
  
    通过这种方式,Enhydra Shark 可作为一个简单的位于servlet 或 swing 应用或运行在J2EE 容器(支持会话 bean API 以及用于 EJB 持久化)中的"Java library",CORBA ORB 或 Web 服务来使用。
   
    工作流引擎内核为高负载环境下的活动工作流对象提供可配置的 LRU 缓存。缓存可在集群部署时关闭。

    当工作流运行时,WFMC WDF API 规范将用来把 JAWe 编辑器或 selfwritten 程序附加在运行期实例信息上,甚至修改实例。使用这一方法,Enhydra Shark支持动态工作流机制,能修改其自身来支持更复杂的工作流环境或组织的异常处理。
  
    通常,基于 Swing 的管理GUI可用于管理工作。JMX 扩展和基于 HTML 的管理客户端也可用于管理。
  
    其他 API 可用于知识库访问,日志,知识库持久化,事件通知,以及为转换评估(transition evaluations)设计的脚本引擎适配器。
   
ObjectWeb 工作流工作组
   
    2003 年 12 月,新的 ObjectWeb 工作流工作组会议首次召开。
   
    本次会议的目标是在当前 ObjectWeb 工作流项目,也就是在 "Enhydra Shark"、"COW" 和 "Bonita" 之间确定可行的协作规则。
会议达成的共识是,这些组件的 API 应该遵循各自的标准(WFMC,OMG,BPEL)。这些组件将会是未来独立工作流引擎项目的组成部分。
   
    所有组件将不会依赖于特定的运行环境(Swing,Servlets,J2EE/EJB,CORBA...)。
   
    要选择一个通用组件模型("glue"),当前非常可能的建议是采用 "Fractal"。
    新的邮件列表已经建立,以方便讨论日常工作流工作组事宜和支持项目间的合作。该列表可在 http://www.objectweb.org/wws/info/wow 上找到。
   其它达成的共识是使用 Enhydra JaWE 作为 基于XPDL进行流程定义的通用编辑器。

    对WFMC WDF(工作流定义功能)的研究将表明,该 API 是否适合为流程和活动实例进行动态修改。如果 WDF 成为 API 的首选,JaWE 将支持该 API 以在运行期间可以进行图形化观看和实例修改。
   
    以下列出了初步确定的组件列表:
   
        模型库
        映射模块,包括到ToolAgents,脚本语言/引擎,以及参与者(用户和组)的映射
        流程和活动实例持久化(基于 Enyhdra DODS, Speedo, EJB's,...)
        脚本引擎适配器/包装器,适用于不同脚本语言(JavaScript, Python,...)的流程转换评估。
        活动流程和活动实例的运行期缓存(Perseus ?)
        事务管理(GOTM ?)
        ToolAgents
        分派API,用于动态参与者映射
        通知 API(Jabber, JMS, ...)
        日志(系统日志和管理活动日志)
        截止期(Deadline)管理(活动截止期(deadlines), 活动持续时间(durations), ...)
        记时器(Quartz, J2EE Timer Services,...)
        升级(Escalation)
   

Enhydra Shark 架构

    根据上述已达成共识的Shark组件,当前 Enhydra Shark 架构目标如下图所示。
   



请注意!引用、转贴本文应注明原译者:Rosen Jiang 以及出处: http://www.blogjava.net/rosen

posted on 2005-08-12 10:01 Rosen 阅读(1674) 评论(0)  编辑  收藏 所属分类: 工作流

只有注册用户登录后才能发表评论。


网站导航: