(交通信息工程及控制专业论文)AIS岸基网络信息发布软件系统研究.pdf_第1页
(交通信息工程及控制专业论文)AIS岸基网络信息发布软件系统研究.pdf_第2页
(交通信息工程及控制专业论文)AIS岸基网络信息发布软件系统研究.pdf_第3页
(交通信息工程及控制专业论文)AIS岸基网络信息发布软件系统研究.pdf_第4页
(交通信息工程及控制专业论文)AIS岸基网络信息发布软件系统研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(交通信息工程及控制专业论文)AIS岸基网络信息发布软件系统研究.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 当前,船舶自动识别系统( a u t o m a t i ci d e n t i f i c a t i o ns y s t e m ,a i s ) 在船舶航行 安全保障以及船舶动态信息获取等方面所起的作用日益重要。船公司、船舶代理、 港口等许多部门或组织对船舶a i s 信息有着非常迫切的需求。但是,我国沿岸的 a i s 岸基网络由海事局负责建设,且由于种种原因,船舶a i s 数据只在海事局内 部进行数据共享,a i s 数据的利用率低下,不能满足广大用户的迫切需求。基于此, 近两年来,一些民营的a i s 岸基网络在我国沿岸陆续发展起来。这些民营网络能 够通过因特网向缴费用户提供沿岸a i s 信息,受到了用户的欢迎,但所使用的信 息发布系统架构不合理、功能单一、安全性差,不能满足大量用户的并发访问。 本文通过分析用户的各种需求,研究了企业级a i s 信息发布系统的体系结构, 设计并实现了基于j 2 e e ( j a v a2p l a t f o n l le n t e r p r i s ee d i t i o n ) 开发环境,以i b m w e b s p h e r e d b 2 为支撑平台的、具有丰富功能和权限控制的a i s 岸基网络信息发 布软件系统。该系统实现了面向因特网发布a i s 数据,提供多种a i s 数据的查询 服务和定制服务,支持大规模用户的并发访问;较为完整地实现了基于角色的权 限控制体系,使系统的安全性得到保障;在a i s 数据发布的基础上,增加了海洋 气象数据的发布功能,使得系统的服务功能多元化,更好地满足了用户的需求; 实现了所有发布数据在w e b 电子海图上的叠加显示,增强了系统的易用性。 本文设计与实现的a i s 岸基网络信息发布软件系统是一种企业级系统,具有 支持大规模并发访问、可移植性强、扩展性好、安全性高等优势和特点。 关键词:船舶自动识别系统;w e b 信息发布;网络信息系统;数据库设计;j 2 e e 英文摘要 a b s t r a c t n o w a d a y s ,t h ea p p l i c a t i o no fa i si ns h i p p i n gs a f e t ya n ds h i pd y n a m i ci n f o r m a t i o n a c q u i s i t i o nf i e l d sh a sb e c o m em o r ea n dm o r ei m p o r t a n t m a n yd e p a r t m e n t sa n d o r g a n i z a t i o n sh a v eat h i r s t yr e q u i r e m e n to fa i si n f o r m a t i o n b u to u rc o u n t r y sa i s s h o r e b a s e dn e t w o r kh a sb e e nb u i l db ym s aa n db e c a u s eo fs o m er e a s o n s ,t h ea i sd a t a c a no n l yb es h a r e di n n e rm s a t h el o wu t i l i z a t i o no fa i sd a t ac a u s e dt h o s et h i r s t y r e q u i r e m e n t sc a n tb es a t i s f i e d s oi nr e c e n ty e a r s ,s o m ep r i v a t e o w n e da i ss h o r e - b a s e d n e t w o r k sh a v ed e v e l o p e d t h o s en e t w o r k sc a r lp r o v i d ea i ss h o r e - b a s e di n f o r m a t i o nt o u s e r sw h oh a v ea l r e a d yp a i e dt h r o u g ht h ei n t e m e t ,a n dt h i sw e l c o m e db yu s e r s b u t t h o s en e t w o r k s si n f o r m a t i o ni s s u es t r u c t u r ei su n r e a s o n a b l e ,f u n c t i o n sa r es i n g l e n e s s , s e c u r i t yi sb a dw h i c hc a nn o ta f f o r dl a r g e - s c a l ec o n c u r r e n ta c c e s s b ya n a l y su s e r s sn e e d s ,t h i st h e s i ss t u d i e dt h es t r u c t u r eo fe n t e r p r i s e - l e v e la i s i n f o r m a t i o ni s s u es y s t e m ,d e s i g n e da n dr e a l i z e daa i ss h o r e - b a s e dn e t w o r ki n f o r m a t i o n i s s u es o f t w a r es y s t e mw h i c hh a v ep l e n t yf u n c t i o n sa n da c c e s sc o n t r o lb a s e di nj 2 e e e n v i r o n m e n t ,d b 2d a t a b a s e ,a n dw e b s p h e r ei s s u ep l a t f o r m t h ei s s u es y s t e mr e a l i z e d p u b l i s h i n ga i sd a t at oi n t e r n e ta n dp r o v i d e dk i n d so fa i sd a t as e a r c hs e r v i c e sa n d c u s t o m i z es e r v i c e s ,s u p p o r tl a r g e - s c a l ec o n c u r r e n ta c c e s sa n da l m o s tr e a l i z e dt h ee n t i r e a u t h o r i t yc o n t r o ls y s t e mw h i c hb a s e do nr o l e - b a s e da c c e s sc o n t r o lm o d e lw h i c he n s u r e d t h es e c u r i t yo ft h es y s t e m ;b e s i d e st h ea i sd a t ap u b l i s h i n g ,t h es y s t e ma l s oh a ss o m e s e aw e a t h e rd a t ap u b l i s h i n g f u n c t i o n s ,s o t h e s y s t e m s s e r v i c e sb e c o m em o r e d i v e r s i f i c a t i o na n db e t t e rm e e t st h en e e d so fu s e r s ;r e a l i z e da l lt h ep u b l i s h i n gd a t ah a v e b e e nd i s p l a y e do nt h ew e be l e c t r o n i cc h a r t ,s ou s e r sc a ne n j o yt h es e r v i c e se a s i l y t h ea i ss h o r e - b a s e dn e t w o r ki n f o r m a t i o ni s s u es o f t w a r e s y s t e m i sa l l e n t e r p r i s e l e v e li n f o r m a t i o ns y s t e m ,w h i c hs u p p o r tl a r g e - s c a l ec o n c u r r e n ta c c e s s ,a n d h a v em a n yc h a r a c t e r ss u c ha sg o o dt r a n s p o r t a b i l i t y , e x p a n s i b i l i t ya n ds e c u r i t y k e yw o r d s :a u t o m a t i ci d e n t i f i c a t i o ns y s t e m ;w e bi n f o r m a t i o ni s s u a n c e ;n e t w o r k i n f o r m a t i o ns y s t e m ;d a t a b a s ed e s i g n ;j a v a2p l a t f o r me n t e r p r i s ee d i t i o n 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文= = ! 墨崖基圆终值星筮查筮鲑丕统婴窥:! 除论文中已经注明 引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或未 公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名: 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密彳 ( 请在以上方框内打t c ,) 糍:赫也姒名:砝敞 日期:矽i 口年名月工么日 a i s 岸基网络信息发布软件系统研究 第1 章绪论 1 1 选题背景 随着全球海运业的飞速发展,船舶朝着大型化、高速化方向发展,船舶数量、 繁忙水域交通密度以及危险货物装载量不断增加,海损事故时有发生,严重威胁 着船舶航行安全和海洋生态环境【1 1 。因此,为了保证船舶安全航行以及加强对船舶 的监管力度,各种安全支撑系统应运而生,a i s 岸基网络系统就是重要的安全支撑 系统之一2 1 。 a i s 网络由岸台设备和船台设备两部分组成,通过v h f 信道在船岸、船 船之间进行数据交换,其交换的信息包括船舶识别码、船位、航向、航速等3 1 。 a i s 的这些数据可应用于港口船舶监控、繁忙水域船舶交通流控制、船舶交通服务 ( v e s s e lt r a 伍cs e r v i c e s ,v t s ) 、船舶避碰等方面。因而,很多部门和单位对a i s 数据有着广泛的需求,如海事部门、港航管理部门、海关、检疫、引航部门、救 助部门、船舶所有人、船舶代理商、货物代理商等。由于我国的a i s 岸基网络主 要由沿海各海事部门建设并掌握,a i s 数据也只在海事专网内共享,所以不能满足 众多用户的需求。因此,近年来一些民营的a i s 岸基网络在我国沿岸陆续发展起 来。这些民营网络能够通过因特网向缴费用户提供沿岸a i s 信息,受到了用户的 欢迎,但所使用的信息发布系统架构不合理、功能单一、安全性差,不能满足大 量用户的并发访问。 本文正是基于上述背景,针对a i s 数据的特点,在国家科技支撑计划项目“远 洋船舶及货物运输在线监控系统”( 以下简称s c o m ) 的基础上,运用大型企业 级信息系统的技术架构,设计并实现了将a i s 岸基网络信息在一定的权限控制下 向互联网发布的软件系统。 1 2 课题研究的目标及意义 本课题的研究目标是:在s c o m 系统的基础上,设计并实现以j 2 e e 为开发 环境,d b 2 数据库为支撑,s t r u t s 结构为框架,i b mw e b s p h e r e 作为发布平台的具 有权限控制的a i s 岸基网络信息发布软件系统。 本系统的基本功能包括:船舶查询、船舶定制服务、区域定制服务以及用户 第1 章绪论 的权限控制;系统扩展功能主要是海洋气象信息查询,如全球气压场查询、5 0 0 h p a 高度场查询、全球风场查询和台风查询。以上所有查询功能的查询结果都能在w e b 电子海图上进行叠加显示,从而以直观的方式展示给用户。 1 9 9 8 年l1 月a i s 技术标准r r u rm 1 3 7 1 获得通过,2 0 0 0 年1 2 月i m om s c 第7 3 次会议确定了对s o l a s 公约第五章的修订,规定了从2 0 0 2 年7 月起分阶段 安装a i s 的时间表。之后,a i s 发展迅速,目前我国沿海的a i s 岸基网络已基本 建设完毕,各沿海海区已基本覆盖,由此而形成的海量a i s 数据对船舶导航、船 舶监控、船舶定位、船舶追踪、通航管理、应急处置以及反海盗服务都具有十分 重要的意义。因此,诸如引航部门、救助部门、船舶所有人、船舶代理商等都对 获得a i s 数据具有十分迫切的需求。因此,将a i s 岸基网络信息存入到数据库中, 并在一定的权限控制下通过网络进行发布,即建立a i s 岸基网络信息发布软件系 统,对满足新时代需求具有重要的意义。 1 3a is 岸基网络发布系统的研究现状 1 3 1 国外现状 国外对a i s 岸基网络信息发布系统的研究从2 0 0 4 年左右就开始了,目前已经形 成相对完善的信息服务系统,而且已经达到了商业化运作的程度。具体的发布系 统可分为两大类:一是覆盖全球海洋的a i s 信息发布系统,二是覆盖局部地区或某 一国家沿海的a i s 信息发布系统。 ( 1 ) 覆盖全球海洋的a i s 信息发布系统 这类系统的代表者是英国的l l o y d sa i s l i v e 系纠4 1 。此系统开发于2 0 0 4 年,是 全球第一个a i s 信息发布系统,覆盖超过1 0 0 多个国家和地区的2 0 0 0 多处区域,能 够提供船舶a i s 信息的实时查询和追踪,包括使用“星际查询 的方式查询大洋中 船舶的a i s 信息( 即通过卫星链路获取大洋中船舶的实时a i s 信息) ,所有的查询结 果均在w 曲电子海图上进行叠加显示。 整个系统部署在英国本土、亚洲、美国三个服务器上,向全球的互联网用户 发布a i s 信息服务,其提供的服务包括: 动态船舶搜索 a i s 岸基网络信息发布软件系统研究 在任一时间保证有大约2 5 0 0 0 条动态船舶信息 可查询全球超过2 0 0 0 个港口或锚地区域的船l j f l a i s 信息 提供最大1 6 级放大的电子海图 反海盗服务,包括提供局部或全局船舶数据 船舶追踪服务 全球未来5 天天气预报服务 ( 2 ) 覆盖局部地区或某一国家沿海的a i s 信息发布系统 目前,这类系统在国外的例子比较多,它们与l l o y d sa i s l i v e 系统最大的区别 就在于它们的a i s 信息覆盖范围仅限于本国某地区或全部港口,而且提供的服务也 比较单一。这类系统的代表有:挪威的n a v c o ma i sl i v e 系统【5 1 、英国的a i s l i v e r p o o l 系统【6 1 以及日本的t o k y ob a yt r a f f i cw e b s i t e s 系统【7 1 。其q b n a v c o ma i s l i v e 系统提供的服务为:在w e b 电子海图上显示包括挪威全国主要港口范围内的 a i s 船舶数据;a i sl i v e r p o o l 系统提供的服务为:在w e b 电子海图上显示英国各港 口和爱尔兰部分港口的a i s 船舶数据;t o k y ob a yt r a f f i cw e b s i t e s 系统提供的服务 为:在w e b 电子海图上显示东京湾海域的a i s 船舶数据。 这类系统的特点是覆盖区域较小,仅能给用户一个查看相关区域内船舶a i s 信 息的服务,扩展服务种类有限。但该类系统没有覆盖全球海洋的a i s 信息发布系统 里那样严格的权限控制。 综上所述,无论是局部型a i s 发布系统还是全球型a i s 发布系统,国外的研 究和应用都已经达到了比较高的程度。尽管有功能不完善、服务单一的发布系统, 但也有功能齐全、权限体系完备、数据量大、服务质量高、增值服务多的全球性、 发布系统。目前,对这类系统的研究,国外己转到多种信息整合发布的方向,即 a i s 信息、气象信息、其他海事信息等多种信息的集成发布。 1 3 2 国内现状 我国在a i s 信息发布系统方面的研究和应用是在近些年才开始的,相对于国 外的发展水平,我国的研究和应用都还处在比较滞后的状态。 目前国内的a i s 信息发布系统主要分成两种,一种是海事局建设的a i s 系统, 另一种是民营的a i s 发布系统。前者是海事部门通过在中国沿海港口、繁忙水域 第1 章绪论 广泛建设a i s 岸基网络,收集数据然后再发布给海事局内部,用在船舶导航、船 舶监管等行政管理需求上( 如v t s 中心) 。这个发布系统虽然具有运行稳定、数据 量丰富、发布数据权威等特点,但由于只限于海事局内部使用,故无法满足如引 航、轮驳、码头、边防、检验检疫、港务监督、代理、船东等众多航运细分市场 的需求。民营的a i s 发布系统是近一两年才出现的,通过自行在沿海布设a i s 信 息接收点,然后通过因特网将a i s 数据汇入到数据库中再进行发布,例如“船讯 网,作为一个商用船舶实时位置信息服务网站,主要提供在电子海图背景上定位 和跟踪船舶、查看船舶资料、定制到港自动提醒等服纠8 。1 1 】。 尽管国内民营类的a i s 数据发布系统已经建设成形且能提供一定的服务,但 普遍具有以下的缺点: 多采用g i s 控件的方式发布a i s 数据,即a i s 信息是通过控件本身完成了 “请求响应 这个操作,而不是通过发出h t t p 请求然后由服务器进行响应 的模式,由此导致数据发布效率低下,客户端负担过重的结果。 发布平台多采用i i s 等低端发布平台,在数据的安全性、服务的稳定性以 及支持大规模用户访问方面都存在着不足。 系统开发环境简单,未采用企业级的架构,从而导致系统的可扩展性不够, 系统的稳定性无法保障,系统的体系结构也不够稳定。 多采用s q ls e r v e r 等数据库作为对a i s 数据存储和操作的支持,无法 应对复杂数据管理和保障数据安全。 1 4 本文的主要研究内容 本文研究的目标是建立a i s 岸基网络信息发布软件系统,该系统的开发工作主 要包括四个部分:一是a i s 信息的收集和入库;二是相关数据库的设计;三是高效、 稳定的数据发布体系;四是先进、安全的权限控制体系。第一部分的研究工作由 课题组其他成员完成,本文的研究工作主要针对后面三个部分,具体研究内容包 括: a i s 数据的组成结构,包含的信息以及信息的类型; - 存储a i s 数据的数据库结构。由于a i s 原始数据是生语句,在将a i s 数据存 储到数据库之前,需要对其进行解析并研究数据库的构造和数据表的结构以适应 a i s 岸基网络信息发布软件系统研究 a i s 数据的特点; a i s 数据的网络发布。具体为:建立j 2 e e 框架下高效的企业级发布体系, 采用当前先进和流行的“s t r u t s + j s p ”模式实现a i s 数据面向网络的发布,以及发 布数据的过滤和筛选、前台请求的响应、数据控制等功能; a i s 数据在w e b 电子海图上的叠加。当服务器响应客户端的请求,并将a i s 数据发送到客户端时,将a i s 数据准确、高效地叠j j l 至l j w e b 电子海图上,以直观的 方式展现给用户; 权限体系的建立与管理。基于j 2 e e 平台,建立与实际客户需求相适应的 基于角色的权限控制体系,保证a i s 信息的按需发布。 第2 章相关技术简介 第2 章相关技术简介 2 1j 2 e e 框架简介 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 平台的设计思想是:对按照基于组 件的应用模型设计的分布式应用提供一个简单而统一的标准。作为通用型中间件 和企业应用服务器中间件的主流技术,j 2 e e 平台的本质是一个分布式的服务器应 用程序设计环境,为设计、开发、装配和部署企业级应用程序提供了一个基于组 件的解决方案。其目标是:提供与平台无关的、可移植的、支持并发访问的、安 全的、完全基于j a v a 的开发服务器端中间件的标准。 2 1 1j 2 e e 架构 j 2 e e 架构是一个多层结构,如图2 1 所示。 图2 1j 2 e e 架构图 f i g 2 1f r a m e w o r k o fj 2 e e j 2 e e 体系架构包含以下几层: ( 1 ) 用户层用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 平 台支持不同类型的用户,包括h t m l 用户、j a v a a p p l e t s 和j a v a 应用等; a i s 岸基网络信息发布软件系统研究 ( 2 ) w 曲层- w 曲层产生表示逻辑,并接受来自表示客户端的用户反馈,这 些表示客户端通常为h t m l 客户端、j a v aa p p l e t s 和其他的w e b 客户端。在所接 收的客户端请求的基础上,表示层对用户的请求产生相应的回应。j 2 e e 平台中, 是由w e b 容器内的s e r v l e t 和j s p 来实现这一层的: ( 3 ) 业务层这一层处理应用的核心业务逻辑。业务层为低层业务服务组件 提供必要的接口。业务组件通常被实现为e j b 容器内的e j b 组件。其中,e j b 容 器提供组件生命周期,管理持久性、事务和资源分配等; ( 4 ) e i s ( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 层这一层为企业的信息系统服务, 包括数据库系统、事务处理系统、遗产系统和企业资源计划系统等。e i s 层是j 2 e e 应用与非j 2 e e 应用或遗产系统集成的连接点。 2 1 2j 2 e e 技术 j 2 e e 技术悼1 5 1 为构建大型的、分布式的企业级应用提供了机制。根据使用的 特点,可以把这些大量的、不同的技术分为: 组件技术。组件技术用来支持应用中最重要的部分业务逻辑。主要有 三种组件技术:s e r v l e t 、j s p ( j a v a s e r v e rp a g e ) 和e j b ( e n t e r p r i s ej a v a b e a n ) ; 服务技术。这些技术为应用组件提供服务,从而更高效地发挥组件的功能; 通信技术。这种技术对应用程序设计者来说是透明的。它为应用的不同部 分之间提供了通信机制,而不管它们是本地的还是远程的。 ( 1 ) 组件技术 对于任何应用而言,最重要的内容就是采用组件来对业务逻辑进行必要的建 模组件是应用级的可重用单元。为开发组件,j 2 e e 平台提供了三种技术: s e r v l e t s e r v l e t 是服务器端程序,它把应用逻辑嵌入到h t t p 请求应答过程中。 s e r v l e t 提供了一种方式来扩展w e b 服务器的功能,从而使它能够用h t m l 、x m l 和其他w e b 语言来产生动态的内割16 1 。 j s p j s p 为在页面中嵌入组件提供了手段,由所嵌入的组件运行并产生最终发送给 客户的页面。一个j s p 页面可以包含h t m l 、j a v a 代码和j a v a b e a n s 组件。j s p 实 第2 章相关技术简介 际上是对s e r v l e t 程序设计模型的一种扩展,即用户请求j s p 页面时,w e b 服务器 把j s p 页面编译成s e r v l e t ,然后w e b 服务器调用s e r v l e t 并向w e b 浏览器返回执 行结果,一旦从j s p 页面编译出s e r v l e t ,w e b 服务器就会简单地返回s e r v l e t ,而 不用每次都去重新编译。因此,j s p 页面提供了一种强大的产生动态页面的机制, 该机制利用了j a v a 平台的许多优点。 j s p 与s e r v l e t 相比,s e r v l e t 是纯j a v a 代码,在w e b 服务器把j s p 页面编译成 相应的s e r v l e t 之前,j s p 页面只是基于文本的文档这样,就把应用逻辑从表 示逻辑中清晰地分离出来了;从而使应用开发者关心业务逻辑,而w e b 设计者关 心表示逻辑。因此,j s p 使j 2 e e 应用程序的模块化程度更高【1 7 】。 一个典型的w e b 应用程序的体系结构如图2 2 所示。 w e b 容器 7 h t t p ( s ) j s p 文件 - - - - j - h t m 【l , s e r v l e t数朝 x m l 存储 图2 2w e b 应用程序的结构图 f i g 2 2s t r u c t u r eo f w e ba p p l i c a t i o np r o g r a m e j b e j b 结构是一种分布式的组件模型,用来开发安全的、可扩展的、事务性的、 多用户的组件。与j s p 把应用逻辑与表示逻辑分离一样,e j b 允许把应用逻辑从系 统级服务中分离出来,从而使得开发者的精力集中在商业领域中的问题上,而不 是系统级的程序设计。这些e j b 商用对象采用两种形式会话b e a n 和实体b e a n 。 会话b e a n 以状态会话b e a n 和非状态会话b e a n 两种形式出现。状态会话b e a n 是用来代表客户与系统进行交互的暂时对象它执行应用中的客户请求、访问 数据库等等,而非状态会话b e a n ,它在客户请求时不具有状态,通常这类的会话 b e a n 用来实现一个具体的服务,该服务并不要求客户的状态; 实体b e a n 是一个持久的对象。实体b e a n 模型化了数据存储中的数据,即一 个数据库包装对象。 a i s 岸基网络信息发布软件系统研究 ( 2 ) 服务技术 j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) j a v a 数据库连接a p i 使得开发者能够连接关系数据库系统,它允许一个j d b c 兼容的数据库用事务对数据进行查询、检索和操纵。 j a v a 事务a p i 和服务 j a v a 事务a p i ( j a v at r a n s a c t i o na p i ,j t a ) 是一种用来运行事务的途径,它 在本质上是独立于事务管理器实现( j a v at r a n s a c t i o ns e r v i c e ,j t s ) 的分布式事务。 ( 3 ) 通信技术 通信技术是在j 2 e e 应用中的各个组件和服务相互通信而采用的技术。主要包 括i n t e r n e t 协议、远程对象协议、j a v a 消息服务( j a v am e s s a g es e r v i c e ,j m s ) 以 及j a v a m a i l 1 引。其中i n t e r n e t 协议包括:超文本传输协议( h y p e r t e x tt r a n s f e r p r o t o c o l , h t t p ) 、传输控制网际协议( t r a n s m i s s i o nc o n t r o lp r o t o c o l ,t c p i n t e r n e tp r o t o c o l , i p ) 和安全套接字层( s e c u r es o c k e tl a y e r ,s s l ) ;远程对象协议包括:远程方法 调用( r e m o t em e t h o di n v o c a t i o n ,砌订i ) 以及远程方法调用的扩展协议r m i i i o p ( r m i i n t e r n e ti n t e ro r bp r o t o c o l ,r m i i i o p ) 。 2 2 经典m v o 框架s t r u t s 2 2 1m v c 简介 m v c 是m o d e l 、v i e w 、c o n t r o l l e r 三个词的缩写,分别代表应用的三个组成部 分:模型、视图与控制器。m v c 框架的核心思想是:将程序分成相对独立,而又 能协同工作的三个部分。三个部分以最少的耦合,协同工作,从而提高应用的可 扩展性及可维护性。另外,m v c 的每个组件只关心组件内的逻辑,不与其他组件 的逻辑混合【1 9 】。 ( 1 ) 传统的m o d e l l 和m o d e l 2 t 2 0 】 在早期的很多w e b 应用里,整个应用主要由j s p 页面组成,辅以少量的 j a v a b e a n 来完成特定的重复操作。j s p 页面同时要完成显示业务逻辑和流程控制, 这种以j s p 为主的开发模型就是m o d e l l 。其应用具体的实现方法如图2 3 所示。 第2 章相关技术简介 l r e q u e s t j s p 田 4 刃 r e s p o n s e 一 o 即 刃 图2 3m o d e l l 模型图 f i g 2 3s 舡u c m r eo fm o d e l 1 在m o d d l 中,j s p 页面负责接收客户端请求,对请求处理后直接进行响应。 一其间辅以j a v a b e a n 处理一些相关业务逻辑。这种模式实现较简单,适用于快速开 发小规模项目,其局限在于:j s p 页面身兼v i e w 和c o n t r o l l e r 两种角色,将控制 逻辑和表现逻辑混杂在一起,导致代码的重用性非常低,增加了应用扩展和维护 的难度。而m o d e l 2 则是基于m v c 架构的设计模式,在m o d e l 2 架构中,s e r v l e t 作为前端控制器,负责接收客户端发送的请求,在s e r v l e t 中只包含控制逻辑和简 单的前端处理,然后调用后端j a v a b e a n 来完成实际的逻辑处理,最后转发到相应 的j s p 页面处理显示逻辑。其具体实现方式如图2 4 所示。 l r e q u e s t ( c o n t r o l l e r ) s e r v l e t 刃 o 、2 ( m o d e l ) 3 、 ri n s t a n d a t e j a v a b e 觚c 咖 1 4 l 刃 5 ( v i e w ) r e s p o n s e j s p e 一一、c ,n s o u r c e s 图2 4m o d e l 2 模型图 f i g 2 4s 扛1 l c n 鹏o fm o d e l 2 由于引入了m v c 模式,m o d e l 2 具有组件化的特点,更适用于大规模应用的 开发。 a i s 岸基网络信息发布软件系统研究 ( 2 ) m v c 及其优势 m v c 模式是针对相同的数据需要不同显示的应用而设计的,其整体结构如图 2 5 所示。 图2 5m v c 结构图 f i g 2 5s t r u c t u r eo fm v c 在m v c 模式中,事件由控制器处理,控制器根据事件的类型改变模型或视图, 反之亦然。具体地说,模型维护一个视图列表,这些视图为获得模型变化通知, 通常采用观察者模式登记给模型。当模型发生改变时,模型向所有登记过的视图 发送通知;接下来,视图从对应的模型中获得信息,然后更新自己。 因此,m v c 模式具有如下特点: 多个视图可以对应一个模型。一个模型对应多个视图可以减少代码的复制 及代码的维护量,一旦模型发生改变,也易于维护; 模型返回的数据与显示逻辑分离; 应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性; 由于控制层把不同的模型和不同的视图组合在一起,完成不同的请求,因 此,控制层包含了用户请求权限的概念; m v c 中不同层的组件具有相同的特征,有利于通过工程化和工具化产生 管理程序代码。 2 2 2s t r u t s 概述 ( 1 ) s t r u t s 的体系结构 第2 章相关技术简介 s t r u t s 作为m v c 模式的典型实现,对m o d e l 、v i e w 、c o n t r o l l e r 都提供了对应 的实现组件,其具体的结构如图2 6 所示。 图2 6s t r u t s 框架结构图 f i g 2 6s t r u c t u r eo fs t r u t s m o d e l 部分 s t r u t s 的m o d e l 部分由a c t i o n f o r m 和j a v a b e a n 组成。其中a c t i o n f o r m 用于封 装用户请求参数,所有的用户请求参数由系统自动封装成a c t i o n f o r m 对象;该对 象被a c t i o n s e r v l e t 转发给a c t i o n ;然后a c t i o n 根据a c t i o n f o r m 里的请求参数处理 用户请求。 而j a v a b e a n 则封装了底层的业务逻辑,包括数据库访问等。 v i e w 部分 s t r u t s 的v i e w 部分采用j s p 实现。s t r u t s 提供了丰富的标签库,通过这些标签 库可以最大限度地减少脚本的使用,这些自定义的标签库可以实现与m o d e l 的有 效交互,并增加了显示功能。对应图2 6 中的j s p 部分。 整个应用由客户端请求驱动,当客户端请求被a c t i o n s e r v l e t 拦截时, a c t i o n s e r v l e t 根据请求决定是否需要调用m o d e l 处理用户请求,当用户请求处理完 成后,其处理结果通过j s p 呈现给用户。 c o n t r o l l e r 部分 s t r u t s 的c o n t r o l l e r 由两部分组成:一是系统核心控制器;二是业务逻辑控制 器。 其中,系统核心控制器对应图2 6 中的a c t i o n s e r v l e t 部分。该控制器由s t r u t s 框架提供,继承h t t p s e r v l e t 类,因此可以配置成一个标准的s e r v l e t 。该控制器负 a i s 岸基网络信息发布软件系统研究 责拦截所有h t t p 请求,然后根据用户请求决定是否需要调用业务逻辑控制器, 如果需要调用业务逻辑控制器,则将请求转发给a c t i o n 处理,否则直接转向请求 的j s p 页面。 业务逻辑控制器负责处理用户请求,但业务逻辑控制器本身并不具有处理能 力,而是调用m o d e l 来完成处理。业务逻辑控制器对应图2 6 中a c t i o n 部分。 ( 2 ) s t r u t s 的流程 s t r u t s 的运行流程如图2 7 所示。 图2 7s t r u t s 程序流程图 f i g 2 7f l o w c h a r to fs t r u t s 具体的s t r u t s 工作流程【2 l 】如下: s t r u t s 的程序结构也是通常w e b 应用的“请求响应程序结构。程序是由 客户端c l i e n t 发出h t t p 请求开始的,客户端请求被a c t i o n s e r v l e t 拦截。在 a c t i o n s e r v l e t 处,有两种情况:一是要求逻辑控制器处理的请求;二是简单转发的 请求。 对于第一种请求,a c t i o n s e r v l e t 需要调用对应的a c t i o n 。因此,a c t i o n s e r v l e t 将请求转发到a c t i o n ,如果请求还配置了对应的f o r m b e a n ,则a c t i o n s e r v l e t 还负 责用请求参数填充a c t i o n f o r m 。a c t i o n f o r m 的实质就是j a v a b e a n ,专门用于封装 请求参数。此时的a c t i o n 将无须从h t t pr e q u e s t 中获取请求参数,而是从 a c t i o n f o r m 中获得请求参数。a c t i o n 获得请求参数后,调用m o d e l 对象由j a v a b e a n 第2 章相关技术简介 处理用户请求。a c t i o n 处理完用户请求之后,将处理结果包装成a c t i o n f o r w a r d , 回送给a c t i o n s e r v l e t 。由于a c t i o n f o r w a r d 对象封装了j s p 资源的映射。因此, a c t i o n s e r v l e t 知道调用合适的j s p 资源表现给客户端。 对于第二种请求,h t t p 请求无需a c t i o n 处理,只是对普通资源的请求,作 为超级链接的替代。因为a c t i o n s e r v l e t 直接将该请求转发给j s p 资源,既不会填 充a c t i o n f o r m ,也无须调用a c t i o n 处理。j s p 页面在表现之前,还需要调用对应 的j a v a b e a n ,此处的j a v a b e a n 不再是包含业务逻辑的j a v a b e a n ,而是封装了处理 结果的普通v o ( 值对象) 。j s p 页面根据v o 的值,可能利用j s t l 或者s t r u t s 的 标签库来生成h t t p 响应给客户端。 2 3d b 2 数据库简介 d b 2 数据库是i b m 公司研制的一种关系型数据库系统。它主要应用于大型应 用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于o s 2 、 w i n d o w s 等平台下。d b 2 提供了高层次的数据利用性、完整性、安全性、可恢复 性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和s q l 命令。d b 2 采用了数据分级技术,能够使大型机数据很方便地下载到局域网数据 库服务器,使得客户机h i 务器用户和基于局域网的应用程序可以访问大型机数据, 并使数据库本地化及远程连接透明化。它以拥有一个非常完备的查询优化器而著 称,其外部连接改善了查询性能,并支持多任务并行查询。d b 2 具有很好的网络 支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线 程,对大型分布式应用系统尤为适用【2 2 】。 2 3 1d b 2 数据库的对象 d b 2 数据库系统不止是一个二维表的集合,它还有一些附加的对象,用于数 据存储、数据库结构管理和数据库的灾难恢复。对象是d b 2 用于存储信息的条目, d b 2 中有两种基本的对象类型:数据对象和支持对象2 3 1 。 数据对象是用来存储和操作数据的数据库对象,也用来组织用户数据( 及一 些系统数据) 。数据对象包括:系统、实例、数据库、表空间、表、用户自定义数 据类型、用户自定义函数、检查约束、索引、视图、程序包( 访问计划) 、触发器、 a i s 岸基网络信息发布软件系统研究 事件监控器等;支持对象是一种包含所有对象描述的数据库对象,它提供事务和 出错支持,并且控制系统资源的使用。支持对象包括:系统目录表视图、日志文 件和恢复历史文件、d b 2 数据库管理器配置文件、数据库配置文件等。 2 3 2d b 2 数据库的性能元素 性能元素是特定工作负载的情况下计算机系统行为的一种方式。性能是对系 统响应时间、通信量和可用性的度量

温馨提示

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

评论

0/150

提交评论