| | | 第二代Web服务展望 | | 2002-02-19·
·刘彦青编译··yesky
| 上一页 1 2 3 下一页 原型可升级应用
当今二种最具可伸缩性、最具有互操作性的分布式应用是Web和电子邮件,是什么使这二种应用具有如此大的可伸缩性和互操作性呢?它们依赖于标准化的、可扩展的消息格式(HTML和MIME)、应用协议(HTTP和SMTP),但我认为最重要的是每一种应用都有一个标准化的、可扩展的全球性地址系统。
在房地产界有一句笑话,形成房地产价值的三个要素是位置,位置和位置,在XML web服务中也是如此。如果实现得恰当,XML web服务使我们能够给数据对象指定地址,使它们能够被共享或修改。
特别地,WEB的中心概念是URI的单一的统一名字空间,URI能够允许使Web具有利用价值的大量的Web链接,它们将Web捆绑为一个单一的大规模的应用。
URI等同于资源。资源是一个概念性的对象,它们的表达被以HTTP消息的格式在web上发布。这些理念相当简单,但其功能却非常强大,而且取得了不俗的成功。URI之间的联系非常松散,我们甚至能够利用一张纸或OCR将一个URI从一个系统传递给另一个系统。URI是后期绑定的,它们不定义能够对所指的信息进行哪些处理。正是其具有的“松散”和“后期”特性,使得它们能够适用于Web这样规模的网络。
不幸的是,我们中的大多数都不这样考虑web服务,我们都将web服务看作是代表软件组件的端点间的远程过程调用,也就是CORBA、DCOM的思想,Web的思想是根据资源组织URI。
新一代web服务将使用单独的数据对象作为端点,软件组件间的界线也将是非常小的。
一个示范性的例子
UDDI是能够被作为以资源为中心的功能更强大的WEB服务的一个例子,在这里我们不讨论UDDI在WEB服务中哲学意义上的角色,只讨论如何从中获取信息或向其中输入信息的具体问题,这些观点适用于已经存在的大部分的WEB服务,例如股票行情、飞机票预订等。
UDDI中有一个代表一个企业的businessEntity概念,企业是由UUID确定的,在以Web为中心的模式中,企业是由URI确定的,最简单的方式是把businessEntity作为一个可以设定地址的XML文档,例如,http://www.uddi.org/businessEntity/ibm.com或http://www.uddi.org/getbusinessEntity?ibm.com。这二种方式之间的差别相当小,而且与技术的关系不大,因此我们无需为此担心。
我们可以把http://www.uddi.org/businessEntity看作是一个包含文件的目录,或者一个从数据库中读取数据的WEB服务。WEB最奇妙的特性之一就是仅仅通过URI,不能分辩出它到底是什么,这也是“松散组合”的作用。
我们来考虑使用基于HTTP的URI而不使用UUID表示企业实体的意义:
·想检查企业实体的人只能将浏览器指向该URI,并查看businessEntity记录,HTML版的企业实体只适用于以前的浏览器,而XML版的企业实体适用于较新的浏览器。
·要在另一种WEB服务或文档中引用一个businessEntity,则只能使用它的URI。
·要将被引用的信息集成在其他的XML文档中,可以使用XLink、XPointer或XInclude。
·要保存一个记录的永久拷贝需要使用wget这样的命令行工具或在浏览器中选择“保存为”菜单项。
·XSLT样式表能够动态地获取资源,并在转换中与其他资源进行组合。
·可以使用标准的HTTP授权和访问控制机制控制对businessEntity的访问。
·元数据可以通过使用RDF与businessEntity发生关联。
·任何客户端应用(无论是否是基于浏览器的)可以在没有特别的SOAP库的情况下获取数据。
·二个企业褓可以使用从一个企业实体到另一个企业实体的重定向表示二者的合并。
·象Excel、XMetaL、Word和Emacs这样的编辑和分析工具能够利用HTTP直接从URI中导入XML文档,并利用WebDAV进行回写。
·UUID或其他形式的与位置无关的地址仍然可以被指定为附加的抽象层。
目前的UDDI API有一个被称作get_businessDetail的方法,在以地址为中心的模式下,该方法就完全成为多余的了,可以从API中把它删除了。UDDI有几种对tModels、商业服务等数据对象进行操作的get_方法,这些数据对象可以被表示为逻辑XML文档,这些方法也可以被删除。需要注意的是,我们大大简化了用户对UDDI信息的访问,同时提高了XML和XML模式在UDDI系统中的重要性。
企业实体并不是UDDI中唯一的应该根据以URI编址的XML资源而不是SOAP API确定的东西,事实上,所有UDDI数据库中的数据都可以以这种方式确定。
总结:资源(数据对象)就象孩子,如果要融入到社会这个大家庭中去,他们每个人就需要有一个名字。
上一页 1 2 3 下一页 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|