|
1.简介
博星卓越工作流(BrowseFlow)软件开发平台是陕西博星卓越公司在自主版权的基础上开发的一个工作流平台。该软件平台基于WFMC的基本规范,完全采用面向对象的技术,系统采用B/S结构,遵循J2EE的技术规范。
用户在BrowseFlow平台上,可以非常方便的定制出符合各种业务实际情况的应用系统,不需要用户进行程序代码的编写。通过系统中的流程定义工具和页面表现工具就可以可视化的定义出用户的应用系统,然后通过系统的授权,用户就可以通过浏览器使用他定义的应用系统。
2.工作流
2.1工作流概念
工作流是一类能够完全或部分由计算机自动执行的业务过程,在此过程中,文档、信息或任务按照预定的规则传递,企业人员、已有软件互相之间协调工作,以实现企业业务的整体目标。博星卓越工作流平台就是一个完成工作流定义、管理和执行的软件并且提供二次开发接口的软件平台。
2.2工作流的基本规范(WFMC)
工作流管理联盟(Workflow
Management Coalition, WfMC)是由多家公司联合成立的国际标准组织,其目的是通过制定工作流技术及其标准,提高不同工作流产品之间的连通性和协同工作能力。工作流管理联盟定义的工作流系统标准中包括一个参考模型及其5个接口的规范,这些规范确定了开发工作流产品所必须遵循的行业标准,只有遵循这些规范开发的产品才可称为真正的工作流产品。
博星卓越工作流平台在产品中遵循了全部标准,并且对其传递变量部分进行了扩充,改变为传递对象。成为面向对象的工作流,而不是面向变量的工作流。
2.3使用面向对象理论对WFMC标准的扩充
传统的工作流系统的每个活动的数据是通过变量进行传递的,例如,应用程序数据在活动间进行传递,活动间数据格式转换,都是有全程变量提供的。这样,使用同种工作流应用程序时,每个活动需要的数据都需要采用很多变量实现的。
BrowseFlow工作流系统对每个活动的数据是通过传递对象实例实现的,即传递对象达到某个活动时,其数据表现是由该对象实例和活动实例共同提供的。
3.系统结构

3.1BrowseCOM组件平台
对于传统的web应用开发,大部分软件开发商使用jsp技术,该技术对于小型的网络应用软件的开发是比较合适的,但是对于大型的应用系统来说,他没有提供复用、继承等面向对象的技术特性支持,而采用脚本编写的方式,这样实现一个比较大系统时,其枯燥而重复的工作量特别大,当系统出现错误时调试程序很费时间,不利于系统的维护和修改,而且程序员修改程序,还必须和美工同时工作。
组件平台的提出首先顺应人类的自然思维模式――面向对象的思维模式,IE界面仅仅是人机交互的一个接口,页面由表现部分和数据部分组成,表现(Component)部分是从模板中读取出来,数据(Model)是由内存中的程序产生,对于树、表格、数据录入单等,都是美工做好模板,程序加载时给模板填充数据,从而构成了不同的IE应用界面。
组件的功能不仅负责IE的界面表现格式,如树、表格、表单等等;还负责解析IE的请求,将相应的信息通知给业务逻辑的Model。
3.2Model业务逻辑
Model主要给组件提供数据和响应用户的请求,并且根据请求进行逻辑处理。
根据需求开发不同的系统,如办公自动化系统、物流系统、工业闭环控制系统等。
3.3BrowseFlow工作流平台
负责定义流程,定义活动实例的特性,运行和调度各种业务的流程。
3.4BrowseJDO对象存贮
采用JDO技术对于各种业务类的实体进行存储。与具体的数据库(DB2,ORACLE,SQLSERVER)选型无关。
3.5BrowseDS统一认证
基于目录服务的统一认证有一个控制台进行操作,也可以基于过JNDI提供给任何系统进行认证。
3.5WEB服务器
提供WEB服务,如websphere、weblogic、tomcat等。
3.6操作系统
可以运行于linux.、Unix和windows系统。
4.1会议计划单的定制:
这里可以由企业根据实际情况,利用Frontpage、Dreamweaver等软件,进行涉及。如下图:

4.2会议计划流程图的设计
4.2.1
流程图的设计
如右图,该会议计划流程图,可以利用本系统的“流程创建”功能模块,利用可视化的操作界面,只须拖动和点击鼠标,就可以很方便的设置出来。
4.2.2
传递对象的选取:
在界面空白处双击,即可弹出如下窗口,可对传递表单进行选取。选择好后,点击确认。

4.2.3
人员选择:
系统可以设定流程中,所涉及到的人员角色。双击选定的人员,然后对人员进行选择设定。如图所示,选定后,点击“确认”。
4.2.4
活动设定
每一个人员可能有多个活动,在对应人员下方点击,可以增加活动。在每个活动上点击,可以设定该活动的内容。即业务活动的内容,即对“会议申请”表单的操作内容。

活动的内容,对应会议计划表单上各栏目的内容,有的是申请人填写的,有的是审批人填写的。
4.3功能模块的添加:
这里由“系统管理”模块中的“功能管理”中添加,需要添加功能“会议申请”,然后“挂接流程”,“角色设定”,即可完成。如下图所示

拥有使用此功能模块的用户登录后,就可以使用此模块按照公司的办公业务流程进行办公了。
同样的,企业可以根据办公的实际情况进行各种功能模块的定制。如上图中的“财务报销”、“项目管理”、“人员申报”等都是可以由企事业单位自行设定的。
5.功能介绍
流程定义功能模块是一个可视化的流程定义工具,用来建立企业运行中的各种流程。如下图所示:
5.1.1
流程图
流程图用来表示企业运行过程中的具体操作流程,例如公文审批流
程、费用报销流程、报名考试流程等。
流程主要由传送对象、执行者、执行者的活动以及活动之间的转移组成。
5.1.2
传送对象
传送对象指流程处理过程中被处理的客体内容,如报销单、文件、资
金等。由于传送对象的类型非常多,系统提供了传送对象的实现接口,用户可根据该接口实现自己的传送对象。
为了方便使用,系统提供了一种最常用的传送对象,叫表单传送对象。表单传送对象在定义时,只需制作html页面模版,如发文模版、通知模版等。该模版可由美工根据模版定义规范进行灵活定制。下图显示的是表单传送对象的定义方式。
5.1.3
执行者
指流程处理过程中的参与者,在流程图中用一个小人来表示。
执行者在流程定义时是一个抽象的群组概念,在流程运行被具体指定为实际的个体。每个执行者有对应的执行者选择器,用来表明在运行时如何选择执行者。
让我们来看看执行者的实际例子,如上图所示:审核人是一个执行者。在定义时,指定审核人的选择器为各部门领导,那么当流程进行到审核环节时,将弹出一个人员选择框,可供选择的人员只有各部门领导。选择后,被选中的人将产生一个该流程的审核待办事宜。
5.1.4
活动
指流程处理中的各环节,在流程图中用带竖线的方框表示。活动隶属于执行者,例如:起草人可以有起草公文、修改公文两个活动。
活动在定义时,根据传送对象的不同,有相应的附件定义,用来表示当流程进行到该环节时,执行者将对传递对象进行什么操作。
下图表示的是表单传送对象针对活动的附件定义,指明了在该环节,表单的那些部分可以显示,那些部分修改。流程进行到该环节时,将根据表单的html模版内容以及在该环节定义的操作内容产生具体的html页面,展现给用户。
表示活动之间的转移关系,在流程图中用活动之间的连线表示。传送对象按照转移定义在活动之间进行流转。转移共分为4类:一般转移、结束转移、回退转移、自转移。
一般转移指传送对象普通的流转。结束转移指传送对象流动到这个活动就接收了,不再进行流转。回退转移指把传送对象直接回退给前面办理的活动,重新办理。自转移指把传送对象传送给自己。
当系统运行时,不需要重新启动应用服务器。在流程改动时,只需要保存文件,流程就会自动被加载。用户刷新IE浏览器时,页面就会根据流程定义的内容自动更新。
例如,修改某个活动的表单传送对象的定义,使传送对象的某个输入框为只读框,那么用户刷新IE页面后,刚才可以录入文字的输入框就不能录入文字了。
提供流程运行时的支持。根据流程流程定义子系统建立的流程模型,产生和运行流程实例。
运行服务子系统对外主要提供三个接口,开始流程、执行活动以及显示待办事宜。
开始流程表示启动一个流程,启动时要指明流程名称,运行服务子系统将根据流程名称自动启动一个流程,产生该流程的起始活动,将起始活动的页面展现给用户。
执行活动指用户根据待办事宜列表,选中某项待办事宜进行处理。
显示待办事宜将把需要该用户处理的所有待办事宜显示给用户。

提供了Java的调用访问接口,可以访问工作流运行服务子系统中的各种运行状态,例如:当前还没有处理的活动,正在运行的流程等。
提供客户端定义子系统的目的是方便用户扩充,提高系统的可扩展性。
系统本身根据客户端定义子系统提供了一套客户端运行子系统,用于最终客户的使用,用户可以根据自己的需要,对该客户端运行子系统进行修改和扩充。
系统管理子系统用来定义系统运行过程中的各种参数,例如:用户管理、角色管理、功能管理、授权管理等。
用户管理指对组织机构的树状维护(没有分级限制),人员的维护,角色的指定。
角色管理也可以理解为岗位,对于功能的授权与人无关,只是把权限赋予一定的角色。

功能管理指用户登录后,IE浏览器针对每个人显示的菜单功能不同相同。

6.定制开发举例
利用BrowseFlow开发平台,用户可以非常方便的定制出符合各种业务实际情况的应用系统,不需要用户进行程序代码的编写。通过系统中的流程定义工具和页面表现工具就可以可视化的定义出用户的应用系统。
下面以实例说明,定制出一个OA办公自动化系统中的一个功能模块的实际定制过程。
某部门利用本系统定制出“会议功能模块”,并在办公业务中应用的详细过程。
7.系统特点
7.1独创的面向对象的工作流
将抽象的复杂的工作流概念,使用面向对象的理论进行理解,并且按照面向对象的思想将传递的内容看作是一个流动的内存对象。
7.2二次开发无需编码
当用户使用可视化的流程定义工具对自己的业务定制完成后,通过系统管理员的授权,就可以让企业正式使用。如果对浏览器界面需要定制,则仅需要美工美化就可以了,数据会根据页面自动生成。
7.2先进的开发技术
采用MVC方式的三层结构设计,保证系统灵活高效。使用对象存储,目录服务,组件,等技术。
7.3扩展性
结合工作流引擎,采用自定义表单、流程的方式可以很容易开发新的业务流转模块。依托系统提供的基础软件和基础模块,企业可在此平台开发其他应用系统,如项目管理、客户关系管理系统,进销存,人力资源系统等,极大的避免了因为业务改变而修改程序代码的传统企业,实现企业信息门户。
7.4兼容性
对硬件要求低,对软件依赖少,可运行于Windows,
Linux等多种系统环境下,通过BrowseJDO可以任意对接Oracle,
MySql,SqlServer等多种数据库。
7.5易用性
完全B/S结构,用户用浏览器访问系统,无需安装客户端,方便远程访问;界面简洁友好,使用简单,便于培训,易于实施。任务推到桌面,引导用户完成操作。 |