国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
觀點與展望,第 8 部分: IBM 架構(gòu)師為何以及如何成為了架構(gòu)師(轉(zhuǎn)與 developerWorks)
developerWorks 編輯團(tuán)隊, IBM

2007 年 4 月 24 日

和 IBM 體系結(jié)構(gòu)專家親密接觸。了解他們?yōu)楹我瞿壳八龅氖乱约叭绾芜_(dá)到目前的職位。探索他們職業(yè)生涯中遇到的種種曲折,了解他們?nèi)绾瓮ㄟ^這些經(jīng)歷最終進(jìn)入 IT 體系結(jié)構(gòu)領(lǐng)域中。

引言:雜家還是博學(xué)家?

閱讀“觀點與展望”專欄所有文章

 

長大后,您想干什么?雖然我已經(jīng)工作了很長時間了(已經(jīng)到了不愿意公開自己的工作年限的地步了),我仍然在考慮這個問題?;蛟S您也是這樣。事實上,如果您和我一樣是生育高峰期出生的,您可能將不斷問自己這個問題,給出各種不同的答案,直到有一天極不情愿地被推入退休隊伍中為止。

本月我們將詢問專家組一個類似的問題(不過我們將問的是他們的過去,而不是他們對將來的看法):

為什么您覺得 IT 體系結(jié)構(gòu)方面的工作適合您,為了成為架構(gòu)師,您走過了什么樣的路?

正如您將看到的,IBM 技術(shù)帶頭人也經(jīng)歷了同樣的心路歷程。事實上,他們似乎都有一個共同的特點,就是始終都在積極地嘗試獲得新的經(jīng)驗和知識?;蛟S這使得他們有些像雜家, Grady Booch 就使用這個詞來描述自己,而這又被 Merriam Webster 定義為“閑人”或“不安分的人”。(此處并不是說“不誠實或沒用的人”。)更可能的是,這使他們成為博學(xué)家(即 Merriam Webster 所說的“具有各方面知識”的人)。他們?nèi)兆舆^得似乎都不錯!

對于希望成為 IT 架構(gòu)師的普通人,這可能會使他們望而卻步。那么,究竟在 IT 領(lǐng)域中工作的哪些人如此有創(chuàng)造力而同時又過得這樣快樂呢?但他們每個人都是很久以前從普通人開始一步步做起的。他們并不是一下子就獲得了成為 IT 架構(gòu)師的所有技能,他們經(jīng)歷了漫長而艱難的過程,并深入各種不同領(lǐng)域才得到了所需的技能。設(shè)計方面也是如此。其他人則是在嘗試了其他角色后才選擇這個職業(yè)。

考慮到我們的專家組成員對新鮮事務(wù)的好奇心,我忍不住認(rèn)為這可能并不是他們中的任何人的最終歸宿。如果我們要討論的是他們以后的職業(yè)生涯,我想會發(fā)現(xiàn)他們在將來承擔(dān)起新的任務(wù)、對新的挑戰(zhàn)發(fā)起攻擊。我們都經(jīng)歷了很長的成長過程,但我認(rèn)為他們有可能還會繼續(xù)這個過程。因此,如果下次問他們這個問題也會非常有意義:“長大后,您想干什么?”讓我們拭目以待吧。

developerWorks Architecture 團(tuán)隊——

Paul Dreyfus,編輯
developerWorks

pdreyfus@us.ibm.com




回頁首


放下清高,親近現(xiàn)實

任何方面都能推動架構(gòu)師的工作:客戶、他的團(tuán)隊、體系結(jié)構(gòu)、小故障和各種問題。我認(rèn)為體系結(jié)構(gòu)更多的是一種態(tài)度、完美地建起軟件“大廈”的熱情,但現(xiàn)實卻往往使得這不那么完美。不過,追求完美的想法與現(xiàn)實之間的平衡會讓架構(gòu)師保持一定的清醒態(tài)度,因為他必須向客戶交付一個正常運行且性能良好的系統(tǒng)。

回憶:我看到自己參加會議、在白板上畫圖、處理一個接一個的問題。在團(tuán)隊的幫助下,我嘗試?yán)眠^去所積累的知識在問題領(lǐng)域中的各種力量和約束之間求得平衡。模式?或許吧。我喜歡體會團(tuán)隊活力在周圍流動的那種感覺——每一分鐘,我都能在同事仔細(xì)描述各種情況的細(xì)枝末葉時獲得啟發(fā)和學(xué)到新的東西:為什么這個情況略有不同,因而必須修改模式,以處理實際情況。

編寫代碼的日子:編寫代碼是孤獨的探尋過程。這個探尋過程同時也是永不停止的。有時候還沒有回報。找到錯誤,會得到表揚。如果最終的交付內(nèi)容/版本中沒有錯誤,則不會提到這些代碼中的重要性和您在其中投入的精力!

我喜歡編程——不過現(xiàn)在很少進(jìn)行此類工作了,僅在學(xué)術(shù)中需要時才會做這樣的工作。處理項目時,我已不再進(jìn)行代碼編寫工作了。

香港,1980 年:我開始使用 BASIC 和 Fortran 進(jìn)行編程。我非常喜歡編程。轉(zhuǎn)眼到了 1995 年,我開始進(jìn)行 Java™ 編程,享受接口實現(xiàn)和松散耦合所帶來的純粹樂趣。但應(yīng)該如何設(shè)計系統(tǒng)結(jié)構(gòu)呢?

即使獲得了最好的運行代碼,仍然需要一個能夠承受非功能需求沖擊的結(jié)構(gòu)。因此,您需要能夠?qū)Ω鞣N相互沖突的約束進(jìn)行權(quán)衡,在重復(fù)考慮當(dāng)前情況的細(xì)微差異的前提下進(jìn)行決策。

我比較認(rèn)可“模式生成體系結(jié)構(gòu)”這樣的學(xué)術(shù)流派。從藍(lán)圖(一組基本模式)開始,然后根據(jù)自己的實際情況進(jìn)行擴(kuò)展和自定義。這就在最佳實踐和現(xiàn)實具有特定的無名品質(zhì)(QWAN,Quality Without a Name)之間獲得了最佳的平衡點,這一點我非常喜歡。

我喜歡自己的架構(gòu)師工作。 :)





回頁首


和雜家一起旅行

并不是我決定要做一名架構(gòu)師,而是我從事的工作所涉及的內(nèi)容正是我們目前所稱的體系結(jié)構(gòu)方面的東西。

開始的時候(大部分時間,甚至到現(xiàn)在也是如此),我們并不進(jìn)行“體系結(jié)構(gòu)設(shè)計”。我們只編寫程序,其中的任何體系結(jié)構(gòu)都是意外出現(xiàn)的。

我在 14 歲時編寫了第一個程序(使用的是 Fortran,當(dāng)然我對于良好的設(shè)計所知并不多,體系結(jié)構(gòu)方面懂的就更少了)。上大學(xué)時(最初在 Air Force Academy,后來在 Santa Barbara 的 University of California),我遇到了當(dāng)時形成了深度設(shè)計的早期理念的很多人:David Parnas、Mary Shaw、Tony Hoare、Edsger Dijkstra 等。剛剛二十歲出頭的時候,我擔(dān)任過一些相當(dāng)大(甚至按照今天的標(biāo)準(zhǔn)也可以這么說)的實時分布式系統(tǒng)的項目工程師和項目經(jīng)理的角色,為美國軍事航天項目提供支持。

1982 年退役后,我加入剛剛創(chuàng)建的 Rational®,參與了 Ada 項目的大量工作。我的大部分時間都奔走于美國各地,與合同客戶和軍隊協(xié)作,以幫助他們應(yīng)用軟件工程的最佳實踐以及這個新興的語言。

我一直是個雜家,出現(xiàn)在科學(xué)所指引的地方。我逐漸發(fā)現(xiàn)商業(yè)領(lǐng)域的很多組織開始邀請我?guī)椭麄冞M(jìn)行類似的工作,因此我開始偏離 Rational 的核心業(yè)務(wù),將我的精力投入到這個更大的領(lǐng)域中。也大約在這段時間,我撰寫了第一篇有關(guān)面向?qū)ο蟮脑O(shè)計的論文,并開始編寫我自己的第三本書(與此主題相關(guān))——其中所有內(nèi)容不過是對我通過這些項目得到的經(jīng)驗的總結(jié)。我還與 Bjarne Stroustrup 進(jìn)行了合作(他是 C++ 的發(fā)明者,我們甚至還一起去參加了全國性的巡回演講),因為我們發(fā)現(xiàn)他的語言設(shè)計方法和我的系統(tǒng)設(shè)計方法非常相似。

在那段時間里,我仍然進(jìn)行編程工作:我使用 ObjectPascal(在 Mac 平臺上)編寫了 Rational Rose 的原型,并采用 Smalltalk(PC 平臺上)編寫了第二個更為完整的版本。Dave Stevenson 和我是第一個 Rational 建模產(chǎn)品的架構(gòu)師(采用 C++ 編寫;這對 Rational 是一項突破,因為之前的所有產(chǎn)品都是使用 Ada 完成的)。

這些產(chǎn)品進(jìn)入市場后,我再次承擔(dān)起作為架構(gòu)師和體系結(jié)構(gòu)指導(dǎo)人的角色,為我們的一系列最大的客戶服務(wù)。在此期間,我受到 Philippe Kruchten 的工作的很大影響;他領(lǐng)導(dǎo)進(jìn)行了早期的流程設(shè)計等方面的工作,同時他還是 Canadian Air Traffic Control System 的首席架構(gòu)師之一。他也參與了有關(guān)體系結(jié)構(gòu)描述的 IEEE 標(biāo)準(zhǔn)方面的工作。

我在嘗試讓人們記住,“SOA”中的“A”表示“體系結(jié)構(gòu)”。
——Grady Booch

最近這些年,Kent Beck 和我組織了名為 Hillside Group 的模式研討會;這個研討會今天仍然是模式文化的重心。我是 World Wide Institute of Software Architects (WWISA) 的最早成員之一,同時也是后來成立的 American Institute of Software Architects (AISA) 的第一批成員之一,這兩個組織都致力于發(fā)展軟件體系結(jié)構(gòu)實踐。

這段時間里,隨著 Rational 的業(yè)務(wù)全面納入 IBM 中,我也回到了我原來進(jìn)行的體系結(jié)構(gòu)方面的工作。我不僅對 IT 體系結(jié)構(gòu)感興趣,而且也對軟件密集型系統(tǒng)的每個領(lǐng)域的體系結(jié)構(gòu)原則感興趣。體系結(jié)構(gòu)方面仍然有很多東西我們不知道——它所代表的東西、它所不能代表的東西、如何最好地表示它、體系結(jié)構(gòu)級別存在何種模式等等。因此,我花費了大量的時間通過實踐和研究來進(jìn)行學(xué)習(xí)。在實踐方面,我仍然繼續(xù)擔(dān)任我們客戶(甚至也包括尚不是我們客戶的組織)的架構(gòu)師兼體系結(jié)構(gòu)指導(dǎo)人的角色。在研究領(lǐng)域,我正在編寫 Handbook of Software Architecture,該書的目標(biāo)是確定各種有意義的軟件密集型系統(tǒng)的體系結(jié)構(gòu)。我與 Software Engineering Institute (SEI) 的體系結(jié)構(gòu)人員進(jìn)行了大量的合作。同時,我也非常密切地關(guān)注著 Murray Cantor 在系統(tǒng)工程方面的進(jìn)展。我在嘗試幫助人們記住,“SOA” 中的“A”表示“體系結(jié)構(gòu)”,另外還參與了一些新興商業(yè)和行業(yè)體系結(jié)構(gòu)標(biāo)準(zhǔn)方面的工作。

我仍然在進(jìn)行編程工作(大部分時間都是用 Java),但我想自己現(xiàn)在終于知道了如何設(shè)計我所編程的系統(tǒng)的體系結(jié)構(gòu)。





回頁首


度過非歐幾里得惡夢

當(dāng)時是我學(xué)生生涯的倒數(shù)第二個學(xué)期。我在堆滿研究論文、翻開的書籍和無數(shù)的潦草筆記的書桌上埋頭苦讀,并考慮我的畢業(yè)論文的命題。我被這個抽象的幾何模型困擾著,試圖說明其對計算圖形的潛在影響。我成天看不同維度形狀的視圖、準(zhǔn)平面和 N 維空間的抽象數(shù)學(xué)變化,都有些頭大了。在此過程中,我清楚地發(fā)現(xiàn)自己處于這樣一個十字路口:理論計算機(jī)科學(xué)(學(xué)術(shù)方向)或應(yīng)用計算機(jī)科學(xué)(計算機(jī)行業(yè)從業(yè))。我非常果斷地選擇了后者,畢業(yè)后加入了一家在《財富》雜志排行 10 強(qiáng)的銀行。

我在此銀行中擔(dān)任助理咨詢師,我所屬的團(tuán)隊負(fù)責(zé)設(shè)計廣泛分布于全球范圍內(nèi)的信用證解決方案。我全面接觸了正式軟件開發(fā)生命周期方法、經(jīng)過業(yè)界檢驗的工程原則、軟件產(chǎn)品堆棧和大量商業(yè)銀行領(lǐng)域的概念。有了這些經(jīng)驗,我大膽地來到瑞士,為多家銀行提供咨詢服務(wù),指導(dǎo)他們解決多個領(lǐng)域的技術(shù)問題(如進(jìn)行電子文檔存檔,以實現(xiàn)異類數(shù)據(jù)集成)。瑞士人對精工和質(zhì)量方面的關(guān)注是非常有遠(yuǎn)見的,而他們對采用新興技術(shù)的渴望讓我有機(jī)會接觸各種創(chuàng)新產(chǎn)品。

……他們允許我對應(yīng)用程序?qū)舆M(jìn)行分析,并能夠直接研究 OS 內(nèi)核和基礎(chǔ)硬件的基本細(xì)節(jié)。
——Sanjay Bose

到此時,我已非常深入地了解了銀行業(yè)務(wù),并加入了一個全球性 SI 的研發(fā)部門,重新回到我最擅長的領(lǐng)域。在這里,他們允許我對應(yīng)用程序?qū)舆M(jìn)行分析,并能夠直接研究 OS 內(nèi)核和基礎(chǔ)硬件的基本細(xì)節(jié)。我對 UNIX SVR4 進(jìn)行了修改——調(diào)整引導(dǎo)和調(diào)度算法、優(yōu)化設(shè)備驅(qū)動程序、調(diào)整事件和中斷處理、對機(jī)器代碼進(jìn)行反向工程、研究前輩(Ritchie、Thompson、Joy)編寫的組件、使其識別 x86 和 RISC 處理器內(nèi)部指令、處理后來出現(xiàn)的新興微內(nèi)核和實時操作系統(tǒng)。從中獲得的經(jīng)驗鞏固了我對解決方案和應(yīng)用程序實際 如何運行的認(rèn)識。

隨后進(jìn)入 .COM 時代,全世界都開始更多地接觸面向?qū)ο蟮母拍?,而我也不希望被這個潮流拋在腦后。因此,我開始擔(dān)任一家新成立的公司的首席工程師,該公司當(dāng)時正在研發(fā)用于解決異類企業(yè)數(shù)據(jù)源的實時集成的產(chǎn)品。我負(fù)責(zé)設(shè)計和構(gòu)建核心運行時基礎(chǔ)設(shè)施、元數(shù)據(jù)管理和數(shù)據(jù)訪問框架。這個公司真的是一個 OO 新兵訓(xùn)練營。我的同事(大部分都剛剛畢業(yè))都具有完全的 OO 意識——我甚至懷疑他們將 Gang-of-Four 的書作為早餐!我很快便成了 OO 的信徒,對 OO 設(shè)計、模式和技術(shù)以及如何將其應(yīng)用于 Java 以及早期 J2EE 了如指掌。除了核心產(chǎn)品體系結(jié)構(gòu)外,我還承擔(dān)其他一些任務(wù):客戶銷售、提供 UI 工具和人為因素方面的培訓(xùn)、生成安裝二進(jìn)制文件、排除客戶部署的故障等等。

很快我開始渴望感受大公司的那種節(jié)奏,隨后加入 IBM。最初我有些擔(dān)心自己會迷失在藍(lán)色巨人懷抱中,但很快發(fā)現(xiàn) IBM 的運作方式就像帶保護(hù)傘的 VC,充滿了主人翁意識和創(chuàng)新。我最初是 WebSphere Application Server 產(chǎn)品的一名開發(fā)人員,進(jìn)行的是系統(tǒng)管理和 EJB 容器組件方面的工作。之后,我加入了 IBM Research 的一個孵化項目 NextWeb,為 Web 服務(wù)建議和創(chuàng)建綜合框架,包括“on-the-glass”服務(wù)。由此引出了各種臨時標(biāo)準(zhǔn),并最后定型為 OASIS WSRP TC。同時,我還負(fù)責(zé)設(shè)計 WebSphere Portal Server 中的一些組件的體系結(jié)構(gòu),以將這些孵化技術(shù)投入實際應(yīng)用。

到此時,我掌握了 Web 服務(wù)和初期 SOA 的要點。我開始為 IBM 戰(zhàn)略業(yè)務(wù)合作伙伴提供技術(shù)指導(dǎo),引導(dǎo)他們充分利用我們的中間件投資組合,從而更好地完成他們的重要產(chǎn)品功能。隨著 SOA 技術(shù)不斷成熟,我的這些服務(wù)范圍開始擴(kuò)展到大型 IBM 客戶和相關(guān)的適配器方面——共享技術(shù)策略、指導(dǎo)他們進(jìn)行體系結(jié)構(gòu)試點項目以及將他們的問題轉(zhuǎn)給我們的軟件產(chǎn)品團(tuán)隊。目前,我的工作重點已經(jīng)發(fā)生了進(jìn)一步的變化,負(fù)責(zé)將全球客戶活動中發(fā)現(xiàn)的關(guān)鍵差距和問題反映到 IBM 軟件投資組合和解決方案資產(chǎn)中,從而幫助推動 IBM 軟件部的 SOA 需求策略的發(fā)展。

我非常幸運,能夠親身經(jīng)歷 IT 的諸多方面,正如前面提到的,還通過這些經(jīng)歷磨練了我的基本學(xué)習(xí)技能。就今天而言,如果在處理技術(shù)理念僵局或應(yīng)付要命的競選活動(是的,在 IBM 也有這樣的活動)讓我感覺到自己的精力不足,為了重新打起精神,我只需要從書架上取下我的畢業(yè)論文看看就能辦到。





回頁首


確定重要的技術(shù)細(xì)節(jié)

我之所以認(rèn)為 IT 體系結(jié)構(gòu)是我的正確選擇,是因為這個技術(shù)領(lǐng)域是讓我最為癡迷的領(lǐng)域(現(xiàn)在仍然如此)。這種專業(yè)性驅(qū)使我在沒有任何時間期限時開展研究工作,也正是這個因素讓我錯過吃飯時間,因為我舍不得暫時停止閱讀有關(guān)新技術(shù)的資料。我非常喜歡將很多不同的觀點組合為一個具有內(nèi)聚力的交付內(nèi)容,嘗試將似乎不相關(guān)的東西形成一個更為相關(guān)的解決方案。體系結(jié)構(gòu)強(qiáng)調(diào)確定很多不同技術(shù)細(xì)節(jié)的挑戰(zhàn),這包括對項目的成敗非常關(guān)鍵的細(xì)節(jié),也包括對滿足涉眾的需求有直接影響的細(xì)節(jié)。

在我職業(yè)生涯之初,擔(dān)任的是開發(fā)人員的工作,工作重點在較大的軟件工程中非常具體的元素;這通常意味著主要在實現(xiàn)階段參與相關(guān)工作,而在體系結(jié)構(gòu)設(shè)計期間卻涉及的不多。我當(dāng)時所進(jìn)行的設(shè)計工作主要是“小型”設(shè)計,通常屬于一個應(yīng)用程序中的工作。隨著我職業(yè)生涯的發(fā)展,我越來越認(rèn)識到,即使通過非常嫻熟的技能創(chuàng)建了軟件構(gòu)建塊,但如果基本理解和體系結(jié)構(gòu)不正確,項目成功的幾率也將大打折扣。因此我開始主動尋找能讓我更多參與此類活動的項目。這讓我傾向于喜歡發(fā)現(xiàn)解決方案的總體概貌。一段時間后,我開始在項目進(jìn)行期間擔(dān)任架構(gòu)師的角色。以后的故事您都知道啦 :)





回頁首


從 FORTRAN 開始

我倒是希望自己對職業(yè)生涯以及整個人生都有所計劃,但我必須承認(rèn)并非如此。我女朋友和我曾就自由意志進(jìn)行過討論。她認(rèn)為存在自由。而我認(rèn)為我們是非常非常復(fù)雜的圖靈機(jī),完全由輸入信息序列定義。因此,我可能不應(yīng)該來回答這個問題。不過,每個人都知道我將如何回答。我的圖靈機(jī)進(jìn)入了一個狀態(tài),迫使我自然而無休止地鉆研任意主題。

我上大學(xué)前沒有見過計算機(jī)(準(zhǔn)確地說是大二才首次看到計算機(jī))。是的,我有些落后。實際上,我都是在那之后很久才首次看見計算機(jī)的。我在大二時見到了計算機(jī)終端。我當(dāng)時學(xué)習(xí)了 FORTRAN,才發(fā)現(xiàn)以下事實:

  • 我真的很喜歡編寫程序。
  • 我真的很擅長編程。

無論如何,我現(xiàn)在并不確定自己是否仍然對此很擅長。我仍然喜歡我工作的技術(shù)方面的東西:調(diào)整代碼、編寫小段 PHP、討論一些設(shè)計選擇、考慮重要的下一步工作。我定期到現(xiàn)場視察,花上一整天時間對項目進(jìn)行檢查,并與項目人員進(jìn)行討論?,F(xiàn)場人員說,盡管會受時差的影響而且每天工作時間很長,我似乎從來不覺得累。他們想知道我是如何做到的。這樣的日子是我工作中最有意思的日子,我非常喜歡。我對它們的喜愛程度超過了對咖啡的喜愛。

正是這個原因讓我覺得 IT 是我的正確選擇。那么,我走過的路是什么樣的呢?我不斷地探索新問題(現(xiàn)在也是如此)。我所走過的路似乎是最具挑戰(zhàn),也是最有趣的。





回頁首


基于廣泛 IT 領(lǐng)域?qū)嵺`經(jīng)驗的堅實基礎(chǔ)

我之所以選擇 IT 體系結(jié)構(gòu),有很多與 Bobby 相同的原因。我最開始負(fù)責(zé)維護(hù)其他人編寫的代碼。我經(jīng)常遇到這樣的情況,我要維護(hù)的代碼,除了編寫者本人外,幾乎沒有任何人能夠理解。(至少那些希望理解這些代碼的人無法理解。)為了更好地了解代碼所進(jìn)行的各方面工作,我要重寫代碼,以便能夠更好地了解系統(tǒng)如何工作。我發(fā)現(xiàn)(我的經(jīng)理和其他更為資深的軟件工程師也發(fā)現(xiàn)了這一點)自己能夠很好地重寫軟件,從而更便于其他人在我之后進(jìn)行維護(hù)。

隨著時間的推移,我的技能不斷提升,所接觸的項目范圍也越來越廣泛,我經(jīng)常發(fā)現(xiàn)所處理的軟件存在功能重復(fù)(或功能非常相近)。我會重新設(shè)計此類冗余功能,以使其包含在應(yīng)用程序內(nèi)的可重用模塊中,從而減少要維護(hù)的代碼量,降低出現(xiàn)錯誤的潛在可能性。

此時我發(fā)現(xiàn)自己希望在更廣泛的范圍內(nèi)應(yīng)用這些技能。我想知道我所處理的所有這些應(yīng)用程序如何一起工作。我想正是在此時我決定要成為一個 IT 架構(gòu)師。為了最終達(dá)到我的目標(biāo),我接觸了諸多 IT 領(lǐng)域的東西,包括 QA 測試和操作。我還在一個替換 ERP 系統(tǒng)的部署中扮演過主要角色:這項工作要求對舊 ERP 系統(tǒng)與對其依賴的外圍應(yīng)用程序(或反過來)間的所有接口進(jìn)行全面的檢查。

所有這些經(jīng)驗促成了我的 IT 體系結(jié)構(gòu)技能的形成。我當(dāng)然很同意 Bobby 的觀點,為了成為高效率的 IT 架構(gòu)師,務(wù)必通過操作、維護(hù)、測試和部署軟件獲得足夠的經(jīng)驗,從而形成堅實的基礎(chǔ)。





回頁首


所有層次的溝通是此領(lǐng)域成功的關(guān)鍵

我成為架構(gòu)師所走的路可能與大多數(shù)人都不一樣,因為我大學(xué)學(xué)的是數(shù)學(xué)專業(yè),在高中和大學(xué)都編寫過很多簡單的計算機(jī)程序。大學(xué)畢業(yè)后,我加入了一家大型零售企業(yè),學(xué)習(xí)使用各種技術(shù)構(gòu)建商業(yè)應(yīng)用程序。我掌握了很多編程語言和技術(shù),并在后來擔(dān)任過團(tuán)隊負(fù)責(zé)人、設(shè)計師和教師的職位。之后,我厭倦了這樣的生活,決定轉(zhuǎn)行,因此去上了一所法律學(xué)校。從法律學(xué)校畢業(yè)后,我驚訝地發(fā)現(xiàn)很多大公司(不是律師事務(wù)所)在招聘應(yīng)屆法律專業(yè)畢業(yè)生。在接受招聘面試的過程中,我發(fā)現(xiàn),在法律學(xué)校中學(xué)習(xí)的各種技能(例如,問題確定和沖突管理)對領(lǐng)導(dǎo)能力的各個方面都非常重要(前提是必須掌握這些技能)。此外,我記得在法律學(xué)校學(xué)習(xí)的第一年,一位教授曾指出,該校的目標(biāo)實際上是僅僅教會我們?nèi)虑椋喝绾巫x、如何寫以及如何思考。這些是我們的主要課程。

在決定不從事法律方面的工作后,我在一家咨詢公司謀得了一個職位。我后來離職,并首次加入了一家小型計算機(jī)公司(當(dāng)時規(guī)模小)Tandem Computers。我在 Tandem 獲得了大量的經(jīng)驗,讓我對各個公司如何購買各種先進(jìn)技術(shù)以及如何使用技術(shù)有了更全面的了解。更為重要的是,由于在 Tandem 擔(dān)任過不同的角色,我擔(dān)任過指導(dǎo)咨詢師、程序員、軟件工程師和架構(gòu)師的職責(zé)。我發(fā)現(xiàn)自己不僅需要進(jìn)行設(shè)計和編碼,還需要幫助為解決方案確定恰當(dāng)?shù)募夹g(shù),還必須考慮使用模式、服務(wù)質(zhì)量,而且必須同時考慮以后的需求和目前的需求。

我發(fā)現(xiàn)好的架構(gòu)師都是善良的獨裁者,具有很強(qiáng)的技術(shù)、良好的寫作能力、良好的口頭表達(dá)能力,能夠在各個層次進(jìn)行溝通。我很喜歡這個新角色。我之所以加入 IBM,是因為我遇到了很多非常聰明的人,他們都在非常大的公司工作,與 CEO、CIO 交流,影響著技術(shù)方向,并負(fù)責(zé)設(shè)計主要解決方案(其成功對高級執(zhí)行人員非常重要)的體系結(jié)構(gòu)。我也希望成為這樣的人——現(xiàn)在我是了。





回頁首


當(dāng)您不再進(jìn)行編碼工作轉(zhuǎn)而將重點放在設(shè)計和集成上,會發(fā)生什么

我從事 IT 工作的頭五年,主要是在零售行業(yè)像打雜的一樣(不過仍然被稱為 DBA)設(shè)計和優(yōu)化數(shù)據(jù)庫。當(dāng)時是 20 世紀(jì) 80 年代初(是的,從我的年齡就能夠猜出來),但我仍然感到驚訝的是,重構(gòu)包含幾百萬記錄的數(shù)據(jù)庫之類的簡單任務(wù)經(jīng)常要花上 2 到 3 天時間。聯(lián)機(jī)重組和關(guān)系數(shù)據(jù)庫之類的東西當(dāng)時還不流行!進(jìn)入公司幾個月后,我詢問當(dāng)時的上級,為什么 CPU 大部分時間都是空閑的,還運行這么慢,他給的答案是“原本就是這樣的。我們只需要按照手冊中的過程進(jìn)行操作就行了。這就是為什么勞動節(jié)的這個周末加班的原因(譯者注:美國勞動節(jié)在 9 月的第一個星期一),方便您對問題進(jìn)行修復(fù)。我們每年只有一次機(jī)會對數(shù)據(jù)庫進(jìn)行重組(對于不熟悉數(shù)據(jù)庫的讀者,我解釋一下重組:重組通常用于對已經(jīng)填充了信息的數(shù)據(jù)庫進(jìn)行重新設(shè)計或重建),以便為應(yīng)付圣誕節(jié)的購物高峰期做好準(zhǔn)備。”

我升了職,我的老板告訴我,他認(rèn)為我以后會成為一名好的架構(gòu)師(如此之類的說法)!
——Sridhar Iyengar

當(dāng)時我剛剛走出學(xué)校的大門。我非常失望,發(fā)現(xiàn)自己所學(xué)的所有關(guān)于并行計算機(jī)科學(xué)理論并沒有在那個年代的計算機(jī)系統(tǒng)上得到利用——至少在我所知的數(shù)據(jù)庫系統(tǒng)上是如此。我的目標(biāo)是設(shè)計一個并行版本的重組命令,從而不必在所有周末都在綠色屏幕(指綠色的單色顯示器)前度過。而正是這個使我開始進(jìn)行數(shù)據(jù)庫設(shè)計、并行編程和多任務(wù)操作系統(tǒng)設(shè)計。當(dāng)我將原來約兩天半的重組執(zhí)行時間降低為約 7 個小時后,我升了職,我的老板告訴我,他認(rèn)為我以后會成為一名好的架構(gòu)師(如此之類的說法)!很快,我成為了一家小咨詢公司(后來被一家更大的計算機(jī)供應(yīng)商收購)的數(shù)據(jù)庫咨詢師,開始為很多客戶設(shè)計和調(diào)整數(shù)據(jù)庫。

接下的五年左右,我在教客戶如何設(shè)計數(shù)據(jù)庫和應(yīng)用程序,以最有效地使用 CPU 資源。這意味著要討論應(yīng)用程序和數(shù)據(jù)庫體系結(jié)構(gòu)——而這使我開始接觸 IT 體系結(jié)構(gòu)。我最初以數(shù)據(jù)庫設(shè)計為核心的工作重點讓我開始探索實體關(guān)系模型(一項大部分?jǐn)?shù)據(jù)庫設(shè)計人員仍然在使用的技術(shù))。后來,在 80 年代末期,我開始研究語義建模(我當(dāng)時認(rèn)為這種技術(shù)非常不錯),后來又開始研究對象建模和對象數(shù)據(jù)庫。大約在這段時間,我首次接觸了“元數(shù)據(jù)”和“元數(shù)據(jù)庫存儲庫”——當(dāng)時正是應(yīng)用開發(fā)周期 (AD/Cycle) 的年代。數(shù)年后(也就是 90 年代中期),同時發(fā)生了一系列有意義的事件,建模語言(如 UML)、元數(shù)據(jù)語言(如 Meta-Object Facility、XML DTD 以及后來的 XML 模式)和中間件(如最初的 CORBA 和后來的 J2EE 、.NET 及 ESB)開始采用面向?qū)ο蟮姆绞剑⒆罱K發(fā)展為基于組件和面向服務(wù)的系統(tǒng)。

從這期間的某個時段起,我的名片上開始出現(xiàn)“數(shù)據(jù)庫架構(gòu)師”、“對象架構(gòu)師”、“軟件架構(gòu)師”、“首席架構(gòu)師”之類的字樣。也正是這段時間,我被推舉到 Object Management Group (OMG) 的“體系結(jié)構(gòu)委員會”;這是一個行業(yè)標(biāo)準(zhǔn)組織,致力于推廣各種行業(yè)標(biāo)準(zhǔn),如 Common Object Request Broker Architecture (CORBA)、統(tǒng)一建模語言(Unified Modeling Language,UML)以及后來的模型驅(qū)動的體系結(jié)構(gòu)(Model-Driven Architecture,MDA)。我想人們最終認(rèn)為我是個“架構(gòu)師”,是因為我?guī)啄昵伴_始不再編寫代碼,而開始將更多的精力放在如何使系統(tǒng)一起工作——工具、應(yīng)用程序和數(shù)據(jù)集成的世界。

現(xiàn)在我需要考慮的是各個“體系結(jié)構(gòu)”如何一起工作,如“如何將模型驅(qū)動的體系結(jié)構(gòu)和面向服務(wù)的體系結(jié)構(gòu)概念一起使用”。使用開放源代碼(主要是 Eclipse 和 Apache 項目)和開放標(biāo)準(zhǔn)(主要來自 W3C、PMG 和 OASIS)基于真實客戶場景設(shè)計一起工作的軟件工具是這段時間我在 IBM 作為架構(gòu)師所進(jìn)行的工作。我還要花時間為重要客戶提供協(xié)助,幫助他們定義體系結(jié)構(gòu)和使用工具與中間件時的策略方向。我想我仍然是個架構(gòu)師,因為我現(xiàn)在是 IBM 軟件部體系結(jié)構(gòu)委員會指導(dǎo)委員會 (IBM Software Group Architecture Board Steering Committee)、IBM Eclipse 審查委員會 (IBM Eclipse Review Board) 和 OMG 體系結(jié)構(gòu)委員會 (OMG Architecture Board) 的成員。

毫無疑問,我現(xiàn)在意氣風(fēng)發(fā),準(zhǔn)備繼續(xù)在體系結(jié)構(gòu)的賽場上馳騁幾年。也可以說,我現(xiàn)在對體系結(jié)構(gòu)如醉如癡——特別與 IBM 內(nèi)外這么多業(yè)內(nèi)出色的架構(gòu)師在一起時。





回頁首


做每個方面的事情

盡管我的職位中有架構(gòu)師 三個字,但卻不從不敢對架構(gòu)師這個稱呼感到理所當(dāng)然。相反,我對 Kent Beck 所寫的關(guān)于極限編程 (Extreme Programming) 一段話更為贊同:不要強(qiáng)制性地要求團(tuán)隊成員專業(yè)化,成為分析人員、架構(gòu)師、程序員、測試人員和集成人員——每個 XP 程序員每天都會參與所有這些關(guān)鍵活動。

能夠做各個方面的事情,這才是 IT 的樂趣所在。可以構(gòu)思一個新想法、對其進(jìn)行展開、向其他人展示、獲得反饋,然后對其進(jìn)行改進(jìn)。而且可以任何時間在任何地點做這樣的事情。其他哪種職業(yè)能讓您有這樣自由進(jìn)行創(chuàng)新的機(jī)會呢?

因此要尋找任何能夠培養(yǎng)所有這些技能的機(jī)會。不要不敢接觸任何新技術(shù)和編寫“Hello World”一類的簡單應(yīng)用程序。始終有新東西值得學(xué)習(xí)和嘗試。





回頁首


全面理解問題

我年輕的時候,經(jīng)常對看起來似乎簡單的東西如何工作感到疑惑。為什么我的自行車有這么多轉(zhuǎn)動的部件?為什么自行車上有一個鏈子連到踏板上?如果將割草機(jī)的小電動機(jī)連接到自行車后面將發(fā)生什么樣的情況?自行車會自己動嗎?騎自行車不捏把手下坡時,最好的做法是怎樣的?我并沒有意識到,這正是充滿吸引力的體系結(jié)構(gòu)世界之旅的開始。

和很多同事一樣,我并沒有成為架構(gòu)師的想法。但和他們一樣,在我的 IT 領(lǐng)域的成長過程中,成為架構(gòu)師的路似乎是一個自然的發(fā)展過程。我的職業(yè)生涯始于 80 年代末期,最開始在 IBM AIX 開發(fā)實驗室工作。我當(dāng)時的體系結(jié)構(gòu)概念全是關(guān)于 AIX 的速度/數(shù)據(jù)提供和功能。我并不理解自己作為 C 和 C++ UNIX 編碼人員和測試人員能如何幫助客戶實現(xiàn)和部署任務(wù)關(guān)鍵型應(yīng)用程序。其中的很多應(yīng)用程序都作為所謂的“資本主義社會”的催化劑或為其提供主要支持。

離開 AIX 開發(fā)實驗室后,我開始擔(dān)任與客戶協(xié)作的 IT 專家,嘗試實現(xiàn)客戶機(jī)-服務(wù)器系統(tǒng)。我從事此工作后不久,.COM 熱潮開始了,而很多人稱為“Java 進(jìn)化”的趨勢也在這個時候出現(xiàn)了。換了公司后,我于 90 年代中期開始在 Sun Microsystems JavaSoft 組織擔(dān)任第一份名片上有“架構(gòu)師”字樣的工作。從這之后到現(xiàn)在這段時間內(nèi),我在不同的 IT 專家角色(執(zhí)行師和 IT 架構(gòu)師)之間不斷來回轉(zhuǎn)換著。

體系結(jié)構(gòu)更多地與理解問題是什么相關(guān),而不是考慮應(yīng)該使用何種工具和技術(shù)來解決此問題。
——Calvin Lawrence

盡管與架構(gòu)師相比,我更喜歡“執(zhí)行師”這個詞,但“架構(gòu)師”接受度似乎更廣泛,也似乎更受尊敬。我們架構(gòu)師對技術(shù)非常感興趣,因為我們知道技術(shù)如何支持體系結(jié)構(gòu)以及體系結(jié)構(gòu)如何支持 IT。作為 IT 專家,我通常在知道問題前就已知道了解決方案。例如,我口袋里有 Java 這樣的錘子,無論手里的釘子或螺絲釘(問題)的大小如何,我都能夠使用 Java 將其解決。這種理念在很長一段時間內(nèi)都非常適合我的情況。在上世紀(jì) 90 年代末期和本世紀(jì)之初,我最終認(rèn)識到,無論我的編程技能多么先進(jìn),對結(jié)果的影響始終微乎其微。我隨后認(rèn)識到:“體系結(jié)構(gòu)更多地與理解問題是什么相關(guān),而不是考慮應(yīng)該使用何種工具和技術(shù)來解決此問題。”

我從這些經(jīng)歷所總結(jié)得來的首要原則是:全面理解問題將幫助您確定使用何種技術(shù)來解決此問題。





回頁首


了解自己不熟悉的東西

我上大學(xué)時,并不認(rèn)為自己將要成為一名架構(gòu)師。我認(rèn)為自己之所以成為架構(gòu)師,是緣于我傾向于對我(以及我的團(tuán)隊的一些成員)使用的大部分組件進(jìn)行定形或設(shè)計工作。在我擔(dān)任每個職位(程序員、系統(tǒng)管理員、咨詢師、中間件產(chǎn)品專家)的過程中,我都傾向于問自己這類問題:為什么在做目前正在做的事情以及按照我做事的方式進(jìn)行是否合理?

我與一些非常聰明的人合作過,學(xué)到了大量知識,知道如何將大的復(fù)雜問題分解為較小的可行單元并同時兼顧全局。我認(rèn)為這是架構(gòu)師幫助解決難題和進(jìn)行大型項目時的關(guān)鍵方面之一。我喜歡盡可能從多個角度看待問題,以找到最佳解決方案。我很希望親自動手解決問題,非常喜歡接觸新軟件、新體系結(jié)構(gòu)、新領(lǐng)域和新技術(shù)——并將其應(yīng)用到我的項目中。這是一個持續(xù)的學(xué)習(xí)過程,我很喜歡這樣的生活。

現(xiàn)在可以方便地通過多種渠道進(jìn)行學(xué)習(xí)(網(wǎng)絡(luò)課程、自學(xué)、網(wǎng)站、演示程序等等),學(xué)習(xí)新技術(shù)已不再是難事。關(guān)鍵是如何將其應(yīng)用到實際生活中——而這正是好的體系結(jié)構(gòu)決策與其他決策的區(qū)別所在。這非常具有挑戰(zhàn)性,我所知的做到這一點的唯一有效方法就是不斷參加新項目,了解自己不熟悉的新領(lǐng)域。





回頁首


在嘗試構(gòu)造前進(jìn)行設(shè)計的價值

我一直對設(shè)計和制作各種東西充滿著濃厚的興趣。隨著漸漸長大,我真的很喜歡為科學(xué)展覽和其他愛好(如電子學(xué))設(shè)計(體系結(jié)構(gòu)設(shè)計)試驗的過程。我通過這些開始注重動手為項目和愛好繪制設(shè)計圖。我的父親是一位非常著名的免疫學(xué)專家和極端的完美主義者,他向我灌輸了在嘗試動手工作前首先進(jìn)行設(shè)計(設(shè)計體系結(jié)構(gòu))的價值。

我真正的第一份工作是在 80 年代中期參與政府的一份合同履行工作;計算機(jī)在當(dāng)時還是一種奢侈品。
——Andras Szakal

不過,我成長為架構(gòu)師的道路有些曲折。我本科時學(xué)習(xí)的是生物學(xué)和計算機(jī)科學(xué)。我努力利用多學(xué)科方法進(jìn)行微生物學(xué)或免疫學(xué)(繼承我父親的衣缽)領(lǐng)域的基礎(chǔ)研究。我真正的第一份工作是在 80 年代中期參與政府的一份合同履行工作;計算機(jī)在當(dāng)時還是一種奢侈品。幸運的是,我的客戶財力雄厚,購買了多臺 PC。征得了實驗室主管的同意,我使用計算機(jī)開發(fā)了一些程序,用于進(jìn)行費時且手工計算時容易出錯的必要計算工作,以便得到化驗結(jié)果。

在實驗室進(jìn)行了幾年腦生物化學(xué)研究后,我覺得自己對計算機(jī)和設(shè)計系統(tǒng)方面的東西有很高的熱情。我重返學(xué)校,并完成了計算機(jī)科學(xué)碩士學(xué)位課程。幸運的是,我從研究生院畢業(yè)后,就馬上獲得了參與設(shè)計一個首創(chuàng)性電信服務(wù)提供系統(tǒng)的體系結(jié)構(gòu)的機(jī)會——同樣也是為政府工作。(這項工作讓我不得不從頭學(xué)習(xí)很多東西。)我們開發(fā)的系統(tǒng)將最終為政府的每個部門提供服務(wù)。這五年在一體化電話公司服務(wù)方面的工作經(jīng)歷讓我獲得了指導(dǎo)其他工程師所必要的經(jīng)驗,最終成為了所有員工中出色的一員。

我在電信并購狂潮開始前離開了電信方面項目的工作,并隨后加入 IBM,擔(dān)任組件代理團(tuán)隊的架構(gòu)師。以后的事情大家都知道了。最終,我發(fā)現(xiàn) IT 體系結(jié)構(gòu)為我提供了跨組織邊界工作的機(jī)會,使我能夠設(shè)計對客戶業(yè)務(wù)帶來切實影響的系統(tǒng)體系結(jié)構(gòu)。





回頁首


從底層做起,循序漸進(jìn)

我在為本專欄第三期提供的“了解各個相關(guān)部分以及它們彼此如何結(jié)合”中給出了此問題的部分答案。體系結(jié)構(gòu)意味著了解所涉及的所有部分以及它們彼此如何結(jié)合。那么,如何學(xué)著進(jìn)行此類工作呢?我是怎么做的呢?(假設(shè)我經(jīng)歷過這樣的階段?。?/p>

我首先從事的是軟件測試工作,我接受這個工作完全是因為可以通過其在編寫軟件的團(tuán)隊中獲得一個職位(盡管當(dāng)時我并未編寫過軟件)。測試讓我思考這樣一些類型的問題:如何知道何時軟件正確工作?如果某個功能不正確工作,如何判斷?什么最容易出問題,怎樣會引起問題?后來發(fā)現(xiàn),這些問題對測試人員非常有意義。另外,我還發(fā)現(xiàn)這些問題可以幫助您了解如何創(chuàng)建好的軟件。

我的第一項編程工作是對現(xiàn)有代碼進(jìn)行維護(hù)。這項工作實際上教會了我如何編寫可維護(hù)(或不可維護(hù))的代碼,以及如何恰當(dāng)設(shè)計來促進(jìn)重用。代碼應(yīng)該可供兩類讀者閱讀和理解:

  1. 執(zhí)行代碼的計算機(jī)
  2. 維護(hù)代碼的開發(fā)人員

我遇到了很多代碼都是僅滿足了第一類讀者的需求,而忽略了第二類讀者。一直到今天,我都盡力不犯這樣的錯誤。

因此了解如何測試和維護(hù)代碼幫助我成為了一個更好的代碼編寫人員。能夠進(jìn)行代碼編寫工作,幫助我學(xué)會了如何設(shè)計組件和框架以及如何將實現(xiàn)隱藏在接口后。必須測試自己的代碼,讓我學(xué)會編寫能夠作為可重用組件分離且能夠作為單元進(jìn)行測試的代碼。然后,我開始為不同的部分進(jìn)行編程:數(shù)據(jù)庫、消息傳遞、工作流等,甚至還包括本身具有多個部分的應(yīng)用程序,如 EJB 和 Servlet。有了這些經(jīng)驗,我開始將應(yīng)用程序視為各大部分一起工作的整體,封裝了每個部分如何實現(xiàn)的細(xì)節(jié)。隨著我開始將應(yīng)用程序視為由各大部分、分布層次以及運行所需的專用引擎組成,我開始像架構(gòu)師一樣思考問題了。

因此,我的建議是,從底層做起,循序漸進(jìn)。掌握每個層次的能力;您將需要以此為基礎(chǔ)來進(jìn)入下一個未知的層次。缺少這個基礎(chǔ)的架構(gòu)師工作起來會比較費勁。

體系結(jié)構(gòu)是特定的參與層次,使我能夠最高效地給項目帶來最積極的影響。
——Bobby Woolf

體系結(jié)構(gòu)是我的正確選擇,因為它是特定的參與層次,使我能夠最高效地給項目帶來最積極的影響。這在以前指的就是(目前有時候還是如此)測試、代碼維護(hù)、開發(fā)、設(shè)計。可能某一天這將會涉及其他什么內(nèi)容。(管理?可能不會。)但就目前來說,體系結(jié)構(gòu)是我?guī)椭瓿身椖康淖罴逊绞健?/p>

以前的專欄文章中,David Jackson、Grady Booch 和 Jenny Choy 分別建議架構(gòu)師要注重“溝通與推動”、“溝通與傾聽”及“建立聯(lián)系”。這些也都是很好的建議,但并不一定是作為工程師時學(xué)到的東西。您可能會想到如何構(gòu)建應(yīng)用程序的最好方法,但如果無法通過溝通將這些想法傳遞給團(tuán)隊,說服他們按照您的計劃行事,您唯一的出路就是自己一個人完成所有工作。





回頁首


關(guān)于專家

Ali Arsanjani

Ali Arsanjani 博士是 IBM Global Services 的 SOA and Web Services Center of Excellence 的首席架構(gòu)師,主要負(fù)責(zé)收集和制定 SOA 和 Web 服務(wù)的建模、分析、設(shè)計和實現(xiàn)方面的最佳實踐。他是內(nèi)部的 IBM 全球 SOA and Web Services Community of Practice(擁有 4000 名成員)的負(fù)責(zé)人,是 SOA 的面向服務(wù)的建模和體系結(jié)構(gòu)(Service-Oriented Modeling and Architecture,SOMA)方法的主要作者之一。他目前的工作重點是支持建模 (SOMA)、評估、策略與計劃、管理、體系結(jié)構(gòu)和實現(xiàn)的 SOA 工具,以及其在 IBM 內(nèi)部和外部的實際應(yīng)用。請訪問他的博客:Best Practices in Service-Oriented Architecture。

Grady Booch

Grady 是 IBM Fellow,曾參與過全球幾乎能想象得到的所有領(lǐng)域的很多復(fù)雜的以軟件為中心的系統(tǒng),在其中擔(dān)任架構(gòu)師或體系結(jié)構(gòu)顧問。Grady 編寫過六本暢銷書,發(fā)表了數(shù)百篇關(guān)于軟件工程的文章,其中包括在上個世紀(jì) 80 年代早期發(fā)布的數(shù)篇論文,后來從這些論文中發(fā)展出來了面向?qū)ο蟮脑O(shè)計的術(shù)語和實踐。請訪問他的博客:Software architecture, software engineering, and Renaissance Jazz。

Sanjay Bose

Sanjay Bose 是 SOA Requirements Hub 的程序總監(jiān),供職于 IBM Software Strategy 部門,負(fù)責(zé) Enterprise Integration Design Center,該中心對 IBM Software 投資組合需求進(jìn)行標(biāo)識,并通過參與企業(yè)客戶和 IBM Software 產(chǎn)品開發(fā)實驗室的工作來開發(fā)解決方案組件和資產(chǎn)。他有超過 12 年的 IT 行業(yè)從業(yè)經(jīng)驗,主要涉及創(chuàng)建產(chǎn)品體系結(jié)構(gòu)、設(shè)計和細(xì)化技術(shù)策略以及使用分布式技術(shù)設(shè)計企業(yè)應(yīng)用程序系統(tǒng)。他擅長的領(lǐng)域包括 SOA、Enterprise Service Bus (ESB)、Web 服務(wù)、Java™ 2 Platform, Enterprise Edition (J2EE) 和電子商務(wù)技術(shù)。他與人合著了 SOA Compass 一書,并在 IBM developerWorks and Systems Journal 上發(fā)表了一些文章。他目前在賓夕法尼亞州匹茲堡居住和工作,業(yè)余時間他喜歡參加哲學(xué)講座、讀書、看電影和玩 Sony PlayStation。請訪問他的博客:SOA, ESB, and beyond

Jorge Diaz

Jorge Diaz 是 IBM Software Services for WebSphere 的一位解決方案架構(gòu)師。他的工作重點是提供中間件和分布式系統(tǒng)集成領(lǐng)域的策略體系結(jié)構(gòu),負(fù)責(zé)歐美地區(qū)的相關(guān)工作。Diaz 先生與各個大客戶密切合作,幫助他們使用各種技術(shù)(包括 Web 訪問)來引入面向服務(wù)的體系結(jié)構(gòu)。

Donald F. Ferguson

Donald Ferguson 是 IBM 的 200,000 技術(shù)雇員中的 53 個 IBM Fellow(IBM 最高的技術(shù)職位)之一。Don 還是 IBM Software Group 的首席架構(gòu)師。Don 是 SWG Architecture Board 的主席,該委員會監(jiān)督 WebSphere、DB2®、Lotus®、Tivoli® 和 Rational® 產(chǎn)品的體系結(jié)構(gòu)和集成。Don 原來曾擔(dān)任過 WebSphere 系列產(chǎn)品的首席架構(gòu)師。他于 1985 年加入 IBM Research。他的興趣愛好包括帶他的孩子們、與他們玩耍、分布式系統(tǒng)、簡化應(yīng)用程序開發(fā)、系統(tǒng)管理、Web 服務(wù)、事務(wù)處理、性能以及空手道。請訪問他的博客:Middleware and tools

Christopher Ferris

Chris Ferris 是 IBM 的 Software Standards Strategy Group 的一位資深技術(shù)成員。他有超過 25 年的 IT 行業(yè)從業(yè)經(jīng)驗,其中大部分時間都在參與分布式系統(tǒng)的體系結(jié)構(gòu)、設(shè)計和工程方面的工作,并從 1999 年后就開始積極參與 XML 和 Web 服務(wù)的開放標(biāo)準(zhǔn)制訂工作。Chris 目前是 WS-I Basic Profile Working Group 的主席;該組織負(fù)責(zé)開發(fā) WS-I Basic Profile。他是 IBM 在 W3C XML Protocols WG 的代表,并在其中擔(dān)任編輯。他還是 IBM 在 OASIS WS-RX TC 的代表。他曾被推選為 OASIS Technical Advisory Board (TAB) 的成員。此外,他還是 WS-Reliable Messaging 規(guī)范和 IBM RAMP 概要的作者和編輯。請訪問他的博客 Web services, distributed computing, and interoperability。

Kerrie Holley

Kerrie Holley 是 IBM 的 Services Oriented Architecture and Web Services Center of Excellence 的首席技術(shù)官。他擅長的領(lǐng)域包括軟件工程、體系結(jié)構(gòu)以及將業(yè)務(wù)要求轉(zhuǎn)換為以網(wǎng)絡(luò)為中心的分布式解決方案的設(shè)計。

Sridhar Iyengar

杰出工程師 Sridhar Iyengar 負(fù)責(zé) IBM Rational Software 開發(fā)團(tuán)隊的技術(shù)策略。他是 OMG Architecture 委員會和董事會的成員,對模型驅(qū)動的體系結(jié)構(gòu)標(biāo)準(zhǔn)的發(fā)展進(jìn)行指導(dǎo)。

Christina Lau

Christina Lau 是 On Demand Development 團(tuán)隊的一名架構(gòu)師。她目前參與的項目包括創(chuàng)建 使用 Rational Software Architect 的模式解決方案 和試用業(yè)務(wù)創(chuàng)新和優(yōu)化功能。Christina 一位高級技術(shù)人員,同時也是 IBM Academy of Technology 的成員。她還是 Introduction to IBM Rational Application Developer 一書的合著者。

Calvin Lawrence

Calvin Lawrence 是 IBM Software Group Emerging Technology 團(tuán)隊的一位執(zhí)行架構(gòu)師。他的職責(zé)范圍包括通過關(guān)鍵策略活動的支持來推廣戰(zhàn)略 IBM 體系結(jié)構(gòu)、技術(shù)和產(chǎn)品,以及使用 IBM 技術(shù)確??蛻魧崿F(xiàn)成功。他是 IBM Software Group Worldwide Technical Leadership Council 的前主席。

Sridhar Sudarsan

Sridhar Sudarsan 是 IBM Software Services for WebSphere 的一位高級 IT 架構(gòu)師。他曾負(fù)責(zé)過全球很多客戶的企業(yè)體系結(jié)構(gòu)解決方案的工作,包括金融、政府機(jī)構(gòu)、汽車和 SRM 等垂直行業(yè)的大公司。他是 J2EE 中的批處理編程模型(該模型現(xiàn)在是 WebSphere XD 中的一個組件)的創(chuàng)建者之一,目前正在向客戶推廣這個模型,并致力于構(gòu)建此技術(shù)相關(guān)的最佳實踐。他目前正在負(fù)責(zé)一家大型保險公司的大型 SOA Center of Excellence 的工作。

Andras Robert Szakal

Andras Robert Szakal 是 IBM Federal Software Group 的首席架構(gòu)師,同時也是杰出工程師和高級認(rèn)證 IT 架構(gòu)師。他還是 The Open Group 理事會成員。

Bobby Woolf

Bobby Woolf 是一名 IBM Software Services for WebSphere 咨詢師,負(fù)責(zé)幫助客戶使用 WebSphere 實現(xiàn)成功。他與人合著了 Enterprise Integration Patterns The Design Patterns Smalltalk Companion 。請參閱 developerWorks 上 Bobby 的博客,以了解更多信息。



參考資料

學(xué)習(xí)

獲得產(chǎn)品和技術(shù)
  • 使用 IBM 試用軟件開發(fā)您的下一個項目,可直接從 developerWorks 下載這些試用軟件。

  • IBM IT 架構(gòu)工具包系列獲得大量體系結(jié)構(gòu)資源,可直接從 developerWorks 下載這些套件。


討論


關(guān)于作者

 

此內(nèi)容是由 developerWorks 編輯團(tuán)隊為您提供。如有建議或問題,請通過以下郵件地址與編輯團(tuán)隊聯(lián)系:dwinfo@us.ibm.com

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
什么是最有價值的 IT 體系結(jié)構(gòu)技能,如何學(xué)習(xí)?
IBM 內(nèi)的 SOA 應(yīng)用,第 1 部分: SOA 案例研究
基于Eclipse平臺的軟件設(shè)計和構(gòu)建方法 - 51CTO.COM
所有架構(gòu)師都應(yīng)該至少讀上兩遍的十篇論文
架構(gòu)師Ⅰ
架構(gòu)師書單
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服