| 模式 | 角色 | 核心能力 | 典型應用 |
|---|---|---|---|
| Web 服務消費者 | 從資料庫內部呼叫外部 Web Service | JPublisher 產生 Java Proxy + PL/SQL Wrapper,支援靜態/動態調用,表函數機制將結果集視為虛擬表 | 即時匯率查詢、信用卡授權、外部基因資料庫、舊系統包裝 |
| Web 服務提供者 | 將資料庫操作發布為 Web Service 供外部呼叫 | JPublisher 產生 Java Proxy 部署至 Oracle Application Server,發布 PL/SQL、Java Stored Procedure、SQL Query/DML,支援 Ref Cursor/Boolean 映射 | 重用既有 PL/SQL 資產、DBA 無需懂 Java 即可服務化資料庫功能 |
$ORACLE_HOME。dbwsclient.jar 至 SYS 或目標 Schema:loadjava -u sys/pwd -r -v -f -s -grant public -genmissing sqlj/lib/dbwsclient.jar-proxywsdl (WSDL URL)、-user (目標 Schema)、-httpproxy、-sysuser (SYSDBA)、-proxyopts=tabfun (產生表函數)、-dir (輸出目錄)。JPublisher 產生 Java Proxy → 部署至 OracleAS (J2EE 容器) → OracleAS 管理端點生命週期 → 呼叫端透過 SOAP/HTTP 呼叫 → Proxy 經 JDBC 呼叫資料庫操作 → 結果包裝為 SOAP 回應。
優勢:DBA/開發人員專注資料庫邏輯,無需撰寫 Java/Web Service 程式碼。
透過中介層部署,資料庫 Web Service 自動繼承企業級 SOA 能力:
資料庫 Web 服務是企業 SOA 的關鍵基礎設施。對 DBA/開發人員最大價值在於零 Java/WS 程式碼成本下,將既有 PL/SQL、SQL 資產服務化,同時獲得企業級安全、可靠、管理、編排能力。