(计算机应用技术专业论文)基于xml的企业异构数据交换技术的研究.pdf_第1页
(计算机应用技术专业论文)基于xml的企业异构数据交换技术的研究.pdf_第2页
(计算机应用技术专业论文)基于xml的企业异构数据交换技术的研究.pdf_第3页
(计算机应用技术专业论文)基于xml的企业异构数据交换技术的研究.pdf_第4页
(计算机应用技术专业论文)基于xml的企业异构数据交换技术的研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的企业异构数据交换技术的研究.pdf.pdf 免费下载

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

文档简介

山东轻工业学院硕士学位论文 摘要 数据交换是影响企业信息化管理发展的主要因素之一。它的目标是在异构环 境( 松散耦合、数据格式不同、跨平台、跨地域的分布环境) 中实现数据的共享,从 而有效地利用资源,提高整个信息系统的性能,加快信息系统之间的数据流通, 实现数据的共享和集成。但当前各种数据交换技术运用于异构环境均存在很多问 题,共有的问题主要包括藕合度大、成本高、实施复杂等。x m l 的出现给数据交 换带来了新的实现方法。本论文以实现异构环境中数据交换为目标,使用x m l 技 术设计和实现了一个异构数据交换模型。 本文首先介绍了x m l 的相关知识,讨论了异构数据交换的相关理论,分析了 传统的数据交换实现方法及其存在的问题,讨论了x m l 在异构数据库数据交换方 面的相关技术:然后对从x m l 与关系数据库的模式映射进行了探讨,研究了主流 关系数据库对x m l 的支持情况。最后在此基础上给出了一个基于x m l 实现异构 数据库数据交换的三层模型,针对异构数据交换中出现的问题提出了解决方法, 并且在j 2 e e 环境下,借助于j a v a a p i 、j d b c 等技术,通过x m l 实现了s q ls e r v e r 2 0 0 0 数据库与o r a c l e 9 i 数据库之间的数据交换。 最后介绍了基于x m i 技术的异构数据交换模型在企业中的实际应用。从实践 角度证明模型框架的可行性,同时指出了系统的不足和有待提高的方面。 关键词:x m l ;j a v a a n dx m l ;数据交换;异构;关系数据库 a b s t r a c t d a t ae x c h a n g ei so n eo ft h em a i ni n f l u e n c i n gf a c t o r so fd e v e l o p m e n t o fe m e 印n s e s i n f o 肌a t i o n i t sg o a li s t or e a l i z et h es h a r i n go ft h ed a t a i nt h eh e t e r o g e n e o u s e n v i r o n m e n t ( 1 0 0 s ec o u p l i n g ,d i f f e r e n t d a t af o r m a t ,h e t e r o g e n e o u sp l a t t o m , h e t e r o g e n e o u sa r e a ,a n ds oo n ) ,t h u su t i l i z e s r e s o u r c e se f f e c t i v e l y ,i m p r o v e st h e p e 南肌a n c eo f t h ew h o l ea p p l i c a t i o ns y s t e m ,a c c e l e r a t e sd a t ac i r c u l a t i o no fi n f o r m a t i o n s v s t e m ,a n dr e a l i z e st h es h a r i n ga n di n t e g r a t i o no ft h e d a t a b u tv a r i o u se x c h a n g e t e c h n o l o g i e sh a v em a n yp r o b l e m sw h e na p p l yt oh e t e r o g e n e o u se n v i r o n m e n t s h e c o m m o nq u e s t i o ni n c l u d e sh e a v yc o u p l i n g ,h i g hc o s t sa n d jc o m p l i c a t e di m p l e m e n t i n g t h ee m e r g e n c eo fx m lt e c h n o l o g yh a sb r o u g h tt h en e wi m p l e m e n t a t i o nm e t h o d t h l s p a p e rt a r g e t sa sd a t ae x c h a n g eb a s e dh e t e r o g e n e o u se n v i r o n m e n ta n do n eg e n e r a i h e t e r o g e n e o u sd a t ae x c h a n g em o d l e i sd e s i g n e da n di m p l e m e u t e db yt h et e c h n o l o g yo f x m l 删st h e s i sf i r s t l yp r e s e n t st h ek n o w l e d g eo fx m l ,d i s c u s s e s t h er e l a t e dt h e o r yo t d a t ae x c h a n g eo fh e t e r o g e n e o u sd a t a b a s e ,a n a l y z e s t h et r a d i t i o n a ld a t ae x c h a n g e m e t h o d sa n dp r o b l e m s ,d i s c u s s e st e c h n o l o g yr e l a t e dt o t h eh e t e r o g e n e o u sd a t a b a s e e x c h a n g e t h e ni ta n a l y z e st h ep o s s i b i l i t yo fx m l b a s e dd a t ae x c h a n g ef r o mt h e 2 l s p e c t so fs c h e m ab i n d i n go fx m l a n dr e l a t i o nd a t a b a s e i ti n v e s t i g a t e st h es u p p o r to f t h et y p i c a ld a t a b a s ep r o d u c t st ot h ex m l f i n a l l y ,i td e v e l o p sax m l b a s e dt h r e e _ l a y e r m o d e lf o ri m p l e m e n t i n gd a t ae x c h a n g eo fh e t e r o g e n e o u sd a t a b a s e i tp r o v i d e s as o l v i n g s c h e m af o rt h ep r o b l e m so fd a t ae x c h a n g eo fh e t e r o g e n e o u sd a t a b a s ea n di m p l e m e n t s t h ed a t ae x c h a n g eb e t w e e no r a c l ed a t a b a s ea n ds q l s e r v e r2 0 0 0d a t a b a s eb yu s i n g j a v aa p i 、j d b ct h r o u g hx m l u n d e rt h ej 2 e ee n v i r o n m e n t f i n a l l y , p r a c t i c a la p p l i c a t i o no f x m l - b a s e dh e t e r o g e n e o u sd a t ae x c h a n g em o d e li n e n t e r p r i s e si si n t r o d u c e d t h ef e a s i b i l i t yo f m o d e lf r a m e w o r ki sc e r t i f i e di np r a c t i c e ,a n d t h ed e f e c t sa n df u r t h e ri m p r o v e m e n to ft h es y s t e ma r ep o i n t e do u t k e y w o r d s :x m l ;j a v a a n dx m l ;d a t ae x c h a n g e ;h e t e r o g e n e o u s ;r e l a t i o nd a t a b a s e i i i 学位论文独创性声明 本人声明,所呈交的学位论文系在导师指导下本人独立完成的研究成果。文中 引用他人的成果,均己做出明确标注或得到许可。论文内容未包含法律意义上已 属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成 果,与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明 并表示谢意。 学位论文知识产权权属声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属山东轻工业 学院。山东轻工业学院享有以任何方式发表、复制、公开阅览、借阅以及申请专 利等权利,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名 单位仍然为山东轻工业学院。 论文作者签名: 赳趣型交日期:j 巫年互月j 笙日 导师签名: 日期:邋年上月望日 山东轻工业学院硕士学位论文 1 1 研究背景 第1 章绪论 随着计算机技术的发展,企业已经建成了众多的应用系统。但是各系统是在 不同时期,不同的公司,用不同的工具,在不同的平台上开发的,并且运行在不 同的操作系统和不同的数据库平台上,形成“信息孤岛”,这就构成了一个巨大的异 构系统。另外,i n t e m e t 上的数据库系统不少也是分布、异构的,i n t e m e t 上大量 信息必须通过数据库系统才能有效管理,用户在具体应用时,往往需要将分散的 数据按某种需要进行交换,而在交换时面对的是千差万别的数据,产生数据差异 的主要原因是数据的结构和语义的冲突。因而要解决数据交换问题就是如何消除 这些差异。随着数据的大量产生,数据之间的结构和语义冲突问题更加严重,针 对上述问题,要实现网络环境下的信息共享,就必须联合各个异构数据库,形成 异构数据库系统来实现不同数据库之间的数据信息资源共享。如何有效解决各种 冲突问题是数据交换面临的一大挑战。数据交换后,可以减小由于数据在存储位 置上分布造成的数据存取开销,避免不同数据在结构和语义上差异造成的数据转 换引起的错误。因此,数据交换对企业信息化管理的发展意义重大。 1 2 异构数据交换技术研究现状 异构数据交换技术的研究始于七十年代中期,数据库的异构问题已经引起了各 数据库厂家及许多数据库专家的注意。经过对异构数据问题的探索和研究,人们 已经取得了不少的成果,提出了许多解决异构数据交换的策略及方法,可分为四 类: 1 使用软件工具进行转换 一般情况下数据库管理系统都提供将外部文件的数据转移到本身数据库中的 数据装入工具。如o r a c l e 的s q l l o a d e r 提供将外部文本文件中的数据转移到o r a c l e 数据库表。这些工具具有操作灵活,执行速度快等优点;但是它们不是独立的软 件产品,必须首先运行该数据库产品的前端程序才能运行相应的数据转换工具。 2 利用中间数据库的转换 即在实现两个具体数据库之间的转换时,依据关系定义、字段定义、从原数 据库中读出数据通过中间数据库转入到目的数据库中。这种方法所需转换模块少, 且扩展性强,但缺点是复杂,转换质量不高,转换过程长。 3 设置传送变量的转换 借助数据库应用程序开发工具与数据库联接的强大功能,通过设置源数据库 第1 章绪论 与目的数据库两个不同的传送变量,同时连接两个数据库,实现异构数据库之间 的直接转换。 4 通过开发数据库组件进行转换 利用j a v a 等数据库应用程序开发技术,通过源数据库与目的数据库组建来存 取数据信息,实现异构数据库之间的直接转换。若源数据库与目的数据库对应的 数据类型不相同,必须先进行类型的转化,然后双方才能实施赋值。 1 3 论文工作与组织 本课题研究“基于x m l 的企业异构数据交换技术的研究”问题,它是数据集 成的一个方面,也可以说是数据集成众多表现形式中的一种。由于关系型数据库 应用场合比较广泛,本文主要工作将在关系型数据上进行。研究探讨利用x m l 进 行数据交换的基本方法,利用面向对象建模思想结合设计模式技术加以分析、设 计、实现数据交换模型。针对x m l 的优势,采用x m l 作为数据交换的中问模式, 用x m l 在源数据库和目标数据库之间传递数据,通过x m l 文档解析和转换来完 成数据交换。 全文章节安排如下: 第一章为绪论部分,介绍了异构数据交换技术的研究背景、意义和研究现状。 从而说明了本文研究的必要性和重要性。 第二章为x m l 及相关技术。介绍了x m l 技术,包括x m l 模式、x m l 编 程接口及x m l 在数据交换中的优势。并对基于j 2 e e 框架的企业级应用进行了分 析和研究。 第三章对异构数据库系统进行了分析,对异构数据库数据交换的传统方式及 存在的问题进行了分析,及在异构数据库数据交换过程中需考虑的技术问题进行 了研究。 第四章结合前面内容对x m l 与异构数据库数据交换进行了研究分析,并对 x m l 在传统关系型数据库中的应用进行研究。 第五章设计了基于x m l 的异构数据交换模型,详细阐述了数据交换模型的 设计原理。并对模型的结构设计及主要模块做了重要说明,并在此模型的基础上 对数据交换规则进行设计。 第六章为数据交换模型的实现部分,并给出具体实例说明模型的实现。 第七章为总结部分,对全文进行总结,展望,并提出了论文需改进的地方。 2 山东轻工业学院硕士学位论文 2 1x m l 技术 第2 章x m l 及相关技术 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展置标语言) 是由w 3 c i i j ( w o r l dw i d e w e b c o n s o r t i u m ,互联网联合组织) 于1 9 9 8 年2 月发布的一种标准,是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u p l a n g u a g e ,标准通用置标语言) 的一个简化子集。 由于它将s g m l 的丰富功能与h t m l 的易用性结合到了w e b 的应用中,以一种 开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描 述,从而体现出数据之间的关系。这样所组织的数据对于应用程序和用户都是友 好的、可操作的。自x m l 推出以来,迅速得到软件开发商的支持和程序开发人员 的喜爱,显示出强大的生命力。 2 1 1x m l 模式 x m ls c h e m a 与d t d 2 】( d t d 语法概述) 一样,也是对一类x m l 文档进行 约束、确定其结构,元素、属性、数据类型,及x m l 文档中所使用的元素、实体、 元素的属性,元素与实体之间的关系的约束。x m ls c h e m a 首先由微软提出,已 经被w 3 c 接受成为一个标准。与d t d 不同的是x m ls c h e m a 文件使用x m l 语 法,它的设计目的很许多跟d t d 相似,但在功能、扩展性方面超越了d t d 。下面 是它们之间的主要区另j j t 3 : 一x m ls c h e m a 是x m l 文档,不像d t d 有其特有的语法。对开发人员来说, 不需要懂两种语法就能编写一个格式良好的x m l 文档。对开发x m l 分析器来说, x m ls c h e m a 由于也是x m l 语法,实现及支持起来就更方便了。同时x m ls c h e m a 继承了x m l 可扩展的优点。 二定义数据类型。在一个d t d 文件中只能把数据声明为字符串类型或字符串类 型的子元素,如p c d a t a 、c d a t a 、i d 等。而在x m ls c h e m a 中,可以定义跟 编程语言同样丰富的数据类型,如整型,浮点型,布尔型,日期型等。这样的好 处是显而易见的,在编写程序使用一个整型数据时,如用d t d 定义的,就必须将 它从字符型转化为整型,而x m ls c h e m a 则可以直接定义为整型。 三x m ls c h e m a 是一个开放的模型。如下面的一个x m l 文档: t g d tl a t t e 1 2 0 0 第2 章x m l 及相关技术 下面是它的d t d 及s c h e m a 描述: d t d : s c h e m a : e l e m e n tt y p e = ”q u a n t i t y ”侈 当上面的x m l 文档增加一条 1 0 :2 1p d t 元素变为: t g d tl a t t e 1 2 0 0 10 :21p d t 以上的d t d 将会引发一个验证错误,而s c h e m a 则不会。 四命名空间的集成。一个x m l 文档只能由一个d t d 文档来描述,而可以由 多个x m ls c h e m a 文档来描述。x m ls c h e m a 完全支持命名空间。 2 。1 。2x m l 编程接口 对x m l 文档数据操作需要有编程接口,通过这个接口对数据信息增删修改及 节点遍历等。x m l 的编程接口有两种【4 】:基于树结构的d o m 接口f 5 1 和基于事件驱 动的解析接口s a x 6 1 。两种接口在x m l 相关技术系列中的位置如图2 1 所示: 4 1 d o m ( 文档对象模型) 5 睦的访 先洪跏靓涨 迷过揍 栈通地 刘序媵翟淼 龇黼溉雠 直羰例 豢一 序盼缈酏黧 用翱刎鬻蝴 出他接础舰砖 以卜a鞣淞 童 根是0 曼 。奈与m兵t 潲 邀啼挑 解 枫一有麟 的 晦弘素豳 一一 桃 叽臻协濞 嘿 咖藤龇娣 越 剞鸭一、 矧 蜘批改蚌 中 档勺琦k 种 始j 堇贿赢 托 。一。,辨中元 在问构婚例是蝴蝴糊蝴蒯雌 ,态型嘞的可 解全模。乳 。 喘椭濠溯氘 蝴航嘁礅嚣焉鬻 吡 艇曲数 一一 第2 章x m l 及相关技术 下面的例子显示了d o ma p i 的用法。这个示例代码从上一个x m l 文档中打 印出一个目录下所有书籍的名称。 加载解析器 d o m p a r s e rp a r s e r = n e wd o m p a r s e r o ; 载入文档 p a r s e r p a r s e ( ”b o o k s x m l ”) ; d o c u m e n td o c u m e n t = p a r s e r g e t d o c u m e n t 0 ; 找出各个t i t l e 元素的所有d o m 元素节点 n o d e l i s tn o d e s = d o c u m e n t g e t e l e m e n t s b y t a g n a r n e ( ”t i t l e ”) ; w h i l e ( i n ti = o ;i n o d e s 1 e n g t h ( ) ;i + + ) e l e m e n tt i t l e e l e m = ( e l e m e n t ) n o d e s i t e m ( i ) ; 确证第一个子节点在元素的开始和结束标记之间包含了文本 n o d ec h i l d n o d e - - t i t l e e l e m g e t f i r s t c h i l d 0 ; i f ( c h i l d n o d ei n s t a n c e o ft e x t ) 打印目录 s y s t e m o u t p r i n t l n ( ”b o o kt i t l ei s :”+ c h i l d n o d e g e t n o d e v a l u e 0 ) ; ) ) 这个程序获得x m l 文件名并建立d o m 树,通过使用 g e t e l e m e n t s b y t a g n a m e o 方法找出各个t i t l e 元素的所有d o m 元素节点。最后,通 过重复操作t i t l e 元素的列表并使用g e t f i r s t c h i l d ( ) 方法检查,确证第一个子节点在 元素的开始和结束标记之间包含了文本,打印出与每个t i t l e 元素相关的文本信息。 可以看到使用d o m 非常简单。你可以随机地访问x m l 文档,因为整个树都 构建在内存中。通过d o m a p i 可以修改这些节点,例如增加一个子节点或修改、 删除一个节点。虽然内存树结构提供了很好的导航支持,但仍有一些解析策略问 题需要考虑【7 】: 首先,整个x m l 文档必须一次解析完成,不可能只做部分解析。 其次,在内存中加载整个文档和构建完整树结构成本很高,尤其当文档非常 大的时候。典型地,d o m 树的容量比文档容量要大一个数量级,所以它要消耗大 量内存。 第三,一般的d o m 节点类型在互操作性上有优势,但对于对象类型绑定也许 不是最好的。 某些类型的应用程序要比其它类型的应用程序更适合采用d o m 解析。当应用 程序需要随机访问x m l 文档时很适合采用d o m 解析。一个比较好的例子是需要 在处理模板时需要重复查找整个文件的x s l t 处理器。因为d o m 使你能够更新文 6 山东轻t 业学院硕上学位论文 档,因此对于需要修改数据的应用程序,如x m l 编辑器来说d o m 解析也很方便。 2 s a x s a x 是用于处理x m l 的基于事件的a p i 。它不是w 3 c 标准,但它是一个 得到了广泛认可的a p i ,大多数s a x 解析器在实现的时候都遵循标准。s a x 解析 器不象d o m 那样建立一个整个文档的树型表示,而是在读取文档时激活一系列的 事件。这些事件被推给事件处理器,而事件处理器则提供对文档内容的访问。事 件处理器有三种基本类型: 用于访问x m ld t d 内容的d t d h a i l d l e r ; 用于低级访问解析错误的e r r o r h a n d l e r ; 用于访问文档内容的最普遍类型c o n t e n t h a n d l e r 。 图2 3 显示了s a x 解析器如何通过一个回调机制报告事件。解析器读取输入 文档并在处理文档时将每个事件推给m y c o n t e n t h a n d l e r 。 s a xp a r s e r m y c o n t e n t h a n d l e r e v e n t s t a r t e l e m e n t t i t l e i s t i t i e = t r u e r e a d b o o k s x m lc h a r a c t e r s p r i n tt i t l ei n f o a n de l e m e n t t i t l e i s t i t l e = f a i s e 图2 3s a x 以一系歹0 事件的方式向应用程序报告文档 尽管d o m 和s a x 在x m l 相关技术中所起的作用差不多,但是两者还是有 各自的优缺点。 d o m 是基于树型结构的w 3 c 推荐的a p i 标准,而s a x 是事件驱动、有广泛 支持的a p i 标准。d o m 适合于结构化编辑x m l 文档,例如排序、记录移动和其 他应用、共享x m l 文档,而s a x 效率高,适合大文档,可完成内存不足与文档 结构无关的任务,如计算文档节点数、提取特定节点内容等。 d o m 操作时将x m l 文档整体装入和处理,因此对系统资源的占用很大且执 行效率较低,尤其在处理大文档的时候比较明显。而s a x 又不能完成d o m 的排 序、移动操作,没有x m l 文档整体视图。 d o m 和s a x 比较可以总结如下: 1 d o m 是基于树结构的一种接口,s a x 是基于事件驱动的解析接口。 2 s a x 可以解析任意大小的文件,而d o m 解析的文件大小则和硬件有关 3 d o m 需要将整个文件加载到内存,而s a x 不需要。 7 第2 章x m l 及相关技术 4 s a x 不把文件加载到内存,所以不能对文档进行随机存取;而d o m 可以 做到。 5 s a x 相对d o m 来说更简单易用。 6 如果要从文档的简单系列中获取信息,s a x 是最快的方法。 除了以上概括的x m l 相关技术,还有元信息协同工作的技术 8 1 比如 r d f ( r e s o u r c ed e s c r i p t i o nf r a m e w o r k ) 和i n f o s e tor d f 提出了一个简单的模型用来 表示任意类型的数据,可以方便的描述对象( 或者资源) 以及它们之间关系。r d f 的数据模型实质上是一种二元关系的表达,由于任何复杂的关系都可以分解为多 个简单的二元关系,因此r d f 的数据模型可以作为其他任何复杂关系模型的基础 模型。r d f 和x m l 是互为补充的。r d f 希望以一种标准化,互操作的方式来规 范x m l 的语义。x m l 文档则可以通过简单的方式实现对r d f 的引用1 9 l 。 总之,对x m l 的理解不仅在x m l 本身的文档语法和结构上,其相关技术和 各自的用途是最重要的。 2 1 3x m l 在数据交换中的优势 x m l 的优势之一是开放性,它允许各个组织、个人建立适合自己需要的置标 集合,并且这些置标可以迅速地投入使用。这一特征使得x m l 可以在电子商务、 政府文档、司法、出版、c a d c a m 、保险机构、厂商和中介组织信息交换等领域 中一展身手,针对不同的系统、厂商提供各具特色的独立解决方案【1 0 1 。 x m l 的优势之二是分离性,它的数据存储格式不受显示格式的制约【l 。一般 来说,一篇文档包括三个要素:数据、结构以及显示方式。对于h t m l 来说,显示 方式内嵌在数据中,这样在创建文本时,要时时考虑输出格式,如果因为需求不 同而需要对同样的内容进行不同风格的显示时,要从头创建一个全新的文档,重 复工作量很大。此外h t m l 缺乏对数据结构的描述,对于应用程序理解文档内容、 抽取语义信息都有诸多不便。 x m l 把文档的三要素独立开来,分别处理。首先把显示格式从数据内容中独立 出来,保存在样式单文件( s t y l e s h e e t ) 中,这样如果需要改变文档的显示方式, 只要修改样式单文件就行了。x m l 的自我描述性质能够很好地表现许多复杂的数据 关系,使得基于x m l 的应用程序可以在x m l 文件中准确高效地搜索相关的数据内 容,忽略其他不相关部分。x m l 还有其他许多优点,比如它有利于不同系统之间的 信息交流,完全可以充当网际语言,并有希望成为数据和文档交换的标准机制。 2 2j 2 e e 企业级应用与m v c 开发模式 8 山东轻t 业学院硕士学位论文 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的丌发、部署和管理相关的 复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版, j 2 e e 不仅巩固了标准版中的许多优点,例如”编写一次、随处运行”的特性、方便 存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全 模式等等,同时还提供了对e j b ( e m e r p r i s ej a v a _ b e a n s ) 、j a v as e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够 使企业开发者大幅缩短投放市场时间的体系结构。j 2 e e 体系结构提供中间层集成 框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的 需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同 时提供对现有应用程序集成强有力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的 向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。 j 2 e e 的核心a p i 与组件: 1 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 d b ca p i 为访问不同的数据库提供了一 种统一的途径,象o d b c 一样,j d b c 对开发者屏蔽了一些细节问题,另外,j d c b 对数据库的访问也具有平台无关性。 2 j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) :j n d ia p i 被用于执行名字和目录服 务。它提供了一致的模型来存取和操作企业级的资源如d n s 和l d a p ,本地文件 系统,或应用服务器中的对象。 1 3 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 j b 规范定义了e j b 组件在何时 如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事 务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,e j b 并不是实现 j 2 e e 的唯一途径。正是由于j 2 e e 的开放性,使得有的厂商能够以一种和e j b 平 行的方式来达到同样的目的。 4 r m i ( r e m o t em e t h o di n v o k e ) :正如其名字所表示的那样,r m i 协议调用远程 对象上方法。它使用了序列化方式在客户端和服务器端传递数据。r m i 是一种被 e j b 使用的更底层的协议。 5 j a v ai d l c o r b a :在j a v ai d l 的支持下,开发人员可以将j a v a 和c o r b a 集成在一起。他们可以创建j a v a 对象并使之可在c o r b ao r b 中展开,或者他们 还可以创建j a v a 类并作为和其它o r b 一起展开的c o r b a 对象的客户。后种方 法提供了一种途径,通过它j a v a 可以被用于将你的新的应用和旧的系统相集成。 6 j s p ( j a v as e r v e rp a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代码所组 成。服务器在页面被客户端所请求以后对这些j a v a 代码进行处理,然后将生成的 h t m l 页面返回给客户端的浏览器。 9 第2 章x m l 及相关技术 7 j a v as e r v l e t :s e r v l e t 是一种小型的j a v a 程序,它扩展了w e b 服务器的功能。 作为一种服务器端的应用,当被请求时开始执行,这和c g ip e r l 脚本很相似。s e r v l e t 提供的功能大多与j s p 类似,不过实现的方式不同。j s p 通常是大多数h t m l 代 码中嵌入少量的j a v a 代码,而s e r v l e t s 全部由j a v a 写成并且生成h t m l 。 8 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) :x m l 是一种可以用来定义其它标记语言 的语言。x m l 的发展和j a v a 是相互独立的,但它和j a v a 具有的相同目标正是平 台独立性。将j a v a 和x m l 的组合,可以得到一个具有平台独立性的解决方案。 9 j m s ( j a v am e s s a g es e r v i c e ) :m s 是用于和面向消息的中间件相互通信的应用 程序接n ( a p i ) 。它既支持点对点的域,有支持发布订阅( p u b l i s h s u b s c r i b e ) 类型的 域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性 消息和具有持久性的订阅者支持。 1 0 。j t a ( j a v at r a n s a c t i o na r c h i t e c t u r e ) :j t a 定义了一种标准的a p i ,应用系统由 此可以访问各种事务监控。 1 1 j t s ( j a v at r a n s a c t i o ns e r v i c e ) :j t s 是c o r b ao t s 事务监控的基本的实现。 j t s 规定了事务管理器的实现方式。该事务管理器是在高层支持j a v at r a n s a c t i o n a p i ( j t a ) 规范,并且在较底层实现o m go t ss p e c i f i c a t i o n 的j a v a 映像。j t s 事务 管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务 服务。 1 2 j a v a m a i l :j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件服务 器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。 1 3 j t a ( j a v a b e a n sa c t i v a t i o nf r a m e w o r k ) :j a v a m a i l 利用j a f 来处理m i m e 编码 的邮件附件。m i m e 的字节流可以被转换成j a v a 对象,或者转换自j a v a 对象。大 多数应用都可以不需要直接使用j a f 这种基于组件,具有平台无关性的j 2 e e 结 构使得j 2 e e 程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且 j 2 e e 服务器以容器的形式为所有的组件类型提供后台服务 j 2 e e 应用组件可以安装部署到以下几种容器中去: ( 1 ) e j b 容器管理所有j 2 e e 应用程序中企业级b e a n 的执行e n t e r p r i s e b e a n 和它们的容器运行在j 2 e e 服务器上 ( 2 ) w e b 容器管理所有j 2 e e 应用程序中j s p 页面和s e r v l e t 组件的执行w e b 组件和它们的容器运行在j 2 e e 服务器上 ( 3 ) 应用程序客户端容器管理所有j 2 e e 应用程序中应用程序客户端组件的执 行应用程序客户端和它们的容器运行在j 2 e e 服务器上 ( 4 ) a p p l e t 容器是运行在客户端机器上的w e b 浏览器和j a v a 插件的结合 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制: 1 0 山东轻工业学院硕十学位论文 1 保留现存的i t 资产:由于企业必须适应新的商业需求,利用已有的企业信 息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进 的( 而不是激进的,全盘否定的) 方式建立在已有系统之上的服务器端平台机制 是公司所需求的。j 2 e e 架构可以充分利用用户原有的投资,如一些公司使用的b e a t u x e d o 、i b mc i c s ,i b me n c i n a ,、i n p r i s ev i s i b r o k e r 以及n e t s c a p ea 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 e e 允许公司把一些通用的、很繁琐的服务端任务交给中间 件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩 短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: ( 1 ) 状态管理服务,让开发人员写更少的代码,不用关心如何管理状态,这样 能够更快地完成程序开发。 ( 2 ) 持续性服务,让开发人员不用对数据访问逻辑进行编码就能编写应用程 序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。 ( 3 ) 分布式共享数据对象c a c h e 服务,让开发人员编制高性能的系统,极大提 高整体部署的伸缩性。 3 支持异构环境:j 2 e e 能够开发部署在异构环境中的可移植程序。基于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 个处理器。 ( 这是n t 服务器所望尘莫及的) j 2 e e 领 域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服 务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来 商业应用的需要。 5 稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作 伙伴的需要。因为i n t e r n e t 是全球化的、无处不在的,即使在夜间按计划停机也 可能造成严重损失。若是意外停机,那会有灾难性后果。j 2 e e 部署到可靠的操作 环境中,他们支持长期的可用性。一些j 2 e e 部署在w i n d o w s 环境中,客户也可选 择健壮性能更好的操作系统如s u ns o l a r i s 、i b m0 s 3 9 0 。最健壮的操作系统可达 第2 章x m l 及相关技术 9 9 9 9 9 的可用性或每年只需5 分钟停机时间。这是实时性很强商业系统理想的选 择。 企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。 这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、 用户数多,有较强的安全性考虑。 当代的企业级应用决不可能是一个个的独立系统。在企业中,一般都会部署 多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用 又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越i n t r a n e t 和i n t e m e t 的分布式企业应用群集。其中,连接企业内部各种应用的技术称为 e a i ( e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n ,企业应用集成) ,而连接企业间各种应用的技 术称为b 2 b i ( b u s i n e s s t o b u s i n e s si n t e g r a t i o n ,企业间集成) ,采用e a i ,b 2 b i 技术 及早先的n 层体系架构就是当今企业级应用的最大特征。 此外,作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需 求的变化,易于升级和维护。 基于b s 结构的企业级应用一般有三部分组成:浏览器、w e b 服务器和数据 库服务程序。系统采用基于j a v a 的三层结构来实现表示层用j s p 和h t m l 混合编 写,业务逻辑层实现的系统功能我们采用j a v ab e a n s 来进行封装,使用s e r v l e t 实 现表示层、业务层和数据库之间的控制如图2 4 。 l li 浏s e r v l e t 【 f i l e s r 、 览 上丫孟忑、 器 i 7 7 1 l _ _ _ - o 一 d b j s p 图2 4m v c 控制模型 第一层使用浏览器,可充分发挥这一通用客户端具有巨大的用户安装数量的 优势。用一个h t m l 表单作为用户输入界面,而数据库查询结果用h t m l 页面返 回。采用h t m l 页面作为用户输入和数据显示的界面可降低对客

温馨提示

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

评论

0/150

提交评论