(电气工程专业论文)基于工作流引擎的电网调度管理系统的设计与实现.pdf_第1页
(电气工程专业论文)基于工作流引擎的电网调度管理系统的设计与实现.pdf_第2页
(电气工程专业论文)基于工作流引擎的电网调度管理系统的设计与实现.pdf_第3页
(电气工程专业论文)基于工作流引擎的电网调度管理系统的设计与实现.pdf_第4页
(电气工程专业论文)基于工作流引擎的电网调度管理系统的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

大连理工大学专业学位硕士学位论文 摘要 随着互联网的进一步普及,基于i n t e r n e t 的各种应用得到飞速发展。针对电网调 度生产管理的实际业务需求,利用先进的信息技术,建立电网调度生产管理系统,实现 省级电网调度管理部门、各地市电网调度管理部门的信息系统和数据库联网,提高办公 效率成为电网调度管理部门面临的迫切问题。 针对电网调度管理业务的实际需求,设计并实现了一个基于b s 的网络办公系统, 采用基于b s 的三层体系结构和面向对象方法进行系统分析和设计;采用j 2 e e 技术开 发,以o r a c l e l o g 为后台数据库。该系统满足了电网调度生产管理的业务需求,同时还 提供与地调、超高压局等单位的互联接口。 本文对电网调度生产管理的具体业务要求进行了系统地分析。在此基础上,对系统 的具体功能进行了归纳,共包括六个主要模块:电力调度、系统运行、调度计划、自动 化、继电保护、工作流程管理等。针对各功能模块进行了详细设计,包括业务流程设计、 组件规则定义、查询处理等。设计实现的系统是基于w e b 方式的工作流管理系统。采用 三层结构开发,即将应用划分为三层:数据库层、中间层( 商业逻辑层) 、应用层( 用 户界面层) 。系统所有的工作流程和公文流程均可灵活、自由的进行配置,用户无需修 改程序,就可以根据实际需要灵活定制新的工作流程。该系统对复杂而繁多的业务工作 流、各不相同的单位组织结构、动态变化的业务人员以及灵活多变的用户角色等,通过 可视化设计,实现最基本也最繁杂的应用定制。最后,本文对系统的测试情况进行了说 明。系统测试表明,该系统具有很好的健壮性和可操作性。 该系统具有严格的业务针对性,建立了一种新概念的现代调度生产管理环境,实用 性和先进性的结合使该系统对于电网调度管理部门的信息化建设具有积极的意义。系统 的设计采用面向对象的设计方法以及业务流程建模的思想,系统的实现上采用j 2 e e 技 术,并在业务流程的控制上结合工作流技术。该系统在处理大数据量以及业务流程控制 方面处于领域内的先进水平,在与国内同类系统的比较中体现出了灵活、高效、健壮等 特点。 关键词: 调度生产;业务流程;f f s p 技术;b s 基于工作流引擎的电网调度管理系统的设计与实现 d e s i g na n di m p l e m e n t a t i o no fo p e r a t i o nm a n a g e m e n ts y s t e m b a s e do nw o r k f l o ws y s t e m a b s t r a c t a l o n g 埘mt h ef u r t h e rp o p u l a r i z a t i o no fi n t e r a c t ,a l lk i n d so fa p p l i e sb a s eo nt h e i n t e m e t g e tr a p i dd e v e l o p m e n t i na c c o r d i n gw i t ht h eo p e r a t i o nr e q u i r e m e n t so ft h e a d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t s ,u t i l i z ea d v a n c e di n f o r m a t i o n t e c h n o l o g y , s e tu pt h ea d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t si n f o r m a t i o n s y s t e m t or e a l i z et h ec o n n e c t i o nb e t w e e nt h ei n f o r m a t i o ns y s t e mo fp r o v i n c i a lt h e a d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t sd e p a r t m e n t ,e a c hm u n i c i p a la n d c o u n t yt h ea d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t sd e p a r t m e n ta n dt h e d a t a b a s e ,i m p r o v ew o r k i n ge f f i c i e n c yh a sb e c o m ea nu r g e n ti s s u ef o rt h ea d m i n i s t r a t i o no f t h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t s d e p a r t m e n tt of a c en o w i no r d e rt om e e tt h eo p e r a t i o nr e q u i r e m e n t so ft h ea d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c t o ft h ee l e c t r i cn e t s ,d e s i g na n ds e t - u pa no f f i c es y s t e mb a s e do nb s ,a p p l yt h eb sb a s e d t r i - l e v e ls t r u c t u r es y s t e ma n dt h eo b j e c tm e t h o df o rs y s t e ma n a l y s i s & d e s i g n ,u s ej 2 e ea n d o r a c l e10 9d a t ab a s et e c h n o l o g yf o rs y s t e md e v e l o p m e n ta n dr e a l i z a t i o n t h i ss y s t e mn o t o n l ys a t i s f i e st h eo p e r a t i o nr e q u i r e m e n t so ft h ea d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h e e l e c t r i cn e t s ,a n da l s op r o v i d e sal i n kw o r kb e t w e e nt h eu n i t so ft h er e g i o n a ld i s p a t c ha n d e x t r ah i g hp r e s s u r eb u r e a u t h et h e s i sm a k e sas y s t e m a t i ca n a l y s i st ot h ep r a c t i c a lo p e r a t i o nr e q u i r e m e n t so ft h e a d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t s ,a n ds u m m a r i z et h ep a r t i c u l a r f u n c t i o n so ft h ee x i t & e n t r ya d m i n i s t r a t i o ns y s t e mb a s e so nt h i s ,t h ew h o l es e to fs y s t e m i n c l u d es i xm a i nf u n c t i o nm o d u l e s m a k ef u r t h e rd e s i g n i n gi na c c o r d i n g 、) v i t he a c hf u n c t i o n a l m o d e l ,i n c l u d i n gw o r k i n gf l o wd e s i g n ,m o d u l eo r d i n a t i o nd e f i n i t i o na n di n q u i r yp r o c e s s i n g t h i sd e s i g n e da n dr e a l i z e ds y s t e mi sb a s e do nt h ew o r k i n gf l o wm a n a g e m e n ts y s t e mi nw e b s t y l e a p p l yt h et h r e el e v e ls t r u c t u r ed e v e l o p m e n t ,a n db ed i v i d e di n t ot h r e el e v e l s :d a t a b a s e l e v e l ,i n t e r m e d i a t el e v e l ( c o m m e r c i a ll o g i c ) a n da p p l i c a t i o nl e v e l ( u s e ri n t e r f a c e ) a l lo ft h e w o r kf l o ws y s t e ma n dt h eo f f i c i a ld o c u m e n ts y s t e mc a nb ea l l o c a t e df l e x i b l ea n df r e e l y , u s e r c a na p p l yt h en e ww o r kf l o ws y s t e ma c c o r d i n g l yw i t h o u tu p d a t et h er o u t i n e r e g a r d i n gt o t h ec o m p l i c a t e da n dv a r i o u so p e r a t i o nw o r kf l o ws y s t e m ,d i s t i n c t i v eo r g a n i z a t i o ns t r u c t u r e , d y n a m i cv a r i a t i o nw o r k i n gp e r s o na n df l e x i b l eu s e rr o l e ,t h i ss y s t e mc a nr e a l i z et h em o s t 1 1 大连理工大学专业学位硕士学位论文 e s s e n t i a la n dc o m p l i c a t e da p p l i e dc u s t o m i z a t i o nb yi t sv i s u a l i z a t i o nd e s i g n a tt h ee n do f t h i st h e s i si sp r o v i d e dat e s t i n gs t a t e m e n to ft h i ss y s t e m i ti si n d i c a t e dt h a tt h i sd e s i g n e da n d r e a l i z e ds y s t e mi sw i t hag o o dr o b u s ta n do p e r a t i o n a lp e r f o r m a n c e 砀es y s t e mh a ss t r i c to p e r a t i o np e r t i n e n c e ,c r e a t e san e wc o n c e p to ft h em o d e mt h e a d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c te n v i r o n m e n t ,t h ec o m b i n a t i o no ft h ep r a c t i c a la n dt h e a d v a n c e ds y s t e mh a sav e r yp o s i t i v ei n f l u e n c ef o r t h ei n f o r m a t i o ns y s t e mo ft h e a d m i n i s t r a t i o no ft h ed i s p a t c hp r o d u c to ft h ee l e c t r i cn e t sd e p a r t m e n t c o m p a r i n g 谢t 1 1o t h e r s i m i l a rs y s t e m si nc h i n a , t h i ss y s t e mh a sm o r ef l e x i b l e ,e f f e c t i v ea n dr o b u s tf e a t u r e s ,e r e k e y w o r d s :t h ed i s p a t c hp r o d u c t ;b u s i n e s sp r o c e d u r e ;j s pt e c h n o l o g y ;b s 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:拗逸趣望塑至鲨丝丝幽垒进麴一 作者签名:翅日期: 堕年j 三月垒l 日 大连理工大学专业学位硕士学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 作者签名: 导师签名: 荔红彩和 日期:堕年j 兰月生日 日期: 丝年么三月旦日 大连理工大学专业学位硕士学位论文 1 绪论 1 1论文背景 随着我国经济不断快速稳定的发展,对电力能源的需求日益加大,国家在发电企业 及电网建设方面达到前所未有的规模。目前我国电网已成为世界上覆盖范围最广、线路 里程最长、用户最多的电网。保证电网安全稳定的运行,是当前电网企业的首要任务。 为实现国家电网公司“一强三优”的现代公司发展目标,满足国家电力体制改革、电力 市场发展的要求,满足电网建设、生产运行和调度管理的要求,为电力系统的安全、可 靠、经济运行提供现代化技术支持手段显得尤为重要。 电网调度管理系统是基于现代计算机与通信技术,将电网调度工作进行电子化管理 的综合信息系统,是促进电力调度信息管理自动化、管理创新、技术创新的基础和重要 保证。随着电网规模的不断扩大,电网的复杂性及技术性不断增强,对电网的调度生产 管理也提出了新的要求。目前运行的系统应用范围广、涉及的专业部门多,大量的应用 子系统随着业务需求频繁变化。由于在组织实施上多采用分散开发、彼此独立,数据流 向纵横复杂,系统维护、增加新的应用功能和系统扩充都很困难。 1 2 领域内研究现状及分析 电力行业调度管理信息化历经了几波发展,目前主要需求集中在业务流程改造和数 据交换整合两个方面,在技术路线上以能够快速适应需求变化的平台化思路为主,同时 在不断加入新的技术元素,短信、无线办公、视频会议等产品也在逐渐得到广泛应用。 在电力行业调度管理信息系统建设理念和思路上,随着基础设施建设的不断完备, 已经由各单位根据自身需求量身定做自发组织建设,逐步向标准化、集约化、系统化、 一体化的统一建设发展,在应用的力度、深度、广度上有了明显的提高。 电网调度管理系统应充分体现国家电网公司“一强三优”的现代公司发展目标,满 足国家电力体制改革、电力市场发展的要求,满足电网建设、生产运行和调度管理的要 求,为电力系统的安全、可靠、经济运行提供现代化技术支持手段。新的电网调度管理 系统的建设应具备如下特征: ( 1 ) 系统应是一套功能完善、结构合理、技术先进、安全可靠、运行灵活、标准统 一、高效实用的系统,技术上达到目前国内外同类系统的先进水平。 ( 2 ) 系统应统一应用系统平台,不仅能满足现有需求,而且能方便地满足未来扩充 的需要。 ( 3 ) 系统应建立符合国家电力监管委员会第5 号令电力二次系统安全防护规定 基于工作流引擎的电网调度管理系统的设计与实现 及行业主管部门安全防护有关要求的、有效的安全防护体系。 ( 4 ) 系统应采用基于软件平台的面向对象建模技术,对整个企业模型进行全方位在 线设计。软件平台应具备完善的二次开发体系,提供高级a p i 接口和多种二次开发手段, 平台支持c s 和b s 混合型结构。 ( 5 ) 系统应满足国调、网调、省调、地调及相关调管单位之间的业务往来;应提供 生产综合数据平台功能,符合国家电网公司调度系统数据整合总体框架的要求。 ( 6 ) 在项目执行过程中,应随时跟踪国家电网公司数据整合及o m s 参考模型及原型 系统的研究,吸收其最新成果,并且在国网公司研究项目完成,有关功能规范公布后, 对所开发的系统进行必要修改,以符合这些规范的要求。 1 3 课题的研究意义 基于w e b 及工作流引擎的电网调度管理系统属于管理信息系统研究领域,课题源于 辽宁电网调度生产管理系统的实际项目。该课题的意义主要体现于:应用价值、技 术价值以及项目的管理价值。 从应用角度来说,该项目是以电网调度管理的业务活动为背景,分析电网调度管理 流程的特点,结合基于w e b 的应用技术,建立流程化的管理信息模型。在为该项目提供 解决方案时,更注重的是根据行业特点,发掘企业内部需求,以流程管理为主,信息交 流为辅的模式。侧重简化审批流程,提高效率,与以往的管理模式相比,更加务实。不 仅在电力行业具有广泛推广应用的价值,而且在基于流程化的管理信息系统的理论研究 方面也具有实践探索意义。 从技术角度而言,该项目对软件的开发周期,生命周期,可维护性,可重用性都有 较高的要求。综合考虑,采用了m v c 技术。m v c 技术的一个特点就是封装性好,即要保 证业务能够实现,并且保证用户界面的易操作性。换句话说,从技术角度而言,保证数 据库层和界面表现层的无缝连接,j 2 e e 技术应用方面具有价值和理论意义。 从项目管理角度而言,该项目主要难度在于:开发周期时间短,人员少,技术难度 高,并且还要满足软件质量方面的要求,因此该项目不能按照传统定义的软件工程项目 的执行过程进行,需要采用更快速,高效率的项目管理方式,才能保证项目按期完成, 并且同时保证管理环节完整,从而保证软件质量。在本项目中也采用了阶梯并行的项目 控制方式,在项目管理实践方面有具有推广价值。 本论文从一个实际应用项目的研究出发,探索了建立i n t e r n e t 环境下的基于j 2 e e 技术架构下的流程化管理信息系统的思想和方法,在接口模型的定义和多w e b 服务器的 数据连接通用组件的实现上,进行了有益的探索,提出了一套比较完整的基于w e b 技术 大连理工大学专业学位硕士学位论文 解决方案,并在此基础上建立了一个实际的系统。 3 基于工作流引擎的电网调度管理系统的设计与实现 2 系统技术基础及架构 2 1 技术路线 2 1 1 常用w e b 开发技术比较 目前,最常用的三种可应用于基于i n t e r a c t 的三层应用模式开发语言有a s p ( a c t i v e s e r v e rp a g e s ) ,j s p ( j a v as e r v e rp a g e s ) 、p h p ( h y p e r t e x tp r e p r o c e s s o r ) l l j a s p 全名a c t i v es e r v e rp a g e s ,是一个w e b 服务器端的开发环境, 利用它可以产 生和运行动态的、交互的、高性能的w e b 服务应用程序。a s p 采用脚本语言v bs c r i p t ( j a v as c r i p t ) 作为自己的开发语言。 p h p 是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用c ,j a v a 和p e r l 语言的语法,并耦合p h p 自己的特性,使w e b 开发者能够快速地写出动态生成页面。 它支持目前绝大多数数据库。还有一点,p h p 是完全免费的,不用花钱,它可以从p h p 官方站点( h t t p :w w w p h p n e t ) 自由下载。而且可以不受限制地获得源码,甚至可以从中 加进自己需要的特色。 j s p 是s u n 公司推出的新一代站点开发语言,它完全解决了目前a s p ,p h p 的一个 通病一一脚本级执行。s u n 公司借助自己在j a v a 上的不凡造诣,将j a v a 从j a v a 应 用程序和j a v aa p p l e t 之外,又有新的硕果,就是j s p 一一j a v as e r v e rp a g e 。j s p 可以在 s e r v e r l e t 和j a v a b e a n 的支持下,完成功能强大的站点程序1 2 】。 三者都提供在h t m l 代码中混合某种程序代码、由语言引擎解释执行程序代码的 能力。但j s p 代码被编译成s e r v l e t 并由j a v a 虚拟机解释执行,这种编译操作仅在对 j s p 页面的第一次请求时发生。在a s p 、p h p 、j s p 环境下,h t m l 代码主要负责 描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的h t m l 页面只依赖于 w e b 服务器,而a s p 、p h p 、j s p 页面需要附加的语言引擎分析和执行程序代码。程 序代码的执行结果被重新嵌入到h t m l 代码中,然后一起发送给浏览器。a s p 、p h p 、 j s p 三者都是面向w 曲服务器的技术,客户端浏览器不需要任何附加的软件支持 9 1 。 三者之间的性能比较如表2 1 所示。 大连理工大学专业学位硕士学位论文 表2 1j s p a s p p h p 三者的比较 t a b 2 1 c o m p a r i s o no fj s p a s p p h p 显而易见,j s p 技术在对数据库的操作中有无法比拟的优势。针对企业级网站,信 息扩展速度快,网站发展迅速的特点,为访问者提供高速的信息反馈是网站当之无愧的 服务。 三者中,j s p 应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都 采用j s p s e r v l e t 。比较出名的如i b m 的e - - b u s i n e s s ,它的核心是采用j s p s e r v l e t 的 w e b s p h e r e 。 2 1 2j a v a 技术概述 j a v a 真正成为一种网络计算最佳编程语言的原因,还在于它提供的强大的网络通 信处理功能【1 4 j 。j a v a 提供了s o c k e t 等强大的网络处理的包( p a c k a g e ) 和类库( c l a s s ) ,可 以方便地处理基于t c p i p 等底层协议的h t t p 、f t p 、s m t p 等应用层的协议。 j a v a 语言除了具有广为人知的“w r i t eo n c e ,r u na n yw h e r e ”的优点以外,还有下述 几个显著的特点,使之明显区别于其他语言: ( 1 ) j a v a 不支持指针数据类型,这样程序员就无法凭借指针在任意内存空间,甚至是 操作系统的内存空间中“邀游 。 ( 2 ) 它提供了数组下标的检查机制,从而使“黑客 们无法构造出类似c 和c + + 语 言所支持的那种指针。 ( 3 ) j a v a 提供了自动内存管理机制,即一个自动的“内存垃圾 收集程序。 基于工作流引擎的电网调度管理系统的设计与实现 ( 4 ) j a v a 运行时环境提供了以下安全措施:在字节码的传输过程中使用公开密钥加密 机制( p k c ) 。 ( 5 ) 字节码校验器:当j a v a 字节码进入解释器时,首先必须经过字节码的再次检查, 因为在从j a v a 程序的编译直到解释执行这段时间内,字节码可能会被修改。 ( 6 ) 类装载器:负责把来自网络的类装载到其单独的内存空间,避免应用程序间的相 互干扰和破坏作用。 ( 7 ) 运行时内存布局:使得“黑客 无法预先得知一个类的内存布局。 ( 8 ) 文件访问限制:客户机端管理员还可以限制从网络上装载的类只能访问某些被允 许的文件系统。 随着j a v a 技术在各个领域得以越来越广泛的应用,越来越多的j a v a 技术相关标准被制 定并形成规范。业界为了使j a v a 技术的发展更加协调和健康,保持j a v a 的旺盛生命力, 由s u n 公司领导,各个公司积极参与,共同制定了j 2 e e 规范标准l l 。 2 1 3j 2 e e 框架及核心技术 为了快速设计和开发企业级的应用程序,s u n 公司推出了一种全新的模型一j a v a 2 p l a t f o r m ,e n t e r p r i s ee d i t i o n ( j 2 e e ) ,它与传统的互联网应用程序相比有着不可比拟的优 势【3 1 。 j 2 e e 平台提供了一个多层结构的分布式应用程序模型,该模型具有重用组件的能 力、基于扩展标记语言( x m l ) 的数据交换、同意的安全模式和灵活的事务控制;使开发 者不仅可以比以前更快的发表对市场的新的解决方案,而且其独立于平台、基于组件的 j 2 e e 解决方案不再受任何提供商的产品和应用程序界面的限制【1 6 】。 其主要的体系结构如图2 1 所示。 大连理工大学专业学位硕士学位论文 图2 1j 2 e e 体系结构图 f i g 2 1 j 2 e ea r c h i t e c t u r e j 2 e e 平台使用了一个多层的分布式应用程序模型。应用程序的逻辑根据其实现的 不同功能被封装到组件中,组成j 2 e e 应用程序的大量应用程序组件根据其所属的层被 安装到不同的机器中。从上图分析可以定义为如下四层: ( 1 ) 运行在客户端机器的客户层组件( a p p l i c a t i o nc l i e n tc o n t a i n e r ) 。 ( 2 ) 运行在j 2 e e 服务器中的w e b 层组件( w e bc o n t a i n e r ) 。 ( 3 ) 运行在j 2 e e 服务器中的逻辑层组件( e j bc o n t a i n e r ) 。 ( 4 ) 运行在e i s 服务器中的企业信息系统( e i s ) 层组件( d a t a b a s e ) 。 事实上j 2 e e 应用程序既可以是三层结构( 除去w e b 层,由客户端直接和运行在j 2 e e 服务器中的业务逻辑层通信) ,也可以是四层甚至更多层结构。但很多时候总是将j 2 e e 应用程序的多层结构考虑为三层结构。这是因为它们分布在三个不同的位置:客户端机 器、j 2 e e 服务器机器和在后端的传统的机器。三层结构的应用程序可以理解为在标准 的两层结构的客户端j j 臣务器模式的客户端应用程序和后端存储资源中间增加了一个多 线程的应用程序服务器1 1 2 j 。 j 2 e e 提供了一个框架,实现这个框架的引擎工具留给第三方厂商完成。部分厂商 只是专注于j 2 e e 架构中的特定组件,例如:a p a c h e 的t o m c m e 提供了对j s p 和s e r v l e t s 的支持,b e a 系统公司则通过其w e b l o g i c 应用服务器产品为整个j 2 e e 规范提供了一 个比较完整的实现【l 。 下面部分中将讨论在构成电网调度管理系统中用到的j 2 e e 核心技术,它们是: j d b c 、j s p 和s e r v l e t 。 基于工作流引擎的电网调度管理系统的设计与实现 ( 1 ) j a v a 数据库连接( j d b c ) j d b ca p i 以一个统一的方式访问各种数据库,其接口包含在j a v a s q l 和j a v a s q l 这 两个包中。与o d b c 类似,j d b c 将开发者私有数据库之间的问题隔离开。由于建立在 j a v a 上,j d b c 还可以提供平台无关的数据库访问。j d b c 定义了四种不同的驱动。具 体来说,包括有: j d b c o d b c 桥 在j d b c 刚产生时,j d b c o d b c 桥是非常有用的。通过它,开发者可以使用j d b c 来访问一个o d b c 数据源。缺点是,它需要在客户机器上安装一个o d b c 驱动,该机 器通常运行的是微软w i n d o w s 系统。使用这一类的驱动妻,你就会失去j d b c 平台无关 的好处。此外,o d b c 驱动器需要客户端的管理。 j d b c n a t i v e 驱动桥 j d b c n a t i v e 驱动桥提供了一个构建在本地数据库驱动上的j d b c 接口而没有使用 o d b c 。j d b c 驱动将标准的j d b c 调用转化为对数据库a p i 的本地调用,使这一类的 驱动也会失去j d b c 平台无关性的好处,并且需要安装客户端的本地代码【l 3 1 。 j d b c n e t w o r k 桥 j d b c n e t w o r k 桥不需要客户端的数据库驱动。它使用网络上的中间件服务器来访 问一个数据库,这种应用使得以下技术的实现有了可能,这些技术包括负载均衡、连接 缓冲池和数据缓存等。由于第三种类型往往只需要相对更少的下载时间,具有平台独立 性,而且不需要在客户端安装并取得控制权,所以很适合于i n t e m e t 上的应用。 纯j a v a 驱动 这一类驱动使用纯j a v a 数据库驱动来提供直接的数据库访问,由于这类驱动运行在 客户端,并且直接访问数据库,因此运行在这个模式暗示要使用一个两层的体系。要在 一个n 层的体系中使用该类型的驱动,可以通过一个包含有数据访问代码的e j b ,并且 让该e j b 为它的客户提供一个数据库无关的服务。 在企业级应用的另一个常见的数据库特性是事务处理。事务是一组申明 ( s t a t e m e n t ) ,它们必须做为同一个s t a t e m e n t 来处理以保证数据完整性。缺省情况下 j d b c 使用自动提交( a u t o c o m m i t ) 事务模式,这可以通过使用c o n n e c t i o n 类的 s e t a u t o c o m m i t 0 方法来实现,一个自动提交意味着在每一个数据库读写操作之后,任何 其他应用程序显示数据库时都会看到更新了的数据。然而,如果你的应用程序执行两部 分相互依赖的数据库访问操作,可能会想用j t a a p i 去确定这个事务,这个事务包含两 个操作的开始、回滚和提交【1 3 】。 尽管几乎每一个j 2 e e 分布式应用程序都不可能离开数据库与j d b c ,但j d b c 并不 大连理工大学专业学位硕士学位论文 是j 2 e e 规范的一部分,事实上,它被包含在j 2 s e 中。本文中不过多的讨论j 2 s e 技术。 ( 2 ) j a v as e r v l e t j a v as e r v l e t 实质上是一种小型的、与平台无关的j a v a 类,它由容器管理并被编译 成平台无关的字节代码,这些代码可以动态的加载到一个w e b 服务器上,并由该w e b 服务器运行。s e r v l e t 通过一种由s e r v l e t 容器实现的请求响应模型与w e b 客户机进 行交互。这种请求响应模型建立在超文本传输协议( h t t p ) 行为的基础上。j a v a s e r v l e t a p i 提供了一种通用机制,对于任何使用了基于请求响应协议的服务器,这 种机制可以扩展其功能l 】引。j a v as e r v l e ta p i 接口定义在j a v a s e r v l e t 和j a v a x s e r v l e t h t t p 包中。j a v as e r v l e t 原理图如图2 2 所示。 请求 瞄墨墨露 应答 0 = = 翟翻 图2 2 j a v as e r v l e t 原理图 f i g 2 2 t h e o r yo f j a v as e r v l e t 随着越来越多的w e b 服务器的支持,s e r v l e t 逐渐取代了基于j a v a 的c g i 脚本语言。 与c g i 脚本语言相比,s e r v l e t 在可伸缩性上提供了很好的改进:每一个c g i 在开始的 时候都要求开始一个新的进程,而s e r v l e t s 在s e r v l e t 引擎中是以分离的线程来运行的。 此外相比于现在的竞争者a s p 和j a v a s c r i p t ,s e r v l e t 的主要优点在于其平台无关性。 j a v as e r v l e ta p i 与其他j a v ae n t e r p r i s ea p i 不同之处在于它不是一个在现存的网络 服务和协议之上的j a v a 层;相反,类似与c g i 应用程序,它本身往往不是完整的应用 基于工作流引擎的电网调度管理系统的设计与实现 程序。在处理接收自w e b 浏览器上用户的信息请求时,c g l 只是整个处理过程中的一个 中间步骤。例如:c g i 应用程序中的一种常见用途是访问数据库;将它用于这种任务时, c g i 程序提供一种方法,将用户的数据请求连接到能满足这种请求的企业数据库,并向 用户发回请求结果作为响应。j a v as e r v l e t 与c g i 程序相似,适合于充当连接前端w e b 请求与后端数据资源的分布式中间件【1 4 】。 ( 3 ) j a v a s e r v e rp a g e s j a v a s e r v e r p a g e s ( j s p s ) 提供的功能大多与j a v as e r v l e t 类似,不过实现的方式不同。 s e r v l e t 全部由j a v a 写成并且生成h t m l ;而j s p 通常是大多树h t m l 代码中嵌入少量 的j a v a 代码。 j s p 是对h t m l 的一种扩展,它可以通过一些特殊的标签向静态h t m l 页面中插 入动态的信息【1 9 1 。如可以利用 标签添加j a v a 代码段,用 将表达 式的值写入页面,用 标签在某一范围内( r e q u e s t 、s e s s i o n 或c o n t e x t ) 引用j a v a b e a n 。 除此以外,j s p 的标准标签扩展机制还允许开发人员编写自己的标签和相应的实现 方法。这样就可以将某些商业逻辑封装成j s p 的标签,使j s p 文件更加简单、易于实现。 当一个浏览器向服务器请求一个j s p 文件时,这个j s p 文件首先被w e b 应用服务 器编译成s e r v l e t 并执行,然后将所产生的结果作为一个h t m l 文件传送给浏览器。只 要在j s p 文件中加入一些控制,便可以轻易的实现对数据的动态显示。以后,如果再有 对这个j s p 文件的请求,且该文件没有做任何修改,它将不会再被编译,而是直接执行 已经编译好的s e r v l e t 1 5 j 。 j 2 e e 规范将迄今为止所产生的大部分j a v a 相关规范和协议都包含在内,定义了一 个j 2 e e 平台框架。在这个框架内所有开发的j a v a 应用都可以不作修改或少量修改,就 能够运行在不同厂商发布的j 2 e e 平台上。目前,有许多的基于j 2 e e 的电子商务应用服 务器产品,如b e a 公司的w e b l o g i c ,i b m 公司的w e b s p h e r e 等等。 ( 4 ) j a v a b e a n 与e j b ( e n t e r p r i s ej a v a b e a n ) j 2 e e 技术赢得广泛重视的主要原因之一就是e j b ( e n t e r p r i s ej a v a b e a n ) ,要注意的 是e j b 从技术上而言不是一种产品,而是一个技术规范。它提供了一个框架来开发和实 施分布式商务逻辑,由此简化了具有可伸缩性和高度复杂的企业级应用的开发;此外它 还定义了e j b 组件在何时、如何与它们的容器进行交互作用,容器负责提供公共的服务, 例如目录服务、事务管理、安全性、资源缓冲池以及容错性【2 0 】。有关e j b 框架的a p i 定义在j a v a x e j b 及其子包j a v a x e j b s p i 中。 为了弄清楚e n t e r p r i s ej a v a b e a n 的概念,可以先比较一下它与j a v a 常用的j a v a b e a n 大连理工大学专业学位硕士学位论文 左翼比较。j a v a b e a n 是j a v a 的组件模型,在j a v a b e a n s 规范中定义了事件和属性等特性。 j a v ab e a n ( 简称“b e a n ) 是j a v a 程序的一种元件结构,同时也是j a v a 类的一种。一个 标准的b e a n 通常具有几项特性: 它是公开的类。 它的建构函数没有传入参数。 它用一组“g e t ”类型的公开函数( 例如:g e t c o l o r 0 、g e t s i z e 0 或g e t t i t l e 0 等) , 提供外界来获取内部的属性值。 若要改变b e a n 内部的属性值时,则是利用一组“s e t ”类型的公开函数( 例如: s e t t e x t 0 、s e t l a b e l o 或者s e t f o n t 0 ) 来做设定。 对j s p 程序而言,b e a n 不仅封装了许多信息,还可以将一些数据处理的程序隐藏 在b e a n 内部,使j s p 程序的复杂度降低。 e n t e r p r i s ej a v a b e a n s 也定义了一个j a v a 组件模型,但e n t e r p r i s ej a v a b e a n s 组件模型 和j a v a b e a n s 组件模型是不同的。j a v a b e a n s 的重点是允许开发者在开发工具中可视化的 操纵组件,它解释了组件间事件登记、传递、识别和属性使用、定制和持久化的应用编 程接口和语意。e n t e r p r i s ej a v a b e a n s 的侧重点则是详细的定义了一个可以移植的j a v a 组 件的服务框架模型。因此,其中并没有提及事件e n t e 叩r i s eb e a n 通常不发送和接受 事件;同样也没有提及属性属性定制并不是在开发时进行,而是在运行时( 实际在 部署时) 通过一个部署描述符来描述。 为了满足架构的目标,e j b 规范中定义了如下一些新的概念: e j b 服务器( e j bs e r v e r ) 负责管理e j b 容器( 它负责管理b e a n s ) ,提供对操 作系统服务的存取和j a v a 相关的服务。 e j b 容器( e j bc o n t a i n e r ) 负责管理部署于其中的e n t e r p r i s eb e a n 。客户机应用 程序并不直接与e n t e r p r i s eb e a n 进行交互。相反,客户机应用程序通过由容器生成的两 个封装接口与e n t e r p r i s eb e a n 进行交互。当客户机使用封装接口调用各种操作时,容器 截获每个方法调用,并插入管理服务。对客户端而言e j b 容器是透明的。 e j b 客户端( e j bc l i e n t ) 可以是s e r v l e t 、j s p 、应用程序或其它b e a n ,客户端 可以通过j n d i 来查找e j bh o m e 接1 2 。每个e n t e r p r i s

温馨提示

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

评论

0/150

提交评论