




已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)基于soap的中间件应用模式的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
曲北i :业人学硕十论文 摘要 本文研究了在i n t e r n e t 的环境下,把s o a p 技术同中间件技术结合起来,扩 展企业原有业务的应用范围的各种技术。它属于将传统的业务扩展到i n t e m e t 上同新的技术相结合的中问件。并在此基础上,设计并实现了应用于连机事务 处理系统和企业应用整合领域的中间件电子商务平台,该平台名为 c o r p c o n n e c t o r 系统。 c o r p c o r m e c t o r 使用j a v a 技术束实现,通过s o a p 协议接收束自i n t e r n e t 上用户x m l 格式的请求,将收到的x m l 信息进行格式转换。转换后的信息可 以被连机事务处理系统理解和接受。经过连机事务处理系统处理得到的应答也 要经过c o r p c o r m e c t o r 转换成请求用户可以理解的形式,然后进行反馈。基于这 样的功能,本文着重讨论了x m l 的格式转换、通讯连携、以及作为数据库中间 件事务性保证的实现。 最后探讨了如何将s o a ph e a d e r 进行扩展以实现身份认证等相关服务,并 讨论了将c o r p c o n n e c t o r 扩展为完全的w e bs e r v i c e 的优点及前景。 关键字 可扩展的标记语言( x m l ) 连机事务处理( o l t p ) 简单对象访问协议( s o a p ) w e bs e r v i c e s 婀北i :业人学硕士论文 a b s t r a c t i nt h i s a r t i c l e ,w ei n t r o d u c eat e c h n o l o g yc o m b i n i n gs o a p ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) w i t hm i d d l ew a r e s u c ht e c h n o l o g yi su s e dt oe x t e n dt h es c o p eo f c o m p a n y ss e r v i c et oi n t e r n e t w ed e s i g na n di m p l e m e n ts u c hs o f t w a r e ,w h i c hc a nb e u s e di no n l i n et r a n s a c t i o np r o c e s sa n dt h ee n t e r p r i s ea p p t i c a t i o n i n t e g r a t i o na r e a , c a l l e dc o r p c o n n e c t o r c o r p c o n n e c t o ri sa c c o m p l i s h e du s i n gj a v a c o r p c o n n e c t o rg e t st h er e q u e s t s f r o mi n t e m e tu s e r s w h i c ha r ex m l m e s s a g e so ns o a pp r o t o c 0 1 a n dt r a n s f e r s t h ef o r m a tt oa na p p r o p r i a t eo n ew h e n t h ea n s w e rc o m e s ,c o r p c o n n e c t o rt r a n s f e r s i tb a c kt ot h eu s e r - a c q u i r e df o r m a tb e f o r e i tf e e d si tb a c k s ow ef o c u so nt h e f u n c t i o n sa b o u tt r a n s l a t i o n o f x m l ,c o n n e c t i o n sb e t w e e ni t s e l fa n d s e r v e r , t r a n s a c t i o nc o n t r o lm o d u l e a tl a s t ,w ed i s c u s sh o w t oe x t e n tt h ef u n c t i o nu s i n gs o a ph e a d e r a n dt h e a d v a n t a g eo fu p d a t i n gc o r p c o n n e c t o rt oa b s o l u t ew e bs e r v i c e s k e y w o r d x m l ( x m l o r i e n t e dm i d d l e w a r e ) o l t p ( o n l i n et r a n s a c t i o np r o c e s s ) s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) w e bs e r v i c e s 3 断北业人学硕士论文 第一章引论 本章对网络服务出现的新特点做了简要介绍,提出了基于可扩展标记语言+ ( 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 ) 及s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 的网络服务中问件的产生背景和应用范畴。并基于这样的网络服务特点简要介 绍了我的研究课题。 1 1 网络服务模式及基于s o a p 的中间件 互联网的高速发展,在给人以丰富的信息资源的同时,也带来了巨大的商 机。在新一轮的热潮中,b u s i n e s s t o b u s i n e s s 电子商务脱颖而出,成为互联网 发展的主角。随着b 2 b 电子商务的不断发展,互联网为各种类型的商务活动提 供了新的客户、新的供需流、新的服务类型,使之有了空前的经济回报,体现 了其巨大的价值。各类企业与组织都已经或f 在将其业务移向互联网,期待着 电子商务为他们带来经济上的回报,真是所谓“要么电子商务,要么无商可务”。 目前,一些基础的服务项目,如在线拍卖、在线采购、电子化信息应用等,已 经出现并逐步成形,构成了b u s i n e s s t o b u s i n e s s 电子商务的一些基础构件。 尽管b 2 b 的电子商务在近年来有了飞速的发展,但有个主要的屏障阻碍了 电子商务向丌放的一体化的商贸体系发展。这个阻碍不仅仅是针对现在已有的 电子商务,也影响着那些现在还不属于数字经济的企业。因为目前大多数电子 商务的应用和w e b 服务在处理购买者、供应商、e m a r k e t p l a c e 、服务提供者之 问的联系方式上,各不相同。每个市场、商家或是服务提供者都以尽可能地满 足自己的需求为主要目的,得到各不相同的解决方法。结果则是诸多错综复杂 的解决方案、内容和架构,无法让全球的各种商务活动以最适宜的方式应用到 全球化、整体化的b 2 b 电子商务体系中去。 基于s o a p 的中间件的出现 在b 2 b 电子商务的发展过程中,许多公司和服务提供者作了许多的努力。 许多电子商务的基础功能建设工作,如在线拍卖、电予采购、信息发柿、电子 市场等,为b 2 b 电子商务的发展进行了很多探索与尝试工作。这些基础功能的 建设工作也取得了一定的成就,同时也使企业和服务提供者对电子商务有了更 为深刻的认识。电子商务实施的过程中,对于标准的确定,一直是最为关键的 两北j :业人学硕十论文 部分。在和商务相关的领域内,企业问很难达成一致的协议与标准,各种非技 术因素也导致了这方面工作的重重阻碍。直到x m l 的出现改变了这一状况。 1 9 9 8 年2 月由w 3 c 组织提出的x m l 在这方面使b 2 b 电子商务的发展向前跨 出了一大步,各企业与服务提供者也纷纷接受x m l 标准。一股x m l 应用热潮 正在展开,由此也拉丌了在各种b 2 b 电子商务领域的工业标准纷纷出现的序幕。 其后,一些计算机厂商合作勾画了s o a p 的框架,用以将w w w 上的远程调用 和简单信息传送标准化。s o a p 的出现,使得由于电子商务互用标准不同而产 生的代价丌始缩小。使用x m l 和s o a p 这样跨语言、跨平台的解决方案,将 为今后的电子商务带来更简单和高效的方法。 结合x m l 和s o a p 的众多优点,中间件得到了大量的应用,成为企业问 商务活动的桥梁。中阳j 件负责应用系统之间数据格式和服务流程的整合,以及 和应用服务器进行通信。使用中间件能够方便的使应用系统建立在多种软硬件 平台之上,还可以很好的支持分布式计算,实现对于后台数据库的访问以及交 易处理和安全管理等功能。中间件系统有标准的协议和接口,程序员通过调用 中间件提供的a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 实现异构环境的通信, 从而屏蔽异构系统中复杂的操作系统和网络协议。 1 2 研究课题 随着电子商务的不断发展,不同企业之间迫切需要建立种新的业务联系, 要求既能实现业务数据的动态利用,同时又要利于企业之间进行合作,还要把 现有业务与w w w 技术相结合,使业务可以方便的扩展到i n t e r n e t 领域。 本文的研究课题为:构建一个基于s o a p 的网络服务中间件,同时实现了 面向消息( m o m ) 和远程过程调用( r p c ) 服务。该中阳j 件名为c o c o n n e c t o r 。 它在应用的角度可以归为商务事件中间件一类。基于s o a p 指的是该系统同企 业及用户之问采用s o a p 协议通讯,处理符合x m l 标准格式的数据。经过功 能的扩充,该系统还可以用于应用服务器之间的直接连接,即a 2 a ( a p p l i c a t i o n t o a p p l i c a t i o n ) 的应用,在这个意义上说,该中间件也可以服务于e a i ( e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ,企业应用整合) 。 在c o r p c o n n e c t o r 和应用服务器之间使用了一种基于t c p i p 的高层协议进 行通信,本文中使用的协议为o l f t p ( o n l i n ef o u n d a t i o n t r a n s a c t i o np r o t o c 0 1 ) 协议。这样c o r p c o n n e c t o r 就可以服务于各种o l t p ( o n l i n et r a n s a c t i o n p r o c e s s i n gs y s t e m ,即连机事务处理) 系统,有效的屏蔽了异构系统之问的差异。 西北工业大学硕士论文 应用程序的开发者可以不用关心操作系统和硬件的技术细节,只要根掘o l f t p 协议规划和建立应用服务的i o ,就可以和c o r p c o r m e c t o r 进行有效的交互;而 如果将c o r p c o n n e c t o r 应用于其他o l t p 系统,仅仅更换它的通信模块就可以了, 这样就提供了最大的灵活性。上述通信形态如图1 1 所示。 图11 中问件和0 l t p 系统间的通信模式 本文的研究背景下,c o r p c o n n e c t o r 的主要功能就是对请求格式的转换,这 对于很多没有标准的商业领域来说是非常重要的。例如a 企业和b 企业对购买 某一商品的定单格式是不同的,他们都向c 企业发出购买请求,c 企业的服务 器就要能兼容这两种格式的定单,c o r p c o n n e c t o r 所做的主要工作就是进行这样 的格式整合。 c o r p c o n n e c t o r 负责处理用户的服务请求,然后和o l t p 应用服务器进行联 系,包括选择合适的服务器、通过中间件协议和应用服务器进行通信,最后将 结果数据返回给用户。另外,为了满足a 2 a 服务的要求,基于s o a p 的网络服 务中间件c o r p c o r m e c t o r 扩展了传统服务于o l t p 系统的中f - 日j 件的功能,可以实 现应用服务之间的直接连接,进行企业应用的交互访问。位于不同企业或同 企业不同部门的服务器a p _ 1 和a p _ 2 通过c o r p c o r m e c t o r 进行业务的自动交流。 基于s o a p 的网络服务中间件c o r p c o n n e c t o r 是种应由事务处理中间件、 通信处理中间件组成的事务处理平台。c o r p c o r m e c t o r 应用在o l t p 系统上,也 可以实现应用服务之间的直接连接。c o r p c o r m e c t o r 通过灵活的设计方法,完成 对o l t p 服务的访问支持,以及对a 2 a 服务的支持。 西北工业大学硕士论文 第二章项目概述 本章主要介绍了c o r p c o n n e c t o r 产生的应用背景,从传统o l t p 系统到x m l 及s o a p 技术同中间件的结合。同时介绍了c o r p c o n n e c t o r 几种应用模式,并对 c o r p c o n n e c t o r 的功能进行了简要介绍。 2 1 应用背景 o l t p ( o n l i n et r a n s a c t i o np r o c e s s i n gs y s t e m ) 即连机事务处理,是一类程 序,它们简化和管理面向事务的应用。在机构中输入和获取数据的事务、银行 现金的自动支付、铁路航空公司的订票系统等都是o l t p 的应用领域。o l t p 系 统接收从网络上传来的多个用户的请求,根据此请求查询或更新数据库中保存 的信息,并将结果实时返回。 传统的o l t p 系统使用客户服务器模型,客户机和服务器位于同个局域 网内:或者使用大型机- 终端模式。它们的共同点是系统的分布范围很小:依赖 中央主机的强大处理能力进行事务处理工作。传统的o l t p 系统构造如图2 i 所示。 l 竺竺l t p n m 。“1 o 陌1 一 图2 i 传统o l t p 系统的构造 在图2 1 中,o l t p 的使用者通过终端或客户机向o l t p 系统发送事务处理 请求,然后等待结果返回。t pm o n i t o r ( 即交易进程监视器) 是o l t p 系统的一 个重要组成部分,它负责业务a p p l i c a t i o n 的启动和调度管理,并负责接收客户 机或终端传来的业务请求,将它们分配给合适的a p p l i c a t i o n 进行处理。数据库 管理系统( d a t ab a s em a n a g e m e n ts y s t e m ,d b m s ) 位于o l t p 系统的后台,负 责数据的存储和检索等工作。 随着计算机技术,尤其是i n t e m e t 的发展,人们不再满足于上述的o l t p 处 理模式,而是希望能在i n t e m e t 的任何地方都能方便的访问o l t p 系统。借助 4 堕j ! 三些查兰堡主笙塞一 i n t e m e t 上的各种成熟的技术和协议( 如h t t p 协议) ,新的o l t p 访问模式被 建立起来,如图2 2 所示。 b 人一p 。c o r x , t p m o n i t o r 刳突夕 圈2 2i n t e r n e t 环境下o l t p 系统的构造 图2 2 中,位于c l i e n t 和t pm o n i t o r 之间的“r p co rm o m ”代表的是一类 中间件,它们建立在一种i n t e r n e t 服务器之上。通过标准的i n t e r a c t 协议及其服 务器( 如对应h t t p 协议的w w w 服务器) 的支持,它可以接收来自i n t e m e t 的o l t p 访问请求。c l i e n t 可以是大型机的终端,也可以是当前流行的装载了网 络软件的p c 或服务器,它们通过远程过程调用( r e m o t ep r o c e s sc a l l i n g ,r p c ) 或基于消息的中间件( m e s s a g eo r i e n t e dm i d d l e w a r e ,m o m ) 等方式访问o l t p 系统。这样无论用户处在什么地方,都可以通过i n t e r a c t 进行o l t p 事务访问。 而x m l 语言正是一种适合于网络传输的数据表示语言,在用户同中间件之 间起了至关重要的作用。它拥有如下特点,同时也是其设计目标: 1 x m l 应该可以直接在因特网( i n t e r n e t ) 上使用。 2 x m l 应该支持大量不同的应用。 3 x m l 应该与s g m l 兼容。 4 处理x m l 文件的程序应该容易编写。 5 x m l 中的可选项应无条件地保持最少 6 x m l 文件应该能够让人直接阅读,而且应该有足够的可读性。 7 x m l 的设计应快速完成。 8 x m l 的设计应该是形式化的,简洁的。 9 x m l 文件应易于创建。 这些特点也就决定了x m l 在异构系统间的信息互通方面有很大的优越性。 在不同企业之间,企业的不同部门之间都存在不同的系统。系统与系统之间不 同的平台、软件造成了信息流通的困难。有了x m l 之后,在异构系统之间可以 很方便的使用x m l 来做交流媒介,在x m l 里,可以自由定义标签,定义出来 5 硬北工业大学硕士论文 的标签可以充分表达文件的内容。x m l 只注重内容,对信息进行很好的层次描 述,对信息的表达清晰。x m l 用文本表示数据,方便传输。文本格式的数据最 适合在i n t e m e t 服务之间进行传输,而且可以最大程度利用现有的i n t e m e t 协议, 如h t t p 、s m t p 等。 使用x m l 来描述商务信息使得各种b 2 b 应用在数据层上获得了开放集成 的能力。然而从技术的角度来看,这仅仅完成了应用领域中最低层次的集成: 数据层集成。集成的双方必须就数据之外的系统细节达成一致,必须了解对方 的接受方式,网络协议,访问入口,安全性要求等,在模块层,应用层仍然停 留在一个不利于集成的阶段。 正是为了解决模块层能够以一种开放的,自说明的,统一的方式进行集成 和交互,i b m 、m i c r o s o f t 、d e v e l o p m e n t o r 等公司协作制订了s i m p l eo b j e c ta c c e s s p r o t o c o l ( s o a p ) 规范。s o a p 是在x m l 基础上定义的,完全继承了x m l 的开 放性和描述可扩展性。s o a p 使用现有基于t c p i p 的应用层协议h 1 v r p 、s m t p 、 p o p 3 等,可以获得与现有通信技术最大程度地兼容。s o a p 的消息路径机制和 可扩充的h e a d e r 和b o d y 机制又为分布式计算提供了很好的支持。 本文正是在这样的应用背景下,提出的基于s o a p 的中间件。完成了用户 同o l t p 服务器,或者应用服务器之间的直接连接,并对请求格式进行了转换。 2 , 2 应用模式 图2 3c o r p c o n n e c t o r 的应用环境 西北工业大学硕士论文 2 2 1 网络上应用服务器问的直接连接 c o r p c o n n e c t o r 作为传输x m l 数据的中间件,可以用来直接连接两个位于 网络上不同地点的服务器或应用程序( a p p l i c a t i o nt oa p p l i c a t i o n ) ,提供基于 s o a p 的分布式计算模式。c o r p c o r m e c t o r 可以提供x m l 数据不同格式间的转 换,这使得各个应用服务器可以方便的进行数据交流。各个企业或用户所认同 的x m l 文件格式很有可能是不同的,c o r p c o r m e c t o r 利用x m l 格式变换的灵 活性,可以方便的制作通用的格式定义,并且将不同用户的x m l 数据进行整合 和处理。典型的应用是x m l 电子文档的交换和网络打印等服务。 2 2 2 应用于o l t p 系统 c o r p c o r m e c t o r 可以作为传统的o l t p 服务系统和现代的i n t e m e t 访问方式 之间的结合点。传统的o l t p 一般是典型的客户服务器模式,由一个大型主机 和它所延伸出来的终端组成。c o r p c o n n e e t o r 的出现,可以便上述模式方便的进 行扩展,用户可以位于i n t e m e t 的任何地方,通过自己的终端软件( 如浏览器) 提交服务请求。更一般的情况是,位于另一部门的用户,通过自己的终端将请 求首先提交给本地服务器,通过本地服务器提交请求。c o r p c o r m e c t o r 提供通用 的会话式服务的支持,可以有效的进行会话的管理。 c o r p c o n n e c t o r 基于现成的网络技术和协议,对访问提供很高的安全性控 制,而且c o r p c o r m e c t o r 和后端的o l t p 系统之间通过基于t c p s p 的更高层协 议进行通信,这使得构建新的o l t p 服务更加容易,现有的o l t p 系统不需要 进行任何改造,即可应用于i n t e r a c t 环境下。 图2 4c o r p c o r m e c t o r 应用在o l t p 系统 2 2 3 作为基于x m l 数据库的访问中间件 c o r p c o n n e c t o r 可以作为基于x m l 数据库的访问中问件。目前基于x m l 的数据库有两种,x m l e n a b l e d 数据库和n a t i v e x m l 数据库。 西北工业大学硕士论文 x m l e n a b l e d 数据库的原形是目前广为使用的关系数据库,为了提供x m l 信息的存储和管理而做了相应的改进。用户以x m l 格式向数据库提交要存储的 数据,x m l e n a b l e d 数据库接到x m l 数据后,将x m l 信息分解到一个或多个 关系数据库的“表”中进行存储。当用户要提取数据时,数据库将存在“表” 中的信息再整合为x m l 信息,返回给用户。 n a t i v e x m l 数据库是完全基于x m l 信息存取的新式数据库。它可以直接 对x m l 格式的信息进行管理和操作,它还提供了套被称为“x m l 查询语言” 的工具,可以实现对数据库信息检索、增、删、改功能。 c o r p c o n n e c t o r 作为d a 中间件正处于研究阶段。对x m l e n a b l e d 数据库来 说,可以使用c o r p c o n n e c t o r 预先将信息转换为数据库可以方便处理的通用的 ( c o m m o n ) x m l 格式。对n a t i v e x m l 数据库来说,c o r p c o n n e c t o r 同样可以 被用来进行数据的预处理,还可以将用户的数据查询请求用配信的方式发送给 基于x m l 的d b m s 。 另外,c o r p c o n n e c t o r 可以对查询请求进行必要的规范化处理,使请求能被 最有效的执行。上述应用概要如图2 5 所示。 2 2 4 应用于o l a p 系统 从海量的o l t p 数据中得到有效的信息,就需要联机分析处理( o l a p o n l i n ea n a l y s i sa n dp r o c e s s ) 技术。o l a p 是一项给数据分析人员以灵活、可用 和及时的方式构造、处理和表示综合数据的技术。o l a p 服务器允许用户在大 量的数据上完成复杂的数据分析,为企业提供从综合报告、数据分析到数据建 模、决策支持的解决方案。 如图2 6 所示,c o r p c o n n e c t o r 利用x m l 的基于信息内容的特性,可以更 好的描述分析请求。并且利用消息的缓冲机制,在合适的时机提交分析请求, 然后将结果返回给客户主机。或者c o r p c o r m e c t o r 利用自己的配信功能将结果送 西北工业大学硕士论文 给其他的o l a p 系统,实现多个系统之间的互操作,完成更为复杂的分析请求a 图2 6c o r p c o n n e c t o r 应用在o l a p 系统 本文研究了c o r p c o n n e c t o r 的第一、二种应用模式,并设计实现了其相应的 功能模块。对第三种应用模式进行了探讨和研究,以备进行功能的扩展及实现。 2 3 功能概要 c o r p c o n n e c t o r 是用于b 2 b 领域的访问中间件。它主要用来连接不同的b 2 b 服务器系统,并以x m l 格式在它们之间进行数据交流。它借助x m l 的可扩展 性和灵活性,可以消除个不同系统间数据表示的差异。此系统可以基于任何的 i n t e r n e t 协议进行数据的传输,如h t t p 、s m t p 或i b mm q 等。目前开发 的版本是基于h t t p 协议的,它建筑在w w w 服务器之上,使用s e r v l e t 作 为h t t p 协议的连接点。 基于s o a p 的服务访问中间件c o r p c o n n e c t o r 的主要研究和设计目标描述如 下: 1 具有x m l 信息的传输和处理功能( h t t p 数据包的发送和接收) 。 2 要能和现存服务系统之间进行输入输出( i o ) 数据整合( c o r p c o n n e c t o r 不提供不同作业流程之间的整合) 。 3 提供o l t p 服务的会话( s e s s i o n ) 管理功能。 4 c o r p c o n n e c t o r 和应用服务系统之间的通信功能( 提供高层协议适配 器) 。 5 提供多个服务系统之间的合作支持,实现服务的分布式处理。 以下是c o r p c o n n e c t o r 的构成示意图 - 9 堕! ! 三些奎堂堡主堡壅 _ ,一 一 ( 1 ) x m l 连携处理模块。 该模块完成x m l 和o l t p 服务器或其它s e r v e r 电文之间的转换等功能。 包括s e s s i o n 的管理、上,下行数据的变换,以及a c c e s s 的控制。 ( 2 ) o l f 通信模块。 该模块完成c o r p c o r m e c t o r 和o l t p 系统或应用a p 之间连接的建立和管理 等工作,它和x m l 连携处理模块之间的信息交流格式是o l t p 服务器可理解的 电文。该模块可以处理三种模式的服务请求,即一问一答、配信、会话和异步 m s g 。 ( 3 ) o l t p 服务器定义文件。 该文件描述了o l t p 服务器信息。包括服务器名、p o r t 号、使用的协议等 内容。 ( 4 ) 下行编辑指示文件。 当x m l 连携处理模块收到通信模块反馈的o l t p 服务器可处理的电文后, 用该文件包含的指示信息进行电文解析( 下行编辑) 。 ( 5 ) 上行编辑指示文件。 工作流程和下行编辑指示文件相反。当x m l 信息经过解析后,用该文件包 西北工业大学硕士论文 含的指示信息将信息组装为o l t p 服务器可处理的电文,并上传给通信模块。 ( 6 ) t r a c e 文件。 记录系统运行时的工作状态信息。 ( 7 ) s m f 文件。 记录系统运行时的资源利用状况和其他重要信息。 ( 8 ) a c c e s s 情报定义文件。 包含用户访问控制信息。 c o r p c o n n e c t o r 通过j a v as e r v l e t 和r p c 分别实现了s o a p 协议,从而接受 来自i n t e m e t 上的请求。以x m l 格式的数据作为信息交流的媒介,对x m l 进 行格式转换,完成了对业务的企业应用范围扩展。 堕! ! 三些奎兰堡圭笙茎 第三章关键技术研究 3 1x 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 ) 有两个先驱s g m l 和h t m l ,这两 个语言都是非常成功的置标语言,但是他们都在某些方面存在着与生俱来的缺 陷。x m l 正是为了解决它们的不足而诞生的。 s g m l 的全称是标准通用化置标语言,它从8 0 年代初开始使用。正如x m l 一样,s g m l 也可用于御建成千上万的置标语言,它为语法置标提供了异常强 大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前, s g m l 多用于科技文献和政府办公文件中。但是,s g m l 非常之复杂,其复杂 程度对于网络上的日常应用简直不可思议。不仅如此,s g m l 非常昂贵。还有 最关键的一点,几个主要的浏览器厂商都明确拒绝支持s g m l ,这无疑是s g m l 在网上传播遇到的最大障碍。 相反,h t m l 免费、简单,而且它获得了广泛的支持。h t m l 最初于1 9 9 0 年由c e r n 设计,它是一个非常简单的s g m l 语言,可以方便普通人的使用。 而正如设计之初所构想的那样,h t m l 现在在世界范围内得到了广泛的应用。 不幸的是,h t m l 有许多致命的弱点。 正因为如此,1 9 9 6 年人们开始致力于描述一个置标语言,它既具有s g m l 的强大功能和可扩展性,同时又具有h t m l 的简单性。这以后,x m l 不断发 展演化,并且从c m l 和m a t h m l 中汲取了大量的经验。1 9 9 7 年春天,可扩展 链接语言x l l 草案已被拟定,到了1 9 9 7 年夏天,微软也开始了关于通道描述 格式c d f ( c h a n n e ld e f i n i t i o nf o r m a t ) 的定义工作,这应该算是x m l 的第一个 真正的应用。最后,x m l 于1 9 9 8 年修成正果。w 3 c 于1 9 9 8 年2 月批准了x m l 的1 o 版本,一个崭新而大有前途的语言诞生了。 x m l 描述了一类称为x m l 文件的数据对象,同时也部分地描述了处理这 些数据对象的计算机程序的动作,例如在x m l 文件中要指定文件的码制 ( e n c o d i n g ) ,是g b 或者是u n i c o d c 等等,处理程序就可以据此做相应的解码 和解读工作。c o r p c o r m e c t o r 的输x 输出数据都是x m l 格式的,x m l 技术是 本文研究的c o r p c o n n e c t o r 基本技术和出发点。 西北工业大学硕士论文 - _ _ _ _ 一一 x m l 文件由称为实体的存储单元组成,实体数据由字符组成,其中一些字 符组成字符数据,另一些字符组成标记。标记中包含了对文件存储格式( s t o r a g e l a y o u t ) 和逻辑结构的描述,x m l 的优越性大致有以下的几个方面 1 x m l 使自定义标记语言( m a r kl a n g u a g e ) 成为可能。每个行业、每个部 门,甚至每个人都可以定义自己的标记语言,而且不需要任何组织或部门的批 准。 2 x m l 可以对信息进行很好的层次描述。它基于信息内容的描述,对信息 的表达清晰。x m l 有一点象早期的层次数据库,但是在应用理论和方法上有了 很大的改进和不同。 3 x m l 的模块化特点使定义的标记语言可大可小,有很好的扩张性,这一 点是通过指定“名称空间”的方法实现的。所谓名称空间,就是为了防止不同 组织定义的x m l 标记互相冲突而引入的一种方法。在同一个名称空间内,标记 是唯一的:不同名称空间的标记如果相同,则使用在标记前加名称空间的方法 加以区别,即“名称空间标记”。 4 x m l 用文本表示数据,方便在i n t e m e t 上的传输。这一点使x m l 数据可 以方便的利用现有的i n t e m e t 上基于文本的各种传输协议,如s m t p 、h t t p 等。 应用服务之间的通信使用x m l 格式的数据是最理想的,它可以方便的被应 用程序所理解。 3 2s a x 和d o m s a x s i m p l e a p if o rx m l ,是一种基于事件模型解析x m l 语言的a p i 标 准接口,用户可以直接使用它来制作自己的解析器。x m l 文件中的每一个字符 ( 包括空白字符) ,在s a x 中都是个事件。用s a x 解析x m l 文件的过程, 就是处理各种事件的过程。 d o m - - d o c u m e n to b j e c tm o d e l ,是一种基于对象结构解析x m l 语言的a p i 标准接口,用户可以直接使用它来制作自己的解析器。x m l 文件中的每一个元 素就是一个d o m 对象。用d o m 解析x m l 的过程,就是将x m l 文件构建成 一个树结构的一系列对象。 d o m 和s a x 都是对x m l 文件进行处理的技术。d o m 技术是用一种树状 结构存储x m l 文档。整个树状结构以d o c u m e n t 对象为根,其余所属元素及 西北工业大学硕士论文 _ _ _ _ _ _ - _ _ _ _ _ _ _ _ h - ,_ _ _ _ - 一一 一个t ,基于事件的a p i ”将把这个结构分解为以下一系列线性的事件: s t a r td o c u m e n t s t a r te l e m e n t :d o e s t a r te l e m e n t :p a r a c h a r a c t e r s :h e l l o ,w o r l d ! e n d e l e m e n t :p a r a 。 e n de l e m e n t :d o c e n dd o c u m e n t 一个应用可以象处理一个图形用户界面一样处理以上的这些“事件”,而不 需要将整个文件放到内存中。s a x 是一种基于事件的模型。s a x 事件由解析器 在进入或离开文档、元素、属性、子树时产生。该模型可在不关注文档完整结 构的情况下测定其特征或取得相关数据。s a x 是基于事件驱动的,按照连续的 方式操作x m l 文档,s a x 对d o m 而言在许多方面提供了一种优秀的可选择 的方案。 当文档很大时,s a x 相比d o m 最大的优势在于操作x m l 文档时s a x 耗用的内存远远小于d o m 。对s a x 而言,内存消耗并不随着文档的增大而 增加。s a x 最好的方面之一是它提供了在任何时刻中断处理过程的能力。当只 需要数据中的某一部分时,s a x 提供了一个很好的应用解决方案。 在c o r p c o n n e c t o r 的设计和实现中选择使用s a x 。因为一般的用户发送来 的商务处理请求都很大,使用s a x 可以更快更好的进行x m l 信息处理。目前 有很多s a xx m l 解析器( p a r s e r ) 的免费版本,c o r p c o n n e c t o r 选择使用的是 a e l f r e d 的产品。a e l f r e d 使用j a v a 编写,有很好的性能和速度。 3 3 x m l 在c o r p c o n n e c t o r 中的应用 c o r p c o n n e c t o r 正是基于x m l 数据格式的中间件。它接收的“请求”,实 际上是来自某个企业应用服务器的x m l 信息。c o r p c o r m e c t o r 所面向的服务对 象不是使用一般的浏览器的用户,而是企业级的商务用户。借助x m l 的强大功 能,c o r p c o n n e c t o r 可以轻松的实现各种功能。c o r p c o n n e c t o r 基于x m l 的最大 目的是要利用x m l 数据格式的易转换性。因为来自网络的“请求”格式很可能 西北工业大学硕士论文 是不相同的,如图3 1 所示。 图31c o r p c o n n e c t o r 处理x m l 格式的信息 c o r p c o n n e c t o r 有相应的格式转换文件( 即x s l 文件,x s l 是一种样规语 言,它的作用是对x m l 格式的信息进行转换,如将x m l 文件转换为h t m l 文件以便浏览器进行阅读等) 处理这种格式的差异,这就要求每一种服务都要 预先进行注册,并提供相应的数据格式说明。 c o r p c o n n e c t o r 采用x s l t ( e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f e r ) 做为 x m l 数据转换的工具。s x l t 就是x s l 的转换引擎。选择x s l t 的原因在于, x s l t 有很多优秀的自由软件版本,它们一般采用j a v a 编写,可以直接使用。 另外,x s l t 的功能可以满足c o r p c o n n e c t o r 的要求。 3 4 s o a p 技术概览 自x m l 技术被引入到b 2 b 电子商务应用中去,人们发现在b 2 b 电子商务 应用环境中,x m l 的确是一个非常优秀而且极为适合的技术。x m l 作为基于 i m e m e t 环境多点数据交换的最佳技术完全适合在b 2 b 电子商务环境中的多个 企业应用之间交换各类商务信息。b 2 b 电子商务说到底就是要让企业间的商务 消息能够广泛地交换,能够在一系列的企业应用中流转,而实现完整的b 2 b 电 子信息流,以极大可能地减少人工干预,提高商务运转的效率,获得更多的商 务机会。 为了实现这一目的,各个b 2 bs o l u t i o n s o f t w a r e 的提供商,如 - 1 6 - 西北工业大学硕士论文 c o m m e r c e o n e 、a r i b a 等分别制订了用于b 2 b 应用之间交换商务消息的x m l 格 式( x m la p p l i c a t i o m ,它们包括c o m m e r c e o n e 的x c b l ( x m lc o m m o n b u s i n e s s l i b r a r y ) 、a r i b a 的c x m l ( c o m m e r c ex m l ) 、m i c r o s o r 的b i z t a l k 等,这些交换 格式已经在众多的b 2 b 应用中使用。在2 0 0 0 年。联合国的u n c e f a c t 与o a s i s 联手开始制定全球电子商务的信息交换格式e b x m l ,完全确立了x m l 作为商 务应用中信息交换的标准技术的地位。使用x m l 来描述商务信息使得各种b 2 b 应用在数据层上获得了开放集成的能力。然而从技术的角度来看,这仅仅完成 了应用领域中最低层次的集成:数据层集成。集成的双方必须就数据之外的系 统细节达成一致,必须了解对方的接受方式,网络协议访问入口,安全性要 求等,在模块层,应用层仍然停留在一个不利于集成的阶段。 正是为了解决模块层能够以一种开放的,自说明的,统一的方式进行集成 和交互,i b m 、m i c m s o r 、d e v e l o p m e n t o r 等公司协作制订了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 ( s o a p ) 规范。s o a p 是在x m l 基础上定义的,完全继承了x m l 的开 放性和描述可扩展性。s o a p 使用现有基于t c p i p 的应用层协议h t t p 、s m t p 、 p o p 3 等,可以获得与现有通信技术最大程度地兼容。s o a p 的消息路径机制和 可扩充的h e a d e r 和b o d y 机制又为分布式计算提供了很好的支持。 s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化的和类 型化的信息提供了一个简单的轻量级机制。s o a p 本身并不定义任何应用语义, 如编程模型或特定语义实现,它只是定义了一种简单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物业管理师面试高频问题精解
- 2025年财务会计专员中级求职面试技巧与常见问题解析
- 2025年汽车维修技术员岗位技能测评试卷及答案解析
- 机票知识培训
- 2025年模特经纪人执业资格考试试题及答案解析
- 2025年家庭服务师初级笔试备考模拟题集
- 2025年交通规划师专业能力评估试题及答案解析
- 2025年建筑材料化验员职业资格考试试题及答案解析
- 2025年机动车驾驶教练员专业资格考试试题及答案解析
- 2025年环境保护监测员资格考试试题及答案解析
- 二年级上册语文课内阅读理解每日一练(含答案)
- 苏式彩画古建181班授课郭佩锦37课件讲解
- 2025-2030年中国功率器件市场发展趋势规划研究报告
- 基层管理培训课程
- 宇宙飞船的发射与回收技术分析
- 2025农村租地合同农村租地合同范本
- 2024考研 政治 思维导图(马原)
- 物业小区安全生产管理制度
- 高血压性脑出血中国多学科诊治指南2020
- 心肺复苏术课件2024新版
- 孕产妇危重症评审实施方案解读课件
评论
0/150
提交评论