当前位置:首页 > 心得体会 > RIA中的BPM技术|华中科技大学
 

RIA中的BPM技术|华中科技大学

发布时间:2019-03-12 03:47:52 影响了:

  GUI XML系统用XML语言实现了不同平台下的图形界面工具的兼容,是RIA系统的一项重要技术。电子商务的发展为RIA系统提出了更高的要求,要求RIA具有强大的处理业务流程的功能。
  BPM是Business Process Management的简称,我们通常所说的BPM事实上指的是商业过程管理系统,是一个软件组件,它以商业过程的描述为输入,监控整个商业过程的执行过程,同时安排工作,调用其他应用程序。总之,它就是商业过程的大管家,统筹全局,分配任务,监视全过程的执行情况。用这种软件来管理商业过程会给企业带来很大的好处。系统的核心是工作流引擎,它控制过程的执行。过程开发人员制定过程,并部署到工作流引擎上,作为工作流引擎的输入。工作流引擎可能调用一些外部的应用程序,经常对这个过程的执行情况进行跟踪审计评估。
  市场上工作流管理软件很多,本文主要结合GUI XML介绍开源的工作流管理软件jbpm。
  
  GUI XML与BPM
  
  在不同平台下的工具包实现之间的差异导致了互相之间的不兼容性,从而导致设计和开发过程中的诸多问题。解决之道自然是总结和概括这些工具包之间的异同,并抽象出一种独立于实现方式的图形化用户界面描述方法,从而提高开发效率。同时,应当将用户界面的设计与数据访问操作功能的设计有机、高效地结合在一起。GUI XML就是为了解决这个问题的。
  GUI XML置标语言作为通用图元标准,是一种基于XML语法的GUI描述语言。它利用XML语法的自然层次结构来描述构成GUI的控件间的结构关系。GUI XML标准的语法结构直接融入了MVC设计模式的设计框架。不仅表示用户界面的视图模块可以使用通用图元标准描述,而且整个应用的控制模块,例如界面事件处理等,也能通过脚本的方式设计。管理内容数据的模型(Model)模块则采用基于W3C发布的XForms标准的数据模型实现。因此,开发者仅仅使用XML格式的描述脚本就可以完成内容数据模型的建立和维护。所以说GUI XML是一项基于XML、用于支持多平台图形化用户界面构造的技术。
  BPM引擎是GUI XML技术的一部分,它帮助GUI XML实现了业务流控制的功能,使GUI XML开发复杂系统的能力大大提高。事实上GUI里比较流行的是RIA技术,它是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。利用GUI XML可以快速构建复杂的可复用的RIA系统。电子商务的发展对图形用户界面提出了更高的要求,要求系统实现业务流程管理。实现业务流程管理仅仅依靠RIA技术是不够的,它不能够根据业务流程的变化作出动态的调整,即不具备自适应性。而BPM技术恰恰能够根据业务过程的定义动态调整,使得新的业务流程能很好地执行。所以在GUI XML里我们加入了BPM技术。
  
  GUI XML中的BPM技术
  
  GUI XML中我们采用了开放源代码的jBPM,它提供了一个用JSP/Servlet技术将Web浏览器(Web browser)的使用者和工作流引擎连接的Web样本。
  
  图1 BPM引擎的体系结构
  
  图1给出了GUI XML中BPM引擎的体系结构。根据这个体系结构也很容易理解客户与服务器交互的通信过程。首先流程设计者将描述流程定义的jpdl文件(将在BPMDesigner部分详细介绍)和描述GUI XML绑定信息的mapping文件部署到GUI XML的BPM引擎上。部署后用户通过与GUI XML客户端的交互启动一个部署在BPM引擎内的流程。GUI XML客户端与BPM引擎之间的通信采用SOAP协议。当用户通过GUI XML客户端提交请求后,XML格式的请求信息通过SOAP协议传送到GUI XML的BPM引擎上。然后GUI XML的BPM引擎分析由SOAP协议传输过来的XML信息,并触发工作流状态转移,同时调用与当前状态绑定的外部应用程序或者返回和当前状态绑定的GUI XML页面。最终与当前状态绑定的GUI XML页面和外部应用程序返回的结果以SOAP消息的方式传输回GUI XML客户端,以GUI XML页面的形式显示出来。
  
  BPM Designer
  
  BPM的输入是业务流程,为了使开发者能够集中精力搞好流程的定义,GUI XML的BPM部分实现了业务流程定义的可视化,下面我们详细介绍可视化业务流程编辑器BPMDesigner。这个编辑器生成BPM的输入文件jpdl文件,也就是一个描述过程的xml文件,process_definition.xml。
  jpdl(jBPM process definition language)是jBPM的业务流程定义语言,它将一个商务流程视为一个UML状态图。jpdl详细定义了这个状态图的每个部分,如: 起始、结束状态,状态之间的转换等。这种语言的定义比较容易让用户理解,也比较容易对其进行扩展。因此jpdl被选择为GUI XML的业务流程定义语言。我们为了适用GUI XML系统的应用需求,对jpdl进行了扩展,加入了与状态绑定的xml页面的信息。元素是根据jpdl规范生成的xml文件的根元素,它包含了零个或一个元素,零个或多个的元素,一个元素,零个或多个的元素或元素或元素或元素,一个元素,以及零个或多个的元素。此外,元素有一个标示符,以“name”属性来表示,这个属性必须存在。在GUI XML中、、里都包括与之相关的xml页面的信息。
  BPMDesigner采用图形化的方式生成这样一个符合扩展的jpdl规范的process_definition.xml文件,作为BPM的输入。
  BPMDesigner不仅生成了BPM引擎的输入process_definition.xml文件,还生成了mapping文件,该文件负责完成状态和与状态对应的XML页面的映射。Mapping的定义出现在遵循相应的。所有子元素均采用XMLSchema的命名空间。元素下包含: 元素和元素,这些元素就是mapping文件中所绑定的信息。元素下包含若干个元素。元素主要是用以表示每个state和其所对应的GUI XML页面的绑定信息。示例如下:
  
  
  
  
  
  在mapping文件中的元素,主要是分成两类: 一类是在元素下的元素,另一类是在下的元素。
  在元素下的元素包含元素,而在下的元素则包含元素。此外,元素有一个标示符,以“name”属性来表示,这个属性必定要存在。
  BPM可视化业务流程编辑器(BPMDesigner)的整体框架如上图2所示。BPM可视化业务流程编辑器是一个基于Eclipse平台的可视化业务流程管理编辑器。在图2中所显示的GEF、EMF、Draw2D、Workbench、JFace、SWT、Workspace和Runtime都属于Eclipse的插件体系结构。BPM可视化业务流程编辑器需要利用这些插件的接口来实现一个用以构建图形的图形化工具。
  
  图2 BPM Designer的整体框架
  
  BPM可视化业务流程编辑器是基于Perspective的。每当一个项目被启动时, Perspective就会调用UIManager来唤醒各个用户界面模块以进行界面的初始化。UIManager主要是负责管理四个图形用户界面模块: 项目浏览器(Package Explorer)、大纲视图(Outline)、编辑区域(Edit area)以及视图(View)。除此之外,每个用户界面模块之间的同步和刷新,也是通过调用UIManager来完成的。BPMDataProcessor是界面与数据之间的桥梁,负责协调界面与数据之间的数据传输、数据读取与数据存入。
  GUI XML中的BPMDesigner是在jBPM提供的业务流程可视化接口的基础上加入了view,改善了jBPM原有的业务流程编辑器,使其功能更加强大,且能够针对GUI XML的特定应用,主要用来设计与状态相关联的XML页面和复杂的业务流程。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3