「XML 和 Java 是廠商獨立程序的陰和陽。把它們集成在一起,你能獲得完整的、平台獨立的、基於 Web 的計算環境。」—— Jon Bosak (W3C XML 工作組主席,XML 之父)
| Java 提供 | XML 提供 | 合力產出 |
|---|---|---|
| 「可移植代碼」:Write Once, Run Anywhere | 「可移植數據」:自描述、平台無關、廠商中立 | 「智能數據」:數據攜帶處理邏輯 (Applet/Script 在 XML 中) |
| 強大的字符串、集合、網絡、多線程庫 | 結構化、可擴展、可驗證的數據模型 | 高效構建、解析、轉換、傳輸複雜數據 |
| 企業級平台 (J2EE/EJB/JMS/Servlet) | 跨系統交換標準 (SOAP/ebXML/WSDL/UDDI) | 端到端異構集成 (EAI、B2B、Web Services) |
這些標準擴展最終內建於 J2EE 1.3+ / JDK 1.4+,開發者「開箱即用」,無需打包第三方 Jar。
部署描述符全面 XML 化;實體 Bean 支援 XML 類型字段;Message-Driven Bean 消費 XML 訊息 (JMS TextMessage)。
JAX-RPC → JAX-WS,SOAP/HTTP 基於 XML,WSDL 描述接口,UDDI 發布發現——全鏈路 XML。
異步解耦:生產者構建 XML → TextMessage → Queue/Topic → 消費者解析 XML → 業務邏輯。支援內容路由 (JAXM/廠商擴展)。
<PurchaseOrder>
<Header>
<Buyer id="C001">Acme Corp</Buyer>
<Seller id="S099">Global Parts</Seller>
</Header>
<LineItems>
<Item sku="X-100" qty="5">
<ProcessingLogic language="Java">
// 嵌入驗證/計算邏輯片段
if (qty > 10) applyDiscount(0.05);
</ProcessingLogic>
</Item>
</LineItems>
</PurchaseOrder>
傳統 CGI 在服務器生成 HTML;XML + Java (Applet/Bean/Script) 將數據 + 邏輯下發客戶端:
IBM, Oracle, Fujitsu, Novell, BEA, WebMethods, Ariba, Bluestone, CommerceOne, Vitria, NetPost… 同步投入 XML+Java 產品線。
XML 與 Java 的「雙星」故事,是開放標準戰勝專有鎖定、結構化數據賦能分布式計算的經典註腳。技術浪潮更迭,但「可移植代碼 + 可移植數據 = 真正的平台獨立」這一核心價值,永遠不會過時。