Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

       UFLO是一套基于JAVA的流程引擎,它即可以用在基于J2EE的B/S系统之上,也可以用于基于J2EE的C/S系统之中。所以UFLO在设计之初就不与任何UI表现层绑定,它所要做的就是提供一系列的可供外部调用的API接口,对于我们的业务系统而言,可以调用UFLO中提供的API,实现业务流程的开启、任务的开始与完成等操作。

       我们知道,UFLO中有三个子项目,分别是uflo-core、uflo-console与uflo-client。uflo-core提供了流程运行的核心环境,负责整个流程生命周期的管理工作;uflo-console则是一个基于dorado7表现层的分支项目,这个项目中提供了B/S项目中基于dorado7的流程模版控制与测试中心、提供了用户待办页面及节假日配置等流程引擎运行的辅助模块;最后一个uflo-client则是提供给我们的程序员使用的,通过调用uflo-client模块中的ProcessClient与其中的TaskClient就可实现在我们的业务系统与流程引擎的交互。

       前面提到,UFLO的使用支持嵌入式与独立服务两种方式,但对于我们程序员来说,它只需要使用uflo-client模块中的ProcessClient与其中的TaskClient与我们的业务系统交互即可,究竟项目做好之后,采用哪种部署方式,我们的uflo-client模块中的ProcessClient与其中的TaskClient都可以通过设置一个外部属性实现自由转换,这个属性就是uflo.restAccessBaseUrl,该属性值的作用就是指定独立部署的远程uflo server的地址。默认该属性值为空,那么我们的引擎就会认为我们采用的是嵌入式模式,所以它会通过访问我们项目内部配置的数据源实现与流程引擎数据库的互动;一旦我们定义了该属性的值,那么UFLO引擎就知道我们采用的是独立服务模式,它会通过该属性定义的URL值来访问远程的uflo server,实现本地业务逻辑与远程流程引擎的交互。

       uflo-client模块中的ProcessClient与其中的TaskClient都是配置在Spring当中,如果需要调用它们,那么对于ProcessClient我们只需要获取名为"uflo.processClient"的bean即可,对于TaskClient它在Spring中配置的bean的id为“uflo.taskClient”。

       ProcessClient对于我们程序员来说,主要是实现业务流程的开启、流程模版与实例的删除、流程模版与变量的获取等操作;而TaskClient则提供了大量针对人工任务的操作。在这两个接口当中,我们为每个方法都添加了详细的注释,使用时查看注释应该就可以明确具体用法。

 

Labels
  • No labels