Joinwork工作流培训
2020/6/19
整个流程就是通过节点之间的状态转换实现流程控 制流转的。
1 Joinwork是什么
• 基于纯Java技术实现,是一个JAR包, joinwork2.jar。
2020/6/19
2 Joinwork的组成
OA系统
JAAS
Login Module
WAPI
Studio
HTTP
Console
Studio Server端组件
WAPI
Engine
Org API
Org
Management
2020/6/19
必须模块 可替换模块
2 Joinwork的组成
结合具体系统演示,主要包含以下子模块: • 流程引擎 • 工作任务管理 • 组织管理模块 • 定时管理 • 消息管理 • 组件库 • 数据源 • 许可证信息
2020/6/19
提纲
• 1 Joinwork是什么 • 2 Joinwork的组成 • 3 Joinwork的主要功能特性 • 4 Joinwork的主要特点和优势 • 5 Joinwork应用于J2EE OA案例分析
2020/6/19
1 Joinwork是什么
• 是上海携创公司的工作流产品 2019年5月公司成立; 2019年9月发布Joinwork v1.0; 2019年3月发布Joinwork v2.0; 当前版本:2.43 官方网址:joinwork; 它们只做工作流,产品更专业; 主要客户:中国电信、用友致远、复旦网络
通过事件动作处理机制,使流程和程序逻辑灵活的结合 在一起;
动作处理脚本不仅能够方便的操作预定义组件,需要时 可以和高级语言一样强大。
3 Joinwork的主要功能特性
• 方便的表单生成机制
Joinwork能够为活动的执行自动生成表单,甚 至带有简单的图表; 表单能够完成基本的数据输入校验; 用户也可以定制表单,使用通用的工具(如 DreamWeav er)和技术(struts tag)设计和实现, 然后与Joinwork集成。
2020/6/19
3 Joinwork的主要功能特性
• 实用的任务管理 任务可以由指定负责人手工分配,也可以由 候选执行人主动认领; 对于重要的工作任务,可以指定管理人员在 任务完成后进行审核; 审核未通过的任务需要执行人重做; 支持单个活动的多任务实例; 任务可委托他人执行; 也可指定任务代理人;
性能:毫无疑问,因为没有远过程调用,嵌入式工作流引擎要占明显优 势;
分布和EAI:独立运行工作流引擎能够和多个业务系统打交道,嵌入式工 作流不能直接和宿主系统以外的系统交互。因此只有独立运行工作流 引擎支持分布式应用,和支持通过业务流程做企业应用集成EAI。
ห้องสมุดไป่ตู้
1 Joinwork是什么
• Joinwork的流程流转机制
Joinwork基于PN网实现,PN网中流程流转的机制 用一句话可以概括为:外部条件触发变迁,导致令 牌(tocken)在库所之间迁移。 结合Joinwok术语,我的理解: 外部条件:人、时间、消息。 变迁:活动节点。 令牌:就绪状态。 库所:Process中的所有节点,包括活动和状态。 迁移:就绪状态和非就绪状态的转换。
1 Joinwork是什么
• 嵌入式工作流和独立运行的工作流对比
2020/6/19
1 Joinwork是什么
2020/6/19
• 嵌入式工作流和独立运行的工作流对比
部署:对于一个基于Java技术的嵌入式工作流引擎,在部署时非常简单 ,你只要将对应的jar文件加到classpath中就可以了。独立运行工作 流引擎因为是独立的应用,并且必须通过RMI/JMS/Web service等远 程调用技术与业务应用交互,所以部署起来要麻烦得多;
2020/6/19
3 Joinwork的主要功能特性
• 可扩展性和可移植性 认证模块可替换; 组织结构管理模块可替换; 支持的J2EE应用服务器:JBoss 3.x/4.x 、 WebLogic 7.0/8.1/9.x 、WebSphere 5.1/6.x 、Resin 2.x 、Tomcat 4.x/5.x 。 支持的数据库:Oracle 8i/9i 、SQL Server 7.0/2000/2019 、DB2 8.1 、MySQL 4.1 。
2020/6/19
3 Joinwork的主要功能特性
• 全面的用户权限管理 Joinwork对业务流程的整个生命周期进行访 问权限管理; 可以按业务需求定义新的角色; 流程或活动的参与者既可以是个人也可以是 组; 可以使用与、或、非实现复杂的访问控制;
2020/6/19
3 Joinwork的主要功能特性
• 中软融鑫是完全买断的 拥有源码、可以二次开发、可以随意分发、拥有 License生成机制。
• 直接费用来自OA部银监会业务组银监会智能流程平 台项目
2020/6/19
1 Joinwork是什么
• 是针对J2EE应用开发人员的嵌入式工作流
需求
2020/6/19
设计
实现
业务应用
测试
维护
J2EE应用服务器 数据库 操作系统
2020/6/19
• 强大的组件对象和脚本
Joinwork提供了多种数据类型:文本、数值、文件、图 片、Email、URL等;
用户还可以定义新的组件,并可以为数据组件自动生成 Java类和数据表;
内置的系统动作组件能够完成数据库操作、消息发送、 人员组织信息等工作;
用户也能够随时将自己的程序逻辑作为动作组件添加进 来;
二次开发:由于大部分独立运行工作流引擎也会在客户端,提供方便远 程调用的本地调用API,所以在二次开发时,程序员大部分时间都可 以不大关注引擎是本地的还是远程的。但在传递某些业务参数和例外 处理中,远程调用还是有些特殊的要求和限制的。因此总的来说,在 二次开发上独立运行工作流引擎对程序员要求高一些;
2020/6/19
3 Joinwork的主要功能特性
• 灵活的流程控制 • 全面的用户权限管理 • 强大的组件对象和脚本 • 方便的表单生成机制 • 实用的任务管理 • 可扩展性和可移植性
2020/6/19
3 Joinwork的主要功能特性
• 灵活的流程控制
Joinwork的流程控制模型基于成熟的Petri网理 论; 同时支持多人之间的协作流程和单人会话流程 (页面流); 支持条件、同步、分叉、合并、循环和子流程 ; 支持用户直接控制流程的随意流,流程的多点 启动和退出; 支持定时/周期/消息启动流程或触发活动