SOA 背後的管理哲學

  用松藕合的架構整合不同知識域的人羣

 

      SOA與之前軟件思潮的幾種技術架構最大不同是它面向業務的設計。SOA的架構理念,不僅用松耦合的分層結構隔離了技術,使得業務和技術的變化週期可以不互相影響;更重要的是,它還可以把不同知識域的人放在一個平臺上討論問題,比如用一個Workspace平臺可以將業務人員,架構師,IT主管,程序員集成起來,讓他們可以在一個桌子上交談,從業務流程的設計到實現,現在可以用一種貫通的方式進行討論與及時修改。以前,不同知識域的人羣,由於專業分工,有各自的思考角度,互相難於理解。現在,那些以前隔着牆打電話的人,可以在這樣一個平臺上共同的交換信息,完成任務。所有人都知道好的應用程序是不可能由不懂業務的程序員開發出來的,但苦於無法在業務和技術人員之間建立一種共同語言,現在這種語言出現了,就是服務。

 用契約的方式定義層次之間的關係

服務之間的調用用契約來固定,其實不難理解,這其實就是市場經濟的本質。最早理論基礎要去盧梭的《社會契約論》來尋找,西方經濟體系就是基於契約架構起來的。具體到SOA的設計哲學裏面,Design By Contract的目的完成了服務之間調用標準,也爲未來遍及整個IT系統的服務網絡提供了基礎。Google與其商業客戶之間的靠點擊來計算收入的方式就是個參考的例子。以後的服務之間的調用,如同市場上的交易,可能是按次收費的,這樣纔會把服務的生產方調動起來。這種模式,在汽車這樣的傳統行業早已通行百年,每種特定的零件都可以有很多的供應商,只要基於標準的契約來設計,安裝到整車上都可以保證整體的功能。軟件行業的奇特之處在於,儘管軟件行業在普通人看來是個高科技,但這個行業,在基於標準的生產方式上,遠遠不如離散製造業。這個行業充滿了孤膽英雄,綠林大俠,自我爲中心的散漫氣質,在中國還有一種詩意的浪漫情懷。在軟件行業內部的人,都覺得自己的江湖很有武俠境界的氣質。現在SOA要講契約,講標準,講交換。程序員出身的人也許會說,還不如自己開發一個。這也許是Design By Contract面臨的最大文化難題。

   用團隊演進的方式平衡長短期的ROI

  北美的SOA諮詢顧問們,關於SOA實施的一個口頭禪是,SOA是一個3-5年的旅程,唯一的辦法就是循序漸進。我們可以把SOA理解爲一種混搭的中庸架構,說它混搭,是說它是獨立於技術的,說它中庸,是因爲它必須與現有的各種系統相融合。SOA改變的不僅是開發方式,而且是管理方式,甚至是業務組織的方式。它不是個IT戰略,還是一個公司戰略。在這個緩慢進行的改良主義過程中,如何在每個階段可以有一些階段性的回報,是管理者必須考慮的問題。沒有管理者會批覆一個五年後纔能有回報,又需要投入巨大精力的提案。針對每個企業設計一個有針對性的演進路線圖,這不是個技術問題,而是一個業務問題,有一個瑞士保險公司的SOA案例是,客戶在一年半的時間裏達到了實施SOA項目的正向投資回報,其中的案例分析精確得像財務報表。只有這樣的案例纔會給管理者巨大的信心。不是在所有的情況下都會找到這樣的項目,這種情況需要找“SOA友好”的項目,SOA的特點有很多,比如,它和業務敏捷正相關,它和變化的強相關,和集成項目的強相關,和企業治理的強相關等等。客戶必須從業務和IT兩個角度來尋找切入點。只有步步以ROI爲考量,才能將這個旅程走下去。

  用集中管控的理念克服組織行爲的障礙

  只需要用一天把SOA的基本設計哲學講給一個管理學教授,他就會很快發現,SOA的管理與控制都是管理學命題。去年在有關SOA的播客節目裏面,我第一次用殺人遊戲來比喻SOA面臨的多重囚徒困境,很快在最近得到一些客戶的印證:推進SOA真正的難題在於組織障礙。比如,每個部門都想享受別人的服務,但自己卻不願意開放自己的服務,現有的組織架構裏面,IT部門的工作有時需要靠人脈來解決,但一旦真正開始SOA的轉變,一些硬性的部門利益衝突,就不可能靠人脈來解決了。信息的擁有權在現在的時代如此重要,很多時候是部門不願意公開的祕密。SOA的共享理念,需要採取一種變通的方式,來獲得各部門的支持。這很象一個建立城市公共設施的課題:如果SOA的目標是在企業級建立一套共享的IT資產管理體系和標準,那麼這個工作就不可能僅由IT部門可以推動。在SOA項目的管理支持裏面,需要一個SOA管控委員會,凌駕在所有部門之上,擁有絕對的生殺大權,這在很多企業裏,好像要把分屬戰國諸侯的資產,統一起來,象秦始皇那樣統一度量衡。最近,很多美國的評論家,仍然認爲,中國是所以成爲現在的統一國家,秦始皇的貢獻最大,因爲他統一了度量衡,語言,甚至包括車轍的標準。作爲暴君的秦始皇給人的印象不好,但建立的標準人人在享用。類似的近期版本是蘋果公司,很多管理評論都認爲,正是喬布斯的暴君風格才保證了蘋果過去幾年的成功。政治學中有個詞描述這個概念叫“政治所必要的惡”,就是這個意思。整治豎井式的部門應用,看來沒有專制的狠手不行,這叫制度保證。這也許會引起草根程序員的反感,但沒辦法,你看到哪個講民主的公司成功過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章