基于工作流的业务处理原型系统设计与实现.doc_第1页
基于工作流的业务处理原型系统设计与实现.doc_第2页
基于工作流的业务处理原型系统设计与实现.doc_第3页
基于工作流的业务处理原型系统设计与实现.doc_第4页
基于工作流的业务处理原型系统设计与实现.doc_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

大连理工大学硕士学位论文基于工作流的业务处理原型系统设计与实现姓名:田军申请学位级别:硕士专业:软件工程导教师:李明楚20060528Design and Implementation of Business Transaction Prototype SystemBased on WorkflowAbstractAlong with the computer network technology comes up, the research of Computer Supported Cooperative Work is more important, the Workflow technology is the important constituent in this domain, Workflow Application System based on Workflow technology makes the works of the enterprise or government transparent and controllable, enormously enhance the working efficiency.The Business Transaction Prototype System in this article is Application System based on Workflow. The system uses the Struts framework and other technology, such as Web Services, BPM, BAM and so on. Compares with the traditional business transaction system, controlling process more simple the man-machine interaction more flexible, the business process control has visual effect. The article implements a concept of function modularization for workflow, which makes the system integration more convenient. It also show a solution for binding business data, the solution makes it more reasonable for integrating prototype system and business system and gains the goal of binding workflow data in different data sources to business data efficaciously.The system contains business transaction subsystem and management subsystem. The business transaction subsystem completes the functions of business activities transaction and business process transaction, controlling. Such as the business process branches execute selectively, the business activities interact discretionarily, process instance data monitor in real-time and so on. The management subsystem makes system perfect and structure clearly, extend the business transaction system perfectly. Complete the management of resources, services, user, authorities, times and the statistic of business activities.The implementation of system by J2EE,may be replanted expediently. The system has many reusable modules in design or code level; many modules have extended in functions. So enhance the system reusable and may the extension. As a prototype system, you can build business transaction system on it, and integrate it with other business system in the specific domain, make business transaction system more perfect.Key Words: Workflow; Business Transaction Prototype System;独创性说明作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人巳经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。作者签名:领% B期:S 1%大连ffil大学专业学位硕士学位论文大连理工大学学位论文版权使用授权书本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被査阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。作者签名: 淑旱导謹名年:T月曰工作流的概念起源于生产组织和办公自动化领域,它是针对日常工作中具有固定程 序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按照一 定的规则和过程来执行这些任务并对它们进行监控,从而提高办事效率、降低生产成本、 提高企业生产经营管理水平和企业竞争力1993年,工作流管理联盟(Workflow Management Coalition, WFMC)的成立标志 着工作流技术开始进入相对成熟的阶段。随着计算机的普及、网络的延伸,现代企业的 信息资源越来越表现出一种异构、分布、松散稱合的特点,企业的分散性、决策制定的 分散性、对日常业务活动详尽信息的需求以及Client/Server体系结构、分布式处理技术 (CORBA,WWW, OLE, JAVA)的日益成熟,都说明了一个事实,就是集中式信息处 理的时代已经过去,实现大规模的异构分布式执行环境、使关联的任务能髙效运转并接 受密切监控已成为一种趋势|1。在这种不可抗拒的技术背景下,工作流应用系统也由最初的创建无纸办公环境转变 成为同化企业复杂信息环境、实现业务流程自动执行的必要工具。这个转变把工作流技 术带入了一个薪新的发展阶段。一些商业理念和管理理念衬工作流领域的渗透,如商业 过程管理(Business Process Manage, BPM),商业活动监控(Business Activity Monitor, BAM)等,更是为应用系统的研究提出了新的挑战。还有一些新技术规范的提出也为工 作流的发展提供了足够的空间,如BPEL (商业过程执行语言)规范的提出,使抽象流 程的结构化有了依据。这也是当前工作流产品发展的一个机遇,现在IBM、甲骨文等大 的公司都有了基于BPEL的工作流产品。这些工作流产品大部分都以处理业务流程为目 的进行研究和开发,本文中业务处理原型系统的研究是在市场调研,研究其他主流工作 流产品的基础上提出的。1.2研究现状在工作流发展史上,有几个工作流系统被广泛研究和引用11,起到了很重要的作用。 美国Georgia大学计算机系METEOR研究项目所开发出的基于CORBA的分布式工作流 系统一ORBWork; IBM Almaden研究中心提出的基于永久消息队列的分布式工作流系 统模型一Exotica/FMQM;瑞士苏黎世大学计算机系的研究人员提出的基于事件驱动的 分布式工作流执行系统一EVE;美国达特茅斯大学计算机系设计幵发的基于可移动代理 的工作流管理系统一DartF丨0W;由西班牙、意大利和荷兰的五个合作单位协同幵发的基 于分布式主动数据库技术的工作流管理系统一 WE。国际市场上,Tm/InConcert,Eastman, Visual and Panagon Workflo, MQ/Series Workflow, Staffware. I-Flow, COSA等都是有影响的产品。有的厂家把工作流集成在 了应用服务器之中,代表有BEA Integration中的工作流和IBM的WebSphere Integration 中的工作流。这些产品各有特色,或提供了丰富的编程接口,或提供了复杂流程的定制, 或集成了 Micro office和Lotus Notes等软件,或满足了大吞吐量的需求。总体上来说, 这些产品都重点实现了计算机的自动处理过程,从而达到引入工作流提高工作效率的目 的。在国内的工作流应用领域中,使用计算机提高自动化程度的同时,仍然需要大量的 人工干预,从而需要灵活处理人机交互。现在,一趋主流的国外工作流产品为了进入中 国市场,也在向着灵活处理人机交互方面努力。清华同方eBuilder工作流构建系统、方正易畅iFlow工作流管理系统、中软金马的 e-wayworkflow工作流管理系统等都是一些国内有影响力的产品。还有一些工作流产品 作为中间件使用,如中创软件的InforFbw工作流中间件。在国内市场上也有几个有竞 争力的工作流产品,如SynchroFlow (西安协同数码股份有限公司)、DLFlo (上海东 兰科技发展有限公司)、SunFlow (杭州信雅达系统工程股份有限公司)、Be-Workflow (新晨科技)、iiefoFlowMIS (北京杰佛软件技术开发有限公司)。对于特定的行业或 领域,开发了一部分专用工作流系统,如北京华胜鸣天科技有限公司一MTWF (电信综 合工作流程管理系统)、中科软件股份有限公司EasyFUe (通用文档及工作流管理信 息系统)。这些国内产品都或多或少的增加了人机交互的成分,使工作流产品更适合国 内用户群体的使用。1.3本文的工作对比上一节中介绍的工作流产品,本研究中的业务处理原型系统更有自己的独特之 处。本系统的研究幵发只针对工作流技术本身,不针对具体领域,因此称为原型系统。 系统采用Stmts框架,参考了东软软件股份有限公司(以下简称东软)的工作流产品在 实施过程中的经验,融合了 Web Services、BPM、BAM等技术。与传统的业务处理系统相比较,该系统对业务流程的控制更加智能、人机交互更加 灵活,达到了业务流程控制可视化的效果。本文实现了工作流功能的组件化,使系统集 成更快捷。完成了业务数据绑定的解决方案,使原型系统与业务系统的集成更加合理, 达到了把不同数据源中的工作流数据与业务数据有效绑定的目的。本文系统分为业务办理子系统和管理子系统。业务办理子系统完成了业务活动的处 理、业务流程的流转和控制。流转主要包括业务流程的执行分支选择和业务活动间的任 意跳转;控制主要是对业务流程实例运行数据的实时监控。管理子系统的研发使业务处 理系统更加完善,是对业务办理子系统的有益补充,使原型系统的结构更加清晰。管理 子系统完成了资源和服务的管理、用户及权限的管理、业务工作量的统计分析和日程的 管理。整个系统的实现构建在J2EE体系平台之上,具有很好的移植性。在系统设计过程 中,抽象出了多个可复用模块,开发同类系统时可对设计或代码进行复用;在两个子系 统的研发过程中,多个模块留置了功能扩展点,从而提高了该系统的可复用性和可扩展 性。本原型系统与具体领域的业务系统集成后,就成为该领域中基于工作流技术的业务 系统。1.4本文的结构全文共分为了四章,具体的章节内容安排如下:第一章绪论,简单介绍了工作流技术及应用的相关背景,阐述了工作流技术及应用 的研究现状和本文的工作。第二章主要介绍工作流的基本概念、模型结构,及实现本业务处理原型系统需要的 相关技术。第三章主要介绍本研究中的原型系统整体架构设计,包括系统架构和各模块的功能 描述及系统概要设计。第四章主要介绍原型系统的实现,分为系统复用模块、业务数据绑定、业务办理子 系统、管理子系统和系统出错处理几个部分,给出了细节设计、重点部分实现方案及开 发中遇到的问题解决方案。结论部分,结合本业务处理原型系统的研究和开发,总结和提出了下一歩的研究目标。2工作流知识及实现技术工作流管理联盟(WFMC)的成立标志着工作流技术进入相对成熟的阶段。为实现 不同工作流产品之间的互操作,WFMC在工作流管理系统的相关术语、体系结构及应 用编程接口(WAPI)等方面制定了 一系列标准丨2。2. 1工作流基本概念WFMC提出的工作流定义2:工作流(Workflow)是一类能够完全或者部分自动执 行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进 行传递与执行。IBM Alraaden Research Center提出的工作流定义丨33:工作流是经营过程中的一种计 算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每 一个单独步骤的定义、少骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责 以及每个活动所需要的应用程序。AmitSheth提出的工作流定义工作流是涉及到多任务协调执行的活动,这些任 务分别由不同的处理实体来完成。一项任务定义了需要做的某些工作,它可用各种形式 来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算 机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(比如一个应用程序、 一个数据库管理系统)。工作流管理系统(Workflow Management System,简写为WFMS) I2】是完成工作流 的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例执行的软件 系统。它的主要功能是:存储和解释流程定义、创建和管理运行环境中的工作流实例、 控制工作流的执行者和工作流应用之间的交互等。2.1.1工作流中的对象工作流系统是利用各种对象来管理及控制业务流程运转的,这些对象在工作流系统 运转的不同阶段出现,下文介绍工作流系统中涉及到的主要对象。(1) 业务流程(BusinessProcess) 2】:在功能确定的组织结构中,能够实现业务目 标和策略的、相互连接的流程和节点集,如投保过程、项目开发过程等。在WFMS中, 一个业务流程的自动化过程被描述为流程模板。(2) 流程模板:工作流系统运行所识别的流程资源,其本质是对业务流程的抽象。 需按照一定规则进行定义,除了需要定义一些必要属性外,还需定义其他组成元素,从 而准确描述及控制业务流程的具体执行。组成流程模板的基本元素包括:节点、传输线、 环境变量和条件表达式、参与者、应用程序以及相关数据16】。(3) 节点:构成工作流流程的基本元素,流程模板由若干个节点和运转规则组成。 节点本质上是业务活动的抽象,根据运转方式的不同分为手动节点和自动节点。手动节 点是指在人的参与下才能完成的节点,在定义时需要指定节点的参与者基于手动节 点创建的工作项就是手动工作项,由指定的参与者进行处理。自动节点不需要人工参与, 而是由后台自动应用程序进行处理在定义时,需要指定应用程序,由工作流引擎调度 定义的应用程序,从而使流程按照定义规则流转。(4) 流程实例和节点实例:这两个对象都属于流程运行时的概念。用户提出流程模 板实例化请求后,在工作流引擎的解析下产生流程实例。节点实例是在流程实例运行过 程中根据节点对象创建的,节点实例按照定义的运转规则不断的完成、创建就形成了流 程的运转。(5) 工作项:流程运行时的重要概念,工作项实例是节点实例创建的同时,工作流 引擎基于定义在本节点上的应用创建出的供用户进行办理的对象,工作项对象记录一些 节点定义时的特征,又定义了一些业务特征,从而通过对该对象的操作,就可以控制流 程的流转,也就可以通过流程的流转来完成对业务逻辑的处理。(6) 应用程序:本质上是在流程运转中被(服务器或客户端)调用的应用,可以完 成某个特定的功能和任务。在流程定义时,需指定应用程序的调用方法、传递的参数、 返回的结果等。应用程序的出现,使流程实例运转的自动化程度大大提高。2.1.2对象的状态转换工作流系统的运转是通过运行时的对象的状态变化来控制的,如一个节点的完成会 导致另一个节点的创建,都是一些流程运转策略,工作流引擎则是这些规则策略的执行 者。引擎通过控制各对象的状态转化及处理状态转换过程中相关数据变化,达到业务流 程流转控制的目的。工作流系统中只有流程实例、节点实例、工作项三种对象具有状态 信息及状态转换规则。这些对象涉及到六种状态:初始态、运行态、激活态、挂起态、 完成态和终止态2】.其中工作项不具有初始态,下文给出了各状态的定义描述。初始态(Initial):初始态是对流程实例、节点实例而言的,引擎已经创建流程实 例,节点实例,实例却没有被引擎启动时的状态,即创建后、启动前的状态。运行态(Running):运行态是实例对象启动后的状态,处于该状态的工作项,引 擎可以对其进行流转处理。实例启动后、实例由挂起态恢复后、实例由激活态关闭后可 以转换为运行态。激活态(Active):激活态是一种特殊状态,运行态的实例经过一个open操作转变 为激活态,激活态使工作流中各实例对象的转化更加清晰,激活态的出现减轻了引擎处 理队列的压力。挂起态(Suspended):挂起态是运行态实例经过一个挂起操作转化后的状态,挂 起态的实例不进行任何业务操作,等用户将其唤醒恢复后,转化为运行态才能进行与功 能相关的操作。完成态(Completed):完成态是实例正常完成后的状态,该状态的形成表明该实 例对象在流程流转过程中的任务已经完成,如果流程实例处于此状态,那么它代表的业 务逻辑过程就完成了,如果节点实例处于此状态,那么流程会继续向下流转。终止态(Terminated):终止态是流程流转过程中由于各种原因而直接对实例对象 进行终止操作而得到的状态。图2.1给出了流程实例对象的状态转换图,描述了流程在各状态间的转化情况,以 及进行转化所需要的操作。图2.1流程实例对象状态转换说明 Fig. 2.1 The state changing illuminate of process instance2. 2工作流参考模型和体系结构WFMC给出了工作流系统的参考模型,该参考模型展现了工作流系统的整体架构, 使各个工作流产品架构趋向了统一,图2.2是WFMC工作流管理系统参考模型。雄理工大学专业学位硕:tw论文图2. 2 WMC工作流管理系统参考模型 Fig. 2.2 WFMC workflow management system reference model(1) 流程定义工具(ProcessDefinition Tools):进行工作流业务流程的建模,输 出一个能被工作流引擎识别并解释执行的过程定义。它可以作为特定的工作流产品的一 部分提供给用户,也可以作为单独的产品提供给用户。(2) 工作流执行服务(WorkflowEnactment Services) : WFMS的核心模块,实际上 是企业经营过程的调度器,在某种程度上还是企业的资源分配器。也可以理解为企业的 业务操作系统,企业的业务过程在它的管理、监控和调度下运行。(3) 工作流客户端应用(WorkflowClient Application)5】和系统管理和监控工具 (Administration & Monitoring Tools)6:这两个模块结合起来就是工作流应用系统的雏形,系统使用人员通过在这两个模块中的各种操作,来实现对企业应用、业务运作的管 理和控制。本研究就是在此模块完成业务处理原型系统的设计和实现。(4) WAPI 与接口(Workflow Application Programming Interface & Interchange)【之: WAPI是一组工作流应用程序编程接口及其相应的数据交换格式。图2.2中的参考模型,主要涉及了以下几种数据工作流控制数据(Workflow Control Data):由VFMS或工作流执行服务控制的内 部数据,不能被访问及转换,但可以查询。工作流相关数据(Workflow Relevant Data)7】:WFMS用来判断过程中状态转移是 否可以执行的数据,可以判断转移条件是否满足,从而控制流程的运转。工作流应用数据(Workflow Application Data):应用系统中的数据,WFMS不使用这些数据,表征业务特征,用户可以直接操作并控制这部分数据。工作流系统应用在企业管理系统中,可以提高系统的柔性和软件的重用性,并且可 以增加工作过程的透明度,提高工作效率,工作流系统还可以对生产经营过程的合理性 进行分析,从而为BPM提供支持。为了适应市场的多元化及不同工作流系统之间的集 成,必须对工作流系统的主要功能实施接口进行标准化。为实现工作流技术的标准化和 开放性,从而支持异构WFMS之间的互操作性,根据工作流管理联盟”提出的工作 流系统参考模型,WFMC又给出了工作流的参考体系结构图,描绘了抽象的WFMS的 功能组成部件和接口,它能满足WFMS和产品应该具有的主要功能特征,是实现工作 流产品之间的互操作性的基石21,图2.3给出了参考体系模型。图2.3 WFMC工作流体系结构模盤 Fig. 2,3 WFMC workflow system architecture model工作流体系结构模型主要包括以下三个部分:软件模块:工作流系统中可见的、直接控制管理流程运转的部分,包括流程定义工 具、工作流引擎、任务管理器、系统管理和监控工具等。系统控制数据:工作流系统中抽象的、协助软件模块控制管理流程的部分,包括流 程定义引用到的组纷角色模型数据、工作流控制数据、相关数据等。应用程序和数据库:工作流系统外的协助其他两个模块运转的部分,可以被工作流 系统调用,从而完成工作流管理的一部分功能。2. 3系统实现技术2.3.1 J2EE体系平台(1) Java 技术Java8是一种面向对象的程序设计语言,具有五个比较重要的特性,从而决定了它 是开发多平台应用系统的首选语言。平台无关性和分布式:平台无关性是指Java能运行于不同的平台。Java引进虚拟 机原理,运行于虚拟机。;Fava的数据类型与机器无关,Java虚拟机(java Virtual Machine) 建立在硬件和操作系统之上,实现Java 二进制代码的解释执行功能,提供不同平台接口 的交互。Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送 和接受信息的方法。从而使用网络上的文件和使用本机文件一样容易。安全性:Java舍弃了 的指针对存储器地址的直接操作,程序运行时内存由操作 系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止 程序的非法访问。可重用性代码的重用程度是衡量系统可复用程度的重要指标。实现代码的重用, 一种是将应用程序的业务要求分解成不同的组件,另一种则是采用面向对象技术来封装 共享的功能。Java语言具备了这两种优点,同时Java的企业版也提供了对组件重用的 支持19】,(2) J2EE 体系J2EE (Java 2 Enterprise Edition)|*是Sun公司提出的用于建立服务器端应用程序的一种系统平台规范。图2. 4 J2EE体系组成模型 Fig. 2.4 J2EE system module model图2.4给出了 J2EE平台的体系组成模型。J2EE提供了一个企业级的计算模型和运 行环境用于开发和部署多层体系结构的应用,可以提供企业计算环境所必需的各种服 务,部署在J2EE平台上的多层应用具有高可用性、安全性、可扩展性和可靠性fil。业务处理原型系统是基于Web的应用系统,构建在J2EE平台之上,主要使用了 J2EE 体系中的Web组件(JSP、Servlet)、Applet组件、EJB组件,下文简单介绍Web组件 中的Servlet和JSP组件。Servlet是实现动态内容的一种简便的、平台独立的、Web服务器方式独立的组件, 是建立基于Web的应用程序接口的基石。Servlet是服务器端组件,允许应用程序逻辑 嵌入到HTTP请求中。本质上来说,Servlet是一个Java类,运行于由Servlet引擎所管 理的Java虚拟机中,被来自Web客户机的请求所唤醒并用来处理请求,这种机制和CGI 有些类似。然而与CGI不同的是,CGI需要为每个请求创建一个新的进程,在请求/响 应完毕后删除这个进程,而Servlet只需要加载一个Servkt就能够处理每个新的请求, 每个新的请求都使用内存中那个Servlet的副本,且运行在其执行线程中优化性能,这 也是Servlet与CGI在性能上本质的区别n。因为Servlet是基于Java语言的,所以它能 够访问Java全部的高级特性,如数据库连接、多线程等。JSPi4是基于Servkt的动态网页技术标准(它实际上是Servlet编程模型的一个扩 充),该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。在 传统的网页HTML文件中加入Java代码片段和JSP标记就构成了 JSP网页。JSP网页 部署在Web容器中,在第一次被客户访问时由容器将其编译为一个Servlet。当Web客 户访问JSP页时首先执行其中的程序片段,然后将执行结果以HTML的形式返回给客 户。程序片段可以执行访问数据库、重定向等操作。由于JSP的内置脚本语言是基于Java 编程语言的,而且所有的JSP页都被编译成Servlet,jSP就继承了 Java技术的所有好 处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言 一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品 中,可以使用自己所选择的服务器或工具,更改工具或服务器并不影响当前的应用。当 与J2EE平台整合时,JSP页面将提供企业级的扩展性,这对于在虚拟企业中部署基于 Web的应用是很重要的。2.3.2 Struts 框架大连理工大学专业学位硕士学位论文Struts Frameworki2是一种基于JAVA的技术,由一组相互协作的类、Servlet、标记 库等构成,它提供了自己的控制器(Controller),同时整合了其它的一些技术去实现 Model层和View层。Struts是MVC设计模式112的一种典型实现,它将Servlet和JSP 标记(属于J2EE规范)用作实现的一部分,继承了 MVC的各项特性,并根据J2EE的 特点进行了相应的变化与扩展。MVC设计模式来源于面向对象语言Smalltalfcfi3】,它的主要思想是将应用程序分为 三个部分:模型(Model)、视图(View)和控制器(ControUer),以提髙应用程序的可 扩展性。Modd是业务逻辑处理模块,是对企业业务流程中对象的抽象,封装了对象的 属性和对象隐含的业务逻辑。View是用户视图模块,它为用户提供了输入手段,并触 发ControHer运行,然后通过Modd访问企业数据,并用某种方式来显示这些数据。 Controller是流程控制模块,它管理着用户与View的交互,能从View中取得数据并传 给Model去执行业务逻辑,然后它根据Model的执行结果,选择一个合适的View把结 果展现给用户。MVC楔型在基于Java技术的Web应用中扩展形成了 MVC模型2,在模型2中, Model、View、Controller 分别由 JavaBean、JSP、Servlet 来代替,如图 2.5。Servlet 先 接受客户端的请求,然后调用相应的Bean进行业务逻辑的处理,根据处理结果调用相 应的JSP页面,JSP页面依据存储结果的Bean生成HTML页面,并返回给客户端。图2. 5 MVC模型2结构 Fig. 2,5 MVC Model 2 architecture结合图2.5中Struts框架对MVC模型2的重新演绎,在本文业务处理原型系统中 可以按照如下方式来实现MVC模型2:视图:视图主要由JSP建立。Struts自身包含了一组标记库(TagLib),这也是Struts 的精华,它们可以简化JSP页面的代码,灵活运用它们可以大大提高开发效率。模型:在Struts中,模型(Model)由一系列的JavaBean来实现,可以自己定义业 务处理的Bean, Struts本身则提供了一种非常有用的Bean (FormBean),它可以在View 和Model间保持数据。控制器:Stmts中的Controller主要是它自身提供的ActionServlet,而ActionServlet 的核心就是stmts-config.xml配置文件,它包含了所有页面导航的定义。ActionServlet 接受请求并根据配置文件中的定义将控制转移到适当的Action类,其余的控制逻辑以及 对Model的访问由Action类负责完成。2.3.3其他相关技术1 Web ServicesWeb Services把一切都看作服务(Service)这种服务可以在网络上通过消息传递机制动态地被发现、组织和重用。Web Services对外封装成由WSDL描述的服务, 屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性。Web Services的核 心协议主要有 SOAP、WSDL 和 UDDI。SOAP (Simple Object Access Protocol)是一个 轻型的简单协议,即通过HTTP等协议传送XML数据。WSDL(Web Services Description Language) 15】借助XML文档来描述一个Web Services服务,描述服务提供的功能和所 接受的数据格式。UDDI (Universal Description、Discovery and Integration Registry)规 范用于描述某项业务的商业结构,UDDI框架是一个企业可以注册其Web Services并查 找其他Web Services的数据库集合,应用程序使用SOAP API来读取或提供与UDDI相 关的WSDL文档。Web Services釆用面向对象的开发技术,用:Tava对象或者EJB组件 实现Web Services的处理逻辑。Web Services可以分为三个角fe提供者、请求者和代理。提供者建立Web Services, 并可以提供给请求者使用;请求者是消费Web Services的客户应用程序,被请求的Web Services同样可以是另一个Web Services的客户:代理提供了提供者和请求者之间交互 的途径。提供者、请求者和代理之间通过发布、寻找和绑定来进行交互。提供者通过代 理的发布接口来通知代理它可以提供一个已有的Web Services服务,发布的信息对这个 Web Services进行描述并指出它的位置。请求者询问代理来定位巳发布的Web Services, 通过代理获得的信息使它能够绑定和调用Web Services。2 BPM 和 BAM业务流程管理技术是从早期的工作流管理、EA1、流程自动化、流程集成、流程建 模、流程优化等技术中发展起来的。从管理理论和战略层面上来看,BPM (Business Process Management) l7,即业务流程管理,是在一个存在内部事件和外部事件的环境 中,由一组相互依赖的业务流程出发,对业务进行描述、理解、表示、组织和维护。通 过BPM,可以对业务流程进行自动化,并通过流程的分析及监控功能,对业务进行整 合及计量,从业务角度、组织角度、IT角度都可得到可量化的改善效果、这种效果随着 管理者通过BPM分析与优化流程、将越来越显著。从具体实施的层面上来看,业务流 程管理(BPM)可以分成流程分析、流程定义和重定义、资源管理、调度管理、审计管 理、绩效评测、流程优化和安全管理等。BAM (Business Activity Monitor),即业务活动监控,是调研公司为了突出一些新的发展趋势而辨别现有流程的工具。简单来说,业务活动监控类似于一个数据仓库,里 面按序储存了关键的机构绩效信息,并且其能够借助一个入口或界面实时提供数据。这 种情形的界面具有下钻或可控功能,因此用户不仅能够监控流程,还能在监控状态下控 制并及时与流程进行交互,业务活动监控也可以被称为有效的商务智能”。业务活动 监控又不同于数据仓库,因为后者不仅看起来历史悠久,而且还需要每周、每月、每季 度或以特殊的周期对系统进行快照。业务活动监控也不同于入口应用程序,后者要以数 据仓库或网络服务为基础。业务活动监控的实时数据中枢是与商务智能及企业应用集成 (EAI)系统有区别的。随着业务活动监控的不断成熟,它可以调用供应链管理(SCM) 和客户关系管理系统。 (3) XML和XML模式XML (Extensible Markup Language)是由 W3C 所发展的。XML 以一种开放的自我描述方式定义了数锯结构,在描述数据内容的同时也突出对结构的描述,从而 体现出数据之间的关系。对于信息资源整合来说,XML技术具有自描述性、可扩展性 和平台无关性等特点可扩展性指允许组织、个人建立适合自己需要的标记集合。XML 文档通常包含一个文档类型声明,因而XML文档是自描述的,不仅人能读懂XML文 档,计算机也能处理。平台无关性则表现在XML采用纯文本格式而非二进制格式表示 数据,避免了不同平台对数据表示的不一致性,从而做到真正的跨平台应用。XML模式(schema)丨*是W3C开发的一种模式语言,用来描述XML信息结构 的模型,可以对XML文档内容的合法性进行验证。模式规定了在文档中能够使用的元 素和属性,以及这些对象与文本内容的可能组合方式。与XMLDTD (文档类型定义) 相比,XML提供了丰富的内建数据类型、对名字空间的支持和数据完整性约束。XML 模式允许对内建数据类型进行护展,定义用户自己的数据类型,基本上满足了关系模式 在数据描述上的需要,比XML DTD更适合描述关系数据。此外,XML模式也是用XML 语言描述的,与DTD相比模式本身更容易验证。XML的上述特点使得它比DTD具有 更强大的描述能力,能够满足不同应用的需要。15基于工作流的业务处理原型系统设计与实现3业务处理原型系统分析设计基于工作流的业务处理原型系统是以东软的工作流系列产品为依托,融合了 Web Services. BPM、BAM等技术开发完成的,并参考了许多工作流使用人员及系统开发人 员的建议。本章介绍系统架构模型和概要设计。3.1系统架构图3.1给出了业务处理原型系统的架构模型。1 EngineAppMgr 丨Timerlogger!編 脚 SttVITm业务流程6理与运行阶段Fig-图3. 1业务处理原里系统架构模型 Business transaction prototype system architecture model整个业务处理原型系统的运转分为两个阶段,流程建模阶段和流程运行管理阶段。 在流程建模阶段使用了东软工作流产品中的流程定义工具,在运行管理阶段的数据层、 服务层使用了东软工作流产品中的数据接口和工作流服务。本文设计开发应用层的两个 应用服务。大连理工大#业学位硕士学位论文流程建模阶段,需要根据需求对业务过程进行抽象,按照工作流系统给出的规则定 义出业务流程,并对业务流程进行发布。本系统中数据存储器是数据库,所以就是发布在数据库中。流程运行管理阶段,可以对已经发布成功的业务流程,进行创建实例、流 转控制等各种操作,这些操作控制都是通过工作流的各种服务来完成的。各种控制的可 视化则是通过应用层的两个应用(业务办理系统、管理子系统)来完成,通过人与工作 流业务处理系统的交互,完成系统与各个工作流服务的交互,达到控制、管理业务流程, 进行业务工作办理的目的。从系统架构模型可以看出,整个工作流系统的运转分成四个部分,流程定义部分、 数据库交互部分、工作流服务部分、工作流应用部分。这四个部分中本文设计开发的是 直接与业务办理人员进行交互、最直观展现工作流整体功能的工作流应用部分,即业务 处理原型系统。系统分为业务办理子系统和管理子系统,这两个子系统提供了人与工作 流系统的交互控制功能。业务办理子系统是业务办理人员最频繁接触的部分,各种日常工作在业务办理子系 统中完成和控制。在业务办理子系统中,当业务流程流转到某一节点时,会产生一个对 应于此节点的工作项,工作项是业务办理人员对所需办理业务的最直观展现。该工作项 通过一定的规则与用户业务操作相关联,如用户的业务操作是填写一个设备申请表,然 后把申请表上的数据提交到数据库中,那么这个申请表就可以用一个JSP页来展现,当 业务办理人员打开属于自己的工作项时,就能处理JSP页,然后对页面上的数据进行保 存。保存完成后,对应的工作项执行完成动作。这时流程就会向下流转,产生另外一个 工作项。这个过程在业务办理子系统实现时详细设计和描述。业务办理子系统还具有创 建、启动流程的功能,就是对己经由定义工具发布成功的流程进行启动操作,产生一个 流程实例,这个流程实例可以在业务办理人员的控制下流转并完成业务工作。同时业务 办理子系统中,还可以对每一个流程实例进行监控,随时监控流程实例的运转情况,对 流程进行一些控制操作。管理子系统是少数业务办理人员接触到的部分,登录这个系统需要具有工作流中的 管理员权限。工作流来维护这部分用户,这些用户可以对工作流的资源进行调度管理, 对服务进行管理配置,并且对管理子系统中的用户和业务办理子系统中的用户进行分别 管理,对业务办理人员的工作进行监控,对工作量进行统计。系统还提供业务流程定义 的修改管理功能,如对于一个定义好的业务流程,原始定义时“填写申请单”这个工作 是由张三来完成的,但是由于工作原因,现在需要李四来完成,那么就可以在管理子系 统,由专门的管理人员对流程进行修改,当产生新的流程实例时,新的工作由李四来完 成。日程管理功能,如一个工作需要在2天内完成,但是正好遇到一个休假日期,那么 工作流服务会根据日程管理中的数据对这段休假日期进行屏蔽计算,那么完成时间计算 中就不包括这段休假时间。17基于工作流的业务处理原型系统设计与实现3. 2功能模块工作项前文介绍了整个系统架构模型,本小节对业务处理原型系统中各个模块的功能划分 阐述一下。业务处理原型系统分为业务办理模块(子系统)和管理模块(子系统),这 两个模块又根据各自功能分为多个小模块。 模块关系参考图3.2系统模块关系说明。业务处理原S系11统计图3. 2业务处理原型系统模块结构 Fig. 3.2 Business transaction prototype system module architecture工作项办理模块是业务办理子系统中最常用的部分,也是与日常工作关系最密切的 部分,完成了本原型系统与业务集成的基本功能。该模块涉及了工作流对象模型I2】中的 工作项,工作项对象与业务系统中的业务应用进行关联,完成工作流对象与业务系统的 集成。工作项可关联的业务应用元素有JSP网页、应用程序、Web Services应用等。工 作项与业务应用的关联是在定义业务流程时在流程节点上完成的,工作流引擎服务解析 节点实例时自动生成带有已定义业务应用的工作项。该模块还负责流程的流转控制,包 括流程的跳转(特送)功能、回退功能,工作项的签收、普送、特送功能,这些功能都 灵活地处理了人机交互方式,最大限度的扩展了人机交互中人的干预能力,使人的干预 与计算机的自动处理更好的结合在了一起19】。流程模板管理模块主要完成了流程实例的创建及启动功能。该功能可以根据不同业 务系统的不同需要进行封装,即在系统最合适的地方提供该功能。本系统设计完成后可 以被不同的业务应用系统妒展,核心功能是不变的,就是设置流程创建需要的初始相关 数据,初始化或启动业务流程。基于:r作流的业务处理原型系统设计与实现流程实例监控模块是融合BAM、8?117】等技术,对正在执行或者已经完成的流程 实例进行监控管理的模块。在该模块中可以査看流程实例对应的流程运转轨迹,可以査 看流程实例及相关数据的信息,可以査看每个节点上对应的工作项信息;也可以对流程进行一些控制,如终止流程、重启动流程、挂起及恢复流程;还可以査看子流程信息; 在流程实例节点上进行回退、特送等操作。系统管理模块包括原型系统中的用户管理、权限管理及工作流服务数据的管理。系 统的运转控制及工作流的资源管理都离不开人,工作流定义了一套独有的人员管理机制 和权限控制机制。登录管理子系统后可以根据不同的用户权限,赋予不同功能模块的操 作权限。工作流涉及的用户分为两类,一类是登录业务办理子系统的人,这些人存在于 业务系统的组织结构中(也可以说取自人事系统),可进行日常的业务办理工作;另一 类是工作流维护使用的人员,这些人由工作流定义并授权,可使用与业务办理子系统不 同的数据源。服

温馨提示

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

评论

0/150

提交评论