java实现工作流.docx

上传人:b****5 文档编号:8064935 上传时间:2023-01-28 格式:DOCX 页数:38 大小:411.28KB
下载 相关 举报
java实现工作流.docx_第1页
第1页 / 共38页
java实现工作流.docx_第2页
第2页 / 共38页
java实现工作流.docx_第3页
第3页 / 共38页
java实现工作流.docx_第4页
第4页 / 共38页
java实现工作流.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

java实现工作流.docx

《java实现工作流.docx》由会员分享,可在线阅读,更多相关《java实现工作流.docx(38页珍藏版)》请在冰豆网上搜索。

java实现工作流.docx

java实现工作流

前言

在网络技术和移动电话严重渗入社会生活各个层面的今天,传统的电信号线业务面临着巨大的压力和挑战,为了能更好地生存和拓宽他的业务,迫切需要及时变革,而基于工作流的方案则是一个很重要的方向。

基于Web技术的固定电话装机系统可以借助于遍布全球的Internet进行,使得固定电话业务以流水线的工作原理和效率来实现,并以统一的数据来联系各个部门,减少了各部门的接触,也即为了公司节省了时间,间接地节省了成本,加快了中国电信服务的处理效率,留住了客户.另外,各个部门可以分散在几个地方,只需要通过网络就可以进行相关处理,大大拓展了业务的灵活性。

固定电话装机系统的实现技术有多种,本文采用Web技术实现。

Web技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:

用户界面层/事务层/数据库层。

因此Web结构有着更好的安全性。

在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,数据存储在数据库服务器上(事务层和数据库可以是同一台机器)。

服务器端程序的实现技术也很多,本文选用了当前比较流行的网络编程技术——JSP作为主要实现手段(配合JavaServlet、JavaBean、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、所用的相关技术和方法

3、系统需求分析

4、系统总体设计

5、详细设计同编码

6、系统测试与维护

7、开发难点与技术

8、结束语

 

2所用相关技术和方法

2.1工作流

2.1.1什么叫工作流

工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。

简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。

一个工作流包括一组任务(或活动)及它们的相互顺序关系,还包括流程及任务(或活动)的启动和终止条件,以及对每个任务(或活动)的描述。

工作流在大多数的实际应用中的情况可以这样来简单地描述:

在网络、服务器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。

例如,在日常办公中,当撰写好某份报告之后,可能需要将其提交给领导进行审阅或批示;审批意见可能需要汇集并提交给另外一个人,以便对报告进行进一步的修改。

这样,可能会形成同一篇文档在多个人之间的顺序或同时传递。

对于这样的情况,我们可以使用工作流技术来控制和管理文档在各个计算机之间自动传递,而非手工传递。

这就可以称之为工作流。

 类似的关于文档的自动化处理只是工作流技术的一种简单应用。

事实上,工作流技术在现实生活中能够完成更多更复杂的任务。

如企业(或机构)内部的各种数据或信息的自动处理,多种业务流程的整合,企业(或机构)之间的数据交换,借助Internet技术实现跨地域的数据传输和处理等等。

[8]

2.1.2工作流发展

工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。

1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。

进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。

1993年8月,第一个工作流技术标准化的工业组织——工作流管理联盟(WorkflowManagementCoalition,简称WFMC,下同)成立。

1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。

与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。

进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。

人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。

[8]

2.1.3工作流的优点

  实施工作流带来的好处,可以归纳为以下几点:

 

   1、要处理的事项已自动传递到个人电脑上     

2、不再需要对员工进行流程的培训,平滑实现流程变更

    3、员工只需将精力集中在处理自己关心的数据上     

4、随时得到历史数据     

5、随时生成处理效率报表     

6、达到无纸化办公的目标   

  7、全支持移动办公,使作业同步化    

 8、科学管理更进一层,办公效率明显提高  

9、企业的核心竞争力将有提升    

 10、通过流程自动化与数据库集成,以及各类表单统计查询功能,提高决策能力[8]

2.2MVC工作模式

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.2MVC的具体实现

视图是模型的表示,它提供用户交互界面。

使用多个包含单显示页面的用户部件,复杂的Web页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些Web页面的开发和维护。

在ASP.NET下,视图的实现很简单。

可以像开发WINDOWS界面一样直接在集成开发环境下通过拖动控件来完成页面开发本。

本文中介绍每一个页面都采用复合视图的形式即:

一个页面由多个子视图(用户部件)组成;子视图可以是最简单HTML控件、服务器控件或多个控件嵌套构而成的Web自定义控件。

页面都由模板定义,模板定义了页面的布局,用户部件的标签和数目,用户指定一个模板,平台根据这些信息自动创建页面。

针对静态的模板内容,如页面上的站点导航,菜单,友好链接,这些使用缺省的模板内容配置;针对动态的模板内容(主要是业务内容),由于用户的请求不同,只能使用后期绑定,并且针对用户的不同,用户部件的显示内容进行过滤。

使用由用户部件根据模板配置组成的组合页面,它增强了可重用性,并原型化了站点的布局。

视图部分大致处理流程如下:

首先,页面模板定义了页面的布局;页面配置文件定义视图标签的具体内容(用户部件);然后,由页面布局策略类初始化并加载页面;每个用户部件根据它自己的配置进行初始化,加载校验器并设置参数,以及事件的委托等;用户提交后,通过了表示层的校验,用户部件把数据自动提交给业务实体即模型。

这一部分主要定义了WEB页面基类PageBase;页面布局策略类PageLayout,完成页面布局,用于加载用户部件到页面;用户部件基类UserControlBase即用户部件框架,用于动态加载检验部件,以及实现用户部件的个性化。

为了实现WEB应用的灵活性,视图部分也用到了许多配置文件例如:

置文件有模板配置、页面配置、路径配置、验证配置等。

控制器:

为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方式进行管理。

因此,为了达到集中管理的目的引入了控制器。

应用程序的控制器集中从客户端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的视图组件。

用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。

在这一部分主要定义了HttpReqDispatcher(分发者类)、HttpCapture(请求捕获者类)、Controller(控制器类)等,它们相互配合来完成控制器的功能。

请求捕获者类捕获HTTP请求并转发给控制器类。

控制器类是系统中处理所有请求的最初入口点。

控制器完成一些必要的处理后把请求委托给分发者类;分发者类分发者负责视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。

在这一部分分别采用了分发者、策略、工厂方法、适配器等设计模式。

MVC系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。

模型是你所有的商业逻辑代码片段所在。

本文为模型提供了业务实体对象和业务处理对象:

所有的业务处理对象都是从ProcessBase类派生的子类。

业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。

业务实体对象可以通过定义属性描述客户端表单数据。

所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。

通过业务实体对象实现了对视图和模型之间交互的支持。

实现时把"做什么"(业务处理)和"如何做"(业务实体)分离。

这样可以实现业务逻辑的重用。

由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。

2.2.3MVC的不足

(1)增加了系统结构和实现的复杂性。

(2)视图与控制器间的过于紧密的连接。

(3)视图对模型数据的低效率访问。

(4)目前,一般高级的界面工具或构造器不支持MVC模式。

[8]

2.3JSP技术介绍

JSP即JavaServerPage,中文全称是Java服务器语言。

它是由SunMicrosystems公司倡导、许多公司参与建立的一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。

JSP是Java阵营中最具代表性的解决方案。

使用JSP,不仅能够制作HTML静态页,还能够制作包含动态数据的网页。

[2]

2.3.1JSP的运行原理

在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSPengine)转换成一个Servlet,即将”.jsp”档编译成JavaClass档。

当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP档,检查该档在上次编译后是否改动过。

如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。

如图2所示。

图2JSP运行原理图

 

在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息,如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。

此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。

JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。

对于所有随后对该JSP档的请求,服务器将检查该JSP档自最后一次被存取后是否经过修改。

如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。

[2]

由于Servlet始终驻于内存,所以响应是非常快的。

Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件,所以速度非常得快。

2.3.2JSP的生命周期

.jsp首先会被服务器编译为.java档,然后服务器自动编译.java档生成.class档,如果.jsp档的内容改变,服务器会重新生成.java文件和.class文件。

如果有客户端访问JSP程序,那么_jsp_init方法被启动,JSP程序以实例的形式保存在服务器内,客户端通过_jspService方法与JSP程序交流数据,如果服务器关闭,JSP程序的jspDestroy方法被启动,然后JSP程序的生命周期结束。

JSP的生命周期结构图如图3所示。

图3JSP生命周期结构图

2.3.3Servlet和JavaBean技术介绍

java虚拟机是java语言的运行环境,它是java最具有吸引力的特性之一。

Java程序在编译后生成的不是某种cpu的指令码,而是java语言二字节代码。

这些位元组代码指令都是在虚拟机环境下运行的,虚拟机底层的运行系统把自己代码转化成实际的硬件调用,虽然每种操作系统的解释器各不相同,但java虚拟机是相同的,这就是java语言跨平台的原因。

现在的jvm通常包含java软件开发包(jsdk)中,jsdk提供了java中最基础的类包,java程序开发工具JAVA2SDK在SUN公司的网站中下载。

2.3.5JSP访问SQLServer2000数据库

安装与配置JDBC驱动程序

(1)找到微软公司提供的JDBC驱动程序:

SQLSever2000DriverforJDBCSP3,并安装到默认路径:

C:

\ProgramFiles\MicrosoftSQLServer2000DriverforJDBC;

(2)设置系统环境变量

●JDBC_HOME=C:

\ProgramFiles\MicrosoftSQLServer2000DriverforJDBC

●classpath=;%JDBC_HOME%\lib\msbase.jar;%JDBC_Home%\lib\mssqlserver.jar;%JDBC_Home%\lib\msutil.jar;.

(3)将JDBC目录下lib文件夹下的msbase.jar,mssqlserver.jar,msutil.jar复制到Tomecat5.0安装目录下的common\lib中。

(4)最好将SQLServer2000升级一下,这样更好用,这是我从网上借鉴的经验。

在JSP使用JDBC访问SQLServer2000数据库

url为"jdbc:

Microsoft:

sqlserver:

//localhost:

1433;DatabaseName=master"

driver为"com.microsoft.jdbc.sqlserver.SQLServerDriver"

在连数据库时还要注意server2000的数据库的访问权限和密码设置

//引入sql包&io包

at6.0,在浏览器的地址中输入http:

//localhost:

8080,如jsp及bean等没有错误,一般会将你的index.jsp/index.html檔的内容给执行并显示。

或者是你可以在你XML文件中加入一个

Login.jsp,就可以指定启动Tomcat6.0后所显示的界面。

可以为节省时间,我们可以将http:

//localhost:

8080/bysj/login.jsp设为浏览器的主页。

[2]

2.5系统开发工具简介

2.5.1Dreamweaver

Dreamweaver软件是由Macromedia公司推出的用于构筑专业网络站点和应用程序的可视化开发工具,该软件功能强大,具有开放式集成系统,流畅的开发进程。

DreamweaverMX2004提供众多功能强劲的可视化设计工具、应用开发环境以及代码编辑支持。

使开发人员和设计师能够快捷的创建代码规范的应用程序,集成程度非常高,开发环境精简而高效,开发人员能够运用Dreamweaver与他们的服务器技术构建功能强大的网络应用程序衔接到用户的数据、网络服务体系。

有了该软件,即使对HTML一无所知,也可以制作网页。

要掌握好该工具软件用它来进行JSP动态网页设计,我们需要掌握HTML(超文本标记语言)、CSS(层叠样式表)、VBScript或者JavaScript以及上面我们介绍的JSP技术中的内置对象,这几个基本技术或知识都可以在Deamweaver这么一款软件中集成编辑使用[9]

2.5.2MyEclipse

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

 Genuitec发布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。

它的价格对于个人和企业开发人员来说都是非常有吸引力的。

这是J2EEIDE市场一个重量级的选手。

通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle数据库开发,MyEclipse5.0继续为业界提供全面的产品。

Genuitec总裁MaherMasri说,“今天,MyEclipse已经提供了意料之外的价值。

其中的每个功能在市场上单独的价格都比MyEclipse要高。

但是,我们承诺为顾客提供全面并且可以买得起的解决方案。

按照这个传统,我们的顾客将继续享受年度订购活动的好处,该活动提供了所有发布功能的入口以及伴随MyEclipse5.0一起的专业技术支持。

2.5.3Tomcat

Tomcat是Apache公司组织开发的一种JSP引擎,由于自身具有Web服务器,可以作为独立的Web服务器使用。

可以从官方网站http:

//www.apache.org免费下载最新版本。

它的安装和环境变量的设置与JSDK的差不多,这里就不介绍了。

2.5.4SQLServer2000

作为一个完善的数据库系统,SQLServer2000提供了一些功能强大使用方便的数据库管理工具。

在成功安装了SQLServer2000以后,我们可以在开始菜单中看到如图4所示的工具程序。

图5SQLServer2000服务管理器

2.企业管理器

企业管理器将帮助我们对SQLServer数据库的各种对象进行管理和操作。

企业管理器的操作窗口和Windows文件管理器非常相似,如图6所示。

在企业管理器中包含二个窗口,其中左侧的窗口是以“树状目录”显示的活动窗口,右侧是显示内容的窗口。

通过单击左侧窗口中的加号可以展开各个项目包含的子项目,通过选中某个项目节点可以在右侧的内容窗口中看到该项目包含的内容。

图7查询分析器

4.其他的如事件探查器、客户端网络实用工具、服务器端网络实用工具、导入导出数据、联机丛书在这里就省略,详情可到相关资料上进行查询。

[2]

2.5.5chs_sql2ksp3

MicrosoftSQLServer2000ServicePack3a(SP3a)是为了jsp能使用SQLServer2000的一款补丁。

同时为了解决Slammer蠕虫引起的问题而对SQLServer2000SP3所做的更改综合在了一起:

可以对SQLServer2000企业评估版应用SP3a,以便将修复程序应用于该版本SQLServer的实例。

SP3a解决了一些客户在SQLServer2000SP3中安装Microsoft数据访问组件(MDAC)时遇到的安装问题。

3系统需求分析

3.1系统功能分析

系统需要经过有效的身份验证才可以登录。

(1)将登录本系统的身份定为八种:

分别是录入室人员、收费人员、选号人员、配线人员、112跳线人员、程控人员、安装人员和监控经理,只有被授权的用户,并且输入正确的验证码,才可以使用本系统的资源。

(2)录入室子系统:

受理申请电话装机业务;时刻查询已录入的客户资料;提供数据审查的功能;提供对全部手续和安装都已实现的客户的数据进行备份存档,并置其在处理队列中不可见;有能力生成工单,让客户能确认已输入的数据

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1