敬的世界

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          Web Service

          Web Service 服務(wù)接口需要綁定具體實(shí)現(xiàn)服務(wù)的服務(wù)組件來實(shí)現(xiàn)服務(wù), 他對(duì)具體的服務(wù)實(shí)現(xiàn)完成了封裝,實(shí)現(xiàn)了服務(wù)的透明化,客戶端不需要知道服務(wù)是如何實(shí)現(xiàn)的,但是Web Service 組件本身是知道服務(wù)是如何實(shí)現(xiàn)的, 另外客戶端調(diào)用Web Service組件時(shí), 需要知道Web Service 的具體位置和傳輸協(xié)議, 這些都會(huì)造成一定的不靈活性, 它只是實(shí)現(xiàn)了一定程度上的抽象。

          Web Service 服務(wù)接口綁定.jpg

          The basic Web Service platform is XML + HTTP.

          XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions.

          Web Services platform elements:

          • SOAP (Simple Object Access Protocol)
          • UDDI (Universal Description, Discovery and Integration)
          • WSDL (Web Services Description Language)

          Web Services have two types of Uses

          ???Resuable application components

          Web Services can offer applications components like currency conversion, weather reports, or even language translation as service

          Connect existing software

          Web services help to solve the interoperability problem by giving different applications a way to link their data

          With Web Services you can exchange data between different applications and different platforms.

          WSDL( Web Service Description Language)

          A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL document uses the following elements in the definition of network services:

          • Types– a container for data type definitions using some type system (such as XSD).
          • Message– an abstract, typed definition of the data being communicated.
          • Operation– an abstract description of an action supported by the service.
          • Port Type–an abstract set of operations supported by one or more endpoints.
          • Binding– a concrete protocol and data format specification for a particular port type.
          • Port– a single endpoint defined as a combination of a binding and a network address.
          • Service– a collection of related endpoints.

          Example 1 SOAP 1.1 Request/Response via HTTP

          <?xml version="1.0"?>
          <definitions name="StockQuote"
          
          targetNamespace="http://example.com/stockquote.wsdl"
                    xmlns:tns="http://example.com/stockquote.wsdl"
                    xmlns:xsd1="http://example.com/stockquote.xsd"
                    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                    xmlns="http://schemas.xmlsoap.org/wsdl/">
          
              <types>
                 <schema targetNamespace="http://example.com/stockquote.xsd"
                        xmlns="http://www.w3.org/2000/10/XMLSchema">
                     <element name="TradePriceRequest">
                        <complexType>
                            <all>
                                <element name="tickerSymbol" type="string"/>
                            </all>
                        </complexType>
                     </element>
                     <element name="TradePrice">
                        <complexType>
                            <all>
                                <element name="price" type="float"/>
                            </all>
                        </complexType>
                     </element>
                 </schema>
              </types>
          
              <message name="GetLastTradePriceInput">
                  <part name="body" element="xsd1:TradePriceRequest"/>
              </message>
          
              <message name="GetLastTradePriceOutput">
                  <part name="body" element="xsd1:TradePrice"/>
              </message>
          
              <portType name="StockQuotePortType">
                  <operation name="GetLastTradePrice">
                     <input message="tns:GetLastTradePriceInput"/>
                     <output message="tns:GetLastTradePriceOutput"/>
                  </operation>
              </portType>
          
              <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
                  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
                  <operation name="GetLastTradePrice">
                     <soap:operation soapAction="http://example.com/GetLastTradePrice"/>
                     <input>
                         <soap:body use="literal"/>
                     </input>
                     <output>
                         <soap:body use="literal"/>
                     </output>
                  </operation>
              </binding>
          
              <service name="StockQuoteService">
                  <documentation>My first service</documentation>
                  <port name="StockQuotePort" binding="tns:StockQuoteBinding">
                     <soap:address location="http://example.com/stockquote"/>
                  </port>
              </service>
          
          </definitions>
          


          ?

          posted on 2008-10-04 06:06 picture talk 閱讀(152) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 济阳县| 涿州市| 旌德县| 沅陵县| 宿迁市| 龙里县| 香格里拉县| 灵璧县| 类乌齐县| 潮安县| 赫章县| 拉萨市| 云林县| 乌什县| 陕西省| 通城县| 滕州市| 方正县| 和林格尔县| 涞源县| 柯坪县| 邹城市| 铜陵市| 潞西市| 龙游县| 贵德县| 平潭县| 会宁县| 将乐县| 米易县| 神池县| 龙川县| 嘉义县| 建湖县| 修武县| 米易县| 富顺县| 云浮市| 彝良县| 兴安县| 六盘水市|