微软与IBM向万维网联盟(W3C)联合提出了Web服务架构设想。这个构建蓝图包括了当前存在于Web服务框架中的问题以及为其提供解决方案的规范集这两个方面。
随着Web服务规范的出现和发展——也就是WS-I规范的出现和发展,了解这些努力背后的动机是非常重要的。在这篇文章中,我们将要来看看在全球XML网络服务器体系结构(GXA)框架背后的一些细节,并介绍GXA在网络服务器发展的过程中扮演着什么样的角色。
你可以将GXA定义为一种框架,一系列的协议,一个规范集,一个视窗或是一种标准的起始。但是事实上,GXA是上述方面的总和。
定义GXA的一个最简单的方法就是将W3C创建的规范统一封装起来。当前所有的WS-I规范都是来自GXA。
有趣的是,虽然最初是由微软和IBM共同向W3C提出GXA,但是看起来微软似乎是GXA的唯一拥有者。但是,微软正在向W3C递送他们的网络服务协议,并使其标准化,而不是按照他们自己的日程计划来开发一个私人的规范(如果这样会导致卖主的停产),看到这一点也是同样重要的。
Web服务器是建立在几个规划上面的,其中包括XML,SOAP,WSDL和UDDI。这些规范为网络服务器向例如安全、通讯可靠性、路由以及事务处理这种综合结构领域扩展提供了基础。
GXA被认为是通过应用协议来构成基础协议的一个框架。GXA是通过SOAP协议表述出来的;因此,GXA框架结构能够扩展开来吸纳新的基础协议和应用协议,这是迟早的问题。在GXA中的协议,能被定义为SOAP或是XML语义,从而用来定义解释这些协议本身。想弄清楚基础协议和应用协议之间的区别的话,你可以看看下面这个例子:
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://platforms-r-us.org/profiles"
xmlns:ns2="http://the-platform-co.com/qos/priority"
xmlns:ns3="urn:schemas-acme-com:pvr.v1"
>
<soap:Header>
<ns1:options>
<auto-play>True</genre>
<format>MP3</format>
</ns1:options>
<ns2:volume>
<level>low</level>
</ns2:volume>
</soap:Header>
<soap:Body>
<ns3:Song>
<title>Some
Song</title>
<duration>240s</duration>
</ns3:Song>
</soap:Body>
</soap:Envelope>
在这个例子中,song元素是这个消息的主体内容部分,而options和volume元素是每个消息的标题部分。在GXA部分中,SOAP的内容包括了仅限于应用协议的信息,以及包括了表达属于基础协议一部分的信息的标题部分。
GXA协议集是建立在一系列的共享设计原则之上的。这些设计原则为所有新生的或是已存在的GXA协议起着指导方针的作用:
GXA的基本方面在应用领域中理性的设计原理中体现出来。GXA的魅力所在就是它为网络服务提供了一个在精确定义以及安全模式下进行操作的基础,同时是特殊应用设计的负载行完全独立与这些协议本身。