选择显示字体大小

为何xml对web服务很重要

web服务经常从它的组件技术的角度来进行描述。soap、uddi、wsdl、xml以及http各自组成了web服务体系的一部分,它们都发挥了重要作用。让我们看看xml技术对web服务平台的贡献。


标准化

 
与其它web服务技术相比,标准化是xml特色之一。xml提供了web服务应用程序之间传输数据的标准格式。万维网联盟(w3c)管理xml标准并发布给全球的xml技术提供者,这就确保了xml产品的兼容性。

除了xml引擎和产品外还有xml文法(grammar)。每一个xml语法都是一种在某个特定问题领域进行数据格式化的标准方法。遵循并采用xml文法,你就可以使两个应用程序间通信的数据格式标准化。


接口协议

程序员在对接口进行编程时经常将它称之为协议。从编程的角度出发,接口在没有暴露实现的情况下提供了编程结构。如果使用dtd(文件类型定义)和大纲(schema),那么xml就有类似的特性。dtd和大纲都用来描述xml文档的结构以及xml文档的建立规则。可以用一个(或者多个)相关dtd(或者大纲)组织这样的规则集合,我们称之为xml文法。

xml文法不仅可以用于应用程序之间通信的标准化,还可以为开发者提供一个接口协议。换句话说,开发者在创建一个需要使用xml文档结构的应用程序时,他不需要知道文档是如何实现的(即实际的xml文档)。dtd以及大纲描述了文档的结构,它们可以作为开发的接口协议。对dtd的任何改动同时也改变了协议。


简化

xml文档的另一个重要方面就是它的简化特性。我并没有暗示xml的实现很简单,而是说xml的概念和一般方法简单。例如,xml是基于文本文档的,这就简化了打开xml文档并查看其内容的过程。

xml简化web服务模型很方便,这一点也很重要。web服务天然就比单独的xml要复杂。假设xml和corba同样复杂,而且其它web服务技术的复杂度相同,那么web服务技术就会变得非常笨重。但是通过使用简单的搭积木的方法,如xml、soap等等,我们可以控制web服务的复杂度在一个可以容忍的范围之内,这样用它创建的应用程序不至于难以控制。


封装

封装是我最喜欢的xml特性之一,在开发web服务的时候尤其如此。从本质上来说,封装指的是获得一个或者多个数据块(chunks of data)并把它们集合成一个简单对象(而不是几个独立对象)的概念。封装与集合(aggregation)类似,但是它们之间有一个重要的差别,即封装一般意味着它没有外部依赖性。

你可以创建带有外部依赖性的xml文档;但是在事务web服务模型(transactional web services model)中,利用封装会显得更加明智。通过设计包装了依赖性的xml解决方案,你一般都可以消除事务处理过程(交易)中的问题。强迫在交易中定位外部数据并使其与xml数据一致的方法是有害的,尤其是在外部数据常常发生变动的情况下。如果把数据封装到xml文法中去,就交易获得正确的数据。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons