當您要將企業應用程序轉變成與 Web 服務一起使用時,最簡單的途徑就是將單個操作與單個的企業服務結合在一塊。但這并不是最好的方法。在本文中,Jerome Josephraj 將向您展示如何構架基于分層的、正確的模型-視圖-控制器(MVC)設計模式的Web 服務應用程序。為此,他修改了 Struts(一種流行的開放源碼MVC 框架),以使其適用于 Web 服務領域。通過研究此處所概述的樣本應用程序,您將知道如何才能將 Struts 與 Web 服務聯合起來使用。
構建 Web 服務最簡單的途徑就是將單個操作與單個企業服務結合起來,如圖 3 所示。在這種設計方法中,實現業務邏輯的服務與實現數據檢索的服務是混合在一起的。
圖 3. 簡單粗糙的 Web 服務體系結構
這樣的一種 Web 服務可以很輕易從已有的業務組件中開發出來。然而,它有很多的缺點:對用戶沒有提供統一認證,提供者與訂閱者耦合不緊,業務邏輯沒有重用。簡而言之,對于一個連貫的解決方案來說這并不是一個非常好的體系結構。
在 MVC 模式基礎上來實現 Web 服務解決方案會更好點。在后續部分,您將看到如何使用 Struts 來做到這一點。我將通過 WSManager 層來詳述現有的 Struts 架構,這一層展示了采用 Web 服務的模型服務方法。
采用 Struts 應用程序的 Web 服務 在以后的開發工作中您可以擴大構建得比較好的 Struts 應用程序來支持 Web 服務。前面講過,Struts 架構清楚地區分開了視圖、控制器以及模型。模型包含所有必須的業務邏輯,從存儲數據倉庫中檢索數據。您可以構建一個簡單的 Web 服務層——稱為 WSManager 層——這樣的模型可以提供 Web 服務也可以訂購 Web 服務。使用這種體系結構的應用程序將基于組件開發的最佳點與萬維網結合在了一起,如 圖 4所示。