同剑飞
(西安外事学院现代教育技术中心,西安,710077)
基于J2EE的工作流引擎的探索与实现
同剑飞
(西安外事学院现代教育技术中心,西安,710077)
随着我国信息化的不断发展,生产企业的自动化程度不断提高。以发达电子通信产业和IT网络技术为支持平台的工作流引擎技术随之诞生,它不仅能够提高系统的工作效率,并且,能够实现企业中并行任务执行过程的线性化。基于此,本文研究了基于J2EE技术的工作流引擎的实现,以期为企业的自动化程度的提高提供技术上的参考。
J2EE;工作流引擎;企业
信息技术和电子商务的快速发展以及对它们的需求给应用程序开发人员带来了新的压力。近几年,计算机技术发展有了新的突破,越来越多的企业对信息化建设更加重视。企业若想在激烈的市场竞争中生存下来,无法拒绝信息技术带来得诸多优势。而完成系统管理的自动化,将大大提高工作效率,有效进行信息分类,更好地向管理者及客户展现所需信息。J2EE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序,实现了用更少的资金、更少的资源来更快地设计、开发企业应用程序。
1.1 J2EE技术的概念
J2EE( Java 2 Platform Enterprise Edition)是一套与传统应用开发全然不同的技术架构,主要是利用Java技术将多层次企业级应用平台构建出来,这是由SUN公司提出的的一系列规范和标准。这种技术的提出大大提高了企业管理的自动化。
1.2 J2EE体系结构
J2EE平台能提供多层分布式应用模型,这就意味着应用逻辑将根据功能为不同的部分。由于J2EE各组件具有不同的功能,从而会分布于不同的层中,各层中的组件独立完成对应的功能,类似于企业中不同人员担任着不同的职责,各部门分工合作,各尽其责。J2EE系统也在分层系统中实现了职责的分离,简化了原本复杂的管理系统,将之前相对混乱的模式做出了相应地改变,这更有助于团队对其进一步的开发、拓展。
一般地,J2EE的体系结构是按层划分的,而且广泛地采用四层分布式。以下就是各层的具体功能阐释。
1)客户层(Client Tier)。直接与客户打交道,实现二者之间的交互,对客户的输入数据进行接收,并将系统的业务数据直接显示给客户,验证数据格式是否具备合法性,最终使客户层在客户机器上长期驻留。
2)Web表示层(Web Presentation Tier)。Web组件JSP(Java Server Pages)和Servlet(服务器端的Java应用程序)在Web的表示层上运行,而Web则在服务器上运行,也就是说Web层即容器。此外,此外,业务层的业务数据用Web组件对其进行读取,并将它所显示业务数据需求发送给客户。
3)业务层(Business Tiser)。运行EJB组件,如会话EJB组件、消息驱动EJB组件及JPA组件,不仅要对实际应用的业务逻辑进行模型化,而且要完成数据库的业务处理和持久化,这些才是企业级应用的核心所在。
4)信息数据库层(Information Data Tier)。一般指的是系统数据库,该数据库会对J2EE应用系统中的所有数据进行保存。
采用4层分层体系结构,简洁了冗长繁琐的计算机体系,使得系统分工明确,特点鲜明,在看似独立的系统上完成程序的统一,以便于整体团队的开发合作,提高企业效率。
2.1 相关概念
1993年国际管理工作流管理联盟(WFMC)对工作流相关定义做了设定。工作流本质上是一系列企业的经营过程,对于这个过程的执行,它可以部分或是完全的自动执行,而且可以在不同的执行者之间依据既定的一系列过程程序,进行信息、文档以及任务之间的传递及执行。
2.2 活动管理过程
工作流活动的管理过程主要分为过程建模、运行控制以及人机交互三部分,这三部分之间关系密切,每一部分都需要慎重对待。相关内容如下:
(1)过程建模。指的是在工作流组成活动或是过程执行前,将其定义与建模工作完成。
(2)运行控制。指的是在操作过程中,如何对工作流过程的执行活动实施调度。需要做到合理科学并有效对其进行管理。
(3)人机交互。指的是主要负责人机对话和实时交互。
3.1 工作流引擎概念和工作步骤
3.1.1 概念
工作流引擎(Workflow Engine ),指作为为应用系统提供具体解决方案的应用系统中的一部分,工作流能根据各自不同的任务和角色分工、条件的差异程度,信息传递的路由和内容的流程,将会被自动进行判断。
工作流引擎在本质上是一套软件系统,可以对工作流的执行进行创建、定义或是管理,对过程的定义进行解释,实现与工作流参与者之间的交互对话,对各种外部的IT工具和应用软件进行必要的调用。
3.1.2 工作步骤
具体运行的工作流引擎其活动具体分为三步:第一阶段是初始建模。初始建模就是对实际操作过程中的业务操作流程利用工作流的特定建模工具,将工作流转换为计算机可以进行模拟处理的模型。第二阶段是模型的实例化阶段。对具体业务流程进行实例化,为办理流转时的具体业务流程提供相关的控制数据和资源。第三阶段工作流的执行阶段。完成业务流程的具体执行,完成人机交互。
3.1.3 Fire Workflow工作流引擎的优势
(1)采用了Fire workflow工作流引擎的系统,可以根据算法机动掌握流程的控制、流转。
(2)为了使企业用一个完整的企业级应用系统取代各种实际应用系统,采用Fire workflow工作流引擎的系统,
(3)具备了Fire workflow功能,更加简洁、灵活的管理软件的数据库结构定义功能。
(4)为了使企业开发与现有应用系统的接口,选择集成Fire workflow工作流引擎的系统。
在本质上,基于J2EE的工作流引擎是一个基于Web的工作流管理系统——Web WFMS,采用标准接口,以工作流参考模型为基准,系统与工作流应用程序之间的数据可达成共享,还能建立协同机制-----数据交互和处理。在Windows Server下系统的服务器软件环境得以运行,关系数据库SQL Server用来实现Web Server,数据库中对工作流系统的数据进行保存,浏览器方式帮助系统客户端实现,系统与服务器之间的交互采用标准化的HTTP协议。系统的总体架构,如图4-1所示:
图4-1 系统的实现架构
作为企业的一项长期必备的工作,一个高效的工作流引擎的正确使用,将使得企业的信息化建设更上一个新台阶,帮助企业实现自身的价值目标。
[1] [美]Craig A.Berry(著)邱仲潘(译).实用J2EE设计模式编程指南.电子工业出版社2004
[2] 童春杰,等.基于J2EE的分布式体系及应用.计算机应用研究,2002,10:31-34
[3] 夏冬.白树仁.邓惠建.基于J2EE的工作流管理系统模型[J],计算机工程与科学,2006,28(3):123-133
Research and implementation of workflow engine based on J2EE
Tong Jianfei
(The modern education technology center of Xi'an External affairs Institute,Xi'an,710077)
With the continuous development of China's informationization,automation production enterprises continuously improve the chengdu.Based on the developed electronic communications industry and the IT network technology for the workflow engine technology support platform was born,it not only can improve the efficiency of the system,and,to the parallel task execution process of linear realization enterprise.Based on this,this paper studies the realization of workflow engine based on J2EE technology,in order to improve the degree of automation of enterprises to provide technical reference.
J2EE;Workflow Engine;company