前 言
在网络技术和移动电话严重渗入社会生活各个层面的今天,传统的电信号线业务面临着巨大的压力和挑战,为了能更好地生存和拓宽他的业务,迫切需要及时变革,而基于工作流的方案则是一个很重要的方向。基于 Web 技术的固定电话装机系统可以借助于遍布全球的Internet 进行,使得固定电话业务以流水线的工作原理和效率来实现,并以统一的数据来联系各个部门,减少了各部门的接触,也即为了公司节省了时间,间接地节省了成本,加快了中国电信服务的处理效率,留住了客户.另外,各个部门可以分散在几个地方,只需要通过网络就可以进行相关处理,大大拓展了业务的灵活性。
固定电话装机系统的实现技术有多种,本文采用 Web 技术实现。Web 技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此 Web 结构有着更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,数据存储在数据库服务器上(事务层和数据库可以是同一台机器)。服务器端程序的实现技术也很多,本文选用了当前比较流行的网络编程技术——JSP 作为主要实现手段(配合 Java Servlet、Java Bean、HTML、MVC 架构等)。JSP 作为一种 Web 实现技术,它的效率是非常之高的。这一点正好符合了固定电话系统所要求追求的效率。JSP 自身的安全性,再加上实现模式的特点,保证了客户资料大不丢失。除此之外,作为 Java 平台的一部分,JSP 拥有 Java 语言“一次编写,各处运行”的特点。又随着越来越多的服务器供应商将 JSP 支持添加到他们的产品中,这样一来用 JSP 做成的这套系统可以轻松移植到其它平台来运行。
1 概 述
1.1 选题背景
固定电话业务前几年在亚洲有四个市场成长最快,它们分别是中国、印尼、印度和越南。而日本、韩国、香港和新加坡则是移动电话渗透率最高的地区,亚洲地区在未来 3-5 年内将成为世界增长幅度最为快速的市场,年增长率预计在 9%左右;预计 2010 年将超过北美成为全球最大的通讯市场。
2006 年,亚洲电信业市场竞争进一步加剧,传统固定电话营收和用户量增长继续放缓。相反,亚洲移动通讯业的发展却是异常迅猛,增长速度最快的是—印度。上述统计数据表明了传统的电信业务面临着前所未有的压力,针对此种种压力,固定电话装机业务需要改善自身的服务同办事的效率,成了未来它发展的救命稻草。而才用新的技术、新的方法来提高他的效率是其唯一发展的途径。而我所采用的方法是基于工作流、MVC开发模式、JSP+JavaBean+Servlet 的技术,使用开源的 MyEclipse 和 Tomcat 来重新完善固定电话装机协同办公系统。1.2 选题背景
1.2 组织结构
1、概述
2、所用的相关技术和方法
3、系统需求分析
4、系统总体设计
5、详细设计同编码
6、系统测试与维护
7、开发难点与技术
8、结束语
2 所用相关技术和方法
2.1 工作流
2.1.1 什么叫工作流
工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组任务(或活动)及它们的相互顺序关系,还包括流程及任务(或活动)的启动和终止条件,以及对每个任务(或活动)的描述。
工作流在大多数的实际应用中的情况可以这样来简单地描述:在网络、服务器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。例如,在日常办公中,当撰写好某份报告之后,可能需要将其提交给领导进行审阅或批示;审批意见可能需要汇集并提交给另外一个人,以便对报告进行进一步的修改。这样,可能会形成同一篇文档在多个人之间的顺序或同时传递。对于这样的情况,我们可以使用工作流技术来控制和管理文档在各个计算机之间自动传递,而非手工传递。这就可以称之为工作流。 类似的关于文档的自动化处理只是工作流技术的一种简单应用。事实上,工作流技术在现实生活中能够完成更多更复杂的任务。如企业(或机构)内部的各种数据或信息的自动处理,多种业务流程的整合,企业(或机构)之间的数据交换,借助 Internet 技术实现跨地域的数据传输和处理等等。[8]2.1.2 工作流发展
工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983 年至 1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1993 年 8 月,第一个工作流技术标准化的工业组织——工作流管理联盟(Workflow Management Coalition,简称 WFMC,下同)成立。1994 年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。[8]
2.1.3 工作流的优点
实施工作流带来的好处,可以归纳为以下几点:
1、要处理的事项已自动传递到个人电脑上
2、不再需要对员工进行流程的培训,平滑实现流程变更
3、员工只需将精力集中在处理自己关心的数据上
4、随时得到历史数据
5、随时生成处理效率报表
6、达到无纸化办公的目标
7、全支持移动办公,使作业同步化
8、科学管理更进一层,办公效率明显提高
9、企业的核心竞争力将有提升
10、通过流程自动化与数据库集成,以及各类表单统计查询功能,提高决策能力 [8]
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 所示。
2.2.2 MVC 的具体实现
视图是模型的表示,它提供用户交互界面。使用多个包含单显示页面的用户部件,复杂的 Web 页面可以展示来自多个数据源的内容,并且网页员,美工能独自参与这些 Web 页面的开发和维护。在 ASP.NET 下,视图的实现很简单。可以像开发 WINDOWS 界面一样直接在集成开发环境下通过拖动控件来完成页面开发本。本文中介绍每一个页面都采用复合视图的形式即:一个页面由多个子视图(用户部件)组成;子视图可以是最简单 HTML 控件、服务器控件或多个控件嵌套构而成的 Web 自定义控件。页面都由模板定义,模板定义了页面的布局,用户部件的标签和数目,用户指定一个模板,平台根据这些信息自动创建页面。针对静态的模板内容,如页面上的站点导航,菜单,友好链接,这些使用缺省的模板内容配置;针对动态的模板内容(主要是业务内容),由于用户的请求不同,只能使用后期绑定,并且针对用户的不同,用户部件的显示内容进行过滤。使用由用户部件根据模板配置组成的组合页面,它增强了可重用性,并原型化了站点的布局。
视图部分大致处理流程如下:首先,页面模板定义了页面的布局;页面配置文件定义视图标签的具体内容(用户部件);然后,由页面布局策略类初始化并加载页面;每个用户部件根据它自己的配置进行初始化,加载校验器并设置参数,以及事件的委托等;用户提交后,通过了表示层的校验,用户部件把数据自动提交给业务实体即模型。这一部分主要定义了 WEB 页面基类 PageBase;页面布局策略类 PageLayout,完成页面布局,用于加载用户部件到页面;用户部件基类 UserControlBase 即用户部件框架,用于动态加载检验部件,以及实现用户部件的个性化。为了实现 WEB 应用的灵活性,视图部分也用到了许多配置文件例如:置文件有模板配置、页面配置、路径配置、验证配置等。控制器:为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方式进行管理。因此,为了达到集中管理的目的引入了控制器。应用程序的控制器集中从客户
端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的视图组件。
用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一部 分 主 要 定 义 了 HttpReqDispatcher( 分 发 者 类 ) 、 HttpCapture( 请 求 捕 获 者 类 ) 、Controller(控制器类)等,它们相互配合来完成控制器的功能。请求捕获者类捕获 HTTP 请求并转发给控制器类。控制器类是系统中处理所有请求的最初入口点。控制器完成一些必要的处理后把请求委托给分发者类;分发者类分发者负责视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。在这一部分分别采用了分发者、策略、工厂方法、适配器等设计模式。
MVC 系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从 ProcessBase 类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都 EntityBase 派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和 request、response 对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现时把"做什么"(业务处理)和"如何做"(业务实体)分离。这样可
以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。2.2.3 MVC 的不足
(1)增加了系统结构和实现的复杂性。
(2)视图与控制器间的过于紧密的连接。
(3)视图对模型数据的低效率访问。
(4)目前,一般高级的界面工具或构造器不支持 MVC 模式。[8]
2.3 JSP 技术介绍
JSP 即 Java Server Page,中文全称是 Java 服务器语言。它是由 Sun Microsystems 公司倡导、许多公司参与建立的一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP 是 Java 阵营中最具代表性的解决方案。使用 JSP,不仅能够制作 HTML 静态页,还能够制作包含动态数据的网页。[2]
2.3.1 JSP 的运行原理
在 JSP 第一次获得来自于客户端浏览器的请求时,JSP 文件将被 JSP 引擎(JSP engine)转换成一个 Servlet,即将”.jsp”档编译成 Java Class 档。当 Servlet 引擎接收到请求后,如果设置了使用最新的 JSP,它就会去找 JSP 档,检查该档在上次编译后是否改动过。如果改动过,就会重新编译生成新的 Servlet,最终将请求转交给编译好的 Servlet 引擎执行。如图 2 所示。
【下载地址】
百度网盘链接:https://pan.baidu.com/s/1loiVQfg7ggnoF2KjeDmdCg
提取码:wxsn
相关文章
使用-JFreeChart来创建基于web的图表
XStream使用文档
WebService发布过程及常见问题
webpack实战入门进阶调优分享
weblogic调优参数及监控指标
weblogic节点管理
weblogic管理控制台概述
weblogic-部署和启动
WebLogic-Server-性能及调优-调优-Java-虚拟机
Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。
FlashFXP绿色版网盘下载,附激活教程 1778
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1564
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1623
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1706
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1822
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64