明確SOA中“A”——架構真正含義
並非不存在對於SOA中各個要素進行明確驗證的行業研究;同樣,也並不缺少書本、紙張、研究學者,甚至是通過部落格等形式主張或贊同多種SOA定義的熱衷者。但是,事實上關於SOA的任何討論仍然會迅速的轉變成戴維·本-古裡安(David Ben Gurion)所說到的 “哪裡有兩個猶太人,就會出現三種意見”這類IT版本的政治格言。
同樣,哪裡有兩個IT業者,就會出現三種關於SOA的意見,這是很奇怪的,因為到最後,SOA將成為IT領域裡,一個任何人都可以隨時掌握非常簡單的概念。這樣的情況也是非常棘手的,可能在這個IT領域裡,任何一個人掌握的SOA都是錯誤的。除非我們在SOA定義上達成一致,此間產生的任何研究和推斷結論都將是垃圾,因為它們的前提是無效的。
舉例來說, AMR研究機構所提供的報告透露IT業在SOA上的投資將在未來四年內達到520億美元,77%的IT公司將建立起屬於自己的SOA。但該報告中的一些受訪者認為,SOA對其來說只是地板蠟,而另一些則將之看作餐後甜點而已,總之僅僅只是一些錦上添花,但又可有可無的東西,因此這樣的一份報告並不能真正的說明具體的問題,存在瑕疵,甚至是不可行的。
這並非是在挑AMR研究機構的毛病,但在採訪過這麼多負責SOA實施的資訊長之後,我相信那些AMR研究機構的調研者肯定深知,接受訪問的人們對於SOA的定義大多數必定持一種不贊成的態度,甚至有可能他們中的很多人正在遵循錯誤的SOA定義進行操作。
這並不是說這個錯誤認知所帶來的影響會很大,否則也不會出現當前幾乎所有的專家與預測者都在這個問題上隨意發表意見這樣的情況了。這種情況無疑將影響IT技術供應商所做出的回應,他們正極力推廣著圍繞SOA設計的平臺並開始實施,某些情況下,他們的分歧還在不斷的擴大並演變的愈發廣泛。
為了讓全球IT領域真正從SOA中獲益,我們必須首先理解SOA的含義。那麼就讓我們從SOA的“A”開始吧。A代表架構,特別是在SOA的情況中,它代表著軟體架構。為了避免一系列關於“什麼組成了架構”的爭論,我將引用IT基礎架構標準庫(ITIL)使用的定義。
ITIL 第三版中的定義也許是IT領域最為廣泛接受的IT服務管理方法。其平臺中立與供應商中立的方法為全球大企業成功使用。它對架構的定義如下:“系統或IT服務的結構,包括構件相互之間以及與其所處環境之間的關係。架構還包括指導系統設計與演變的標準和準則。”
聽起來不錯!但這具體意味著什麼呢?有幸的是,有人在維基百科上用簡單易懂的語言為架構下了定義,這個定義在建築方面對架構做了如下定義:作為過程來說,架構是使用人力或機器設計並建造建築物以及其他有形結構的活動,主要是為了有目的的提供社會住房。
但是,接下來的一句與ITIL第三版完全吻合,並更易於被任何一個不具備深層技術背景的人,包括資訊長或執行長理解。更廣義來說架構包括整個建設環境的設計,從巨集觀層面一個建築如何與其周圍人造景觀(城市規劃,城市設計以及景觀建築)相融合,到微觀層面的建築或建設細節,有時還包括傢俱。
我們當中有很多人都認為:架構僅僅意味著設計、藍圖、流程圖或是模型。但關鍵在於一個架構,如果建設得當的話從來不是孤立存在的,它的設計必須存在於整個建設環境中。這一特點會帶來許多問題,也能製造無限的機遇,一切都取決於你的觀點角度。
我再舉一個權威的例子:建築大師Frank Lloyd Wright的流水別墅。當時和現今的大多數建築師在那種情況下都會設計成在山間幽靜處的空曠地上挺立的建築。而Wright則設計了一個建築與其周圍自然環境的完美集合。他還設計了核桃傢俱、固定裝置、藝術裝飾以及燈光—每一個室內空間細節都被考慮到了,包括居住者將如何看待該建築的暱稱及其原因為何。
Wright的架構不僅僅是一套死板的建築藍圖,他考慮到了對於整體建築環境的設計。其結果就是他的設計成為了現在建築中最偉大的範例之一。這對於面向服務軟體架構來說是一個很好的靈感。
這是因為一個軟體架構必須不僅僅定義最終執行的結構。它還必須明確構件之間、最終系統執行的環境併為現存和未來的程式設計師在提供準則以指導他們所有的內容將如何配合並融入所處的環境中去,就像流水別墅的架構一樣。
在SOA的情況中,這意味著各個構件應該如何嵌合併融入業務環境。因此,如果你的企業沒有將SOA的設計建立在其所處的環境之上,那麼它僅僅是SO,而非SOA。
相反,有了架構,才有面向服務架構。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-430114/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 「系統架構」CAP定理的含義架構
- SOA之(1)——SOA架構基礎概念架構
- linux記憶體的真正含義Linux記憶體
- jsjavascript:void(0)真正含義(轉)JSJavaScript
- 分層架構和SOA架構
- SOA架構和微服務架構的區別架構微服務
- 【iOS】鏈式程式設計的真正含義iOS程式設計
- 單體架構,SOA,微服務架構微服務
- SOA:編織未來IT架構架構
- SOA系統架構問答架構
- CLUSTER_DATABASE_INSTANCES 引數的真正含義Database
- SOA標準之—-JBI架構思想架構
- 傳統ESB與SOA架構融合架構
- SOA 治理框架和解決方案架構框架架構
- SOA之(2)——SOA架構基礎概念與設計框架架構框架
- 理解VC++裡字串型別的真正含義 (轉)C++字串型別
- SOA架構和微服務架構的區別是什麼?架構微服務
- c++中&含義C++
- explain中filesort含義AI
- 面向服務架構(SOA)的原則架構
- SOA參考架構的應用示例架構
- 「全棧開發」在就業市場的真正含義全棧就業
- “我想學程式設計”的真正含義是什麼程式設計
- Java中static的含義Java
- group by中cube含義解析
- SOA架構實踐首先從企業級IT架構設計著手架構
- 給公司部門設計的SOA架構架構
- SOA重塑證券企業應用架構應用架構
- 架構設計師與 SOA , 第 2 部分架構
- 架構設計師與SOA, 第 1 部分架構
- ERP與SOA結合:基於SOA的ERP體系架構架構
- 什麼是真正的架構設計?架構
- 誕生至今,大資料的真正含義到底是什麼?大資料
- 計算機程式的思維邏輯 (8) - char的真正含義計算機
- 亞馬遜如何變成 SOA(面向服務的架構)?亞馬遜架構
- 說說面向服務的體系架構SOA架構
- C++中&和*的含義C++
- Spring中bean的含義SpringBean