| |
 |
近期热点 |
|
|
 |
相关文章 |
|
|  | 相关博客 |
| |
 |
相关新闻 |
|
|
 |
相关热贴 |
|
|
 |
相关商城商品 |
|
|
|
| |
|
|
| 当前位置:基础信息化 -> IT体系架构 |
| |
| | XML特性面面观 | | 发表时间:2006-2-10 Kelli Wiseth 来源:Oracle | | 关键字:SOA Oracle XML | | | 本文对XML(可扩展的标记语言)技术进行了介绍和分析。 |
| | 揭开当今几乎任何应用软件的面纱,你可能都会发现在其中工作的XML技术的特点。 在XML(可扩展的标记语言,Extensible Markup Language)出现以前,企业如果想要将系统或数据进行整合,则只有很少的几种方案可供选择。企业可能实施网关来支持不同系统之间的交互。企业也许会创建中央数据或者消息中心,在该中心中所有的通讯被转换成一种对所有的合作方都合适的语言。或者,还可能会将这两种方法适当地组合起来使用。 问题在于:所有的这些方法都可能有一个关键词叫做"所有权"--它总是隐藏在这些方法的核心部分的某处,将大量的公司、贸易伙伴或者技术混合在一起只会增加复杂性和费用。至于试图整合系统或者数据,那么肯定不是"越多越好",因此利用互联网的全部潜力看起来更加变得遥不可及。关于多种集成的体系结构图解看起来很像杰克逊·波洛克(著名抽象派画家)的绘画作品。 然而,在XML出现之后,很多事情似乎都成了可能--甚至那些在XML规范出现之前让人想都不敢想的事情。根据Susan Feldman(IDC的内容技术研究部副总裁)的观点,从根本上说,通过提供一些规则用于创建基于标准的各种不同系统间通信用的混合语言,XML可以满足信息基础设施中的多种需要。比如说,某人只会说一种语言--法语或者班图语--那么,他将只能与跟他会同一种语言的人进行交流,Feldman说:"一旦掌握了这些人群都能明白的一种语言,那么就可以跟属于不同文化的其他人进行交流了。这就是XML给应用程序所带来的真正意义……如果所有的程序都可以读入和发送XML文档,那么他们之间就可以相互通信了。" XML不只是可以促进通信,而且还可以:使整个行业具有打造供应链的各个环节、促进信息交换以及集成流程和数据的能力。 允许客户访问银行账户、订购新服务、查询驾驶指示信息以及获取各种类型的其他信息。递送给设备的内容,其丰富的程序、格式及数量根据目标设备的带宽和显示能力的不同(家庭的宽带网与旅途中旅店里面的拨号网络的内容不同;与无线PDA和手机的内容也不同,等等。)而可能不同。 为新技术和协议提供了基础。这些新的技术和协议包括:构建在使用人可读及机器可读文本创建的开放式标准语言基础上的Web服务、业务流程管理、企业应用集成、B2B交互服务以及应用程序对应用程序的交互服务。其中,Web服务作为有效负载被嵌在SOAP包中,用于使用基于XML的Web服务描述语言(也就是WSDL)等来描述Web服务的功能。 为全Oracle技术堆栈共享的消息和事件建立基础,使Oracle数据库、Oracle应用程序服务器、Oracle协作套件以及Oracle电子商务套件应用程序能够不仅与Oracle技术而且也与其他系统(诸如SAP、Weblogic等等)的组件透明地集成。 被用于创建行业特定的惯用语,以便能创建支持系统间交互的消息。 支持发布系统或者内容管理系统,提供便于创建、存储、管理、获取、查询、导入、导出和重组内容的手段,这些内容,比方说,可以构成书、杂志、合法出版物和技术手册。 任何一个应用程序,如果它需要与其他应用程序传输信息、内容或者数据,或者想与其他应用程序在处理进程中进行交互,那么很可能它就是使用基于XML的技术来完成。所有这些应用方案越来越多,这部分地是由于XML的主要特性--可扩展性。 用于支持可扩展性 XML是一种自描述数据格式。"自描述"的意思是说说明内容的元数据与内容本身来一起存在。也就是说,XML文档(或者包含XML标记的文件),在其文件内部包含着传达给接受者(人或者机器)关于如何解释被标记的内容和XML结构的信息。 XML出现于上世纪90年代后期,是为了满足扩展超文本语言(HTML)的需要。跟HTML一样,XML也是源自于SGML(标准通用标记语言)。SGML从1986年起就已经成为ISO标准,被广泛应用于出版行业。诸如出版社、政府机构和军火承包商之类,早就开始使用基于SGML的系统来管理其大容量文档(比如一本喷气式客机的修理手册,其内容要详细到每个螺母和螺栓)和构造文档,以确保其中包含了所有必要的内容--Gartner公司的分析师Rita Knox解释说。 HTML提供用于在浏览器中显示页面的非常严谨的一套标记,"XML与此不同,它只提供基础字符",Knox说,"通过这些字符可以创建新的标记语言。" XML可以被看作是"元标记语言,""因为它使用户能够定义他们自己的标记语言来描述数据和将其封装成XML文件。"Oracle集团产品经理和XML倡导者Mark Scardina补充说。使用以XML建议(或者XML Schema建议)描述的规则和约定,任何人都可以自主创建自己的XML语言、定义结构、创建规则和约定,利用它们来标记用于传输、显示或者提交到其他系统的文档。XML被用来创建新的语言,用于健康、金融、保险、税务、政府以及所有其他的行业来完成各种任务。如以下一些例子: 地理标记语言:基于XML的编码标准,用于传输和储存地理信息,诸如一些地理外貌的几何形状和属性。 可扩展的矢量图(SVG):经W3C(www.w3.org/TR/SVG/)批准的一种XML语言,用于以XML来描述二维图形,特别是矢量图形,诸如由直线和曲线构成的路径、图像和文字。(papiNet):基于XML的处理标准,用于纸张和林木供应链。 除了作为新语言的基础之外,XML也是发展Web服务应用程序开发和部署模型的基础。 用于提供Web服务 Web服务开始是基于对可互操作性和分布式计算的远见而开发出来的。而上述计算模式自从"DCE"、"CORBA"和"DCOM"第一次问世开始(也就是说,从上世纪80年代后期开始),就一直困惑这这个行业。这种远见能够成为现实很大程度上要归功于一套XML规范的发展--如XSLT、XML名称空间和XML Schema,它们提供了实现各种不同平台、操作系统和编程语言之间互操作所需的与平台和编程语言无关的数据和通讯机制。这些机制包括如下核心Web服务协议: 简单对象访问协议(SOAP),这是一个基于XML的协议,它使用标准字符编码(也就是说,它可以在任何平台上进行处理)。简单地说,SOAP在各个Web服务之间运载基于XML的消息(信息和指令)。 Web服务描述语言(WSDL),是XML词汇表,用于描述Web服务及其特定的功能。 通用描述发现和集成(UDDI)为目录(注册)定义基于XML的规则,在该目录中可以放置Web服务和公司可以在其中宣传他们的各种Web服务。 那么,讲了这么多,到底什么是Web服务呢?根据W3C的Web服务体系结构设计文档草案,"Web服务是一个软件系统,用于通过网络来支持可互操作的机器之间的交互。它具有以机器可处理的格式(特别是WSDL)描述的接口。其他系统利用SOAP消息,以一种由Web服务自身的描述所规定的方式,与该Web服务进行交互,而SOAP消息通常利用HTTP和XML串行化并结合其他与Web相关的标准来传递。"(请访问www.w3.org/TR/2003/WD-ws-arch-20030808/。) 在简单的情况下,一个有用的Web服务的例子如下所示:开发人员使用XML语言和自己选择的工具(C,C++,C#或者运行在J2EE应用服务器上的Java)创建信用卡验证服务。使用WSDL表达该服务的描述以及如何与其通信--该服务可接受的输入和输出,所使用的格式和结构。WSDL是开发人员用来描述他们所创建的Web服务的XML词汇表。关于Web服务、其主机的位置以及到哪里获取WSDL的信息,都发布在UDDI注册表中。 然而,基础Web服务协议(SOAP,WSDL,UDDI和XML)只刚刚是一个开端。Web服务技术的发展方向是使之能够在更高层次、更大粒度上,也就是说,在商务流程层次上,跨多种业务甚至跨多个行业实现互操作性。XML直接地或者间接地是大多数这些首创协议的核心。比如说,新近出现的依赖于WSDL和WSDL的扩展的商务流程执行语言(BPEL,Business Process Execution Language),就是新出现的众多标准之一,用于处理长时间的运行分布式商业流程(而不是简单分布式数据)。Web服务事务、Web服务编排设计和其他基于XML的规范和协议方面的进一步发展最终将会导致企业级应用集成和商业流程方案的出现,从而缩短供应链、节约时间、有效利用现有投资,并且能够达到各企业之间更加流畅、更加高效的交互。 用于扩展应用程序领域 Oracle以各种方式在其整个产品线中利用XML技术的优势。这意味着,例如从网上发送的采购订单,通过Oracle应用服务器(用XML来处理消息,使用集成组件),能够被各Oracle 电子商务应用程序所用,反之亦然。 在另一个层次上,Oracle产品的安装或者配置的有关信息也都是使用XML。比如说,Oracle Jdeveloper 10g及其新的应用开发框架(ADF)从本质上适合大多数用户界面组件,并且对应于所需的应用技术,在菜单上有相应的技术选项。这里部分是因为在配置Oracle ADF框架层次的时候,就使用了XML元数据,以便,比如说在必要时,创建用于所开发程序的声明选项,从而适应定制编程的需要。 Oracle在全产品系列中使用XML,还意味着Oracle的产品可以很容易地与其他非基于Oracle的系统集成或者被这些系统使用。比如说,Oracle电子商务套件应用程序使用XML在各个模块之间进行消息交换。由于Oracle XML网关支持所有基于文档类型定义(document type definitions,DTD)的各种XML标准,所以Oracle电子商务应用程序可以与支持任何已发布的DTD的外部系统集成(这些DTD来自于各种标准机构,包括OAG, RosettaNet和 iFX)。另外一个例子就是Oracle Calendar,它是Oracle协作套件的一个组件,它依靠XML和Web服务,使应用程序能够通过普通的XML查询来检索日程安排数据,以便显示在任何门户、客户端应用程序上或者后台服务器上。 不仅仅Oracle,所有其他的企业都在以各种方式--从在用户表示层中简单地加入XML技术,到开发用于各种商务流程和供应链集成的先进业务平台--利用XML的优势。 比如说,巴西的一个电子市场正在采用一种技术,其中大多数依靠XML来简化纸浆和纸的供应链流程并使其自动化。 用于实现灵活的集成 总部位于圣宝罗的Pakprint是服务于拉美地区纸浆和造纸业的主要网络,是由International Paper(国际纸业)、Votorantim Celulose e Papel (VCP)、 Suzano、 Bahia Sul、 Klabin和 Ripasa等公司建立的。Pakprint是为了促进整个行业的效益而建立的,现在占有巴西的印刷和书写纸业务市场的90%份额,已成为一个拥有多达7000个供货商和1000个直销客户的营销网络。在造纸行业中,40%以上的订单处理是按照"按订单制造这样的流程"来进行的,援引Pakprint的首席技术官员nia Datti的话说:"该流程要比按订单供应的流程更复杂和更花费时间。"这意味着根据产品特性的不同,从开始接受订单到交货的整个过程所需的时间会有很大的不同。另外,传统上是通过传真来递交订单,并需要进行重复性的手工数据输入。 | | | | | |
|
|
|
| |
|