SOA
的三個方面(譯)
原始
url: http://www.davidchappell.com/blog/
這兩天看到了一篇不錯的關于
SOA
的文章,不敢獨享,只可惜是
E
文,所以抽空翻譯了一下,跟大家分享。
?
以下為本博客使用說明
我們的
BlogJava
博客特別為大家的方便閱讀提供了以下快捷功能:
需要查找關鍵字―――――――――――――――――請按
CTRL
+
F
想以后還能看(添加到收藏夾)――――――――――請按
CTRL
+
D
想刷新一下網頁內容―――――――――――――――請按
F5
(應該不需要的,因為
BlogJava
已經完全實現了
Ajax
)
想保存到硬盤上―――――――――――――――――請按
CTRL
+
S
需要調用本地(
Jini
)服務查看源代碼――――――――在網頁空白處點擊鼠標右鍵+
V
不想看了――――――――――――――――――――請按
ALT
+
F4
如果是標簽頁瀏覽器―――――――――――――――請按
CTRL
+
W
?
實話說,我們比
Google
的
Gmail
還早實現方便的快捷方式,厲害吧。這里不需要對我表示敬意,只需要對博客的建設者
Dudu
老兄留言表示一下感謝就好了。
?
在開始的時候先介紹一下
SOA
的概念。
?
什么是
SOA
?
?
SOA
的全稱是
Service Oriented Architecture
,面向服務架構。
?
她是指為了解決在
Internet
環境下業務集成的需要,通過連接能完成特定任務的獨立功能實體實現的一種軟件系統架構。這句話的意思就是
SOA
不是一門語言或具體的技術,而是一種軟件的系統架構,應該說更像一種模式,是一種為了解決復雜的
Internet
業務應用而提出的一種體系結構(在我感覺里,這種架構的提出更像
MVC
模式的提出,不過我們總喜歡用模式啊,架構啊的話來體現自己是行業內專業的人,但其實無論說是模式還是架構,這都只是一些名詞,如果組合現擁有的技術去實現自己的應用才是最有用的,就不用多談所謂的架構還是模式了)。
?
譯文
(
翻譯:陳朋奕,如果有錯誤請來我的博客指出
)
:
?
在做軟件開發的人,架構這個詞經常被用在三種不同的場合中:應用體系架構(
Application Architecture
),基礎體系架構
(Infrastructure Architecture)
以及企業架構體系
(Enterprise Architecture)
。而
SOA
的概念橫跨了這三種體系,然而很多人在談到
SOA
的時候總喜歡不自覺的把
SOA
跟其中的一種混為一談。
?
譬如開發者大多對如何建立
SOA
應用感興趣,因此他們關注的趨向更多是
SOA
中的應用程序的體系架構方面。而
Web Serivces
管理工具的賣主一般認為
SOA
主要是關于基礎組件體系結構的,同樣的,用戶群體會認為
SOA
是用于企業業務應用結構的。
?
這三種觀點都是有意義的,因為這映射了
SOA
的三個應用層面。下面是關于這三個方面的一些簡單的講解:
?
――――
SOA
應用體系架構:是建立
SOA
服務的指導、模式以及實現的方法。關注面向服務軟件平臺和個體應用的開發者會特別強調這個方面。如
Microsoft’s Windows Communication Foundation
(
WCF
微軟視窗通訊基礎組件)以及最近提出的
Service Component Architecture (SCA
服務構件體系
)
就是跟
SOA
這個方面的應用實現。
?
――――
SOA
基礎體系架構:是管理和操作
SOA
服務的指導、模式以及實現的方法。
SOA
的大思想家們有時也會承認自己在這個方面有不足,但真正去實現這些功能的人卻知道這些方面的重要性。一般來說,賣主會特別喜歡把關注點和行動實現集中在這里。
?
――――
SOA
業務體系架構:利用
SOA
并從
SOA
中獲得商業利益的指導、模式以及實現的方法。而關于技術的討論仍然會在這里出現,但更多的關注點已經轉移到了人的身上(以人為本?事實上,我對
SOA
面臨的最大挑戰是人的觀點——人通常比技術更多問題——有一些自己的看法)。不過,來自
ZapThink
的分析家們通常對
SOA
提出的建議都是在強調這個方面。
?
??????
我看到過很多人關于
SOA
的意義(甚至是價值)的爭論,其實他們的爭論只是關于應用程序體系架構主導還是企業體系架構主導而已。這些專業術語僅僅是在我們都認同的情況下才會體現其價值的,因此當別人在討論這個被過度使用的術語的時候我們應該保持清晰的思路,清楚我們到底講的是什么才是我們應該把握的方向。