XML 与 Web 服务和 SOA 有何关联?

作者:我就是个世界 发表于:2008-12-07
[color=#C0C0C0]作者: 来源:IBM developerWorks 中国网站 [/color]

尽管可以使用许多技术来实现面向服务体系结构(SOA),不过最常用的还是使用 Web 服务,这意味着要使用 XML。SOAP 和 REST 是实现 Web 服务最流行的两种方法,这两者都基于 XML。

一个例子

比如说,通过将这个 SOAP 文档作为 Web 请求发送,可以向 Google Web 服务提出请求。(如清单 2 所示)


清单 2. 通过发送 SOAP 文档向 Google Web 服务提出请求[separator]
                

[code]<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=
     "http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/1999/XMLSchema">
  <SOAP-ENV:Body>
    <ns1:doGoogleSearch xmlns:ns1="urn:GoogleSearch"
         SOAP-ENV:encodingStyle=
                  "http://schemas.xmlsoap.org/soap/encoding/">
      <key xsi:type="xsd:string">00000000000000000000000000000000</key>
      <q xsi:type="xsd:string">death star trash compactor</q>
      <start xsi:type="xsd:int">0</start>
      <maxResults xsi:type="xsd:int">10</maxResults>
      <filter xsi:type="xsd:boolean">true</filter>
      <restrict xsi:type="xsd:string"></restrict>
      <safeSearch xsi:type="xsd:boolean">false</safeSearch>
      <lr xsi:type="xsd:string"></lr>
      <ie xsi:type="xsd:string">latin1</ie>
      <oe xsi:type="xsd:string">latin1</oe>
    </ns1:doGoogleSearch>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>[/code]




此处我们可以看到 SOAP 信封(envelope),它是 Web 服务引擎能够理解的标准格式。这个消息的内容(在本例中为 doGoogleSearch 元素)被认作是 有效载荷(payload),由即将被 Web 服务处理的信息所组成。

Web 服务概览

事实上,大多数围绕 Web 服务的标准(存在很多)在本质上都是 XML 词汇。比如说,Web 服务描述语言(Web Service Description Language)就是一个用于描述服务的 XML 文件。

要了解 XML 和 Web 服务,请阅读下列文章:

[url=http://www.ibm.com/developerworks/cn/views/webservices/tutorials.jsp?cv_doc_id=158614][color=#5c81a7]了解 Web 服务规范,第 1 部分:SOAP[/color][/url]

[url=http://www.ibm.com/developerworks/cn/xml/x-tipfire.html][color=#5c81a7]技巧: 为防火墙后面的 SOAP 使用代理网络库[/color][/url]

[url=http://www.ibm.com/developerworks/cn/xml/x-tipgetr/index.html][color=#5c81a7]技巧: SOAP 1.2 与 [font=NSimsun]GET[/font][/color] 请求[/url]

[url=http://www.ibm.com/developerworks/cn/xml/x-tipherr/index.html][color=#5c81a7]技巧: 让 SOAP 与 Web 服务器和平共处[/color][/url]

[url=http://www.ibm.com/developerworks/cn/xml/x-tippass/][color=#5c81a7]技巧: 向 Web 服务传递文件[/color][/url]

[url=http://www.alphaworks.ibm.com/tech/ettkws?][color=#5c81a7]ETTK for Web Services(英文)[/color][/url] 是一种 [url=http://www.alphaworks.ibm.com/xml][color=#5c81a7]alphaWorks[/color][/url] 技术,使用该技术可以轻松地建立 Web 服务环境,包括服务器。

通过 [url=http://www.ibm.com/developerworks/cn/webservices/newto/][color=#5c81a7]SOA and Web services 新手入门[/color][/url] 可以获得更多有关 XML 和 Web 服务的信息。

分享:

扫一扫在手机阅读、分享本文

请发表您的评论