時間:2022-11-15 19:36:15
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇soa技術,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
“‘創世紀’計劃就是要把soa(面向服務的架構)、BPM(業務流程管理)和社會計算(Social Computing)這三者有效地結合起來,而這三者趨同的發展趨勢也正是我們提出‘創世紀’計劃的初衷。SOA、BPM和社會計算都是技術的創新,重要的是能夠把它們更好地集成,并讓它們更加簡化。”BEA公司全球市場高級副總裁Rosanne Saccone說。
據介紹,BEA計劃在2008年推出的企業級軟件服務化(SaaS)平臺,就是簡化企業和獨立軟件開發商(ISV)構建動態業務應用的一種方式,這種方式將讓ISV利用軟件服務化模式來開發動態的業務應用。同時,相信這也是BEA向業務與IT相一致的品牌轉型所邁出的重要一步。
動態業務應用
在今天,企業面臨著更快的節奏變化,更加需要以一種快速和簡單的方式來組合和修改業務的應用。不靈活的基礎架構和僵化的企業應用定制起來不僅耗費時間,而且成本昂貴,更重要的是,這些應用無法滿足企業在今天動態環境中進行競爭的業務需求。
“我們的‘創世紀’計劃的第一步是做一個SaaS平臺,這個平臺有兩個版本,一個是針對企業級客戶的版本,另一個是針對ISV的版本。對于企業而言,擁有了WebLogic和AquaLogic的緊密結合;對于ISV的版本,我們強調的是‘計量’能力,因為對于提供服務給用戶的企業來說,如何計量用量是非常重要的。”Rosanne Saccone說。
事實上,BEA只是為ISV提供了一個SaaS的開發平臺,ISV在這個平臺上能夠開發自己的增值應用,并以服務的形式提供給用戶。而在這種多用戶的SaaS應用模式中,如何對用量進行計算正是BEA所看到的關鍵點。
另外,對于SaaS這種創新的交付模式,BEA在營銷方式上也有了創新。“以前,我們更多的是針對工程師的銷售,是一種IT技術性的營銷;現在,我們在推動‘動態業務應用’,而這種動態業務應用是由終端用戶的需求來推動的,所以BEA的營銷方式也會更多地往這種模式上去轉變。”Rosanne Saccone介紹說。
讓SOA更靈敏
“要想讓SOA架構變得更加靈敏,我們就需要有BPM這樣的分割層把業務和基礎應用分割開來。在我們剛剛發起SOA的時候,主要強調的是可復用性和高效率;而在接下來的發展過程中,我們就必須要把業務流程和Web Service分開,這樣才能夠獲得足夠的靈活性。”BEA公司執行副總裁兼首席技術官Rob Levy強調說。
“那么,一旦有了這樣的隔離層之后,我們就可以去實現應用與業務流程高度靈活的改變,到那個時候,最重要的一點就是要把技術上的能力與操作人員的執行能力和決策能力很好地結合在一起。”Rob Levy補充說。而要想實現這種很好的結合,就需要融入Web2.0的技術,并將其很好地應用到整個生命周期中。
關鍵詞:SOA;架構技術;轉軟件開發
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2017)01-0182-01
1 引言
現階段,在長期的社會發展過程,各類企業都已經開始注重公司的軟件體系。從某種意義上來說,一個良好的軟件架構體系,可以在很大程度上促進企業運營效率的提升,并強化企業的管理質量。所以說,在實際的經營過程中,要求企業應當重視對自身信息系統的建設工作。現階段,在不斷的市場化進程中,我國企業所需要面臨的經營管理問題也變得更加復雜,在新的社會背景下,傳統的軟件構架體系,將會導致軟件之間出現接口混亂的問題,并因此而導致其出現網絡協議不清晰的現象等。
2 SOA架構的應用
2.1 企業SOA架構應用
SOA是所指的是一種面向服務的軟件體架構體系。從本質上來講,SOA能夠依據軟件的各種功能,來對其進行細致的劃分,并使之轉變成能夠行使各種功效的組件。并且,各個組件之間通過接口相連,而接口本身又有著一定的可擴展性和一致性。在系統中,各個軟件由組件創建而成,這也就在很大程度上,保證了軟件的通用性與可遷移性。與此同時,SOA本身屬于客戶/服漳P停因此,在進行SOA應用當中也就含有服務端與客戶端,能夠實現對復雜數據的有效處理,這就在一定程度上強化了客戶端的便攜性,并進一步提高了客戶端的普及率。
2.2 建立模型應用SOA
在SOA架構的實際應過程中,需要我們通過標準功用接口的建立,來提高軟件的遷移性。不過,SOA架構體系并不是獨立存在的,其需要相應的技術與模型來為其提供支撐。并且,在SOA架構當中,其所包含的組成元素,主要有以下幾個方面:①客戶;②服務;③服務協議;④服務接口;⑤傳輸協議。其中,所謂的客戶,指的就是服務的請求者。為了能夠有效的降低設備的費用,并提高客戶端的便攜性,在實際的系統開發過程中,開發者便將多種功能集成于服務器的一段當中。傳輸協議則主要是運用在數據鏈路層信息傳遞的協議,現階段主要包含了HTTP與SMTP協議等。
2.3 企業應用SOA技術的實現
從本質上來講,SOA目前還是一種概念模型,要想實現該技術的應用,還需要有相應的技術來為其提供支撐,例如我們可以運用Web Services。在實際的運用過程中,Web Services能夠依靠于服務器的云端服務,來實現軟件的并發執行,并有效的降低軟件的耦合性,來促進軟件內聚性的提升。除此以外,要想實現SOA技術,還需要運用BPEL技術,來明確Web Services的實際流程,以此來有效的避免其出現進程互鎖或假死的問題。
2.4 Web Services實現SOA架構模型
從某種意義上來說,要想將SOA架構由理論落到實處,就需要一套成熟的標準接口技術與協議為其提供支撐。在這當中,Web Services所采用的就是XML協議,而該協議本身有著相當強大的描述能力,以此來有效的實現軟件間耦合性的降低。此外,通過運用標準的接口技術,能夠有效的拓展軟件的靈活性。
3 企業服務總線應用于SOA
簡單來說,所謂的總線,指的就是在信息傳遞過程當中的一個物理支撐。就針對于SOA架構而言,面向服務的架構,所需要的總線,已經不僅僅是計算機中簡單的總線設計,其是一種能夠創建企業服務的總線。而從某種意義上來講,企業服務總線,能夠有效的實現企業之間的交流,并提供了軟件通信的功能。就針對于企業的經營與管理來說,通過運用企業服務總線,能夠在很大成俗上實現對系統信息的優化與整合,并將具有顯著差異的應用,科學的整合于SOA框架下。也就是說,企業服務總線的出現,能夠對硬件與技術之間的差異進行科學的優化,并實現通信間的整合,來制定出一條最佳的通信線路。這樣一來,企業就能夠不需要增加服務設備,來在存在各種技術差異的大系統下,實現信息的優化整合。
4 BPEL完成SOA的靈活擴展
就針對于基于SOA構建的企業級應用而言,我們要求其不但可以通過運用標準的接口,來完成通信,還要求其可以有效的處理各種復雜的交互問題。BPEL指的實際一種專門制定的集成標準接口技術與協議,并且,在這當中,包含了多有的標準接口和協議,使得其自身的處理能力得到了很大提升。通過運用BPEL,能夠有效的避免組件對同一有限資源的爭奪,并以此來避免其出現服務器互鎖的問題。
5 結語
通過本文的研究得出,目前SOA架構還只是一個理論模型,因此,在日后的實踐過程中,希望有更多的專業人士,能夠積極的投入到課題的研究當中來,并及時的發現其在運用過程中存在的問題,提出有針對性的解決對策付,促進企業經營管理水平的提升。
[關鍵詞]工作流技術; SOA;云計算;工作流管理系統
[DOI]1013939/jcnkizgsc201615120
1引言
作為企業經營過程重組與過程自動化的一種手段,工作流技術實現了任務的自動調度、資源的優化和管理,是對工作流程及其各操作步驟之間業務規則的抽象、概括描述。工作流建模,即將工作流程中的工作如何前后組織在一起的邏輯和規則,在計算機中以恰當的模型表達并對其實施計算。高度完成企業業務目標,因而越來越多的企業利用工作流技術解決信息自動化問題。但是隨著信息技術的發展,企業規模的日益擴展,一個企業要想處于不敗之地,必須與其他企業進行合作與交流,不能孤立存在,企業間的合作日益密切,跨組織、跨地域明顯。[1-4]傳統的工作流模型將業務過程與企業資源綁定,業務模型與組織和資源模型結合過于緊密,不適合企業的動態變化和發展的要求。[5]
文章在現有研究的基礎上,將工作流與SOA的思想和云計算的特征深度結合,提出了云計算和SOA相融合的工作流技術,以適應當今開放、分布、異構、贏利、動態的現實網絡環境中企業的復雜應用需求。在文章的下述部分,將闡述SOA與云計算相融合的工作流技術的原理,提出該工作流模型CSOWF以及對應的工作流管理系統CSOWFMS,并討論其的實現技術,最后給出總結,將對云計算與SOA相融合的工作流技術的發展前景給出初步的預測。
2基本原理
面向服務的體系結構(SOA)[6]是一種服務導向的組件模型。服務是指軟件中的一些處理過程或是封裝成獨立業務模塊的程序邏輯單元,可以通過標準協議通過網絡訪問和調用,而且接口公開。服務提供者開發出各種有用的服務,經過嚴格測試后把服務到公共的服務注冊表上,服務消費者通過查找服務注冊表找到所需要的服務,然后就可以使有那個所需要的服務了。由傳輸機制綁定服務,然后通過接口契約規定的格式來執行服務。使用工作流技術可以把簡單的服務聚集為復雜的服務,服務可以鏈接在一起實現較高級別的業務功能,利用SOA其松散耦合、接口標準化、服務獨立、粗粒度、位置透明等特點,解決異構性、互操作性等問題,高效地利用或重組企業現有的應用資源,適應業務流程和資源動態變化的需求。
將公共的服務注冊表存儲于云空間中,利用“云計算”的特點,將“云”作為資料存儲以及應用服務的中心,搭建計算機存儲、運算中心,使得企業內部或跨組織、跨地域企業可以通過一根網線借助瀏覽器方便進行訪問服務,這樣企業能夠將資源切換到需要的應用上,根據需求訪問計算機和存儲系統。利用云計算其低成本、靈活、可計量性等特點,解決企業高成本、資源浪費、服務分配不當等問題。
SOA與云計算相融合的工作流技術,SOA的服務,以最有效的架構方式進行服務整合,強調服務如何應用,而云計算解決的是提供服務的“多少”,即“量”方面的問題,通過網絡按需提供給企業。
21工作流、SOA、云計算的映射模型
工作流的整個生命周期中,從產生業務流程需求到實現流程,與SOA和云計算的映射模型可以分為圖1中所示的五層。
表示層:表示層是針對用戶的,該層由用戶接口和商業流程界面組成,不需要專門的領域知識,只需要定義用戶接口以及相關的流程界面。
服務層:完成業務流程的建模后,由專門的人員根據活動的目標與條件(時間、資源、人員、數據等),將活動(或任務)與相關的業務流程服務進行綁定。在服務的選擇上要根據一定的策略進行匹配。完成流程中所有活動(或任務)與對應的服務一一綁定后,可以將服務按照唯一標識進行編排,形成一個服務流程序列。
服務組件層:在SOA下建模,服務獨立于應用程序和開發平臺,其技術細節的實現是通過組價的組合來完成的。任何應用都可以通過高內聚、低耦合的方式進行組件包裝。組件之間通過分組或者重新組合便形成了服務組件層。
云應用層:該層包括軟件包、客戶管理、面向對象應用。“云應用”的工作原理是把傳統軟件“本地安裝、本地運算”的使用方式變為“即取即用”的服務,云應用不但可以幫助用戶降低IT成本,更能大大提高工作效率。
從表示層到云應用層,實際上是一個目標功能的分解過程,下面給出具體工作流到服務層以及云應用層的映射關系。
22工作流、服務、云計算之間的映射機制
利用SOA的思想以及相關的結構,SOA結構由服務提供者、服務注冊中心、服務消費者三部分組成,服務提供者是一個可以通過網絡尋址的實體,它接收和執行消費者的請求。把自己的服務注冊到服務注冊中心,以便服務消費者能夠發現和訪問該服務。因此每個企業將自己組織內部的應用組件化,以服務庫的形式到網絡上的服務注冊中心,并且建立好相關的業務流程模型。不管是企業內部或者是跨組織,跨地域的企業需要服務時,通過云計算技術在服務注冊中心按需搜索合適服務,利用云計算技術,能夠高效、便捷、低成本、隨時隨地篩選出最能滿足需求的服務。[7]
在選擇服務的過程中,除了根據活動(或任務)功能目標和相關條件(如時間、資源、人員、數據等)進行搜索合適的服務外,還可以根據服務的其他方面進行篩選,例如性能、信譽等,并結合搜素服務策略進行查找。適當的服務查找與組合機制,能夠降低服務查找和服務使用者之間的緊耦合關系,使得企業在開發新業務的同時,能夠集成企業遺留應用,減少重復開發,也降低了服務管理的難度,因此可以根據服務查找與服務組合技術進行篩選合適的服務。
23云計算與SOA相融合的工作流的優點
利用云計算能夠節約軟硬件成本,節省物理空間,高效、方便、低成本地完成服務資源的選擇和分配。[8]云計算提供給企業更多的靈活性,企業可以根據自己的業務情況來決定是否需要增加服務,企業也可以從小做起,用最小的投資來滿足你的現狀,而當企業的業務增長到需要增加服務的時候,可以根據自己的情況對服務進行選擇性增加,使企業的業務利用性最大化。
3云計算與SOA相融合的工作流
文章提出的云計算與SOA相融合的工作流技術主要探討兩個方面的內容:
(1)將工作流活動與服務進行合理映射,定義和執行工作流程。
(2)利用服務和云計算進行工作流的管理。
前者針對工作流程本身而言,是把工作流的業務模型定義與實現分開;定義時使業務人員關注于領域業務模型的構造;執行時將業務工作流部署于SOA環境中,運用云計算優勢,將服務注冊中心存儲于云存儲空間中,將服務組件層與云應用層密切聯系起來。以服務的方式為活動分配資源,合理調度,完成運行過程。后者則是針對工作流管理系統而言,改變傳統的集中式管理模式,通過服務機制對工作流的構造、執行和監控進行分布式管理。
31工作流模型
SOA下的工作流利用服務靈活性,在定義和實施上都能更適合復雜的實際環境需求;特別是在流程的執行上,SOA提供了一個自動完成活動或任務的良好環境。同時,工作流技術可以很好地植入到云計算項目中。云計算流程天然地由不同的、序列化的事務組成的工作流程。具體模型如圖2所示。
圖2的服務可以分為系統服務和非系統服務兩大類。系統服務指為進行工作流管理而提供的服務;非系統服務是為工作流程提供的服務。非系統服務存儲于云中,通過云計算按需查找服務,SOA與云計算相融合,能夠高效、方便、低成本完成跨組織、跨地域的業務服務流程。
32工作流管理系統
云計算與SOA相融合的工作流管理系統CSOWFMS是一個虛擬的工作流管理系統,由流程定義工具、監控管理工具盒引擎服務、定義存儲服務、實例存儲服務組成,并使用通用的注冊查找服務和元數據存儲服務[7],具體結構如圖3所示。其中,流程定義存儲服務提供保存流行定義文件的服務;流程實例存儲服務保存流程實例狀態數據;工作流引擎服務負責從流程定義存儲服務保存流程實例數據,通過調用其他服務完成流程活動,與其他引擎服務協作可進行流程遷移或并行執行。用戶則通過用戶界面與工作流引擎進行交互。
在CSOWFMS中,工作流的使用不再限于它的位置,任務由服務完成。只要為服務定義標準接口,它們就能被任何依據標準的應用訪問到。由于一個流程不再限制于工作流引擎的位置,流程能夠在任何地方設計、存儲和執行。而且SOA服務與云計算相融合,因此利用云計算的優勢,將能夠高效、靈活、方便、隨時隨地、低成本完成實際情況計算服務的需求。用戶能夠選擇分布在網絡環境中的任何可獲得的工作流引擎服務來開始執行一個流程。在執行過程中,可以在不同的引擎服務間遷移來達到負載平衡,降低不同應用和引擎服務間的通信費用,易于從錯誤中恢復。甚至一個流程同時在多個引擎服務上執行以獲得更高的效率。可見,CSOWFMS具有分布、高效、容錯、負載平衡等優點、非常適應復雜信息環境的需求。[8-9]
4實現技術
云計算與SOA相融合的工作流的實現依賴于SOA和云計算的實現。流程以XML描述并與Web服務相結合非常重要。Web Service是SOA的一種實現方法。Web服務是構架在XML和Internet技術上的分布式計算技術,其目的是利用已經廣泛使用的Internet協議在分布節點之間傳遞稱為消息的XML文檔。
利用XML、WSDL、SOAP等Web服務技術分別可實現流程與服務的描述、數據映射以及通信,而UDDI則提供了服務與發現和重用的手段。由于這些技術都是開放標準的,以這些技術為基礎實現的工作流,不關系具體的業務流程所依賴的語言、系統或對象模型,跨多個應用的業務自動化更容易。業務流程可集合成復雜的工作流,設計、開發、維護和使用工作流都變得相對容易。
利用云計算技術,利用虛擬化機制將具體的計算特性加以封裝隱藏,對外提供統一邏輯接口,從而屏蔽物理設備多樣性帶來的差異,實現了計算虛擬化、存儲虛擬化、網絡虛擬化、應用虛擬化和桌面虛擬化,虛擬化是實現云計算的最重要的技術基礎。云計算的實現機制基于計算服務資源使用量付費的效用計算機制,用一個實例可以同時處理多個企業請求的業務服務流程。云計算提高了流程為服務供外包調用的安全性,同時對策略管理、可靠消息傳遞、事務處理等的支持。
5結論
文章結合了面向服務體系架構對復雜的信息化環境的支持與工作流技術在業務流程自動化方面的優勢,以及根據云計算在按需計算服務資源方面的優勢,提出了云計算與SOA相融合的工作流技術。以服務為實現工作流業務流程的手段,文章探討了工作流與服務以及云計算的映射原理,提出了云計算和SOA相融合的工作流模型CSOWF和描述以及云計算服務化的工作流管理系統CSOWFMS,最后探討了其的實現技術。相信隨著SOA和云計算的日益成熟以及工作流的深入發展,三者的結合將會成為必然。
參考文獻:
[1]Fan YushunWorkflow management technology base[M].Beijing:Tsinghua University Press,2001.
[2]Rezaei,Reza; Chiew,Thiam Kian; Lee,Sai PeckA semantic interoperability framework for software as a service systems in cloud computing environments[J]Expert Systems With Applications,2014,41(13):5751-5770.
[3]Wang,Mingzhong;Zhang,Xuyun;Zhu,LiehuangTrust-based workflow refactoring for Concurrent workflow refactoring for concurrent scheduling in service-oriented environment[J].Concurrency and Computation-practice Experience,2013,25(13):SI.
[4]Salimifard,K; Wright,MPetri net-based modelling of workflow system:an overview[J].European Journal of operational Research,2001,134(3):664-676.
[5]YU Liang,Wei Jun-based services and rules extended workflow model[J].Computer Engineering and Applications,2004, 40(31):186-189.
[6]Jason Bloomberg面向服務架構(SOA)的原則[EB/OL].[2003-03-20].http://wwwwmlchinacomNewsContent/ 39htm.
[7]Lee,Minsoo,Yoon,Hyejung,Shin,HyoseopIntelligent dynamic workflow support for a ubiquitous Web service-based manufacturing environmentJournal of Intelligent Manufacturing,2009,20(3):295-302.
[8]Chaixue Zhi,Cao JianWorkflow-oriented cloud computing technology Computer Systems[J].Journal of Chinese Computer Systems,2012(1).
[9]Zhangmin HuiSOA architec ture workflow management system[J].Computing Technology and Automation,2012(1).
[10]范玉順工作流管理技術基礎[M].北京:清華大學出版社,2001.
[11]余亮,魏俊基于服務和規則擴展的工作流模型[J].計算機工程與應用,2004,40(31):186-189.
【關鍵詞】SOA架構 構件技術 軟件開發
伴隨企業信息化的發展,異構化的數據信息分割形式呈現出業務信息處理有效整合發展狀態,通過軟件系統的優化設計及穩定分析,可以實現獨立信息系統資源的協同性業務發展。在軟件平臺構建的基礎上,通過統一業務協同平臺的設計,不僅需要得到協同功能的有效處理,而且也應該在滿足眾多用戶的基礎上構建協同化的的服務模式,從而實現系統資源的穩定整合。通過SOA架構,可以使軟件開發在協同發展的平臺下,實現技術軟件平臺的設計,從而為軟件資源系統的穩定運行提供支持。
1 SOA構架技術
SOA是一種組建模型,在傳統業務層面以及技術層面之間逐漸形成了一個服務層系統,同時,在系統平臺中逐漸完成了服務功能、業務層以及技術層的獨立運行,為具體業務工作的拓展提供了穩定的支持。同時,在SOA平臺構建的過程中,其基本的組成元素包括了功能及服務質量。
2 構建技術
對于構建技術而言,主要是將面向對象作為基礎,并在此環境下發展起來的軟件構建技術形式,這種技術也就是支持軟件復用中的核心,通過該技術的運用可以提升軟件系統的生產利用率。同時,在構建技術運用的過程中,其主要研究的內容包括以下幾點:
2.1 構件獲取
構件獲取會在有目的的構建生產中進行系統資源的信息挖掘,實現構件資源的穩定獲取。
2.2 構建模型
主要是研究構建系統的本質性特征以及構建之間的相互關系。
2.3 構件分類及檢索信息
通過對構件分類策略、組織模式以及檢索信息的檢測分析,所設計的構建系統庫,實現構建系統的有效管理及支持。
2.4 構建復合組裝系統
在構建模型組裝系統設計的過程中,通過對源代碼的組裝及構建對象的操作分析,實現系統的穩定運行及科學組裝。
3 SOA架構和構件技術的軟件開發的項目研究
3.1 信息資源集成系統
通過該集成平臺的系統設計,在某種程度上有效解決了信息系統中的協同性問題,并通過對各個分散部門以及應用信息的資源整合,形成完整性的信息資源模式,從而充分保障數據資源圖以及安全信息的實時共享,在信息資源整合、共享以及加工利用的狀態下,可以實現各個部門之間的協同工作。同時,在按照數據共享程度分析,可以將數據資源分為基礎數據、共享數據以及特定數據。其中的基礎數據主要是具有統一含義的自然人、法人及地理空間;共享數據主要是在基礎庫的基礎上,所構建的共同數據資源。而信息資源包括了信息整合、服務整合以及數據整合、流程整。
3.2 業務基礎軟件系統
對于業務基礎軟件系統而言,通過該平臺的設計可以實現各個系統之間的協同性發展,并在協同運行的基礎上保證資源運用的平臺化、構建化也自己驅動型的特點。通過SOA構架系統的靈活性搭建,可以充分保證平臺的獨立性,通過對構件資源的復用、組裝以及動態更新,實現業務需求的穩定變化。在業務基礎軟件平臺構建的過程中,主要程序包看了軟件系統的開發、應用運行技術的支撐以及資源運營環境的監督,通過這些系統的構建對整個軟件的生命系統進行了穩定的監督,同時,通過復用也可以有效降低軟件系統開發的成本,提高了系統的代碼質量。因此,在業務基礎軟件系統開發的過程中,應該注意以下幾點要求:
(1)合理運用開發環境的支持,進行應用系統執行內容的有效監控及穩定控制,從而為集成性的項目開發環境構建提供良好支持。
(2)通過監管環境支持系統的構建,應該通過對系統執行及各個監控管理制度的構建,進行監管環境的穩定運行,從而保證軟件系統的穩定運行。
(3)在業務基礎軟件平臺設計的過程中,應該運用大量的構件,進行業務構建的統一化平臺設計,保證各個數據模型標準化銜接,并在此基礎上為軟件系統的優化處理提供支持。
3.3 協同應用軟件集成平臺的設計
在協同化信息資源集成平臺構建的過程中,應該通過對業務基礎軟件以及支撐平臺的設計,從協同的角度進行系統資源的項目優化。通常情況下,系統應用軟件包括了協同辦公、協同服務以及知識共享等資源管理。首先,在協同辦公系統運用的過程中,會將信息資源的管理作為基本核心,將安全作為基礎,構建面向領導決策支持的系統設計,實現工作內容的高效運行。其次,協同服務主要包括了對外統一服務、內部協同服務,通過對外統一服務項目的集中體現,進行不同職能及服務內容的有效融合。在內部系統處理的過程中,需要各個部門對軟件開發系統的內部業務進行服務接口的穩定設計,并在跨部門業務協同及公眾在線申請的基礎上,實現對后臺業務的穩定支持,并在最終程度上軟件系統的有效傳遞。最后,知識共享,主要支持軟件平臺發現、選擇、組織及過濾的信息表述過程,而最為核心的目的就是在最為恰當的時間進行決策項目的穩定優化。
4 結束語
總而言之,在SOA構架以及構件技術運用的過程中,應該通過對業務操作、業務流程的綜合性分析,進行軟件平臺的穩定設計,并在重視企業技術開發以及集成客戶資源系統運用的基礎上,實現軟件系統的優化化處理。
參考文獻
[1]武新立,朱明,蘇厚勤.基于SOA業務協同平臺體系架構的設計與實現[J].計算機應用與軟件,2011(02):166-168+198.
[2]黎茂林.綜合電子信息系統面向構件的軟件開發與集成技術研究[J].電腦與信息技術,2011(04):58-62.
[3]唐言.基于SOA的軟件復用與構件技術探析[J].中國新技術新產品,2010(04):34.
作者簡介
李攀(1980-),男,湖北省武漢市黃陂區人。大學本科學歷。現供職于廣東科技學院。研究方向為軟件工程。
關鍵詞:面向服務;企業解決方案;企業服務總線
中圖分類號:TP391 文獻標識碼:B 文章編號:1009-3044(2007)06-11659-02
1 問題提出
企業信息化建設,大部分已經結束各自為政的各業務部門獨立建設的階段,迫切需要把企業內部已經建設、部署好的業務系統,聯通起來,構建整體的企業信息化體系。
這里所說的聯通,不是簡單的通過互聯網絡,連接各個應用系統,而是各個系統間業務工作和業務數據的共享和交互。
目前,在各個業務系統建設均已成熟的情況下,企業內部提出這種系統交互需求,只能通過認為地為系統添加特定的接口,完成與特定系統的特定數據或者業務交互,這樣不但造成系統間交互的網絡模型混亂復雜,也加重了開發成本,隨著新交互需求的不斷提出,企業信息化建設始終處于不斷修補的不良狀況下。(圖1)
圖1企業信息化建設始終階段不斷修補的不良狀況
隨著企業中業務系統建設越來越多,這種錯綜復雜的系統交互關系會越來越多,各個系統甚至出現互相依賴,互相耦合的情況。這種情形直接導致了業務組件重復建設、業務數據冗余、企業內數據不同步、系統界限模糊、維護困難、拓展困難等等難以想象的問題,使得企業信息化建設陷入泥沼。
2 ESB企業服務總線
ESB(Enterprise Service Bus,即企業服務總線)是傳統中間件技術與XML、Web服務等技術結合的產物。ESB提供了網絡中最基本的連接中樞,是構筑企業神經系統的必要元素。
企業服務總線(Enterprise Service Bus,ESB)的概念是從面向服務體系架構(Service -Oriented Architecture, SOA)發展而來的。SOA描述了一種IT基礎設施的應用集成模型,其中的軟構件集是以一種定義清晰的層次化結構相互耦合,其中,一個ESB是一個預先組裝的SOA實現,它包含了實現SOA分層目標所必需的基礎功能部件。
ESB是傳統中間件技術與XML、Web服務等技術相互結合的產物。ESB的出現改變了傳統的軟件架構,可以提供比傳統中間件產品更為廉價的解決方案,同時它還可以消除不同應用之間的技術差異,讓不同的應用服務器協調運作,實現了不同服務之間的通信與整合。從功能上看,ESB提供了事件驅動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內容的路由和過濾,具備了復雜數據的傳輸能力,并可以提供一系列的標準接口。
使用一個分布式企業服務總線,企業可以通過利用標準以提供靈活實時的“按需服務”基礎架構來最大化利用其在硬件和軟件的現有投資。
3 企業服務總線建設構想
3.1 期望業務模型
企業服務總線的模型,是為企業的業務流和數據流提供一個通用的通道,通過標準的接口,應用系統可以容易地通過ESB提供服務接口和數據交互接口。(圖2)
圖2應用系統通過ESB提供服務接口和數據交互接口
這里涉及幾個關鍵:
(1)接口:各個系統,尤其是舊有系統,系統接口均已經部署,不容易改變,企業服務總線ESB必須兼容這些接口,這必然需要一套適配機制,滿足不同的接口通過適配機制接入到總線中;
(2)總線中的數據流:為了方便ESB操作數據,從各個接口流入總線的數據流和業務流,必須被格式化成標準格式,在ESB中流轉,當傳送到特定系統時,再被翻譯成該系統能接受的格式;
(3)節點的注冊:接入ESB的應用服務,必須在ESB上注冊組件信息和服務信息;
(4)自動傳輸:ESB應該可以控制一些無需人手干預的數據流轉,如信息同步等,并且控制流動的過程。
3.2 實現原理
通過定義節點的方式,定義應用組件的接入以及接口規則;通過開發針對不同類型數據接口的適配器,實現不同的接口接入系統,并翻譯節點數據的ESB內部數據格式;通過定義數據交互的路由和調度,實現自動的數據傳遞過程;通過隊列、線程、緩存等方法,實現多任務多進程,提高業務數據傳遞效率。(圖3)
圖3 ESB服務實現原理
4 企業服務總線實現
4.1 適配器―總線標準接口的驅動程序
對于接入企業服務總線的應用系統和應用服務,有些是舊有系統,可能還是CS結構的系統,有些是新建設的系統,有的部署在互聯網上,使用WebService方式對外溝通,有的部署在生產環境里,使用Socket的方式進行通訊。
為了把各種各樣的業務系統接入到ESB的總線結構中來,我們需要一系列的接口程序,可以針對性地對各種類型的交互接口進行通信,并且擔當系統與總線間的數據格式翻譯工作。
我們把這樣的軟件組件,叫做適配器。就如不同的硬件設備連接到電腦主板總線上需要驅動程序才能工作一樣,適配器就扮演了這樣一個驅動接入系統或者組件的角色。適配器通常有兩種,一種是針對特定接口的通用適配器,如SQL適配器、FTP適配器、WebService適配器、Socket適配器等。另外一種是針對特定系統的適配器,比如是使用某種特定加密算法的適配器。
企業服務總線的基礎架構上,可能提供一些通用的適配器做常規連接,但是也會提供標準接口和開發規范,允許特殊的應用系統自己開發專用的適配器,接入到企業服務總線中來。
4.1.1 FTP適配器
FTP適配器的目的是通過讓用戶定義,適應FTP的取數據拿數據的過程,可以實現配置FTP拿數據,配置FTP傳數據。
我們通過適配器,可以進行:
定義FTP信息――讓用戶定義FTP服務器、用戶名、帳號、文件的定義規則等信息。
下載FTP的文件――從FTP服務器下載需要的文件。
打包FTP文件信息返回――把拿到的FTP文件信息打包返回。
上傳FTP文件――把輸入的信息打包成文件放到FTP服務器上。
4.1.2 SQL適配器
SQL適配器的目的是通過讓用戶定義SQL語句,可以實現從數據庫取數據、傳數據的過程,可以實現執行SQL語句、存儲過程。我們通過適配器,可以進行:
定義SQL語句、存儲過程――讓用戶定義數據庫鏈接、SQL語句、存儲過程、輸入參數等信息。
傳遞執行參數――把輸入的參數傳遞給SQL執行引擎。
返回SQL執行結果――把SQL執行的結果打包返回。
4.1.3 Web service適配器
Web service適配器的目的是通過讓用戶定義Web service服務,可以實現打包Web service的參數,調用Web service服務,可以實現Web service的參數、調用Web service服務。
我們通過適配器,可以進行:
定義Web Service服務――讓用戶定義Web Service的方法、參數等信息。
轉換Web Service的輸入參數――把節點的輸入參數轉換為Web Service的方法參數。
調用Web Service服務――調用Web Service服務,并輸入Web Service服務對應的參數。
打包Web Service的返回結果――把Web service運行的結果打包返回。
4.1.4 接入適配器
一般情況下,應用程序需要使用ESB的服務時,通過直接調用ESB提供的通用Web service接口即可,但在某些情況下,應用程序需要通過其他方式調用服務,比如Socket等,因此有必要提供一個接入適配器來處理接入ESB的差異性。接入適配器目前考慮下面幾種接入方式,可以根據情況進行增加:
Http接入適配器,應用程序通過調用Web service直接使用ESB提供的服務。
Socket接入適配器,如果接入的節點只能使用Socket通訊,則使用ESB提供的Socket接入適配器來調用ESB提供的服務。
條形碼接入適配器,如果接入的節點只能使用條形碼方式通訊,則使用ESB提供的條形碼接入適配器來調用ESB提供的服務。
紅外線接入適配器,如果接入的節點只能使用紅外線通訊,則使用ESB提供的紅外線接入適配器來調用ESB提供的服務。
藍牙接入適配器,如果接入的節點只能使用藍牙通訊,則使用ESB提供的藍牙接入適配器來調用ESB提供的服務。
4.2 節點―插在接口上的業務應用
節點為應用系統,或者應用服務接入ESB服務總線的連接點,它通常代表了一種應用服務。
比如說,存在一個操作系統,它提供發送手機短信的服務,也提供企業公告的服務,那么它在ESB上應該定義兩個節點。
節點一:短信發送節點,節點定義了服務的接口類型,如WebService接口,定義了使用通用適配器―WebService適配器,定義了數據傳輸的格式―一段滿足系統規范的XML描述,還定義了一些諸如系統標識等等的關鍵信息。
節點二:公告節點,定義信息同短信發送節點。
如上所述,節點可以理解為一個接入的端口、一個接入的服務、一個完整的業務。節點的定義要滿足一定的格式,有些必須定義的字段,這里會形成節點定義規范。
通常,應用系統獲得一個在ESB上注冊的節點,就可以向該節點發送請求。作為服務使用者,請求方需要從ESB上獲得該節點的請求格式,通過ESB的通用調用接口,傳入請求和目的地,ESB自動啟用通用適配器,向節點傳輸請求,并返回結果。
當ESB中啟用調度機制后,系統可以自動起請求,逐個按次序訪問定義在調度序列中的節點,發送請求或者傳遞請求。(圖4)
圖4 ESB節點模型
4.3 節點集―可進行同一操作的應用集合
有時,服務使用者想把請求傳遞給一組節點,但不想多次調用。如,有一個消息需要同時通過短信息和企業公告進行發送,就可以把短信發送節點和公告節點組成一個節點集,服務使用者一次向節點集發送信息即可。
節點集中的節點處于并發的地位,請求將會同時傳遞給節點集中的所有節點。
若要按次序發送請求,或者把上個節點返回的數據作為下個節點的請求,就需要定義路由了。
4.4 系統―節點業務的所有者
為了控制ESB上節點的使用權限,或者便于維護節點的來源,需要定義節點所屬的應用系統信息。
4.5 路由―數據傳輸或業務執行的路徑和次序
有時我們希望我們的請求不是單步返回,而是希望它依次傳遞給一系列的節點,在某些地方,還需要把一個節點的輸出作為下個節點的輸入,更復雜的情況還包括在傳遞過程中根據返回的結果進行邏輯判斷,決定請求下個傳遞目標。定義這樣一個信息傳遞的過程和路徑,我們稱為路由。(圖5)
路由管理是定義節點執行的先后次序,并可以定義嵌套路由,是指執行完本身的節點后,再執行嵌套路由,有下面的情形:(圖6)
調用一個Web service的方法獲取數據,然后調用SQL語句插入到數據庫中從某個FTP的站點拿數據,然后調用SQL語句插入到數據庫中從數據庫中取出數據,然后把數據放到某個FTP的站點從某個Windows目錄取數據,然后調用某個Web service。
4.6 調度―自動運作的一系列業務過程
有時候,有些數據交互不需要人為干預,它可能會在某天特定的時候自動運行,比如每天晚上10點,自動把人力系統上的最新用戶信息發送給企業內所有的用戶系統。
我們可以設計一個數據傳遞的路由,然后指定這個路由的請求數據來源和數據傳遞規則,最后定義該路由運行的時間規律,這種自動按照時間表運行路由的規則,就叫做調度。
圖6 動作的執行流程
5 結束語
企業服務總線是企業解決方案的新設想,它能有效地溝通企業分散的信息系統資源,為企業提供一個低成本的全面解決方案。通過使用ESB,可以在幾乎不更改代碼的情況下,以一種無縫的非侵入方式使企業已有的系統具有全新的服務接口,并能夠在部署環境中支持任何標準。該技術可以說是現代企業信息建設中的突破性新技術。
參考文獻:
[1]孫正興,戚魯.電子政務原理與技術[M].人民郵電出版社,2003.
[2](美)伊爾,著,王滿紅,陳榮華,譯.SOA概念、技術與設計[M].機械工業出版社,2007.
[3]梁愛虎.精通SOA:基于服務總線的Struts+EJB+Web Service整合應用開發[M] .電子工業出版社,2007.
[4]中科永聯高級技術培訓中心[S].企業服務總線.
[5]Matt Rothera. 企業門戶集成和企業服務總線 ( ESB ) Hub Vandervoort[EB/OL]..cn
SOA不僅僅是一種時髦說法,現在已經不乏一些應用。多數大型企業已經開始積極實施一些SOA方案,目的是利用它靈活的體系對業務做出接近實時的反應。其中,SOA提供了一種改變多年來功能紊亂的系統的方法。IDC認為,到2009年時與SOA相關的軟件花費將接近150億美元。
部署了SOA后,企業可以在動態環境中借助于現有的系統,提取應用實質將之轉化為服務,并快速地轉換成為新的解決方案。但是,如何才能達到目的呢?一個SOA有許多不確定因素,它往往很難重新部署,而且指導原則也不是孤立的。
值得慶幸的是,在如此多的SOA部署中,可供汲取的經驗教訓也是非常豐富的。以下的五點就是其中最重要的建議:了解痛處;定義價值;理解透徹;相信群眾;關注長期。
了解痛處
在當前的2000家跨國公司中,很多企業的體系架構已經妨礙了業務的改變能力。比如,最近企業行為管理機構(Business Performance Management Institute)的一項調查表明,僅有11%的管理人員說他們能夠跟得上技術變化,來滿足業務需求――這其中40%需要IT支持。
更糟的是,根據《CIO》雜志的調查,36%的受訪者表示,他們公司的IT信息技術部門或者存在“重大困難”(27%),或者“根本不能”(9%)跟上技術變化。
事實上,IT在支持業務變化方面也要承受著可怕的變化。 當IT需要在幾年內而不是幾個月里滿足新產品線、市場或是合并的需要時,CEO們幾欲抓狂。的確,在很多公司中,IT已經成為業務成功的惟一限制因素,如果它繼續停滯不前,就會扼殺整個業務。
這就是問題所在,解決它能為很多公司帶來極大的實惠。我們不應忘記,SOA的響應能力是它的主要價值和益處。
定義價值
企業實施SOA有兩個主要理由。首先,通過重新利用服務,企業能夠節省更多的開發費用。這些服務可能已經被建立在公司內部和外部,更多的服務在系統間被再度使用,這能夠幫助企業得到更大的投資回報;其次,SOA能夠加快改變IT基礎設施,并且適應業務的變化需求,這是一個巨大的戰略優勢,能夠讓企業在長遠發展中得到更好的機會。
幾個因素可以幫助你衡量服務再用的價值,這其中包括再用服務的數目、服務的復雜性,以及系統間服務再用的次數。每個服務的復雜性是價值評估的關鍵,它們可以被定義為函數數字或是目標分數,從而用來對服務進行整合。
雖然給出投資回報的具體數字比較困難,但并非絕無可能。你需要查明業務的幾個方面,包括隨時間變化的程度、適應這種變化的能力,以及相對的價值變化。在某些特殊的時期(包括業務重組等),隨時間變化的程度就會反映到具體的數字上。例如,一家造紙公司在5年內只是經歷了5%的變化,而同樣的時間內一家高科技公司可能會經歷80%的改變。
當評估SOA未來的價值時,它的本質將會正確地描述你的業務當前適應變化的能力,以及引入SOA后預計得到的能力提升。每個人都能從現實的預期中受益。
最后,變化的相對值就是所賺到的錢――這是業務變化所帶來的最直接效果。例如,只需要低廉的花費,SOA就可以幫助那些希望變得更具競爭力的零售公司通過建立一個常客購買程序,從而獲取更多的收入。我們甚至可以說,沒有SOA,這樣的程序是完全不切合實際的。
理解透徹
雖然很多人對于什么是SOA都有各自不同的見解, 但是很少有人知道如何才能獲得成功。 每一種情況都有所不同, 因此也找不到一套規范的、固定的規則。不過,還是有一些共通的模式能幫助你看清前方的路。
首先,你應該了解你的業務目標、確定成功的定義。你是在幫助經營業務,推動技術層次轉化,并且積極影響結果。
其次,你應該定義你的問題范圍。你不能指望改變整個世界,因此需要在企業內部定義你的SOA范圍。多數的SOA最好在小步驟中實施,例如遷移一個單一的部分或是某部分的一些到SOA。宏大的計劃很少為一個完整的企業采納,而小的成功部署會及時帶來更大的戰略成功。
接下來,就是選擇技術。很多人這一步走得并不好,而在沒有對要求理解透徹的情況下,我們就無法正確選擇SOA技術。想要成功,標準和產品的結合常常需要進行試驗,以確定采用的技術是否可行。事實上,在選擇正確技術上花費的時間應該和拓展SOA的時間差不多,這是完全值得的,因為一個錯誤的選擇最終會導致SOA部署的失敗。
最后是測試和評估,這也是一個循序漸進的過程,關乎到SOA如何測試和完成。測試計劃很重要,由于測試SOA解決方案的確很困難,因此SOA的擴展性也可能超越你所能想到的應用范圍。雖然這些測試非常繁復,但是很有必要。
相信群眾
SOA是由人來建設和管理的,因此你必須考慮到SOA對人員和企業架構的影響。這里有兩個需要關注的方面:建設SOA的人員的“SOA文化素養”,以及將會使用到SOA服務與界面的人員的技能水平。
從事建設SOA工作的人員必須洞悉企業的傳統架構以及SOA的思路、方法和技術。對于大多數企業來說,這種要求有些苛刻,早期可能需要外部咨詢機構提供指導,而對方法和技能的培訓應當是長期的工作。
如果沒有這種支持,很可能出現的情況是:參與SOA工作的人員以及SOA項目本身將失敗。這時候要么雇用為公司播下“SOA知識種子”的咨詢人員,要么雇用適合完成SOA項目的新人,這兩種方式都不容易,但它們能夠拯救SOA項目。
最后,應該考慮一下那些利用服務、流程、數據提取的人員。SOA將怎樣改善他們完成工作的方式?你將如何培訓他們?你怎樣支持他們?你如何得到他們提出的改進建議?應該盡早思考這些問題。
關注長期
SOA是一項長期的解決方案,不要指望短期內得到可以衡量的投資回報。對于大多數企業來說,SOA的價值需要經過幾年而不是幾個月才能得到體現。鑒于很多企業是按季度運營,預算和目標每月都在發生變化,因此這可能令人難以接受。這也導致像SOA這種復雜而系統化的長期項目在一些企業中很難長時間得到維持。如果你的企業不能理解需要長期部署才能帶來變化,那么SOA可能不適合你。
最好的建議是,爭取得到來自企業最高層的投資和承諾,保護SOA的部署,并且說服其他人接受SOA對于企業的長期價值和重要意義。缺少任何一項,結果都會是失敗。如果只是作為又一個權宜之計來實施,SOA只會給企業技術基礎設施帶來更多的復雜性,而一旦企業缺乏對SOA的長期部署,甚至最簡單的SOA項目成功的可能性都很小。
專家點評:SOA的價值有待挖掘
■ 埃森哲公司大中華區副總裁 王士平
SOA可能是下一輪IT技術創新浪潮的導火索,但是簡單地把SOA定位成新一代的應用整合工具,會將這一具有革命性的技術創新引入歧途。
無法明確SOA的商業價值以及與業務管理層溝通的困難,是中國企業用戶部署SOA能力的重要障礙。
規避誤區
中國的很多公司正在測試實施SOA或Web服務項目,但其中的相當部分只是將SOA定位在新一代的應用整合工具的層面,而不是從根本上考慮如何應對客戶需求的變化。這種試探性的應用現狀導致了兩種后果: 第一,領導者不清楚SOA到底可以為業務帶來多大的好處和利益; 第二,IT部門繼續把SOA看做是整合工具,而沒有意識到它扮演的“革命性”力量,從而很難推動SOA在業務流程的變革中產生主導作用。
就國外的應用案例來看,金融服務業、電信業以及政府部門是早期部署SOA較多的行業。這些行業的中國同行們可以找到能夠借鑒的應用案例。當然,其他行業的企業,在具有清晰的業務目標和完整的業務流程定義的前提下,也可以嘗試SOA實踐。
SOA的商業價值主要體現在降低業務流程的整合成本和對業務流程變化的快速支持的基礎上。SOA能力的引入,使業務流程由傳統的“剛性”流程,變成了“柔性”流程,從而使業務可以隨時調整業務流程,以滿足市場和客戶的需求。SOA與傳統的信息技術的不同之處在于,SOA是第一次把由信息技術支持的業務流程改造、業務流程設計、業務流程實現的能力放在了業務人員手中。由于與“業務流程”聯系的業務伙伴可以是企業內部的,也可以是交易伙伴之間的,所以早期SOA的部署者也用SOA來簡化組織與商業伙伴的交互行動,特別是滿足供應鏈管理或監管報告的需求(經驗證明,在這個應用領域,傳統的應用集成方法成效甚微)。
找尋機會
從理論上講,我們認為中國企業有非常好的快速獲取SOA價值的機會。很多中國企業正在實施跨省的數據大集中項目,把信息匯總到一個統一的界面呈現給管理者。理論上,企業完全可以利用這一系統整合的機會,實現大規模的流程優化,而SOA恰恰提供了一種企業財力可以承擔的解決方案。SOA還可以幫助企業增強風險管理能力和合規性。如中國的金融服務業可以利用SOA提供支持滿足“新巴塞爾協議”(Basel Ⅱ)要求的技術架構,以降低組織的合規成本。目前,企業資源計劃(ERP)和供應鏈服務提供商正在鋪平大型企業數據和服務一致性的道路。雖然SOA的價值還有很多尚未挖掘出來,但只要企業真正理解了SOA帶來的業務價值,他們就會不斷地利用這一革命性的能力,不斷地優化、調整和延展組織機構和業務流程,以取得競爭優勢。
事實上,SOA的早期受益者正通過對企業系統升級來簡化定制的業務流程,提高企業系統對業務伙伴的可用性,減少未來升級的障礙。這些早期部署者現在意識到,SOA和差異化手段的結合允許他們將解決方案標準化,同時仍保持差異化的競爭優勢。比如,中國的銀行企業已經把SOA埋入他們下一代核心銀行系統――SOA可以為銀行提供靈活的業務流程及客戶界面所需要的快捷平臺,他們把這看做是與外資銀行競爭的根本。我們也看到企業正把SOA嵌入到他們的IT戰略中,使購并更快,風險更小,使分布式解決方案更簡化。
SOA在五個重要的IT績效考核領域都發揮著影響,這五個領域包括技術創新、基礎架構優化、系統的整合、信息的應用和系統開發、管理的產業化化。毫無疑問,SOA將幫助中國企業更快響應客戶需求,增強在全球市場的競爭力,從而對中國企業發揮重大積極的影響。
北京航空航天大學計算機應用學士學位,資深軟件開發專家。
1994年加盟金蝶,1998年成功開發出基于三層結構組件技術的金蝶K/3系統并引入金蝶企業應用軟件,使金蝶成為國內最早運用三層結構技術開發應用軟件系統的軟件公司,
對于SOA,目前有兩種態度:一種是“擁護崇拜”,一種是“謹慎觀望”。但SOA到底能解決什么問題、解決得怎樣?我們和客戶都準備好了嗎?
從技術上講,SOA可能應用于兩個場景:第一種是業務互通互聯;第二種是封閉交易系統,即將元數據和業務邏輯抽離,形成可復用。
舉個例子,在第一種場景中,當不同企業之間的業務需要相互調用,這時就可能采用SOA技術;在第二種場景中,在企業內部需要將系統進行遷移時,利用SOA技術定義的原有數據和業務流程,可以很快完成。
SOA試圖定義一個大家(各軟件廠商)都“遵循”的法則,大家都使用這樣的方法來進行互聯互通,從而實現無界限的聯通以及服務組件庫的繼承和復用,解放無效和重復勞動。打個比喻,SOA就像《圣經》中著名的“通天塔”故事:人們用同一種語言交流產生的威力是如此之大,以至于幾乎要建成“通天塔”,直達上帝的天庭。
但是,在SOA應用的兩個場景中,現存的問題同樣也是明顯的:
其一,業務互聯互通。業務互聯與其說是技術問題,不如講是業務問題,例如ERP、CRM的異步整合,數據層面整合都不能很好將兩個系統整合,SOA僅僅是一種實現工具之一,可以說,在沒有其他選項之前,SOA是一種最“不壞”的方式,但它并不能解決所有的問題,因為有些問題并不是單純靠技術就能解決的。
其二,封閉交易系統。使用XML作信息交互比較慢是大家都承認的,性能問題將對SOA的發展造在一定的阻力。同時SOA規范本身沒有完善,比如Transaction規范還在不斷完善,而且Web服務多年來收效甚微。總的來說,SOA現在還處在一個發展階段,很多標準還在制定,不同廠商間還存在不兼容的現象,因此SOA還不能說已經是一個成熟的技術,還在“進行中”,需要時間的檢驗。
在憧憬SOA技術可能帶來的前景之余,我們不得不回過頭來冷靜地說:SOA和中國企業還有距離。
三大認識偏差
國內SOA應用的這一尷尬局面,很大程度上是由于認識上的誤區影響了SOA的推廣應用。認識的誤區主要表現在三方面:
首先,認為SOA是萬能的,可以應用于所有的場合。其實情況并非如此。SOA并不能代替已經在公司內部存在的那些被良好集成的應用系統。通過合理的部署,SOA系統可以改善原有的IT系統,使得原有的那些應用系統更具有柔性。通常情況下,復雜的IT構架對SOA的需求更加迫切,并且SOA需要與外部復雜的IT環境交互,并快速地應對頻繁發生的業務變化。
其次,認為構建了SOA架構,就不再需要應用整合技術。其實,SOA并非一蹴而就。雖然SOA使系統整合更容易,但是企業仍然需要核心的整合技術,例如轉換、挖掘、流程整合、適配器等等,使它們成為架構和規劃中的組成部分。企業先要對需求進行一次全面的評估――不僅僅局限于IT, 而是面向整個企業。實現SOA可能需要耗費幾年的時間。
第三,認為構建了SOA,就不需要IT人員的參與,業務人員照樣可以把服務連接成新的業務流程。這種想法沒有考慮服務的實現仍得由人編寫實施服務的軟件,系統也仍需要有經驗的IT專業人員把業務工作流轉換成顧及企業級性能、安全、資源使用和可靠性的具體實施方案。
其實這些誤區的產生是由于對SOA 的三個應用層面理解的偏差所致。譬如開發者大多對如何建立SOA應用感興趣,因此他們關注更多的是SOA中應用程序的體系架構方面。而Web Serivces管理工具的賣主一般認為SOA主要是有關基礎組件體系結構的。同樣,用戶群體會認為 SOA是用于企業業務應用結構的。
對于國內的用戶來講,接受SOA,難的并不是技術,而是SOA理念的灌輸,以及對企業文化的重新改造。SOA與傳統的應用體系結構不同,SOA更多地是針對變化而設計的,基于SOA的系統能具備更大的彈性,而且能夠實時地根據企業的變化,調整自己的結構,以滿足企業變化的需求。SOA的一個中心思想就是讓企業應用能夠徹底擺脫面向技術的解決方案的束縛,以輕松應對企業的商業服務變化和發展的需要。
中小企業的SOA
要走出應用的誤區,SOA的構建無疑顯得異常重要。通過以服務為中心而不是以應用為中心來組織企業IT建設,SOA為企業提供了一系列關鍵的好處:能提高生產力,提高對業務和IT的靈活性和響應速度,允許IT更快地提供服務并更好地適應業務的需求,以及允許業務更快地響應并提供更好的用戶體驗。但怎樣才能成功實施SOA呢?
從用戶的角度看,SOA有助于企業實現資產重用、靈活的管理和更快的開發與部署。在當今的業務環境中,變化無時無刻不在,快速響應客戶需求、應對市場機遇和外部威脅的敏捷性比以往任何時候都更顯重要。SOA能幫助用戶隨需應變,代表了企業信息化的最高境界。
當然,也會有很多人認為SOA只是大型企業才會用到的一種架構和方法。其實不然,SOA不只是大企業所獨享的,中小企業也一樣能擁有。因為中小企業也是生態鏈中的一部分,他們并不需要整合自己,而是要把自己建立在一個開放的平臺上,以幫助自己能參與到大的生態商業系統中。
那么,企業應該如何構建SOA呢?其實,實施SOA需要企業改變以往對待IT系統的觀念,學會從新的角度看待IT系統。SOA不僅是技術問題,更是企業戰略和業務方面的問題。
[關鍵詞] SOA組織流程分階段SOA成熟度模型
SOA (Service Oriented Architecture,面向服務架構)是一種面向服務的企業應用體系結構,是一種分布式的軟件架構模型。 SOA是由一些設計原則衍生出的一系列技術,這些衍生技術遍布企業IT生命周期,以及企業IT系統的各個層次。企業SOA項目實施的第一步就是采納合適的SOA解決方案。由于客戶現有IT環境和業務環境的不同,采納SOA的解決方案也會相應不同。為了評估一個企業的實施SOA的程度,我們需要一個覆蓋全面的評估標準和一種對成熟度的劃分。本文以企業的組織流程和IT集成現狀為成熟度劃分的標準建立了企業SOA項目實施成熟度模型。
一、企業實施SOA成熟度劃分標準
企業的組織和流程、IT集成現狀是實施SOA的關鍵因素,可以作為劃分企業實施SOA成熟度的標準。
1.組織和流程現狀:企業是否有實施SOA的經驗,實施SOA的范圍多大,企業是否規劃過需要實現的SOA的能力,業務部門是否理解SOA實施的價值和過程,特別是業務部門參與重要性,是否有系統的方法指導服務的發現和設計,業務部門在服務的發現和設計中參與的程度如何?
2.IT集成現狀:目前企業應用集成現狀?企業應用的服務化程度如何?是否存在服務模型?范圍多大?異構系統集成是否存在標準化接口?
以上兩方面分別從管理和信息技術的角度對企業進行分析,為實施人員調查企業目前所處狀態建立了一個度量標準。
二、SOA成熟度評估模型
本文按照SOA成熟度劃分標準對一般企業IT系統現狀在組織和流程、IT集成現狀兩方面進行調查和分析,將企業實施SOA的成熟度劃分為四個階段,即部門內整合、企業內外擴展、企業轉型、按需服務,并建立SOA成熟度評估模型,如表。通過該模型,我們可以對企業現狀進行分析和定位,從而指導處于成熟度各階段的企業實施SOA。
三、用成熟度模型指導SOA實施
根據SOA成熟度模型,企業可以從業務角度和IT角度兩方面出發分析自己的需求,根據自身現狀和業務需求確定合適的SOA階段性目標,并考慮到SOA發展的連續性,制定合適的SOA發展目標和戰略,從而保證持續有效的投資回報。
通過對企業目前SOA現狀的成熟度評估,確定企業各部門目前處于哪一層次,對于基礎整合階段的客戶而言,企業對SOA項目實施無任何經驗,處于探索階段,應該選擇從針對性強、經過驗證、投資回報率高的項目切入以解決當前不知何從入手的困惑;對于跨部門擴展階段的客戶,企業要對重要的核心業務流程進行全面創新和優化,實現更高的SOA投資回報。針對中高級階段的SOA客戶,是指跨部門擴展、企業轉型和隨需而動的企業,尤其要關注如何保持流程完整性的問題。流程完整性是指在安全、可升級的 SOA 環境的各個層次中,以無縫集成的方式可靠的管理業務活動的能力。主要包括:交易完整性、信息完整性和交互完整性三個方面。因為SOA實施的比較成熟的客戶,隨著業務模塊化的增多,企業可能會面臨對以往的穩定性和安全性的犧牲。因此企業在實施SOA 進入高級階段,享受靈動的SOA架構帶來的價值同時,保證企業IT架構的 “正確與安全”,即:為用戶提供及時和安全的信息與內容訪問,信息需要可靠、完整且可管理;在交易連續執行的同時具備按需恢復的能力。
參考文獻:
[1]王紫瑤南俊杰段紫輝等:SOA核心技術和應用[M].北京:電子工業出版社,2008.34-38
討論嘉賓
SAP大中華區首席技術官 張俠
華夏基石信息技術公司副總經理 聞申生
北京國富創新管理咨詢公司董事長 周永亮
諾維信(中國)生物技術有限公司副總裁 柳永茂
北京移動通信有限責任公司發展戰略副總經理 紀涌
北京金三元陽光餐飲有限責任公司總經理 張惠欣
北京博奇電力科技有限公司信息部經理 鄭曉燕
信元擔保中國有限公司信息部主任 毛翔
中國北方工業公司信息資源部主任 馬衛國
北京京能熱電有限責任公司信息副總工程師 李東
北京京能熱電有限責任公司系統分析工程師 郝麗娜
北京一輕集團信息部長 崔學軍
中建三局北京分公司信息中心主管 肖育云
中建三局北京分公司信息辦公室主任 肖磊
北京汽車修理公司廠長 尹思正
北京有色金屬與稀土應用研究所技術部副部長 陳曉宇
北京有色金屬與稀土應用研究所銷售部業務經理 胡光
北京世紀金工投資有限公司信息部主任 高幸
北京東長安集團副總經理 榮曉維
博陽基業房地產公司項目部經理 劉彥亮
中核(北京)核儀器廠 張漢琛
北京建工集團信息部專管 陸祖迪
北京時代引擎科技有限公司總經理 夏志勝
主持人
智囊傳媒總裁 傅強
“世界是平的”,現在已經成為了企業界一句時髦的語言,在弗里德曼的眼中,一個因信息技術而緊密、方便的互聯網世界,全球市場、勞動力等等資源都可以被共享,過去一切難以實現的事情正在以最有效率的方式和最低的成本來現實。但是在一個正在變平的世界中,有多少企業同樣也能跟得上世界變平的步伐呢?
毫不夸張地說,在企業中有太多的發展痛點,企業架構猶如人的神經系統,這些痛點嚴重阻礙企業的反應和效率,德魯克曾經說過,企業需要什么樣的組織取決于企業要實現什么樣的業務目標。組織不是目的,而是達到經營績效和結果的手段。但是同時他也警告:錯誤的組織結構會嚴重傷害、甚至摧毀企業經營績效。這也是制約很多企業變平的主要原因。
不可否認,在推動世界變平的力量中,信息技術是最大原因,技術的進步以及互聯網的普及,同樣也帶動了企業變平,現在已經沒有一家企業在經營管理中不采用信息技術。
現在,部門級應用解決的路徑造成了今天企業信息化建設中普遍的難題,對應“按職責劃分職能部門、條塊分割、垂直領導、縱向管理”,企業系統相應形成“各自為政、重復建設、信息孤島”。
互聯網讓個體小單元力量開始興起,帶給企業的變革之一就是――從前適用的部門級條塊分割的職能劃分方法不再合理,轉化為人與人工作節點上的連接。這時候,工作流程――那些為實現一定業務目標和價值的活動或過程――成為企業的運營核心。
在這種背景下,SOA理念逐漸被越來越多的企業所接受,SOA如今已經成為了企業IT架構的主流,但是SOA架構或者企業的IT架構能否和企業架構等同,SOA是否能夠滿足企業未來發展的全部要求?建設SOA又會遇到什么樣的困難與挑戰?
為什么需要SOA?
傅強:我們看到世界正在變平,這個過程一定需要企業在商業模式和架構上進行調整,也就是說,什么能夠讓我們的企業變得更平?今天很多的企業選擇了SOA架構,這其中的主要原因是什么?
紀涌:從企業的戰略上來說需要在不同的生命周期采用不同的業務模式,創造差異化。對于電信企業來說,第一個差異化是別人都沒有的時候你要先做出來,第二個差異化是在別人都有了的時候,你做到與別人不同。
要做到這一點,首先需要在戰略上有一個方向,其次需要制定相應的流程和支撐體系,最后需要用IT技術做一個固定。
固定對于企業來說是很重要的,沒有固定,一切都是白說,而且必須是信息化的固定,因為人為的固定是不精細的,不可靠。這樣企業就需要有一個平臺能夠做到這一點,這個平臺不能總變,需要有一定的穩定性和可擴展性,而且能夠解決企業的需求問題,最后還要能夠方便管理。現在來看SOA在這些方面最適應企業的需求。
傅強:電信公司是一個大企業,那么SOA對于小企業是不是也同樣適用?
張惠欣:我們的企業在餐飲行業只能算一個中小企業,這些年我也進行了一些信息化的建設,比如在財務和訂餐系統上,我們都實現了電腦操作,但是還沒有采用SOA架構。
盡管如此,我對SOA 的理念是認同的。比如面向服務、快速反應、資源共享等等,在我的企業里現在已經是按照這樣的理念來管理。沒有上SOA的主要原因是價錢對于我們這樣的企業來說比較昂貴,有點負擔不起。
張俠:對于小企業來說,我認為業務的確要比IT系統重要,因為沒有成功的業務,小企業就不能生存,但是對于小企業來說,IT系統能夠讓小企業更快地發展。在SAP的SOA解決方案中一個顯著的特點就是它是從應用出發,也就不需要企業進行大規模的開發和咨詢,這樣就能夠節約大量的費用。
其次,SAP在大企業服務方面很成功,業界稱為500強背后的管理大師,我們把這些經驗總結成最佳業務實踐,這樣就可以幫助小企業盡快追上大企業。
傅強:小企業和大企業在很多方面都有所不同,大企業的經驗小企業能否適用?
張俠:盡管大小企業之間有很多區別,但是一些基本的要素有很多相近的地方,這些要素是企業發展的根本,通過IT是可以被抽取和固化下來的,當然,對于每一個企業來說這種需求不可能完全一樣,通過一些定制的開發就可以解決,對于小企業來說這種定制的開發會更少。
SOA怎樣幫企業應對未來挑戰?
傅強:SOA對于許多企業而言,不僅僅是一種技術,更是一種新的商業思維,是這樣的嗎?
榮曉維:SOA的確在理念上很吸引人,但是對于我們這樣傳統企業來說,最大的問題是尋找客戶,SOA能不能幫助企業解決這樣的問題?
張惠欣:我也對這樣的問題很感興趣,目前我們公司也正在進行轉型,嘗試新的模式,既在建設物理上的配送中心,同時也在網上建立虛擬的訂餐系統,SOA在這種企業轉型中的信息化建設中能起什么樣的作用?
張俠:尋找客戶可能有兩種含義,一種是開拓新的客戶,這種方式估計沒有任何軟件能夠代替企業去做,畢竟軟件不是萬能的,它不能代替所有的企業活動。但是軟件能夠幫助企業挖掘客戶更多的需求,從某種意義上來說這也是一種客戶開拓,也能夠為企業帶來更多的業務。
馬衛國:從我理解來看,SOA就像是企業的一個微循環。我們的公司之前上過ERP,也做過OA系統,這樣的大系統對于企業來說就像是主動脈,是骨架,有了這些系統之后才需要SOA這樣的平臺。
ERP等應用在某些范圍是必須的,但是過多的系統在企業內部很容易形成一個個的孤島,這時候就需要有一個平臺能夠把這些孤島連接起來。我感覺SOA就具備這樣的一個作用,SOA平臺就像是無處不在的毛細血管,可以把企業的信息孤島整合起來,提高系統的可重用性,提升了效率。
SOA還可以做一個很重要的事情,就是法律遵從。一個企業做大之后這是不得不考慮的一個問題,一個企業要為客戶著想,尤其對于國企來講,不僅僅是客戶的問題,是所有的利益相關者都要考慮,考慮到國家、社會以及當地環境的影響,這種管控用傳統的軟件開發的模式很難達到,很難開發出一個標準化的軟件能夠解決這個問題,但是在SOA的架構里面,你可以在企業里建立這樣一個流程的管控、或者是風險管控的流程圖。
所以我認為SOA可能做三個事情,一個就是整合信息孤島,第二個就是打通企業微循環,然后就是企業做大之后,在法律遵從方面能夠起到很大的作用。
企業如何推動SOA?
傅強:SOA是一個整合原有信息系統的架構,那么這樣的一個舉措對于企業來說應該在哪些方面注意哪些問題?
馬衛國:在一個企業里面信息化要做好,信息部門一定要參與整個流程的制定,而且信息部門要主動地要求在流程制定里面承擔一定的責任,甚至是作為一個公司里面日常的流程管理的一個部門。實際上這一點非常難,但是如果你不做這一點,SOA或者IT系統在一個企業里面發展,基本上不會起到太大的作用。因為IT最后還是要跟企業戰略和業務結合,這樣才能夠最終顯示你的價值。
張俠:從企業角度分析,為了最大限度地利用SOA的優勢,從實施SOA方案之初,企業就需要制定一整套組織、財務、運營、設計以及交付實踐方面的規劃,還需要定義一個企業范圍的參考架構(即現有IT架構的遷移目標),這個參考架構應基于服務和標準,面向企業和業務,并具有可適應性。
業界需要意識到的是,并不是任何SOA 方法都能取得成功。為了確保SOA的成功實施,還必須有三個核心組件:合適的平臺、實踐和人員。有了可靠的基礎,公司才能通過在開始時制定一套組織、運營和交付實踐方面的規劃,實現長遠和短期業務目標和需求的平衡。
SAP NetWeaver弱化了中間件,加強了應用模塊,SAP正在通過NetWeaver將商務軟件產品的重心從各種應用模塊的機械性集成向基于商業流程的有機結合(BPP,Business Process Platform)發展,這種變化是SAP在SOA方面的一個特點,從應用切入實際產生的效果更直接,企業可以很快就享受到SOA帶來的好處。
傅強:從長遠來看企業架構和架構會是一個什么樣的關系?
張俠:盡管SOA還不能等同企業架構,但我認為SOA架構在一定程度上必然要和企業的ERP、CEM系統進行融合,最終還有可能和企業架構融合,所以一定要把應用放在首位去考慮。
中國企業建設SOA更多要提升高度,在國外CIO的權力非常大,而中國的很多企業仍然稱之為IT經理或者網管,這樣不可能從企業發展模式的高度去構建SOA。一個數據表明,在國外有將近15%的CEO是由CIO擔任的,這就足以說明信息化對于企業未來的重要性。
什么是SOA?
SOA是一種架構模型,它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟件交互的人為依賴性。
SOA并不是新生事物,大型IT組織成功構建和部署SOA應用已有多年的歷史。這要比現有的XML和Web服務長很多。IBM CICS和BEA TUXEDO就是過去被用于構建SOA應用的兩種技術范例。
重點說明的是,SOA并不是一種現成的技術,而是一種架構和組織IT基礎結構及業務功能的方法。SOA是一種在計算環境中設計、開發、部署和管理離散邏輯單元(服務)的模型。這一定義闡明了SOA的范圍。
SOA要求開發人員將應用設計為服務的集合。SOA要求開發人員跳出應用本身進行思考,考慮現有服務的重用,或思索他們的服務如何能夠被其他項目重用。“單獨的”、“獨立的”、“封裝完善的”服務所具有的一個關鍵的好處是,可以采用多種不同方法將它們組合成較大型的服務,由此來實現重用。
但是,SOA并不僅僅是一種開發方法。它還具有管理上的優點。例如,現在管理員可直接管理開發人員所構建的相同服務,這遠勝于以往管理單個應用的方式。通過分析服務間的交互,SOA可以幫助企業了解何時以及為什么業務邏輯被切實執行了,這使管理員或分析師能夠有針對性地優化業務流程。
SOA七大誤區
SOA是一個新概念
錯誤。自從企業組織中有不止一臺計算機運行,我們就開始嘗試圍繞共享功能或服務創造各種解決方案和科技工具。事實上,最早的RPC協議試圖提供這種類型的架構,然后是IPC協議 ,以至分布式對象技術(比如COM和CORBA)。雖然Web服務提供了新的標準方式,但它還是像傳統分布式對象技術那樣運行。換句話說,它只是演變而不是革命。
必須用Web服務協議創建SOA
不是。雖然Web服務協議到目前為止還是首選的創建和部署SOA架構的標準,但是你也可以使用其他標準,比如CORBA、COM和 J2EE。你甚至可以采用私有技術創建SOA。記住,SOA只是關于共享和管理服務,你所采用的技術只需要滿足它的需要。
購買了企業服務總線(ESB),就擁有了SOA
錯誤。ESB是非常強大的技術,它允許你通過Web服務界面在應用程序內和應用程序之間傳遞信息。但是,ESB并非完全基于行為的整合,或者共享真實的應用,它更多是信息導向。
SOA總是公平的
在很多案例中,你會發現SOA在商業上的兩種反應,即節省組織成本,包括重復利用已存在的軟件作為服務;以及增強改變IT方案,適應商業需求變革或靈活性的能力。在你計劃設計和部署SOA之前你必須做一個評估,在你充分了解SOA的價值和項目成本之后搭建商業模型。大多數案例中成本會發生調整,這意味著企業可以從中獲利,但是有一些案例并非如此。
當部署SOA時,只能選擇一個供應商
當面對很多供應商時會出現兼容性問題。但是,事實是沒有一個供應商可以為創建和部署大多數SOA提供端到端的解決方案,你必須選擇一類里最好的。你可以通過在項目早期進行POC測試解決兼容性問題。
當創建SOA時,選擇好技術和供應商就可以了
千萬不要。只有你理解你的需求所在,什么問題是你最期望首先解決的,做一個商業模型,然后設計你的系統。當然,這意味著你必須要做一系列工作,包括弄懂代碼、安全性、完善性、已經存在的服務、你需要創建的服務,等等方面。然后,你需要配置這些服務到相應的方案中,以及保證讓這些方案隨著商業的改變而變化。最后,你再來討論技術,別忘了做POC測試以驗證系統的有效性。
[關鍵詞]面向服務的架構(SOA)Web ServiceXML ESB
一、引言
軟件的本質決定了它的復雜性,而電子商務中應用到的軟件不僅復雜而且多變,不斷變更的多樣化需求使得傳統軟件架構已經無法滿足當前的需要。面向服務的軟件架構(SOA)為處理這種復雜性提供了一種有效的解決方案。
二、SOA的定義
SOA(Service Oriented Architecture)即面向服務的體系架構。現在,SOA并沒有確切的定義,它是一個概念,是說一個應用可以由一系列獨立但又相互協作的子系統或者服務組成。這樣的結構將各個服務獨立出來,只把需要聲明的接口告訴給其它的服務。接口定義采用中立的方式,獨立于實現服務的硬件平臺、操作系統和編程語言,使得這些服務可以使用統一和標準的方式進行通信。任何面向服務的架構包含三個角色:一個服務申請者(service requestor),一個服務提供者(service provider),和一個服務注冊器(service registry),角色關系如圖1所示。
其中服務提供者負責建立一個有用的服務,并為它創建一個服務描述,然后將這個服務描述給一個或多個服務注冊器,并從一個或多個服務注冊器那里接收服務請求信息。
服務請求者負責尋找在一個或多個服務注冊器那里的一個服務描述,并負責使用服務描述來bind或者invoke服務提供者所提供的服務。一個服務的任何用戶都可被看作服務請求者。
服務注冊器負責將服務提供者在其上的服務描述廣而告之,并允許服務請求者在本服務注冊器所擁有的服務描述里搜尋。一旦服務注冊器將服務請求者和服務提供者配對,服務注冊器就不需要再參與交互過程。
三、SOA的主要支撐技術
SOA技術實施中涉及的主要技術包括以下幾個: ESB 、Web Service、XML、SOAP、WSDL、UDDI。其中ESB、Web Service、XML尤為重要。
ESB(Enterprise Service Bus)
企業服務總線(ESB),它是SOA架構的支柱技術。它提供一種開放的、基于標準的消息機制,完成服務與服務、服務與其它組件之間的互操作。XML[3](Extensible Markup Language)
可擴展的標記語言(XML),XML是由萬維網協會(W3C)創建的一種基于文本的規范標記語言,是Web Service平臺中表示數據的基本格式。
Web service
Web service是建立可互操作的分布式應用程序的新平臺, 它定義了應用程序如何在Web上實現互操作性。Web Service是就現在而言最適合實現SOA的一些技術的集合, Web Service標準的成熟和應用的普及為廣泛的實現SOA架構提供了基礎。
四、SOA參考模型(SOA-RM)及應用整合模型
一直以來SOA沒有一個統一的標準。為了統一標準,OASIS作了很多工作,也取得了一定的成果,于2006年底通過了一套SOA參考模型,其他相關標準預計在2007年完成。
基于現有工作,本文給出一種解決方案,如圖2所示。它在保證傳統系統正常的前提下,將系統或者功能模塊包裝成服務,組成符合SOA模型的系統。大大提高了軟件復用性,節約了成本。
在這一方案中,不同類型的用戶通過各自的用戶界面進入系統,并向ESB提出服務請求,ESB將請求經由通用接口層分發,最后由特定的程序或者模塊處理,處理結果逆向反饋給用戶。
五、結束語
SOA成本低、易集成,它可以整合現有資源,并且有了新的應用時也很容易擴展而無須對現有系統作大的改動,只需將新的功能注冊為服務即可。這樣既提高了復用性,又有很好的擴展性。SOA的松耦合性和靈活的特點必將使它成為電子商務應用中占有絕對優勢的軟件工程實踐方法。
當然,要真正SOA,還有很多問題和面臨的挑戰。如最急待解決的,統一的SOA標準問題。
參考文獻:
[1]IBM技術支持庫,[EB/OL],
,2006-12-05
[5]2007年 OASIS探尋標準SOA參考架構,[EB/OL],
然后從2003年開始,IBM用了4年的時間循序漸進的告訴所有心存疑惑的人們,整合的時代已經伴隨新一輪全球化浪潮肆意張揚的呼嘯而來――盡管,整合這個詞本身,仍然帶有晦澀的色彩。
在這一過程中,IBM一邊持續不斷的進行并購,執著的向其軟件體系輸入新鮮血液,并以自身為例來印證整合創新的價值;一邊為一些如SOA(面向服務架構)、GIE(全球整合企業)、SaaS(軟件即服務)之類原本生僻的技術名詞賦予新的內涵,并由此成為業界爭相追逐的熱門詞匯,微軟和Oracle爭相用各自擅長的方式加入到了這股潮流中。
銜接在口號先于行動、概念大于內容的階段之后,IBM的2008年注定將是亮出王牌的一年。在1月16日剛剛結束的“IBM論壇2008”上,IBM所給出的標語突然間變得異常直白:停止(Stop)、開始(Start)、Talking、Doing。這個細節也預示著,IBM走向整合之路,將會由此漸漸告別市場培育期,開始進入短兵相接的實質性階段。
IBM的整合變奏
本刊記者 趙仁宇
以SOA的全面“落實”為標志,全球第二大軟件公司IBM走向整合的道路,將會由此漸漸告別市場培育期,開始進入短兵相接的實質性階段。
2007年12月28日,中國深圳。
位于深圳市深南大道高新技術產業園區內的金蝶軟件(中國)有限公司(.cn)(以下簡稱金蝶)總部大樓里,涌入了行色匆匆的一群人。走在最前面的除了金蝶國際軟件集團行政總裁何經華之外,還有一位干練的女士,她是IBM(.cn)大中華區副總裁、渠道及市場部總經理鐘郝儀。
在金蝶辦公室中略顯局促的大會議廳里,來自IBM的客人和金蝶的眾多高層一起舉行了一個簡短卻氣氛熱烈的儀式。從這天開始,由IBM提供全方位支持的“金蝶SOA創新中心”正式揭牌。“在2007年歲末,我們做了一個意義深遠的活動,或者說是決策,”何經華用其頗具標志性的激情口吻說,“金蝶和IBM合作,正式成立我們的‘SOA創新中心’,這也是繼2007年6月份IBM和雷曼兄弟戰略投資金蝶之后,雙方進行的另一次深度、廣度的合作。”
這家“SOA創新中心”(SOA Innovation Center)也是IBM在最近半年來,與其中國合作伙伴陸續建立的第4家SOA實體機構。此前,IBM在2007年6月8日、8月22日、11月16日分別和浪潮(.cn)、用友(.cn)以及軟通動力(,cn)一起成立了三家“SOA創新中心”。
陳琦程親歷了這四家“SOA創新中心”創建前后的整個過程。可以說,2007年的下半年,也是他加入IBM以來最為繁忙的6個月。他的名片上,印著一長串頭銜。包括IBM中國開發中心(CDL)、SOA核心競爭力中心、大中華區SOA技術戰略與合作部,陳琦程是同時隸屬于這三個部門的資深IT架構師和經理。而他最為在意、也最重要的角色,則是SOA技術戰略與合作部執行總監的職位。
陳琦程在北大讀完了大學,畢業后曾經和王志東一起創過業。幾年后,出于個人興趣和性格的原因,他選擇加入了當時赫赫有名的Lotus(蓮花軟件)公司,并在Lotus美國總部開始了他的職業生涯。后來又隨著Lotus被IBM收購而進入IBM。2006年秋天,他在現任IBM中國開發中心(CDL)總經理鄭妙勤的邀請下,以IBM派駐國內的美國專家身份回到了闊別十幾年的中國,并出任了IBM在當年年底新設立的“SOA技術戰略與合作部”的執行總監。
在IBM在華設立的眾多研發機構中,CDL有著很特殊的定位,它一端銜接IBM中國研究院,一端直接面對產品部門,起著技術產品化的作用。回到中國的陳琦程被賦予了非常明確的任務,即直接負責IBM大中華區軟件集團自2006年4月啟動的“SOA 100計劃”,也就是“SOA英才孵化計劃”。該計劃一方面映襯了IBM近幾年間對于SOA不遺余力的器重,另一方面也非常直觀地體現出IBM對于中國軟件業的滲透路徑。
星火燎原
這項聲勢浩大的“金字塔”式方案計劃利用三年的時間,由IBM配合中國的合作伙伴培訓100位資深SOA架構師,再以這100位架構師為基點,在更廣泛的層面上培養出1000位普通的SOA架構師,繼而再由此帶出1萬名SOA領域的產品專家和技術人員。后來,IBM又在“SOA 100計劃”的基礎上,推出了另一項雄心勃勃的“IBM SOA合作伙伴聯盟計劃”。IBM將按照合作伙伴的需求和現狀,把他們分成初級、高級和頂級成員三部分,并為不同層面的合作伙伴提供獨一無二的量身定制的SOA扶植與合作支持。
在緊張籌備了一年多之后,浪潮首先和IBM走到了一起,成為IBM“SOA俱樂部”中的首位頂級成員。2007年6月8日,IBM與浪潮軟件在濟南簽下協議,協助后者成立了國內首家“SOA創新中心”,該中心就建在泰山腳下的泰安軟件園區內。當時的簽約儀式,甚至吸引到了剛剛接替宋家瑜出任IBM全球副總裁、大中華區軟件集團總經理的Bete Demeke親自到場。
看看這家創新中心的目標,你就會明白IBM的深意。首先是2007年,在浪潮軟件自有的樓上企業開發平臺(Loushang)的煙草行業應用開發過程中,應用SOA;未來3~5年內,再將SOA應用到如能源、金融、政府等其他垂直行業中。
IBM期望隨著浪潮軟件的成長和對SOA的重視,可以幫助自己相應的間接介入這些行業,并使SOA的落地形成連鎖反應。IBM大中華區軟件集團SOA銷售總經理夏然解釋說:“中國的市場要比美國復雜得多得多。SOA在中國的推廣,不可能沒有合作伙伴。”
Bete這樣評價IBM在此次合作中的收益:“對IBM來說,它重視的不僅僅是金錢的回報,它更看重的是對IBM整個行業的支持,這是給IBM帶來的最大的好處。”
按IBM的說法,其每年在SOA領域的投資高達10億美元,在這種級別的資金背景下,像IBM為浪潮“SOA創新中心”所提供的包括軟硬件設備、SOA服務咨詢、業務流程設計、專業人員培訓等等支持,實在顯得微不足道。
陳琦程忙了大半年,陸續又將用友、軟通動力和金蝶吸引到了IBM的“SOA俱樂部”中,并成為頂級成員。“我們這個部門的職責之一,就是保障IBM的SOA戰略在中國順利實施,并為合作伙伴成長提供可靠的技術保障。”在接受《互聯網周刊》采訪時,陳琦程解釋說,“我的部門不僅是中國的技術資源,還有全球的技術資源,比如參與金蝶這個項目的首席架構師,就是IBM從多倫多派來的,我們希望能把IBM的實踐經驗帶給合作伙伴。”
作為“金蝶SOA創新中心”的主任,金蝶軟件的副總裁林峰,親歷了該中心從提議、籌劃到搭建的全過程,與IBM方面的眾多技術專家打了半年多的交道。按他的話說,IBM給他的感覺就是“很龐大、很熱情”。
“在2007年6月IBM投資金蝶前后,我對IBM的印象確實有一些差別。比如之前IBM給我們更多的是技術專家的形象,為我們的技術發展帶來幫助。我當時希望的合作形式,原來是提出申請、然后獲取資源,這樣的流程。”林峰向《互聯網周刊》坦言,“但現在的期望,則更多是雙方都能對彼此的業務更好的相互了解,并能相互促進。這個中心的建立,本身就是SOA落地計劃的一部分,同時也表明我們和IBM的關系已經由原來比較被動的方式轉為雙方可以主動進行合作的方式。”
像這樣的頂級成員,數量不會太多。“在4個月之前,我們的目標是5個頂級、30個高級、100個基礎的會員。現在頂級的有4家了,其他類型的已經有超過150家合作伙伴在申請,其中一些會是高級的,有一些是基礎的。”IBM大中華區策略與地區合作伙伴部總經理李永財告訴記者,“并不是高級就是好的,比如我們有一些合作伙伴是只做某個地區的業務,不想做得太多,所以對他來說,只要達到基礎的要求,可以拿到適當的層級就足夠了,而不想投入到更高的層級。所以不存在高級的就更好,而是要根據不同合作伙伴的需要,我們雙方來共同打造一個好的計劃,一起成長。”
對于IBM軟件集團而言,SOA無疑是其近幾年來的行動綱領。通過設立那些“SOA創新中心”,IBM無疑可以把SOA的技術理念更為緊密和深入的傳達到合作伙伴那里,并通過各個層面的合作,進而傳達到更為廣泛的ISV、SI那里,由此而構建出完整的生態系統。而IBM的下一步,則順理成章的放在了SOA的落地,也就是獲得真切的客戶應用上。
蒲公英的種子
國內的醫院永遠是一個人滿為患的地方,看病是一件相當麻煩的事。如果你可以不用親自去大醫院掛號,在家門口的社區衛生醫療機構點就可以享受到大醫院的服務,這就需要這一區域與衛生系統關聯的各機構實現縱向、橫向的數據整合。北京市西城區衛生局正在做這樣的事情,并且選擇了IBM來幫他們實現SOA。
“當時選擇SOA,是考慮到SOA可以把不同的服務、不同層次的發展,根據我們的能力合理的部署在一起。”北京市西城區衛生局信息中心的主任朱樹宏對于SOA的選擇有自己的考慮,“每個做政府的廠商都會感覺,從項目簽下來到項目完成,需求改了十次八次,風險也依賴于政府對項目成熟度的控制,也就是說如果作為政府方不能有效的控制住需求,不能和乙方很好的合作,SOA項目最后的結果往往就是失敗。”
北京市朝陽區不久前剛剛采用SOA應用框架搭建完成了一套城市網格化管理平臺,實現了一個平臺多種應用,資源橫向共享,并搭建起了基礎綜合平臺。“朝陽區不斷發展變化以及城區復雜的特點,要求我們的系統里面一定要考慮到不斷變化的新情況。”北京市朝陽區信息化工作辦公室、信息網絡中心主任梅詩曙對這個新系統非常滿意,“IBM的合作伙伴國研科技基于SOA架構,用IBM成熟的中間件產品進行的二次開發與部署,成功地按照我們的要求搭建了朝陽區的網格化管理平臺。目前,該平臺運行良好。同時,平臺由于基于SOA的架構,能夠支撐目前業務的發展變化,支撐我們的很多調整,可以說是一種隨需應變的架構。”
類似的場景一年前也在南京市玄武區上演過。2007年3月,作為“數字玄武”規劃的主體建設,基于SOA的玄武區統一的電子政務基礎平臺在IBM及其合作伙伴北京有生博大軟件技術有限公司的幫助下,成功搭建完成。在該平臺之上,玄武區成功整合了財務、計生、民政、發改、衛生等全部13個政務應用系統。
而在2007年年底,中國電信上海研究院舉辦的第二屆創意大賽進入了籌劃階段,引人關注的是上海研究院同時建設的一套中國電信(.cn)的創新匯聚平臺―“創新夢工廠”。其實質是一個工具,一個能幫助企業更高效、快速地進行創新活動的工具,由IBM高性能隨需應變服務解決方案(HiPODS)團隊研制開發,為客戶提供Web 2.0型的協作和IT管理功能,使其能夠創建并運行從孵化到產品的服務。值得一提的是,“創新夢工廠”中的服務網格環境,也是基于SOA架構提供開發、運行和維護服務。這無疑又是SOA在中國落地的另一個實證。
上面提到的幾個故事,是IBM大力宣揚了3年之久的SOA在中國的落地版。2007年11月,在上海舉行的IBM 2007 SOA創新高峰論壇上,IBM軟件集團大中華區市場總監劉秋美告訴記者:“我們把一個SOA的演進和成功的推進過程大概歸納為四個階段―從剛開始的切入點,到第二階段端到端的擴展,再到第三階段的業務轉型,直至最后技術和業務之間完全透明的互相整合。”IBM希望以此來告訴中國的企業,SOA已經不再遙遠。
對此,李永財深有感觸。“兩三年之前與客戶談時,大家有一個懷疑,認為SOA這個東西是什么?怎么用?對我有什么好處?”李永財對《互聯網周刊》說,“這一年多,很少再碰到這些問題,基本上碰到的問題就是SOA怎么用?什么時間用?以及用在什么地方?這是一個很明顯的變化,現在企業已經開始接受SOA。”
鐘郝儀非常贊同李永財的看法,她覺得,無論是從市場的接受程度,還是人才的儲備,“在2008年,都將有一定程度的實施”。“相對國外的企業而言,中國的企業一般都比較年輕,其IT架構,相對來講比較合適SOA的實施。而在國外,他們要做的工作比中國的企業考慮的東西要多。所以SOA的概念,當大家認同了之后,實施的時間應該會比國外企業短。”
通往整合的大道
“SOA不是一個產品,是一個以服務為導向的架構,所以它實際上并不產出什么樣的代碼,它是一個概念,是一個產品設計的概念加上業務模型的整合,所以理論上,它可以覆蓋所有的軟件產品和解決方案。”據何經華說,金蝶從2003年開始就已經在關注SOA技術的發展,他對SOA也有著深刻的認識,“事實上,它最重要的目的就是把人類幾十年信息化整合出來的各式各樣的應用和解決方案,怎么樣有效地整合起來。從企業角度講,有財務軟件、ERP,還有人力資源軟件,這么多東西如何整合在一起,形成合力的效果。”
“不論有沒有開始做SOA,不管SOA到什么程度,IBM都告訴你具體每一步該怎么做,不管你的企業規模有多大,你都可以成為一個全球整合的企業。”這是劉秋美對于SOA定位的表達。實際上,SOA這三個字母的背后蘊藏著太多的內容,在某種層面上看,你不妨將其理解為通往整合的一條途徑。當然,目前這條道路已成為兵家必爭之地。
對于一直戰斗在第一線的陳琦程而言,他覺得SOA并不是突然間冒出來的新技術,其本身就是通過軟件工程和各方面的IT技術發展自然而然積累形成的。“SOA解決了一個最大的問題,就是業務的變化。因為目前世界面臨的趨勢就是全球的整合,越來越快的變化給IT帶來巨大挑戰;而在整合過程中,需要有一個開放的標準,提供快速應變的能力來應對業務變化以及全球整合的大趨勢。”從這個角度看,SOA其實也是對幾年前IBM所提出的“Information On Demand”(信息隨需應變)的一種技術演繹。
根據Gartner的報告,2006年全球已經有60%以上的企業考慮以SOA為指導原則來進行關鍵任務的應用和建立工作流程,到2008年,SOA會為全球80%的新開發項目提供實施的基礎。
但SOA并非IBM的技術專利。盡管在走向整合的道路上,IBM一邊持續不斷的進行并購,執著的向其軟件體系輸入新鮮血液,并以自身為例來印證整合創新的價值;一邊也在不斷為SOA賦予新的內涵。SOA毫無疑問的是近兩年中全球軟件業最炙手可熱的名詞,微軟和甲骨文爭相用各自擅長的方式聞風而來。
甲骨文延續其鯨吞路線,在1月16日以85億美元的高價并購BEA(.cn),由此獲得了足夠強大的和IBM中間件一較高低的資本。而微軟的步伐則要迂回和巧妙得多。2007年12月,在IBM的SOA創新高峰論壇剛剛落幕之后,微軟借勢在北京舉辦了幾乎同樣規模和主題的的2007微軟中國SOA高峰會,并以“雙S”(軟件+服務)為切入點,高調表達了微軟對于SOA的技術積累、能力和決心。
眾多競爭對手的追捧似乎不足以對IBM的軟件帝國構成威懾。在今年1月接受本刊記者專訪時,IBM軟件集團總裁Steve Mills這樣評價IBM與甲骨文和微軟的區別:“微軟主要是在大型企業或者中小型企業應用的層面,甲骨了許多大型的應用軟件,而IBM是不做應用軟件的,我們提供基礎的平臺,包括技術性的軟件,比如說中間件。我們的市場是不一樣的,我們更注重怎么樣給商業或者政府機構提供軟件,而不是為最終用戶提供軟件。從這一點上也可以看到,IBM和他們實際上是有不小區別的。”
自1995年IBM決定正式組建軟件集團至今,IBM已先后完成了50多次規模各異的并購,并也由此逐漸構建出了全球第二大軟件公司。根據IBM在1月20日的2007財年財報,其軟件業務收入180億美元,同比增長13%,這也是IBM三大業務部門中最出色的業績。
IBM的2008年注定將是亮出王牌的一年。經過了前幾年的概念宣講階段,在1月16日剛剛結束的“IBM論壇2008”上,IBM所給出的標語突然間變得異常直白:停止(Stop)、開始(Start)、Talking、Doing。這個細節也預示著,全球第二大軟件公司IBM走向整合之路,將會由此漸漸告別市場培育期,開始進入短兵相接的實質性階段。
我們更關注客戶的業務如何發展
――專訪IBM全球副總裁兼軟件事業部總經理Steve Mills
《互聯網周刊》:最近幾年間,全球軟件業的并購不斷,2007年同樣也不例外,前些天甲骨文還剛剛并購了BEA。在這樣的背景下,全球軟件業未來五年的發展趨勢和方向會怎樣?
Mills:這個問題有兩方面,一方面就是并購仍然會持續發生;另外一個方向就是2007年以后會出現新銳的新興軟件公司,這種情況在美國、中國、印度都會有。將來的軟件業格局中,更多的會是比較大規模的公司和中等規模的公司,大量小規模的公司會被并購。
《互聯網周刊》:還有什么趨勢和因素是在接下來推動全球軟件業繼續成長的?
Mills:軟件業的發展實際上是技術的發展,比如說SOA技術,以及未來商業智能化的趨勢,這些都是軟件的機會。這個機會IBM會利用,我們的競爭對手也會,新興的軟件公司同樣也會。所以我們可以看到,全球軟件業將來的發展一個重要的推動力來源于客戶的需要。
《互聯網周刊》:你提到的未來兩大發展方向里,可能會遇到什么樣的問題或者瓶頸嗎?
Mills:我們遇到的問題主要還是能不能滿足客戶的戰略需要。當然,將來可能會有一些大的公司比如IBM,對一些小公司的需求也會產生興趣,也會需要去滿足它們的需求。但對小公司的挑戰主要有幾個方面,一是能不能給客戶提供價值,第二個方面是它有沒有長期的規劃,使得客戶能夠看到它長期的發展。
實際上,軟件不僅僅只是需要開發新技術,或者寫出一個新的程序,而是要看能不能滿足客戶的要求,所以需要一種模型來適應你的客戶需求。
《互聯網周刊》:對于IBM軟件集團而言,關注和投入的重點領域有哪些?
Mills:其實我們應該從全球化的觀點來看這個問題,我們主要是看某項技術能不能來支持我們的客戶,目前,我們更關注的是他們的業務怎么樣發展。對IBM而言,我們的發展并不只是在某一個國家和地區,而是在全球。
《互聯網周刊》:在甲骨文、IBM、微軟三大軟件巨頭競爭中,IBM如何定義自己的角色?
Mills:微軟、甲骨文都是我們的競爭對手,軟件收入微軟是占第一位,IBM是第二位,但微軟主要是在大型企業或者中小型企業應用的層面,所以市場是不一樣的,我們更注重怎么樣給商業或者政府機構提供軟件,而不是為最終用戶提供軟件,我們把重點放在更大型的軟件上,比如大型的數據庫等等。
甲骨了許多大型的應用軟件,而IBM是不做應用軟件的,我們提供基礎的平臺,包括技術性的軟件,比如說中間件。甚至在甲骨文收購了BEA之后,我們比甲骨文的中間件產品線至少還大50%。從這一點上也可以看到,IBM和他們實際上是有不小區別的。