技術是難點,說服員工是難上之難
SOA項目主管必須清楚一點:對于SOA項目的實施,不能一次將所有的功能都加以實現,不能一口吃個胖子。在SOA項目中將風險最小化的一個方法是先將一些小的或有利于業務流程使用SOA模式構建相應的服務模塊,這樣可以讓員工先適應這種新的服務模塊,不至于使整個公司因為引入了新的IT系統而陷入混亂。ProCard的CIO Guido Sacchi表示,之所以引入SOA來構建新的IT系統,是出于幾方面考慮的:首先,新的架構可以降低IT系統結構的復雜度;其次,可以減少系統的運營成本,同時,增加系統的靈活性。
為了減少整個項目的風險,他決定先對呼叫中心中的兩個功能進行服務模塊化——站內客戶服務和離站信息收集,并將它們作為SOA的測試項目。之所以選擇這兩個功能是因為它們具有相對固定的項目預算,并且其運營成本相對較高。同時,如果這兩個功能服務能夠成功實現的話,那可以增加新的利潤來源,并且提供新的SOA項目可以成功的證據。
原有的系統的復雜度很高,為完成系統功能,定義了很多復雜的接口,并且代碼相當復雜!叭绻覀兿敫幕蛟黾酉到y的某些功能,我們必須為新的功能目標重寫大量的代碼!盨acchhi說道,“比如,要想完成數據的抽取轉換裝載功能,我們必須針對不同的需求,重構這一功能模塊!钡,在SOA架構上,通過建立柔性的服務模塊,就可以方便的利用已經建立的服務模塊實現相應的系統功能,而不必為每個需求建立一個獨立的功能模塊。同時,利用SOA架構,也能節省大量的開發時間。并且,基于SOA架構更為便利的一點是,所實現的服務模塊可以為不同的需求所用,就像磚塊一樣,為完成相應的功能,只需調用重組相應的服務模塊即可。
Sacchi表示,基于SOA架構實現的站內客戶服務和離站信息收集這兩個功能模塊,可以大大減少系統的響應時間。同時,SOA架構允許用戶將不同的功能集成在一個統一的用戶界面下,這樣還可以免除用戶在不同系統中切換操作之苦。使用SOA架構,開發人員還不必為每個系統構建不同的功能模塊,不同系統中可以共享一些服務模塊。
PorCard的COO Hill對SOA有著不同的體會,他說,當開發小組很快的掌握了SOA技術,并開發出相應的服務之后,迫使ProCard從原來的軟件產品供應商轉變成了服務供應商。這一轉變也使得ProCard重新考慮原有的質量控制體系。原來,他們的質量控制包括從開發、測試直至最終的產品交付的全過程,但是,現在的情況不同了,很多環節是不可控的,也是不必去控制的,比如,可以使用Visa提供的相應功能模塊作為中間件,在此基礎上開發出具體的服務模塊,同時,對后臺的數據庫系統也不必去過多的考慮,只要開發的服務模塊能夠調用數據庫中的數據,完成相應的功能就可以了。這樣就大大簡化了整個開發的工作流程,時間上縮短了,效率自然得到了提高。
基于SOA的折中方案
實踐告訴我們,一個成功的SOA項目的實施,依靠的不是熱情和勇氣,而是細致周密的論證部署。1-800-Flowers.com的CIO Enzo Micali說道,“很多SOA技術的堅定支持者希望我們對我們所持有的7種不同品牌提供一個共同的服務平臺。但是,我們的本意是為每個品牌提供一套獨立的服務體系!
Micali表示,他領導了一個架構設計小組和兩個開發小組,其中一個開發小組主要開發面向客戶的應用服務,另一個主要開發核心系統服務,起初,他們的工作都是鑒定哪些項目是可以基于SOA架構進行重構的!敖涍^一段時間的工作,我們發現那些在業務流程中最基本最通用的功能是可以抽取出來,使用SOA架構進行重構!蓖瑫r,常識性的知識在平衡客戶需求和軟件功能方面起到了極大的作用。并且,他還強調了一點,整個系統的開發部署時間以及系統的性能是檢驗系統是否成功的關鍵標準,不必通盤考慮所有的服務功能,相反,獨立實現某一部分的功能卻是一個比較不錯的系統開發模式,
Micali也同意SOA支持者,也認為SOA技術是先進的,但是,他表示,如果所有的用戶能夠有足夠的耐心等待的話,他也會將所有的系統功能轉移到SOA架構上來,但是,實際情況并不允許我們去這么做。同時,他還表示,即便是所開發的系統并不是急需的,只要認定系統可以轉移到SOA架構的平臺上來,一定要提前試著去實現。
實現SOA架構系統的好處
盡管我們在上面一再告誡要慎重實施SOA項目,但是實施SOA項目所帶來的好處還是很多。比如,我們成功構建了一個通用的服務功能模塊,那我們在下一次開發時可以直接調用這一功能模塊!皬倪@個意義上講,第二次開發時的開發成本為零!盨acchi說道。他還強調,利用共同的服務模塊,還可以大大減少系統的處理時間,減少在多個環節中浪費掉的不必要時間,從而使整個系統的運行更為快速便捷。
SOA項目能夠帶來的另一個好處是管理上的統一。對于SOA系統而言,要想成功實施一個系統,必須從企業整體來通盤考慮,成立專門的架構設計小組,確定整個企業業務流程運作的最佳路徑。這樣整個業務流程及信息系統的管理將會實現統一管理,改變過去各部門、各業務環節脫節的現象。
同時,這些SOA項目實施的先行者也提醒SOA項目主管,“不要希望能將大海的水煮開”,要想成功實施SOA系統,必須根據業務流程仔細分析其服務功能,有所側重的逐一實現,最終使整個系統達到它最佳的性能。
文章來源于領測軟件測試網 http://www.kjueaiud.com/