Primeton BPS 60开发教程Java 开发模式.docx

上传人:b****7 文档编号:10864737 上传时间:2023-02-23 格式:DOCX 页数:79 大小:1.92MB
下载 相关 举报
Primeton BPS 60开发教程Java 开发模式.docx_第1页
第1页 / 共79页
Primeton BPS 60开发教程Java 开发模式.docx_第2页
第2页 / 共79页
Primeton BPS 60开发教程Java 开发模式.docx_第3页
第3页 / 共79页
Primeton BPS 60开发教程Java 开发模式.docx_第4页
第4页 / 共79页
Primeton BPS 60开发教程Java 开发模式.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

Primeton BPS 60开发教程Java 开发模式.docx

《Primeton BPS 60开发教程Java 开发模式.docx》由会员分享,可在线阅读,更多相关《Primeton BPS 60开发教程Java 开发模式.docx(79页珍藏版)》请在冰豆网上搜索。

Primeton BPS 60开发教程Java 开发模式.docx

PrimetonBPS60开发教程Java开发模式

PRIMETONTECHNOLOGIES,LTD.

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

 

PrimetonBPS6.0开发教程

Java开发模式

 

Nopartofthisdocumentmaybereproduced,storedinanyelectronicretrievalsystem,ortransmittedinanyformorbyanymeans,mechanical,photocopying,recording,otherwise,withoutthewrittenpermissionofthecopyrightowner.

 

COPYRIGHT2008byPrimetonTechnologies,Ltd.ALLRIGHTSRESERVED.

导读

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

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

本文档旨在让您学会使用PrimetonBPSTMForJava业务流程的开发过程、关键要点及常用场景,包括业务流程的定义、开发、调试、运行、监控。

在学习过程中,您也许随时会用到以下文档:

《PrimetonBPS6.0开发教程(EOS开发模式)》

《PrimetonBPS6产品安装指南》

《PrimetonBPS开发指南》

《PrimetonBPS参考手册》

《PrimetonBPS管理员手册》

《PrimetonBPSAPIJavaDoc》

以上文档请见产品的联机帮助或安装光盘。

目录

导读2

目录3

第1章BPS概述5

1.1BPS产品介绍5

1.2BPS产品组件5

1.3BPS原理及机制7

1.3.1BPS参考模型7

1.3.2BPS数据模型8

1.3.3BPS应用集成方式10

1.4BPS产品安装12

1.4.1ForJava开发环境搭建12

第2章开发示例22

2.1关键知识点22

2.2案例描述22

2.3案例开发23

2.3.1组织机构23

2.3.2数据准备24

2.3.3项目准备27

2.3.4流程定义31

2.3.5环节开发39

2.4案例部署44

2.4.1发布流程44

2.4.2发布用户程序47

2.5案例运行49

2.6案例分析54

2.7小结55

第3章常用场景指南58

3.1HTTP接入权限控制58

3.2组织机构集成59

3.3独立流程服务器60

第4章附录64

4.1BPSAPI64

4.2进阶学习参考65

4.3源代码运行66

第1章

BPS概述

 

BPS产品介绍

普元业务流程平台套件(PrimetonBPSTM,BusinessProcessSuite,简称普元流程平台)是业界第一个完全基于业务化思想实现的SOA流程平台产品,负责对业务流程整个生命周期的管理,包括业务流程的设计建模、测试与调试、部署、运行、监控、管理。

PrimetonBPSTM是遵从WfMC参考模型而又具备中国特色特性的流程平台产品。

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

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

PrimetonBPSTM具有卓越的面向业务的流程配置能力,支持业务部门的流程管理人员基于Web的方式进行流程的业务化配置与调整,敏捷响应业务流程的变更。

BPS产品组件

PrimetonBPSTM由以下七部分产品组件组成:

BPSProcessServer(BPS流程引擎)、BPSAPI&ComponentLibrary(BPSAPI和构件库)、BPSStudio(BPS流程设计建模工具)、BPSGovernor(BPS引擎治理工具)、BPSAdmin&Monitor(BPS流程管理监控台)、BPSClientWorkspace(BPS流程客户端)和BPSBusinessProcessComposer(BPS业务流程定制)。

如图1-1所示:

图1-1BPS产品结构图

BPSProcessServer(BPS流程引擎)

BPSProcessServer(BPS流程引擎)是BPS的心脏,它保证大数据量和高并发场景下的流程操作的顺利执行。

BPSProcessServer共有三个职责:

流程调度、任务调度和应用调度。

BPSProcessServer支持包含自由流在内的多种复杂的流程模式,能满足中国特色的灵活的业务需求;BPSProcessServer支持复杂的代理代办模型,对人工任务的灵活性具有很大的优势;BPSProcessServer同时负责和内部与外部的各种应用以同步和异步方式进行交互,保证引擎处理过程中的事务完整性,促使互联网时代大量业务交互能够顺利进行。

BPSAPI&ComponentLibrary(BPSAPI和构件库)

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

在实际的应用开发过程中,Java开发模式中一般是通过API调用流程引擎所提供的服务,EOS平台开发模式中一般是通过调用EOS服务构件中的服务来使用流程引擎所提供的服务。

BPSAPI和构件库是工作流引擎的访问接口,是对引擎功能的完备封装。

BPSAPI和构件库包括:

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

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

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

BPSGovernor(BPS引擎治理工具)

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

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

BPSAdmin&Monitor(BPS流程管理监控台)是业务流程管控人员的工作流操作平台。

通过它业务流程管控人员不但可以对流程实例实施挂起、恢复、回退等操作,还可以进行代理代办交接等管理动作,甚至可以查询业务审计日志,对业务操作人员的流程动作进行监控。

BPSClientWorkspace(BPS流程客户端)

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

通过BPS流程客户端,业务人员和开发人员不但可以执行启动流程、查看任务、完成任务等基本操作,还可以进行包括代理、代办、领取等复杂操作。

BPS流程客户端主要用来进行流程的模拟调试,验证流程的可行性和正确性。

在业务运行阶段,应用一般需要构造满足自己特殊需要的客户端。

BPSBusinessProcessComposer(BPS业务流程定制)

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

BPS原理及机制

1.1.2BPS参考模型

1993年,国际工作流管理联盟WfMC(WorkflowManagementCoalition)的成立标志着工作流技术开始进入相对成熟的阶段。

WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准,提出了工作流参考模型。

工作流参考模型确定了工作流管理系统的基本架构。

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

PrimetonBPSTM的参考体系架构在WfMC描述的体系架构基础上进行了加强和改进,如图1-2所示。

图1-1流程参考模型(WfMCExtended)

在开发期,开发人员主要通过集成与BPSStudio的流程定义工具来定义流程。

由于流程定义工具需要依赖组织模型和外部相关应用,所以在流程开发以前需要首先实现组织模型接口,构造被调用的应用(Java方法、EOS服务等)。

如果开发者暂时不确定组织模型,也可以先使用产品内置的简单组织模型。

在运行期,流程引擎是所有依赖的中心。

BPS流程引擎包含流程调度引擎和任务表管理器两大部分。

引擎在运行过程中通过从组织模型获取到适当的参与者来调度人为参与的人工活动;通过调用外部应用来实现运转的自动活动;通过访问工作流相关数据进行必要的路由判断;通过工作流控制数据来记录流程运行的轨迹;通过访问日历接口来进行恰当的时限设置。

流程调度引擎和任务表管理器之间通过任务表作为联系纽带,通过任务表的状态变迁来进行相互的驱动。

1.1.3BPS数据模型

基于BPS开发的应用包含以下数据:

业务流程定义数据、工作流控制数据、工作流相关数据、任务表数据、组织模型数据、工作流日历数据和工作流应用数据。

部分数据的概念如图1-3所示。

图1-1流程数据模型

业务流程定义数据

业务流程定义数据定义了流程的拓扑结构、流程所包含的活动、流程的相关数据定义以及流程使用的资源等流程规格特性。

EOS把业务流程定义数据存储在文件系统(开发时)或关系数据库(运行时)中。

工作流控制数据

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

BPS把流程的控制数据存储在关系数据库中。

工作流相关数据

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

在BPS中,相关数据以结构化的形式存储在关系数据库中。

任务表数据

任务表是流程引擎和参与者(机构、角色、人员等)交互的一个媒介。

人员通过任务表来获取自己的任务并执行。

在BPS中,任务表数据存储在关系数据库中。

组织模型数据

组织模型是工作流系统依赖的一个重要的资源模型,是人工活动执行所需要的必备条件。

考虑到组织模型在不同的企业和单位差异性非常大,BPS提供了接口来限定组织模型,并不提供具体的组织模型数据。

通过实现组织模型接口,用户可以使用多种存储形式的遗留系统数据。

工作流日历数据

工作日历是人工任务的时间相关的一个重要概念。

考虑到不同企业和单位的差异性也比较大,BPS也提供了接口来限定工作日历,并不保存具体的数据。

工作流应用数据

工作流应用数据是所有应用数据中和工作流相关的那一部分数据,一般用来保存流程实例在业务方面的属性。

工作流应用数据一般不在工作流引擎的管理范围之内,但是在BPS中,用户可以在任务表和应用数据之间建立关联,从而达到引擎和业务的更好的交互。

1.1.4BPS应用集成方式

BPS支持三种典型的流程平台(流程引擎)与应用的集成方式:

1.独立流程服务器应用集成

2.嵌入式应用集成

3.EOS应用集成

独立流程服务器应用集成指BPS产品模块与用户业务应用部署在相互独立的应用服务器下,通过远程调用来访问BPS引擎和BPS资源,如图1-4所示。

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

嵌入式应用集成指BPS产品模块与用户业务应用耦合在一起,以用户应用为载体部署在应用服务器上,如图1-5所示。

开发方式采用BPSStudio和eclipse插件集成开发。

图1-2嵌入式应用集成

EOS应用集成指BPS产品作为EOS应用可选组件部署在EOS应用中,如图1-6所示。

开发方式采用EOS环境中集成的BPS开发环境,用户可以很方便的编辑流程,以及利用EOS一体化开发平台。

图1-3EOS应用集成

BPS产品安装

1.1.5

ForJava开发环境搭建

 

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

BPSStudio既可以与基于Eclipse的Java集成开发环境融合,又能与PrimetonEOSTM的集成开发环境无缝集成,本教程介绍第一种集成方式。

教程中案例的软件环境如表1-1所示。

表1-1软件环境

软件清单

备注

MicrosoftWindowsXPProfessional中文版

操作系统

Oracle9iRelease9.2.0.1.0-Production

数据库

PrimetonBPS6开发版(DevelopmentEdition)

BPS开发运行环境

MyEclipse_5.5.1GA_E3.2.2_Installer.exe

MyEcliipse插件版

Struts1.1

开源框架

Hibernate3.1

开源框架

以下介绍详细的PrimetonBPSForJava开发环境搭建步骤。

BPS开发版安装

1.启动安装程序

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

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

2.阅读安装简介,如图1-7所示,单击【下一步】按钮。

图1-2简介

3.阅读开发版的许可声明后,选择“本人接受许可协议条款”单选按钮,如图1-8所示,单击【下一步】按钮。

图1-3许可协议

4.单击【浏览】按钮,从弹出的对话框中选择安装目录,如图1-9所示。

设置完毕,单击【下一步】按钮。

图1-4

选择安装路径

 

5.设置管理员信息,根据实际情况输入用户名称和机构名称,安装程序默认用户名称为当前登录操作系统的用户名,如图1-10所示,单击【下一步】按钮。

图1-5设置管理员信息

6.选择IP,在下拉列表框中选择本机IP,如图1-11所示,单击【下一步】按钮。

图1-6选择IP

7.选择应用服务器,在下拉列表框中选择应用服务器,BPS开发版缺省提供Tomcat-5.5.20服务器,如图1-12所示,单击【下一步】按钮。

图1-7选择应用服务器

8.创建应用,应用名默认为“default”,如图1-13所示,单击【下一步】按钮。

图1-8创建应用

9.选择安装组件,如图1-14所示,单击【下一步】按钮。

图1-9选择安装组件

10.配置数据库。

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

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

配置Oracle9类型数据库的界面,如图1-15所示。

图1-10配置Oracle9类型数据库

(3)

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

 

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

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

11.阅读预安装摘要,如图1-16所示,单击【安装】按钮。

图1-11预安装摘要

12.开始安装,安装过程中显示各组件的安装进程,如图1-17所示。

图1-12正在安装

13.程序提示开发版已经成功安装,如图1-18所示。

选择“现在查看readme.txt文件。

”复选框,可以查看readme文件内容。

图1-13安装完成

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

15.验证安装

(1)创建如下快捷菜单,如图1-19所示。

图1-14

快捷菜单

 

(2)检查安装日志。

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

(3)

通过“开始程序PrimetonBPS6.0启动BPSServer”启动BPSServer,查看控制台是否有异常。

 

MyEclipse安装

16.下载安装程序

获取MyEclipse_5.5.1GA_E3.2.2_Installer.exe。

17.启动安装程序采用默认方式完成安装

注意安装过程中ChooseEclipseFolder选择刚刚安装的BPS中的eclipse目录,本示例中为C:

\primetonBPS\ide\eclipse,如图1-20所示。

图1-15ChooseEclispeFolder

18.验证安装。

通过“开始程序PrimetonBPS6BPSStudio6”启动BPSStudio,BPSStudio中已成功集成Myeclipse插件,如图1-21所示。

图1-16MyEclispe插件

环境配置

19.配置服务器。

启动BPSStudio,在菜单“窗口首选项MyEclipseApplicationServersTomcatTomcat5.x”,选择BPS开发版本自带的tomcat-5.5.20,如图1-22所示。

图1-17配置服务器

到这里开发环境配置已经完成,接下来您可以继续第2章的案例开发。

第2章开发示例

 

关键知识点

本章通过简单的报销流程,了解Java开发模式下的BPS流程开发过程和关键的开发要点。

通过对案例的分析,帮助您更深刻地理解Java应用与BPS的结合原理。

 

案例描述

报销是一个常见的工作,我们假设某公司的报销流程是这样一个场景:

企业员工填写报销单后,交给部门主管审批。

如果部门主管审批不通过,员工就不能报销;如果审批通过,就交给财务审核。

财务审核确认后,报销信息就会被入账。

根据场景描述,分析结果如下:

需求分析:

1.报销流程包含的活动:

填写报销单,部门主管审批,财务审核,报销信息入账

2.报销要做的工作:

填写报销单,保存报销单,部门主管审批,保存部门主管的审批意见,财务审核,保存审核信息,报销信息入账

3.报销流程涉及的人员:

员工,部门主管,财务

4.影响报销的因素:

部门主管审批结果

需求设计:

根据需求分析可以得到如图2-1所示的流程图。

图2-1流程设计图

案例开发

2.1.2组织机构

报销流程在运行过程中,要由员工完成填写报销单,由部门主管完成审批,由财务完成审核。

那么这些人员可以是具体的某个人,也可以是某个部门下的一个人,也可以是某个岗位或者拥有某个角色的一个人。

那么如何让流程能够识别人员或者人员所在的组织机构呢?

BPS自带了一个组织机构,可以方便用户快速设置流程中各个活动的参与者。

本案例就使用该缺省的组织机构。

其组织机构模型如图2-2所示。

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

 

2.1.3数据准备

1.创建业务表

根据流程的需求描述,创建报销单信息表ExpenseInfo和入账信息表AccountInfo。

其中ExpenseInfo存放员工填写的报销单信息、主管审批信息、财务审核人;AccountInfo存放报销人和报销金额。

具体的建表脚本如下:

--Createtable

droptableEXPENSEINFO;

createtableEXPENSEINFO

EXPIDNUMERIC(18)notnull,

PROCESSINSTIDNUMERIC(18)notnull,

EXPNAMEVARCHAR(20)notnull,

EXPMONEYNUMBERnotnull,

REASONVARCHAR(255),

DIRECTORVARCHAR(20),

ISAGREECHAR

(1),

ADVICEVARCHAR(255),

AUDITORVARCHAR(20)

);

altertableEXPENSEINFOaddconstraintP_EXPprimarykey(EXPID);

--Addcommentstothecolumns

commentoncolumnEXPENSEINFO.EXPID

is'报销单编号';

commentoncolumnEXPENSEINFO.PROCESSINSTID

is'流程实例ID';

commentoncolumnEXPENSEINFO.EXPNAME

is'报销人';

commentoncolumnEXPENSEINFO.EXPMONEY

is'报销金额';

commentoncolumnEXPENSEINFO.REASON

is'报销原因';

commentoncolumnEXPENSEINFO.DIRECTOR

is'主管审批人';

commentoncolumnEXPENSEINFO.ISAGREE

is'主管审批结果';

commentoncolumnEXPENSEINFO.ADVICE

is'主管审批意见';

commentoncolumnEXPENSEINFO.AUDITOR

is'财务审核人';

--Createtable

droptableACCOUNTINFO;

createtableACCOUNTINFO

ACCOUNTIDNUMBERnotnull,

EXPNAMEVARCHAR2(20)notnull,

EXPMONEYNUMBERnotnull

);

--Create/Recreateprimary,uniqueandforeignkeyconstraints

altertableACCOUNTINFOaddconstraintP_ACCOUNTprimarykey(ACCOUNTID);

--Addcommentstothecolumns

commentoncolumnACCOUNTINFO.ACCOUNTID

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1