處理了一些私人事情,現在回到團隊事務中,有些疲,也逐漸找回了感覺。
developerworks網站上關于
SOA 的一個架構模板
目前成熟的JavaEE應用,推薦三層架構:表現層、控制層、業務邏輯層[接口和實現](可細分業務邏輯、持久化兩層)。貫穿于所有層的是基礎設施(安全、事務、可靠性等)。
對比JavaEE中的三層結構和MVC可以看出:
表現層類似。可以是GUI也可以是Web。現在更崇尚Web。而且表現層(Web)一定要遵循MVC模式(注:MVC不是JavaEE的三層結構,注意區分,只是表現層的一種架構,確切的說,還不是模式)。
SOA的業務過程合成層對應JavaEE的控制層(包括Façade Pattern)。前者把單個或者一系列服務綁定成一個控制流程,可以做為單獨的應用程序使用。后者通過Façade模式將不同的組件結合起來,提供一個統一的訪問口。
SOA的服務層對應于JavaEE系統間的接口。不同的是前者是系統間,后者是系統內。但都是被發現或者靜態邦定或者聲明式注入,然后調用。前者對系統集成、后者對單個系統實現來說功能是一致的。但是前者的優勢在于通過文檔(WSDL)聲明的方式屏蔽了系統、語言之間的差異性,如果是同一實現體系中不考慮異構,后者的優勢在于效率。
企業組件層對應于JavaEE系統的業務邏輯層。都是負責實現業務功能、提供基礎設施服務的組件。常運行于應用服務器中。
SOA的QoS與成熟的JavaEE應用一致。 附文:SOA服務模型分析設計的一些概念
附文:JavaEE中的三層結構和MVC