已阅读5页,还剩83页未读, 继续免费阅读
(计算机应用技术专业论文)基于xml和java技术的web服务模型及其实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于x ml和j a v a技术的we b服务模型及其实现 摘要 本文系统地分析了基于 x ml和 j a v a 技术的 w e b 服务模型及其实现机制, 以期解决当前创建应用程序的平台间有关数据格式和数据交换方面的诸多限制, 达到不论服务采用何种软件、使用何种硬件,都能跨越传统的界限以 w e b服务 的形式无缝地将它们集成在一起这一远景目标。 首先分析了w e b 服务的模型和技术规范,并对两种 w e b 服务的体系结构进 行了对比。 对x ml和j a v a 技术作了阐述, 论述了规范的x ml文档的结构和特 征,x ml文档的名称空间,d t d和x ml s c h e m a 的创建方法。对j a v a 的技术 特征、j a v a 的运行和开发环境及j a v a 的技术应用也作了阐述。 接着对实现 w e b 服务的核心协议 s o a p作了重点论述。s o a p可以简单地 理解为h t t p 十 x m l 十 r p c ,采用h t t p作为底层通信协议, r p c作为一致性的 调用途径,x ml作为数据传送的格式,允许服务提供者和服务客户经过防火墙 在i n t e rn e t 上进行通信交互。 最 后 结 合a p a c h e s o a p 给出了, je b 服 务的 实 现模 型。 具 体 地给出 了 编 写 w e b 服务 的 过 程, 包 括 服务 的 编 程、 服务 的 发 布 和 客 户 端 对服 务的 调 用。 以 旅 行 预订系统 w e b服务为例,分析了系统需求,提出了 系统总体框架和设计目 标, 对 源 代 码 和 使 用的 关 键 性 技 术也 作了 分 析, 给 出了 系 统 测 试结 果, 并 对系 统的 不 足和缺陷以及w e b 服务作了总结和展望。 关键词: l / , / j a v a 砂 / , we b 服务 产 洲 一2 s oap rp c r e s e a r c h o n we b s e r v i c e s mo d e l a n d i m p l e m e n t a t i o n ba s e d o n xml a n d j a v a abs tract t h i s p a p e r s y s t e m i c a l l y a n a l y s e s we b s e r v i c e s m o d e l a r c h i t e c t u r e a n d i m p l e m e n t a t i o n m e t h o d b a s e d o n x ml a n d j a v a t e c h n o l o g y , w h i c h a i m s t o s o l v e t h e p r o b l e m s o f v a r i o u s r e s t r i c t i o n s o f d a t a f o r m a t s a n d i n f o r m a t i o n e x c h a n g e a m o n g d i ff e r e n t a p p l i c a t i o n p l a t f o r m a t p r e s e n t . i n r e c o g n i t i o n o f t h e s e l i m i t a t i o n s , t h e re h a s b e e n a n o v e r w h e l m in g p u s h t o w a r d s s t a n d a r d s f o r d a t a f o r m a t s a n d f o r d a t a e x c h a n g e . t h i s p u s h s t e m s fr o m a v i s i o n t h a t i s r a p i d l y e v o l v in g i n t o a n e w c o m p u t i n g p a r a d i g m : t h e s e a m l e s s , we b - e n a b l e d i n t e g r a t i o n o f s e r v i c e s a c r o s s t r a d i t i o n a l h a r d w a re a n d s o f t w a re b a r r i e r s . t h e f i r s t p a r t o f t h e p a p e r a n a l y s e s we b s e r v i c e s m o d e l a r c h i t e c t u r e a n d t e c h n o l o g y s t a n d a r d , c o m p a r e s t w o we b s e r v i c e s m o d e l a r c h i t e c t u r e s b e t w e e n m i c r o s o ft .n e t a n d s u n o n e . t h i s p a rt a l s o b r i e fl y e l a b o r a t e s x ml a n d j a v a t e c h n o l o g y , i n c l u d in g s t r u c t u r e a n d c h a r a c t e r i s t i c o f w e l l - f o r m e d x ml d o c u m e n t s , c o n c e p t o f n a m e s p a c e , d o c u m e n t t y p e d e fi n i t i o n a n d x ml s c h e m a . a l s o w e e l a b o r a t e c h a r a c t e r i s t i c o f j a v a l a n g u a g e , i t s r un n i n g a n d d e v e l o p i n g e n v i r o n m e n t , a n d a p p l ic a t i o n s o f j a v a t e c h n o l o g y . t h e s e c o n d p a rt p l a c e s e m p h a s i s o n s o a p , a c r u c i a l p r o t o c o l f o r we b s e r v i c e s . f r o m o n e p e r s p e c t i v e , s o a p l o o k s l i k e a n o p e n p r o t o c o l s p e c i fi c a t i o n t h a t d e f in e s a u n i f o r m w a y o f p e r f o r m i n g r p c s u s i n g h t t p a s t h e u n d e r l y i n g c o m m u n i c a t i o n p r o t o c o l a n d x m l a s t h e d a t a s e r i a l i z a t i o n f o r m a t . t h e a u t h o r u s e s t h e e x p re s s i o n r p c i n a g e n e r a l i z e d s e n s e h e r e b e c a u s e s o a p h a s b e e n c o n c e iv e d w it h p l a t f o r m a n d e n v i r o n m e n t in d e p e n d e n c e i n m i n d s i n c e d a y o n e . i d e a l l y , e v e r y f u n c t i o n c a l l t h a t e n d s u p i n v o k i n g a re m o t e p i e c e o f c o d e t h r o u g h a n e t w o r k e n d p o i n t c a n b e e n c 叩s u l a t e d i n a s o a p c a l l . t h e l as t p a r t g i v e s a n e x a m p l e t o d e m o n s t r a t e we b s e r v i c e s i m p le m e n t a t i o n m e t h o d u s i n g a p a c h e s o a p . t h e p ro c e s s c a n b e b ro k e n d o w n i n t o t h r e e s t e p s : w r i t i n g a n r p c - b a s e d s o a p s e r v i c e , d e p l o y i n g o u r s e r v i ce t o t h e s o a p s e r v e r , a n d c a l l i n g t h e s e r v i c e m e t h o d t h r o u g h t h e c l i e n t 叩p l i c a t i o n . a s t h e e x a m p l e w i t h t h e t r a v e l i n g r e s e r v a t i o n s y s t e m w e b s e r v i ce, w e a n a l y z e s y s t e m a t i c d e m a n d , p r o p o s e s y s t e m o v e r a l l fr a m e a n d d e s i g n o b j e c t , a l s o w e a n a l y z e t h e s o u r c e c o d e o f p ro g r a m a n d k e y t e c h n o l o g y , a n d i l l u s t r a t e t h e s y s t e m a t i c t e s t re s u l t . f i n a l l y w e p u t f o r w a r d s o m e d e f e c t s i n s y s t e m a n d g i v e o u t p ro s p e c t s o f w e b s e r v i c e s . k e y w o r d s : xml j a v a we b s e r v i c e s s o ap r p c 独 创 性 声 明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得合肥工业大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示谢意。 学位论文作者签名: 签 字 日 期 二2 年 如t o-n 日 学位论文版权使用授权书 本学位论文作者完全了解 宣r e 1 : 业么生一 有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和 借阅. 本人授权 m e t可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文. ( 保密的学位论文在解密后适用本授权书) 、 论 文 作 者 签 名 : 瞥 伍 10 签 字 日 期 :7, w 3 年 夕 月 (o 日 导 , 名 : a -, v p 。 字 日 脚 a 学 位 论 文 作 者 毕 业 后 去 向 : 工 作 单 位 : 安 像淋o- 4 w 黄页( y e l l o w p a g e ) 包括了 基于标 准分 类法的 行 业类别; 绿页 ( g r e e n p a g e ) 包 括了 关于该 企 业所提供的w e b 服务的 技术信息,其形式是一些指向文件或是u r l的指针,而这些文件或 u r l是为 服务发现机制服务的。 所有的 u d d i 商业注册信息存储在 u d d i 商业注册中心里.现在可用的商 业 注 册中 心有 三 个: i b m提供的h t tp :/ / w w w - 3 .i b m .c o m / s e r v i c e s / u d d i币 r o t e c t/ r e g i s t ry .h t m l , 微软提供的h t t p :/ / u d d i .m i c r o s o ft . c o m / r e g i s t e r . a s p x 和a r i b a 提供的 h t t p :/ / u d d i .a r i b a .c o m / u d d i p r o c e s s o r .a w 。 任何企业都可以 到 其中的 任何一 个注 册 中心去免费注册企业的信息和提供的服务,注册后就可以把自己的企业信息发 布到全球所有的注册中心上。 u d d i 中定义了四种主要的数据类型, 即商业实体信息( b u s i n e s s e n t i ty结构) 、 商业服务信息( b u s i n e s s s e r v i c e 结构) 、 绑定模板信息( b i n d i n g t e m p l a t e 结构) 和技 术规范信息( t m o d e l 结构) 。 商业实体信息有三个属性: b u s i n e s s k e y , o p e r a t o r 和a u t h o r i z e d n a m e 。 它们 分别表示 b u s i n e s s e n t i t y的主键、实施注册的 u d d i 操作入口站点以及对该 b u s i n e s s e n t i t y 拥有 所有 权的 用户i d 。 一 般的, b u s i n e s s k e y 是 在注册后由u d d i 注册中 心自 动赋予,并在 b u s i n e s s e n t i t y整个生命周期中 有效。以 后仅能通过 a u t h o r i z e d n a m e指定的用户 i d在由 o p e r a t o r指定的操作入口站点上进行该 b u s i n e s s e n t i t y 的信息更新和对象删除, 任意其他i d不能操纵本对象, 同时也不 能在其他操作入口站点上对该实体对象的数据进行维护。 商业服务信息有两个属性:s e r v i c e k e y和 b u s i n e s s k e y 。它们分别表示 b u s i n e s s s e r v i c e 的主键和b u s i n e s s s e r v i c e 的父类容器b u s i n e s s e n t i t y 的主键标识。 一般的, s e r v i c e k e y 是在注册后由u d d i 注册中 心自 动赋予, 并 在b u s i n e s s s e r v i c e 整个生命周期中 有效。而b u s i n e s s k e y 的 值仅当b u s i n e s s s e r v i c e 的 父类容器发生 变化时才会被修改。 绑定模板信息有两个属性:b i n d i n g k e y和 s e r v i c e k e y 。它们分别表示 b i n d i n g t e m p l a t e 的主键和b i n d i n g t e m p l a t e 的父类容器b u s i n e s s s e r v i c e 的主键标 识。一般的,b i n d i n g k e y是在注册后由 u d d i注册中心自动赋予,并在 b i n d in g t e m p l a t e 整 个生 命周期中 有效。 而s e r v i c e k e y 的 值仅当b i n d i n g t e m p la t e 的父类容器发生变化时才会被修改。 技术规范 信息有 三个属性: t m o d e l k e y , o p e r a t o r 和a u t h o r iz e d n a m e 。 它们分 别表示 t mo d e l 的主键、 实施注册的u d d i 操作入口站点以及对该t mo d e l 拥有所 有权的用户 i d 。一般的, t m o d e l k e y是在注册后由u d d i 注册中心自 动赋予, 并在t mo d e l 整个生命周期中有效。 以后仅能通过a u t h o r i z e d n a m e 指定的用户i d 在由o p e r a t o r 指定的 操作入口 站点上进行该t m o d e l 的信息更新和对象删除, 任 意其他i d不能操纵本对象, 同时也不能在其他操作入口站点上对该实体对象的 数据进行维护。 i b m提供了一个u d d i 客户端a p i 的j a v a 实现, 即u d d 1 4 j 。 通过u d d i 4 j 提供的 a p i ,用户可以方便地编写查询和发布 u d d i 数据的应用。可以到以下 站点h t t p :/ / o s s . s o ft w a r e . i b m .c o m / d e v e l o p e r w o r k s / p r o j e c t s / u d d i 4 j 上获取其j a v a 类 库和源代码。所有的u d d i 操作实际上就是使用s o a p调用u d d i 注册中心的 w e b 服务,这些调用都是 s o a p r p c调用。 1 . 2 . 4 we b服务标准 ws f l 为了分散和简化应用逻辑,提高可重用性,一般单个 we b服务都不大可能 做得非常复杂,但是现实中的软件应用却都很复杂。w e b服务之间是松散祸合 的,软件应用的目的是帮助人们完成一项项预定义的工作,也就是将各类分散 的w e b 服务有效地组织成一个复杂的w e b 应用系统. 这需要预先定义好该应用 所要完成的工作流程,为此需要w e b 服务流语言ws f l的介入。 w e b 服务流语言w s f l ( w e b s e r v i c e f l o w l a n g u a g e ) 是i b m最近发布的一项 新的x ml语法,用来描述w e b 服务的工作流。w e b 服务的目的是使应用程序 能够在网络上进行无缝集成,而不必考虑它的编程语言和运行环境。we b服务 工作流的目的就是使商业流程和利用了大量we b 服务的交易生命周期能够进行 同样的无缝集成。we b 服务流语言ws f l用一个有向图模型来定义和执行商业 流程, 并定义了一个公共接口, 该接口允许商业流程把自己宣传成为we b 服务。 图1 .2 是一个简单的旅行预订的工作流模型3 1 图中每个方框代表一个活动,每一条带箭头的实线代表从一个活动到另一 个活动的控制流程,箭头指明流程进展的方向。那些连接各项活动的虚线表示 两个活动之间的信息流程。 圃客 旅游公司航空公司 tt*d5*w$e3zi7ljkis#ef$#!lm 3itaiktt*3kimmv*mia -zpaw ic#li7hi74y1rsc;9ihi#1l0 计划旅游 接 收 机 票 订 单 提文订单 预订座位 预订机票接受旅游线路信用 卡收费 接受机票 送山机票 生 颇游 瓣 返回旅游线路 l一1 一 一 一 一 一 一 一 一 一 一 一i 图1 . 2 旅行预订的工作流模型 ws f l实际上是一个能够跨越技术和商业的边界来对商业流程进行建模的 工具, 它使用人和机器都能理解的x ml语法. ws f l中的每个活动都对应于一 个 ws d l描述的we b服务,可以使用三种方法来定位一个活动对应的we b服 务:静态定位、本地定位和u d d i 定位。 静态定位就是提供一个u r l来指向该服务的ws d l文件。 本地定位提供服 务的不是采用w e b 接口 提供的w e b 服务, 而是和工作流引擎处于同一台机器中 的应用程序或j a v a 类。u d d i 定位通过定义一种选择策略,到u d d i 注册中心 去搜索符合条件的w e b 服务,可以选择是开发时搜索还是运行时搜索。 要实现真正可用的基于we b 服务的大型应用,一个可用的流程建模语言必 不可少,而ws f l 正是满足这一需求的技术规范。 1 .3 we b服务特征 自使用者的角度看,we b 服务是一种部署在we b 上的对象或组件。w e b 服 务具有以下特征3 完好的封装性:we b服务是一种部署在 we b上的对象,具备对象的良 好封装性,对使用者而言,仅能看到该对象提供的功能列表。 松散祸合:对于使用者而言,只要 we b服务的调用界面不变,we b服 务的内部实现的任何变更对他们来说都是透明的,甚至当 we b服务的 实现平台从j 2 e e迁移到了n e t , 用户都可以对此一无所知。对于松散 祸合而言, 尤其是在i n t e rn e t 环境下的w e b 服务而言, 需要有一种适合 i n t e r n e t 环境的消息交换协议。 而x mus o a p正是目前最为适合的消息 交换协议。 使用协议的规范性:首先,作为 we b服务,对象界面所提供的功能应 当使用标准的描述语言来描述( 如ws d l ) ,由 标准描述语言描述的服务 界面应当是能够被发现的, 因此这一描述文档需要被存储在私有的或公 共的注册库里面。 同时, 使用标准描述语言 描述的使用协议不仅仅是服 务界面,它将被延伸到we b 服务的聚合、跨we b服务的事务和工作流 等方面, 而这些又都需要服务质量的保障。 其次,由于安全机制对于松 散祸合的对象环境的重要性, 需要对诸如授权认证、 数据完整性、 签名 机制以及消息源认证等运用规范的手法来描述、传输和交换。 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议 作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异, 无论是c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ,公共对象 请求 代理体 系结构 ) 、 d c o m ( d i s t r i b u t e d c o m p o n e n t o b j e c t m o d e l ) 还是 e j b都可以通过这种标准的协议进行互操作, 实现了在当前环境下最高 的可集成性。 1 . 4 we b 服务分类 综合w e b 应用以及w e b 服务的 特点 w e b 服务实施的领域可以分为四类 1 ) b u s i n e s s - o r i e n t e d w e b s e r v i c e :该类服务针对的是那些面向企业应用的 服务, 包 括企业内 部的e r p ( e n t e r p r i s e r e s o u r c e s p l a n n in g ) 系统, 企 业间 的s c m ( s u p p ly c h a i n m a n a g e m e n t ) 系统和c r m ( c u s t o m e r r e l a t i o n s h i p m a n a g e m e 叫等系统。当这些系统以w e b 服务的形式在网 络( i n t e rn e t 和 i n t r a n e t ) 中出 现时,企业内 的应用集成将更加容易, 而在企业间的 众多 合作伙伴的系统对接也将不再是无法完成的任务。 目前现有的解决方案 和 产品的 提 供商 有b o w s t r e e t 和e p i c e n t r ic 等。 c o n s u m e r - o r i e n t e d w e b s e r v i c e :该类服务针对的是那些原先的b 2 c网 站的改造,为这些 b r o w s e r - o r i e n t e d的we b应用增加了we b 服务的应 用界面, 使得第三方的桌面工具或其自 身提供的增值的桌面工具能够利 用更优秀的用户界面提供跨越多个 b 2 c服务的桌面服务。比如可在个 人理财桌面系统中集成i n t e rn e t 上的股票价格查询w e b 服务、 机票预订 w e b 服务,使个人理财应用的自 动化程度更高。 d e v i c e - o r i e n t e d w e b s e r v i c e : 该 类服务的使用终端一般是手持设备和日 用家电, 对于前者而言, 可以在不用修改网络服务的体系结构的前提下, 令先前的网络服务支持除 p c以外的各种终端,比如 p a l m , p o c k e t p c 和手机等。如此,那些天气预报服务、e m a i l 服务和主动信息服务将更 为有效和便捷。而对于日用家电,则可能是一个市场的启动期,有了 we b 服务作为基础框架, 智能型的日用家电将真正获得标准的支持, 从 而有广泛使用的可能。 s y s t e m - o r ie n t e d w e b s e r v i c e : 传 统意 义上的 系 统服务, e 匕 如用户权限 认 证、系统监控等,如果被迁移到全球范围的 i n t e rne t 上,或者被迁移到 企业内部的i n t r a n e t 上,其作用范围将从单个系统或局域网络拓展到整 个企业网络或整个 i n t e rn e t 。如此,基于某一系统服务的应用程序将得 以在整个 i n t e rne t 环境中部署。 1 .5 we b 服务堆栈 w3 c的w e b 服务专题研讨会于2 0 0 1 年4月份提出了w e b 服务堆栈( w e b s e r v i c e s t a c k ) ,这定义了w e b 服务使用了哪些技术标准,如图1 . 3 所示3 1 l a y e re x a m p l e s e m c e n e g ot ia t io nt ra d in g p a r tn e r a g re e m e n t w o rk fl o w , d is c o ve ry , r e g is t rie su d d i , e wl re g is tri e : 旧 m w s f l , m s x l a n g s e rv ic e d e s c ri p tio n l a n g u a g e ws d l a n s c l m e s s a g in g s o a p lx m l p r ot o c o l t r a n s p o rt p r o t o c o ls甘 口 p 洲 t p s , f t p , s m t p b u s i n e s s is s u e s m a n a g e m e n t , o u a lily o f s e m c s , s e c u ri ty , o p e n s t a n d s 司 s 图1 .3 w e b 服务堆栈技术模型 首先,这些协议本身都是简单的,无论是h t t p , f t p等传统的t c p / i p系 统的网络协议,还是s o a p , ws d l , u d d i 和ws f l等基于x ml的协议,它 们设计原则中的一个最重要点就是力求简单性。 其次,一个可以使用的we b 服务应当按照需要选用若干层次的功能,而无 需所有的特性。比如,一个简单应用可能是要使用 ws d l / s o a p就可以架构一 个符合规范的w e b 服务了。 最后,所有的机制完全是基于现有的技术,并没有创造一个完全的新体系。 无论是 h t t p和 f t p这些现有的网络协议,还是 s o a p和 ws d l等这些基于 x ml 而定义的协议都继承原有的被广泛接受的技术, 这样才能使得w e b 服务被 广泛接受。 1 6w e b 服务体系结构对比 1 6 1s u no n e 丌发框架 s u n 为支持互操作智能w e b 服务,定义了一种开放式软件架构,称为s u n o p e nn e te n v i r o n m e n t ( 开放式网络环境,即s u no n e ) 软件体系结构。该体系结 构的宗旨是要保证使用任何工具开发智能w e b 服务,使之运行于任何平台,可 以无缝地实现互操作。从本质上讲,s u no n e 软件架构基于x m l 、j a v a 技术和 l d a p ( l i g h t w e i g h td i r e c t o r y a c c e s sp r o t o c 0 1 ) 。s u n 的技术原则是采用现行的通用 和流行技术,丽不是重新发明。 尽管可以使用任何编程语言开发w e b 服务,但s u no n e 软件架构基于j a v a 平台。j a v a 平台包括各种x m l 本身支持的a p i ,如图1 4 给出了j 2 e e 系统的 w e b 服务结构示意图1 5 。 图i 4j 2 e e 系统的w e b 服务结构示意图 w e b 服务系统给执行w e b 服务提供了一个运行对间环境,该运行环境能接 受s o a p 请求并把它们映射到对应的j a v a 组件,即在商业功能性中共享的j a v a 类或e j b ,从该商业过程中收集的所有结果被封装在s o a p 响应中,送回w e b 服务的客户机。w e b 服务器是从w 曲服务客户机发出s o a p 请求到服务提供者 收到这个请求的过程中主要的网关,w e b 服务器通过h t t p 协议进行通信,通 常在端口8 0 8 0 收听。w s d l 文件是存放在w e b 服务器上的。这样它给服务的 消费者提供了全球性的可访问机制。如果我们提供了一个在u d d i 注册表作为 u r l 引用的w s d l 文件的话,服务消费者就可以通过u r l 找到该w s d l ,以 确定该机构支持的服务和服务的终端。 w e b 服务客户机是w e b 服务的消费者。由于w e b 服务是不确定平台的,因 此目前的任何一种主流编程语言如j a v a 程序或c + + 程序写成的客户机都可以调 用w e b 服务。w e b 服务客户机首先查阅u d d i 信息,查找能提供它需要的w e b 服务的商业,从u d d i 信息中得到w s d lu r l 引用,并从公开访问的u r l 下 载w s d l 文档。得到了w s d l 文档,服务消费者就有了调用该w e b 服务所需 要的技术信息,如w e b 服务中的方法,该方法需要的参数、数据类型和终端信 息。w e b 服务客户机根据该信息编写s o a p 客户代码,以便调用该w e b 服务。 1 6 2m i c r o s o f t n e t 开发框架 回回回回口丽 ! 竺竺塑竺翌! ! 竺型塑| | | 刮 一dataand龇 | | | | | :base至cla至ss l i b r a r y ! 竺竺! ! ! 竺竺呈竺竺! 坚竺!l | :l 1 6 3s u no n e 和n e t 的战略对比 随着n e t 战略的提出,微软推出了c 撑语言,在企业市场方面已经推出了自 己的e n t e r p r i s es e r v e r 。s u no n e 是一个集成化产品服务包,包括j 2 e e 以及必 要的技术信息,如we b 服务中的方法,该方法需要的参数、数据类型和终端信 息。we b 服务客户机根据该信息编写s o a p客户代码,以便调用该we b 服务。 1 . 6 . 2 mi c r o s o f t . n e t开发框架 .n e t是微软以网络为中心的协同w e b 应用开发框架, 目 标是帮助开发者通 过 “ we b 服务”创建可以从任何类型的设备访问的协同应用。.n e t大量地运用 了x m l 技术, 并借助s o a p 协议( s i m p l e o b j e c t a c c e s s p r o t o c o l , 简单对象访问协 议) 将软件开发带入一个新的时代,即不再依赖于装配组件和对象,而是以重用 服务共同构成了 .n e t 平台的基础。n e t 体系结构可用图1 .5 描述a l vbne t da t a a n d xml b a s e c la s s l ib r a r y c o m m o n l a n g u a g e r u n t i m e ( c l r ) 图1 . 5 .n e t体系结构示意图 .n e t 体系结构示意图中的语言写成的程序都将被编译成一种二进制代码, 独立于硬件和操作系统。这种二进制代码的语言称为微软中间语言 m s i l ( m i c r o s o f t i n t e r m e d i a t e l a n g u a g e ) . m s i l代码在通用语言运行环境 c l r ( c o m m o n l a n g u a g e r u n t i m e ) 内 执行。 c l r和j a v a 虚拟机一样, 也是一个运 行时刻环境,它负责资源管理如内存分配和垃圾回收,并保证应用和底层操作 系统之间必要的分离。 w e b 服务、s o a p / x ml和c l r是.n e t技术的精髓。w e b 服务可以看做由 x m l 通过h t t p 协议来调度的远程过程调用r p c ( r e m o t e p r o c e d u r e c a l l ) 。 任何 语言、组件模型和操作系统都可以使用或提供 w e b服务。s o a p / x ml是 w e b 服务的生命线,它使用通用语言 x ml和协议 s o a p来描述数据的含义。c l r 是一个技术规范,无论程序使用什么语言编写,只要能编译成中间语言ms i l , 就可以在它的支持下运行。 1 . 6 .3 s u n o n e和. n e t的战略对比 随着.n e t 己的e n t e r p r i s e 战略的提出, s e r v e r . s u n 微软推出了c # 语言, 在企业市场方面己经推出了自 o n e是一个集成化产品服务包,包括j 2 e e以及必 不可少的i p l a n e t 软件环境, i p l a n e t 软件产品提供了用来支持开放智能we b 服务 的 基础设 施部件。 s u n o n e w e b t o p 开发者版由 一系列改编自 用于文字处理、 表 格处理和演示等工具的办公服务组成。s u n f o rt e 工具将帮助开发者来驱动开放 智能w e b 服务。从表面上看,s u n o n e和.n e t在思路和框架,乃至具体的产 品组成上都具有共同之处。比如说,s u n o n e和.n e t 都确立了软件变服务的商 业模式,强调对多种设备的支持和丰富的用户体验,着力解决服务的智能化以 及个性化问题,二者倚重的都是x ml等。s u n o n e和,n e t在体系结构上不存 在竞争,但二者用到了不同的方式和工具之后,客户面临的选择则是两者取其 一: j a v a 还是c # ; i p l a n e t s e r v e r s 还是e n t e r p r i s e s e r v i c e s ; o n e w e b t o p 还是 o fc e .n e t ; f o rt e 开发工具还是v i s u a l s t u d i o .n e t ?随着s u n o n e的发布, s u n 和微软的竞争再度激化。 两种架构对于创建分布式的、高效的和高可靠性的应用系统都有着足够的 能力,但我们可以将二者自以下角度来作个比较。对语言的支持:o n e提供的 开发语言是j a v a , .n e t平台提供了象c # , v b .n e t 和c o b o l等多种开发语言, 这些都可以 插入到v i s u a l s t u d i o .n e t的集成开发环境中,但多样性是双韧剑, 在一个软件项目中使用多种语言会使软件的维护成本大大提高;成熟性和易用 性:o n e是完全基于 j a v a 平台的,有许多优秀的j a v a 平台实现范例的支持, 它目前已相当成熟,而.n e t目前还处于测试阶段,在现实世界中利用它建立高 度分布式的和高性能的系统而言, .n e t 本身还不够成熟;业界的支持和平台独 立性: 建立o n e的j a v a 平台 是一个被广泛接受的标准,现在市场上有许多遵 从商业和开放源代码标准的we b 服务器和应用服务器可用, 而.n e t是一个有限 制的解决方案, .n e t到其它平台的接口是作为一个产品来销售的, o n e在业界 的支持和平台独立性方面要优于.n e t 。基于以上的比较,本文架构的w e b 服务 采用s u n o n e体系结构。 第 2 章 x ml技术 2 . 1 x ml概述 2 . 1 . 1 s g ml , h t ml和 x ml之间的关系 x m l ( e x t e n s i b l e m a r k u p l a n g u a g e ) 是由万维网联盟( w o r l d w i d e w e b c o n s o rt i u m , w3 c ) 定义的一种元标记语言, 是标准通用标记语言s g m l ( s t a n d a r d g e n e r i c m a r k u p l a n g u a g e ) 针对应用的一个子集。h t m l和 x ml都派生自 s g m l , 从技术上说, h t m l 仅仅是s g m l 用来描述w e b 页的一个应用。随着 i n t e rn e t 的发展, h t m l的问 题日 趋明显, 如标记数目的受限, 不同的浏览器处 理标记的 标准不同, 无国际性的h t m l 标准, 不能对数据的有效性进行确认等。 为此, w3 c建立了x m l 工作组( x wg ) 来创建x m l . 2 . 1 . 2 x ml的设计目 标 x m l 正式规范1 .0 中阐述了x m l的设计目 标6 1 . ( 1 ) x m l 应该可以 直接用于i n t e r n e t 。 现在i n t e r n e t e x p l o r e 5 . 0 为x ml 提供 了附加的支持, 允许w e b 开发者用x s l ( e x t e n s i b l e s t y l e s h e e t l a n g u a g e ) 样式语 言 表示x ml内容。 ( 2 ) x m l 应该支持大量不同的应用。 尽管x m l的主要目 的是通过服务器和 浏览器程序在 w e b 上传递信息,但x ml是一种元语言,实际上它是用来创建 语言的, 这些语言成为x m l 应用。 ( 3 ) x m l 文档的处理程序应该容易编写。 只有很容易编写出处理x m l 文档 的浏览器和其他程序,x ml 才会有实用性。 ( 4 ) x ml中的可选项应尽可能少, 理想状况下应为零。 可选特性越多, 语言 越复杂,使用越困难。 ( 5 ) x m l 文档应该清晰明了,可读性强, x m l 文档应易于创建。 ( 6 ) x ml 应易于设计, x ml 应该与 ( 7 ) x ml的设计应该正式而且简洁。 s g ml兼容。 x ml规范是用一种定义计算机语言的 正式语言编写的, 这种语言就是e b n f ( e x t e n d e d b a c k u s - n a u r f o r m ) 扩展巴 斯克 范式记法。 ( 8 ) x ml 标记 的简洁性是最后考虑的目 标。 2 . 1 . 3 x ml的应用 x ml的用途主要有两个, 一是作为元置标语言, 定义各种实例置标语言标 准;二是作为标准交换语言,担负起描述交换数据的作用。 x ml作为元置标语 言的应用可用来定义化学标记语言c m l ( c h e m i c a l m a r k u p l a n g u a g e ) , c m l 可 以 表示化学上复杂分子的结构; 可用来定义数学标记语言m a t h m l ( m a t h e m a t i c a l m a r k u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年美甲师(美甲创新)考试试卷(美甲创新理念与设计)附答案
- 2026年放射科影像诊断报告书写规范性与医师协作考核试题及答案解析
- 2026年康复科理疗操作规范考核试题及答案解析
- 2026年广东省南雄市《行测》考试模拟试卷附答案详解【黄金题型】
- 2026年山西省霍州市《行测》考试笔试题库往年题考附答案详解
- 2026年甘肃省合作市《行测》考试考前冲刺密卷(黄金题型)附答案详解
- 2026年湖北省石首市《行测》考试模拟试卷附参考答案详解【能力提升】
- 2025年吉林省集安市《行测》考试考前冲刺试卷附答案详解【研优卷】
- 2025年黑龙江省富锦市《行测》考试备考题库(达标题)附答案详解
- 2025年河北省任丘市《行测》考试模拟试卷(巩固)附答案详解
- 2026年安徽省中考数学试题(原卷版)
- 国家癌症中心2025年癌症统计报告
- 沪滇协作资金实施方案
- 钢筋混凝土盖板更换专项施工方案
- 东川区疾病预防控制中心公开招聘两名编外卫生监督协管人员参考题库附答案
- 医疗器械委托代理合同法律条款详解
- 乳酸溶液在土壤修复中的应用-洞察及研究
- 含能材料理化分析讲解
- 肺部穿刺后的术后护理
- 医学情景模拟教学课件
- 2025年四川省机关事业单位考调/选调工作人员考试(综合知识/综合应用能力测试)历年参考题库含答案详解(5套)
评论
0/150
提交评论