2
Introduction
IT架構師和建築師類似, 都必需具備多重觀點。同樣地,欲提高架構的質量,
也依賴架構師兼具多重觀點。
3
Architecture of Architectures
•本文基於5個元素觀點, 從這些觀點看到5項元素架構, 將之融合為一個整體。
•然後,從10個觀點 觀看上述的整體, 探討我們的優勢與弱點, 始能有效提升架構質量 及產業效益。
4
Part #1 架構與觀點
5
架構:融合“序”與“繁雜多變”
VISA信用卡創始人哈克(Dee Hock)融合了“序”與“繁雜多變”,創造了傑出的VISA系統架構。
參閱:哈克著 <<亂序>>,李明譯,台灣大塊文化出版。
6
容易:以 “序” 包容 “繁雜多變”
古代中國的建築師(架構師)設計了萬里長城,
包容了北方的“繁雜多變”,創造了中原長治久安之“序”。
7
多重觀點:兩隻眼睛的用意
讓我們兼顧“序”與“繁雜多變”。
“序”是绝佳的手段,“容易”是甜美的目標。
8
Part #2 5個元素觀點
9
IT架構的傳統觀點(EV1)
傳統的單一元素觀點:
以技術為Input,以產品為Output。
10
近年來熱門新觀點(EV2)
目標:以IT系統支撐企業。如同:IT系統架構是樹幹, 企業架構是樹枝。
11
觀點(BV2)的實踐:例如SOA
手段:兩種架構融合為一
12
觀點(BV2)的實踐:例如DoDAF
13
中華文化特色之觀點(EV3)
目標:以文化支撐技術。
如同:文化架構是樹幹,
技術架構是樹枝。
14
觀點(BV3)的實踐:Façade Pattern
四合院 VS. Façade Pattern
15
觀點(BV3)的實踐:Interface 設計
<<禮記>>: “良弓之子,必學為箕”。
接口、卡榫與基類
16
創意思考之觀點(EV4)
17
觀點(EV4)的實踐:創意
Gelb寫一本關於達芬奇(da Vinci)的書:<<7 Brains:怎樣擁有達芬奇的7種天才>>寫道:「能不能看出事物的關係和模式,
並做出不尋常的組合和關連, 乃是創造力的核心要素。」
18
觀點(EV4)的實踐:逆向推理
然而,從那個角度去觀察事物呢? 又以什麼新的形去組合及連結這些事物呢?該書寫道:達芬奇經常寫下『務必徹徹底想清楚』和『先考慮終點』。
19
觀點(EV4)的實踐:假設/實證
Gelb在書中提到,達文西擅用實證,從錯誤中學習,以經驗來實證知識的真假,如下:「文藝復興的真正意義,在於它改變了許多基本假設、成見和信念。達文西應用了實證原則,挑戰當時的世界觀,成為這場革命的先驅。」
20
觀點(EV4)的實踐:思考架構
21
IT產業之觀點(EV5)
22
觀點(EV5)的實踐:規模經濟
IT產業架構將創新之IT系統架構「創造岀大型規模經濟及效益。」
目標:以IT系統支撐IT產業。如同:IT系統架構是樹幹, IT產業架構是樹枝。
23
觀點(EV5)的實踐:強龍 + 地頭蛇
強龍只做系統40%, 預留60%工作給地頭蛇,但強龍享有60%的收益。
例如:Google 的Android Framework, 微軟的.NET Framework等。
24
觀點(EV5)的實踐:軟硬整合是王道
軟件是樹幹,
硬件是樹葉,企業是果實。
25
元素架構之Summary
思考、文化是我們的
優勢,最欠缺的是:
IT產業/IT系統架構。
26
Part #3 10個整體觀點
27
衍生出整體架構之多重觀點
28
觀點View #1 ~ #5
V1. 架構是創意的表現,架構來自創意與思考, 創意是假設(Hypothesis)。V2. 假設需要檢驗,以需求檢驗創意與思考。V3. 創意根源于固有文化, 設計是文化與技術相遇的地方。V4. 從文化體悟序(Order)之美, 追求建立美的IT系統架構。V5. 以標準化與互換性衡量美之效益。
29
觀點View #6 ~ #10
V6. 以序容易(包容改變),包容企業的繁雜多變。V7. 上層架构設計是IT系統與企業相遇的地方。V8. 下層架构設計是軟件與硬件相遇的地方。V9. 上下層虛實相依,實踐美之IT系統架構。V10. 架構質量發揮於IT系統與IT產業相遇的地方。
30
V1. 架構是創意的表現, 架構來自創意與思考, 創意是假設(Hypothesis)。
架構師 / 建築師的Top Down思維, 又稱為逆向推理。開發者(Developers)是Bottom Up思維, 又稱為正向推理。
31
以最终目標(Goal)為起點
Step-1. 找到燈塔
32
V2. 假設需要檢驗, 以需求檢驗創意與思考。
架構師 / 建築師的產出是:可實現的計畫。然後交由開發者去執行。
Step-2. 找到航線
33
V3. 創意根源於固有文化, 設計是文化與技術相遇的地方。
中華文化讓我們面對科技變化時,不在心浮氣燥,
而得到平靜心靈和流暢思緒, 進而得到高雅的設計。文化源源不絕提供許多思維上的模式(Pattern), 讓我們在面對設計上全新的挑戰時, 得到創意及其實踐的勇氣。當設計成為文化與技術相遇的地方,
則設計品就呈現出白裡透紅的高雅氣質了。Step-3. 注入文化涵量
34
V4. 從文化體悟序(Order)之美, 追求建立美的IT系統架構。
易经干卦:天的多變。
坤卦:大地的繁(即複雜繁榮) 。 Google Android Framework: 包容複雜而呈現簡單的序, 支持IT產業及企業的無盡繁榮。
Step-4. 注入美的涵量
35
不登長城,不知“序”為何物
古代的偉大建築師(即架構師)深深體會中原廣大居民內心深處的渴望:「序」。
因為北方游牧民族的干擾,而讓他們失序了。
因此他們內心並不是渴望敏捷地應付游牧民族
的干擾,而是能安居樂業的穩定之序。
36
V5. 以標準化與互換性衡量美之效益。
文藝復興時代,威尼斯(Venice)擁有強大武裝艦隊,其明訂標準化與互換性的要求,例如:所有的弓,必需符合發射任何箭矢之用。所有的舵柱,必需按照相同尺寸和樣式製造。所有船具的規格介面均需一致,列為船載配備,
可在別港或航行中更換修理。
因為強盛,所以要求標準化和互換性。
反之,不追求標準化和互換性的IT產業,意味著不夠強強盛。
Step-5. 依循強盛指標
37
V6. 以序容易(包容改變), 包容企業的繁雜多變。
古代的建築師擅長於設計各種長城,包容關外的繁雜多變,從失序中重建序。
現代的架構師擅長於設計像SOA的IT長城,包容企業的繁榮多變;於是,從人月神話中,
締造IT人員安居樂業的殿堂。
Step-6. 興建IT長城
38
V7.上層架構設計是 IT系統與企業相遇的地方。
手段:以序包容企業的繁榮多變,
目的:維持IT系統的變動自由度。 (以SOA為例)
Step-7. 維持IT系統自由度
39
V8.下層架構設計是 軟件與硬件相遇的地方。
Step-8. 維持硬件 模組自由度(以Android為例)
40
V9. 上下層虛實相依, 實踐美之IT系統架構。
Step-9. 虛實相依
(以Android為例)
41
V10. 架構大規模效益發揮於 IT系統與IT產業相遇的地方。
Step-10. 強龍不壓地頭蛇 (以Android為例)
42
Part #4 結語探討我們的優勢與弱點,始能有效提升架構質量及產業效益。
43
我們最欠缺的是什麼?
思考、文化是我們的優勢,
最欠缺的是:IT產業/IT系統架構。因此優勢無從發揮!!
44
優勢無從發揮之困境
• 沒有完美IT系統架構的支撐, 無法建立生產分工的CN(Co-Design Nation-wide)產業架構。
• 比喻:張良是Architect, 韓信是Developer Leader ,
韓信滿京城表示沒有分工產業架構。參閱:高煥堂 撰寫 “CN軟件策略”,<<程序員>> May 2007。
45
優勢無從發揮之困境(續)
• 沒有完美IT系統架構的支撐, 無法建立強龍+地頭蛇的聯合服務 產業架構。
• 比喻:請看下一頁的愚公移山故事。
46
Google Android 的啟示:愚公移山
大家幾乎都聽過愚公移山的故事,但是大家常把焦點擺在愚公和移山,而忽略了畚「箕」的角色。
禮記.學記篇上有言:良弓之子,必學為箕。其意思是,欲做出優良的弓,必先好好研究
其模子(即箕)。
47
最近許多人知道Google推出轟動武林、驚動萬教的Android手機平台。
但是我們都關心如何在該平台上開發應用程式,
卻忽略了Android是個框架(Framework),而框架裡含有成百上千個「箕」類(註:基類是Super Class的譯詞)。
Google Android 的啟示:架構的威力
48
移動時代IT產業的三個分工角色:做畚箕者:如Andriod開發團隊。畚箕買主:如Google公司。挑畚箕者:如Android應用程式師。
Google Android 的啟示:強龍所為何事?
49
因為缺乏白裡透紅的
IT產業/IT系統之架構。
Google Android 的啟示:為何只能當愚公?
參閱:高煥堂 的4本Google Android書籍 www.misoo1.com 或 www.android1.net 或 e-mail: [email protected] 詢問
50
Part #5 Q&A