`

OSWorkflow与可扩展性设计

阅读更多

基本上以后设计脚本自定义支持、组件自定义支持时,可以偷懒的参考OSWorkflow的所使用的各种组件类型、设计、代码。

类似于Apache Camel,学到很多Endpoint的使用。

 

1.条件(Condition)可扩展。条件用于权限类、Join是否满足等。

 

Condition包括常见的BSF\BeanShell脚本、也可以与人员执行上下文关联、也可以是一个注册为JNDI的Condtion实现、EJB等。

Condition接口定义传入了必要的上下文信息,上下文信息比较优雅的将信息封装在transientVars、args、propertySet 中,考虑的较为周到,以更方便的在自定义脚本或实现中判断条件:

public boolean passesCondition(Map transientVars, Map args, PropertySet ps) 
 

在流程定义使用这些Condition时,对“如何简化Condition类型定义”与“应用自定义”之间做了较好的平衡。

系统自带的:

<condition type="beanshell">
	<arg name="script"><![CDATA[
					"Finished".equals(jn.getStep(6).getStatus()) && "Finished".equals(jn.getStep(8).getStatus())
					]]></arg>
</condition>

 

一个自定义的:

<condition type="class">
        <arg name="class.name">com.packtpub.osw.TimeCondition
        </arg>
       <arg name="dayNumber">7
       </arg>
</condition>
 

2.Function可扩展。

 

 

 

3.其他可扩展的设置:
存储可以自定义为内存存储、Hibernate存储、SQL存储等若干方式,原则上可扩展。

 

 

4.与spring的结合。

目前OSWorkflow做到的是配置如何结合,采用Hibernate存储时如何结合。
感觉不愉快的地方是,若基于Spring实现一致性事务、强制应用也使用Spring+Hibernate。
可以将Condition Type、Function Type的名字类型的匹配做成SpringTypeResolver,感觉用处不大。

 

5.由于可扩展,可基于OSWorkflow实现与JBoss Drools做业务规则管理、与ESPer做企业复杂事件管理(CEP)、与Quartz做计划管理、与Penhato做企业仪表盘、做到Mule企业服务总线之上。

  • 大小: 327 KB
  • 大小: 234.8 KB
2
1
分享到:
评论
2 楼 kjj 2008-06-06  
楼主在linux下做得开发?
真是强人啊,我也在学习工作流,希望以后多多帮助!
1 楼 fantasy 2008-05-20  
恩 不错 见解很独特!

相关推荐

    LIFERAY + JAVA WEB START + OSWORKFLOW设计器

    它降低了部署复杂性,同时保持了工作流管理的灵活性和可扩展性。 总结来说,"LIFERAY + JAVA WEB START + OSWORKFLOW设计器"是一个将Liferay门户、Java Web Start技术和OSWorkflow工作流引擎相结合的创新实践,旨在...

    OSWorkFlow 工作流系统设计知识的详细讲解

    OSWorkFlow的核心优势在于其灵活性和可扩展性,使得它可以广泛应用于各种规模和复杂度的项目中。 #### 设计理念 - **灵活性**:OSWorkFlow的设计旨在满足不同业务场景的需求,通过自定义的工作流模型和活动状态来...

    OSWorkFlow

    5. 可扩展性:支持插件机制,可以添加自定义行为和策略。 三、使用方法 1. 配置:在项目中引入OSWorkFlow的依赖库,配置数据库连接,初始化工作流引擎。 2. 流程定义:使用提供的工具或编写XML定义工作流程。 3. ...

    OSWorkflow源码及电子书

    2. **可扩展性**:OSWorkflow的设计允许开发者通过编写插件来扩展其功能,比如添加新的任务类型、事件处理或者定制工作流行为。这使得OSWorkflow能够适应不断变化的业务环境。 3. **持久化**:工作流实例和状态信息...

    osworkflow

    **osWorkflow 概述** osWorkflow 是一个开源的工作流管理系统,专为 Java 应用程序设计,用于处理复杂的业务流程。...通过深入学习和实践,你将能够掌握如何利用osWorkflow 构建高效、可扩展的业务流程管理解决方案。

    osworkflow2.8基于Spring+Hibernate

    此外,osWorkflow的可扩展性允许我们自定义工作流行为,如添加新的动作类型或修改默认的行为。 总结,osWorkflow2.8在Spring+Hibernate环境中的整合涉及多个层面,包括配置Spring Bean、使用Hibernate进行持久化、...

    osworkflow2.8

    OSWorkflow 就是这样一个引擎,它提供了一个可扩展的框架,帮助开发者快速构建灵活的工作流系统。 2. **OSWorkflow 特性** - **可视化工作流设计**:OSWorkflow 提供了图形化的流程设计工具,使得非技术人员也能...

    osworkflow_bundle2

    2. **工作流实例**:在运行时,OSWorkflow 将工作流定义转化为可执行的实例,每个实例代表一个具体的业务流程。实例的创建、状态变迁和结束都是由 OSWorkflow 引擎管理。 3. **活动与步骤**:工作流中的每个任务被...

    osworkflow指导文档 + 源码

    总结来说,osWorkflow 是一个强大的工作流解决方案,它的灵活性和可扩展性使其成为开发人员处理复杂业务流程的首选工具。通过深入学习 osWorkflow 的指导文档和源码,开发者能够更好地理解和定制工作流,从而提高...

    framework osworkflow / jbpm

    7. **可扩展性**:通过插件机制,可以扩展其功能以适应不同业务需求。 文档方面,压缩包包含的`OSWorkflow.chm`是帮助文档,`osworkflow-chinese-manual-v2.8.pdf`和`osworkflow_doc_cn_v2.0.pdf`是OSWorkflow的...

    工作流 osworkflow 例子和原理

    OSWorkflow的强大之处还在于其可扩展性。它支持动态插入和删除步骤,这意味着在流程运行时可以进行调整,适应不断变化的业务需求。此外,OSWorkflow与各种应用程序集成良好,可以轻松地与Spring、Hibernate等框架...

    osworkflow详细资料 pdf 工作流

    6. **可扩展性**:OSWorkflow提供了丰富的API,允许开发者自定义行为,如添加新的工作流操作,扩展决策逻辑等。 7. **持久化支持**:OSWorkflow内置了对JDBC的支持,可以将工作流状态存储在数据库中,确保数据的...

    osworkflow-2.7.0.zip

    osworkflow还具有良好的可扩展性,允许自定义工作流的参与者、事件处理和持久化策略。例如,你可以根据项目需求定制自己的任务通知系统,或者选择合适的数据库存储工作流数据。 总的来说,osworkflow是一个强大的...

    OSWorkflow快速入门

    OSWorkflow 是一个轻量级的工作流引擎,虽然相较于其他如JBPM等流行框架,它的更新维护并不频繁,但它以其简单、灵活和可扩展性获得了开发者们的青睐。它不包含图形化的流程设计器,但在2.8版本后引入了这一功能,...

    基于osworkflow框架的OA系统demo

    osworkflow设计为轻量级框架,具备良好的性能和扩展性。它可以与其他技术(如Spring、Hibernate等)无缝集成,适应不同规模的企业应用。 **7. 结论** 通过基于osworkflow的OA系统DEMO,我们可以学习到如何利用工作...

    状态机工作流OSWorkflow

    6. **定制化**:OSWorkflow 具有高度可扩展性,开发者可以通过编写插件或自定义行为来扩展其功能,满足特定业务需求。 7. **审计与日志**:系统记录了所有状态变更和操作,方便后续的跟踪、审计和问题排查。 8. **...

    OSWorkflow 工作流 开发指南、中文手册

    OSWorkflow 支持多种数据库存储工作流状态,具备良好的可扩展性和灵活性,适合于构建多步骤、有审批需求的业务应用。 二、核心概念 1. 流程定义:工作流的蓝图,定义了各个步骤、参与者、条件和动作。 2. 实例:...

    osworkflow-canvas-master_nginx_源码.rar

    通过研究这些源代码和文档,开发者可以学习到如何将osWorkflow与Nginx结合,构建一个可扩展、可维护的工作流管理系统,并掌握如何在实际项目中运用这些技术。同时,这也为自定义和优化工作流管理提供了基础,有助于...

Global site tag (gtag.js) - Google Analytics