昨天與兩個同事聊到soa,由於大家都有在電信領域開發的背景,討論中形成了對soa較為準確和生動的理解,特寫此文以記之。
現在soa的話語權主要集中在ibm,bea這樣的大公司手裡,在我看來,他們最擅於將簡單問題複雜化,用時下流行的話說,叫做"忽悠",愣是可以把乙個簡單的soa,劃分若干個看似nb的組成要素,再冠以soap, wsdl, uddi, esb等很神秘的詞彙。
在電信網路中,同一種裝置,一般由不同的廠家生成,同乙個網路中,往往有多種裝置,多個廠家提供,但運營商又需要對這些裝置集中,統一的管理,這樣的現狀和需求,催生了乙個重要的管理架構,這個架構名字很簡單,叫做ma結構。
ma的原理也很簡單,m就是manager, a就是agent,每個裝置,除了需要實現自己的業務功能(如路由器的業務功能就是路由功能)以外,還要讓自己能夠融入到網路中,讓上級的網管(manager)能夠管理,所以往往這樣的裝置,還需要附帶乙個agent,這個agent將本身的被管功能暴露給上級的網管。
展開一下,ma結構是可級聯的,有些實體(軟體或者裝置),它作為下層實體的manager,同時又是上層實體的被管實體,其自身又需要附帶agent,這些關係,有時候也用南向,北向介面指代,南向就是本實體和下層被管實體之間的介面,北向就是本實體和上層管理者之間的介面,ma就是站在這兩種介面兩側的物件。
回過頭來看現在的soa,在我們看來,其本質就是軟體產品的agent,讓軟體像硬體那樣具有互通性。
由於裝置的標準化較高,定製化程度較低,所以,裝置軟體的模組化,整合化較高,相應的這些方**也早於一般應用軟體和業務系統。
從soa宣稱的各種功能和好處來講,本質上要求上soa的軟體系統像裝置一樣開發,系統內部功能自行開發,系統要以標準、統一的介面與外部整合,wsdl的服務定義,與snmp的mib定義何其相似。在裝置的開發中,snmp等協議早已相對完善,其中所涵蓋的內容,包括命名,建模,服務的定義和發現,通訊協議棧,和soa的內容也差不多,只是用於不同的層面。
我對SOA的理解
每次給客戶做工作流培訓,都要接觸不同的行業,但我每次都被問了乙個同樣的問題 hongsoft老師,請問應該怎麼理解soa?這個問題其實和工作流培訓關係不大,但現在如火如荼的soa的推廣都和bpel扯上了關係,而bpel又和工作流間 說不清,道不明 所以我還真要說說,我是怎麼理解soa的。7 80年代...
我對SOA的反思 SOA架構的本質
年初的時候,寫過一篇名為 國內eai正當時,bpm為時尚早,workflow持續增長,soa依然概念 的blog日誌。那個時候,我認為soa還依然是個很 虛 的概念。而現在,我只能說 sorry,那時候的我,錯了。soa已經不再是概念,而是乙個實實在在的構架了。在寫完那篇帖子之後,我一直在反思soa...
我對SOA的反思 SOA架構的本質
年初的時候,寫過一篇名為 國內eai正當時,bpm為時尚早,workflow持續增長,soa依然概念 的blog日誌。那個時候,我認為soa還依然是個很 虛 的概念。而現在,我只能說 sorry,那時候的我,錯了。soa已經不再是概念,而是乙個實實在在的構架了。在寫完那篇帖子之後,我一直在反思soa...