JAVA实现工作流

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前Hale Waihona Puke Baidu

在网络技术和移动电话严重渗入社会生活各个层面的今天, 传统的电信号线业务面临着巨大的压 力和挑战,为了能更好地生存和拓宽他的业务,迫切需要及时变革,而基于工作流的方案则是一个很 重要的方向。基于 Web 技术的固定电话装机系统可以借助于遍布全球的 Internet 进行,使得固定电话 业务以流水线的工作原理和效率来实现,并以统一的数据来联系各个部门,减少了各部门的接触,也 即为了公司节省了时间,间接地节省了成本,加快了中国电信服务的处理效率,留住了客户.另外, 各个部门可以分散在几个地方,只需要通过网络就可以进行相关处理,大大拓展了业务的灵活性。 固定电话装机系统的实现技术有多种,本文采用 Web 技术实现。Web 技术超越了传统的“客户 机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此 Web 结构有着更 好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,数 据存储在数据库服务器上(事务层和数据库可以是同一台机器) 。 服务器端程序的实现技术也很多,本文选用了当前比较流行的网络编程技术——JSP 作为主要实 现手段(配合 Java Servlet、Java Bean、HTML、MVC 架构等) 。JSP 作为一种 Web 实现技术,它的效 率是非常之高的。这一点正好符合了固定电话系统所要求追求的效率。JSP 自身的安全性,再加上实 现模式的特点,保证了客户资料大不丢失。 除此之外, 作为 Java 平台的一部分, JSP 拥有 Java 语言 “一 次编写,各处运行”的特点。又随着越来越多的服务器供应商将 JSP 支持添加到他们的产品中,这样 一来用 JSP 做成的这套系统可以轻松移植到其它平台来运行。
[8]
2.2.2 MVC 的具体实现 视图是模型的表示,它提供用户交互界面。使用多个包含单显示页面的用户部件,复杂的 Web 页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些 Web 页面的开发和维护。 在 ASP.NET 下,视图的实现很简单。可以像开发 WINDOWS 界面一样直接在集成开发环境下通过 拖动控件来完成页面开发本。本文中介绍每一个页面都采用复合视图的形式即:一个页面由多个子视 图(用户部件)组成;子视图可以是最简单 HTML 控件、服务器控件或多个控件嵌套构而成的 Web 自定 义控件。页面都由模板定义,模板定义了页面的布局,用户部件的标签和数目,用户指定一个模板, 平台根据这些信息自动创建页面。针对静态的模板内容,如页面上的站点导航,菜单,友好链接,这 些使用缺省的模板内容配置;针对动态的模板内容(主要是业务内容),由于用户的请求不同,只能使 用后期绑定,并且针对用户的不同,用户部件的显示内容进行过滤。使用由用户部件根据模板配置组 成的组合页面,它增强了可重用性,并原型化了站点的布局。 视图部分大致处理流程如下:首先,页面模板定义了页面的布局;页面配置文件定义视图标签的 具体内容(用户部件) ;然后,由页面布局策略类初始化并加载页面;每个用户部件根据它自己的配 置进行初始化,加载校验器并设置参数,以及事件的委托等;用户提交后,通过了表示层的校验,用 户部件把数据自动提交给业务实体即模型。 这一部分主要定义了 WEB 页面基类 PageBase;页面布局策略类 PageLayout,完成页面布局,用 于加载用户部件到页面;用户部件基类 UserControlBase 即用户部件框架,用于动态加载检验部件, 以及实现用户部件的个性化。为了实现 WEB 应用的灵活性,视图部分也用到了许多配置文件例如:置 文件有模板配置、页面配置、路径配置、验证配置等。 控制器:为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方式进行管 理。因此,为了达到集中管理的目的引入了控制器。应用程序的控制器集中从客户端接收请求(典型 情况下是一个运行浏览器的用户) ,决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任 委派给一个适当的视图组件。 用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求 委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一部分主要定义了 HttpReqDispatcher(分发者类)、HttpCapture(请求捕获者类)、Controller(控制器类)等,它们相互 配合来完成控制器的功能。请求捕获者类捕获 HTTP 请求并转发给控制器类。控制器类是系统中处理 所有请求的最初入口点。控制器完成一些必要的处理后把请求委托给分发者类;分发者类分发者负责 视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。在这一部分分别采 用了分发者、策略、工厂方法、适配器等设计模式。 MVC 系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。模型是你 所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对 象都是从 ProcessBase 类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并 且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。
2 所用相关技术和方法
2.1 工作流 2.1.1 什么叫工作流 工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决 的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现 某个预期的业务目标,或者促使此目标的实现”。 简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组任务 (或活动)及它们的相互顺序关系,还包括流程及任务(或活动)的启动和终止条件,以及对每个任 务(或活动)的描述。 工作流在大多数的实际应用中的情况可以这样来简单地描述:在网络、服务器和多台计算机客户 端的硬件平台上, 业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。 例如, 在日常办公中,当撰写好某份报告之后,可能需要将其提交给领导进行审阅或批示;审批意见可能需 要汇集并提交给另外一个人,以便对报告进行进一步的修改。这样,可能会形成同一篇文档在多个人 之间的顺序或同时传递。对于这样的情况,我们可以使用工作流技术来控制和管理文档在各个计算机 之间自动传递,而非手工传递。这就可以称之为工作流。 类似的关于文档的自动化处理只是工作流 技术的一种简单应用。事实上,工作流技术在现实生活中能够完成更多更复杂的任务。如企业(或机 构)内部的各种数据或信息的自动处理,多种业务流程的整合,企业(或机构)之间的数据交换,借 助 Internet 技术实现跨地域的数据传输和处理等等。 2.1.2 工作流发展 工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网 络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983 年至 1985 年间,在图像处理 领域和电子邮件领域出现了早期的含有工作流特征的商用系统。 进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使 得工作流技术的研究与开发进入了一个新的热潮。1993 年 8 月,第一个工作流技术标准化的工业组织 ——工作流管理联盟(Workflow Management Coalition,简称 WFMC,下同)成立。1994 年,工作流 管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。 与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。进入二十一 世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚 举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。 2.1.3 工作流的优点 实施工作流带来的好处,可以归纳为以下几点: 1、要处理的事项已自动传递到个人电脑上 2、不再需要对员工进行流程的培训,平滑实现流程变更
[8] [8]
3、员工只需将精力集中在处理自己关心的数据上 4、随时得到历史数据 5、随时生成处理效率报表 6、达到无纸化办公的目标 7、全支持移动办公,使作业同步化 8、科学管理更进一层,办公效率明显提高 9、企业的核心竞争力将有提升 10、通过流程自动化与数据库集成,以及各类表单统计查询功能,提高决策能力 2.2 MVC 工作模式 MVC 英文即 Model-View-Controller,即把一个应用的输入、处理、输出流程按照 Model、View、 Controller 的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。 视图(View)代表用户交互界面, 对于 Web 应用来说, 可以概括为 HTML 界面, 但有可能为 XHTML、 XML 和 Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多 不同的视图,MVC 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不 包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接 受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来 说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是 MVC 最 主要的核心。 目前流行的 EJB 模型就是一个典型的应用例子, 它从应用技术实现的角度对模型做了进 一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模 型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务 模型的设计。MVC 设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这 也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC 并没有提供模 型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对 象编程来做比喻,MVC 定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。 这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续 化) 。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关 数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。 划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样 的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控 制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要 求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控 制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生 了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化 -传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图 1 所示。
1 概 述
1.1 选题背景 固定电话业务前几年在亚洲有四个市场成长最快,它们分别是中国、印尼、印度和越南。而日本、 韩国、香港和新加坡则是移动电话渗透率最高的地区,亚洲地区在未来 3-5 年内将成为世界增长幅度 最为快速的市场,年增长率预计在 9%左右;预计 2010 年将超过北美成为全球最大的通讯市场。 2006 年,亚洲电信业市场竞争进一步加剧,传统固定电话营收和用户量增长继续放缓。相反,亚 洲移动通讯业的发展却是异常迅猛,增长速度最快的是—印度。 上述统计数据表明了传统的电信业务面临着前所未有的压力,针对此种种压力,固定电话装机业 务需要改善自身的服务同办事的效率,成了未来它发展的救命稻草。而才用新的技术、新的方法来提 高 他 的 效 率 是 其 唯 一 发 展 的 途 径 。 而 我 所 采 用 的 方 法 是 基 于 工 作 流 、 MVC 开 发 模 式 、 JSP+JavaBean+Servlet 的技术, 使用开源的 MyEclipse 和 Tomcat 来重新完善固定电话装机协同办公系 统。 1.2 组织结构 1、概述 2、所用的相关技术和方法 3、系统需求分析 4、系统总体设计 5、详细设计同编码 6、系统测试与维护 7、开发难点与技术 8、结束语
相关文档
最新文档