(计算机系统结构专业论文)基于ria的商业业务管理系统构建.pdf_第1页
(计算机系统结构专业论文)基于ria的商业业务管理系统构建.pdf_第2页
(计算机系统结构专业论文)基于ria的商业业务管理系统构建.pdf_第3页
(计算机系统结构专业论文)基于ria的商业业务管理系统构建.pdf_第4页
(计算机系统结构专业论文)基于ria的商业业务管理系统构建.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机系统结构专业论文)基于ria的商业业务管理系统构建.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 摘要 随着网络的日益普及和全球信息化进程的发展,i n t e m e t 技术及其应用以及电 子商务的发展,给工作和日常生活等各个方面带来了深刻的影响。网络的普及已 为办公自动化提供了方便,创造了一个集成化办公环境。随着需求的复杂化,软 件规模的扩大,传统客户服务器方式的办公系统由于其不可改变的固有缺点,而 显得越来越不能适应。富互联网应用程序( 趾) 是下一代的将桌面应用程序的交 互的用户体验与传统的w e b 应用的部署灵活性和成本分析结合起来的网络应用程 序,它有效平衡了传统的w e b 技术的在用户体验上的不足和桌面应用程序在部署 安装和维护上的不足。 本文介绍了r i a 技术的概念、产生背景、优势、技术特点、体系结构,重点 介绍了最成功的r i a 客户端开发技术- f l e x 。详细论述如何结合r i a 技术实现 一个一个基于w e b 的办公自动化系统圣m o 。它是某著名银行企业用来进行 全球业务拓展的一个管理工具,是隶属于客户管理系统的一个重要组成部分。 关键词:r i a ( 富互联网应用程序) 、n b o ( 新的商业机遇) 、办公自动化 浙江大学硕士学位论文 a b s t r a c t w i t ht h e p o p u l a r i z a t i o n o fn e t w o r ka n d d e v e l o p m e n to fg l o b a l i n f o r m a t i o n b a s e dt e c h n o l o g y ,i n t e r n e ta n de - c o m e r c ei st a k i n gp r o f o u n d i m p a c to ne a c ha s p e c to fo u rd a i l yl i f ea n dw o r k t h ep o p u l a r i z a t i o no f n e t w o r k h a sp r o v i d e do f f i c ea u t o m a t i o ns y s t e mag o o de n v i r o n m e n t t o d a y t h es y s t e mr e q u i r e m e n tc o m e st ob em u c hc o m p l e x ,a n dt h es o f t w a r es c a l e ise n l a r g e dv e r ym u c h i ns u c has i t u a t i o nt h et r a d i t i o n a lc 1i e n t s e r v e r o as y s t e ml o o k sh e l p l e s s s ow e bb a s e do ab e c o m ep o p u l a r r i c hi n t e r n e t a p p li c a t i o nw h i c hc o m b i n e dt h ed e s kt o pa p p l i c a t i o n se x c e l l e n tu s e r e x p e r i e n c e ,a n dw e bs y s t e m sl o wc o s ta n df l e x i b i l i t yi nd e p l o y m e n t ,i s at r e n do fn e x tt h eg e n e r a t ew e ba p p li c a t i o n i nt h isp a p e rw ei n t r o d u c e dt h eb a c k g r o u n d ,a d v a n t a g ea n di t s a r c h i t e c t u r eo fr i a a n dw ed i s c u s s e dam o s tp o p u l a rr i at e c h n o l o g y p l e x t h e nw ea n a l y z e dh o wt od e s i g na n di m p l e m e n taw e bb a s e do as y s t e m - n b o n b os y s t e mi su s e db yaf a m o u sc u s t o d yb a n ka si t sb u s i n e s so p p o r t u n i t y m a n a g e m e n ts y s t e m i ti sa ni m p o r t a n tp a r to fc u s t o m e rr e l a t i o n s h i p m a n a g e m e n t k e yw o r d :r i a 、n b o ( n e wb u s i n e s so p p o r t u n i t y ) 、o f f i c ea u t o m a t i o n 浙江大学硕士学位论文 图目录 图目录 图2 1 系统业务流程6 图2 2 :f l e x 应用程序框架8 图2 3f l e x 应用架构9 图3 1i c a l e n d a r 解析1 7 图3 2c h e c kr e s p o n s e ( 夏令时) 的效果2 1 图3 3c h e c kr e s p o n s e ( 冬令时) 效果2 1 图4 1 条件选择部分的界面2 4 图4 3 列表选择型界面3 1 图4 4 自由文本型界面3 1 图4 6 查询流程3 4 图4 7 条件选择结果界面3 6 图5 1 平均响应时间4 0 图5 2 平均吞吐量4 0 浙江大学硕士学位论文 表目录 表3 1 表3 2 表4 1 表4 2 表4 3 表目录 i n t e r a c t i o n 类1 2 m a i l 类1 3 c r i t e r i a i t e m 成员变量的说明2 7 c r i t e r i a i t e m 方法的说明2 8 c r i t e r i a s 类的说明3 0 i v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得逝江太堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文作者签名: 签字日期:弘幻髟年月日 学位论文版权使用授权书 本学位论文作者完全了解逝江太堂 有权保留并向国家有关部门或机 构送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝江太堂 可以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 靴敝储鹕:霁绽 签字日期:弘修矿年月z 日 导师签名 签字日期日 浙江大学硕士学位论文 第l 章绪论 1 1 研究背景 第1 章绪论 随着网络的日益普及和全球信息化进程的发展,i n t e m e t 技术及其应用以及电 子商务的发展,给工作和日常生活等各个方面带来了深刻的影响。网络的普及已 为办公自动化提供了方便,创造了一个集成化办公环境。办公自动化( o f f i c e a u t o m a t i o n ) ,简称o a ,是办公信息处理的自动化。它是指应用各种信息技术和 集成技术,充分有效地利用信息,完成各种办公业务,提高办公效率和办公质量, 实现多种资源的共享。这种技术已经为越来越多的企业应用到信息化建设中。 基于w e b 的办公自动化软件趋势 传统客户服务器方式的办公系统逐渐暴露出其不可改变的固有缺点,而显得 越来越不能适应。其主要缺点有:日常维护繁琐,为了维护每个工作站的正常运 行,需要及时解决每个工作站中出现的问题,而每个工作站的软硬件配置可能不 同,或不在同一个地方,则增加了维护工作的难度。版本更新困难,版本更新时, 需要每个工作站都要重新更新。占用大量资源,每个工作站都安装一套工作站软 件,增加了系统开销,增加了企业负担。因此,采用w e b 方式设计办公系统,将 可以利用现有最先进的计算机技术,在全球i n t e m e t 风潮中,获得最广泛的软硬件 技术支持。基于w e b 的办公自动化管理系统是基于企业网在( i n t r a n e t ) 上的办公自 动控制系统,可以透过( i n t e m e t ) 获得各种社会信息,具有高度的信息共享能力提 供强大的电子邮件功能,可以和其他电子邮件系统链接,可以按不同单位的实际 情况定义不同的公文类型、公文级别;能灵活定制公文流转的过程;能配置不同的角 色在不同环节上对公文的处理权限,以确保公文正常流转的安全性。实现文档一 体化,档案管理功能方面,符合国家档案局标准。 传统w e b 技术的不足 传统的w e b 技术存在以下方面的不足:1 操作复杂性。由于受传统w e b 应 用程序的局限性,当进行一个多步骤或多选项的事务时,用户要么会看到一份很 长的、笨拙的页面;要么就得通过反复翻转若干网页、令人沮丧地执行操作步骤。 2 数据复杂性。为了高效率地表达复杂的数据,是现有w e b 应用程序所面临的巨 大挑战。理想的图形工具应该能够既操作简便,又能生动明了地展示各种错综复 1 浙江大学硕士学位论文第l 章绪论 杂的数据信息。3 交互复杂性。互动性需求的应用程序使得交互的问题变得日益 突出,用户的耐心变得越来越少,他们的要求是要向桌面应用程序的速度靠齐。 一味地提升服务器和网络的速度既不现实又不经济,一种可行的技术方案就是采 用高度互动性和局部智能型的客户端应用程序,这样就可以在无需刷新全页或增 加带宽需求的情况之下,迅速响应用户的输入并做出相应的处理。 传统w e b 应用程序之所以不能够表达高度的复杂性,其主要原因是h t m l 网页 技术的先天不足,当应用进行到一定深度时,这种缺陷便逐渐显露出来。一直以 来,非智能的客户端提交请求并得到服务器的响应,这种以网页为载体的网络逐 步形成了如今的互联网。在这种模式下,作为默认用户界面的网页,它的上下文 自然地同时又是人为地进行流程分割,以便映射将业务处理分解为步骤的机制。 尽管网页已经逐渐地加入越来越多的动态特点以进行改良,然而,在展示能力及 与用户互动方面仍然后劲乏力。 新的解决方案r i a r i a 利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速 度快和图形丰富的用户界面。除了提供一个具有各种控件( 滑标、日期选择器、 窗口、选项卡、微调控制器和标尺等) 的界面之外,砌a 一般还允许使用s v g ( s c a l a b l e v e c t o r g r a p h i c s ,可伸缩向量图) 或其他技术来随时构建图形。一些r i a 技术甚至能够提供全活动的动画来对数据变化做出响应。r i a 的另一个好处在 于,数据能够被缓存在客户端,从而可以实现一个比基于h t m l 的响应速度更快 且数据往返于服务器的次数更少的用户界面。对于无线设备和需要偶尔连接的设 备来说,将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的 w 曲客户端。那些运行在膝上设备上的应用系统,可以被设计成以离线方式工作, 或者至少当连接丢失的时候能基本上以离线的方式工作。【l j 1 2r i a 技术的概念和优势 r i a 是r i c hi n t e m e ta p p l i c a t i o n s 的缩写,翻译成中文为丰富互联网应用程序。 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序 的表示层建立于h t m l 页面之上,而h t m l 是适合于文本的,传统的基于页面的 系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了,这就是被 2 浙江大学硕士学位论文第l 章绪论 m a c r o m e d i a 公司称之为的“体验问题 ( e x p e r i e n c em a t t e r s ) ,而丰富互联网应 用程序( r i c hi n t e m e t a p p l i c a t i o n s ,缩写为r i a ) 的出现也就是为了解决这个问题。 丰富互联网应用程序是下一代的将桌面应用程序的交互的用户体验与传统的w r e b 应用的部署灵活性和成本分析结合起来的网络应用程序。1 2 l 丰富互联网应用程序 中的富客户技术通过提供可承载已编译客户端应用程序( 以文件形式,用h t t p 传递) 的运行环境,客户端应用程序使用异步客户服务器架构连接现有的后端应 用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种 模型由采用的w e b 服务所驱动。结合了声音、视频和实时对话的综合通信技术使 富因特网应用程序( 刚a ) 具有前所未有的网上用户体验。“富”的概念包含两方 面,分别是数据模型的丰富和用户界面的丰富。数据中的“富”意思是用户界面 可以显示和操作更为复杂的嵌入在客户端的数据模型,它可以操作客户端的计算 和非同步的发送接收数据。这种模式相对于传统的h t m l 页面的优点是程序运行 于客户端并且程序更多的是和用户进行交互同时更少的和服务器进行交互。平衡 客户端和服务器端的复杂的数据模型可以让你有更大的空间去创建更高效和更具 有交互性的网络应用程序。“富 同样也描述了全面提升的用户界面,h t m l 只给 用户提供了非常有限的界面控制元素,而丰富互联网应用程序( 对a ) 的用户界面 提供了灵活多样的界面控制元素,这些控制元素可以很好的与数据模型相结合。 传统的因特网模型使用线性的设计,提供给用户一些选择然后用户发送选择结果 给服务器,这种单一的模式不符合应用程序的灵活交互的要求和用户的意愿。频 繁的服务器请求和页面刷新有很多的缺点包括页面打开缓慢和降低网络带宽。如 果采用富客户界面,可以从以前的服务器响应影响整个界面,转移到只有收到请 求的应用程序部分才会做出相应的变化【3 】。这本质上意味着界面被分解成许多独 立的模块,这些模块都会对收到的信息做出相应的反应,有些会和服务器端进行 交互,有些是这些模块之间的通信。 1 3 项目研究的意义 我们系统的客户是国外某著名托管银行,它的业务遍布美国,欧洲,澳洲, 日本,香港等地。在公司进行全球业务拓展的过程中,我们需要对这些业务数据 进行维护,查询,同时这些业务数据也是公司安排工作计划,进行企业管理决策 浙江大学硕士学位论文第1 章绪论 的重要依据。在建设n b 0 系统之前,公司业务人员采用e x c e l 表格手动管理基本 业务数据,并交由公司的产品支持录入到数据库。这样的方法在公司业务不断扩 大的现实下,显然无法胜任。还有两个很重要的不利之处,一是这样的操作模式 需要几层人员之间的信息传达,容易造成信息丢失或者出错;二是对于业务层面 的公司员工,这种模式也不利于他们对已有业务数据的查阅。 为充分利用先进的信息网络,构建现代化、信息化、智能化的办公环境,从 根本上变革办公及管理体制提高办公效率,我们决定建设一个商业业务管理系统。 基于上文阐述的办公自动化工具发展趋势的背景下,我们采用了r i a 技术,尝试 开发了一个不同于传统应用程序的商业业务管理系统,在开发过程中,我们逐步 体会到了r i a 技术的开发和传统a s 结构互联网应用程序开发的不同点。这些不 同点不仅仅体现在技术和代码上,更加体现在整个系统的架构和框架上。 1 4 本文的组织结构 本文首先对研究的相关背景进行了介绍,接着介绍本文所所着眼的一个o a 系统一金融业务管理系统( n b o ) 然后分为三个组要模块:客户沟通平台、数据 查询中心、业务管理模块介绍了系统的设计和实现,并分别给出工作成果。最后 对我们的工作进行总结并展望r i a 技术的发展前景。各章节安排如下: 第一章绪论 第二章n b o 系统的概述 第三章i n t e r a c t i o n 子系统的设计实现 第四章报表子系统q u e r yc e n t r a l 第五章系统成果和改进 第六章总结与展望 1 5 本章小结 本章中我们提出了当前办公自动化系统兴起的原因和背景,然后在1 2 节中提 出了目前w e b 技术发展的方向r i a 技术。最后我们从w e b 技术和办公自动化系 统结合的原因,传统w e b 技术的不足以及r i a 技术在这两方面实现的平衡提出了 本课题的意义。 4 浙江大学硕士学位论文 第2 章n b o 系统的概述 第2 章n b o 系统的概述 n b o 是英文n e wb u s i n e s so p p o r t u n i t y 的缩写。它是客户用来进行全球业务 拓展的一个管理工具,是隶属于客户管理系统的一个重要组成部分。n b o 系统是 一个基于w e b 的办公自动化系统,它的用户主要面向公司的业务开发团队。从软 件开发的角度,我们把这个系统归类为办公自动化系统中的客户管理管理系统 ( c r m ) 。在n b o 系统中我们需要管理公司每一笔生意客户信息,执行计划,产 品信息等等,并且提供符合客户需求的商业逻辑和流程管理。 2 1n b o 系统需求 该项目要求利用w e b 的多层应用结构,及数据库、分布式处理技术构筑跨平 台通用办公自动化环境提供信息传递,办公事务处理、工作流管理、信息服务等 多项服务,以实现办公自动化、管理现代化、决策科学化。 根据商业分析我们可以把用户需求分为以下系统模块: 1 ) 生意业务录入和修改模块。我们把系统需要支持业务抽象成客户、执行计 划、领导团队、产品、业务资产等几个部分,用户按照这样的划分可以将他们 即将着手或者正在进行中的生意业务录入系统数据库,当生意在进行过程中也 可以随时修改它的内容和状态。 2 )客户及团队沟通平台。这是一个定制的邮件管理系统,从该系统输入的信 息将被整理成特定格式的会议安排以邮件的形式发送出去,同时具备类是 0 u t l o o k 的日历、会议反馈统计等功能。 3 ) 数据查询中心。这是一个简单的报表系统,根据用户定制的查询条件组合 给用户提供反馈结果 4 ) 系统支持中心。提供系统的一些辅助功能,如用户信息的录入,可供生意 选择的产品信息录入,用户操作记录等等。 系统业务流程如图2 1 所示 5 浙江大学硕士学位论文 第2 章n b o 系统的概述 客户沟 2 2 系统结构设计和技术 2 2 1 系统设计原则 图2 1 系统业务流程 根据对n b o 系统的需求分析,系统设计应该遵循以下的原则: 1 ) 系统应具有良好的稳定性:系统能够长期稳定运行,具有一定容错能力, 系统的用户界面自然、友好: 2 ) 系统应具有良好的可维护性:系统应易于维护、安装,应提供一定的机 制方便技术支持人员的快速响应: 3 ) 系统应具有较好的安全性:系统应提高完善的安全机制,确保系统数据的 受限访问: 2 2 2f l e x :r i a 技术的杰出代表 m a c r o m e d i af l e x 是一个商业的表示层服务器,用来产生r i a 客户端。为了使 用这个r i a 客户端,f l a s h 的插件必须被安装在客户端的浏览器上,因为f l a s hp l a y e r 是这个r i a 客户端的运行时环境。目前,大多数的浏览器都已经安装了f l a s h p l a y e r ,这大大简化了黜a 客户端的应用1 4 1 。 6 浙江大学硕士学位论文 第2 章n b o 系统的概述 开发者使用两种核心的语言来创建f l e x 应用。第一种是m x m l 语言,这是 m a c r o m e d i af l e x 的标记语言,它包含了丰富的x m l 语言的标记,用来创建f l e x 应用的界面。m x m l 还可以被称为x u l 。m x m l 不像h t m l ,它能被扩展,可 以适合应用开发的额外需求。m x m l 还能够允许你来调用远程对象,在一个模型 中存储数据,并且能够个性化f l e x 控件。 f l e x 的第二种核心语言是一种很类似j a v a s c f i p t 的语言,a c t i o n s c r i p t 2 0 。 a c t i o n s c r i p t 的脚本被写在m x m l 文件中。这是一种j a v a 开发人员熟悉的,强类型 限制的面向对象的语言。a c t i o n s c r i p t 同时还支持强壮的事件处理机制,这个机制 可以用来支持用户界面上的事件处理。同时,因为a c t i o n s c r i p t 是运行在 m a c r o m e d i af l a s hp l a y e r 中的,所以,开发人员不用写很多版本的代码来适应不同 的浏览器,这个是和运行在浏览器内的j a v a s c r i p t 是不一样的。m x m l 语言和f l e x 语言都是文本语言,这些代码可以简单的在文本编辑器中被书写,也可以在专门 的i d e 中被编写。 f l e x 服务器的作用在于,把m x m l 和a c t i o s c r i p t 编译成放在s w f 文件中的字节 码,这个过程类似于把j s p 文件编译成s e r v l e t 。然后,s w f 文件被传送到客户端, 并且在f l a s hp l a y e r 中被运行。f l e x 服务器同时提供了缓存s w f 文件的功能,并且 能够处理客户端对远程对象调用的请求。 f l e x 应用程序的框架 7 浙江大学硕士学位论文第2 章n b o 系统的概述 图2 2 :f l e x 应用程序框架【5 】 如图2 2 所示,f l e x 应用程序框架由m x m l 、a c t i o n s c r i p t2 0 及f l e x 类库构 成。开发人员利用m x m l 及a c t i o n s c r i p t2 0 编写f l e x 应用程序。利用m x m l 定义应用程序用户界面元素,利用a c t i o n s c r i p t2 0 定义客户逻辑与程序控制。 f l e x 类库中包括f l e x 组件、管理器及行为等。利用基于f l e x 组件的开发模型, 开发人员可在程序中加入预建的组件、创建新组件或是将预建的组件加入复合组 件中。 f l e x 的开发模型 f l e x 开发模型对于使用j s p 、a s p a s p n e t 或其他类似的脚本语言的开发 人员并不陌生。基本的模型是一样的:建立一个包含应用程序源代码的文本文件, 然后将此文件部署到服务器上;服务器在收到第一个请求时,将此源码编译成为 应用程序,后续的请将通过缓存处理。与发送一系列的包含数据与u i 的h t m l 页面不同,f l e xp r e s e n t a t i o ns e l v e r 发送包含可在普遍的f l a s hp l a y e r 虚拟机上运 行的丰富客户端用户界面。需要时,f l e x 应用程序将与服务器交换,数据以响应 客户端上终端用户的操作【6 j 。f l e x 开发者使用扩展的u i 组件库与基于x m l 标 记的语言定义用户界面,利用面向对象的脚本语言( a c t i o n s c r i p t ) 来处理程序逻 辑。 浙江大学硕士学位论文第2 章n b o 系统的概述 2 2 3 整体架构设计 由于f l e x 的诸多令人心动的优点,我们的系统也采用了这种技术。根据f l e x 的一般架构,我们系统也按照f l e x 的架构模式分为三个层面:基于w 曲的客户端, j 2 e e 架构的服务端应用以及数据库,可以用图2 3 来表示他们之间的部署关系: l 陬f l a s h a 删p l a y e rr 删u n n 旧l ,h r t p 邡a p a m f 工 , i j 0 70 : 。 : f l e xs e r v e r , 刚b 5 l l w e b 洲j c 酷 i 加b l jljl j 2 e es e r v e r s e r v l e tc o n t a i n e r 1,r 日日日 图2 3 f l e x 应用架构1 5 】 c 蕾a n ta n dp r e s e n m t k mt 培恃 凡n n i o nt h ed l e n t b u s i n e s sa n di n t e g r a t i o nt i e r s r e s o u r c et i e r 这里f l e x 服务器包括了f l e x 的编译器,缓存处理机制和w e bs e r v i c e 代理。 f l e x 服务器可执行在j 2 e e 平台或者s e r v l e t 容器上,并为f l e x 应用程序提供整合 与管理能力。除了在现有的表示层上进行添加外,f l e x 并不需要对当前的业务层 与整合层进行任何改变。这意味着在f l e x 开发中,开发人员可以重用已有系统的 的业务层和后端功能。f l e x 可以轻松的通过h t t p 、e j b 或者w e bs e r v i c e 等方法 与现有的业务逻辑和后端系统交互1 7 j 。 在服务端应用方面考虑到f l e x 与j a v a 技术的相似性,通过f l e xd a t as e r v i c e 客户端应用程序甚至可以直接以对象的形式将数据直接传送到j 2 e e 服务端应用程 序中使用,同时j 2 e e 作为成熟的企业级j a v a 应用平台也为我们系统的开发提供 很好规范1 8 j ,因此我们采用i 2 e e 的平台来管理服务端应用程序。 后台的数据固化层,我们采用了o r a c l e 数据库。我们充分考虑到了n b o 系 统的数据量和o r a c l e 数据库的性能,决定采用o r a c l e 数据库。在o r a c l e 数据库中, 我们写了很多存储过程,这些经过编译的存储过程可以以很大的效率来完成商业 9 浙江大学硕士学位论文第2 章n b o 系统的概述 逻辑。同时,我们把大部分商业逻辑都封装在这些存储过程中。这样,一旦用户 的需求发生改变,我们不需要改变f l e x 代码和e j b 代码,只需要改变后台存储过 程的代码,并且重新编译,部署这部分代码就可以达到灵活应对用户商业逻辑的 改变。 2 3 本章小结 本章我们提出了一个定制的办公自动化系统n b o 的总体需求,接着介绍了 r i a 技术中的杰出代表f l e x 技术。最后通过上面的讨论,提出了我们对该系统 得总体设计。 l o 浙江大学硕士学位论文第3 章i n t e r a c t i o n 子系统的设计实现 第3 章i n t e r a c t i o n 子系统的设计实现 正如大多数的办公自动化系统一样,为用户管理行事安排是一个重要的功 能,如o u t l o o k 的c a l e n d a r 功能。我们系统也提供行事管理的功能,并且是我 们的系统是高度定制的,为我们的客户提供了更加方便的用户界面,和行事内容 组织。i n t e r a c t i o n 子系统就是这样一个系统。 3 1i n t e r a c t i o n 模块的总体需求简介 i n t e r a c t i o n 子系统是n b o 的客户以及业务团队交流平台。在我们的生意进 行的过程中,沟通是必不可少的,会议是我们团队沟通的主要手段。i n t e r a c t i o n 子 系统是我们为特定的用户定制的会议安排系统。系统通过用户的输入,为用户整 理成一份符合公司规定的,规范化的邮件内容,发送到客户。这样既在最大程度 上方便了用户安排会议的工作,也很好的规范了公司业务团队对外和对内交流的 行为。 i n t e r a c t i o n 子系统要求与m i c r o s o f to u t l o o k 系统兼容。熟悉o u t l o o k 的用户 一定知道o u t l o o k 的日历功能,我们的系统以邮件的形式发出的会议安排,客户 从他们的o u t l o o k 终端接收邮件以后需要能够顺利识别这个会议的时间、地点、 内容,这样客户在他们的终端就可以把会议安排写入日历。在o u t l o o k 中,接收 到会议安排以后用户可以选择是否接受这个安排,o u t l o o k 会自动将用户的反馈整 理成邮件发送到会议组织者。我们系统作为组织者,也是仿照o u t l o o k 设计了根 据客户反馈统计会议的接受情况的功能,最后在会议时间以后,系统还提供会议 纪录录入功能。 3 2i n t e r a c t i o n 模块的细节实现 i n t e r a c t i o n 子系统的设计实践离不开r f c 2 4 4 5 协议,即i c a l e n d a r 协议。它是 一个日历数据交换的标准,目前我们所知的日历系统包括o u t l o o k ,i b ml o t u s 以 及g o o g l ec a l e n d a r 等等都是执行这个协议标准的。i c a l e n d a r 的格式适合在各种应 用程序和系统之间进行数据传输,他的格式被定义成一种m i m e 的内容形式,这 浙江大学硕士学位论文第3 章i n t e r a c t i o n 子系统的设计实现 样的格式是的i c a l e n d a r 对象可以在被很多不同的低成协议包裹传输,比如s m t p , h t t p 等等。我们的系统也执行这样的协议,对该协议的解析是我们系统实现过 程中主要的难点。 3 2 1 主要的数据结构说明 i n t e r a c t i o n 类 表3 1 描述的是i n t e r a c t i o n 类的关键字段: 表3 1i n t e r a c t i o n 类 字段名 说明 l o c a t i o ni n t e r a c t i o nl o c a t i o n 在确定d m t 时间时 需要用来做时区转化。 s t a r t t i m e 用户建立i n t e r a c t i o n 时选择的时间,在 l o c a t i o n 所选的时区。 e n d t i m e 用户建立i n t e r a c t i o n 时选择的时间,在 l o c a t i o n 所选的时区。 s t a t s t a r t t i m e 开始统计r e s p o n s e 的时间戳,该时间戳以 前的r e s p o n s e 被视为无效。 如果i n t e r a c t i o n 时间或地点发生改变则 所有参与者将被要求重新回复。 r e c u r r e n c e p a t t e r n对于一个r e c u r r e n c ei n t e r a c ti o n 的 r e c u r r e n c e 模式。 l o g i s t i c i d根据i n t e r a c t i o n 的属性生成的一个i d , 在c h e c kr e s p o n s e 的时候用来确定 r e s p o n s e 和i n t e r a c t i o n 之间的对应关 系。 m a i l 类用于生成发出到客户的i n t e r a c t i o n i n t e r a c t i o n 与普通的m a i1 是有区别的,它必须符合r f c 2 4 4 5i c a l e n d a r 协 1 2 浙江大学硕士学位论文第3 章i n t e r a c t i o n 子系统的设计实现 议的规范,m a i1 类就是把i n t e r a c t i o n 转化成符合协议的一个o b j e c t 表3 2 描述的是m a i l 类的关键字段: 表3 2 m a i l 类 字段名 说明 木ti m e z o n e f o r m a i1 n a m e时区名。 木ti m e z o n e f o r r e c u r r e n c e n a m e为r e c u r r e n c ei n t e r a c t i o n 定义的时 区名。 术t i m e z o n e f o r m a i1符合r f c 2 4 4 5 格式的时区描述。 木ti m e z o n e f o r r e c u r r e n c e 同上。 m i m e m s g生成用来发送的m s g 。 i n v i t a t i o n 需要发送的i n t e r a c t i o n 。 其中木字段内容都是固定不变的,我们在发出i n t e r a c t i o n 的时候都固定用美 国东部时区来表示时间,所以以上字段都固定为u s - e a s t e r n 的内容。这样固定 不变的属性设置并不影响我们对i c a l e n d a r 协议的执行,我们只要保证事件的时 间在物理上是一致的,在发送事件的时候其实并不需要关心它的时区信息,只关 注在物理上它是什么时候发生的。在m a i l 类获得各字段值以后,通过方法 s e t m a i l0 生成一封符合协议的m e s s a g e ,( 字段u i d 在这里生成,同时这个u i d 也作为i n t e r a c t i o n 的l o g i s t i c i d ) 存放在m i m e m s g 。i n t e r a c t i o n 的l o g i s t i c i d 作为主题的一部分发出,这样会使s u b j e c t 冗长累赘,但是这是为了c h e c k r e s p o n s e 的需要,接下来会有说明。 可以这么说,i n t e r a c t i o n 有两个表现形式,一个以i n t e r a c t i o n 类的形式 可以被我们的系统操作,另过一是m a i l 类的形式,它是用来通过e - m a i l 发送的, 能够被邮件客户端( o u t l o o k ,l o t u s ) 识别的。 3 2 2i n t e r a c t i o n 在数据库中的存储 i n t e r a c t i o n 在数据库中的存放有两种形式:非r e c u r r e n c e ,r e c u r r e n c e 非r e c u r r e n c e 的i n t e r a c t i o n 存储过程比较简单,就是把相应的字段存放到 c u s t o m e r i n t e r a c t i o n 表中。r e c u r r e n c e 在数据库中的存储结构是这样的: 在r e c u r r e n c e i n t e r a c t i o n 表中存放着这一系列i n t e r a c t i o n 的信息。通过计算 1 1 浙江大学硕士学位论文第3 章i n t e r a c t i o n 子系统的设计实现 这系列i n t e r a c t i o n 的重复模式,把每个单独的重复i n t e r a c t i o n 在作为一个普 通i n t e r a c t i o n 存放到c u s t o m e r _ i n t e r a c t i o n 表中,他们之间用 i n t e r a c t i o n l d 关联起来。在计算单独一次会议的时候要根据r e c u r r e n c e 的模 式计算出它的s t a r t t i m e ,e n d t i m e 等信息。 3 2 3c h e c kr e s p o n s e 过程 我们首先通过访问发送i n t e r a c t i o n 的邮箱,读取参与者回复的r e s p o n s e , 这些r e s p o n s e 其实是符合i c a l e n d a r 协议格式的邮件。邮件中包含了r e s p o n s e 状态( a c c e p t ,t e n t a t i v e ,d e c l i n e ) ,和该r e s p o n s e 所对应的e v e n t 我们根据 这两个信息加上r e s p o n s e 发送者的a d d r e s s 就可以得到一份r e s p o n s e 的完整信 息,然后将这样一份信息以定义好的结构存储到数据库,供g e t r e s p o n s e i n f o 方 法接下来查询使用。在发送i n t e r a c t i o n 的时候,我们可以根据i c a l e n d a r 协议 的规范组织我们要发送的内容,但是在这里我们需要反解析一个符合i c a l e n d a r 协议的e v e n t 从而确定该e v e n t 到底是我们系统中的哪个,这是我们这个系统中 最困难的地方。以下是一个r e s p o n s e 的实例和对该实例的注释。 b e g i n :v c a l e n d a r p r o d i d :- a c m e d e s k t o p c a l e n d a r e n m e t h o d :r e p l a y 表示这是一个回信 x l i c n o t e :# 1 2 u p d a t e sc 1 v e r s i o n :2 0 一下部分是一个完整的美国东部时间的时区定义从b e g i n :v t i m e z o n e 开始到e n d :v t i m e z o n e 结束 b e g i n :v t i m e z o n e t z i d :u s - e a s t e r n时区i d l a s t m o d i f i e d :1 9 8 7 0 1 0 1 t o o o o o o z t z u r l :h t t p :z o n e s s t d sru s n e t t z u s e a s t e r n b e g i n :s t a n d a r d 标准时部分描述 d t s t a r t :1 9 6 7 1 0 2 9 t 0 2 0 0 0 0标准时的定义是在1 9 6 7 年1 0 月2 9 号凌晨2 点开 始的( 2 0 0 7 年美国国会立法刚更改了标准时的定义) 1 4 浙江大学硕士学位论文第3 章i n t e r a c t i o n 子系统的设计实现 r r u l e :f r e q = y e a r l y ( 按年重复) :b y d a y i s u ( 最后一个星期天) ;b y l d o n t h = i o ( 1 0 月) 标准时的重复规律:按年重复,每年1 0 月的最后一个星期天 t z o f f s e t f r o m :一0 4 0 0 转化前与格林威治时差4 小时 t z o f f s e t t o :一0 5 0 0 转化后时差5 小时 t z n a m e :e s t e n d :s t a n d a r d b e g i n :d a y l i g h t 冬令时描述 d t s t a r t :19 8 7 0 4 0 5 t 0 2 0 0 0 0 r r u l e :f r e q = y e a r l y ;b y d a y = i s u :b y m o n t h = 4 每年4 月第一个星期天 t z o f f s e t f r o m :- 0 5 0 0 t z o f f s e t t o :- 0 4 0 0 t z n a m e :e d t e n d :d a y l i g h t e n d :v t i m e z o n e b e g i n :n e v e n t o r g a n i z e r :m a i l t o :b e x a m p l e c o m u i d :6 0 b d c 8 9 5 - 9 0 a c - 1 1 d 9 9 6 7 2 0 0 1 1 2 4 7 4 8 4 1 0i n t e r a c t i o nu i d r r u l e :f r e q = y e a r l y :i n t e r v a l = i这是一个按年重复每一年重复一次的 r e c u r r e n c ei n t e r a c t i o n d t s t a m p :1 9 9 7 0 6 11 t 1 9 3 0 0 0 ze v e n t 创建的时间 d t s t a r t ;t z l d = u s - e a s t e r n :1 9 9 7 0 7 0 1 t 1 9 0 0 0 0 z 开始时间:美国东部1 9 9 7 年7 月 1 日9 点 d t e n d :t z i d _ u s e a s t

温馨提示

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

评论

0/150

提交评论