Web 分布式数据交换(WDDX)
2002-08-12 14:22:00
--------------------------------------------------------------------------------
什么是WDDX?
WDDX是一种基于XML的技术。它能在两种不同的语言环境中交换复杂的数据。对于基于XML1.0 DTD的数据,WDDX提供脱离语言环境的支持。目前大量的语言支持WDDX。WDDX可用于HTTP、SMTP、POP、FTP及别的支持文本传输的Internet协议。
WDDX是谁所建立和倡导的?
美国Allaire公司为解决Web应用程序之间发生的数据交换时所产生的关键问题创建了WDDX。更具体而言, Allaire公司的程序技术设计师Simeon Simeonov建立了WDDX,并用来解决ColdFusion中涉及的分布计算问题。 这一工作被归结为建立一种跨越多个开发语言的技术框架,开发人员最终完成了WDDX SDK和WDDX.org网站的开发工作。WDDX SDK由独立的Web开发者Nate Weiss创建,Allaire公司以及一些第三方合作伙伴为他提供了必要的技术支持。
WDDX是一项标准吗,它是否符合W3C或者其他类型标准?
WDDX不是一个正式的标准,我们也尚未向W3C或者其他标准团体提交这方面申请。但是开发人员可以免费使用WDDX,对它进行再次开发利用。同时,WDDX是完全公开的,并属于基于XML1.0一类的标准技术。无庸讳言, WDDX在技术和知识方面将强有力的推动分布式Web应用开发的发展。
WDDX如何工作?
Web上所有的标准编程环境(ColdFusion、()Perl、ASP、JAVA、javascript、PHP等)都包括各种数据结构,如数据,记录等。WDDX提供一种模板将不同语言中的各种数据类型转换为XML中的表示方式或从XML中将数据解出来。例如,开发者可使用WDDX将ColdFusion中的数组转为XML结构送给ASP服务器,然后在VBScript中将该XML中的数据解出为它所支持的数组结构。一切的转换过程是对开发者而言是透明的。
什么是Web联合体(Web Syndication), WDDX如何为之服务?
Web联合体是一种新思想,我们希望能够实现这样一种技术,使一个网站的信息和商业资源能够同时供其他网站(合作成员)做为服务和数据使用。成员网站可以联合一个主网站的资源。“Web联合体网络”就是多个网站的集合,他们联合了内容与访问量,用来制造出范围更广的影响和价值。我们已经可以看到许多过去的一些“Web联合体”的成功案例,如Amazon.com的联合程序,web loyalty programs,以及Cybercash的后端付费过程系统。
WDDX为不同Web系统之间的资源传递提高了一种简单、透明的胶着体,推动Web联合体的产生和发展。有了WDDX,一个使用Perl建立的动态网站可以和在另一种平台上的Web系统,(如ASP或ColdFusion ) 方便的进行数据库内容的交换,甚至为另一个网站提供数据、过程处理的能力。
WDDX是否带有支持Web联合体的特殊功能?
不,WDDX只为在Web上进行分布式数据交换提供了一个一般意义的架构。它没有为管理网站间关系、传递权利和许可内容或规定有序的网站交互行为而提供程序级别的功能。在使用任何WDDX指定平台建立的应用程序中可以包含上述类型的服务。当然,我们一直期待Web社区成员将来能够使用WDDX建立起规范的语法,更快的传递高层次的联合体概念,例如提交和预定、通知、在其他网站上传递使用许可程序等。
WDDX只适用于Web联合体吗?
绝对不是。当你看完下面的介绍之后,就明白了WDDX可以在非常广泛的Web应用程序中使用。把WDDX用做Web上的一种数据传输技术是最为狭窄的一个视角。它可以用于浏览器-服务器数据架构、建立离线的Web应用、以及服务器到服务器的联合体应用。当然,我们相信WDDX最强大的商业应用将来自哪些通过WDDX向其合作网络传递内容和商业接口的公司。
WDDX如何在通信及商业方面让使用网络的企业受益?
使用网络的企业通过WDDX受益的首要一点是,WDDX使建立新型商业形式和客户关系、充分利用Web所带来的新的价值链成为可能。例如,一个Web分销商现在可以将他的Web商业资产分享给其他网站开发者,帮助他们将这些资源集成到他们自己的客户程序中去。这样分销商就可以将产品的市场与销售资源传递给能够最方便最直接的接触到客户的Web零售网络去。例如,一个销售厨房用品的分销商通过WDDX将他们的产品信息扩散到其他站点。另外一个经营食谱内容的站点就可以在他们自己的网站上为用户提供这些来自上层分销商的产品。但是所有的内容以及交易处理服务都是由上层分销商网站来提供和完成的。对于客户来说,他们在这个食谱网站上获得了特别有价值的内容又可以买到恰当的商品。食谱网站虽然不直接参与产品销售,却能够通过为上层分销商宣传来获得利润,并得到更多的访问量。同样的模式可以被延伸至传统的供应链集成和商家对商家的Extranet。在这样的商业模式中,一个公司为其他供货商以及合作伙伴提供有关销售、样板以及订单状态等数据。
什么类型的应用适合使用WDDX来创建?
一个应用程序如果要求通过网络和其他应用程序共享数据,那么这个程序就非常适合使用WDDX。可以使用WDDX来开发程序包括Web 联合体、商家到商家的Internet和Extranet应用程序,商家可以使用这些网络传递各种商业数据, 例如产品或供应链数据、客户数据、订单数据等等。由于WDDX是独立的程序语言,对HTTP方式非常友好,因此企业可以使用ColdFusion或ASP建立一个应用,并使用WDDX向远程应用程序传递应用数据。这些远程的应用程序能够使用任何一种支持WDDX的语言(如Perl、ColdFusion、ASP)进行数据连接。这么做的好处是当不同的合作伙伴使用不同的语言环境来试图共享数据时,可以避免复杂的开发和过多的成本开销。
WDDX的另一个目标是用于开发可以在传统的Windows桌面和Web应用之间起到桥梁作用的应用程序。一般来说,许多企业使用Visual Basic、C++、Delphi、Powerbuilder或其他工具开发那些需要运行于Windows桌面的应用程序,同时使这些应用程序可以和运行在Web应用服务器上的、传递着同样的数据与服务的应用程序进行连接。使用WDDX以后,开发者就可以使用HTTP协议、以及他们在Intranet、Internet应用所实施的同样的服务器端程序代码,把Windows客户端应用和Web应用服务器连接起来。这对于那些需要做离线数据输入和采集工作的应用程序非常有帮助。一般这种情况下一个独立的Windows或Java应用也许比连接在一起的Web应用程序更合适。以上例子就可以通过一个COM接口使用WDDX去实现。
WDDX SDK是什么?
WDDX SDK (software development kit)是让开发人员使用WDDX进行分布式Web应用以及Web联合体网络开发的软件工具包。SDK在www.WDDK.org的网站上通过网络向开发者免费发放。www.WDDK.org是由Allaire投资建立的,用于推动WDDX的开发与发展的站点。WDDX SDK是在Allaire公司的支持下开发完成的,其他一些第三方合作者开发了用于其他语言平台WDDX 支持模块。
使用WDDX SDK需要具备哪些条件?
WDDX SDK适用于所有支持XML标准和目前流行的Web程序语言平台。SDK软件工具包是一个ZIP文件或者Tar文件,使用Web浏览器可以阅读内含的说明文档以及示范程序。其中一些示范程序用到了ColdFusion、ASP、Perl和Java,所以你必须拥有相应版本的软件才能使用这些示范程序。
WDDX,org是个什么网站组织? 谁在管理它?
WDDX是Allaire投资的一个网站,旨在将WDDX作为一种新型Web技术进行推广和发展。开发WDDX.org以及WDDX SDK的一个基本理念是Allaire公司确信这一技术应该成为共享软件、开放源代码,并供Web社区的其他成员进行再次开发。Allaire公司为该网站提供了主机资源,同时协助提供SDK相关的关键性资料以及软件。
开放者必须了解XML才能使用WDDX吗?
不。使用WDDX的一大好处在于开发人员可以通过Web交换结构化数据,而不需要使用XML。WDDX可以被当成为“XML中间件”,编程语言可以把它作为他们自己语言的传送器来使用。
都有哪些语言支持WDDX? 其他语言是否有计划支持它?
目前,WDDX SDK目前为javascript1.x、ColdFusion4.0-mx、COM、Perl、Java提供了支持模块,(figleaf为FLASH提供了支持模块)(

这是我加的)。请注意,COM的WDDX模块可以用于Active Server Pages、VisualBasic、Delphi、Java、PowerBuilder以及C++。Allaire目前没有为其他语言实施支持模块的计划,但是任何开发人员都可以使用SDK为其他语言平台创建WDDX模块,支持WDDX的核心数据类型。有消息说用Python和PHP支持WDDX的项目正在进行当中。(PHP已经支持)(

这是我加的)
WDDX都支持哪些数据类型? WDDX是否支持国际性数据格式及标准?
WDDX支持以下基本的数据类型:boolean(true/faulse)、number、date-time、string,iSO8601整体结构进行编码的Data-time values。时区信息可以成功的被转换为一个本地的date-time value。
WDDX也支持以下复杂数据类型:数组,结构和记录集(recordset)。数组是指以整数为索引值的任意类型对象的集合。结构是指以字符串为索引值的任意类型对象的集合,在其它一些语言中也被称为相关数组(associative array)。记录集是表格形式的数据封装体,是由若干已命名的域及相同数量的数据行组成。在记录集中只能存储简单数据类型。
得到WDDX需要多少钱?
用户可以从www.WDDX.org免费下载WDDX,这一技术对于主流的语言环境是公开的。
WDDX是否支持所有的Web浏览器?
开发人员在基于浏览器的应用程序中使用WDDX的第一步是需要使用配置了javascript 1.0版本的浏览器。WDDX支持任何与javascript1.1兼容的浏览器,包括Netscape3.x/4,x和Internet Explorer3.x/4.x。我们已经对Mac、Windows以及Unix环境下的这些浏览器版本进行了测试。
使用WDDX如何解决数据安全问题?
由于WDDX是基于XML和HTTP等核心的Internet标准开发而成的,因此它继承了Web环境中自带的安全模型。WDDX可以使用SSL通过HTTP协议进行安全的传递。由于WDDX数据包都是字符串组成的,因此开发人员可以使用任意一种加密技术对数据包内容进行编码或解码。如果开发人员建立的分布式应用在连接用WDDX技术开发的数据时需要安全认证,应用程序将为附加的用户端安全要求提供Web服务器或应用服务器内置的认证及安全服务。
WDDX可以被用于非Web和Windows体系的应用程序吗?
完全可以。WDDX实施了COM技术,开发人员可以在任意一种流行的Windows应用开发环境下用WDDX开发分布式数据连接或数据存储,包括Visual Basic,Delphi,PowerBuilder, C++和Java。配备了Java技术以后,开发人员就可以使用WDDX建立独立的Java应用。开发人员可以在桌面应用程序开发中使用WDDX进行数据连接和调用,这些数据同时也被用于内置的Web应用程序。
WDDX和其他标准的XML数据连接有哪些不同?
标准的XML数据连接使用Document Object Model(DOM)应用程序接口(API)进行连接,控制XML文件。在DOM编程模型中,开发人员对任何XML文件结构享有完全的programmatic连接。使用WDDX,开发人员不需要自己来控制XML内容,而是使用语言特定模块去连接哪些从其他语言转换过来的数据。更多情况下,基于DOM的数据连接和基于WDDX的数据交换相比较,服务的目的也不相同。
在什么地方可以了解WDDX的更多内容?
WDDX SDK中附带了白皮书、技术文档、在线论坛。你可以从www.WDDX.org查询SDK的相关内容。