SYSU-Workflow-Lab / RenWFMS-Old

Business Object Oriented Workflow Environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RenWFMS

面向业务对象的工作流执行环境。

项目架构

整体架构

架构图中的可信计算域(内网)部分共包含四个主要部分:

  1. 面向业务对象工作流模型解析引擎:整个工作流执行环境的核心,负责解析用户提交的面向业务对象模型描述文件,将之实例化为业务对象。驱动工作流的进行,维护运行时信息。

解析引擎

  1. 资源分配服务:面向业务对象工作流进行资源分配和任务调度的核心模块,对来自解析执行引擎的任务分派请求、来自流程参与者的工作项状态变更动作进行处理,管理和维护任务的工作项实例状态和所在的工作列表。

资源调度

  1. 名字服务:面向业务对象工作流执行环境提供流程管理、多租户支持、业务角色映射和权限验证的模块,也是直接面向用户的模块,它是执行环境的对外服务网关。

名字服务

  1. 分布式数据库

部署核心系统方案

PS:建议使用IntelliJ IDEA打开本项目

1. 下载源码

git clone git@github.com:SYSU-Workflow-Lab/RenWFMS.git

2. 配置项目模块

项目当前主要模块为BOEngineRenCommonRenNameServiceRenResourceService,因此,右键这四个子项目目录内的pom.xml,选择”Add as Maven Project“,并根据提示下载相关依赖。

1536586696254

3. 写入数据库

登录MySQL客户端:mysql -u[your username] -p[your password]

新建数据库:create database renboengine

运行数据库脚本:source \absolute path of this project\dbSchema\renboengine.sql

4. 修改配置文件

以BOEngine子模块为例,本地运行时,对应开发环境下的配置文件.\src\BOEngine\src\resources\application-dev.properties,同理还有测试环境下的application-test.properties和生产环境下application-prod.properties两个配置文件。

5. 运行代码

如果要在开发环境下运行代码,需要添加运行参数。IntelliJ IDEA下编辑配置:

1536594867520

对每一个项目添加运行参数:

1536594776251

运行每个Application.java的main方法即可。

部署众包项目相关代码

众包(Crowdsourcing)为本项目环境下比较具有代表性的项目,用来展示面向业务对象的工作流环境的功能。

1. 写入数据库

与众包相关的有两个数据库,分别是rencorgan(sql脚本文件为.\exampleProcess\Crowdsourcing\COrganDB\rencorgan.sqlrencsdemo(sql脚本文件为.\exampleProcess\Crowdsourcing\DBSchema\rencsdemo.sql),参照上一节第三步进行写入数据库操作。

2. 运行COrgan

  • 这是一个flask项目(项目地址为.\externalImplSrc\COrgan),用于组织架构系统以管理提出者和解决者资源
  • 使用pip安装好依赖,注意,项目需要python2而非python3
  • 运行命令为python2 COrganApp.py
  • 用户名和密码均为admin

3. 运行RenMasterPanel

  • 与Name Service交互的前端界面,用于提供流程文件,建立业务角色映射
  • 使用Visual Studio打开,需要安装UWP开发功能
  • 登入界面后,我们选择打开项目目录的.\exampleProcess\Crowdsourcing\xml目录,入口Business Object选择Request(Request.xml表示了众包问题的提出,而Crowdsourcing.xml表示了众包问题的解决过程)
  • Process Name随便选择就可以了
  • 进入角色映射后,点击的MANAGE MAPPINGS,添加映射,使得Mapping List如图所示

1536671866213

  • 创建事务直接按默认就可以了
  • 在回执中点击一下DEBUG START

4. 运行ArticleCrowdSourcingDemo

  • 用于模拟整个众包的执行流程
  • 使用Visual Studio打开
  • 运行这个之前要做一个代码上的修改,文件在GlobalDataPackage.cs中,我们要修改PID为我们对应上传的流程文件的PID,这个可以从数据库中查看,是renboengine数据库中的ren_process
  • 修改数据库的账户密码等参数
  • 修改完后,运行

5. 运行ArticleCrowdSourcingQueueMonitor

  • 用于显示众包示例中特定执行流程实例当前的工作项,对应的角色
  • 使用Visual Studio打开
  • 运行之后复制好对应的RTID就可以查看工作列表

6. 剩余的步骤查看视频即可

About

Business Object Oriented Workflow Environment.


Languages

Language:Java 49.3%Language:CSS 23.3%Language:C# 8.5%Language:HTML 8.5%Language:Python 8.2%Language:JavaScript 2.3%Language:Dockerfile 0.0%