從IT的"黑洞"談起
最近參加了一個IT的高層年會,在會上眾多的社會學家、金融專家和IT人士都談到了IT的黑洞問題。讓人們覺得IT似乎已經成為阻礙行業發展,乃至社會進步的障礙。IT的'丑陋面'競相暴露:
IT部門,實實在在的成本中心
IT正在從支撐業務、引導業務變為限制業務發展
80%-90%的IT預算和IT人力都花在了維護老系統上
新業務的推出都需數月,乃至年計,跟不上客戶的需求和市場的反應
難道IT真的成了雞肋?難道我們可以舍棄IT?我想原因很簡單,IT與業務其實就是一對發展中的矛盾共同體,互相依存、促進與平衡:
互相依存,F在一定沒有人會懷疑業務離不開IT,如果沒有了IT,任何的金融、電信、政務和生產制造業務都將癱瘓;而如果沒有了業務的需求,IT也將失去存在和發展的價值。
互相促進。業務的發展要求IT不斷地創新,如各個行業對于異地交易(通存通兌、通保通賠)的需求帶來了消息中間件的發展;而同樣地IT的創新也帶來了新的業務模式,互聯網的發展毫無質疑地帶動了諸如金融業的網上銀行、網上證券、網上保險,帶動了電信的網上營業廳,甚至于直接影響我們衣食住行的網上商旅、網上商城,帶來了許多新的商務模式。
互相平衡。業務與IT既然是一對矛盾體,那么任何一方的滯后或是超前都會帶來另一方的"不安",都會表現為矛盾的激化,都會涉及到現有平衡的打破與再建。
因此,我們看到的其實是如何發展IT的問題,而不是那些聳人聽聞的需不需要IT的問題。正是有了這種矛盾的持續存在,IT才會有持續發展的土壤。
傳統的開發或是集成,帶來了復雜
傳統來講,IT實現業務的方式無外乎定制開發項目或是專業集成項目。也就是為了開發而開發,為了集成而集成。
當立為開發項目時,就根據需要確定集成商、開發商。然后選擇相關的開發平臺,如服務器、數據庫、應用服務器、開發工具等。而在不同的開發項目中很有可能選擇了不同的應用商,而采用了不同的開發平臺。這樣就帶來了開發越多,未來集成越是困難。
而在專業集成項目中,由于大型企業的應用必須與一個或多個數據源進行業務數據交互,部分數據源可能就是其他的應用。換句話來說,應用在沒有集成的情況下無法進行開發。應用集成會包含一定的應用開發任務,如開發和組裝組件,將它們連接到后端系統,實現過程流和工作流,開發用戶界面,以及進行測試和調試。而如果在集成項目中只根據現有的各種系統,選擇一個集成商,采用一個專門的集成服務器,如門戶集成服務器或是信息集成服務器或是應用集成服務器,這樣是遠遠不夠得,因為對于在集成過程中新的業務流程所需的再次開發就會捉襟見肘。
傳統的三種最通用的應用集成方法是點到點集成、企業消息總線或中間件的集成(EAI)、基于業務流程的集成,都不十分理想,主要問題在于:
消息總線和應用之間的定制或專有集成。與對等方法相比,EAI 和基于業務流程的集成減少了集成點的數量。但是,三種方法都需要在消息總線和每項應用間進行定制化或專有集成,并且,在每個集成點都需要采用不同的專有數據格式。
消息總線和應用之間的緊密耦合。所有的應用都需要知道與其集成的其它應用的內部工作機制。系統之間的集成是粒度化的,并與消息類型存在緊密耦合關系。傳統的 EAI 實現所使用的業務流程管理 (BPM) 工具是專有的。這妨礙了其他優秀標準產品的應用。
程序化而非抽象式的數據訪問。大部分數據訪問、集成和轉換工作(企業信息集成)都留給了開發人員采用人工編碼方式來完成。企業IT環境中存在多個不同的數據源,開發人員要有不同的適配器來訪問這些數據源、要有轉換引擎來重新定義數據格式、還需要進行數據復制以實現數據的物理整合。要實現數據源的集成,開發人員需使用以上工具將集成需求編寫到應用中去。盡管以上方法是可行的,但這既沒有效率也缺乏靈活性。
所以,當用孤立的眼光來看開發與集成時,矛盾重重。而其實開發與集成已是一對矛盾共同體。任何定制開發的應用都需要去訪問別的應用,也需要被別的應用來訪問,因此開發離不開集成;而任何集成也都是為了新的應用需要而來,當然會有新的業務流程的開發,所以集成也離不開開發。
結論很簡單,如果獨立地考慮應用開發和應用集成是毫無價值的。而且傳統的應用開發和集成方法不夠靈活,未能基于標準。因此,傳統方法無法構建能夠滿足動態企業變化需求的、敏捷的企業IT環境。
SOA融合開發與集成,化繁為簡
三種傳統的應用集成方法都很復雜、昂貴,并且不靈活。這些集成方法難于快速適應基于企業現代業務變化不斷產生的需求;诿嫦蚍⻊占軜 (SOA) 的應用開發和集成可以很好的解決其中的許多問題。
不同的行業分析家或專家對SOA有不同的定義和理解。Gartner 提出了SOA 這一術語,并定義如下: "面向服務的架構是一種客戶機/服務器軟件設計方法,其中應用由軟件服務和軟件服務使用者組成(也稱為客戶機或服務請求者)" 。SOA 與多數一般的客戶機/服務器模型不同,它明確地強調了軟件組件之間的松散耦合,以及其獨立標準界面的使用。CBDI 論壇如下定義了"面向服務" (SO),重點強調了服務的提供和管理: "SO 是業務和技術服務的提供、使用和生命周期管理,這些業務和技術服務是自描述、松散耦合和以技術中立的方式來實現的。"SOA 描述了一套完善的開發模式來幫助客戶端應用連接到服務上。這些模式定制了系列機制用于描述服務、通知及發現服務、與服務進行通信。
最近參加了一個IT的高層年會,在會上眾多的社會學家、金融專家和IT人士都談到了IT的黑洞問題。讓人們覺得IT似乎已經成為阻礙行業發展,乃至社會進步的障礙。IT的'丑陋面'競相暴露:
IT部門,實實在在的成本中心
IT正在從支撐業務、引導業務變為限制業務發展
80%-90%的IT預算和IT人力都花在了維護老系統上
新業務的推出都需數月,乃至年計,跟不上客戶的需求和市場的反應
難道IT真的成了雞肋?難道我們可以舍棄IT?我想原因很簡單,IT與業務其實就是一對發展中的矛盾共同體,互相依存、促進與平衡:
互相依存,F在一定沒有人會懷疑業務離不開IT,如果沒有了IT,任何的金融、電信、政務和生產制造業務都將癱瘓;而如果沒有了業務的需求,IT也將失去存在和發展的價值。
互相促進。業務的發展要求IT不斷地創新,如各個行業對于異地交易(通存通兌、通保通賠)的需求帶來了消息中間件的發展;而同樣地IT的創新也帶來了新的業務模式,互聯網的發展毫無質疑地帶動了諸如金融業的網上銀行、網上證券、網上保險,帶動了電信的網上營業廳,甚至于直接影響我們衣食住行的網上商旅、網上商城,帶來了許多新的商務模式。
互相平衡。業務與IT既然是一對矛盾體,那么任何一方的滯后或是超前都會帶來另一方的"不安",都會表現為矛盾的激化,都會涉及到現有平衡的打破與再建。
因此,我們看到的其實是如何發展IT的問題,而不是那些聳人聽聞的需不需要IT的問題。正是有了這種矛盾的持續存在,IT才會有持續發展的土壤。
傳統的開發或是集成,帶來了復雜
傳統來講,IT實現業務的方式無外乎定制開發項目或是專業集成項目。也就是為了開發而開發,為了集成而集成。
當立為開發項目時,就根據需要確定集成商、開發商。然后選擇相關的開發平臺,如服務器、數據庫、應用服務器、開發工具等。而在不同的開發項目中很有可能選擇了不同的應用商,而采用了不同的開發平臺。這樣就帶來了開發越多,未來集成越是困難。
而在專業集成項目中,由于大型企業的應用必須與一個或多個數據源進行業務數據交互,部分數據源可能就是其他的應用。換句話來說,應用在沒有集成的情況下無法進行開發。應用集成會包含一定的應用開發任務,如開發和組裝組件,將它們連接到后端系統,實現過程流和工作流,開發用戶界面,以及進行測試和調試。而如果在集成項目中只根據現有的各種系統,選擇一個集成商,采用一個專門的集成服務器,如門戶集成服務器或是信息集成服務器或是應用集成服務器,這樣是遠遠不夠得,因為對于在集成過程中新的業務流程所需的再次開發就會捉襟見肘。
傳統的三種最通用的應用集成方法是點到點集成、企業消息總線或中間件的集成(EAI)、基于業務流程的集成,都不十分理想,主要問題在于:
消息總線和應用之間的定制或專有集成。與對等方法相比,EAI 和基于業務流程的集成減少了集成點的數量。但是,三種方法都需要在消息總線和每項應用間進行定制化或專有集成,并且,在每個集成點都需要采用不同的專有數據格式。
消息總線和應用之間的緊密耦合。所有的應用都需要知道與其集成的其它應用的內部工作機制。系統之間的集成是粒度化的,并與消息類型存在緊密耦合關系。傳統的 EAI 實現所使用的業務流程管理 (BPM) 工具是專有的。這妨礙了其他優秀標準產品的應用。
程序化而非抽象式的數據訪問。大部分數據訪問、集成和轉換工作(企業信息集成)都留給了開發人員采用人工編碼方式來完成。企業IT環境中存在多個不同的數據源,開發人員要有不同的適配器來訪問這些數據源、要有轉換引擎來重新定義數據格式、還需要進行數據復制以實現數據的物理整合。要實現數據源的集成,開發人員需使用以上工具將集成需求編寫到應用中去。盡管以上方法是可行的,但這既沒有效率也缺乏靈活性。
所以,當用孤立的眼光來看開發與集成時,矛盾重重。而其實開發與集成已是一對矛盾共同體。任何定制開發的應用都需要去訪問別的應用,也需要被別的應用來訪問,因此開發離不開集成;而任何集成也都是為了新的應用需要而來,當然會有新的業務流程的開發,所以集成也離不開開發。
結論很簡單,如果獨立地考慮應用開發和應用集成是毫無價值的。而且傳統的應用開發和集成方法不夠靈活,未能基于標準。因此,傳統方法無法構建能夠滿足動態企業變化需求的、敏捷的企業IT環境。
SOA融合開發與集成,化繁為簡
三種傳統的應用集成方法都很復雜、昂貴,并且不靈活。這些集成方法難于快速適應基于企業現代業務變化不斷產生的需求;诿嫦蚍⻊占軜 (SOA) 的應用開發和集成可以很好的解決其中的許多問題。
不同的行業分析家或專家對SOA有不同的定義和理解。Gartner 提出了SOA 這一術語,并定義如下: "面向服務的架構是一種客戶機/服務器軟件設計方法,其中應用由軟件服務和軟件服務使用者組成(也稱為客戶機或服務請求者)" 。SOA 與多數一般的客戶機/服務器模型不同,它明確地強調了軟件組件之間的松散耦合,以及其獨立標準界面的使用。CBDI 論壇如下定義了"面向服務" (SO),重點強調了服務的提供和管理: "SO 是業務和技術服務的提供、使用和生命周期管理,這些業務和技術服務是自描述、松散耦合和以技術中立的方式來實現的。"SOA 描述了一套完善的開發模式來幫助客戶端應用連接到服務上。這些模式定制了系列機制用于描述服務、通知及發現服務、與服務進行通信。
延伸閱讀
文章來源于領測軟件測試網 http://www.k11sc111.com/