SOA與之前軟件思潮中幾種技術(shù)架構(gòu)最大不同是——它是面向業(yè)務(wù)的設(shè)計(jì)。
SOA的架構(gòu)理念,不僅用松耦合的分層結(jié)構(gòu)隔離了技術(shù),使得業(yè)務(wù)和技術(shù)的變化周期可以不互相影響;更重要的是,它還可以把不同知識(shí)域的人放在一個(gè)平臺(tái)上討論問(wèn)題,比如用一個(gè)Workspace平臺(tái)可以將業(yè)務(wù)人員、架構(gòu)師、IT主管、程序員集成起來(lái),讓他們可以在一個(gè)桌子上交談,從業(yè)務(wù)流程的設(shè)計(jì)到實(shí)現(xiàn),現(xiàn)在可以用一種貫通的方式進(jìn)行討論與及時(shí)修改。 以前,不同知識(shí)域的人群,由于專業(yè)分工,有各自的思考角度,互相難于理解?,F(xiàn)在,那些以前隔著墻打電話的人,可以在SOA這樣一個(gè)平臺(tái)上共同的交換信息,完成任務(wù)。所有人都知道好的應(yīng)用程序是不可能由不懂業(yè)務(wù)的程序員開發(fā)出來(lái)的,但苦于無(wú)法在業(yè)務(wù)和技術(shù)人員之間建立一種共同語(yǔ)言,現(xiàn)在這種語(yǔ)言出現(xiàn)了,就是服務(wù)。 用契約的方式定義層次之間的關(guān)系 服務(wù)之間的調(diào)用契約來(lái)固定,其實(shí)不難理解,這就是市場(chǎng)經(jīng)濟(jì)的本質(zhì)。 最早理論基礎(chǔ)是盧梭寫的《社會(huì)契約論》,西方經(jīng)濟(jì)體系就是基于契約架構(gòu)起來(lái)的。具體到SOA的設(shè)計(jì)哲學(xué)里面,Design By Contract的目的完成了服務(wù)之間調(diào)用標(biāo)準(zhǔn),也為未來(lái)遍及整個(gè)IT系統(tǒng)的服務(wù)網(wǎng)絡(luò)提供了基礎(chǔ)。 Google與其商業(yè)客戶之間的靠點(diǎn)擊量來(lái)計(jì)算收入的方式就是個(gè)參考的例子。以后的服務(wù)之間的調(diào)用,如同市場(chǎng)上的交易,可能是按次收費(fèi)的,這樣才會(huì)把服務(wù)的生產(chǎn)方調(diào)動(dòng)起來(lái)。 這種模式,在汽車這樣的傳統(tǒng)行業(yè)早已通行百年,每種特定的零件都可以有很多的供應(yīng)商,只要基于標(biāo)準(zhǔn)的契約來(lái)設(shè)計(jì),安裝到整車上都可以保證整體的功能。 軟件行業(yè)的奇特之處在于,盡管軟件行業(yè)在普通人看來(lái)是個(gè)高科技,但這個(gè)行業(yè),在基于標(biāo)準(zhǔn)的生產(chǎn)方式上,遠(yuǎn)遠(yuǎn)不如離散制造業(yè)。這個(gè)行業(yè)充滿了孤膽英雄,綠林大俠,以自我為中心的散漫氣質(zhì),在中國(guó)還有一種詩(shī)意的浪漫情懷。在軟件行業(yè)內(nèi)部的人,都覺(jué)得自己的江湖很有武俠境界的氣質(zhì)。 現(xiàn)在SOA要講契約,講標(biāo)準(zhǔn),講交換。程序員出身的人也許會(huì)說(shuō),還不如自己開發(fā)一個(gè)。這也許是Design By Contract面臨的最大文化難題。 用團(tuán)隊(duì)演進(jìn)的方式平衡長(zhǎng)短期ROI 北美的SOA咨詢顧問(wèn)們,關(guān)于SOA實(shí)施的一個(gè)口頭禪是:“SOA是一個(gè)3-5年的旅程,唯一的辦法就是循序漸進(jìn)。” 我們可以把SOA理解為一種混搭的中庸架構(gòu),說(shuō)它混搭,是說(shuō)它是獨(dú)立于技術(shù)的,說(shuō)它中庸,是因?yàn)樗仨毰c現(xiàn)有的各種系統(tǒng)相融合。SOA改變的不僅是開發(fā)方式,而且是管理方式,甚至是業(yè)務(wù)組織的方式。它不是個(gè)IT戰(zhàn)略,還是一個(gè)公司戰(zhàn)略。 在這個(gè)緩慢進(jìn)行的改良主義過(guò)程中,如何在每個(gè)階段可以有一些階段性的回報(bào),是管理者必須考慮的問(wèn)題。沒(méi)有管理者會(huì)批復(fù)一個(gè)五年后才能有回報(bào),又需要投入巨大精力的提案。 針對(duì)每個(gè)企業(yè)設(shè)計(jì)一個(gè)有針對(duì)性的演進(jìn)路線圖,這不是個(gè)技術(shù)問(wèn)題,而是一個(gè)業(yè)務(wù)問(wèn)題,有一個(gè)瑞士保險(xiǎn)公司的SOA案例是,客戶在一年半的時(shí)間里達(dá)到了實(shí)施SOA項(xiàng)目的正向投資回報(bào),其中的案例分析精確得像財(cái)務(wù)報(bào)表。只有這樣的案例才會(huì)給管理者巨大的信心。 不是在所有的情況下都會(huì)找到這樣的項(xiàng)目,這種情況需要找“SOA友好”的項(xiàng)目,SOA的特點(diǎn)有很多,比如,它和業(yè)務(wù)敏捷正相關(guān),它和變化的強(qiáng)相關(guān),和集成項(xiàng)目的強(qiáng)相關(guān),和企業(yè)治理的強(qiáng)相關(guān)等等??蛻舯仨殢臉I(yè)務(wù)和IT兩個(gè)角度來(lái)尋找切入點(diǎn)。只有步步以ROI為考量,才能將這個(gè)旅程走下去。 用集中管控的理念克服組織行為的障礙 只需要用一天把SOA的基本設(shè)計(jì)哲學(xué)講給一個(gè)管理學(xué)教授,他就會(huì)很快發(fā)現(xiàn),SOA的管理與控制都是管理學(xué)命題。 去年在有關(guān)SOA的播客節(jié)目里面,我第一次用殺人游戲來(lái)比喻SOA面臨的多重囚徒困境,很快在最近得到一些客戶的印證:推進(jìn)SOA真正的難題在于組織障礙。 比如,每個(gè)部門都想享受別人的服務(wù),但自己卻不愿意開放自己的服務(wù),現(xiàn)有的組織架構(gòu)里面,IT部門的工作有時(shí)需要靠人脈來(lái)解決,但一旦真正開始SOA的轉(zhuǎn)變,一些硬性的部門利益沖突,就不可能靠人脈來(lái)解決了。 信息的擁有權(quán)在現(xiàn)代如此重要,很多時(shí)候是部門不愿意公開的秘密。SOA的共享理念,需要采取一種變通的方式,來(lái)獲得各部門的支持。 這很像一個(gè)建立城市公共設(shè)施的課題:如果SOA的目標(biāo)是在企業(yè)級(jí)建立一套共享的IT資產(chǎn)管理體系和標(biāo)準(zhǔn),那么這個(gè)工作就不可能僅由IT部門可以推動(dòng)。 在SOA項(xiàng)目的管理支持里面,需要一個(gè)SOA管控委員會(huì),凌駕在所有部門之上,擁有絕對(duì)的生殺大權(quán),這在很多企業(yè)里,好像要把分屬戰(zhàn)國(guó)諸侯的資產(chǎn),統(tǒng)一起來(lái),像秦始皇那樣統(tǒng)一度量衡。很多美國(guó)的評(píng)論家仍然認(rèn)為,中國(guó)是所以成為現(xiàn)在的統(tǒng)一國(guó)家,秦始皇的貢獻(xiàn)最大,因?yàn)樗y(tǒng)一了度量衡,語(yǔ)言,甚至包括車轍的標(biāo)準(zhǔn)。作為暴君的秦始皇給人的印象不好,但建立的標(biāo)準(zhǔn)人人在享用。 類似的近期版本是蘋果公司,很多管理評(píng)論都認(rèn)為,正是喬布斯的暴君風(fēng)格才保證了蘋果過(guò)去幾年的成功。政治學(xué)中有個(gè)詞描述這個(gè)概念叫“政治所必要的惡”,就是這個(gè)意思。整治豎井式的部門應(yīng)用,看來(lái)沒(méi)有專制的狠手不行,這叫做制度保證。這些做法也許會(huì)引起某些草根程序員的反感,但是沒(méi)辦法,你看到哪個(gè)講民主的公司成功過(guò)? 1
|
|
來(lái)自: 文成Y > 《商業(yè)關(guān)注》