首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

以 SQL Server 2000 XML 功能將現有預存程序發佈為 Web Service

     編輯:關於SqlServer

核心架構

SQL Server 2000 透過兩大 XML 功能簡化既有 T-SQL 程式碼發佈為 Web Service:

  1. FOR XML 子句:將關聯資料轉換為 XML,並解析傳入 XML。
  2. ISAPI 樣板功能:接收 HTTP 請求對應至 T-SQL 程式碼,輸出 XML 經 XSLT 轉換為 SOAP 回應。

XML 樣板運作流程

  1. 解碼傳入 HTTP 請求。
  2. 將參數套用至 T-SQL 查詢/預存程序。
  3. 執行查詢產生 XML 結果。
  4. 套用 XSL 樣式表轉換輸出 XML(如轉為 SOAP)。
  5. 回傳給 Web Service 用戶端。

實作範例:訂單查詢 Web Service

XML 樣板檔

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="BDAdotNetWebService3Example1.xsl">
  <ORDERS>
    <sql:query>
      EXEC GetOrdersXML
    </sql:query>
  </ORDERS>
</ROOT>

XSLT 樣式表(轉換為 SOAP)

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
  xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:m="Some-URI">
  <xsl:template match="/">
    <SOAP-ENV:Envelope>
      <SOAP-ENV:Body>
        <xsl:apply-templates/>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
  </xsl:template>
</xsl:stylesheet>

其他架構考量(後續文章將深入)

  • 狀態模型(無狀態 vs 有狀態)
  • 回應資料大小與分頁
  • 成功/錯誤訊息標準化
  • 安全模型(存取控制、驗證、加密)
  • 執行模型(同步/非同步)
  • 程式碼部署與版本控制
  • 交易模型(COM+ / 宣告式交易)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved