??????在 SOA 系統(tǒng)中不同的功能模塊可以被分為7層:
??????第1層就是系統(tǒng)已經(jīng)存在的程序資源,例如ERP或者CRM系統(tǒng)等。
??????第2層就是組件層,在這一層中我們用不同的組件把底層系統(tǒng)的功能封裝起來。
??????第3層就是 SOA 系統(tǒng)中最重要的服務(wù)層,在這層中我們要用底層功能組件來構(gòu)建我們所需要的不同功能的服務(wù)。總的來說,SOA 中的服務(wù)可以被映射成具體系統(tǒng)中的任何功能模塊,但是從功能性方面可以大致劃分為以下三種類型:(1)商業(yè)服務(wù)(business service) 或者是商業(yè)過程(business process)。這一類的服務(wù)是一個企業(yè)可以暴露給外部用戶或者合作伙伴使用的服務(wù)。比如說提交銷售訂單,產(chǎn)品信息查詢,庫存信息查詢。(2)商業(yè)功能服務(wù)(business function service), 這類服務(wù)會完成一些具體的商業(yè)操作,也會被更上層的商業(yè)服務(wù)調(diào)用,不過大多數(shù)情況下這類服務(wù)不會暴露給外部用戶直接調(diào)用,比如說檢索用戶帳戶信息,存儲用戶信息等。(3)技術(shù)功能服務(wù)(technical function service),這類服務(wù)主要完成一些底層的技術(shù)功能,比如說日志服務(wù)以及安全服務(wù)等。?
??????在服務(wù)層之上的第4層就是商業(yè)流程層,在這一層中我們利用已經(jīng)封裝好的各種服務(wù)來構(gòu)建商業(yè)系統(tǒng)中的商業(yè)流程。
??????在商業(yè)流程層之上的就是第5層表示層了,我們利用表示層來向用戶提供用戶接口服務(wù),這一層可以用基于portal的系統(tǒng)來構(gòu)建。以上這5層都需要有一個集成的環(huán)境來支持它們的運行,
??????第6層中的企業(yè)服務(wù)總線(ESB)提供了這個功能。
??????第7層主要為整個 SOA 系統(tǒng)提供一些輔助的功能,例如服務(wù)質(zhì)量管理,安全管理這一類的輔助功能。
??????分層是自下而上的,但是我們在具體的實踐環(huán)節(jié)是怎么樣的呢?記得在學習計算機網(wǎng)絡(luò)這門課程的時候,稱為自頂向下實現(xiàn)計算機網(wǎng)絡(luò)。也就大概從那時起,自上而下,自下而上或兩者兼有成了心中一種分析問題的方法。也就是在soa的實現(xiàn)中,我們可以從分析商業(yè)模式起,再分析服務(wù),到組件。而根據(jù)現(xiàn)有的系統(tǒng)資源,又可以倒推過來需要哪些組件與服務(wù)。所以我覺得,根據(jù)這個分層模型,我們可以靈活應(yīng)用,好好體會與應(yīng)用soa這個思想。