当前位置:文档之家› PrimetonBPS6.5开发教程

PrimetonBPS6.5开发教程

PrimetonBPS6.5开发教程
PrimetonBPS6.5开发教程

PRIMETON TECHNOLOGIES, LTD.

上海普元信息技术有限责任公司

Primeton BPS 开发教程

EOS开发模式

No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording, otherwise, without the written permission of the copyright owner.

COPYRIGHT 2008 by Primeton Technologies, Ltd. ALL RIGHTS RESERVED.

导读

本文档的阅读对象为软件设计和开发人员,为了能更好的理解和使用(Primeton BPS TM, Business Process Suite,简称普元流程平台);您需要了解HTML、Javascript、Java、JSP、SQL等J2EE的基本知识,这将为您能更好的学习本文档起到事半功倍的效果。

本文档将通过案例来引导读者运用Primeton BPS TM产品在Primeton EOS TM平台中进行实际的流程开发,使读者能够很快的运用Primeton BPS TM产品开发流程应用。

本文档旨在让您学会使用Primeton BPS TM For EOS业务流程的开发过程、关键要点及常用场景,包括业务流程的定义、开发、调试、运行、部署、监控、业务定制,为了更轻松高效的学习本文档,我们推荐的学习方法请参见附录,同时在学习过程中,您也许随时会用到以下文档:

《Primeton EOS 6程序员教程》

《Primeton BPS 开发指南》

《Primeton BPS 参考手册》

《Primeton BPS 管理员手册》

以上文档请见产品的联机帮助。

目录

导读 ...................................................... 错误!未定义书签。目录 ...................................................... 错误!未定义书签。第1章概述............................................... 错误!未定义书签。

产品介绍........................................... 错误!未定义书签。

产品组件........................................... 错误!未定义书签。

实现机制........................................... 错误!未定义书签。

参考模型..................................... 错误!未定义书签。

角色模型..................................... 错误!未定义书签。

数据模型..................................... 错误!未定义书签。

流程引擎与业务应用部署模式................... 错误!未定义书签。

产品安装........................................... 错误!未定义书签。第2章案例实现........................................... 错误!未定义书签。

预备知识........................................... 错误!未定义书签。

关键知识点......................................... 错误!未定义书签。

需求分析........................................... 错误!未定义书签。

项目准备........................................... 错误!未定义书签。

数据模型设计................................. 错误!未定义书签。

基础框架搭建................................. 错误!未定义书签。

流程设计建模....................................... 错误!未定义书签。

组织机构建模................................. 错误!未定义书签。

业务目录规划................................. 错误!未定义书签。

业务流程建模................................. 错误!未定义书签。

业务资源定义................................. 错误!未定义书签。

流程实现........................................... 错误!未定义书签。

任务列表实现................................. 错误!未定义书签。

流程环节实现................................. 错误!未定义书签。

部署发布........................................... 错误!未定义书签。

发布流程与资源............................... 错误!未定义书签。

发布EOS程序................................. 错误!未定义书签。

流程运行与监控..................................... 错误!未定义书签。

需求变更........................................... 错误!未定义书签。

流程调整......................................... 错误!未定义书签。

业务资源配置................................. 错误!未定义书签。

环节调整..................................... 错误!未定义书签。

分支规则调整................................. 错误!未定义书签。

参与者规则调整............................... 错误!未定义书签。

时间限制调整................................. 错误!未定义书签。

发布运行..................................... 错误!未定义书签。

案例分析......................................... 错误!未定义书签。

小结............................................. 错误!未定义书签。第3章常用场景指南....................................... 错误!未定义书签。

业务化表单使用..................................... 错误!未定义书签。

结合业务查询分库................................... 错误!未定义书签。第4章附录............................................... 错误!未定义书签。

常用术语........................................... 错误!未定义书签。

源代码运行......................................... 错误!未定义书签。

推荐学习方式....................................... 错误!未定义书签。

进阶学习参考....................................... 错误!未定义书签。

FAQ ................................................ 错误!未定义书签。

第1章概述

本章提要

您将了解Primeton BPS6TM产品的定位、产品结构图、相关组件和概念参考模型。

以及您如何将普元流程平台和自己的应用集成如何在EOS开发模式下快速的搭建开发环境

1.1产品介绍

普元业务流程平台套件(Primeton BPS TM:Business Process Suite,简称普元流程平台)是业界第一个完全基于业务化思想实现的SOA流程平台产品,负责对业务流程整个生命周期的管理,包括业务流程的设计建模、测试与调试、部署、运行、监控、管理。Primeton BPS TM是遵从WfMC参考模型而又具备中国特色特性的流程平台产品。

Primeton BPS TM是具有中国特色的流程平台产品。它融入了国内电子政务与电信等行业的特殊要求,在符合WfMC规范的同时,又提供了灵活的工作任务分派策略、业务流程版本管理策略、丰富的流程模式、灵活的组织模型等特性,使得它能够从容应对复杂的中国特色流程模式和人工流程的处理。

Primeton BPS TM采取了多种方式以保证流程引擎高效稳定的运行,满足大型流程应用建设需求,比如良好的事件驱动式系统架构、优化的BPS数据库、历史数据与运行数据分离、集群高速缓存等等。

Primeton BPS TM业务流程定制选件提供基于WEB的业务化流程设计和调整能力,支持流程建设阶段完全业务化的分析建模,以及流程维护阶段敏捷的业务化流程变更,从而极大提高业务人员参与流程建设的能力,加快流程响应业务变化的速度。

1.2产品组件

Primeton BPS TM由以下九部分产品组件组成:BPS Process Server(BPS流程引擎)、BPS API & Component Library(BPS API和构件库)、BPS Studio(BPS流程设计建模工具)、BPS Process Composer(BPS业务流程定制)、BPS Rule Engine(BPS规则引擎)、BPS Rule Composer(BPS业务规则定制)、BPS Governor(BPS引擎治理工具)、BPS Admin & Monitor (BPS流程管理监控台)和BPS Work Client(BPS流程客户端)。产品结构如错误!未找到引用源。所示。

图1-1BPS产品结构图

BPS Process Server(BPS流程引擎)

BPS Process Server(BPS流程引擎)是BPS运行期的核心,为企业流程运转提供驱动力,保证大业务量并发场景下的流程操作的顺利执行。

BPS Process Server共有三个职责:流程调度、任务调度和应用调度。BPS Process Server支持包含自由流在内的多种复杂的流程模式,能灵活满足中国特色的业务需求;BPS

Process Server支持复杂的代理代办模型,对人工任务的灵活性存在很大的优势;BPS Process Server同时负责与内部或外部的各种应用以同步或异步方式进行交互,保证引擎处理过程中的事务完整性,促使互联网时代大量业务交互能够顺利进行。

BPS Rule Engine(BPS规则引擎)

BPS Rule Engine(BPS规则引擎)是一个高性能的业务规则运行环境,它能从业务变量以及系统环境数据中获取必要的数据作为决策数据源,通过复杂计算得出条件判断结果或者参与者集合,然后把结果传递给流程引擎使用。通过把业务规则引擎和流程引擎的配合使用,可以大大提高业务配置化能力,快速支持业务流程和业务策略的变更。

BPS API & Component Library(BPS API和构件库)

BPS API & Component Library(BPS API和构件库)提供众多的流程API与EOS服务构件,为流程业务开发提供了极大的便捷性。

在实际的应用开发过程中,Java开发模式中一般是通过API调用流程引擎所提供的服务,EOS平台开发模式中一般是通过调用EOS服务构件中的服务来使用流程引擎所提供的服务。BPS API和构件库是BPS流程引擎的访问接口,是对引擎功能的完备封装。

BPS API和构件库包括:流程定义管理接口和服务、实例管理接口和服务、客户端接口和服务、代理代办接口和服务、特殊功能接口和服务以及页面标签库。

BPS Studio(BPS流程设计建模工具)

BPS Studio(BPS流程设计建模工具)是基于Eclipse插件体系结构实现的可视化流程设计器,它既可以与用户基于Eclipse的Java集成开发环境融合,又能与Primeton EOS TM 的集成开发环境无缝集成,提供一体化的流畅的开发体验。

BPS Governor(BPS引擎治理工具)

BPS Governor(BPS引擎治理工具)是集成BPS提供的系统管理工具,系统管理员可以通过它对BPS流程引擎进行配置和管理。

BPS Process Composer(BPS业务流程定制)

BPS Process Composer(BPS业务流程定制)是在Primeton BPS TM流程引擎之上实现的基于Web的业务化流程定制工具,它支持业务部门的流程管理人员基于Web的方式进行流程的业务化配置与调整,为业务人员提供完全的业务域支撑能力,敏捷响应业务流程的变更。

BPS Rule Composer(BPS业务规则定制)

BPS Rule Composer(BPS业务规则定制)是在Primeton BPS TM流程引擎和Primeton BPS TM 规则引擎之上实现的基于Web的业务化规则定制工具,通过该组件,业务管理人员可以在系统维护期间维护业务规则,使业务策略的变更及时体现到IT系统当中。业务规则定制过程中可以引用业务变量、流程上下文数据、活动上下文数据等,以"类自然语言"的方式进行灵活的配置,并可以进行各种复杂的运算。

BPS Admin & Monitor(BPS流程管理监控台)

BPS Admin & Monitor(BPS流程管理监控台)是业务流程管控人员的流程操作平台。通过它,业务流程管控人员不但可以对流程实例实施挂起、恢复、回退等操作,还可以进行

代理代办交接等管理动作,甚至可以查询业务审计日志,对业务操作人员的流程动作进行监控。

BPS Work Client(BPS流程客户端)

BPS Work Client(BPS流程客户端)是一个客户端的典型案例,它为流程的开发、调试和验证提供极大的便捷性。

通过BPS流程客户端,业务人员和开发人员不但可以执行启动流程、查看任务、完成任务等基本操作,还可以进行包括代理、代办、领取等复杂操作。BPS流程客户端主要用来进行流程的模拟调试,验证流程的可行性和正确性。在业务运行阶段,应用一般需要构造满足自己特殊需要的客户端。

1.3实现机制

1.3.1参考模型

1993年,国际工作流管理联盟WfMC(Workflow Management Coalition)的成立标志着工作流技术开始进入相对成熟的阶段。WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准,提出了工作流参考模型。

工作流参考模型确定了工作流管理系统的基本架构。该架构是开发工作流软件时应当采纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的。

Primeton BPS TM的参考体系架构在WfMC描述的体系架构基础上进行了加强和改进,如错误!未找到引用源。所示。

图1-2流程参考模型(WfMC Extended)

在开发期,开发人员主要通过集成BPS Studio的流程定义工具来定义流程。由于流程定义工具需要依赖组织模型和外部相关应用,所以在流程开发以前需要首先实现组织模型接口,构造被调用的应用(Java方法、EOS服务等)。如果开发者暂时不确定组织模型,也可以先使用产品内置的简单组织模型。

在运行期,流程引擎是所有依赖的中心。BPS流程引擎包含流程调度引擎和任务表管理器两大部分。

流程引擎主要完成这些工作:通过从组织模型获取到适当的参与者来调度人为参与的人工活动;通过调用外部应用来实现运转的自动活动;通过访问流程相关数据进行必要的路由判断;通过流程控制数据来记录流程运行的轨迹;通过访问日历接口来进行恰当的时限设置。流程调度引擎和任务表管理器之间通过任务表作为联系纽带,通过任务表的状态变迁来进行相互的驱动。

1.3.2角色模型

BPS应用环境中一共包含九种角色,分别是:

业务分析人员

职责描述:进行组织流程框架的规划和业务流程的梳理、流程的业务建模、流程分析。

基本技能要求:精通某一领域业务知识和流程需求;熟悉业务流程梳理概念与方法。

产品针对特性:提供流程梳理后的建模与模拟运行功能。

业务流程配置员

职责描述:进行业务流程的流程定制、流程调整、流程测试与验证、流程发布、流程监控、流程统计分析、流程优化。

基本技能要求:熟悉业务需求,了解业务流程基本概念,了解业务流程实现过程。

产品针对特性:流程建模功能、程测试验证功能、流程统计分析功能、流程调整功能。

流程实施人员

职责描述:主要是指开发商的流程实施人员,基本同流程配置员。

基本技能要求:基本同流程配置员。

产品针对特性:基本同流程配置员。

流程开发人员

职责描述:在流程开发人员的工作过程中,除了开发流程本身(定义流程、活动等)之外,还要开发流程相关的资源。比如,相关的任务列表、环节展现界面的开发、活动处理逻辑、组织模型接口的定制等。

基本技能要求:精通相关服务构件开发所需技能,如JEE开发技能、EOS构件开发技能等,熟悉业务流程基本概念和实现过程。

产品针对特性:BPS Studio、业务资源管理、业务流程定制、流程测试验证、流程管理监控。

业务操作员

职责描述:一般是通过和任务表的交互来进行工作的,他们通过工作流客户端进行流程的发起、获取到任务列表,然后处理具体的任务。

基本技能要求:精通某领域业务,了解业务流程基本概念。

产品针对特性:流程客户端、流程监控功能。

业务管理员

职责描述:对流程进行监控和管理,包括监控和跟踪流程和任务的状态,对异常流程进行维护等,还可能进行一些代理代办或工作交接的工作。

基本技能要求:熟悉流程监控和管理的流程与方法,了解业务流程概念。

产品针对特性:流程管理监控。

系统管理员

职责描述:进行系统配置、业务目录管理、权限设置等。

基本技能要求:熟悉领域技术相关知识。

产品针对特性:业务目录管理、引擎配置管理。

应用维护人员

职责描述:进行应用系统的软件升级、缺陷修复、流程所使用资源的管理等。

基本技能要求:熟悉系统维护与升级相关知识,了解业务化流程定制过程与方法。

产品针对特性:流程管理监控、业务资源管理。

超级系统管理员

职责描述:进行统一流程平台的配置,包括受管引擎实例的配置等。

产品针对特性:受管引擎实例配置。

1.3.3数据模型

基于开发的应用包含以下数据:业务流程定义数据、流程控制数据、流程相关数据、任务表数据、组织模型数据、流程日历数据和流程应用数据。部分数据的概念如错误!未找到引用源。所示。

图1-3流程数据模型

业务流程定义数据

业务流程定义数据定义了流程的拓扑结构、流程所包含的活动、流程的相关数据定义以及流程使用的资源等流程规格特性。把业务流程定义数据存储在文件系统(开发时)或关系数据库(运行时)中。

流程控制数据

流程实例运行期间进行实例化所产生的数据,由于流程实例经常存在于一个相对较长的生命周期中,一般为一天到几个月,所以工作流控制数据需要持久化存储。把流程的控制数据存储在关系数据库中。

流程相关数据

工作流相关数据是在流程运转过程中和控制流程运转条件相关的数据,相关数据也可以用来保存在不同活动之间传递的信息。在中,相关数据以结构化的形式存储在关系数据库中。

任务表数据

任务表是流程引擎和参与者(机构、角色、人员等)交互的一个媒介。人员通过任务表来获取自己的任务并执行。在中,任务表数据存储在关系数据库中。

组织模型数据

组织模型是工作流系统依赖的一个重要的资源模型,是人工活动执行所需要的必备条件。考虑到组织模型在不同的企业和单位差异性非常大,提供了接口来限定组织模型,并不提供具体的组织模型数据。通过实现组织模型接口,用户可以使用多种存储形式的遗留系统数据。

流程日历数据

工作日历是人工任务的时间相关的一个重要概念。考虑到不同企业和单位的差异性也比较大,也提供了接口来限定工作日历,并不保存具体的数据。

流程应用数据

流程应用数据是所有应用数据中和工作流相关的那一部分数据,一般用来保存流程实例在业务方面的属性。流程应用数据一般不在工作流引擎的管理范围之内,但是在中,用户可以在任务表和应用数据之间建立关联,从而达到引擎和业务的更好的交互。

1.3.4流程引擎与业务应用部署模式

Process Server 主要支持三种典型的与业务应用的部署方式:

独立部署模式--BPS服务器与应用功能分开部署

集中部署模式--BPS服务器与用户应用集中部署

与EOS集中模式--BPS服务器与EOS应用逻辑集中部署

这三种部署方式中,前两者适合与 For Java 的环境,最后一种适合于BPS For EOS的环境。

独立部署模式指产品模块与用户业务应用部署在相互独立的应用服务器下,通过远程调用来访问引擎和资源,如错误!未找到引用源。所示。

图1-4独立流程服务器应用集成

集中部署模式指产品模块与用户业务应用耦合在一起,以用户应用为载体(称为嵌入部署模式)或以BPS引擎所在应用为载体部署在应用服务器上,如错误!未找到引用源。所示。开发方式采用 Studio和Eclipse插件集成开发。

图1-5嵌入式应用集成

与EOS集中部署指产品作为EOS应用可选组件部署在EOS应用中,如错误!未找到引用源。所示。开发方式采用EOS环境中集成的开发环境,用户可以很方便的编辑流程,以及利用EOS一体化开发平台。

图1-6EOS应用集成

1.4产品安装

开发环境搭建可参见Flash演示动画,观看时,请确保Flash存放在非中文目录中。BPS 其他版本的安装请参见《Primeton 产品安装指南》。

BPS Studio(BPS流程设计建模工具)是基于Eclipse插件体系结构实现的可视化流程设计器,提供可视化的业务流程定义、可视化表单开发与调试、以及业务流程部署等功能。

BPS Studio既可以与基于Eclipse的Java集成开发环境融合,又能与Primeton EOS TM 的集成开发环境无缝集成,本教程介绍第二种集成方式,即安装Primeton Platform 开发版时选择BPS选件。

Primeton Platform 开发版安装

1.启动安装程序

将安装光盘插入CD-ROM中,在autorun界面中选择安装Primeton 开发版。

若不是通过autorun形式启动安装程序,请直接执行安装程序文件。

2.阅读安装简介,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-7简介

3.阅读开发版的许可声明后,选择“本人接受许可协议条款”单选按钮,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-8许可协议

4.单击【下一步】按钮,从弹出的对话框中选择安装目录,如错误!未找到引用源。所示。设置完毕,单击【下一步】按钮。

图1-9选择安装路径

安装路径最多可输入64个字符,只能由半角英文字符、数字或下划线“_”组成,且不允许带空格。

如果所选的安装目录已经安装过BPS产品,则安装程序将提示用户选择其他目录。

5.选择应用服务器,在下拉列表框中选择应用服务器,BPS开发版缺省提供服务器,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-10选择应用服务器

6.选择安装组件,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-11选择安装组件

7.设置管理员信息,根据实际情况输入用户名称和机构名称,安装程序默认用户名称为当前登录操作系统的用户名,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-12设置管理员信息

8.选择IP和管理端口,在下拉列表框中选择本机IP,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-13选择IP

9.创建应用,应用名默认为default”,如错误!未找到引用源。所示,单击【下一步】按钮。

图1-14创建应用

10.配置数据库。

(1)在下拉列表框中选择数据库类型,如“Oracle”。

(2)输入数据库的相关配置信息。

配置Oracle类型数据库的界面,如错误!未找到引用源。所示。

图1-15配置Oracle 9类型数据库

(3)选择是否“初始化数据库”

如果初次安装BPS且是初次使用某个数据库用户,建议选择初始化数据库,将BPS所需表结构建立起来。对于已执行过初始化的数据库,再次初始化将覆盖已经存在的BPS系统表。

(4)单击【数据库连接测试】按钮,测试所配置数据库是否可以成功连接。

(5)单击【下一步】按钮。

11.开始安装,安装过程中显示各组件的安装进程,如错误!未找到引用源。所示。

图1-16正在安装

12.程序提示开发版已经成功安装,如错误!未找到引用源。所示。选择“现在查看文件。”复选框,可以查看readme文件内容。

图1-17安装完成

13.单击【完成】按钮,完成BPS开发版的安装。

14.验证安装

(1)将在开始程序菜单出现如下菜单,如错误!未找到引用源。所示。

图1-18快捷菜单

(2)检查安装日志。

打开BPS安装目录下的安装日志文件,检查安装过程是否有异常信息。

(3)通过“开始程序Primeton Platform 启动Server”启动BPS Server,查看控制台是否有异常。

http侦听默认占用8080端口,此端口容易冲突,冲突导致服务无法启动成功。修改Tomcat中的端口:打开安装目录\目录下的,修改其中的8080端口。

第2章案例实现

本章提要

您将从一个具体的案例开发中了解如何在EOS应用中开发BPS流程,如何在流程中调用Web Service服务,如何调用BPS构件库,触发流程引擎一步一步运行;如何在Web界面上定制或调整业务流程,实现敏捷响应流程的需求变化。

2.1预备知识

建议具备及以上版本的基础开发技能。

2.2关键知识点

本章通过开发简单的报销流程,帮助您了解EOS应用中BPS流程的开发过程和流程中调用外部Web Service的实现方法;通过调整报销流程,帮助您了解在Web界面上灵活调整、敏捷定制业务流程的方法;通过对案例的分析,帮助您更深刻地理解EOS应用与BPS的结合原理,功能技术实现与业务流程解耦的开发方式。

关键知识点:

流程的设计开发过程

外部Web Service的调用

BPS关键构件的使用

流程引擎的运行原理

业务流程的定制

案例开发过程总览

本章案例是基于从“技术实现”到后期运维阶段的“业务调整”的过程进行流程应用开发,案例的开发过程如错误!未找到引用源。所示。

图2-1案例开发过程图

整个过程不一定要严格按顺序进行,很多情况下是交互或迭代进行的。

2.3需求分析

在某公司,员工每月的通讯费、车补费、出差车旅费、出差补贴等都需要填写报销单后,交给部门主管审批。如果部门主管审批不通过,员工就不能报销;如果审批通过,就交给财务审阅。财务审阅确认后,调用已有的入账服务,将报销信息归档,员工才会收到报销的费用。由于公司员工比较多,报销种类也多,各部门主管和财务部门每天都会收到很多纸质报销单进行审批或审阅,对员工来说,无法直接了解自己报销单的情况,需要跟主管或财务人员沟通。基于这种情况,公司急需建立一套报销流程,进行无纸化办公,提高报销效率,减轻部门主管和财务部门的工作量。

了解了这些需求后,我们发现部门主管审批是否通过是员工能否报销的关键,考虑到报销中还会存在一些特殊情况,如报销费用太大或非预算项目内的报销,决定将报销费用和是否是预算项目这两个因素设计在报销流程中,方便以后报销流程的优化或调整。

整个报销流程的分析结果如下:

需求分析:

1.为公司的财务部门实现无纸化报销流程

2.报销流程包含的活动:填写报销单,部门主管审批,财务审阅,报销信息入账

3.报销要做的工作:填写报销单,保存报销单,部门主管审批,保存部门主管的审批意见,财务审阅,保存审阅人信息,报销信息入账

4.报销信息入账是直接调用公司已经存在的Web Service服务,不用重复实现

5.报销流程涉及的人员:员工,部门主管,财务

6.影响报销的因素:部门主管审批结果、报销金额、是否是预算内项目

需求设计:

根据需求分析可以得到如错误!未找到引用源。所示的流程图。

图2-2流程设计图

2.4项目准备

2.4.1数据模型设计

1.创建业务表

根据报销流程的需求描述,创建报销单信息表Expenseinfo、报销审批信息表Expensecheck。其中Expenseinfo存放员工填写的报销单信息、财务审阅人;Expensecheck 存放审批人信息;入账信息是调用外部的入账服务,所以在调用方不需要创建表。

具体的建表脚本如下:

建表脚本适用于oralce9i、oralce10g。

每次报销对应一个流程实例,所以在报销单ExpenseInfo表中需要一个字段存放流程实例ID,如PROCESSINSTID。

2.4.2基础框架搭建

1.创建项目

点击EOS Studio工具条上的【文件新建EOS项目】启动项目创建向导,在弹出的对话框中选择“空项目”,点击【下一步】,填写项目详细信息,如错误!未找到引用源。所示,创建名称为BPSDemo的项目。

图2-3创建项目

点击【下一步】,显示项目的引用库信息。默认情况下EOS项目引用基础构件库和BPS 基础构件库。点击【完成】,在“资源管理器”视图中显示出BPSDemo项目。

2.创建构件包

右键单击资源管理器中项目BPSDemo,在菜单中通过选择【创建构件包】,弹出创建构件包对话框,输入构件包名称为“,点击【完成】后,“资源管理器”中BPSDemo项目如错误!未找到引用源。所示。

图2-4项目及构件包

3.数据建模

在EOS应用开发中采用数据定义的方式来描述数据结构。一个数据定义由数据实体和显示模型组成,一组数据定义组成了一个数据集。本案例中涉及到的报销单信息表Expenseinfo、报销审批信息表Expensecheck就需要导入成EOS应用中的数据实体,从而描述数据结构的名称和类型信息。

(1)创建数据库表

在数据库中、或利用数据库第三方工具运行错误!未找到引用源。错误!未找到引用源。章节中的数据库脚本创建数据表。另外,也可以借助EOS中内置的SQL编辑器来运行后缀名为sql的文件,如错误!未找到引用源。所示。

图2-5创建数据库表

(2)创建数据集并导入数据实体

展开构件包中的【数据数据模型】,在包中创建名称为expdataset的数据集。在数据集的空白处,点击右键,在弹出的菜单中选择【导入数据实体】,将Expenseinfo表、Expensecheck表导入到该数据集中,导入时如错误!未找到引用源。所示。

图2-6 导入数据实体

(3) 设置显示属性

针对数据实体中各属性的类型或特点,可以设置它们的显示属性或者校验类型等。比如:报销单信息表Expenseinfo 中主键expid ,流程实例IDprocessinstid ,报销人expname 以及报销金额expmoney 不允许为空,可以对数据实体中这些属性设置校验类型。

打开expname 的高级属性对话框,设置校验类型为必填项,如错误!未找到引用源。所示。同样的方式,设置expmoney 的验证类型为实数且为必填项。设置Expenseinfo 中的reason 及Expensecheck 中的advice 的录入方式为“textarea ”。

图2-7 设置显示属性

4. 导入外部Web Service 的WSDL (1) 访问发布的外部Web Service

报销信息入账是调用公司已经存在的入账服务,本案例模拟实现了一个服务AccountService 。首先要将其部署在应用服务器中,再启动服务器,在浏览器中访问该服务。根据应用服务器所在IP 地址、端口号、应用的端口号以及服务名称拼装成服务的访问地址:。如错误!未找到引用源。所示,在浏览器中可以显示AccountService 服务的WSDL 描述,说明这个Web Service 服务已经发布成功。

图2-8 访问发布的外部Web Service 本案例模拟的这个服务暴露的接口是saveAccount 方法,输入参数是ExpInfo 类型的服务数据对象,返回值是字符串数组类型的变量。调用时需要特定的用户名和密码作为消息头,传入报销单信息(封装为ExpInfo 类型),返回值是消息头中的用户名和密码信息。 (2) 导入发布成功的Web Service 展开构件包中的【服务接口定义】,右键选中下面的包,在菜单中选择【导入】,在弹出的对话框中选择【EOS 导入WSDL 】,点击【下一步】,在“WSDL 地址”中输入服务的访问地址“,如错误!未找到引用源。所示。

图2-9 导入WSDL

点击【完成】,提示“导入已经成功完成”,在项目的构件包中“服务”模块显示如错误!未找到引用源。所示。

图2-10 服务导入结构

2.5 流程设计建模

BPS 调用WebService 支持的WSDL 规格:

portType :WSDL 中可以定义单portType 和多portType ;

binding :WSDL 中可以定义单binding 和多binding ;

service :WSDL 中可以定义单service 和多service ; port :WSDL 的service 结点下可以定义单port 和多port ;

part :WSDL 的Message 结点下可以定义单part 和多part 来表示数据; SOAP :在数据传输时,支持soap

规范,soap 规范; wsdl :WSDL 的定义格式支持规范。 外部Web Service 部署在开发版自带的Tomcat 服务器中,具体部署方法参见错误!未找到引用源。一节。

2.5.1组织机构建模

报销流程在运行过程中,要由员工完成填写报销单,由部门主管完成审批,由财务完成审阅。那么这些人员可以是具体的某个人,也可以是某个部门中的一个人,也可以是某个岗位或者拥有某个角色的一个人。那么如何让流程能够识别人员或者人员所在的组织机构呢BPS自带了一个组织机构,可以方便用户快速设置流程中各个活动的参与者。本案例就使用该缺省的组织机构。其组织机构模型如错误!未找到引用源。所示。

图2-11BPS缺省的组织机构模型

BPS支持的组织机构:

缺省的组织机构模型在[BPS安装目录]\中定义。

自定义的组织机构必须实现BPS提供的一套组织机构接口,请参考产品帮助文档中“BPS

帮助文档开发参考BPS典型场景开发指南”中“结合自定义组织机构的使用场景”章节。

通过“开始程序Primeton Platform Platform Studio”启动EOS集成开发环境,默认进入到EOS开发透视图。

如错误!未找到引用源。所示,启动EOS Server。

图2-12启动BPS Server

EOS Server启动成功后,在EOS Studio右边的“组织模型”视图中,点击“”按钮刷新组织模型,如错误!未找到引用源。所示。

图2-13刷新组织模型

刷新后,将默认的组织机构数据更新到视图中,如错误!未找到引用源。所示。

刷新“组织模型”时,EOS Server必须处于正常运行状态。

2.5.2业务目录规划

公司存在各种各样的业务,财务部门的报销流程肯定不同于HR部门的请假流程,为了更清晰地区分各个特定的业务,方便管理,就需要对业务进行分类管理,也就是规划公司的业务目录。业务目录也可以分多级进行组织,即每个业务目录还可以包括多个下级业务目录。

在项目资源管理器中,双击BPSDemo项目下面的“业务资源”,打开业务资源编辑器。在业务资源编辑器中选中“领域业务目录”,点击“”增加业务目录,默认产生的名称为“业务目录1”。修改其名称及描述为“A公司”,保存后如错误!未找到引用源。所示。

图2-14增加业务目录

选中“A公司”,再添加一个“财务”业务目录,用于放置所有跟财务相关的流程、业务属性。最终业务目录设置如错误!未找到引用源。所示。

图2-15最终业务目录

2.5.3业务流程建模

1.创建流程

在业务资源编辑器中,选中“财务”业务目录,为其添加一个流程。如错误!未找到引用源。所示。

图2-16添加流程

在弹出的“创建BPS流程向导”对话框中,选择构件包:,输入文件名称:exp,显示名称:报销流程,如错误!未找到引用源。所示。点击【完成】即创建了,在中间的流程编辑器中自动创建开始和结束图元。

图2-17创建报销流程

2.设计流程

根据报销流程的业务规则和需求设计,在流程编辑器中,用【选用板】上的“人工活动”表示需要人工参与的活动,用“WebService活动”表示调用外部服务的活动,并用“连接线”按照流程的业务规则依次连接各活动,设置为业务化的名称,拖拽“注释”增加注释信息。完成后的流程如错误!未找到引用源。所示。

图2-18定义报销流程

3.设置流程属性

双击流程编辑器的空白处,弹出“BPS流程属性设置”对话框,用来设置一些和整个流程有关的属性。

点击“相关数据”选项卡,这里是通过设置与业务流程相关的数据来确定流程实例状态转移条件。在本案例中,部门主管审批后,要根据他的审批结果决定流程的分支,那么就需要将部门主管的审批结果存放在相关数据区中,这里用变量isagree来表示;另一方面,在需求分析中梳理出来的另外两个关键因素:报销费用expmoney和是否是预算项目isbudgetitem也设置在相关数据区中。对入账是调用外部的Web Service服务,该服务暴露的接口saveAccount的输入参数是ExpInfo类型的对象,返回值是字符串数组,分别定义变量wsdl_exp和returnUser与输入参数和返回值一一对应。详细设置如错误!未找到引用源。所示。

图2-19设置报销流程的相关数据

4.设置活动属性

(1)人工活动:填写报销单

双击“填写报销单”,弹出“人工活动属性设置”对话框。点击“参与者”选项卡,默认是流程启动者,意味着谁填写报销单,谁就启动报销流程,符合业务规则,不用修改。

(2)人工活动:审批

双击“审批”,在弹出的“人工活动属性设置”对话框中点击“参与者”选项卡,设置该活动的参与者“从参与者列表获得”,点击“”选择参与者,如错误!未找到引用源。所示。

图2-20选择参与者

点击【确定】后,设置如错误!未找到引用源。所示。

图2-21设置部门主管审批的参与者

(3)人工活动:财务审阅

双击“财务审阅”,在弹出的“人工活动属性设置”对话框中,点击“参与者”选项卡,同样设置该活动的参与者“从参与者列表获得”,并从组织机构树中选择Rolec下面的Snoppy。如错误!未找到引用源。所示。

图2-22设置财务审阅的参与者

2.5.4业务资源定义

业务资源是BPS为了支持流程的业务化定制而将业务流程中所使用到的要素的业务化包装,使得业务人员无需理解该要素的技术细节,而只需要关注其业务属性并使用。在本案例中,填写报销单,主管审批,财务审阅,报销单信息入账,以及流程运转的判断因素都是报销流程中的要素,对业务人员而言,不需要关注程序如何实现,只需要根据流程要素的业务员化名称或描述,进行选择和使用。

2.5.4.1人工任务

打开报销流程,按住Ctrl键,鼠标同时选中“填写报销单”、“审批”和“财务审阅”,点击鼠标右键,在弹出菜单中选择“生成业务资源定义”,如错误!未找到引用源。所示。

图2-23生成人工任务的业务资源定义

点击后,弹出“批量生产业务资源”对话框,如错误!未找到引用源。所示。

相关主题
文本预览
相关文档 最新文档