(管理科学与工程专业论文)基于j2ee的企业信息系统功能组件.pdf_第1页
(管理科学与工程专业论文)基于j2ee的企业信息系统功能组件.pdf_第2页
(管理科学与工程专业论文)基于j2ee的企业信息系统功能组件.pdf_第3页
(管理科学与工程专业论文)基于j2ee的企业信息系统功能组件.pdf_第4页
(管理科学与工程专业论文)基于j2ee的企业信息系统功能组件.pdf_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 摘要 随着电子商务的不断发展,电子商务系统的功能越来越丰富,业务逻辑变的越 来趟复杂。因此电子商务平台已大量采用组件技术,这是因为软件组件比传统的应用 程序更易于维护、扩展和移植。然而,目前所研究的组件绝大多数属于位于系统底层 的基础组件,它不能直接用来构建企业信息系统。本文所要研究的是企业信息系统 的功能组件,应用这些功能组件可以快速组装一个信息系统的基本功能框架,从而极 大提高企业信息系统的开发效率。丫 本文首先引入了基于组件开发技术的概念,探讨了组件技术产生的背景及当前 主流的三种组件模型,重点介绍了基于j 2 e e 体系结构的组件技术。同时指出这些组 件只是底层的基础组件,并不能直接构建信息系统的功能模块,从而引入了功能组 件的溉念。 其次介绍了j 2 e e 体系结构,阐述了j 2 e e 的平台结构,j 2 e e 所包含的主要技术 及j 2 e e 结构的主要优势。随后探讨了j 2 e e 的核心组件技术e j b ,介绍了e j b 的组 成、e j b 体系的角色划分、e j b 的分类、部署调用及e j b 体系的优点等。 在此基础上,笔者利用j 2 e e 组件技术开发了几个企业信息系统功能组件,这些 功能组件的重用可极大提升信息系统的开发效率和质量,文中对这些功能组件的实现 原理及接口方法进行了阐述。 最后,介绍了用功能组件构建的一个网上订货系统,先探讨了这个网上订货系 统的设计思想,包括系统的主要功能模块划分,系统功能示意图及流程示意图。然 后阐述了该系统的实现过程,包括总体结构设计,数据层实现、业务逻辑层实现及 表示层实现。 关键词:组件j 2 e ee j b功能组件网上订货 华中科技大学硕士学位论文 一= = = = = = ;= = = = = = = = = = = = = = = = = = = = = = = = ;= = = = ;= = = = ;= ;= ;= = = = = = = 一 a b s t r a c t w i t ht h ed e v e l o p m e n to fe b u s i n e s s ,t h ef u n c t i o no fe b u s i n e s ss y s t e mb e c o m e s m o r ea n dm o r ea b u n d a n ta sw e l la st h el o g i cg e t sm o r ea n dm o r ec o m p l i c a t e d t h e r e f o r e , av a r i e t yo fe b u s i n e s sp l a t f o r m sh a v ea d o p t e dt h et e c h n o l o g yo fc o m p o n e n t ,w h i c hi s e a s yf o rm a i n t e n a n c e e x t e n s i o na n dt r a n s p l a n t 1 1 1 ec o m p o n e n t s w h i c ha r eb e i n gs t u d i e d c u r r e n t l yb e l o n g t ot h eb a s ec o m p o n e n t si nt h el o w e rl e v e lo fs y s t e ma n dc a n tb ea d o p t e d t oc o n s t r u c tad e wi n f o r m a t i o n s y s t e m w h a tw ew i l ls t u d y h e r ea r et h ef u n c t i o n c o m p o n e n t so fe n t e r p r i s ei n f o r m a t i o ns y s t e mw i t hw h i c h w ec a nf a s tc o n s t r u c tt h eb a s i c f u n c t i o nm o d u l e so fai n f o r m a t i o ns y s t e ms oa st oi m p r o v et h ee f f i c i e n c yo fd e v e l o p i n g t h ee n t e r p r i s ei n f o 肌a t i o ns y s t e m a tt h eb e g i n n i n g ,t h ea r t i c l ei n d u c t st h ec o n c e p to fc o m p o n e n tt e c h n o l o g y , i n t r o d u c e s t h e b a c k g r o u n dg i v i n g b i r t ht ot h e c o m p o n e n tt e c h n o l o g y a n dt h et h r e e p o p u l a r c o m p o n e n t m o d e l sa n dm a i n l yi n t r o d u c e st h ec o m p o n e n tt e c h n o l o g yo fj 2 e e m e a n t i m e , t h ea r t i c l e p o i n t s o u tt h a tt h e s e c o m p o n e n t sb e l o n g i n gt o b a s e c o m p o n e n t sc a n t b e a d o p t e dt oc o n s t r u c tt h ef u n c t i o nm o d u l e so f t h ei n f o r m a t i o ns y s t e ms oa st oi n d u c tt h e c o n c e p t o ff l m c t i o nc o m p o n e n t s s e c o n d l y , t h ea r t i c l ei n t r o d u c e st h ej 2 e ea r c h i t e c t u r e ,d e m o n s t r a t i n gt h ep l a t f o r m a r c h i t e c t u r eo fj 2 e e 、t h em a i nt e c h n o l o g yc o m p r i s i n gt h ej 2 e ea r c h i t e c t u r ea n dt h e a d v a n t a g e so f j 2 e ea r c h i t e c t u r e a n dt h e nt h ea r t i c l ed i s c u s s e st h ec o r et e c h n o l o g yo f j 2 e e ,n a m e l ye j b ,i n c l u d i n g t h e m a k e u p o fe j b ,t h er o l ec l a s s i f i c a t i o no fe j b a r c h i t e c t u r e ,t h ec l a s s i f i c a t i o no fe j b ,d e p l o y m e n ta n di n v o k i n go fe j ba sw e l la st h e a d v a n t a g e so f e j ba r c h i t e c t u r e t h i r d l y , t h ea r t i c l ea n a l y z e ss e v e r a lf u n c t i o nc o m p o n e n t so fe n t e r p r i s ei n f o r m a t i o n s y s t e mw h i c hw e r ed e v e l o p e db yt h ea u t h o rt h r o u 曲t h ec o m p o n e n tt e c h n o l o g yo fj 2 e e t h er e u s eo ft h e s ef u n c t i o nc o m p o n e n t sc a ng r e a t l yp r o m o t et h ed e v e l o p m e n t e f f i c i e n c y a n dq u a l i t y i td e m o n s t r a t e st h ei m p l e m e n t a t i o np r i n c i p l ea n di n t e r f a c em e t h o d so ft h e s e f u n c t i o nc o m p o n e n t s f i n a l l y , a no r d e ro n l i n es y s t e mi sc o n s t r u c t e di nv i r t u eo ft h ef u n c t i o nc o m p o n e n t s m e n t i o n e da b o v e t h ea r t i c l ed i s c u s s e st h ed e s i g no ft h eo r d e ro n l i n es y s t e m ,i n c l u d i n g t h ec l a s s i f i c a t i o no fm a i nf u n c t i o nm o d u l e s ,t h ef u n c t i o nd e m o n s t r a t i o nd i a g r a m ,f l o w d e m o n s t r a t i o nd i a g r a ma n dt h e nd e m o n s t r a t e si m p l e m e n t a t i o no f t h es y s t e m ,i n c l u d i n gt h e d e s i g no ft h ew h o l es y s t e m ,t h ei m p l e m e n t a t i o no fd a t al e v e l ,b u s i n e s sl o g i cl e v e la n d p r e s e n t a t i o n1 e v e l k e yw o r d s :c o m p o n e n t j 2 e ee j bf u n c t i o nc o m p o n e n t o r d e ro n l i n e 华中科技大学硕士学位论文 一= = = = = ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ;= = = = = = ;= = = = = ;= = = = = = ;= 一 i i 组件技术产生的背景 1 软件组件技术 软件开发一直以来都受到以下几个方面的困扰:开发预算和开发进度时常超出 预定的限制条件、维护成本增长过快、不恰当的功能设计、拙劣的性能、不断膨胀 的b u g 和代码量、不兼容、重复开发等等。这些问题在最严重的情况下就会导致所 谓的“软件危机”。现在,为解决这个问题,组件技术应运而生。组件技术对软件开 发的促进作用是非常显著的。发端于上个世纪5 0 年代的组件技术开发思想源于传统 的软件模块和五花八门的子程序库。以后,其原型中还出现了抽象数据类型以及在 此基础上诞生的面向对象开发思想。但是,组件技术超越了以上所有这些软件开发 概念,采用组件技术开发大规模、不同类乃至分布式的系统速度快而成本也得到大 大降低。 目前,财富1 0 0 0 家榜上公司中有大约8 0 在过去的三年中对基于对象或者组件 的系统进行了投资。当时的分析人士估计,到2 0 0 2 年,组件软件的收益即可达到7 9 亿美元,其中软件本身占2 4 亿美元,服务占5 5 亿美元。到2 0 0 3 年,市场上出售的 新软件中将有7 0 是主要通过各种软件“建筑模块”生产出来的,这些所谓的软件 建筑模块其实就是各种各样的程序框架、模版和组件库。其市场年增长率可望达到 3 0 1 _ 1 1 。 1 2 软件组件技术 软件行业的工业化趋势导致了软件组件的产生。能够像硬件系统那样,将部分 软件组合起来构建软件系统,一直是软件行业多年来追求的目标。特别是对于象很 多应用软件的开发( 例如很多行业和单位的m i s 系统) ,若能结合系统的实际情况充 分利用已有的软件组件,将会大大提高生产效率,减少大量的重复劳动。可以说, 软件组件技术的出现是对传统软件开发过程的一次变革。组件( c o m p o n e n t ) 是可复 用的软件组成成分,可被用来构造其它软件。它可以是被封装的对象类、类树、一 些功能模块、软件框架、软件构架( 或体系结构) 、文档、分析件、设计模式等。从 广义上讲,软件组件技术是基于面向对象的,以嵌入后马上可以使用的即插即用型 软组件概念为中心,通过组件的组合来建立应用的技术体系。狭义上讲,它是通过 组件组合支持应用的开发环境和系统的总称。在这种新的软件开发方式下,软件公 司以开发软部件为主要业务,提供规格化的软部件。系统集成商则汇总部件,组合 成能完成不同功能的软组件,将自己的核心技术组件化。正是这两者之间分工的泾 华中科技大学硕士学位论文 渭分q 目将软件行业工业化逐渐推向成功。 现在主流的组件对象模型主要有:微软提出的c o m ( c o m p o n e n to b j e c tm o d e l ) 组件对象模型,o m g 组织定义的c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 标准和s u n 公司提出的j a v a b e a n s e j b ( e n t e r p r i s e j a v ab e a n ) 规范。 f i ) c o m 组件对象模型c o m 是m i c r o s o f t 提出的一种组件规范,开发定制的 c o m 组件如同开发动态的、面向对象的a p i ,多个组件对象可以连接起来形成应用 程序。微软对c o m 的发展包括d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) 、 m t s ( m i c r o s o f it r a n s a c t i o ns e r v e r ) 以及c o m + 。c o m 把组件的概念融入到w i n d o w s 应用中,但它只能使本机内的组件进行交互,d c o m 则可为分布在不同的网络节点 上的组件提供交互能力,m t s 针对企业w e b 应用的特点,在c o m d c o m 的基础上 添加诸如事务特性、安全模型等服务。c o m + 把c o m 提升到应用层而不是底层的软 件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组 件的底层细节如目录服务、内存数据库、连接池及负载平衡等留给操作系统。 ( 2 ) c o r b a 标准c o r b a 标准定义了一种对象间相互交换数据和发现服务的机 制。其基本思路是把查找信息及激活服务的任务交给对象请求代n ( o b j e c tr e q u e s t b r o k e r ,o r b ) 。o r b 可以看作是对象间通信的万能翻译机。对象之间并不直接通信, 它们通过对象代理o r b 作为其中间人。o r b 位于整个网络,它们之间可以相互通信。 大多数o r b 遵守o m g 建立的o r b 问的通信规则,这一规则称作l l o p ( i n t e r n e t i n t e r - o r b p r o t o c o l ,i i o p ) 协议。c o r b a 使用接口定义语言( i n t e r f a c ed e f i n e l a n g u a g e ,i d l ) 指定对象可发送和识别的消息签名和数据类型,i d l 定义了通信的对 象间必须支持的接口。 ( 3 ) j a v a b e a n s e j b 规范j m ,a b e a n s 是客户端的组建模型,具有属性、方法、事 件、内省、定制和永久性等特征。其中属k - 、方法、事件是面向对象的组件必须满 足的基本要求,属性和方法保证b e a n 成为一一个对象,而时间可以描述组件之间的相 互作用。内省、定制和永久性主要侧重f 对j a v a b e a n 组件性质的刻画。内省用于暴 露与发现组件接口,它可以使组件的使用者了解到组件的属性、方法和事件。为了 在一个通用的应用环境中使用组件,必须对组件进行定制。永久性使将组件的状态 保存到永久性存储器中并能够一致恢复的机制。e j b 规范定义了j a v a 的服务器端组 件对象模型。e j b 可以使开发商业应用系统变的容易,应用系统开发人员不需要处 理底层的事务、状态管理、多线程、等复杂的细节。e j b 遵循j a v a 的,r j t eo n c e r u n a n y w h e r e ”的原则,一旦一个e j b 开发完成之后,就可以部署到任何支持e j b 的平 台上,而不需要对源代码进行修改或重新编译。 了 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = ;= = = = = = = = = = ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = := = 1 3 基于j 2 e e 的组件技术 随着信息技术的飞速发展,互联网已经成为人们生活的一部分。在互联网上丌 展各种服务已经成为许多企业和部门的急切需求。目前,基于w e b 的应用服务方式 已经成为互联网服务的主流。无论是在国外还是国内,开发w e b 应用的人员之多, w e b 直用的范围之广,达到了令其他行业惊叹的程度。从传统行业到新兴的电子商 务,基于w e b 技术的应用极大地改变着传统的服务模式。随之而来的是各种基于 w e b 的开发技术,象c g i b i n 、a s p 、p h p 等,同时巨大的w e b 应用服务市场吸 引了众多的软件厂商,这些软件供应商纷纷推出自己的w e b 应用服务器产品。 各种w e b 应用开发技术及应用服务器的不断出现,使得那些】,i 、投资商和开发 w e b 应用的企业开始考虑如何快速有效地开发出自己的w e b 应用。这时需要研究以 下几个方面的问题: ( 1 ) 如何很好地描述企业信息资源,以使这些资源信息可以良好的分离和重组。 ( 2 ) 如何快速丌发应用,这需要一种简洁的编程模型。 ( 3 ) 安全性。相信这是开发w e b 应用者的共同需求。 ( 4 ) 应用程序的可重用性。编程人员是懒惰的,他们总是希望劳永逸。 ( 5 ) 应用程序易于发布和维护。客户永远是“愚蠢”的,繁杂的安装配置或不 稳定的系统将永远不受他们的欢迎。 ( 6 ) 应用程序的可移植性。谁都不希望自己的产品只能在一种平台一h 运行。 ( 7 ) 应用的可扩展性。能够方便地添加新的功能和进行二次开发。 e 是由于上述开发w e b 应用的普遍需求,s u n 提出了j 2 e e ( j a v a 2p 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 是 规范而不是产品,也就是说它不仅是操作系统平台独立的,而且是独立于应用服务 器厂商的。这样的应用程序无疑更具有可伸缩性和扩展性。j 2 e e 降低了中间层服务 的成本和复杂程度,因而使得服务可以被快速的展丌,并能够更轻松的面对竞争。1 】 的爪力。j 2 e e 为w e b 应用找到了一利,统一的具有体系结构的计算模式。基于j 2 e e 规范的应用服务器为从事电子商务开发的人员提供了一种全新的选择。 1 2 e e 规发包含1 0 几种技术,其中的核心技术就是s u n 公司提出的服务器端j a v a 组件一e j b ( e n t e r p r i s ej a v a b e a n ) ,e j b 是部署在服务器上的可执行组件或商业对象。 有 1 、协议允许对其进行远程访问或在特定服务器上安装或部署它们。有系列机 制允许它们将服务安全性、事务行为、并发性( 由多个客户机同时访问的能力) 和 持久性( 其状态可以保存多久) 的主要方面授权给e j b 服务器上其所在的容器。e j b 了 华中科技大学硕士学位论文 是设计成运行在服务器上,并由客户机调用的非可视远程对象。可通过多个非可视 j a v a b e a n 构建e j b 。e j b 独立于平台,一旦编写好,还可以在任何支持j a v a 的平 台上使用。 1 4 本文的研究目的及意义 j 2 e e 是分布式对象体系的典范,基于j 2 e e 的组件技术不仅使得开发程序更快 速,发布应用更容易,而且其中还包含有深刻的软件工程思想,例如将功能抽象成接 口,如何实现程序的模块化和组件化,如何打包应用程序和发和等。此外,j 2 e e 与 x m l 的自然结合更让二者发挥了各自的长处。通过对j 2 e e 及相关技术的研究,可 以对w e b 应用体系有更深刻的认识。 目前,国外的一些科研机构和大型软件公司在组件模型及其规范方面已取得很 大进步,较有影响的是上述所介绍的三种组件模型。这些组件技术已在国外的信息 系统中得到应用,新一代的e r p 系统都用到基于e j b 、c o r b a 或c o m 技术的w e b 应用服务器。s a p 、o r a c l e 等都已提出了基于i n t e r n e t 的开放式、组件化软件开发方 法。不过,目前这些组件绝大多数属于位于系统底层的基础组件,主要是解决分布 式应用中的通信、效率、异构平台的互操作、容错性以及异构数据库之间的接口等 大量与业务无直接关系的问题。它不能直接实现企业信息系统的某个功能模块,利 用这些基础组件不能快速搭建一个新的信息系统的基础框架。开发一个新的信息系 统需要的是一种通用功能组件,一个功能组件由一个或多个基础组件构成,它实现 信息系统的某些基本而常用的功能( 如用户登陆、订单编号、数据查询等) ,利用这些 功能组件可以快速构建一个新的信息系统。 :杠文探讨了对j 2 e e 技术,e j b 体系结构的研究,阐述了几个企业信息系统常用功 能组件的设计及实现,应用这些功能组件可以快速构建一个新信息系统地基本功能 模块,从而极大的提高信息系统开发的效率,缩短开发周期,减少开发量。 百 华中科技大学硕士学位论文 2j 2 e e 体系结构 j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o n ) 是一种利用j a v a 2 平台来简化企业信息系统开发、 部署和管理的体系结构。j 2 e e 具有“编写一次、随处运行”的特性、方便存取数据库 以及能够在i n t e r n e t 应用中保护数据的安全模式等,同时还提供了对e j b ( e n t e r p r i s e j a v a b e a n ) 、j a v a s e r v l e t 、j s p ( j a v as e r v e rp a g e ) 以及x m l 技术的全面支持。其最终目 的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。j 2 e e 体系结 构提供了中间层集成框架来满足低成本、高可用、高可靠以及可扩展应用的需求。 通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时提供集成 现有应用程序的能力。 2 1j 2 e e 的平台结构 j 2 e e 是一个标准结构,是一个使用j a v a 编程语言,面向w e b 应用程序的结构。 软件开发商们和企业在开发和配置企业内部网应用程序时能够利用j 2 e e 结构,从而 有效的替换两层和三层模型,在开发因特网应用程序时,利用该结构可有效的替换 基于c g i b i n 的方法。j 2 e e 的结构是一个三层结构:表示层( s e r v l e t j s p ) 、业务逻 辑层( e j b 组件) 和数据层( 数据库管理系统) 。客户通过h t t p 协议或其他网络协议存取 表示层,表示层通过r m i 协议、j n d l 技术存取业务逻辑层e j b ,调用e j b 封装的 业务逻辑方法,业务逻辑层e j b 通过j d b c 接口存取数据层的数据库管理系统,见图 21 。 图2 1j 2 e e 平台结构图 2 2j 2 e e 的优势 j 2 e e 为搭建具有可仲缩性、灵活性、易维护性的企业信息系统提供了良好的机 制,它的优势体现在以下方面。 了 华中科技大学硕士学位论文 ( 1 ) 保留现存的l t 资产 j 2 e e 架构可以充分利用用户原有的投资,如一些公司使用的b e a t u x e d o 、 i b m c i c s 、i b m e n c i n a 以及n e t s c a p e a p p l i c a t i o n s e r v e r 。因为j 2 e e 拥有广泛的业界 支持和一些重要供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有 投资即可使用j 2 e e 的升级途径。由于基于j 2 e e 平台的产品几乎能够在任何操作系 统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 ( 2 ) 高效开发 j 2 匝允许开发者把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。 这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。中间件 供应商提供复杂的中间件服务,如状态管理服务、持续性服务、分布式共享数据对象 c a c h e 服务等。 ( 3 ) 支持异构环境 基于j 2 e e 的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理 的基于j 2 e e 的程序只需开发一次就可部署到各种平台。j 2 e e 标准也允许客户订购 与j 2 e e 兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整 个方案所需的费用。 ( 4 ) 可伸缩性 基于j 2 e e 平台的应用程序可被部署到各种操作系统上。例如可被部署到高端 u n i x 与大型机系统,这种系统单机可支持6 4 至2 5 6 个处理器。j 2 e e 提供了负载平衡 策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可伸缩的系统。 2 3j 2 e e 的主要技术 j 2 e e 包括的主要技术有e j b 、r m i 和r m i i io p 、j n d i 、j d b c 、j t a 和j t s 、 j m s 、j a v as e r v l e t 和j s p 、j a v ai d l 、j a v a m a i l 、x m l 和连接器。 2 3 1 e t b e j b 是一种让开发者快速开发大规模企业应用的组件体系结构,它让应用开发 者在不花费任何代价的前提下,为中间件提供复杂的企业级特性。通过应用e j b 您 可以全身心的投入开发解决实际问题的应用软件中,而不用花费经历处理分布式服 务器端系统所带来的底层问题。呢可以将e j b 认为式大多数企业级应用所需的通用 功能组件。e j b 模型可以让您比避免这些底层功能的重复开发,从而提高效率口1 。 e j b 增加了与其他系统相敬爱内容的灵活性。对于现有的应用系统,您当然不 需要从头开发企业级的应用系统。许多e j b 产品的供应商都提供了完善的升级手段, 华中科技大学硕士学位论文 在不废弃现有的企业级应用系统系统的前提下,将系统升级到e j b 模式。这对于那 些应用高端服务器系统并且运行着几十万条代码的企业来说是非常重要的。 e j b 还支持“即插即用”的企业级特性。通过e j b ,您可以不用了解用于组件所 需中间件的任何细节,而正是这些中间件构造了可扩展的多层体系结构。在e j b 服 务器中可以不写一行中间件代码,而让组件可以透明的、潜在的获得中间件服务, 对照老的c o r b a 分步式对象模型,则需要自己开发中间件a p i 。应用服务器潜在的 为运行在其中的组件提供着事务处理、连续性、安全、组件生存期管理、线程等服 务。 2 ,3 2r m l 口r m i 一1 1 0 p e j b 标准依赖于j 2 e e 的多个a p i ,其中最重要的就是j a v a 远程方法调用( r m i ) 。 r m i 式一种远程调用其他计算机商务方法的机制,它与j a v a 预言又非常紧密的关系, 如果您对j a v a 预言非常输入系,学习r m i 就比较容易。e j b 应用r m i 作为组件和 客户端之间底层的通信a p i 。r m i 是一种底层潜在的机制,在您开发分布式应用的 时候,您甚至会察觉不到在使用它。r m i 能够让j a v a 程序开发员采用与编写独立运 行的a p p l e t 和a p p l i c a t i o n s u n 公司最近发出了一个更加灵活的r m i 版本,这个版本采用了o m g 的i n t e m e t i n t e r - o r b 协议( i i o p ) 作为通信协议。i i o p 是一个功能非常强大的协议,与r m i 原本支持的协议相比,i i o p 为r m i 增加了若干新的特性。i i o p 对于j 2 e e 部署和 c o r b a 系统相集成是必不可少的1 2 】。 23 3j n d i j n d i ( j a v an a m i n gd i r e c t o r yi n t e r f a c e ) 是一个命名的目录服务的标准,e j b 通过 j n d i 在网络中查找分布式组件。j n d i 是客户代码和e j b 组件连接所需的至关重要 的技术。j n d i 以目录服务的概念为基础。目录服务存储关于资源( 例如组件) 位置 的信息和另外些相关信息( 例如用户名和口令) 。在e j b 中,当客户端程序需要访 问组件时,使用目录服务定位并获得组件响应客户端请求。目录服务是组件和客户 端程序之间进行连接的纽带。 目前存在很多种目录服务和访问它们的协议,比如,比较流行的n o v e l l 的n d s 和i n t e m e t 标准的l d a p 。这些都是相互竞争的标准,所以,每种类型的访问方式都 不相同,而且目录服务所存储的信息方式也不相同。如果您编写了一个针对某种特 定目录服务的应用程序,就很难转换到其他的目录服务。 j n d i 通过在不同的目录服务间建立连接解决这个问题。通过j n d i ,您可以编写 可移植的命名和目录服务代码,而不用再针对某种特定目录服务或者标准编写不能 7 华中科技大学硕士学位论文 够移值的应用程序。您之所以能够做到这些,就是因为j n d i 将您的代码从特定的目 录服务上抽象出来,如果要转换目录服务,您仅仅需要将这个目录服务加入到系统 中来,而不用更改您的代码。在将来,如果出现新的目录服务,j n d i 会立即得到更 新以与新的目录服务相兼容1 2 j 。 2 3 4j d b c j d b c 2 0 包是j a v a 语言进行数据访问的标准扩展,j d b c 为j a v a 程序员提供了 访问关系型数据库的标准a p i 。通过使用j d b c ,开发者可以以一种灵活的方式进行 数据操作。在进行数据库操作时,客户端调用执行j d b c 驱动程序的标准a p i ,然后, 由这些a p i 访问某种特定的数据库。j d b c 和o d b c 十分相似,而且二者可以通过 j d b c o d b c 连接桥相互访问。j d b c 2 0 包括对数据库连接池的内建支持,这增强了 数据库和应用代码间的相互独立性。 2 3 53 t a 弄3 t s 事务处理是一套保证操作正确完成的保护措施。例如,事务处理所提供的一种 比较典型的保护措施是保证在一个事务中的全部操作全部执行,否则,全部不执行。 事务处理是e j b 带给我们的一个十分有用的服务,它是保持系统数据一致性所必需 的。事务处理可以允许多个用户同时访问相同数据,但本质上是将其相互隔离,它 是同步处理的一种高级形式。为了更好地实现事务处理机制,s u n 公司推出了两个 a p i :j a v a 事务处理a p i ( j t a ) 和j a v a 事务处理服务( j t s ) 。j t a 是应用程序用以 控制事务的较高层次的事务处理接口,为在j a v a 中实现事务处理,您需要理解j t a 是如何工作的。j t s 是e j b 在幕后实现的一套底层事务处理接口,客户端代码不直 接与j t s 相互作用。j t s 使多个厂家产品在分布式、不同种类的环境下能够协同进行 事务处理。j t s 是以c o r b a 中的对象事务处理服务( o t s ) 为基础的。 23 6 j m s 消息服务为分布式对象间提供了可靠的异步通信方式。通过应用异步通信方式, 而不是同步通信方式,整个系统的可靠性得到了很大的提高。应用过程可以在空闲 的时候响应和处理消息,而且,当消息被发送的时候这些过程存在离线的潜在可能 性。 悠可以购买一些企业级消息处理产品来实现异步通信( 这些消息处理产品被归 为基于消息处理的中间件m o m 中) ,而这些消息处理系统并不遵循统一的标准, 彼此不相兼容,就像目录服务一样,如果您选择了一种消息处理系统,就必然把自 己和某个特定的厂家绑在一起。s u n 公司发布了j a v a 消息处理( j m s ) 的a p i ,来提 供可移植的消息服务。通过使用这个通用a p i ,分布式对象能够以可升级的、可进行 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = 2 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一 事务处理的、容错的以及异步的方式进行通信,但是最重要的是j m s 提供了一种厂 家无关的通信方式2 1 。 2 3 7j a v as e r v i e t 和j s p s e r v l e t 是一些用来扩展w e b 服务器功能的网络组件,它基于请求响应( r e q u e s t r e s p o n s e ) 机制。s e r v l e t 从容户端( 例如w e b 浏览器) 获得请求,然后,将响应结 果返回客户端。s e r v l e t 的这种特点使它非常适合于w e b 任务,例如,让h i m l 页面 显示电子商务的商品目录。值得注意的是,s e r v l e t 并不一定要和w e b 服务器一同使 用,它们可以被用做普通的基于请求响应( r e q u e s t r e s p o n s e ) 机制的组件。s e r v l e t 和e j b 组件的区别在于e j b 组件所提供的服务器端组件特性并不能全中适用于 s e r v l e t ,s e r v l e t 更适于处理简单的请求响应( r e q u e s t r e s p o n s e ) 任务,而且它们不 需要应用服务器所提供的复杂服务支持。 j s p 和s e r v l e t 非常相似,事实上,j s p 脚本是编译为s e r v l e t 两者问最大的不同 昌j s p 并不是纯j a v a 代码,但它们都是注重解决客户端的显示和交互的问题。但用 j s p 足当您希望能将客户显示和操作的部分独立出来,并且能相对其他部分容易维护 它们时,j s p 更适合于非j a v a 编程人员进行轻松的编写和维护工作( j s p 不需要专门 的j a v a 编译人员) 。 23 8j a v ai d i c o r b a 是o m g 组织开发出的具有非常重要意义的组件规范,o m g 组织代表 着从事跨平台体系结构研究的数百家公司。c o r b a 规范是语言无关的,只要是 c o r b a 支持的语言,都可以用于开发符合c o r b a 的应用程序。j a v ai d l ( j a v a i n t e r f a c e d e f i n e l a n g u a g e ,j a v a 接口定义语言) 是用j a v a 对c o r b a 规范的实现,它能 够让不同类型的对象间相互连接和相互操作,但是j a v ai d l 并不是实现了c o r b a 中的全部规范。 23 9j a v a m a i s u n 公司的j a v a m a i l a p i 可以为您的应用程序增加电子邮件功能。j a v a m a i l 对象 模型非常便于使用,而且,如果您能够使用j a v a 进行开发,就会发现,j a v a m a i l 也 非常易于掌握( 它与异常处理、事件处理方法相同) 。就像大多数j 2 e e 的其他a p i 一样,j a v a m a i l 定义了一套让您编写代码的接口,这些接口将您的代码和具体的协 议或者邮件服务分离开,您的i n t e r n e t 邮件代码因为跨平台、跨协议移植而具有更高 的效率。j a v a m a i l 还提供了一组完成常用功能的类,来简化应用部署,另外,j a v a m a i l 还提供了一些服务支持程序来实现现在比较通用的邮件协议。j a v a m a i l 依赖于 华中科技大学硕士学位论文 j a v b e a n 活动框架( j a f ) 打包消息数据和处理与这些数据的交互、这使j 2 e e 依赖 于j a f ,这也意味着,如果一个应用供应商提供一个j 2 e e 产品,就必须同时提供j a f 。 2 3 1 0x m l x m l 是电子文档内容结构的通用标准。x m l 具有很大的灵活性,用户可以根 据需要为文档自定义新的结构。和其他的标记语言( 例如,h t m l ) 相比,x m l 不 会出现版本混乱的问题,因为在x m l 中没有预先定义的标记,而是让用户根据需要 自己定义标记,这使x m l 成为进行商务数据交换的理想文档结构。 2 3 1 1 连接器 连接器使j 2 e e 具有与现有信息系统集成的特性,一个连接器就是针对某个特定 厂家的连接桥,通过它们将现有的系统和j 2 e e 连接在一起。应用连接器可以让您在 现有系统的基础上开发跨平台、跨厂商的j 2 e e 代码。这些现有系统包括企业资源计 划系统( e r p ) ,基于消息处理的中间件系统,诸如i b m 公司的c i c s 和i m s 、b e a 公司的t u x e d o 等大型机系统,或者现有的数据库系统。连接器是一项非常有用的技 术,它们可以自动管理现有系统和中间件之间的诸多细节问题,例如,事务处理和 安全问题等。连接器规范还提供了很多标准的接口,您可以通过这些接口为任何j 2 e e 产品添加新的连接器。这也意味着,现有的系统可以在应用服务器间任意移植。值 得注意的是,连接器是与厂家相关的( i b mc i c s 系统的连接器a p i 和s a pr j 3 系统 的连接器肯定不同) ,这一点与j 2 e e 的其他a p i 不同。 2 4 e j b 技术 e j b ( e n t e p r i s ej a v a b e a n ) 体系结构定义了可重用的、可移植的j a v a 分布式事务服 务器组件的设计和发布。它允许用e j b 开发的应用程序在多个应用程序服务器上发 布,不必为每个应用程序开发专门的服务器,当然这些服务器必须遵循e j b 标准。e j b 使开发者把精力主要放在开发多用户的、高可靠性、高性能的应用程序上。通过使 用和扩展j d b c 、j n d i 、r m i 和c o r b a 等技术,e j b 标准提供了建立应用程序的统 一方式,使这些程序具有永久性、事务处理、集群和负载均衡等能力,但又不需要开发 者直接实现这些能力。 2 4 1e j b 组成 e j b 通常都打包成j a r 文件,一个打包成了j a r 文件的e j b 由以下几部分组成: h o m e 接口、r e m o t e 接口、e j b 实现类、部署描述文件( 一般是x m l 文件) 和文件清单 文件( 列出该j a r 文件所包含的文件列表) ,下面介绍一下e j b 组成部分

温馨提示

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

评论

0/150

提交评论