1、重庆理工大学毕业设计论文 web 系统助手的设计与实现毕业设计(论文)题目 web 系统助手的设计与实现 二级学院 计算机科学与工程学院 专 业 软件工程 班 级 1 学生姓名 学号指导教师 职称 讲 师 时 间 2014 年 6 月 重庆理工大学毕业设计论文 web 系统助手的设计与实现I目 录摘 要 IAbstractII1. 绪论 11.1 系统开发的背景及意义 .11.2 Web 系统助手的发展现状 .21.3 系统应用技术概述 .21.3.1 RMI 技术框架 21.3.2 Flex RIA 介绍 .31.3.3 Flex 数据访问组件 .42. 系统需求分析 62.1 需求概述 .
2、62.2 系统功能需求 .62.3 软件质量需求 .93. 系统设计 .113.1 简述 .113.2 架构设计 .113.2.1 系统物理架构 113.2.2 系统业务架构 123.2.3 系统功能架构 133.3 关键问题解决方案设计 .153.3.1 简述 153.3.2 Web 端启动 web 助手(pc 应用) .153.3.3 Web 端与 web 助手通信 173.3.4 Web 助手单点登录 18重庆理工大学毕业设计论文 web 系统助手的设计与实现II3.3.5 Web 助手与文件系统通信(文件断点续传) 203.3.6 负载均衡以及文件存储策略 213.4 系统详细设计 .
3、243.4.1 用户登录模块设计 243.4.2 文件管理 283.4.3 消息管理 323.5 数据库设计 .353.5.1 数据库概念结构设计 353.5.2 逻辑结构设计 363.5.3 物理结构设计 384. 系统实现 .404.1 单点登录实现 .404.1.1 主要代码 404.1.2 功能界面 414.2 文件断点续传实现 .414.2.1 主要代码 414.2.2 功能界面 434.3 消息实时提醒实现 .434.3.1 主要代码 434.3.2 功能界面 445. 系统测试 .455.1 测试计划 .455.2 测试设计 .455.3 测试实施 .486. 总结 .49致 谢
4、 .50重庆理工大学毕业设计论文 web 系统助手的设计与实现III参考文献 51文献综述 53全套源程序代码加 153893706重庆理工大学毕业设计论文 web 系统助手的设计与实现I摘 要Web 系统助手是一套以增强传统 web 应用为目的的桌面应用系统。传统 web 应用是基于浏览器的应用,浏览器的固有交互方式,安全限制等因素会造成 web 应用无法实时消息提醒,文件上传功能单一,登录繁琐。本系统通过分析传统 web 应用缺陷,以“ 科委项目申报系统” 为案例,设计完成了一套以提升传统 web 应用用户体验,增强传统 web 应用软件质量为目的 c/s 与 b/s 架构相结合的系统。本
5、系统能够解决:1、消息实时接收。2、大文件断点续传,分布式存储。3、单点登录。本系统在 Flex 平台下开发,客户端采用 flex AIR 技术,Web 前端采用flash 技术,实现客户端与 web 端通信。服务端在 java 平台下使用 Hibernate和 Spring 等框架技术做到数据持久化,事务管理。用 DBblaze 框架实现 flex与 java 服务端通信。论文分为 7 部分,第一部分首先介绍了课题研究的背景和意义,web 系统助手的发展现状以及系统应用技术做了简短介绍;第二部分详细的阐述了系统的需求分析;第三部分介绍从架构设计,关键问题解决方案设计,系统详细设计,数据库设计
6、等方面来阐述系统设计。第四部分从主要代码和功能效果方面介绍了系统实现,第五部分做了系统测试。最后第六部分对论文的研究成果进行了总结。关键词:web 系统助手 实时 断点续传 单点登录 分布式重庆理工大学毕业设计论文 web 系统助手的设计与实现IIAbstractWeb Assistant is a system to enhance traditional web applications for the purpose desktop applications.Traditional web applications are based on the inherent interactiv
7、e mode applications , the browser browser , and security restrictions and other factors that may cause the web application can not be real-time news alert , single file upload function , log cumbersome.The system by analyzing the defects of traditional web applications , “the CST project reporting s
8、ystem “ for the case of a completed design to enhance the user experience of traditional web applications , and enhance the quality of traditional web applications for the purpose of c / s and b / s architecture phase binding systems. The system is able to solve :1、the message received in real time
9、.2、large file HTTP, distributed storage .3、ingle sign-on .The system platform developed under the Flex client using flex AIR technology, Web front-end using flash technology, the client communicates with a web client. Server using frameworks such as Hibernate and Spring technologies to achieve data
10、persistence in java platform , transaction management. Achieve flex and java server communication DBblaze framework.Paper is divided into seven parts, the first part introduces the background and significance of the research , web systems and system development status assistant application technolog
11、y made a brief introduction ; second part describes in detail the system requirements analysis ; third part introduces the overall architecture of the system , then the design of the database and the functional modules of the system has done a detailed exposition ; part V describes the realization o
12、f the main functions of the system , including the interface and some of the key code ; part VI of the system testing and impact assessment are described ; Finally part VII of research results summarized .Key words: Assistant web system, Real time, HTTP, Single Sign-On ,Distributed重庆理工大学毕业设计论文 web 系
13、统助手的设计与实现I11. 绪论1.1 系统开发的背景及意义Web 应用程序是一种可以通过 Web 访问的应用程序。 Web 应用程序的一个最大好处是用户很容易访问应用程序,用户只需要有浏览器即可。在计算机产业飞速发展的 12 年间,软硬件以及互联网已有日新月异的变化。业务需求愈加复杂的今天,传统的 web 应用已经露出了它的不足之处。传统的 web 系统基于 B/S 模式, B/S 模式本身具体很多优点,但同时也存在一些不能依靠 B/S 模式克服的重要的缺陷,如:1、用户接受 web 端发送的消息不够及时;2、文件上传有大小限制,不支持多文件同时上传,也不支持断点续传;3、用户想要访问 we
14、b 系统的某个功能,需要经过登录,跳转等诸多繁琐的步骤。这些 web 系统的缺陷会给用户的操作带来极大的不便,而且随着业务的不断增大,这些缺陷所暴露出来的问题也越来越严重,促使软件商不得不高度重视这个问题,于是开发一个能够辅助 web 系统的软件显得十分有必要。Web 系统助手能够弥补 Web 系统先天所存在的缺陷,延长 Web 系统的生命周期。从用户的角度看,使用 Web 系统助手相比直接使用 Web 系统更加方便,界面交互更加友好,操作效率更高。从软件开发商的角度来看,使用Web 系统助手可以轻松的解决一些 B/S 系统固有的技术难题,而且能把 Web系统助手直接通过接口的方式集成到该开发
15、商开发的其它 Web 系统。现针对以上问题,web 系统助手提出解决方案,首要解决:1、消息实时提醒。2、大文件断点续传,分布式存储。3、单点登录。本系统,主要针对以上问题,从需求分析,系统设计,主要实现等方面来讨论,设计和开发 web 系统助手。重庆理工大学毕业设计论文 web 系统助手的设计与实现21.2 Web 系统助手的发展现状Web 系统助手在现今大型互联网应用中应用极为广泛。从辅助 web 应用角度来说,有大家熟知的互联网应用 QQ。它在打开网页时,会启用单点登录打开的网页,比如 qq 空间,邮箱系统等;迅雷在建立文件任务下载前,会启动迅雷应用。以及 youku 客户端等。web
16、系统助手技术已相对成熟。但是各种 web 系统助手的功能却不尽相同,有的以非常单一的功能构成,有的以极为丰富的功能构成。随着日益复杂的需求,web 系统助手会以各种表现形式出现。web 应用不断发展, Web 系统助手将会在以后的互联网应用中大展拳脚,web 系统助手也将会有拥有自己的发展市场。但目前的 web 系统助手仍然存在一些问题,如:1、没有统一的标准,通用性差.2、缺乏知识管理,资源共享。主要的实现技术没有开源社区支持。1.3 系统应用技术概述 1.3.1 RMI 技术框架远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调
17、用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样。这种机制给分布计算的系统设计、编程都带来了极大的方便。只要按照RMI 规则设计程序,可以不必再过问在 RMI 之下的网络细节了,如:TCP 和Socket 等等。任意两台计算机之间的通讯完全由 RMI 负责。调用远程计算机上的对象就像本地对象一样方便。1、面向对象:RMI 可将完整的对象作为参数和返回值进行传递,而不仅仅是预定义的数据类型。也就是说,可以将类似 Java 哈西表这样的复杂类型作为一个参数进行传递。重庆理工大学毕业设计论文 web 系统助手的设计与实现32、可移动属性:RMI 可将属性从客户
18、机移动到服务器,或者从服务器移动到客户机。3、设计方式:对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能,如二层和三层结构系统。如果用户能够传递属性,那么就可以在自己的解决方案中使用面向对象的设计方式。所有面向对象的设计方式无不依靠不同的属性来发挥功能,如果不能传递完整的对象包括实现和类型就会失去设计方式上所提供的优点。4、安全性:RMI 使用 Java 内置的安全机制保证下载执行程序时用户系统的安全。RMI 使用专门为保护系统免遭恶意小程序侵害而设计的安全管理程序。5、便于编写和使用RMI 使得 Java 远程服务程序和访问这些服务程序的 Java 客户程序的编写工作变得轻松
19、、简单。远程接口实际上就是 Java 接口。为了实现 RMI 的功能必须创建远程对象任何可以被远程调用的对象必须实现远程接口。但远程接口本身并不包含任何方法。因而需要创建一个新的接口来扩展远程接口。新接口将包含所有可以远程调用的方法。远程对象必须实现这个新接口,由于新的接口扩展了远程接口,实现了新接口,就满足了远程对象对实现远程接口的要求,所实现的每个对象都将作为远程对象引用。本系统分布式文件系统主要用此技术框架实现。远程调用用于检测文件系统的负载。最终根据负载情况为上传的文件指定一台文件服务器,以实现负载均衡。1.3.2 Flex RIA 介绍Flex 是一个高效、免费的开源框架,可用于构建
20、具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player 和 Adobe AIR, 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex 应用程重庆理工大学毕业设计论文 web 系统助手的设计与实现4序,但 Adobe Flash Builder(之前称为 Adobe Flex Builder)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。使用 Flex 创建的 RIA 可运行于使用 Adobe Flash Player 软件的浏览器中,或在浏览器外运行于跨操作系统运行时 Adobe AIR 上,它
21、们可以跨所有主要浏览器、在桌面上实现一致的运行。连接到 Internet 的计算机中超过 98% 装有 Flash Player,这是一个企业级客户端运行时,它的高级矢量图形能处理要求最高、数据密集型应用程序,到桌面应用程序的执行速度。通过利用 AIR,Flex 应用程序可以访问本地数据和系统资源。1.3.3 Flex 数据访问组件通过数据访问组件,客户端应用程序可以通过网络调用操作和服务。数据访问组件使用远程过程调用与服务器环境进行交互。数据访问组件有以下三种:RemoteObject 组件、HTTPService 组件和 WebService 组件。数据访问组件是针对客户端应用程序设计的,
22、其中的调用和响应模型是访问外部数据的最佳选择。通过这些组件,客户端可以对处理请求的远程服务发出异步请求,然后将数据返回到应用程序。数据访问组件调用远程服务。随后将从服务获得的响应数据存储到 ActionScript 对象中,或存储为服务返回的任何其它格式。在客户端应用程序中使用数据访问组件可处理以下三种服务类型:1. 远程对象服务 (RemoteObject)2. Web 服务 (WebService)3. HTTP 服务 (HTTPService) WebService 组件WebService 组件用于访问 SOAP Web 服务,此类服务是带有方法的软件模块。Web 服务方法通常称为“操
23、作”。Web 服务接口通过 Web 服务描述语言 (WSDL) 进行定义。通过 Web 服务提供的标准相容方式,在不同平台上运行的软件模块可以相互交互。有关 Web 服务的详细信息,请访问万维网联合会网站的 Web 服务部分,网址为 www.w3.org/2002/ws/。重庆理工大学毕业设计论文 web 系统助手的设计与实现5客户端应用程序可以与在 Web 服务描述语言 (WSDL) 文档(以 URL 形式提供)中定义其接口的 Web 服务进行交互。WSDL 是一种标准格式,用于描述能够由 Web 服务理解的消息、 Web 服务对于这些消息的响应格式、Web 服务支持的协议以及将这些消息发送
24、到何处。Flex 支持 WSDL 1.1,有关说明,请访问 www.w3.org/TR/wsdl。Flex 支持 RPC-encoded 和 document-literal Web 服务。Flex 支持格式设置为 SOAP 消息且通过 HTTP 传输的 Web 服务请求和结果。SOAP 提供基于 XML 格式的定义,用于在 Web 服务客户端(如使用 Flex 构建的应用程序)和 Web 服务之间交换结构化和类型化信息。如果在您的环境中 Web 服务是公认标准,则可以使用 WebService 组件连接 SOAP 相容的 Web 服务。对于企业环境中的对象, WebService 组件也很有
25、用,但无需在 Web 应用程序的源路径上提供。Flash Builder 提供了用于以交互方式连接 Web 服务的工作流。有关更多信息,请参阅 访问 Web 服务 。 RemoteObject 组件与 REST 样式服务或 Web 服务一样,使用远程对象服务可以直接以本机格式访问业务逻辑,而无需转化为 XML 格式,从而节约将现有逻辑公开为 XML 所需的时间。远程对象服务的另一个好处是通过有线网络进行通信的速度较快。虽然数据交换仍通过 HTTP 或 HTTPS 进行,但数据自身会序列化为二进制表示形式。使用 RemoteObject 组件将减少通过有线网络传输的数据量,降低客户端内存使用率,
26、从而缩短处理时间。在访问服务器上的数据时,ColdFusion 、PHP、BlazeDS 和 Adobe LiveCycle Data Services 可以使用服务器端类型化。客户端应用程序可直接通过远程调用指定对象上的方法,来访问 Java 对象、ColdFusion 组件(本质上是一个 Java 对象)或 PHP 类。服务器上的对象使用本机数据类型作为参数,使用这些参数查询数据库,并返回属于其本机数据类型的值。重庆理工大学毕业设计论文 web 系统助手的设计与实现62. 系统需求分析2.1 需求概述需求分析是系统开发的很重要的一环,首先要进行需求调研,包括创建调研计划、协调调研时间;收集
27、客户资料、获取客户需求;然后是编写需求文档,确定开发环境与运行环境,估算出项目工作量。在这一阶段,系统分析员还要列出系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里还可以初步定义好少量的界面。在需求分析阶段系统分析员要多次和客户进行沟通,以便能够满足客户的需求。本文参考以前 WEB 系统助手的成功经验,并经过仔细的分析与调查后,得出系统用例如图所示:上 上 上 上上 上 上 上 上 上上 上 上 上 上 上 上 上 上上 上 上 上上 上 上上 上 上 上 上 上 上 上图 2-1 系统用例图2.2 系统功能需求 Web 系统助手业务功能Web 系
28、统助手业务主要包括以下几方面:1、文件上传功能。要求支持大文件上传,多文件同时上传,文件的分布式存储,并且上传时依靠提供负载均衡器选择服务器。能够观察上传任务的进度、大小、状态等,能够对上传的任务进行开始,暂停,删除等操作。文件功能详细用例表示如下:重庆理工大学毕业设计论文 web 系统助手的设计与实现7上 上 上 上上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上上 上 上图 2-2 文件系统用例图2、及时消息通信功能。普通用户可以在不登陆 web
29、系统的情况下及时的接收 web 系统发送的消息,如果也没有登录 Web 系统助手,那么在将信息保存,当用户登录时提示。管理用户可以对消息进行管理,包括发送,编辑,删除消息等操作。详细用例表示如下:上 上 上 上上 上 上上 上 上 上 上 上上 上 上 上上 上 上 上上 上 上 上上 上 上 上上 上 上 上图 2-3 消息系统用例图重庆理工大学毕业设计论文 web 系统助手的设计与实现8 Web 系统助手系统功能Web 系统助手的系统功能主要包括以下几方面 :1、单点登录功能。Web 系统和 Web 系统助手共享用户的登录信息,用户登录或注销通过单点登录服务器来统一完成。用例图如下:上 上
30、 上 上web上 上 上 上web上 上 上 上 上 上 上 上 上 上图 2-4 单点登录系统用例图2、集成到 Web 系统的功能。要求能将 Web 系统助手集成到 Web 系统中,且要求配置简单。集成 Web 系统的业务功能。 Web 系统助手能够将 Web 系统的业务集成到助手当中,要求配置简单,且能够集成以 WebService 发布的 web 系统。除此之外,还有如下要求: 1、安全性。Web 系统助手与 Web 系统采用单点登录,所以要对用户的信息采用加密,隐藏等安全性措施。2、稳定性。当同时登录 Web 系统的用户逐渐增多时,尤其是用户在使用上传等对系统有高负荷的功能时,要使用负
31、载均衡器来合理分配服务端的服务器。3、移植性。Web 系统助手不是孤立的,它可能以后会在移动端或者其它各种设备中运行。在 Web 系统助手开发的过程中,应确保数据互通是各平台兼容的,不仅是客户端,还需要操作系统的兼容。4、扩展性。Web 系统助手要求能够以多种便捷的方式集成各种 Web 系统和 Web 系统的业务功能,系统需要提供强大的扩展性以保证新业务能简单易行地整合到系统。5、便捷性。因为本系统是一款直接被用户使用的助手软件,所以要求操重庆理工大学毕业设计论文 web 系统助手的设计与实现9作简捷方便,符合多数用户的操作习惯。总而言之,本系统要实现的目标并不仅仅是针对某一个特定 Web 系
32、统功能的功能软件,更是成为一个能够集成多个 web 系统,多种 web 系统业务功能的助手软件。2.3 软件质量需求软件要符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。并且在软件开发的过程中要遵循以下的几点要求:需求分析:1. 确保客户所要求的系统是可行的。 2. 确保客户指定的需求确实能够满足他的真正要求。 3. 避免开发者和客户之间的误解。 4. 向用户提供为满足他所提出的需求而实际构建的适当软件系统。 软件规格说明:1. 通过建立需求跟踪文档,确保规格说明书与系统需求保持一致。 2. 确保规格说明书能适当地改进系统的灵活性、可维护
33、性以及性能。 3. 确保已建立了测试策略。 4. 确保已建立了现实的开发进度表,包括 预定的评审。 5. 确保已为系统设计了正式的变更规程。 设计:1. 确保已建立用于描述设计的标准,并且确保遵循这些标准。 2. 确保适当地控制并用文档记录对设计进行的变更。 3. 确保在系统设计组件已按照商定的准则得到批准之后才开始编码。 4. 确保对设计的评审按照进度进行。 5. 确保代码遵循已建立的风格、结构和文档标准。 重庆理工大学毕业设计论文 web 系统助手的设计与实现106. 确保代码经过适当测试和集成,同时对编码模块的修改得到适当的标识。7. 查看代码编写是否遵循既定的进度。 8. 确保代码评审
34、按照进度进行。 测试:1. 确保测试计划的建立和遵循。 2. 确保创建的测试计划能够满足所有系统规格说明书的要求。 3. 确保经过测试和返工后软件与规格说明书保持一致。 维护:1. 确保代码和文档的一致性。 2. 确保对已建立的变更控制过程进行监测,包括将变更集成到软件的产品版本中的过程。 3. 确保对代码的修改遵循编码标准,并且要对其进行评审,不要破坏整个代码结构。重庆理工大学毕业设计论文 web 系统助手的设计与实现113. 系统设计3.1 简述系统采用 C/S 和 B/S 的混合结构模式。系统的分析设计采用面向对象的技术,应用 VisioViewer、starUML 等工具进行辅助设计。
35、系统的设计原则如下:1用户界面设计原则:为了让系统拥有良好人机交互界面,本软件系统用户界面布局应考虑到用户的操作习惯,做到功能布局明显、空间分配平衡,以及界面统一规范化等。2数据库设计原则:在进行数据库设计时需要注意命名的规范,数据的一致性和完整性等。3用户操作简单快捷:作为一款助手软件,在用户操作上,用户感觉操作简单易上手,符合多数用户的操作习惯,且提供某些快捷功能,如系统托盘等。4高度可扩展性原则:考虑到本系统是针对 Web 系统的助手软件,需要集成许多 Web 系统的系统功能,所以本系统的数据交互跨平台,且提供了对Web 系统的集成接口。3.2 架构设计3.2.1 系统物理架构系统共分为
36、两个服务,分别是前台客户端和后台服务端:1、前台客户端:使用 Flex 桌面应用程序来显示前台 Web 系统助手的客户端,它与后台的 Web 系统助手构成了基于 C/S 的架构,使用浏览器来显示Web 系统的前端,可以显示现在流行的 JSP、ASP、PHP、PERL 等动态页面,它与后台的 Web 服务器构成基于 B/S 的架构2、后台服务端: Web 系统助手服务器与 Web 服务器可单独部署,Web重庆理工大学毕业设计论文 web 系统助手的设计与实现12服务器和 Web 系统助手服务器都可使用同一数据库,同时,当 Web 系统助手执行文件上传功能时,可通过负载均衡器来分配文件服务器。图
37、3-1 系统物理架构图3.2.2 系统业务架构以业务调用过程图来说明本系统在整个 web 业务架构下大体业务流程,如下图:图 3-2 web 系统业务调用过程重庆理工大学毕业设计论文 web 系统助手的设计与实现13Web 系统助手主要业务调用过程如下:图 3-3 web 系统助手业务调用过程3.2.3 系统功能架构下面采用结构化的图形方式对 Web 系统助手的操作流程进行说明分析。系统根据功能可分为 3 个子模块(注:这只是本系统暂时集成的功能模块,还可继续集成其他 Web 系统的业务功能) ,下面就对这些子模块进行阐述分析。以下是 Web 系统助手后台的功能架构图:重庆理工大学毕业设计论文
38、 web 系统助手的设计与实现14图 3-4 web 系统助手后台功能架构图以下是 web 系统助手客户端功能架构图:图 3-5 web 系统助手客户端功能架构图重庆理工大学毕业设计论文 web 系统助手的设计与实现15用户通过登录界面登录本系统后,系统将会呈现包括文件上传管理、消息管理、等功能界面,用户可以根据需要选择相应的功能。下面对各功能模块间的操作处理关系进行说明: 1、文件上传管理。用户在本模块可以对文件进行上传操作,同时也可以暂停文件的上传,或者多个文件同时上传。可以删除已经建立的文件任务,也可以暂停正在执行的任务。2、消息管理。Web 系统助手可以放入系统托盘,当 Web 系统给
39、用户发送了消息,系统托盘会提示,同时,也可以快捷的通过 Web 系统助手查看消息。3、单点登录。用户无论从 web 登录,还是从 web 助手登录,可直接从客户端访问 web 网页,无须再次登录。所能快捷打开的网页可以自行配置。3.3 关键问题解决方案设计 3.3.1 简述本系统主要涉及 5 个技术难点。每个技术难点的实现都是有选择性的。本系统根据各种技术实现方式,结合自身系统环境,参考目前互联网应用。选择一种最适合本系统的技术实现方式,快速,简单,安全,稳定地构建本系统。3.3.2 Web 端启动 web 助手(pc 应用)目前互联网实现 web 端调用桌面应用的技术主要有两种方式: 利用
40、web 插件利用 web 插件方式实现 web 端启动桌面应用,优点在于夸平台性高,稳定。目前可见互联网产品,迅雷,QQ,快播等都是用这种方式启动桌面应用。这也是比较成熟的解决方案。但此种方式实现过于复杂。如果要实现跨平台,至少需要开发两套插件:ActiveX:一套是在 windows 平台上的 IE 浏览器 ActiveX 插件。ActiveX 是一个开放的集成平台,为开发人员、 用户和 Web 生产商提供了一个快速重庆理工大学毕业设计论文 web 系统助手的设计与实现16而简便的在 Internet 和 Intranet 创建程序集成和内容的方法。 使用 ActiveX, 可轻松方便的在
41、Web 页中插入 多媒体效果、 交互式对象、以及复杂程序,创建用户体验相当的高质量多媒体 CD-ROM 。NPAPI: 另一套是其它符合标准浏览器的 NPAPI 插件。NPAPI(Netscape Plugin Application Programming Interface,网景插件应用程序接口)是用于在浏览器中执行外部应用程序的通用接口,与微软的 ActiveX 是竞争技术。每个插件声明自己支持某一种或几种内容类型(例如“audio/mp3”) ,当浏览器遇到这种类型的内容时,便在插件库寻找一种能够解码的插件,将这部分内容交由其解析,并在网页对应的位置中显示出来。大致流程如下:图 3-6
42、 web 端启动桌面应用流程简图两种插件开发成本相当高。插件的安装与维护也是一大难题。所以本系统没有使用这种方式。 针对 windows 系统,利用 windows 可自定义通信协议 Registering an Application to a URI Scheme目前国内市场 windows 在操作系统的占有率依旧遥遥领先。特别是在政府或者其它企业单位 winodws 操作系统使用率会更高。所以本系统完全可以重庆理工大学毕业设计论文 web 系统助手的设计与实现17只针对 winodws 平台来开发。Winodws 可以通过在注册表里增加通信协议来实现 web 端启动本地应用。早期各大互联
43、网产品 qq,迅雷等也是通过这种方式实现的。Windows 自定义通讯协议见微软开发社区文档。此方式实现简单。可在应用软件安装时,修改 pc 注册表实现。关键流程如下:图 3-7 windows 下 web 端启动桌面应用流程简图3.3.3 Web 端与 web 助手通信Web 端与 web 助手桌面应用通信是本系统一大技术难点。如果用 Activex插件进行开发,会涉及插件的维护(3.2 已经说明了使用插件的劣势)进程间的通信等缺点。所以本系统使用 flash 进行桌面应用开发, web 端嵌入 flash。利用 flash 本身框架技术进行通信。重庆理工大学毕业设计论文 web 系统助手的
44、设计与实现18图 3-8 web 端启与助手通信流程简图从图中可以看到:1、本地 web 应用之间是可以通讯的。2、本地文本应用与本地桌面应用是可以通讯的。3.3.4 Web 助手单点登录单点登录是本系统一大功能需求。1、要实现单点登录可以实现一个 session 共享。实现 Session 共享的技术很多,但 session 共享会依赖于宿主系统的架构实现。不符合 web 助手可集成性这一特点。2、可以携带登录名和密码,但此种方式极为不安全。3、可以本系统采用类似 QQ 互联网本地应用打开 QQ 空间方式,在服务重庆理工大学毕业设计论文 web 系统助手的设计与实现19器端产生一个 key,
45、然后网页打开后,将此 key 消除。通过以上分析比较,最终得如下设计:A、如果是 web 应用登录,通过 web 应用启动 web 助手,则 web 系统助手客户端将不用登录。Web 应用只需在启动 web 助手时传递加密的登录信息。流程简图如下:图 3-9 单点登录流程简图B、如果是 web 助手登录,那么通过 web 助手可直接访问 web 应用的部分模块。模块可自行添加配置。流程简图如下:重庆理工大学毕业设计论文 web 系统助手的设计与实现20图 3-10 单点登录流程简图3.3.5 Web 助手与文件系统通信(文件断点续传)Flash 提供了 3 种组件来与服务器通信。Web 助手与
46、文件通信主要是为了解决大文件断点续传。3 种组件在有各自的特点,适合的场景不一样。所以要选择一种能够解决文件断点续传问题的组件。 选用组件,文件上传及断点续传本系统采用的是 RemoteObject 组件。实现的原理是客户端频繁调用服务端RemoteObject 方法,文件二进制数据作为调用方法的参数。RemoteObject 组件虽然是基于 http 协议,但是 flash 官方文档表明这种组件适合于发送频繁请求。断点续传实现的原理是服务端记录文件 size,客户端调用方法时,服务端返回当前已传文件大小。在重新上传时,以已传数据大小为数据传送起始点传送文件。流程简图如下:重庆理工大学毕业设计
47、论文 web 系统助手的设计与实现21图 3-11 助手与文件系统通信流程简图3.3.6 负载均衡以及文件存储策略在文件上传前,服务端会根据各个文件服务器的负载,进行负载均衡。为当前上传的文件分配一台文件服务器,并将此台服务器与文件相关联,记录于数据库中。从而建立文件上传任务。下面是整个业务流程简图:重庆理工大学毕业设计论文 web 系统助手的设计与实现22图 3-12 文件系统工作流程简图上传文件会根据文件上传时的 ip 地址,mac 地址已经用户 id 来判断文件的唯一性,如果文件的这些信息一致,则文件任务系统认为此文件已建立上传任务。文件的上传任务会记录在数据库中,主要流程简图如下:重庆理工大学毕业设计论文 web 系统助手的设计与实现23图 3-13 文件系统流程图在文件上传时,需要根据各个文件系统的负载情况,为上传文件分配一个负载较轻的文件系统。这个负载均衡策略,可作为一种扩展实现。本系统负载均衡器默认根据每个文件的任务量来实现负载均衡,流程简图如下:重庆理工大学毕业设计论文 web 系统助手的设计与实现24图 3-14 文件系统负载均衡流程简图3.4 系统详细设计3.4.1 用户登录模块设计功能描述1. 用户输入用户名和密码。2. 从数据库中查询该用