首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Java EE Web 服務原理與架構(二):商業功能性、Web 服務系統與客戶端交互全景

     編輯:J2EE

商業功能性:暴露「業務能力」而非「方法調用」

企業不會直接將現有 EJB 方法暴露為 Web Service。商業層面暴露的是業務功能——一組協調動作序列,可能涉及多個 EJB、EIS、跨機構數據庫,耗時從毫秒到數天不等,需保證事務完整性、多層安全、審計追蹤。

案例:線上訂書業務流程

  1. 客戶下單 → 觸發內部交易流程;
  2. 檢查庫存總量、執行財務扣款(資金劃轉);
  3. 通知物流部門發貨;
  4. 全程需維持交易 ACID 與企業級合規。

此過程涉及多 EJB 協同、跨資源管理器交互,遠超單一方法調用。

Web 服務系統:J2EE 容器的「對應物」

  • 提供 Web Service 運行時環境;
  • 接收 SOAP 請求 → 映射至 Java 組件(POJO/EJB);
  • 執行商業邏輯 → 收集結果 → 封裝 SOAP 響應返回客戶端。

本質上是「SOAP 端點容器」,屏蔽協議解析、序列化、異常映射等基礎設施細節。

Web 服務器:SOAP 流量的網關

  • 監聽 HTTP/80(或 HTTPS/443),接收 SOAP 訊息;
  • 關鍵職責:托管 WSDL 文檔,供全球消費者可發現性訪問;
  • 路由 SOAP 請求至 Web 服務系統(後端容器)。

WSDL 發佈於 Web 服務器 → UDDI 註冊表存放 WSDL URL → 消費者下載 WSDL → 生成客戶端 Stub → 調用服務。

Web 服務客戶端:跨平台消費者

  • 語言無關:Java / C# / VB / C++ / Python 均可;
  • 標準流程:
    ① 查詢 UDDI 發現服務 → ② 獲取 WSDL URL → ③ 下載 WSDL → ④ 解析操作簽名/數據類型/端點 → ⑤ 生成/編寫客戶端代碼 → ⑥ 發起 SOAP 調用。

架構全景圖解(文本版)

[客戶端] ──HTTP/SOAP──→ [Web Server (WSDL宿主, 路由)]
                                │
                                ▼
                        [Web Service Runtime]
                                │
              ┌─────────────────┼─────────────────┐
              ▼                 ▼                 ▼
         [EJB/POJO]        [EIS/DB]          [外部系統]
         (業務邏輯)         (持久化)           (集成)

核心啟示:Web Service = 商業功能的標準化介面 + SOAP/HTTP 標準化傳輸 + WSDL/UDDI 標準化發現。J2EE 容器提供可靠的運行時支撐,使企業能將內部能力安全、可控地對外開放。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved