工作流环境下组件的开发_第1页
工作流环境下组件的开发_第2页
工作流环境下组件的开发_第3页
工作流环境下组件的开发_第4页
工作流环境下组件的开发_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工作流环境下组件的开发雷聚超 范梦龙(西安工业大学计算机学院 西安 710021)摘 要:本文旨在对工作流环境下组件的开发进行研究。将工作流技术与组件技术相结合,讨论构建工作流组件的方法,通过在开发中结合Ajax技术,使之克服传统的Web应用中同步交换问题,开发出能够适用于Web的工作流环境下的组件。充分运用了工作流中流程组件的重组性,可以根据不同行业的需求很快重组成适合该行业的与工作流相关的应用系统。关键词:工作流;组件;Ajax;Web组件中图分类号:TP302文献标识码:AThe development of components under the workflow environme

2、ntLEI Ju-chao, FAN Meng-long(Xian Technological University, Xian 710021,China)Abstract: This paper is aimed at researching the development of components under the workflow environment. The Workflow Technology will be combined with component technology for discussing the methods of constructing workf

3、low components. In addition, the Ajax technology will be added in the development process for overcoming the traditional synchronous exchange problem in Web application. It will develop the components which is applicable to workflow environment based on Web. The application utilizes the reconfigurat

4、ion of processing components in the workflow. In future, this applied system which related to the workflow can be restructured conveniently for applying to different industries according to their various demands.Key Words: Workflow; Components; Ajax;Web component随着市场竞争的加剧和计算机技术的发展,企业必须寻求一种新的技术来优化他们的

5、业务流程,于是工作流技术应运而生,它成为实现企业信息化建设、提高企业运营效率的有效途径。但是,工作流管理系统的开发随着企业要求的变更要做许多重复性的工作,软件的可扩充性、可重用性等方面的问题日益突出,本文将组件技术与工作流技术相结合使这方面的问题得到解决。在新技术背景下,工作流技术进入一个崭新的发展阶段。一些著名的工作流商业软件供应商不断推出新产品,其中比较著名的企业级工作流产品有BEA 的WLI,IBM 的holosofx 与MQSeries 工作流,Fujitsu 的Iflow,SAP 的NetWeaver,Sonic 的Orchestration Server。特别是基于Web 的工作流

6、系统,已成为一种新的市场流行趋势。代表产品有Ultimus 的业务流程管理产品等1。目前工作流管理系统存在设计实现复杂、可靠性、重用性差等问题。本文在研究工作流环境下组件的开发过程中,为使开发的组件能够良好的应用于B/S结构,采用了Ajax技术,实现异步交互过程,解决了传统Web应用中会出现的屏幕闪烁、刷新问题。1 工作流技术工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念。工作流技术主要是利用计算机科学技术,并结合企业具体产品开发过程与经营管理进行信息化软件系统的应用开发,达到企业经营和生产过程全自动或半自动化的执行和管理2。现在,工作流技术已成为企

7、业信息化建设方案中比不可少的内容之一,它被广泛的应用于电讯业、软件工程、制造业、金融业和办公自动化等领域。尽管工作流发展到现在已经取得了相当的成就,但其概念目前还没有完全统一的定义。其中被广泛引用的是工作流管理联盟(Workflow Management Coal ition,WfMC)对工作流的定义:工作流是一类能够完全或者自动执行的经营过程,根据一系列过程规则、文档、信息或任务在不同的执行者之间进行传递与执行。2 组件技术组件是一个独立的可传递的操作的集合,是软件开发中一个可替换的软件单元,它封装了设计决策,具有特定的功能3。一个软件组件是可执行软件的一个可分离的部分,可以与其它组件实现互

8、操作,只能通过组件的接口来访问它,在进行了必要的安装和装配过程之后,它就能以接口规定的方式来使用。组件技术是面向对象技术之后的软件开发的标准方法体系。近年来,组件技术主要有以下三种,OMG的CORBA(通用对象请求代理结构)规范,Sun公司的JavaBean/EJB/J2EE规范和 Microsoft公司的COM/DCOM/COM+ 规范,它们各有各的特点,但思想是一致的。利用组件,可以堆积木似的搭建软件系统,从而实现软件的大粒度复用,缩短开发周期,降低维护成本。随着软件复用技术的日益成熟,利用可复用组件构造软件系统已成为软件开发的主要手段。3 工作流环境下组件的开发考虑系统的功能及组件之间的

9、协调工作,组件的开发及部署过程一般分为根据系统的需求分析进行组件的设计、组件的定义、装配、运行及测试等几步。本文将重点放在研究工作流组件的开发上。3.1 组件的设计为了保证组件在复用、组装和扩展上的可行性,组件设计应遵循以下原则:(1)组件的设计应根据子系统或子功能来划分,使组件与领域内实体或者功能对应;(2)组件的接口设计要规范友好,使开发人员能够方便地使用;(3)组件的适应性强,尽可能能满足不同行业的需求;(4)组件发布前必须进行测试、审查。在进行工作流环境下组件的设计时,考虑到工作流的特殊性,我们不能仅仅按照设计一般组件的步骤来进行工作流组件设计。工作流最基本的功能就是实现数据处理的自动

10、流转,当设计工作流组件时不能简单的为每个工作流都建立组件,这样会存在一些问题,如:增加或调整工作流,就要对相应的组件进行修改,这样不够灵活;而且,有的组件是可以共用的,我们就可以把它归为通用组件,每个流程都可以使用,这样就减少了代码冗余。根据以上分析,一般情况下,我们将组件划分成界面管理组件、权限控制组件、通用组件、流程控制组件、报表组件、数据库访问组件等。 图1 工作流环境下组件结构图Figure 1 Components structure Under the environment of the workflow界面管理组件是系统与用户交互的各种组件的总和。验证用户是否为系统的合法用户以

11、及用户信息是否合法等。权限控制组件是管理系统所有使用者的身份的组件,它与流程控制组件关系密切,以不同的身份登录系统通过调用权限控制控制组件,直接控制系统数据流向。流程控制组件是工作流组件的核心,它对于各个工作节点来说具有一定的通用性,负责把所有节点中复用的已有组件信息整合到一起来控制业务流程。我们可以为此组件添加流程名称、流程来源名称、前步编号、本步编号、下步编号、流程状态表名、本步表名、前步表名等属性,使之与其它组件关联起来。这些编号信息由系统产生并保存于数据库中,系统为这些信息创建特定的表,在用户处理过程中,需要读取这些信息,根据表名,系统从数据库中读取相应的字段。数据访问组件负责从数据库

12、中检索数据并把实体数据保存回数据库中。除此之外,它还包括实现数据相关操作所需的所有业务逻辑。报表组件负责从数据库中读取数据,并将返回的结构打印成需要的报表。 通用组件是供各流程共用的组件。它包括:时钟组件、文本框组件、按钮组件、日历组件等等。3.2 定义组件由于本文研究适用于B/S结构的工作流组件,Intrawb是基于Delphi的网络编程平台,在该平台下可以采用继承的方法自定义生成WEB组件,具体过程如下:(1)祖先类的确定。自定义WEB组件实质上是根据需要派生新的组件类,而派生组件类的关键是选择一个合适的祖先类,如果选的祖先类不合适,不但给创建新组件造成困难,甚至可能无法实现。 (2)创建

13、组件框架。组件框架包含祖先类名、组件的类名、组件显示的面板页和组件的单元名。(3)加入属性、事件、方法。要构建工作流环境下的组件,我们需要为每个组件设计一个标志,用来定义组件的执行顺序;预先定义控制流程的组件的触发条件、触发事件。按照以上步骤编写好组件代码,进行测试后,就可以将组件加入到组件包进行编译和安装,供以后使用。3.3 Ajax技术的穿插在编写组件代码时,我们需要注意一个问题,用IntraWeb可视化开发会出现屏幕刷新、闪烁的问题。这是由于传统的Web应用采用同步交互过程,这种情况下,用户首先向Web服务器发送一个请求,然后Web服务器根据用户请求的内容,执行相应的任务,并向用户返回结

14、果,这是一种不连贯的用户体验,在服务器处理请求时,用户就只能等待着,此时浏览器显示的页面是空白的。由于同步模式的限制,浏览器在接收到服务器响应之前是处于停滞状态的,为了使开发出的组件给用户更好的体验,我们在编写代码时,穿插Ajax技术,解决前面提到的问题。Ajax的英文全称是Asynchronous JavaScript and XML,中文含义为“异步JavaScript和XML”,是指一种创建交换式网页应用的网页开发技术。图2所示的是Ajax Web软件体系架构。从图2可以看出,Ajax应用程序比传统的Web应用程序多了一层Ajax引擎。Ajax通过发送XMLHTTP请求,实现将信息发送到

15、服务器并从服务器接收信息,从而大大减少了带宽的浪费,同时XMLHTTP请求的发送是异步的,并不需要等待客户端或者服务器的任何其他操作而可以独立发送和接收,数据交换量的减少可以带来更快的应用,更好的用户体验和更轻的服务器负担4。由此可见,我们在编写组件代码的时候,穿插Ajax技术是很有必要的。 图2 Ajax Web软件体系架构 Figure 2 Ajax Web Software structure 另外,图中的WEB组件这里主要是指Intraweb自身的组件和自定义WEB组件;组件的基础设施是指为WEB组件提供公共的基础服务;WEB组件仓库用来存放已存在基本组件和自定义组件;WEB应用程序是

16、安装在服务器端的,该应用程序是建立在Intraweb平台下的。4 结束语本文根据工作流技术的特点,将工作流技术与组件技术相结合,对工作流环境下的组件开发进行了分析和研究,讨论构建工作流组件的方法,并给出了工作流环境下的组件结构,对以后在其它平台下开发工作流组件起到了一定的指导作用。另外,文中还提出了用Ajax技术来解决传统Web应用的同步交换问题的方法,这对开发Web组件也是非常有意义的,能够给用户带来更好的体验与感受。总之,我们开发出适合的自定义组件,在构建系统时节省了开发的工作量和难度,提高了开发的效率,增加了系统的可维护性,而且便于系统升级,一次功能改动后,只需要在服务器端更新该功能的组

17、件即可。参考文献:1 杨 洋,李志蜀.工作流管理系统发展状况与趋势研究J. 四川经济管理学院学报, 2008,1: 53-56YANG Yang,LI Zhi-shu.Research on workflow management system and its developing trendJ. Journal of Sichuan Economic Management Institute, 2008,1: 53-562 WFMC TC00-1003, 1995,Workflow management coalition:the workflow reference modeS.3 左爱群

18、,黄水松.基于组件的软件开发方法研究J. 计算机应用, 1998,18(11): 4-7ZUO Ai-qun,Huang Shui-song.Research on comppnent-based developmentJ. Computer Applic- ations, 1998,18(11): 4-74 Rohit Khare.Beyond Ajax:Accelerating Web Applications with Real Time Event Notification M.Know Now White Paper Clink from the Wayback Machine,2007.5汪盛,袁捷,李宗岩.基于组件技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论