(计算机应用技术专业论文)基于eosunp的通讯管理系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于eosunp的通讯管理系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于eosunp的通讯管理系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于eosunp的通讯管理系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于eosunp的通讯管理系统的设计与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于eosunp的通讯管理系统的设计与实现.pdf.pdf 免费下载

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

文档简介

基于e o s u n p 的通讯管理系统的设计与实现 摘要 在大型局域网中,为了保障重要网络应用的带宽资源,需要在网关设备中 对一些应用层协议的使用进行控制,而管理端和网关设备间的通信是关键问题 之一。为解决此问题,需要研究和归纳管理端和网关设备间两端的通信理论和 核心技术。 本文研究分析基于t c p 网络的软件系统主要技术方法,特别是基于s o c k e t 的 实现方式。通过物理层和m a c 层间的跨层合作研究t c p 网络性能的改进策 略,并在改进的网络环境中设计系统的体系结构,重点研究通信系统的客户端 和服务器端通信问题。 论文通过下列方案解决客户服务器两端通信问题:客户j j a 务器进程均采 用i 0 复用方式进行s o c k e t 通讯;每个服务器进程采用并发服务器模式, 每出现一个客户的请求就f o r k 一个进程服务于它;最后采用i n e t d 守护进 程启动服务器程序等待客户的请求。 论文还分析和归纳了构件思想及其运行机制,并基于面向构件思想设计和 开发通信系统管理平台。 最后论文设计和实现了应用层协议分析与控制中的通信管理系统,并给出 了进一步的工作方向。 关键字:计算机网络,应用层协议,通信系统,构件,管理平台 5 d e s i g na n di m p l e m e n t a t i o no fc o m m u n i c a t i o nm a n a g e m e n t s y s t e mb a s e do ne o sa n du n pt e c h n o l o g y a b s t r a c t i nt h el a r g e s c a l el a n ,m a n yn e t w o r ka p p l i c a t i o n so c c u p yt o om u c hb a n d w i d t h , s ot h a tw ec a n tg u a r a n t e eo t h e ri m p o r t a n ta p p l i c a t i o n s b a n d w i d t h t h e r e f o r e ,w e m u s tc o n t r o lt h eu s eo fa p p l i c a t i o n l a y e rp r o t o c o l si nt h el a r g e s c a l el a n t h e c o m m u n i c a t i o nb e t w e e nm a n a g e m e n tc o m p u t e ra n dg a t e w a ye q u i p m e n ti so n eo ft h e k e yi s s u e s i no r d e rt os o l v et h i sp r o b l e m ,w en e e dt o s t u d ya n ds u m m a r i z et h e c o m m u n i c a t i o nt h e o r ya n dc o r et e c h n o l o g yo ft h em a n a g e m e n tc o m p u t e ra n d g a t e w a ye q u i p m e n t t h ed i s s e r t a t i o na n a l y s i sm a i n l yt e c h n i c a lm e t h o d so fs o f t w a r es y s t e mb a s e do n t c p n e t w o r k ,p a r t i c u l a r l yt h o s eb a s e do ns o c k e tm e t h o d t h ed i s s e r t a t i o ns t u d yt h e i m p r o v e m e n ts t r a t e g yo ft c pn e t w o r kp e r f o r m a n c et h r o u 曲c r o s s - l a y e rc o o p e r a t i o n t e c h n o l o g yb e t w e e np h y s i c a ll a y e ra n dm a cl a y e r ,t h ed i s s e r t a t i o nd e s i g n st h e n e t w o r ks y s t e ma r c h i t e c t u r eb a s e do l li m p r o v e de n v i r o n m e n t t h e nf o c u so nt h e s t u d yo fc o m m u n i c a t i o ni s s u e sb e t w e e ns e r v e ra n dc l i e n t t h ed i s s e r t a t i o n a d o p t sf o l l o w i n g s o l u t i o n st os o l v et h ec o m m u n i c a t i o n p r o b l e m sb e t w e e ns e r v e ra n dc l i e n t :c l i e n t s e r v e rp r o c e s s e sa r eb a s e do nt h er e u s e m o d e lo fi ot oi m p l e m e n ts o c k e tc o m m u n i c a t i o n w h e nar e q u e s tf r o mc l i e n t a p p e a r e d ,s e r v f f rf o r k sap r o c e s st os e r v i c ef o rt h ec l i e n t u n i xs y s t e ma d o p t si n e t d d a e m o nt os t a r tt h es e r v e rt ow a i tf o rt h er e q u e s to fc l i e n t s t h ed i s s e r t a t i o na l s oa n a l y s i sa n ds u m m a r i z ec o m p o n e n tt h i n k i n ga n dt h e o p e r a t i o n a lm e c h a n i s m b a s e do nt h ec o m p o n e n t - o r i e n t e dt h i n k i n g ,w ed e s i g na n d i m p l e m e n tm a n a g e m e n tp l a t f o r mo ft h ec o m m u n i c a t i o ns y s t e m s i nt h ee n d ,t h ed i s s e r t a t i o n d e s i g n sa n di m p l e m e n t s t h ec o m m u n i c a t i o n m a n a g e m e n ts y s t e mo ft h ea p p l i c a t i o nl a y e rp r o t o c o la n a l y s i sa n dc o n t r o l ,t h e ng i v e s f u r t h e rw o r kd i r e c t i o n k e y w o r d s :c o m p u t e rn e t w o r k s ,a p p l i c a t i o nl a y e rp r o t o c o l ,c o m m u n i c a t i o ns y s t e m s , c o m p o n e n t ,m a n a g e m e n tp l a t f o r m 6 插图清单 图卜1 应用层协议控制结构图2 图1 2 通讯系统逻辑模型3 图2 1 基于t c p 网络通信建立和终止状态转换图。6 图2 2 构件结构图8 图2 3 构件层次结构图9 图2 4 构件运行机制图1 0 图3 1 通信系统的体系结构图i 3 图3 2 有线网络1 7 图3 - 3 无线网络1 7 图3 - 4 设计开发思路图2 0 图3 5 基于t c p 网络客户服务器通讯过程2 l 图3 - 6 客户端i o 复用模式2 2 图3 - 7 a c c e p t 返回前客户服务器的状态2 3 图3 - 8a c c e p t 返回后客户服务器的状态2 4 图3 - 9f o r k 返回后客户月艮务器的状态2 4 图3 一1 0 父子进程关闭相应套接口后客户服务器的状态2 4 图3 - 1 1 配置文件列表图2 7 图3 1 2i n e t d 守护进程的工作流2 8 图4 1 通讯管理平台的功能图2 9 图4 - 2 基础框架的业务模型3 1 图4 3 系统登陆图4 0 图4 4 系统登陆按钮展现逻辑图4 0 图4 - 5 认证操作业务逻辑图4 l 图4 6 认证用户业务逻辑图4 2 图4 - 7 通信系统管理平台主页面4 4 表格清单 表2 - 1 构件类型与数据区对应表1 2 表4 - 1 系统角色属性表3 2 表4 2 系统操作员属性表。3 2 表4 - 3 系统操作员角色属性表3 3 表4 - 4 角色业务功能属性表3 3 表4 5 逻辑业务功能属性表3 3 表4 6 逻辑业务功能关系属性表3 3 表4 - 7 功能权限属性表3 3 表4 8 功能权限业务字典表3 4 表4 - 9 逻辑包关系属性表3 4 表4 1 0 系统角色菜单关系属性表3 4 表4 - 1 1 系统菜单属性表3 4 表4 1 2 系统操作员角色实体属性表3 6 表4 - 1 3 系统角色菜单实体属性表3 6 表4 - 1 4 系统操作员菜单实体属性表3 7 表4 - 1 5 系统角色功能实体属性表3 7 表4 - 1 6 系统操作员功能逻辑实体属性表3 8 表4 1 7 业务功能逻辑实体属性表3 8 表4 - 1 8 业务协议定义属性表3 8 表4 - 1 9 业务操作对象定义属性表3 8 表4 2 0 业务规则定义属性表3 9 表4 - 2 1 系统功能部署表4 3 表4 2 2 业务功能部署表4 4 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发表或撰写 过的研究成果,也不包含为获得 金罂工些盔堂或其它教百机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明 并表示谢意。 学位论文作者签名 狠掘 签字隗词年l 阴杪日 签字日期:缸,d1 年l 阴扩日 学位论文版权使用授权书 本学位论文作者完全了解盒壁王些太堂有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权盒 筵王些丕堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 肌t 伽 翩躲f 水 签字日期:z 胡年! t 月p 日 电话: 邮编: 致谢 本人在二年半的硕士研究生课程学习和撰写学位论文的过程中,自始至 终得到了我的导师周健副教授的悉心指导,在此表示忠心的感谢。 感谢我的家人对我的抚养和教育,他们教会了为人处世的原则和做人的 道理,他们的牵挂和鼓励促进我奋进。感谢我的爱人对我工作和学业的支持。 感谢中科大恒星公司d b a 给在我设计库表的时候提供的无私帮助,感谢 公司高级工程师在我设计管理平台时强有力的指导。 感谢和我同一个实验室的所有同学的支持和帮助。 4 张伟 2 0 0 7 年1 2 月 1 1 研究背景及意义 第一章绪论 计算机网络近年来获得了飞速的发展。1 9 9 7 年,在美国拉斯维加斯的全球 计算机技术博览会上,微软公司总裁比尔盖茨先生发表了著名的演说。在演说 中,“网络才是计算机”的精辟论点充分体现出信息社会中计算机网络的重要基 础地位j 。计算机网络技术的发展越来越成为当今世界高新技术发展的核心之 一。 在2 0 世纪5 0 年代中期,美国的半自动地面防空系统( s e m i a u t o m a t i c g r o u n de n v i r o n m e n t ,s a g e ) 开始了计算机技术与通信技术相结合的尝试,在 s a g e 系统中把远程距离的雷达和其它测控设备的信息经由线路汇集至一台 i b m 计算机上进行集中处理与控制。世界上公认的、最成功的第一个远程计算 机网络是在1 9 6 9 年,由美国高级研究计划署( a d v a n c e dr e s e a r c hp r o j e c t s a g e n c y ,a r p a ) 组织研制成功的。该网络称为a r p a n e t ,它就是现在i n t e r n e t 的前身【2 】。而现在i n t e r n e t 已经发展为是生活的必需品了。 随着计算机网络技术的蓬勃发展,网络应用层出不穷,人们在享受网络带来 的便利同时面临另一个闯题许多网络应用占用了大量带宽,使得重要的应用得不到带 宽p j 。另一方面,企事业单位对单位网络的使用控制越来越严,一般情况下都对正常 工作时间内的非工作业务网络应用进行严格控制。 不同的企业、人员对网络的使用有不同的需求。比如有些企业会限制员工在上班 时间使用即时聊天工具如q q 、m s n 、u c 等。而有些企业又会限制使用占用网络带 宽的p 2 p 软件,如b t 、在线电视等。为了满足用户的诸多个性化的需求,从而需要 对网络的应用采取一定的限制策略。 当前,在l i n u x 平台开发防火墙等过滤系统,无论是稳定性还是性能方面都比其 它系统好,另外它还有一下巨大的优势,即其代码的开源性,有无数的自由软件爱好 者为其不断添砖加瓦。所以,对应用层协议进行控制的研究平台基本上都为l i n u x 。 在整个应用层协议控制的研究中,同样基于核心地位的是发挥纽带作用的通信管 理的研究,目前国内外基本上都是基于客户瑁艮务器模式进行研究,其核心问题就是两 端的通信性能的研究。 n e t f i l t e 一卅它经历了若干代的沿革,一步步的发展而来。最开始的i p f w a d m 是 a l a nc o x 在l i n u xk e r n e l 发展的初期,从f r e e b s d 的内核代码中移植过来的。后来 经历了i p c h a i n s 【,j ,再经由p a u lr u s s e l l 在l i n u xk e r n e l2 3 系列的开发过程中发展了 n e t f i l t e r 这个架构。而用户空间的防火墙管理工具,也相应的发展为i p t a b l e s 。 n e t f i l t e r i p t a b l e s 这个组合目前相当的令人满意。在经历了l i n u x k e r n e l2 4 和2 5 的 发展以后, n e t f i l t e r i p t a b l e s 6 1 经受住了大量用户广泛使用的考验。 本文设计和实现的通讯管理系统来源于项目“应用层协议的分析与控制”。 项目要求首先分析和归类现在网络中广为使用的应用层协议,如q q 、m s n 、u c 等,分析其特征码,然后对于网络( 通常为大型局域网,如政府网,校园网以及 企业网等) 中的用户定义相关的使用规则,传入网关设备中,以后在网关设备中 根据下规贝n 控制局域网内部的应用的使用。同时也需要在网关设备中采集一 些信息,然后反映为设备管理人员。 应用层协议控制系统以l i n u x 为操作系统平台,以当前先进的防火墙软件 n e t f i l t e r 和流量控制软件t c 作为系统底层的操作控制。用图形化界面对系统进行应 用层协议控制。其控制系统应用结构如下图: 图1 - 1 应用层协议控制结构图 控制系统主要分两个部分: 一部分为系统本身:主要功能为执行管理员设定的动作,并确保执行到底层。 另一部分为通信管理端:负责对系统的管理,以及导入最新的应用软件特征码。 这一部分即为通信管理系统。由此可见,在整个应用层协议控制使用的过程中, 通讯系统起着纽带的作用。 1 2 研究目标及内容组织 本文通过物理层和m a c 层间的跨层合作研究t c p 网络性能的改进策略,并 在改进的网络环境中设计系统的体系结构,重点研究通信系统的客户端和服务器端 通信问题,从而为应用层协议的控制建立一个高性能通信管理环境。其设计和实现 的通讯系统逻辑模型如图所示: 图1 - 2 通讯系统逻辑模型 本文内容具体安排如下: 第一章为绪论部分,介绍研究背景、意义、目的以及国内外研究现状。 第二章分析和归纳了相关研究理论和技术基础,包括基于t c p 的通信系统主要 技术方法,特别是基于s o c k e t 的实现方式,构件思想和基于构件思想的应用架构和运 行机制,同时介绍其开发平台e o s 。 第三章是本文重点,首先设计了通信系统的体系结构图,然后基于跨层合作研究 了t c p 性能改进策略,并在改进的网络环境中设计和开发了通信系统,本章研究了实 现系统的核心技术。 第四章结合了先前归纳的构件思想和运行机制,基于构件思想设计和开发了通信 系统的管理平台。 第五章对全文工作的总结,以及给出进一步需要解决的问题和未来展望。 3 第二章相关理论和技术基础 2 1 基于t c p 网络的通信系统实现方式 计算机网络近年来获得了飞速的发展。2 0 年前,在我国很少有人接触过网 络。现在,计算机通信网络以及i n t e r n e t 已成为社会结构的一个基本组成部分。 网络被应用于工商业的各个方面,包括电子银行、电子商务、现代化的企业管 理、信息服务业等都以计算机网络系统为基础 7 1 。从学校远程教育到政府日常 办公乃至现在的电子社区,很多方面都离不开网络技术。可以不夸张地说,网 络在当今世界无处不在。 随着网络技术的迅速发展,用户软件系统一般服务于单机任务或者网络通 讯任务。目前基于网络的通讯技术的发展异常迅速,其中最为明显的就是基于 s o c k e t 的套接口a p i 的发展l s j 。大多数情况下,基于s o c k e t 的通讯软件系统的 实现方式为两种,分别为基于t c p 网络的软件系统实现方式和基于u d p 网络的软 件系统实现方式。 依据“应用层协议分析与控制”,服务器不会同时处理大量的客户端请求,并 且实对性不是那么的严格要求。所以,建立连接的开销是值得的。这也同时是 设计系统的开发模式所考虑的问题。相比u d p 协议【9 】的无连接以及很强的实时 性,系统更需要可靠性。而基于t c p 网络的软件系统实现方式具有很强的可靠性, 那是因为: 首先,t c p 提供客户与服务器的连接。一个t c p 客户建立与一个给定服务 器的连接,并跨越连接与那个服务器交换数据,然后终止连接。 其次,t c p 提供可靠性。当t c p 向另一端发送数据时,它要求对端返回一 个确认。 第三,t c p 通过给所发送数据的每一个字节关联个序列号进行排序。 第四,t c p 提供流量控制。t c p 总是告诉对端它能够接受多少字节的数据, 这称为通告窗口d o ,该窗e l 在任何时刻都指出缓冲区中的可用空间,从而确保 发送端发送的数据不会溢出接受缓冲区,并且该窗口是动态变化的。 依据t c p i p 协议模型实现通讯功能的步骤大致如下:首先建立连接,然后 传输数据,最后是关闭连接【7 ) 。下面是通讯过程中几个常用函数: 为了执行网络i 0 ,一个进程必须做的第一件事情就是调用s o c k e t 函数, 函数在成功时返回一个小的非负整数值,它与文件描述字类似,把它称为套接 口描述字( s o c k e td e s c r i p t o r ) ,简称套接字( s o e k f d ) 。 4 基于t c p 网络,调用c o n n e c t 函数将激发t c p 的三路握手过程,而且仅是 在连接建立成功和出错才返回。 b i n d 函数把一个本地协议地址赋予一个套接口。对于网际协议,协议得知 是3 2 为的i p v 4 地址或1 2 8 位的i p v 6 地址与1 6 位的t c p 或u d p 端口号的组 合。 l i s t e n 函数仅由t c p 服务器调用,它做两件事情: ( 1 ) 当s o c k e t 函数创建一个套接口时,它被假设为一个主动套接口。也 就是说,它是一个将调用c o n n e c t 发起连接的客户套接口,l i s t e n 函数把一个未 连接的套接口转换成一个被动套接口,指示内核应接受指向该套接口的连接请 求。根据t c p 状态转换图可知,调用l i s t e n 导致套接口从c l o s e d 状态转换 到l i s t e n 状态。 ( 2 ) 本函数的第二个参数规定了内核应该为相应套接口排队的最大连接个 数。 本函数通常在调用s o c k e t 和b i n d 这两个函数之后,并在调用a c c e p t 函数 之前调用。 a c c e p t 函数由t c p 服务器调用,用于从已完成连接队列对头返回下个已 完成连接。如果已完成连接队列为空,那么进程被投入睡眠( 假定套接口为缺省 的阻塞方式) 。 它的第一个参数为监听套接口描述字( 由s o c k e t 创建,随后用作b i n d 和 l i s t e n 的第一个参数的描述字) ,称它的返回值为已连接套接口描述字。区别这 两个套接口很重要。一个服务器进程通常仅仅创建一个监听套接口,它在该服 务器的生命期内一直存在。内核为每个由服务器进程接受的客户连接创建一个 已连接套接口( 也就是说对于它的t c p 三路握手过程已经完成) 。当服务器完成 对于某个给定客户的服务时,相应的已连接套接口就被关闭。 f o r k 和e x e c 函数:p i dtf o r k ( v o i d ) ;在子进程中返回0 ,在父进程中返回子进 程i d ,1 表示出错。f o r k 两个典型的用法如下【l l j : 一个进程创建一个自身的拷贝,这样的每个拷贝都可以在另一个拷贝执 行其它任务的同时处理各自的某个操作。这是网络服务器的典型用法。 一个进程想要执行另一个程序。既然创建新进程的唯一办法是调用f o r k , 该进程于是首先调用f o r k 创建一个自身的拷贝,然后其中一个拷贝( 通常为子 进程) 调用e x e c 把自身替换成新的程序( 类似于洗脑) 。这是诸如s h e l l 之类程 序的典型用法。 进程在调用e x e c 之前打开着的描述字通常跨e x e c 继续保持打开。 通信两端通过t c p 建立连接称为“三路握手”,建立一个连接需要三个分节, 但终止一个连接需要四个分节。 某个应用进程首先调用c l o s e 函数,称这一端执行主动关闭。这一端的t c p 于是发送一个f i n 分节,表示数据发送完毕。 接收到f i n 的另一端执行被动关闭。这个f i n 由t c p 确认。它的接收也作 为文件接受结束符传递给接收端应用进程( 放在己排队等候该应用进程接收的 任何数据之后) ,因为f i n 的接收意味着应用进程在相应连接上再也接收不到 额外数据。 段时闯后,接收到文件结束符的应用进程将调用c l o s e 关闭它的套接口。 这导致它的t c p 的也发送一个f i n 。接收到这个f i n 的原发送端t c p ( 即执行 主动关闭的那一端) 对它进行确认。因为每个方向都需要一个f i n 和一个a c k , 所以一般需要四个分节。 t c p 连接的建立和终止可以用状态转换图【l2 】来说明。t c p 为一个连接定义 了1 1 种状态,并且t c p 规则规定如何基于当前状态及在该状态执行一个主动 打开时,t c p 将发送一个s y n 并从c l o s e d 状态转换s y ns e n t 状态。如果 该t c p 接着接收到一个捎带a c k 的s y n ,它将发送一个a c k 并转换成 e s t a b l i s h e d 状态。这个最终状态是绝大多数数据传送发生的状态。 图2 - 1 基于t c p 网络通信建立和终止状态转换图 6 有两个外向箭头引出自e s t a b l i s h e d 状态的连接中指非处理。如果应用 进程在接收到文件结束符前调用c l o s e ( 主动关闭) ,则转换成f i nw a i t1 状 态。如果在e s t a b l i s h e d 状态下应用进程接收到f i n ,则转换成c l o s ew a i t 状态。 上图用实线表示客户的状态转换,虚线表示服务器的状态转换。注意没有 提到的两个转换:一个为同时打开( 当两端几乎同时发送s y n 并且这两个s y n 在网络中彼此交错时) ,另一个为同时关闭( 当两端同时发送f i n 时) 。它们是 可能发生的,不过非常罕见。 2 2 构件的思想和运行机制 网络计算带领软件产业进入了一个新的时代,商机无限,但同时挑战也无 限。以电子商务为代表的技术潮流正将大到企业计算、小到个人数字代理的各 种应用,在世界范围内联结起来,软件制造业正面临着一些新的课题,如复杂 的分布环境、灵活的应用模式、广泛的包容性等【l ”,传统的软件设计思想已远 远不够。 在这一背景下,构件技术应运而生,并逐渐炙手可热。不同于o o ( 面向对 象) 技术强调对个体的抽象,构件则更推广了对象封装的内涵,侧重于复杂系统 中组成部分的协调关系,强调实体在环境中的存在形式,形成一个专门的技术 领域【14 1 。但构件技术的发展是以面向对象技术为基础的。 面向对象技术是在”数据+ 算法”的基础上提升了对事物的认识方法,对象的 概念符合人们认识世界的习惯【”】。而构件的思想则更多地将重点从建模本身发 展到对软件生产的考虑,即构件可以在应用领域的软件生产中作为零件纳入新 的体系中被重用。因此,构件是面向对象思想的沿袭和扩展,认识事物的角度 从对象个体本身上升到个体在群体中的作用。那到底什么是构件呢? 构件是面向构件技术体系中用于进行软件开发、复用和软件组装的基本单元。一 个构件包括构件类型( c o m p o n e n tt y p e ) 、构件实现( c o m p o n e n ti m p l e m e n t ) 、提供接 口( p r o v i d e s i n t e r f a c e s ) 和依赖接口( r e q u i r e s - i n t e r f a c e ) 四个方面【1 6 】。其结构图如图 2 2 所示: 构件类型( c o m p o n e n t t y p e ) :构件类型表明构件是处理什么问题和提供那些接口 功能,含了构件类型的名称。 构件实现( c o m p o n e n ti m p l e m e n t ) :对构件类型的具体实现称为构件实现,一个 构件类能有多个构件实现。 提供接1 2 1 ( p r o v i d e s i m e r f a c e s ) :提供接口指构件提供给外部程序使用的接口。 依赖接口( r e q u i r e s i n t e r f a c e ) :依赖接e 1 指构件运行时所必须依赖的外部程序接 口。 7 擞攥攮国爹一”襁锫铉”= 撬壤掇礴= ” 弼髑灏 一 ? 。 。一 鲰 ;。,。7 。,。i 。 爹 ”。 一 霪 。 “ 瑟。,。巍糍。l 一,! 凝一,鼎盏攀龆舞嚣臻碡点。 图2 - 2 构件结构图 构件有几个基本属性: ( 1 ) 构件是可独立配置的单元,因此构件必须自包容。 ( 2 ) 构件强调与环境和其它构件的分离,因此构件的实现是严格封装的, 外界没机会或没必要知道构件内部的实现细节。 ( 3 ) 构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口 规范,可以与环境交互。 ( 4 ) 构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应 当与自身副本区别,在任何环境中,最多仅有特定构件的一份副本。 可以看出,构件沿袭了对象的封装特性,但同时并不局限在一个对象,其 内部可以封装一个或多个类、原型对象甚至过程,结构是灵活的。构件突出了 自包容和被包容的特性【1 1 ”,这就是作为软件生产线上作为零件的必要特征。 实际上,一个企业应用系统的应用架构就是通过功能、层次、软件要素这 三个相互影响的维度有机结合形成的 1 s o 对于一个企业应用而言, ( 1 ) 从业务表现的角度是由不同的功能( 或功能模块,如客户管理、产品 管理、订单管理等等) 组合而成的。 ( 2 ) 从系统结构的角度则每个功能又分为页面( 用户界面) 、流程( 界面 流转控制) 、业务处理、数据等不同的层次。 ( 3 ) 从技术实现的角度这些层次最终能够运转起来满足功能的要求又依赖 于代码、数据和运行环境等软件基本要素。 传统的j 2 e e 应用项目,由于已经提供了j a v a 程序语言和对象级接口的数 据传递方式和基于j v m 的j a v a 运行环境这些软件要素,应用架构需要考虑的 是从软件层次上主要遵循m v c 的设计模式【l9 1 ,在功能实现上通过合理的对象 设计以及模式应用来进行保证 2 “。这就意味着,对一个j 2 e e 企业应用项目组 而言,既需要非常熟悉相关的业务领域知识,同时对技术环境的熟悉程度和把 握能力都要求较高,这样对项目的实施造成了很大的压力。 面对这些问题,面向构件的架构提供一套体系完整的应用架构: ( 1 ) 从应用功能维度上,是通过构件包来承载业务功能的,一个应用可以 由多个构件包构成,每个构件包实现了一组具有相关性的业务功能,实际上可 以将构件包理解为业务功能分解后的功能模块。 ( 2 ) 从软件层次维度上,每个构件包又按照m v c 的思想抽象形成了不同 层次的构件元素,由上而下包括页面构件层、展现构件层、业务构件层、运算 构件层、数据构件层,每个层次具有鲜明的特征,完成相应的使命,同时引入 了具有很强扩展能力的x m l 总线技术【2 ,实现各个层次之间的数据传递,并 提升各个层次数据的扩展能力。构件层次结构图如图2 3 所示: 图2 - 3 构件层次结构图 针对以上构件层次结构图中的各个要素的作用和特征详细描述如下: 数据构件层采用x rm a p p i n g 技术【22 1 ,主要实现与企业系统数据库的数据 实体映射,达到数据持久层管理的目的,降低应用与数据库结构和数据库类型 的耦合度,提升企业应用在数据层次的扩展能力。 运算构件层实际上是对计算机处理操作的构件化封装,因为这个层次具有 与业务无关性,是可以预先实现的,面向构件技术体系可以提供预制的构件库, 使得在开发一个企业应用时,基本上业务处理所需要的计算功能都已经提供了。 当然,构件可以进行扩展,在即使应用中不够的情况下,也可以使用j a v a 开 发出新的运算构件。 业务构件层主要实现应用逻辑的处理过程,其实现方式是通过构件组装环 境将许多运算构件通过可视化方式组合成复杂的业务处理过程( 应用逻辑) ,提 高开发、测试、维护效率。 展现构件层是连接用户界面与业务处理的中间层次,例如页面的某个处理 请求( 按钮或者连接) 将会激活相应的展现构件,展现构件将用户提交的数据 传递给相应的业务构件进行调用,根据调用的返回,再定位到另一个用户界面, 并把业务处理的返回数据传递到相应页面上。 页面构件层主要提供对应用系统用户界面的支持。 9 x m l 数据总线是面向构件技术体系一个很重要的技术特性,在面向构件应 用中,各种数据都被规范成了x m l 的格式,而数据的传递则采用x p a t h 的寻 址方式。而这种数据传递方式使得应用开发中对接口的处理与原来基于对象接 口的方式有了较大差异。构件的接口相当于确定了接口数据在总线中的固定位 置,运行时根据不同的实例,对应位置上的内容可能不一样,而传统的接口只 确定接口的对象类型和对象的变量名,在调用具体接口时完成对象的实例化。 基于面向构件的应用架构,一个完整的应用系统的开发可能涉及到6 个层次的 开发,形成展现构件、业务构件、基础构件、数据构件、流程构件、页面构件, 这些构件在引擎( 展现引擎、业务引擎、数据引擎) 的支撑下实现运转【2 ”,整 个应用的表现形式如图2 4 所示: 图2 4 构件运行机制图 应用的具体执行过程如下: ( 1 ) 页面的表单( f o r m ) 通过提交( s u b m i t ) 后,通过h t t p 通讯协议传 到w e b 服务器上,w e b 容器将获得的表单数据以及调用对象传递给展现引擎。 ( 2 ) 展现引擎将表单( f o r m ) 数据转换为数据总线上的r e q u e s t c o n t e x t 数据区的内容,其中表单输入域f i n p u t ) 的n a m e 以x p a t l i 的形式映射成 r e q u e s t c o n t e x t 数据区的节点路径,输入域的值( v a l u e ) 则成为节点的值。同 时,展现引擎将根据表单( f o r m ) 的a c t i o n 获得对应的展现逻辑调用路径,根 据展现逻辑的逻辑调用顺序找到第一个处理节点进行处理,如果处理的节点是 调用一个业务逻辑,则将业务逻辑路径以及业务逻辑需要的数据传递给业务引 擎。 ( 3 ) 业务引擎将展现引擎传递的信息产生b i z c o n t e x t 数据区,根据对应 的业务逻辑的运算逻辑进行依次的调用,调用过程中,只能对b i z c o n t e x t 的数 据进行操作。 ( 4 ) 当业务逻辑中执行某些进行数据库处理的运算逻辑时,将由数据引擎 1 0 根据指定的数据区某个位置( 通过x p a t h 指定) 的数据和指定的操作动作( 如分 页查询) 结合对应的数据实体的定义实现对数据的存取。 ( 5 ) 运算逻辑完成数据库的处理或者计算处理后,相关的信息将在 b i z c o n t e x t 数据区中得到体现,执行权将交回给业务引擎,业务引擎将根据业 务逻辑的调用关系执行接下来的其它运算逻辑,直到最后执行完成,在整个业 务逻辑运行过程中,是共享一个b i z c o n t e x t 的数据区的,也就是前一个操作对 数据发生改变后,后一个操作就可以直接使用。业务逻辑调用完后,如果要将 某些信息输出到展现逻辑的数据区,必须对业务逻辑进行输出的接口设置。 ( 6 ) 业务逻辑执行完成后,又将执行权交回给展现引擎,由展现引擎判断 展现逻辑接下来的执行动作,直到最后定位到一个页面。同样,在整个展现逻 辑执行过程中,共享一个r e q u e s t c o n t e x t 的数据区,前一个业务逻辑调用后如 果存在返回,将改变r e q u e s t c o n t e x t 的数据区内容,后一个操作就可以直接使 用,最后,r e q u e s t c o n t e x t 的数据区内容都将输出到页面j s p 页面通过t a g 的 方式将数据呈现到浏览器客户端的用户界面上。 2 3 基于构件思想e o s 简介 p r i m e t o ne o s 是真正针对不断变化的需求而设计的面向构件的中间件平 台。它是为配套构件技术的开发的,它将构件技术、x m l 企业总线技术和可视化 开发技术完美结合,通过图形化的构件单元作为应用系统的基本组成元素,为 企业级应用系统的开发带来了卓越的价值【2 ”。它是基于j 2 e e 平台之上的完整 的系统架构,是面向构件的完整的互联网应用体系。e o s 构件化平台提供了对 e o s6 种构件在可视化定义、组装、发布、构件运行引擎、构件库管理、构件 库资源访问等构件的整个构件、生产、运行、管理环境的支持,并提供了完善 的服务。 从功能上e o s 主要包括4 大模块:e o s 构件运行和管理环境( e o s s e r v e r ) ,e o s 构件集成开发环境( e o ss t u d i o ) ,e o s 构件库,e o s 工作 流。 在这4 大模块中,开发人员面对的是e o ss t u d i o ,面对的是它的构件逻辑 的开发与应用,也就是页面构件、展现构件,流程构件,业务构件,运算构件, 数据构件6 种构件可视化的集成开发、调试、组装和发布。 数据逻辑即为数据实体,它是描述数据库中表或视图对象信息,包括数据 实体名称、持久化名称( 对应关系数据库的表视图名) 、字段组成、字段的属 性等。 运算逻辑是标准的j a v am e t h o d ,用于完成特定的业务计算和程序集成的构 件逻辑。 业务逻辑是完成某一业务功能的一组运算逻辑的组合,通过图形化的业务 逻辑编辑器,用户可以开发多个运算逻辑、业务逻辑构成的业务逻辑。 展现逻辑是用于完成界面与业务流转控制的构件逻辑。通过图形化的展现 逻辑编辑器,用户可以开发业务逻辑调用和页面逻辑流转的完整流程。e o s s e r v e r 将根据用户指定的流程,依次调用相关的业务逻辑,传递相关的数据, 显示指定的j s p 页面。 页面逻辑是用于完成用户交互界面生成及页面集成的构件逻辑。 e o ss e r v e r 在处理数据时结合j 2 e e 的特点,把x m l 数据分为3 个数据区 s e s s i o n c o n t e x t 数据区,r e q u e s t c o n t e x t 数据区和b i z c o n t e x t 数据区。每种数 据区有不同的作用范围与生命周期,并且数据来源也不尽相同,表2 1 展示了 构件类型与数据区对应关系。 表2 - 1 构件类型与数据区对应表 鏖露霾鬻瓣懑黼湖藤麓麓 页面构件r e q u e s t c o n t e x t 展现构件r e q u e s t c o n t e x t , s e s s i o n c o n t e x t 业务构件t b iz c o n t e x t 运算构件 b i z c o n t e x t 在e o ss e r v e r 中数据是以x m l 的格式进行传递的。客户端提交的请求数据会被 转换成x m l 格式传递到展现逻辑中,然后由展现逻辑根据需要把数据传递给业务逻 辑;在业务逻辑中调用运算逻辑对数据作一定的处理,然后业务逻辑把处理过的数据 返回展现逻辑;展现逻辑再把数据传递到页面逻辑中。 第三章通信系统的总体设计及其关键技术 3 1 通信系统的体系结构 基于“应用层协议分析与控制”的具体要求,整个通信系统的体系结构如图3 1 所示。通信系统由两部分组成,其中第一部分是便于管理人员进行管理的管理平台, 它包括基础框架部分和业务功能部分,从系统的逻辑模型中可以看出,它是基于b s 架构的,使用面向构件思想进行设计和开发。第一部分还包括一个本地数据库,用来 存储业务功能中采集的信息。通信系统的客户端也在管理平台中实现。 i 管理平台i 通讯系统服务器端 il _ 一协议卜 i l 信息i i 基础业务数通信 信数 框架功能据系统 对象l据 - 库 ( 系统( 信息 _ - 库 _ - _ 息 信息l 客户 管理) 采集1端 分 _ -+ 辨 规则 _ 信息伟 图3 - 1 通信系统的体系结构图 系统的第二部分为通信系统服务器端,它最终部署在网关设备中。服务器端的结 构包括将通信系统客户端传输过来的数据进行分辨的模块,它可以辨认信息为协议信 息,或者为对象信息,或者为规则信息。最后还有个数据库,这和先前在客户端中的 数据库可以为部署在同一个数据库服务器上,但要作为两个不同的数据库。 本章主要设计和开发通信系统的客户端和服务器端,其管理平台的开发详见本文 第四章。 3 2t c p 性能改进策略的研究 由于t c p 网络具有高度的可靠性,依据项目特性,“应用层协议分析和控制”中通 信系统实现方式基于t c p 网络实现,本文通讯系统建立在t c p 性能改进的网络环境中。 本节通过跨层合作提高网络环境中的t

温馨提示

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

评论

0/150

提交评论