• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:05来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

图11-7
图11 - 8将显示远程方法调用的X M L过程:
对于一个非常可靠的应用程序而言,它要求一系列的调用被处理成一个事务。这个技术保
证了调用在一种“都做或者都不做”的方式下被完成,如果应用程序希望使用事务,并且你使
用X M L - R P C协议,那么你将不得不在应用程序中加入事务处理的能力。但如果需要的话,更新
的S O A P(和一些商务的X M L服务器产品)有能力去实现基于事务的应用程序。
在一个分布式应用程序中,能够在不同的服务器间只使用一种版本控制。因为每一个X M L
“文档”都能够被合法化为一个合适的D T D或者模式,这样能扩充功能和减少冲突。在一个服务
器发现冲突时,将会执行一个良好的错误处理程序。只要X M L标记没有被删除,所有的功能能
够有效地保持在被有效隔离的分布式组件间。事实上,随着传送语言使用X M L,只要包括必要
第11章服服务器到服务器使用429 下载
服务器1 服务器2
请求
回复
回复
回复
请求
请求
的数据,客户结构甚至并不必是一种固定的X M L格式。
图11-8
松耦合系统中,从相互发送消息的不同协议规范中创建文件是相对简单的。例如,我们将
要讨论使用X M L - R P C和S O A P协议的X M L分布式通信。这些系统是基于不同的X M L标准的,但
是一些方法如X S LT在X M L文档的特定版本的不同规范之间不能被用于“翻译”,这是毫无理由
的(事实上,这正在被讨论)。
11.2.3 通信方式
使用X M L进行相互通信的服务器能够使用许多协议和标准,在分布式组件间建立彼此联系
的桥梁。最流行的是H T T P,因为它是使用中最普通的标准,尽管S M T P和F T P与之非常相似,
并能提供独立传送X M L消息的平台。但是,更多的比较特殊的网络接口,例如: C O R B A / I I O P,
Java RMI(Remete Method Invocation)和Microsoft DCOM/COM能够被用于一些动态X M L应
用程序服务器。
这一部分将关注H T T P作为分布式组件的通信协议,因为它是可用的最简单和最独立的协议。
我们在最后也将讨论其他一些可用的协议,这些协议能够实现一些可变化的传输方法。
1. 远程调用
使用X M L的服务器到服务器通信的首要方法与传统的调用分布式应用程序的方法非常相近,
即通过调用一个方法并传送参数到该方法,而该方法提供一个返回值,细微的不同在于所有这
些调用都在H T T P上运行,并仅使用X M L消息去提供调用远程网络服务器那个方法的信息。
在本节的后面,我们将关注X M L - R P C和S O A P,S O A P提供功能性的描述,它对于异构的分
布式应用程序是非常有效的—它也可能成为服务器通信发展过程中的亮点。
2. 数据交换
数据交换是一种用于W D D X(Web Distributed Data Exchange,We b分布式数据交换)的方
法,它与远程过程调用的不同在于它并不说明特定的协议,且仅仅对创建一个关于数据的基于
X M L的消息,数据交换并不像分布式机制将方法和参数封装起来。纯粹的数据交换是一个主动
的过程,在此过程中,远程服务器的某一个特定页被激活,并且数据以X M L形式被发送到该页。
430使用XML 高级编程
下载
请求
回复服务器2
服务器1
另外一些方法允许通过C O M、C O R B A、S M T P和另外一些别的传送方式支持数据交换。
11.3 XML-RPC
X M L - R P C即X M L远程过程调用,是一个相对较新的方法,这种方法激活在分布式机器上的
方法并使消息返回。它使用X M L来传送结构化的消息,而其中封装的功能调用的执行依赖于远
程系统,这样我们就能够使远程系统与本地系统结合起来。事实上,当X M L - R P C运行在一个纯
粹的H T T P上,并使用X M L(格式文本)来传送消息时,全部的标准是语言独立的。
你可能对平台的独立性产生怀疑,但这个疑虑将很快被打消,即如果考虑到H T T P和X M L这
两个主要的组件是简单而有效的标准,并被全部的行业所接受,且在所有的平台上运行良好这
个事实。请相信,虽然X M L - R P C是简单的,但是它将是在未来的2 0年中X M L技术领域中最有效
的一个。
目前的X M L - R P C标准(参见h t t p : / / w w w. x m l r p c . c o m ),允许我们得到一个对于特定方法的返
回值,而该方法使用了一套由远程服务器指定的参数。我们能够直接从一客户或者从一个服务
器使用X M L - R P C而调用在远程服务器上的方法。在关于服务器通信的讨论中,我们将看到更多
此类情况。
在X M L - R P C世界中,访问一些站点将会使你收获颇丰,例如h t t p : / / w w w. m a i l t o t h e f u t u r e . c o m,
它允许你使用一个远程服务器的界面在未来的某个日期发送一个e - m a i l给你自己,这有点像“提
醒”系统,你能够远程地加入一条新消息,删除一条以前的消息,或者像一些其他方法一样,
在使用者的队列中得到一些消息。所有这些都可以在浏览这些站点和不使用它们的接口下被实
现。图11 - 9将显示这些工作:
图11-9
近来,我们在一些平台,例如F r o n t i e r、A p p l e M a c s、U n i x和Wi n d o w s等上已经看到允许使
用者在远程讨论组上加入和修改一条消息。这能够通过网络浏览器或者客户应用程序来实现
(例如Microsoft Wo r d)。在这样的界面里,你能够创建一个并不基于浏览器的工作站编辑器,它
允许使用文本编辑器去创建或者编辑消息,而该文本编辑器比嵌在浏览器里的编辑器更为先进。
X M L - R P C允许你向讨论论坛粘贴消息,编辑已经存在于论坛里的消息,保存自己的已经存
在的消息。这些工作能够在任何系统里完成,只要该系统支持H T T P协议和各种文本编辑器。
可能性每周都在增加,在h t t p : / / w w w. x m l r p c . c o m /网站,Dave Wi n e r正不断地把它推向前进。
第11章服服务器到服务器使用431 下载
文本编辑器
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(137)