IBM DB2 Web 服務提供者(WORF,Web 服務物件執行架構)讓開發人員以 XML 定義資料庫操作(SELECT、INSERT/UPDATE/DELETE、預存程序、XML Extender 操作),自動發布為 Web 服務。本文深入剖析其安全性架構,說明如何管控對這些可存取資料庫核心資料操作的存取權限。
Web 服務採訊息導向通訊架構,具高度互通性與擴充性。訊息以 XML 格式交換,透過 SOAP(簡單物件存取協定)封裝:
服務介面由 WSDL(Web 服務描述語言)定義,類似 C 語言標頭檔,描述支援的操作、輸入輸出參數與自訂型別。開發工具(WebSphere Studio、Visual Studio .NET)可自動產生 SOAP 請求/解析回應程式碼。傳輸層通常採 HTTP,亦可使用 WebSphere MQ 等替代方案。
DADX(文件存取定義擴充)檔案範例:
<?xml version="1.0" encoding="UTF-8"?>
<dadx xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<operation name="listDept">
<documentation>List contents of DEPARTMENT table.</documentation>
<selection>SELECT * FROM DEPARTMENT WHERE deptno=:deptno</selection>
</operation>
</dadx>
執行期自動完成:
開發流程:建立 DADX → 部署 Web 應用 → 存取測試環境(如 https://localhost:9080/services/sample/list.dadx/TEST) → 修改 DADX 重測。無需撰寫 Java/EJB 程式碼即可完成 Web 服務開發。
測試環境 URL 範例:https://host:port/services/mydatabase/list.dadx/TEST
services:Web 應用程式名稱/上下文根mydatabase:群組名稱,作為多個 DADX 檔案的容器,共享資料庫連線用戶等配置list.dadx:具體 DADX 檔案| 面向 | 說明 | 資料庫對應概念 |
|---|---|---|
| 身分識別/認證 | 宣告身分並提供憑證(密碼/安全權杖) | CONNECT TO sample USER dirk USING password |
| 授權 | 允許/拒絕特定操作 | GRANT SELECT, INSERT ON CALENDAR TO USER PHIL |
| 完整性/機密性 | 防竄改/防竊聽(加密傳輸) | SSL/TLS、資料行加密 |
傳輸層安全性:仰賴傳輸協定(如 HTTPS)提供加密。若切換至非加密傳輸,訊息即暴露。本文著重此類配置。
訊息層安全性 (WS-Security):訊息本身攜帶安全元素(使用者名稱、簽章、加密、安全權杖),可獨立於傳輸層,支援部分加密(如僅加密信用卡號)、多重認證機制。WS-Security 為核心標準,上層延伸 WS-Policy、WS-Trust、WS-SecureConversation 等。

sqllib/samples/java/websphere 解壓 dxxworf.zip 至 c:\worfservices.war)SecureDADX,遷移至 J2EE 1.3 規範以支援 WebSphere 5 DataSource

