陶 平
(重庆第二中级人民法院数据处理中心,重庆 404020)
为适应高速发展的信息社会,人们对信息交流方式提出了即时动态、使用方便、功能强大与协同工作的平台要求,以适应新形势下对办公自动化的使用要求。协同信息集成可采用B/S结构,基于Internet/Intranet应用,借助流程扩张与重组杜绝信息孤岛,实现远程与移动办公自动化[1-8]。采用跨平台JAVA技术、大型关系型数据库、XML动态工作流及基于XML的JAVA消息服务等技术[9-13],对体系结构进行改造,改两层体系结构为三层体系结构,在平台客户端无须配置任何设备。
计算机支持的动态即时协同办公平台的功能设计如图1所示。
图1 动态协同办公平台的功能设计
为克服传统MIS和OA中流程固定的缺陷,办公平台引入了动态工作流(dynamic workflow)概念。在基于工作流的系统中,用户可以自己定义工作流程,按照其定义的工作流程,工作流引擎可自动地执行相关指令。由于工作流程是用户定义的,因此有利于更合理灵活地调整各个办公环节,合理选择最佳环节流程设置,以最大限度地降低维护使用管理费用和大幅度提高工作效率。为提高系统品质,使办公平台具有更好的可扩展性与可移植性,系统设计采用B/S架构,并借助XML技术,从而方便地实现工作流引擎,以便更好地应用于Web中。
1)信息载体。由于动态工作流是一个信息的载体,相应信息记录在XML格式的文件中,其表现形式就是一组电子文档,读取XML信息就可获得文档信息。显然,这里所指的电子文档实质上就是一组面向文档与面向过程的信息集合,如果对其附加一系列的具体执行步骤,那么当系统运行时就可以在执行过程中动态地流转。
2)工作流程表示。实际上动态工作流是一个信息流转过程,问题在于如何控制动态工作流过程中信息的流转。因此有必要首先将其过程进行抽象处理,一般方法是将其抽象为一张有向图,该图由节点和箭头组成。为了避免出现不可达到的节点和环,利用XML优势,其有向图可以用生成树的方式表示,因此在运行过程杜绝了死锁现象的出现。借助XML的链接特性,在文档流转过程中实现了多方协作完成的功能,如对文档进行补充、审阅、修改等。
3)文档、实例与定义的关系。在信息流转过程中,信息与流程之间必须建立某种联系。文档应该独立于过程定义和过程实例,为此在过程实例中应当特别强调的是:必须指定一个属性,通过该属性足以表明究竟是哪一个文档在流转。
4)动态性。在信息结构方面,过程模板与过程实例是决然不同的,在采用XML作为信息格式后,为保持文档类型定义(DTD)一致,过程模板的DTD可采用简化方式表示,即过程实例的DTD采用层次结构。具体做法是:在定义DTD一级过程信息时同时定义了子过程,并且在XML中对子过程的链接位置作了定义。因此在系统运行过程中,借助主过程可以读取各个子过程链接,在子过程链接知晓后,按照子过程链接位置就可找到子过程。
在基于动态流转的工作流系统中,工作流引擎不仅为不同的数据源提供了相应的接口,而且也为不同的客户端表现形式提供了相应的接口,图2描述了传统的B/S/DB三层模型的层次结构。每个工作流引擎既为不同的数据源也为不同的客户端表现形式提供了相应的接口。但是随着数据源数目、工作流引擎与客户端表现形式的不断增加,与其相对应的接口数目必然随之呈平方数量级的增长,因此图2的B/S/DB三层模型在扩展性方面受到了极大的限制。为此可在客户端与应用层及应用层与数据源之间分别增加一个数据表现层和数据转换层,其模型结构如图3所示。
图2 传统3层模型
图3 5层模型结构
由图3可见,从应用角度看,只要在使用前事先定义好接口,数据来源是完全透明的,没有必要考虑数据的来源,无论数据是来自数据库或者来自XML文件以及其他引擎等对系统运行没有任何影响。对客户端而言,可以针对客户端数据表现层的不同要求提供相应的不同接口。随着数据源数目、工作流引擎、客户端表现形式的增加,其接口数目也线性地增加,以实现不同的表现形式,因此有良好的应用扩展性。
在传统3层模型基础上增加2个层次的作用在于分别为各自提供一个统一的接口。实质上,无论数据转换层还是数据表现层它们都表现为中间件的作用。例如,在数据源与应用层之间增加了一个数据转换层之后,由于其接口定义并没有任何变化,只是扩充了应用层到数据源的接口,因此其应用几乎不需要做任何改动。
1)数据源转换层。图4清楚地描述了数据源转换层实现的的工作原理。该层的作用在于为数据提供统一的表达形式,并且将数据描述和数据存储严格地分离。按照接口定义,尽管工作流引擎可以不同,但是接口定义是一样的,因此只要按照接口定义就可获取数据。数据源转换层实现的功能包括:定义分类处理与归纳功能、基本数据分析、数据检索;数据驱动的事务管理,规则支持功能;数据挖掘功能;使之保持数据的一致性;版本控制功能;基于角色的访问控制功能等。
图4 数据源转换层实现
2)数据表现层实现的功能。数据表现层的工作原理图如图5所示。该层作用是提供统一的接口定义,便于提取相应的数据;提供主动的信息处理,将客户端数据提供给工作流引擎;可以指定表现形式,将数据表现和数据描述分开,提供多应用视窗。因此满足了终端用户以原有的格式及时看到自己所关心数据的要求。
图5 数据表示层实现
基于协同工作的动态办公信息平台原型实现技术主要采用XML和JAVA技术。由于实现的系统涉及到异构信息系统的集成,跨平台性的JAVA语言为系统实现提供了开发支持。XML具有自解释性,因为XML中语义层的数据标识是可扩展的,不同应用领域可根据专业领域的需要定义与之相应的规范。由于XML提供模式定义,在XML的结构中,具体的语义可以由用户在模式中自主定义,因此相关的所有内容都包含在基于XML的平台信息交换标准中。XML和JAVA的结合为系统实现提供了强大的技术支撑。
1)功能结构。从功能角度出发的体系结构如图6所示。体系结构基于JAVA协同消息服务驱动(SCMS)中间件,由消息服务和安全与路由管理等模块组成。消息通道借助系统提供的网络通信机制,负责探测网络通道故障并进行恢复处理,将消息投递给其他消息队列。加、解密等操作由安全管理模块负责。值得注意的是,消息队列名是确定系统消息队列的唯一标识,其物理地址由消息队列借助消息队列名定位。消息服务提供对消息主题(Topic)和消息队列(Queue)的管理,负责队列的删除与创建、优先级的调整和行为的控制,是中间件的核心部件。
图6 SCMS消息中间件体系结构
2)消息服务。JMS是消息中间件服务(java message service)规范,在SCMS中包含了高效、可靠的消息服务,JMS API是其消息服务接口必须遵循的规范,提供了应用程序间同步或异步的管理服务和消息传递服务。
3)消息路由与存储。SCMS应用服务器用于提供消息服务。如果将应用服务器看成为一个节点,那么多个应用服务器可以构成一个由多个节点组成的虚拟JMS网络,而每个应用服务器也就是一个网络节点。各个节点之间的连接状况可以借助声明消息路由提供。连接到虚拟JMS网络中的任一节点均可向其他节点发送消息。应用服务器借助消息存储机制可对消息路由和存储目录进行配置。
4)消息采用XML数据格式。SCMS以XML作为消息形式,XML良好的可扩展性、灵活性与自描述性特别适合于Web的数据交换和发布。SCMS中的XML解析器提供了DOM接口和SAX接口。由于XML已经将数据组织为一棵树,在服务器端可采用DOM对XML文档进行解析,因此DOM就是对该树的一个对象描述,通过存取其对象就可存取XML文档的内容。而在客户端则采用SAX对XML文档进行解析,因SAX是事件驱动的,所以文档的读入过程也就是SAX的解析过程。
5)名字服务。由于任一实体标识由名字唯一确定,SCMS支持JNDI,因此部署者可使应用获得分布式服务。
6)日志管理。在消息传送过程中,SCMS对出错信息、消息数据和运行步骤等作了记录,借助其管理工具可浏览日志。
针对目前办公信息平台存在的缺乏重用性与灵活性、可扩展性差和信息孤岛现象严重等问题,对基于协同工作的动态办公信息平台进行了探讨。基于XML与JAVA技术,设计了平台的体系结构、消息路由与存储系统,研究了消息的数据格式等。基于上述技术实现的平台原型试运行效果良好,尽管平台还有待进一步完善,但是实际应用情况表明其设计是合理与可行的。
[1]尹秋菊,甘切初.基于WEB的混合模式信息系统研究与应用计算机系统应用[J].计算机工程与应用,2002(3):13-1.
[2]李贺,王丽颖,孙淑琴.网络办公自动化系统的设计与开发[J].情报科学,2002(6):640-642.
[3]Workflow ManagementCoalition Workflow Standard[S].Workflow ProcessDefinition Interface—XML Process Definition Language,2002.
[4]Workflow Management Coalition Workflow Standard[S].Workflow Process Definition Interface—XML Process Definition Language,2001.
[5]齐昀.基于信息系统体系作战的指挥信息流程优化能力建设[J].四川兵工学报,2012(3):107-108.
[6]李南.光学字符识别技术与图书馆信息资源的数字化[J].激光杂志,2012(5):3.
[7]张惠民,杨晓龙,崔伟宁.军事信息系统综合集成方法[J].四川兵工学报,2012(11):103-106.
[8]谢国民,杨義葵,付华.基于ARM和信息融合技术的矿井环境监测系统[J].压电与声光,2011(4):661-664.
[9]周航滨,夏安邦,张长昊.基于Web服务的跨企业信息集成框架计算机集成制造系统—CIMS[J].计算机学报,2003(1):1-5.
[10]陈荣鑫.基于函数式中间语言的XML查询并行化[J].重庆理工大学学报:自然科学版,2011(7):81-86.
[11]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.
[12]巫茜,张栋,包坤.基于角色的工作流平台访问控制安全模型[J].重庆理工大学学报:自然科学版,2011(3):78-82.
[13]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000(7):899-907.