1. 程式人生 > >web service--基礎概念

web service--基礎概念

font isp 客戶端 pos 空間 位置 跨語言 service ini

1. schema約束

一 幾個重要知識:

1 . namespace 相當於Schema文檔的id,它的值必須是唯一

2. targetNamespace 屬性用來指定schema文檔的namespace值

3. xmlns 屬性 引入某個命名空間

4. schemaLocation 屬性 指定引入的命名空間的 schema 文件的位置 二 Schema 規範 1. xml文件中的所有標簽和屬性都需要有schema文件來定義(約束) 2. 如何引入約束? xmlns屬性來指定:它的值為一個schema文件的namespace值 3. 每個schmema文件都必須有一個唯一標識,平常一般取名為id,但在schema中以namespace(命名空間)來表達 也就是每個Schema文件都有一個唯一的namespace值 4. schema文件的namespace值如何指定? targetNamespace 屬性來指定:它的值是一個url 格式的文本 (路徑不一定真實存在,但必須唯一) 5. 如果引入的schema約束不是w3c組織定義, 那麽在引入後還需要指定schema文件的位置 6. 如何來指定schema文件的位置? schemaLocation 屬性來指定:它的值由兩部分組成:namcespace+path 7. 如果引入了N個約束, 那反必須給n-1個取別名, 在使用到某個取了別名的schema文檔的標簽或屬性時,必須通過別名來引導 技術分享圖片
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://www.zhouwuji.cn"
        elementFormDefault="qualified">
    <!-- qualified 關聯約定所有的標簽 默認為unqualified -->
    <element name="books">
        <complexType>
        <!-- 復合類型  unbounded 無限的 -->
            <sequence maxOccurs="unbounded">
                <element name="book">
                    <complexType>
                        <sequence maxOccurs="1">
                            <element name="bookname" type="string" />
                            <element name="author" type="string" />
                            <element name="price" type="string" />
                        </sequence>
                    </complexType>
                </element>
            </sequence>
        </complexType>
    </element>
</schema>
text.xsd 技術分享圖片
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns="http://www.zhouwuji.cn"
       xmlns:ss="http://www.w3.org/2001/XMLSchema-instance"
       ss:schemaLocation="http://www.zhouwuji.cn test.xsd">
    <book>
        <bookname>javascript</bookname>
        <author>淘氣老師</author>
        <price>¥32.1</price>
    </book>
</books>
<!--
  schema規範中:
   
1.所有的標簽和屬性都需要有schema文件來定義 2.所有的schema文件都需要有一個id,但在這裏他叫namespace 3.namespace的值由什麽來決定? 有targetNamespace屬性來指定,必須制定schema文件的位置 4.如何引用一個schema約束? 屬性:用xmlns屬性 屬性值:對應的schema文件的id 5.如果引入的schema不是w3c組織定義,必須指定schema文件的位置 6.shcema文件的位置有什麽屬性指定? 屬性:schemaLocation 屬性值:namespace path 7.如果引入N個約束,需要給n-1個取別名 -->
book.xml

2 關於 Web Service 的幾個問題

1. 基於 Web 的服務:服務器端整出一些資源讓客戶端應用訪問(獲取數據) 2. 一個跨語言、跨平臺的規範(抽象) 3. 多個跨平臺、跨語言的應用間通信整合的方案 例: (實際) 以各個網站顯示天氣預報功能為例: 氣象中心的管理系統將收集的天氣信息並將數據暴露出來(通過 WebService Server), 而各大站點的應用就去調用它們得到天氣信息並以不同 的樣式去展示(WebService Client). 網站提供了天氣預報的服務, 但其實它們什麽也沒有做,只是簡單了調 用了一下氣象中心服務器上的一段代碼而已。 技術分享圖片

4、 為什麽要用 Web service?

web service 能解決: 跨平臺調用 、跨語言調用 、遠程調用

5. 什麽時候使用 web Service? -- 同一家公司的新舊應用之間 -- 不同公司的應用之間 分析業務需求:天貓網與中通物流系統如何交互? -- 一些提供數據的內容聚合應用:天氣預報、股票行情 技術分享圖片

3. Web Service 中的幾個重要術語

1. WSDL:web service definition language a 直譯 : WebService 定義語言 b. 對應一種類型的文件.wsdl c. 定義了 web service 的服務器端與客戶端應用交互傳遞請求和響應數據的格式 和方式 d. 一個 web service 對應一個唯一的 wsdl 文檔 . 2. SOAP:simple object access protocal a 直譯: 簡單對象訪問協議 b. 是一種簡單的、基於 HTTP 和XML的協議, 用於在 WEB 上交換結構化的數據 c. soap 消息:請求消息和響應消息 d. http+xml 片斷 3. SEI:WebService EndPoint Interface a 直譯: web service 的終端接口, b 就是 WebService 服務器端用來處理請求的接口 4. CXF:Celtix + XFire a 一個 apache 的用於開發 webservice 服務器端和客戶端的框架

web service--基礎概念