(通信与信息系统专业论文)基于web服务的变电站信息发布系统的研究.pdf_第1页
(通信与信息系统专业论文)基于web服务的变电站信息发布系统的研究.pdf_第2页
(通信与信息系统专业论文)基于web服务的变电站信息发布系统的研究.pdf_第3页
(通信与信息系统专业论文)基于web服务的变电站信息发布系统的研究.pdf_第4页
(通信与信息系统专业论文)基于web服务的变电站信息发布系统的研究.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

华北电力人学硕十学位论文摘要 摘要 本文首先分析了当前电力企业信息系统运作的现状,并指出了不足之 处:工作效率低并且容易出错,同时各地信息系统所处平台的不同导致各自的 信息不能够很好的共享,从而形成了一个个的“信息孤岛”。本论文提出了使 用w e b 服务的方式解决这一传统方法很难解决的问题。首先作者对w e b 服务的 开发平台j 2 e e 进行了介绍,主要包括s t r u t s 框架,e j b 组件和w e b 服务等理论, 接着针对变电站的实际情况作了需求分析和功能的划分,最后对系统的框架以及 实现作了介绍,前台采用s t r u t s 框架,后台采用基于e j b 的w e b 服务方式。 论文结尾对w e b 服务技术及其应用作了总结和展望。 关键词:j 2 e e ,w e b 服务,信息系统,变电站 a b s t r a c t n l i sp a p e ra n a l y z e st h eo p e r a t i o no fi n f o r m a t i o ns y s t e mi nc u r r e n tp o w e r e n t e r p r i s ef i r s t l ya n dp o i n t so u ti t ss h o r t a g e :l o we f f i c i e n c ya n de a s yt om a k ea m i s t a k e a n dt h ei n f o l r m a t i o nc a nn o tb es h a r e db e c a u s eo fd i f f e r e n ts y s t e m si n d i f f e r e n tp l a c e s ,s ot h e i n f o r m a t i o ni s l a n d ”c a r r i ei n t ob e i n g w e bs e r v i c ei sa d o p t e d t os o l v et h i sp r o b l e mi n t h i s p a p e r f i r s t l y ,t h ea u t h o r i n t r o d u c e sw e bs e r v i c e d e v e l o p m e n tp l a t f o r mj 2 e e ,w h i c hi n c l u d e ss t r u t sf r a m e ,e j ba n dw e b s e r v i c et h e n a u t h o rg i v eh i sd e m a n da n a l y s i sa n df u n c t i o nd i v i s i o no f t h ep r o j e c t l a s t l y , t h ea u t h o r i n t r o d u c e st h es y s t e mf r a m ea n dt h er e a l i z a t i o n ,t h es t r u t sf r a m ei su s e do nt h ef r o n t s t a g ew h i l et h ew 曲s e r v i c eb a s e do ne j b i su s e do nt h eb a c k s t a g e a tl a s t ,t h ea u t h o rs u m m a r i z e st h ew e bs e r v i c et e c h n o l o g ya n di t sa p p l i c a t i o n s a n dp o i n to u ti t sp r o s p e c t y a n gx i n f e n g ( c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m ) d i r e c t e db yp r o f k o n g y i n g h u i k e yw o r d s :j 2 e e ,w e bs e r v i c e ,m l s ,t r a n s f o r m e rs u b s t a t i o n 声明 本人郑重声明:此处所提交的硕士学位论文基于w e b 服务的银电联网技术 的研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究 工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论 文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学 或其他教育机构的学位或证书而使罔过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:植知盘荤 日期:,l 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有 权保管、并向有关部门送交学位论文的原件与复印件:学校可以采用影印、缩 印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅; 学校可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同 方式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 盎缸璋 日期:笙! :! :! 兰 导师签名:丝墓佥 日期:2 型:! :! 兰 华北电力大学硕士学位论文 1 1 课题的提出及意义 第一章引言 随着电力工业的飞速发展,电网自动化水平大大提高,采用常规的管理 方法和手段对电力生产过程进行监视,控制及管理,已不能满足要求,用以 计算机为核心的新技术对对电力生产过程进行现代化管理已势在必行,这也 是电力企业获得生产力提高和经济效益提高的必要手段。 变电站作为供电企业的第一生产班站,是电力生产中的一个重要环节, 也是初始信息的采集者。变电站运行人员在生产中要同各种各样的电器设备 打交道,因此要经常查询设备参数及设备运行状态。同时,运行人员还要定 期向上级生产主管部门上报生产报表这些r 常生产管理工作非常繁杂。对于 每一个运行人员,他要收集,整理,归类,查找的信息量都非常大。这样容 易造成信息的遗忘,丢失,从而造成管理上的混乱。加强变电站的基础管理 工作。开发一套先进,实用的变电站综合管理信息系统是解决上述问题的 个行之有效的办法。 近年来,随着计算机和信息技术的飞速发展,用于提高企业管理水平的 管理信息系统越来越多,如生产管理、运行管理、办公自动化、客服、电量 计费等。各企业间及企业内部积累了很多各自的信息,而有关部门需要统计 这些数据以完成汇总分析等操作。因此部门间数据集成与整合同益追切,但 是各部门间存在着操作系统,数据库管理系统等平台的差异给数据集成带来 种种困难,使集成难度很大,从而形成一个个“信息孤岛”。在电力系统中 存在同样的问题,电力企业信息化发展初期,各变电站根据不同的需求建设 了很多单机版的应用系统,开发时间不同采用的硬件、软件可能来自不同 的厂商,数据、报表格式可能互不兼容,它们之间彼此封闭,数据不能够交 换和共享。但是由于业务的要求,需要将这些分散的信息集成起来供人们分 析利用,从而消除这些“信息孤岛”达到信息共享的目的。 为了很好的解决上述问题,本论文提出了使用w e b 服务的方法,研究如 何利用w e b 服务的诸多优点解决异构系统的信息发布,集成问题。 1 2 本选题的国内外动向 w e b 服务是随着国外电子商务的发展而产生的,特别是动态电子商务的 华北电力大学硕士学位论文 发展和企业由b 2 c ( b u s i h e s st oc u s t o m e r ) 向b 2 b ( b u s in e s st ob u s i n e s s ) 转变的过程都推动了w e b 服务的发展。目前。w e b 服务在我国已经应用到股 票行情,天气预报,企业应用集成( e a i ) 等领域。综合当今的w e b 瘟用以 及w e b 服务的特点,根据应用的领域w e b 服务可以分为以下四类。 1 2 1 面向商务的w e b 服务 面向商务的w e b 服务主要针对的是那些面向企业信息化管理的应用服 务,如企业内部的企业资源规划信息系统、客户关系管理信息系统,企业之 间的供应链管理信息系统等。当这些企业管理信息系统以w e b 服务的形式出 现在网络中时,企业内部的应用集成将更加容易实现,而在企业之间的众多 合作伙伴的企业信息系统对接也将不再是难题,即面向商务的w e b 服务主要 指应用于企业应用集成的服务( e a i ) 。目前面向商务的w e b 服务解决方案和 产品提供商有b o w s t r e e t 、e p i c e n t r ic 等公司。 1 2 2 面向客户的w e b 服务 面向客户的w e b 服务主要针对那些原先以企业对消费者( b 2 c ) 电子商 务网站的改造,为这些面向测览器( b r o w s e r o r i e n t e d ) 的w e b 应用增加了 w e b 服务的应用界面,使得第三方的桌面工具或其自身提供的增值桌面工具, 能够利用更加优秀的用户界面,提供跨越多个b 2 c 服务的桌面服务。这将使 得用户使用i n t e r n e t 更为方便,能够获得更加便捷的服务。比如可以在个 人理财桌面系统中集成( 调用) i n t e r n e t 上的股票价格查询w e b 服务、机票预 订w e b 服务等,使得个人理财应用的自动化程度更高、个性化程度更强。 面向客户的w e b 服务有一个非常重要的应用领域就是企业信息门户。随 着数字经济的发展。企业越来越重视信息的及时传送和内、外部的直接交流, 但同时也面临这样的问题:企业雇员之闻、合作伙伴和客户之间都需要多种 形式的信息交流,如何以最简单的方式向内部人员和外部人员提供信息? 企 业的不同部门和众多的雇员拥有的大量数据,如何知道他们数据的不同特 点,并把适合的信息在合适的时间提供给合适的人,企业建立信息门户就是 要解决这样的闯题。 从技术角度来说,企业信息门户是一个基于w e b 服务的系统,它能通过 各种w e b 服务向分布各处的用户提供商业信息,帮助用户管理、组织和查询 与企业和部门相关的信息。内部和外部用户只需要使用浏览器就可以得到自 己需要的数据、分析报表及业务决策支持,如2 0 0 3 年i b m 公司发布了能够 华北电力犬学硕士学位论文 帮助科学家“追捕”d n a 的w e b 服务技术,它提供的w e b 服务技术可以改进 对全美生物科学信息中心存储的信息的有效搜索。 i 2 3 面向设备的w e b 服务 面向设备的w e b 服务的使用终端一般是指移动设备( 如手机、p i ) a ) 和 信息家电等,对于移动电子商务而言,利用面向设备的w e b 服务,用户可以 在不用修改网络服务体系结构的前提下,使咀前的网络服务支持除了p c 阱 外的各种终端设备,比如掌上电脑、p o c k e t p c 等。这样,用户获取天气预报 服务、出行信息服务、股市信息服务等更为有效和便捷。 1 2 4 面向系统的w e b 服务 一些传统意义上的系统服务,比如用户权限认证、系统性能监控等,如 果迁移到i n t e r n e t 或企业内部的i n t r a n e t 上进行,它们的作用范围将从单 个系统拓展到整个i n t e r n e t 或企业局域网。这样,基于同一系统服务的不 同应用将得以在整个网络环境中部署,如虚拟企业的所有在线服务,可以使 用同用户权限认证w e b 服务。这就是面向系统的w e b 服务的优势所在。 另外,在我国将w e b 服务技术应用于电力系统进行信息处理尚处于起步 阶段。主要的应用领域如下:数据的处理,信息的发布,数据的整合以及地 理信息和e a i 等方面。在国外已经应用到电子商务和实时数据处理等诸多领 域。 1 3 本选题的主要内容 本论文在充分吸取管理信息系统先进经验的基础上,围绕性能,实用和 维护三大要素,从实际出发通过调查研究有关的资料从而确立丌发平台,系 统的需求分析,功能模块,总体框架及设计模式等问题,主要内容如下: 1 3 1w e b 服务开发平台的研究 目前,w e b 服务开发有两大平台:n e t 和j 2 e e 。考虑到j 2 e e 更适合跨 平台的应用,所以本系统选用j 2 e e 为开发平台。主要研究j 2 e e 中的e j b 技 术,对e j b 中的实体b e a n 和会话b e a n 做了较为详细的研究,研究了实体b e a n 与数据库中数据的关系及如何管理数据的,如何将无状态会话b e a n 开发成 华北电力大学硕十学位论文 帮助科学家“追捕”d n a 的w e b 服务技术,它提供的w e b 服务技术可以改进 对全美生物科学信息中心存储的信息的有效搜索。 1 2 3 面向设备的w e b 服务 面向设备的w e b 服务的使用终端一殿是指移动设备( 如手机、p d a ) 和 信息家电等,对于移动电子商务而言,利用面向设备的w e b 服务,用户可以 在不用修改网络服务体系结构的前提下,使以前的网络服务支持除了| _ ) ( = 以 外的各种终端设备,比如掌上电脑、p o c k e t p c 等。这样,用户获取天气预报 服务、出行信息服务、股市信息服务等更为有效和便捷。 1 2 4 面向系统的w e b 服务 一些传统意义上的系统服务,比如用户权限认证、系统性能监控等,如 果迁移到i n t e r n e t 或企业内部的i n t r a n e t 上进行它们的作用范围将从单 个系统拓展到整个i n t e r n e t 或企业局域网。这样,基于i 司一系统服务的不 同应用将得以在整个网络环境中部署,如虚拟企业的所有在线服务,可以使 用同一用户权限认证w e b 服务。这就是面向系统的w e b 服务的优势所在。 另外,在我国将w e b 服务技术应用于电力系统进行信息处理尚处于起步 阶段。主要的应用领域如下:数据的处理,信息的发布,数据的整合以及地 理信息和e a i 等方面。在国外已经应用到电子商务和实时数搌处理等诸多领 域。 1 3 本选题的主要内容 本论文在充分吸取管理信息系统先进经验的基础上,围绕性能,实用和 维护三大要素,从实际出发通过调查研究有关的资料从而确立开发平台,系 统的需求分析,功能模块,总体框架及设计模式等问题,主要内容如下: 1 3 1w e b 服务开发平台的研究 目前,w e b 服务开发有两大平台:n e t 和j 2 e e 。考虑到j 2 e e 更适合跨 平台的应用,所以本系统选用j 2 e e 为开发平台。主要研究j 2 e e 中的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 开发成 华北电力犬学硕士学位论文 帮助科学家“追捕”d n a 的w e b 服务技术,它提供的w e b 服务技术可以改进 对全美生物科学信息中心存储的信息的有效搜索。 i 2 3 面向设备的w e b 服务 面向设备的w e b 服务的使用终端一般是指移动设备( 如手机、p i ) a ) 和 信息家电等,对于移动电子商务而言,利用面向设备的w e b 服务,用户可以 在不用修改网络服务体系结构的前提下,使咀前的网络服务支持除了p c 阱 外的各种终端设备,比如掌上电脑、p o c k e t p c 等。这样,用户获取天气预报 服务、出行信息服务、股市信息服务等更为有效和便捷。 1 2 4 面向系统的w e b 服务 一些传统意义上的系统服务,比如用户权限认证、系统性能监控等,如 果迁移到i n t e r n e t 或企业内部的i n t r a n e t 上进行,它们的作用范围将从单 个系统拓展到整个i n t e r n e t 或企业局域网。这样,基于同一系统服务的不 同应用将得以在整个网络环境中部署,如虚拟企业的所有在线服务,可以使 用同用户权限认证w e b 服务。这就是面向系统的w e b 服务的优势所在。 另外,在我国将w e b 服务技术应用于电力系统进行信息处理尚处于起步 阶段。主要的应用领域如下:数据的处理,信息的发布,数据的整合以及地 理信息和e a i 等方面。在国外已经应用到电子商务和实时数据处理等诸多领 域。 1 3 本选题的主要内容 本论文在充分吸取管理信息系统先进经验的基础上,围绕性能,实用和 维护三大要素,从实际出发通过调查研究有关的资料从而确立丌发平台,系 统的需求分析,功能模块,总体框架及设计模式等问题,主要内容如下: 1 3 1w e b 服务开发平台的研究 目前,w e b 服务开发有两大平台:n e t 和j 2 e e 。考虑到j 2 e e 更适合跨 平台的应用,所以本系统选用j 2 e e 为开发平台。主要研究j 2 e e 中的e j b 技 术,对e j b 中的实体b e a n 和会话b e a n 做了较为详细的研究,研究了实体b e a n 与数据库中数据的关系及如何管理数据的,如何将无状态会话b e a n 开发成 华北电力大学硕士学位论文 w e b 服务以供调用。另一个关键技术就是s t r u t s 框架,利用该框架作为系统 的前台,调用所需的w e b 服务,完成信息的发布和集成。 1 3 2w e b 服务的开发 首先要把分散在各调度中心的变电站中的数据信息按照一定的粒度和 功能开发成若干个w e b 服务( 每个站点都要开发这样的服务) 。每个服 务都要实现以不同的途径检索各变电站的数据信息的功能,具体检索途径可 根据集成的需要来定,例如变电站的设备管理,主要是变电站各种设备的基 础数据、检修记录、试验数据和化学分析数据等,要完成对各分站设备的各 种参数的统计,此时各分站就要开发出按照设备名称来检索其相关参数的服 务。此过程首先需要将数据库里的数据信息影射成实体b e a n ( j 2 e e 中的 种组件) ,两者影射关系是一一对应的。这样做的目的是为了将数据库里的 数据作为对象来处理。存取比较方便,而且影射后的实体b e a n 还增加了 些常用的编辑数据的方法如查找,添加,删除等便于操作。影射完成以后还 要建立相应的会话b e a n 去访问实体b e a n 中的方法,这样做可以避免用户直 接操作数据著且会话b e a n 比实体b e a n 更适合丌发成w e b 服务。采用这种门 面模式( f a c a d e ) 之后用户访就是通过会话b e a n 访问实体b e a n ,从而完成 对数据的访问。 1 3 3w e b 服务的注册和调用 上面的服务开发完成之后,还要将它们发布到u d d i ,此时上级有关部门 就可以根据需要调用相关的服务来完成信息的统计汇总或打印报表等操作。 这里的注册中心可以使用服务器或开发工具自带的。完成注册后获得授权的 客户可到注册中心去查找自己所需的服务,例如要集成各站电压大于某值 得数据信息就可以调用各站点与之相应的服务,检索到相应的信息完成信息 的存储,集成。在调用服务的程序中需要用到要调用服务的w s d l 文件,并 利用该文件生成相应的代理类,利用生成的代理类完成所需服务的调用:i : 作。 4 华j 七电力大学硕十学位论文 2 1 j 2 e e 概述 第二章j 2 e e 框架及主要技术 j 2 e e 是j a v a2p 1 a t f o r me n t e r p r is ee d i t i 0 1 1 的缩写,它是s u n 公司 提出的种分布式企业应用开发的技术构架。目前经过实践的检验,证明 j 2 e e 技术是一种可以信赖的企业级软件开发技术,受到许多i t 业的广大厂 商的支持,具有十分广阔的前景。 j 2 e e 应用程序的结构s u n 设计j 2 e e 的初衷是为了解决两层模式 ( c l i e r l t s e r v e r ) 的弊端。在传统的两层模式中,客户端担当了过多的角 色而显得臃肿。在这种模式中,第一次部署的时候比较容易,但难于升级或 改进,可扩展性也不理想,而且经常基于某种专有的协议一通常是某种数 据库协议,它使得重用业务逻辑和页面逻辑非常困难。现在,, j 2 e e 的多屡企 业级应用模型将两层化模型中的不同层面切分成许多层,一个多层化应用能 够为不同的服务提供一个独立的层。j 2 e e 典型的结构分为4 层( 如下图所示) : 运行在客户端的机器上的客户层组件( c 1 i e n tt i e r ) 运行在j 2 e e 服务器上的w e b 层组件( w e bt ie r ) 运行在j 2 e e 服务器上的业务逻辑组件( b u s i h e s st i e r ) 运行在e i s 服务器上的企业信息系统( e n t e r p r i s ein f o r m a t i o r l s y s t e m ) 层软件( e i st i e r ) 其中第二层和第三层合称为中f b j 层( m i d d l et i e r ) c l i e n tt i e rm i d d l et i e re i st i e r 鑫 砷 m 7 数 曼 各 忙别b e a n 、- f 3 据 种 客 户 端 等 一 已 卫 昌 、 耋 库 已 再 曼 v 夕 宝 v 图2 - 1j 2 e e 典型结构圈 华北电力大学硕士学位论文 2 2 j 2 e e 的多层结构 2 2 1j 2 e e 应用服务器 j 2 e e 提供一个框架( 一组标准的a p i ) 用来开发分布式的企业级应用。 j 2 e e 架构中的各项技术需要一个实现者,这个实现者要按照j 2 e e 的规范提 供j 2 e e 应用程序所需的服务,主要是w e b 服务和业务组件服务。j 2 e e 应用 服务器就是充当这个j 2 e e 技术标准实现这得角色。目前有许多j 2 e e 应用服 务器,一些厂商着重于实现j 2 e e 体系中的某些组件,例如a p a c h e 的t o m c a t 为j s p 和s e r v l e t 提供支持。b e a 公司的w e b l o g i cs e r v e r 作为j 2 e e 应用服 务器,实现了j 2 e e 的全部特性。j 2 e e 服务器可以处理一些常见的编程任务, 包括提供事务,安全认证服务,命名和目录服务,数据库访问和连接池,线 程池,负载均衡和容错等。 2 2 2 客户层组件 这层对应于j 2 e e 应用程序的客户端。j 2 e e 应用程序的客户端可以是 基于w e b 方式的,可以是基于传统方式的,也可以是移动设备。 2 2 3w e b 层组件 j 2 e ew e b 层组件可以是j s p 页面或s e r v l e t 。按照j 2 e e 规范,静态的 h t m l 页面和a p p l e t s 不算是w e b 层组件。w e b 层可能包含某些j a v a b e a n 对 象处理闵户输入,并把输入发送给运行在业务层上的e n t e r p r is eb e a n 进行 处理。 2 2 4 业务逻辑层组件 在j 2 e e 架构中,业务层组件主要是指e j b ( e n t e r p r i s eb e a n ) 。业务层 代码的逻辑用来满足业务领域的需要,由运行在业务层上的e j b 进行处理。 e j b 2 0 规范中定义了3 种e j b :会话b e a n ( s e s s i o nb e a n ) ,实体b e a n ( e n t i t y b e a n ) 和消息驱动b e a n ( m e s s a g e d r i v e nb e a n ) 。会话b e a n 表示与客户端程 序的临时交互,当客户端程序执行完后,会话b e a n 和相关数据就会消失。 相反,实体b e a n 表示数据库的表中一行永久的记录。 6 华北电力人学硕士学位论文 2 2 5 企业信息系统层 企业信息系统层包括企业摹础建设系统,例如企业资源计划( e r p ) ,数 据库系统和其他的遗留系统。 这种基于组件,具有平台无关性的j 2 e e 结构使得j 2 e e 程序的编写非常 简单,因为业务逻辑被封装成可复用的组件,并且j 2 e e 服务器以容器的形 式为所有的组件类型提供后台服务。这样就不用自己开发这种服务,可以集 中精力解决手头的业务逻辑问题。 2 + 3j 2 e e 的技术体系 j 2 e e 是一个技术架构,也可以视为一个技术体系,它包含了许多内容, 主要技术有:j d b c ,j s p 与s e r v l e t ,j n d i ,r m i ,j m s ,j a v am a i l ,e j b 。 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 应用程序访问数据库 提供了一一个统一的接口。通过j d b c 可以完成建立到数据库的连接,执行s q l 语句等操作。 s e r v l e t 是一种服务器端的技术,用来实现表示逻辑。它接收来自w e b 浏览器的h t t p 请求信息,进行处理后返回h t t p 响应信患。由于s e r v l e t 是 用j a v a 语言编写的,可移植性较强,可以从一个平台移植到另一个平台。 j s p 技术可以提供与s e r v l e t 相同的功能,但是丌发起来比s e r v l e t 要简便。j s p 可以帮助w e b 开发者使用相对较少的代码创建动态的网页。j s p 的优点是它的简洁性,w e b 设计者即使不懂编程,也可以使用j s p 创建动态 的网页。j s p 是h t m l 代码和j a v a 代码的混含。当第一次请求一个j s p 页面 时,应用服务器需要把该j s p 页面编译为一个s e r v l e t ,为请求提供服务。在 客户请求j s p 页面的时候,服务器就会处理j a v a 代码,然后返回h t m l 页面 给浏览器。 n d i ( j a v an a m i n g d i r e c t o r yi n t e r f a c e ) 即j a v a 的命名和目录接 口。j n d i 是j a v a 定义的一种标准的注册机制,提供名字和目录服务。 r m i ( r e m o t em e t h o di n v o c a t i o n ) r m i 即远程方法调用。r m i 是j a v a 应用程序访问远程j a v a 对象的一种标准。利用r m i ,j a v a 应用程序可以访 问位于其他进城甚至其他计算机上的对象。对于应用程序来说,r m i 使得远 程对象如同本地对象一样。 j m s ( 1 a v am e s s a g es e r v i c e ) j a v a 消息服务提供了一组标准的j a v a a p i ,用于企业级的消息处理。通过j m s ,可以在j a v a 程序之间发送和接收 消息。 华北电力大学硕士学位论文 j a v am a i l 为开发人员通过使用各种邮件传输协议编写邮件客户机提 供接口和抽象类。 e j b 提供了一个构架开发和配置到客户端的分稚式业务逻辑,因此可 以明恩减少开发扩展性高度复杂的企业应用的难度。e j b 规范定义了e j b 组 件应该如何以及何时与他们的容器交互。由e j b 容器负责提供普通的服务, 例如目录服务,事务管理,安全,资源池和容错。 2 4 m v c 概述 2 4 i m v c 概述 m v c 是m o d e l v i e w c o n t r o e r 的简称,即模型一视图一控制器。m v c 是x e r o xp a r c 在2 0 世纪8 0 年代为编程语言s m a l l t a lk 一8 0 发明的一种软 件设计模式,至今已被广泛的使用,最近几年被推荐为s u n 公司j 2 e e 平台 的设计模式受到众多w e b 开发者的欢迎。下面分别对这三个部分进行讨论: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能 接收用户的输入数据,但是它并不能进行任何实际的业务处理。视图可以向 模型查询业务状态,但是不能改变模型。视图还能接受模型发出的数据更新 事件,从而对用户界面进行同步更新。 模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型 可以为多个视图提供数据。由于个模型可以被多个视图重用,所以提高了 应用的可重用性。 控制器接受用户的输入并调用模型和视图去完成用户的需求。当w e b 用 户单击w e b 页面中的提交按钮来发送h t m l 表单时,控制器接收请求并调用 相应的模型组件去处理请求,然后调用相应的视图来显示返回的数据类型。 2 4 2m v c 处理过程 首先控制器接收用户的请求,并决定应该调用那个模型来进行处理,然 后模型根据用户请求进行相应的业务逻辑处理,并返回数据:最后控制器调 用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。 2 4 3m v c 的优点 在最初的j s p 网页中,像数据库查询语言语句这样的数据层代码和像 华北电力大学硕士学位论文 h t m l 这样的表示层代码混在一起。经验丰富的开发者会将数据从表示层分离 开,但这通常不是很容易做到的。m v c 从根本上强制性的将他们分离开。尽 管构造m v c 应用程序需要一些额外的工作但它给我们带来如下的好处: 首先,多个视图能够共享一个模型。在m v c 设计模式中,模型响应用户 请求并返回相应的数据,视图负责格式化数据并把它呈现给用户,业务逻辑 和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的 可重用性。 其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便 地改变应用程序的数据层和业务规则。如果把数据从m y s q l 移植到o r a c le , 或者把r d b m s 数据源改变成l d a p 数据源,只需改变模型即可。一旦f 确地 实现了模型,不管数据来自数据库还是l d a p 服务器,视图都会正确的显示 他们。由于m v c 的三个模块相互独立,改变其中的一个不会影响其他两个, 所以依据这种设计思想构造良好的松耦合的构件。 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用柬连 接不同的模型和视图,控制器可以根据用户的需求选择适当的模型进行处 理,然后选择适当的视图将处理结果显示给用户。 2 5s t r u t s 介绍 t h ej a k a r t as t r u t s 项目是由a p a c h es o f t w a r ef o u n d a t i o n 发起的开 源项目,它在j a v a 服务器端实现了m v c 设计模式。t h ej a k a r t as t r u t s 作 为一个开源框架的主要意图是为了在创建w e b 应用时能比较容易的分离表示 层和业务数据层。 m v c 模式对应的s t r u t s 框架图如下: -_一一一-_一一一一一一一一_一一一一一-一-一-一_-_-_-一_-_ s t r u t s c o n f i g x m l ,、 厂,a c t i o n i ) 一, 。a。c,;o。n。t。r。o,ll,e。r。:xn m o d l e 也:二 w e bi 二刊j a v a b e a ne j b & = i 刀 7 h 茹二。 v w 图2 - 2 s t r u t s 框架图 9 华北电力大学硕士学位论文 从上图可以看出s t r u t s 框架是一个典型的m v c 模型,a c t i o n s e r v l e t , a c t i o n 充当控制器的角色,7 s p 充当视图的角色,a c t i o n f o r m 充当模型的角 色,各个角色在w e b 应用中完成的功能如下: 把各个s t r u t s 组件组织在一起的配置文件:s t r u t s c o n f i g x m l ,在配 置文件中可以定义:全局转发,a c t i o n m a p p i n g 类,a c t i o n f o r mb e a n ,j d b c 数据源。全局转发为w e b 应用程序中的j s p 页面定义一个逻辑名称,并为实 际的j s p 名称和逻辑名称之间建立映射,使用逻辑名称的好处是可以用容易 记忆的逻辑名称替代不易编码的j s p 页面名称。 a c t i o n m a p p i n g 对象用来进行框架内部的流程控制,用来把用户请求的 u r l 映射到a c t i o n 类,并且将a c t i o n 类与a c t i o n f r o mb e a n 相关联。 j d b c 数据源用来配置在w e b 应用中使用的数据源。 j s p 引擎在接收到个w e b 应用的客户请求时,会根据a c ti o n m a p p in g 对象定映射,将请求转发到相应的a e t i o n 对象,并且将请求中相应的属性 赋值给a c t i o n f o r m 对象。a c t i o n 在处理完毕后,可以根据全局转发中定义 的名称将请求转发到后继的j s p 页面。一个使用s t r u t s 框架的处理流程就 结束了。 2 6 本系统中的s t r u t s 模型 2 6 1 本系统中的s t r u t s 的结构 w e b 容器 e j b i l o 华北电力人学硕士学位论文 图2 3 系统中的s t r u t s 结构图 客户通过浏览器( j s p ) 向w e b 服务器发出请求,s t r u t s 框架中的控制 器部分( a c t i o n s e r v l e t ) 读取提交的信息并根据配置文件 ( s t r u t s c o n f i g x m l ) 指定相应的a c t i o n 来响应请求。被指定的a c t io n 类则调用已经发布到注艇中心的w e b 服务。系统中的w e b 服务主要是由无状 态会话b e a n 封装而成的,然后再通过无状态会话b e a n 访问实体b e a n ,进行 与数据库有关的各种搡作从而完成客户的请求。 2 7 e j b 技术简介 e j b ( e n t e r p r i s ej a v ab e a n ) :是j 2 e e 的一部分,它也是技术规范, 它定义的是分布式组件规范。通常使用e j b 组件实现企业的业务逻辑部分。 e j b 组件是特殊的j a v a 类,它运行在服务器端,具体讲是运行在j 2 e e 应用服务器的e j b 容器中。它不是普通的j a v a 类,开发时只要定义一个封 装业务逻辑的类文件就可以了。而开发一个e j b 组件,除了定义一个封装_ k 务逻辑的类以外,还要客户端访问的远程接口及内部接口。当部署e j b 组件 到应用服务器时,还要定义相应的部署描述符。 2 7 1 使用e j b 的好处 e j b 组件的开发要比普通的j a v a 类的开发麻烦,为什么e j b 还成为j 2 e e 应用中不可缺少的技术呢? 下面是使用e j b 技术的好处: e j b 组件使编写应用程序更为简单。尽管e j b 体系结构复杂,但是应用 程序开发人员一般不必编写用于访问系统服务的代码。一种称为e j b 容器的 系统组件使系统服务可用于e j b 组件的任务。 服务器端业务组件可以移植。除了j a v a 语言固有的可移植性外,e j b 体系结构还在e j b 组件和支持该组件的容器之间提供了一套标准化的应用程 序编程接口。这使开发人员可以能够将e j b 组件从一种歼发环境移植到另一 种操作环境,而无需重新编写其源代码。 可以从现有的软件组件装配出服务器端应用程序,这与从现有的 j a v a b e a n 可以装配出客户端应用程序一样,从而使软件能够重用。 e j b 体系结构内置了对典型企业级系统服务的支持,包括分布式对象, 事务处理,数据库,安全和命名服务。 只要符合e j b 的规范来自不同供应商的组件是可以互操作的。 用e j b 组件构建的应用程序可以从一个服务器移植到另一个服务器, 华北电力人学硕士学位论文 从而支持可伸缩性,这是因为在b j b 模型中,各个软件组件都是严格分离的。 e j b 体系结构能保障原有的i t 投资,这是通过允许将现有的信息系统和 资产“包裹”在这些应用程序中实现的,而不是要求客户更换现有的技术。 2 7 2e j b 结构 e j b 组件要按e j b 规范编写,然后部署到应用服务器上。e j b 组件运行在 e j b 容器中。e j b 容器是应用服务器的一部分,该部分软件不单为e j b 提供 运行时环境,更重要的是提供事务,会话管理,持久机制,安全等服务。e i b 容器通过查看e j b 的部署描述符确定e j b 需要哪些服务。客户机要访问e j b 需要通过j n d 和r m i 定位e b b 的对外接口。如下图所示: 2 7 3e j b 的分类 图2 - 4 e j b 运行结构图 e j b 2 0 规范定义了三种类型的e j b ,分别是会话b e a n ( s e s s i o nb e a n ) , 实体b e a n ( e n t i t yb e a n ) 和在2 0 中新增加的消息驱动b e a n ( m e s s a g e d r iy e n b e a n ) 。下面对这三种e j b 进行简单介绍。 1 ) 会话b e a n ( s e s s i o nb e a n ) 会话b e a n 分为两种,无状态会话b e a n ( s t a t e l e s ss e s s i o nb e a n ) 和有 状态会话b e a n ( s t a t e f u ls e s s i o nb e a n ) 。会话b e a n 通常具有以下属性: 代表单个客户机执行 可以是事务性的 可以更新共享数据库中的数据 1 2 华北电力火学硕士学位论文 生存期相对较短,其生存期就是客户机的生存期 任何持久性数据都由b e a n 管理 可以依容器的判断予以删除 会在e j b 服务器失败时被删除 会话b e a n 在j 2 e e 应用程序中被用来完成一些服务器端的操作例如访 问数据库,调用其他e j b 组件。 2 ) 实体b e a n ( e n t i t yb e a n ) 实体b e a n 通常具有以下属性: 代表数据库中的数据 是事务性的 允许多个用户共同访问 可以长期存在 持久性数据可以由容器管理 在e j b 服务器失败后能继续生存 实体b e a n 被用来代表应用系统中用到的数据。持久性是实体b e a n 的一 个基本属性。e j b 规范允许两种形式的实体持久性:b e a n 管理的持久性( b m p ) 和容器管理的持久性( c m p ) 。对于代表关系数据库中的数据的实体b e a n ,b e a n 对持久性的管理意味着,对数据库访问的调用是直接编写在企业b e a n 的方 法中的( 使用j d b c 或s q l j ) 。这种方法是直截了当的,但是它降低了可移植 性。容器对持久性的管理意味着b e a n 不受数据库调用的影响。在安装时告 知容器有关b e a n 数据所需要的持久性,而容器负责生成实现持久性的代码。 这种方法允许b e a n 的可移植性更高,甚至达到持久性可使用不同数据源的 程度。然而,此方法要求容器中有复杂的功能。 另外还有消息驱动b e a n ,系统中并未涉及到不在此讨论。 2 8e j b 编程模型及其j b u i l d e r 实现 2 8 1e j b 的编程模型 在开发e j b 时,除了对封装业务规则的b e a n 类本身进行编码外,e j b 开 发人员还必须为b e a n 定义一个对外接口和一个h o m e 接口。这些接口的实现 类通常由e j b 容器生成,所以部署e j b 组件是开发人员和e j b 容器的合作行 为。 b e a n 类:e j b 组件要完成的功能是在b e a n 类中定义的,它也是开发 人员最应该关注的。b e a n 的命名规则是e j b 组件的名字加上b e a n ,如开发 华北电力大学硕士学位论文 了一个名为e n t e r p r is e l 的e j b ,那么b e a n 类的文件名为 “e n t e r p r is e l b e a n ”。 对外接口;它定义了e j b 的业务方法的接口。其他程序调用e j b 必须 通过次对外接口完成。对外接口在e j b 2 0 规范中定义了两类:远程接口 ( r e m o t ei n t e r f a c e ) 和本地接口( l o c a li n t e r f a c e ) 。如果调用e j b 的程 序与e j b 在同一个容器中可以通过使用本地接口提高访问的效率,从而绕玎 了r m i 调用。 h o m e 接口:该接口负责e t b 组件的创建,删除,查找。由e j b 容器创 建一个h o m e 对象,h o m e 对蒙负责上述任务。根据对外接口的不同,h o m e 接 口分为远程h o m e 接口和本地h o m e

温馨提示

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

评论

0/150

提交评论