版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、什么是SOA1. 背景IT行業(yè)就是術語和縮寫流行的行業(yè),各大廠商都喜歡隔三差五地推出一些新概念。為了不落人后,大家都喜歡爭先恐后地跟進。有深入研究、務實研發(fā)的供應商,能夠將概念落地,不斷推出創(chuàng)新的產(chǎn)品和服務,贏得競爭優(yōu)勢。但“貼標簽”的也大有人在,而且趨勢是越貼越多,跟風炒作,“魚目混珠,泥沙俱下”,以至于“混繞視聽”了。SOA就是這俱多“三字母”縮寫的概念之中的最流行和熱門的一個。但目前,SOA概念和解決方案,話語權方面基本上被國外巨頭所控制,特別是大的中間件廠商。但是真正能夠完整實現(xiàn)SOA的落地解決方案和案例很少,刻意包裝的成分比較
2、多,特別是應用架構方面。重技術,輕方法論,造成企業(yè)實施SOA缺乏足夠的架構方法、SOA治理、SOA實施運維方面的最佳實踐,因此企業(yè)實施SOA缺乏系統(tǒng)的指導。另一方面,國內(nèi)的不少軟件企業(yè),由于不能提供完整意義上的SOA解決方案,只能提供部分的組件,小部分特性符合SOA思想,所以就任意曲解SOA的含義,隨意解析SOA的概念。以至于國內(nèi)沒有一家軟件企業(yè)不宣傳SOA,不宣稱其產(chǎn)品符合SOA架構的。由此造成,許多企業(yè)和客戶對SOA是非常茫然的,對SOA的價值也轉向懷疑和抵觸。這種廠商之間的無序競爭,不利于國內(nèi)企業(yè)的自主創(chuàng)新,也不利于企業(yè)導入和實施有效的SOA,實現(xiàn)SOA的商業(yè)價值。本文試圖就SOA的來龍
3、去脈,外延內(nèi)涵和前世今生,來一個全面的闡釋。一家之言,權作業(yè)界參考,希望帶動大家做一些更深入的思考。文章比較長,如果興趣不夠,也可以就此打住。 2. 為什么需要SOASOA的出現(xiàn)不僅僅是廠商炒作的結果,本質上是兩種力量驅動的結果:需求拉動、技術推動。業(yè)務需求的拉動,希望解決業(yè)務應用的問題;技術發(fā)展的推動,使得SOA具備了技術上的可行性,軟件技術的發(fā)展推動了IT創(chuàng)新的商業(yè)價值。2.1. 需求拉動需求拉動方面,主要來自于兩種信息化的困境。一個是“信息孤島”造成基于系統(tǒng)之間互聯(lián)互通的整合
4、需求;另一個是業(yè)務的變化所導致對IT靈活性,以適應變化的需求。目前國內(nèi)外基本情況類似,經(jīng)過30年的信息化建設,許多企業(yè)和政府部門都在不同時期、應用不同技術、與不同的廠商合作,建設了不同規(guī)模的應用系統(tǒng),造成了信息化不是沒有系統(tǒng),而是信息孤島太多的問題,而且不是沒有數(shù)據(jù),而是信息不一致,難以整合。因此,互連互通是當前信息化中的核心問題和核心需求。順便說一句,那些認為中國企業(yè)的信息化起步晚,歷史負擔少,可以快速部署全新SOA,可以運用推倒重來的策略是不了解中國企業(yè)信息化,自我想當然的結果。事實上,我國信息化無論是金融、電信、電力等大行業(yè),還是中小工商企業(yè),“孤島現(xiàn)象”還是非常嚴重,遺留系統(tǒng)的整合不一
5、定就少,而且我國軟件供應商的系統(tǒng)普遍架構能力比較弱,整合難度一點也不低。這種互聯(lián)互通需求,既包括企業(yè)內(nèi)的各種應用系統(tǒng)之間的集成,也包括集團企業(yè)總部與下屬企業(yè)、企業(yè)與上下游伙伴之間的業(yè)務協(xié)同。 企業(yè)內(nèi)互聯(lián)互通的需求另一方面,激烈的競爭和產(chǎn)業(yè)變革,需要企業(yè)不斷調整其組織、流程和商業(yè)模式,以獲得競爭優(yōu)勢,造成業(yè)務的不斷變化,而且隨著經(jīng)濟全球化,這種變革的步伐在不斷加快。但僵化的IT基礎設施難以迅速響應這種變化,造成IT與業(yè)務的不平衡和不匹配。因此,IT的靈活性以適應業(yè)務變革的需求,也是當前信息化建設過程中所面臨的最大挑戰(zhàn)。而且這方面的變革速度和變革幅度比國外許多企業(yè)都要大得多,
6、畢竟我們的企業(yè)還是在快速成長,快速成熟的過程之中。業(yè)務靈活性的需求需要一種新的架構技術來支撐企業(yè)實現(xiàn)其快速的靈活應變的業(yè)務戰(zhàn)略。傳統(tǒng)的信息化方法和軟件研發(fā)方法是基于業(yè)務需求的直接映射。這種需求驅動的信息系統(tǒng)最大的缺陷就是對變化的適應性差,這也是傳統(tǒng)軟件工程造成的“軟件危機”最直接的表現(xiàn)。如果要滿足業(yè)務需求的柔性,就需要按照架構驅動,對業(yè)務進行適當?shù)某橄?,通過服務的表達和業(yè)務過程的原子化,來滿足系統(tǒng)是按照企業(yè)架構來構造,這種架構是動態(tài)重構技術來支撐的,我們今天知道了,這種架構就是SOA。 2.2. 技術推動軟件出現(xiàn)最早是用于科學
7、計算,然后是計算機輔助設計、輔助制造等等工業(yè)應用。在企業(yè)管理領域大規(guī)模應用后,業(yè)務需求不斷的變化、系統(tǒng)不斷增加、流程更復雜、系統(tǒng)越來越不堪重負,出現(xiàn)了需求交付方面的重大挑戰(zhàn),以至于人們用“軟件危機”來描述軟件工業(yè)所面臨的困境。軟件技術發(fā)展過程中,一直在尋求解決四個基本問題的方法:質量問題、效率問題、互操作問題、柔性構造問題。這些問題今天依然困擾著軟件行業(yè)。造成這個局面的原因是異構性和標準規(guī)范的滯后。· 屏蔽異構性異構性表現(xiàn)在計算機的軟硬件之間的異構性,包括硬件(CPU和指令集、硬件結構、驅動程序等),操作系統(tǒng)(不同操作系統(tǒng)的API和開發(fā)環(huán)境)、數(shù)據(jù)庫(不同的存儲和訪問格式)等等。長期
8、以來,高級語言依賴于特定的編譯器和操作系統(tǒng)API來編程,而他們是不兼容的,因此軟件必須依賴于開發(fā)和運行的環(huán)境。造成異構的原因源自市場競爭、技術升級以及保護投資等因素。希望屏蔽異構平臺的差異性問題是促成中間件發(fā)展的驅動力之一。而支持SOA架構的中間件平臺,已經(jīng)在很大程度上屏蔽了系統(tǒng)環(huán)境的差異性,提供了一致的計算環(huán)境。· 實現(xiàn)互操作因為異構性,產(chǎn)生的結果是軟件依賴于計算環(huán)境,使得各種不同軟件之間在不同平臺之間不能移植,或者移植非常困難。而且,因為網(wǎng)絡協(xié)議和通信機制的不同,這些系統(tǒng)之間還不能有效地相互集成。造成互操作性不好的原因,主要是標準的滯后。解決軟件之間的互操作性問題也是促成中間件發(fā)
9、展的驅動力之一。而SOA技術從一開始就強調了標準的重要性,包括中間件平臺的實現(xiàn)上都是基于全球共同的標準來實現(xiàn)。· 共性凝練和復用軟件應用領域越來越多,相同領域的應用系統(tǒng)之間許多基礎功能和結構是有相似性的,每次開發(fā)系統(tǒng)都從零開始絕對不是一種好的方法,也是對質量和效率的很大的傷害。盡可能多地凝練共性并復用以提高軟件開發(fā)效率和質量,通過中間件通過提供簡單、一致、集成的開發(fā)和運行環(huán)境,簡化分布式系統(tǒng)的設計、編程和管理,這也是SOA發(fā)展的重要推動力。軟件技術發(fā)展內(nèi)容,包括更好的程序設計語言、更好的平臺和軟件開發(fā)技術,如面向對象、組件開發(fā)、面向服務等等。而這方面,在技術上逐漸發(fā)展的成果大部分都凝
10、聚在今天的SOA解決方案之中。程序設計語言的發(fā)展而這些技術推動因素,從本質上是通過復用、松耦合、互操作(標準)等機制來提高軟件質量、加快軟件研發(fā)效率、使研發(fā)出來的產(chǎn)品能夠相互集成并靈活適應變化。這些技術因素逐漸推動了SOA架構的形成和發(fā)展。SOA架構的發(fā)展 3. 如何準確理解SOA我并不打算介紹SOA的定義,事實上到現(xiàn)在為止,還沒有一個權威的SOA標準定義,因為從不同角度,不同廠商和學術團隊會有不同的答案。爭論定義本身,不是目的。OASIS(一個SOA標準組織)給予出的SOA定義“SOA是一個范式,用于組織和利用可能處于不同所
11、有權范圍控制下的分布式系統(tǒng)?!本S基百科給出的SOA定義“面向服務的體系結構(Service-oriented architecture)是構造分布式系統(tǒng)的應用程序的方法。它將應用程序功能作為服務發(fā)送給最終用戶或者其他服務。它采用開放標準、與軟件資源進行交互并采用表示的標準方式。”。這些定義本身,一般人員要準確理解是非常困難的,既便是專業(yè)人士,未必能夠深刻理解其內(nèi)涵。如何更加形象理解SOA?怎么通俗化解析SOA的核心含義?3.1. 如何形象理解SOA事實上,SOA的思想我國很早就有了,印刷術的發(fā)展過程其思想就完整體現(xiàn)了SOA的核心含義。印刷的內(nèi)容文字
12、,在秦始皇統(tǒng)一六國之前,各國的文字是不統(tǒng)一的,據(jù)說許多常用的文字有十幾種寫法和讀音,妨礙了各國之間的文化交流,就象SOA之前,各種軟件平臺、各種開發(fā)工具和各種接口的組件之間,沒有統(tǒng)一的標準,對軟件系統(tǒng)之間的整合造成巨大的困難。因此,偉大的始皇帝統(tǒng)一了六國文字,“書同文、車同軌”就是通過標準解決“復用”和“互操作”等問題。這也為大規(guī)模的印刷和文明發(fā)展提供了一個良好的基礎,這種“統(tǒng)一封裝”的文字,對文化交流起到了一個“互操作”的標準作用。 SOA的形象解析在沒有印刷術之前,書籍要依賴于手工抄寫,這樣效率當然是非常低下,而且質量也不能獲得一致性的保證,也就是書籍還無法“復用”。中國人首先發(fā)
13、明了刻版印刷術,就是將書籍刻成一塊一塊的凸字版,然后就可以大規(guī)模進行印刷了,當印刷出來的書籍脫銷時,下次還可以繼續(xù)使用,大大提高了效率,這就是“復用”,軟件通過組件的封裝,也可以達到重復和在不同場合多次使用的“復用”效果??贪嬗∷⑿g有個很大的問題就是文字之間是緊耦合的,同樣一個字,在另一部書之中是不能“復用”的,必須重新雕刻,也就是說刻版印刷是沒有“編排”特性的。就如軟件技術中微軟VB開發(fā)的Com+組件就只能在Windows環(huán)境之中使用,它不能與Java開發(fā)的EJB組件進行復用和編排,因為他們與開發(fā)環(huán)境和運行環(huán)境是緊耦合的,要在UNIX環(huán)境下使用,必須重新開發(fā)(相當于重新“刻版”)?;钭钟∷⒕?/p>
14、是通過文字與版面之間的松耦合,通過“排版”來實現(xiàn)一部書的印刷版面的,這種松耦合就大大提高了文字的字模之間的復用和編排效率。我們標準封裝的“服務”就類似一個一個的字模,通過服務編排(“排版”)來實現(xiàn)業(yè)務流程。統(tǒng)一文字和活字印刷促進了人類文明進步,而SOA促進全球IT架構和應用的革命。3.2. SOA的核心要素要準確全面理解SOA,首先必須理解SOA的核心要素: SOA的核心要素 SOA的目標就是實現(xiàn)靈活可變的IT系統(tǒng)。要達到靈活性,通過三個途徑來解決:標準化封裝、復用、松耦合可編排。 互操作(標準化封裝)、復用、松耦合等
15、SOA技術的內(nèi)在機制,也是中間件技術和產(chǎn)品的本質特征。· 標準化封裝(互操作性)傳統(tǒng)軟件架構,因為封裝的技術和平臺依賴性,一直沒有徹底解決互操作問題?;ヂ?lián)網(wǎng)前所未有的開放性意味著各節(jié)點可能采用不同的組件、平臺技術,對技術細節(jié)進行了私有化的約束,構件模型和架構沒有統(tǒng)一標準,從而導致架構平臺自身在組件描述、發(fā)布、發(fā)現(xiàn)、調用、互操作協(xié)議及數(shù)據(jù)傳輸?shù)确矫娉尸F(xiàn)出巨大的異構性。各種不良技術約束的結果是軟件系統(tǒng)跨互聯(lián)網(wǎng)進行交互變得困難重重,最終導致了跨企業(yè)/部門的業(yè)務集成和重組難以靈活快速的進行。在軟件的互操作方面,傳統(tǒng)中間件只是實現(xiàn)了訪問互操作,即通過標準化的API實現(xiàn)了同類系統(tǒng)之間的調用互操作
16、,而連接互操作還是依賴于特定的訪問協(xié)議,如JAVA使用RMI,CORBA使用IIOP等。而SOA通過標準的、支持Internet、與操作系統(tǒng)無關的SOAP協(xié)議實現(xiàn)了連接互操作。而且,服務的封裝是采用XML協(xié)議,具有自解析和自定義的特性,這樣,基于SOA的中間件還可以實現(xiàn)語義互操作。SOA要實現(xiàn)互操作,就是通過一系列的標準族,來實現(xiàn)訪問、連接和語義等各種層面的互操作。· 軟件復用軟件復用,即軟件的重用,也叫再用,是指同一事物不作修改或稍加改動就多次重復使用。從軟件復用技術的發(fā)展來看,就是不斷提升抽象級別,擴大復用范圍。最早的復用技術是子程序,人們發(fā)明子程序,就可以在不同系統(tǒng)之間進行復用
17、了。但是,子程序是最原始的復用,因為這種復用范圍是一個可執(zhí)行程序內(nèi)復用,靜態(tài)開發(fā)期復用,如果子程序修改,意味著所有調用這個子程序的系統(tǒng)必須重新編譯、測試和發(fā)布。SOA的復用為了解決這個問題,人們發(fā)明了組件(或者叫控件),如MS操作系統(tǒng)下的DLL組件。組件將復用提升了一個層次,因為組件可以在一個系統(tǒng)內(nèi)復用(同一種操作系統(tǒng)),而且是動態(tài)、運行期復用。這樣組件可以單獨發(fā)展,組件與組件調用者之間的耦合度降低。為解決分布式網(wǎng)絡計算之間的組件復用,人們發(fā)明了企業(yè)對象組件,如(Com+,.NET,EJB等),或者叫分布式組件。通過遠程對象代理,來實現(xiàn)企業(yè)網(wǎng)絡內(nèi)復用,不同系統(tǒng)之間復用。傳統(tǒng)架構的核心是組件對象
18、的管理。但分布式組件也是嚴重依賴其計算環(huán)境,由于構件實現(xiàn)和運行支撐技術之間存在著較大的異構性,不同技術設計和實現(xiàn)的構件之間無法直接組裝式復用。而現(xiàn)代SOA的重要特征就是以服務為核心,如WebService,SCA/SDO等。通過服務,或者服務組件來實現(xiàn)更高層次的復用、解耦和互操作,即SOA架構中間件。因為服務是通過標準封裝,服務組件之間的組裝、編排和重組,來實現(xiàn)服務的復用。而且這種復用,可以在不同企業(yè)之間,全球復用,達到復用的最高級別,并且是動態(tài)可配置的復用。· 耦合關系SOA架構在松耦合解耦過程也發(fā)展到了最后的境界。傳統(tǒng)軟件將軟件之中核心三部分網(wǎng)絡連接、數(shù)據(jù)轉換、業(yè)務邏輯全部耦合在
19、一個整體之中,形成“鐵板一塊”的軟件,“牽一發(fā)而動全身”,軟件就難以適應變化。分布式對象技術將連接邏輯進行分離,消息中間件將連接邏輯進行異步處理,增加了更大的靈活性。消息代理和一些分布式對象中間件將數(shù)據(jù)轉換也進行了分離。而SOA架構,通過服務的封裝,實現(xiàn)了業(yè)務邏輯與網(wǎng)絡連接、數(shù)據(jù)轉換等進行完全的解耦。 SOA不斷解耦的過程總之,從科學哲學的角度來看,SOA是一個不斷解構的過程,傳統(tǒng)軟件強調系統(tǒng)性,耦合度過高,所以需要松耦合(解耦);SOA也是一個組件粒度的平衡,集成電路趨勢是集成度越來越高,軟件發(fā)展的趨勢是相反的過程;SOA是架構,更是方法,反映了人們對哲學思想的追求的原動力。按照這
20、個特性,SOA基本上來說與WebService并不是同一個概念,SOA并不一定需要WebService實現(xiàn),理論上可以在其他技術體系下,實現(xiàn)SOA。但事實上,到目前為止,能夠實現(xiàn)SOA架構風格的技術就是WebService,因為它的特性和廠商的支持力度,使得WebService成為了實現(xiàn)SOA實現(xiàn)技術的事實標準。也正因為WebService技術的成熟,才使得已經(jīng)提出10多年了的SOA思想和概念,得以能夠實現(xiàn)落地,成為一種可以使用的技術。這也就是回答了SOA和WebService的關系。3.3. SOA的架構框架(Framework)SOA的核心主體
21、是服務。所謂“服務(Service)” ,從業(yè)務角度而言,服務是一個可重復的經(jīng)過標準封裝的任務,例如: 檢查帳號余額;開新帳戶 等等。SOA的目標是通過服務的流程化來實現(xiàn)業(yè)務的靈活性,所謂流程(Process)是由一系列相互關聯(lián)的任務所組成,實現(xiàn)一個具體的業(yè)務功能。一個流程可以由一系列服務來實現(xiàn)。 SOA治理服務就像一堆“元器件”,這些元器件通過封裝形成標準服務,他們有相同的接口和語義表達規(guī)則。但服務要組裝成一個流程和應用,還需要有效的“管理”,包括如何注冊服務、如何發(fā)現(xiàn)服務、如何包裝服務的安全性和可靠性,這些就是SOA治理。SOA治理乃是將SOA這一堆
22、元器件,進行有效組裝,形成一個“產(chǎn)品”的關鍵,否則它永遠是一堆器件,而無法形成一個有機整體。SOA治理的方法和體系,就是區(qū)別于一般組件開發(fā)的技術的重要區(qū)別和特征。一個正確的框架,是指導我們開發(fā)和實施SOA架構的基礎。由IBM提案,國際開放群組(The Open Group)提出了一個SOA架構的參考模型,這個架構框架目前是產(chǎn)業(yè)界最權威和嚴謹?shù)腟OA架構標準。The Open Group是一個非營利標準化組織,是一個廠商中立和技術中立的機構,致力于提出各種技術框架和理論結構,致力于促進全球市場的業(yè)務效率。The Open Group已有超過20年的標準制定與推廣歷史。在1996年,由X/Open
23、與Open Software Foundation合并組成。The Open Group最有名是作為UNIX商標的認證機構。在過去,協(xié)會最出名的是其出版的Single UNIX Specification,它擴充了POSIX標準而且是UNIX的官方定義,其成員包括IT用戶、供應商以及政府機構。The Open Group在中國的創(chuàng)始會員為金蝶集團,金蝶集團負責成立了中國分會。TOG在1993年提出的The Open Group Architecture Framework (TOGAF) 架構框架,是一套行之有效的企業(yè)架構。歷經(jīng)15年9個版本發(fā)展,支持開放、標準的SOA參考架構,已被
24、80的福布斯( Forbes)全球排名前50的公司使用。這個SOA參考模型為: SOA標準模型 根據(jù)這個模型,完整的SOA架構由五大部分組成,分別是:基礎設施服務、企業(yè)服務總線、關鍵服務組件、開發(fā)工具、管理工具等。SOA基礎實施是為整個SOA組件和框架提供一個可靠的運行環(huán)境,以及服務組件容器,它的核心組件是應用服務器等基礎軟件支撐設施,提供運行期完整、可靠的軟件支撐。企業(yè)服務總線是指由中間件基礎設施產(chǎn)品技術實現(xiàn)的、通過事件驅動和基于XML消息引擎,為SOA提供的軟件架構的構造物。企業(yè)服務總線ESB提供可靠消息傳輸、服務接入、協(xié)議轉換、數(shù)據(jù)格式轉換、基于內(nèi)容的路由等功能,屏蔽
25、了服務的物理位置,協(xié)議和數(shù)據(jù)格式。在SOA基礎實現(xiàn)的方案上,應用的業(yè)務功能能夠被發(fā)布、封裝和提升(Promote)成為業(yè)務服務(Business Service);業(yè)務服務的序列可以編排成為BPM的流程,而流程也可以被發(fā)布和提升為復合服務(Composited Service),業(yè)務服務還可以被外部的SOA系統(tǒng)再次編排和組合。ESB是實現(xiàn)SOA治理的重要支撐平臺,是SOA解決方案的核心,從某種意義上說,如果沒有ESB,就不能算作嚴格意義上的SOA。關鍵服務實現(xiàn),是SOA在各種業(yè)務服務組件的分類。一般來說,一個企業(yè)級的SOA架構通常包括:交互服務、流程服務、信息服務、伙伴服務、企業(yè)應用服務和接入
26、服務。這些服務可能是一些服務組件,也可能是企業(yè)應用系統(tǒng)(如ERP)所暴露的服務接口等等。這些服務都可以接入ESB,進行集中統(tǒng)一管理。開發(fā)工具和管理工具:提供完善的、可視化的服務開發(fā)和流程編排工具,涵蓋服務的設計、開發(fā)、配置、部署、監(jiān)控、重構等完整的SOA項目開發(fā)生命周期。按照這個模型,許多SOA解決方案是只提供部分實現(xiàn)。這個行業(yè)中,許多國內(nèi)的企業(yè)為了搭上SOA的便車,經(jīng)常以偏概全,混繞概念。應該說真正按照SOA的思想和模型來構建整個企業(yè)的IT架構的案例是非常之少的。許多國外廠商的宣傳案例,基本上是停留在部署應用服務器,開發(fā)了部分WebService組件,可以實現(xiàn)部分數(shù)據(jù)集成,這個層次而已,而這
27、些WebService是部署在ESB平臺之上的,就已經(jīng)很不錯了。實現(xiàn)了服務流程重組,實現(xiàn)SOA治理的案例就更是很少見到了。國內(nèi)有許多軟件企業(yè)開發(fā)的系統(tǒng),宣傳是SOA架構的。基本上有幾種情況,其一,有些開發(fā)組件和開發(fā)平臺廠商,他們也自稱中間件企業(yè),基本上是提供一個工作流平臺,許多還不支持BPEL的業(yè)務流程管理,只是傳統(tǒng)的XPDL/WfMC工作流平臺(Workflow不同于支持服務流程的Business Process),最常見的案例是OA辦公審批,或者服務組件開發(fā)工具,而所謂的ESB產(chǎn)品大部分都是EAI的升級,可以與Webservice進行接口而已,就宣稱這是ESB產(chǎn)品了,基本的服務注冊、服務編
28、排和安全管理都不具備。這些解決方案只是提供了許多WebService開發(fā)的組件,而不提供SOA治理的核心架構,相當于造了許多元器件,但還不能提供整機產(chǎn)品。其二,許多宣稱SOA架構的應用軟件,基本上可以說是“支持”SOA,而不能稱為“基于SOA”架構。因為支持SOA一般是指可以將其某些功能,封裝為服務(WebService),可以在SOA架構之中進行管理,這比較容易達到。而“基于SOA”是指應用系統(tǒng)的業(yè)務功能都是封裝為服務,通過ESB進行集中管理,業(yè)務實現(xiàn)是通過BPEL業(yè)務流程管理進行編排,用戶交互是通過交互服務(如門戶)進行管理,整個解決方案可以達到標準服務封裝、服務復用、松耦合、服務編排與重
29、組,并且基本符合TOG-SOA的架構模型。按照這個標準,IT用戶就可以了解到真正的SOA架構的框架模型,就可以識別是否是企業(yè)所需要的架構。講到這里,我們已經(jīng)很清楚了,對于SOA的理解,有些學者或者咨詢公司強調SOA不是一種技術,也不是軟件,而是一種思想,一種架構風格。我認為這也是不完全準確的,這種觀點認為SOA僅僅是思想和方法,將使得SOA成為一種不可知論,飄在空中,很難落地。 4. SOA如何落地自從1996年Garnter的分析師首次提出SOA的概念,到今天,已經(jīng)過去10多年了,在前幾年這個概念并沒有引起多大的注意,只是到
30、這幾年在技術上WebService的成熟,以及互聯(lián)網(wǎng)的普及,SOA作為企業(yè)架構的主要技術,才逐漸占據(jù)了產(chǎn)業(yè)的主流。因為商業(yè)策略的不同,有些企業(yè)提出SOA已經(jīng)過時,有些企業(yè)還認為SOA還沒有達到成熟的階段等等這些論點。從商業(yè)概念炒作周期來看,我認為SOA正當喧囂之后的理性期,是業(yè)界和IT用戶真正拋棄“炒作”,踏踏實實發(fā)揮SOA的商業(yè)價值的時候了,SOA需要落地。SOA將來真正推廣到企業(yè)中應用,要落地,就不能離開幾個基本的東西:支撐SOA的基礎中間件平臺、符合SOA架構的應用系統(tǒng)(如ERP等)、構建SOA的方法論。 SOA落地途徑4.1. 架
31、構方法論方法和工具構成了工程技術域,要構建SOA架構的企業(yè)信息系統(tǒng),確保業(yè)務和IT的真正匹配,首先必須從方法論入手。許多企業(yè)的IT系統(tǒng)“孤島”現(xiàn)象嚴重,本質上是缺乏足夠有效的整體規(guī)劃或者架構規(guī)劃造成的。形象地說,構建企業(yè)IT大廈如同我們蓋房子是一樣的道理。我們許多企業(yè)建設信息系統(tǒng)時就采用了蓋鄉(xiāng)村民宅的做法。蓋鄉(xiāng)村民宅不需要嚴謹?shù)囊?guī)劃,也沒有復雜的地下設施建設(如自來水供水、排水、供氣、地下停車場等),也沒有需要建設污水處理、雨水收集等復雜的配套設施。而事實上,企業(yè)IT系統(tǒng)建設應該如城市建設,首先需要城市總體規(guī)劃,然后根據(jù)功能區(qū)規(guī)劃,設計和建設小區(qū)配套設施,“三通一平”實質就是構建建筑之間的公共
32、基礎設施,確保每棟建筑之間不是“孤島”,然后每棟建筑還需詳細的設計和工程施工。如果要消除信息孤島,實現(xiàn)IT與業(yè)務的一致性,也需要有效的企業(yè)架構規(guī)劃和設計。 為什么需要架構規(guī)劃透過現(xiàn)象看本質,SOA代表著一種面向服務的IT架構風格,SOA的技術本質和出發(fā)點,在于IT架構。而IT架構,是組織的企業(yè)架構的重要組成部分,它和組織的戰(zhàn)略架構、業(yè)務架構一起,形成一個自上而下、緊密聯(lián)系、相輔相成的有機整體。SOA代表著一種正在蓬勃興起的革命性IT架構理念,和傳統(tǒng)技術體系區(qū)別的關鍵特征之一就在于SOA是戰(zhàn)略導向和業(yè)務驅動的。而國際和國內(nèi)的各方面經(jīng)驗都告訴我們,對于一個組織而言,捕獲戰(zhàn)略、梳理業(yè)務和I
33、T的最有效的措施就是架構。企業(yè)架構(Enterprise Architecture,EA),是從多個角度對組織的構件層次描述的規(guī)劃藍圖,從各個層面反映組織的愿景、戰(zhàn)略、業(yè)務、服務、人員、技術和產(chǎn)品及其相互之間的關系,輔以其管控和演進的規(guī)則。一個企業(yè)架構內(nèi)容包括業(yè)務架構(Business Architecture)、應用架構(Application Architecture)、信息架構(Information Architecture)、技術架構(Technology Architecture)等。真正可以落地的SOA建設,必須且只能從架構出發(fā)。沒有架構,"SOA"將變成一盤
34、無法真正解決各種運營問題的技術和產(chǎn)品的大雜燴。優(yōu)良的架構填補了業(yè)務需求與實際信息系統(tǒng)以及基礎設施設計之間難以逾越的鴻溝。在所有的架構開發(fā)方法(ADM- Architecture Development Methods)之中,開放群組TOG的TOGAF是目前最權威和最有影響力的一種。The Open Group于1993年開始應客戶要求制定系統(tǒng)架構的標準,在1995年發(fā)表The Open Group Architecture Framework (TOGAF) 架構框架。TOGAF的基礎是美國國防部的信息管理技術架構(Technical Architecture for Informa
35、tion Management: TAFIM)。TOAGF是一個架構框架,簡而言之,TOGAF是一種協(xié)助開發(fā)、驗收、運行、使用和維護架構的工具,它是基于一個迭代(Iterative)的過程模型,支持最佳實踐和一套可重用的現(xiàn)有架構資產(chǎn)。它可設計、評估并建立組織的正確架構。TOGAF的關鍵是架構開發(fā)方法ADM:一個可靠的,行之有效的方法,以發(fā)展能夠滿足商務需求的企業(yè)架構。而2008年發(fā)布的TOGAF 9.0是符合SOA架構開發(fā)的最新版本。TOGAF所提出的“無邊界信息流(Boundaryless Information Flow)”理念和愿景,是解決目前企業(yè)信息化孤島問題的最有效方式。
36、TOGAF架構內(nèi)容4.2. 基于SOA的應用系統(tǒng)基于SOA的應用系統(tǒng)構建方法與傳統(tǒng)軟件架構方法有所不同。首先基于SOA的應用系統(tǒng)建模和管理的組件層次是服務: 面向服務的工程基于服務的應用系統(tǒng)的本質特征是松耦合,以基本業(yè)務功能(服務封裝)為系統(tǒng)的基本實現(xiàn)單元,然后通過服務編排(流程管理)來“組裝”業(yè)務應用系統(tǒng)。相對于以往的應用系統(tǒng),是面向技術組件,由系統(tǒng)程序實現(xiàn)業(yè)務流程,在復用、耦合方面都存在靈活性問題。 軟件工程和系統(tǒng)設計的演進過程基于SOA的應用系統(tǒng)構建過程是: 基于SOA的應用構建過程服務建模是第一步,也就是服務識
37、別和顆粒度確定。服務識別是方法論的第一步,服務識別的主要任務,是確定在一定范圍內(nèi)(通常是企業(yè)范圍,或若干業(yè)務場景范圍內(nèi))可能成為服務的候選者列表,并確定服務的顆粒度,以及標識服務的接口。服務建模也就確定了應用系統(tǒng)架構的耦合程度。服務封裝階段的主要任務是對服務進行規(guī)范性的描述,其中包括輸入/輸出消息等功能性屬性,以及服務在業(yè)務層面的諸多屬性。并決定服務以何種形式向外提供服務。服務可能是新開發(fā)的業(yè)務功能和業(yè)務對象的封裝,也可能是遺留系統(tǒng)的服務封裝,將遺留系統(tǒng)的軟件資產(chǎn)以服務的形式進行封裝,在新的架構上利用已有的資產(chǎn)。服務治理就是將已經(jīng)封裝好的服務進行集中統(tǒng)一有效的管理。通過ESB基礎設施,提供服務
38、注冊、存儲、安全控制和版本管理等。服務注冊階段的主要任務是將服務注冊到服務庫。此時需要決定服務的命名、安全、性能、時間特性。服務編排就是根據(jù)業(yè)務流程的需求,對服務進行組合和組裝。服務組裝是以實現(xiàn)業(yè)務流程為目的,通過對業(yè)務服務的組合和組裝,實現(xiàn)更粗粒度的業(yè)務服務,實現(xiàn)最終的業(yè)務需求。應用交付階段主要任務是完成業(yè)務系統(tǒng)服務化組裝和服務部署,實現(xiàn)業(yè)務按需交付?;赟OA的應用系統(tǒng)是SOA架構的重要組成部分,也是SOA落地的地基。4.3. 支撐SOA的中間件平臺SOA方法論和基于SOA的應用系統(tǒng)要落地的支撐工具和技術基礎就是中間件平臺。這個在3.3.SOA
39、的架構框架(Framework)之中已經(jīng)闡述清楚了。根據(jù)TOG-SOA模型,完整的SOA架構五大部分中,基礎設施服務、企業(yè)服務總線、開發(fā)工具、管理工具等,都是中間件的基礎平臺。交付服務之中的門戶,也是需要支持JSR168和JSR286標準的Portlet容器和個性化交互以及終端適配的支撐平臺。業(yè)務流程管理需要支持BPEL規(guī)范的流程引擎和流程建模的工具,這個中間件平臺用來支持服務的組合和服務流程編排,以滿足業(yè)務重組的需求,來實現(xiàn)業(yè)務的靈活性。SOA要落地的最后支撐平臺就是滿足SOA規(guī)范的中間件技術。 5. 金蝶Ready SOA
40、解決方案金蝶作為全球領先的SOA解決方案供應商,一直以來堅持腳踏實地,自主創(chuàng)新,與北京大學等高校合作,承擔振興國家基礎軟件的責任和使命,將國際領先的技術與方法,結合中國企業(yè)的實際需求,探索國內(nèi)信息化的最佳實踐,提供SOA的完整解決方案。通過多年的努力,金蝶成為中國唯一入選Gartner全球有能力提供SOA服務的十九家軟件廠商之一。金蝶讓SOA落地的解決方案品牌為”readySOA”,意為可以落地、可以實施的SOA。金蝶readySOA的核心內(nèi)涵包括三個方面:· 結合TOGAF而形成的SOA實施方法論;· 擁有中國唯一全球第四通過Java EE 5.0認證的SOA基礎設施,中
41、國唯一完整實現(xiàn)TOG-SOA標準模型的金蝶Apusic中間件平臺;· 國內(nèi)第一套基于SOA實現(xiàn)的企業(yè)應用軟件金蝶EAS。我們有這幾方面的綜合經(jīng)驗,所有金蝶ERP產(chǎn)品都是通過SOA架構去優(yōu)化的,實現(xiàn)了標準的服務封裝,通過金蝶中間件SOA的完整平臺來支撐,并可以通過BPEL流程來進行編排和重組,而TOGAF是SOA架構最權威的方法論體系,可以指導企業(yè)如何導入、部署和運營SOA架構。5.1. 金蝶readySOA實施方法金蝶readySOA實施方法包括結合TOGAF形成的SOA實施方法、SOA架構成熟度模型等。TOGAF架構開發(fā)方法ADM提供了
42、可靈活利用的組織企業(yè)架構的開發(fā)和治理的過程。一個成功的SOA落地項目的建設并非一蹴而就,而是分階段逐步實現(xiàn)的,其生命周期過程主要可以分為初步階段、架構階段、實施階段、變更管理階段四大環(huán)節(jié)完成。通常要從組織的某個獨立的業(yè)務單元開始,之后再由小及大,逐漸在跨組織范圍的整體業(yè)務中擴散,逐步完善整個組織的SOA 平臺,最終實現(xiàn)隨需應變的企業(yè)IT架構。針對SOA項目的指導,TOGAF定義了其架構開發(fā)方法ADM各階段和SOA項目全生命周期的各階段之間的映射關系,形成了具有良好操作性的架構開發(fā)方法體系。 基于TOGAF的SOA實施方法論更詳細的金蝶中間件readySOA實施方法論參加金蝶發(fā)布相關白皮書和技術資料出版物。 5.2. 金蝶readySOA中間件平臺金蝶中間件按照TOG-SOA的架構模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同意房屋轉租合同范本
- 照明裝置用濾光器產(chǎn)業(yè)規(guī)劃專項研究報告
- 社團合作合同協(xié)議
- 專業(yè)供貨合同范文樣本
- 2024年度企業(yè)租車合同范文
- 工程合同違約糾紛
- 2024年物業(yè)保潔合同補充協(xié)議
- 合租倉儲合同參考
- 承攬合同-商業(yè)設計協(xié)議書
- 汽化器供油裝置產(chǎn)品入市調查研究報告
- 風機安裝工程質量通病及預防措施
- 三角形鋼管懸挑斜撐腳手架計算書
- 文件和文件夾的基本操作教案
- 剪紙教學課件53489.ppt
- 旅游業(yè)與公共關系PPT課件
- 施工單位資質報審表(共4頁)
- 勞動法講解PPT-定稿..完整版
- 彩色的翅膀_《彩色的翅膀》課堂實錄
- 假如你愛我的正譜
- 中醫(yī)住院醫(yī)師規(guī)范化培訓基地工作指南
- 人教PEP四年級上冊英語《Unit 5 A Let's talk 》PPT課件
評論
0/150
提交評論