基于SaaS模式的SOA服務(wù)分析與設(shè)計(jì) 2010-10-14 00:00出處:比特網(wǎng)作者:悠虎【我要評(píng)論】 [導(dǎo)讀]隨著信息化水平的提高和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,SaaS已經(jīng)成為被廣泛推薦使用的軟件服務(wù)提供方式,SaaS應(yīng)用服務(wù)被越來越多的用戶所采用。本文主要介紹基于SOA的SaaS系統(tǒng)在中小企業(yè)信息化應(yīng)用中的相關(guān)技術(shù)分析。 企業(yè)軟件熱點(diǎn)文章
四兩撥千斤 降低項(xiàng)目小組與用戶的沖突
ERP系統(tǒng)切換時(shí)應(yīng)注意什么?
0 前言 我國企業(yè)在經(jīng)過了20多年的信息化建設(shè),財(cái)務(wù)、ERP(企業(yè)資源計(jì)劃)、CRM(客戶關(guān)系管理)、HR(人力資源管理)等企業(yè)管理軟件已被廣泛的應(yīng)用。隨著企業(yè)信息化向著更深層次的應(yīng)用發(fā)展,在B2B(Bussinessto Bussiness)電子商務(wù)和ERP系統(tǒng)在更深層次的應(yīng)用中出現(xiàn)了一些問題,企業(yè)之間的物流、資金流、信息流不能實(shí)現(xiàn)協(xié)同運(yùn)行,出現(xiàn)了嚴(yán)重的“信息孤島”現(xiàn)象,一些企業(yè)不得不通過手工的方式實(shí)現(xiàn)系統(tǒng)間的數(shù)據(jù)同步,造成資源的極大浪費(fèi)。 目前,軟件技術(shù)發(fā)展迅速并日益成熟,SaaS(Software as a Service,軟件即服務(wù)),WEB2.1,SOA(Service Odented Architecture,面向服務(wù)的架構(gòu))成為軟件解決方案的成熟架構(gòu)和支撐技術(shù),為應(yīng)用系統(tǒng)的服務(wù)化,以及服務(wù)化之后的多個(gè)服務(wù)之間的集成提供了堅(jiān)實(shí)的技術(shù)基礎(chǔ)。企業(yè)業(yè)務(wù)的增長,對(duì)IT系統(tǒng)的依賴程度也大大提高,并且IT系統(tǒng)支持的業(yè)務(wù)范圍逐漸擴(kuò)大。在企業(yè)對(duì)IT系統(tǒng)擴(kuò)建和升級(jí)時(shí),如何在最大化效率的同時(shí),最小化投入顯得尤為重要。因此,利用新技術(shù),改造并重用原有的IT系統(tǒng),保留原有系統(tǒng)的優(yōu)勢,消除原有系統(tǒng)間的“信息孤島”成為企業(yè)的迫切需求。 1 國內(nèi)外研究現(xiàn)狀 1.1 SOA國內(nèi)外研究現(xiàn)狀與發(fā)展動(dòng)態(tài) 在國外,SOA不是一個(gè)新潮的名詞,早在1996年,Gartner Group就提出了SOA的概念,但是由于當(dāng)時(shí)的技術(shù)沒能支持這種架構(gòu),遲遲沒有得到有效的發(fā)展。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,IT從業(yè)人員也在不斷地積累經(jīng)驗(yàn),應(yīng)用一些好的模式和方法,SOA與WebServices成了這兩年大行其道的技術(shù)詞匯。 在國內(nèi),SOA還是個(gè)新鮮事物,近兩年來已經(jīng)有很多人開始關(guān)注這個(gè)架構(gòu),也出現(xiàn)了一些雜志上推薦使用該架構(gòu)的文章。但存在太多炒作的成分,有很多文章都只說明了其優(yōu)點(diǎn),而沒有實(shí)質(zhì)性可參考的技術(shù)文獻(xiàn)。在實(shí)踐方面,還沒有哪家企業(yè)真正實(shí)現(xiàn)過SOA架構(gòu)的應(yīng)用系統(tǒng),只有個(gè)別模擬了該架構(gòu)的小程序,例如XML China論壇。由此可見,國內(nèi)在SOA方面還處于一個(gè)起步階段。 SOA作為一個(gè)新興的技術(shù),存在很多不確定性,但是這種不確定性不會(huì)阻礙SOA的發(fā)展。SOA雖然不是包治百病的靈丹妙藥,但是它在解決Internet環(huán)境下的不同商業(yè)應(yīng)用之間的集成問題,使分布式應(yīng)用具有更好的彈性和靈活性方面給企業(yè)帶來了巨大的好處。因此,可以預(yù)見SOA的發(fā)展會(huì)對(duì)軟件設(shè)計(jì)思想產(chǎn)生很大的影響并對(duì)分布式企業(yè)應(yīng)用的不斷普及起到重大的促進(jìn)作用。 1.2 SaaS國內(nèi)外研究現(xiàn)狀 1988年,ASP模式最早在美國誕生。ASP是一種業(yè)務(wù)租賃模式,得到了企業(yè)的追捧,但隨著互聯(lián)網(wǎng)泡沫的破裂,技術(shù)不成熟,如遠(yuǎn)程集成問題一直沒有得到很好的解決,SaaS就隨之演變而來了。它是一種通過Internet提供軟件的模式,用戶不再購買軟件,而改用向提供商租用基于WEB的軟件,來管理企業(yè)經(jīng)營活動(dòng),且無需對(duì)軟件進(jìn)行維護(hù),服務(wù)提供商會(huì)全權(quán)管理和維護(hù)。 而在國內(nèi),SaaS模式的運(yùn)做也正展露身姿,2006年下半年,800CRM.COM、中華網(wǎng)軟件、金算盤軟件等公司推出了支持SaaS的信息化解決方案。2006年2月28日在北京舉辦的“2006電子商務(wù)財(cái)富年會(huì)”上,計(jì)算委員會(huì)主席張良杰在會(huì)議上提出了未來電子商務(wù)的十大趨勢,其中之一就是SaaS模式下的系統(tǒng)。 1.3 國內(nèi)外企業(yè)信息化現(xiàn)狀 國外企業(yè)信息化進(jìn)程比較60年代中期,MRP(物料需求計(jì)劃)的概念被提出,發(fā)展到MRPII、ERP,2000年美國Gartner Group公司提出了ERPII的概念,將傳統(tǒng)ERP的資源優(yōu)化和業(yè)務(wù)處理擴(kuò)展到利用企業(yè)間協(xié)作運(yùn)營的資源信息管理,實(shí)現(xiàn)了跨企業(yè)的合作,通過互聯(lián)網(wǎng)交互信息。 我國企業(yè)信息化經(jīng)歷了三個(gè)階段,第一個(gè)階段是單一部門的財(cái)務(wù)信息化;第二階段是跨部門的進(jìn)銷存等軟件;第三階段是企業(yè)級(jí)的ERP、CRM、HR等系統(tǒng)。如今,正在走向第四階段,實(shí)現(xiàn)企業(yè)間和產(chǎn)業(yè)鏈的信息化,電子商務(wù)套件以企業(yè)內(nèi)部信息化為基礎(chǔ),漸漸成為掀起產(chǎn)業(yè)鏈級(jí)信息化第四次浪潮的中堅(jiān)力量。 隨著信息化應(yīng)用向更深層次的發(fā)展,加強(qiáng)決策支持功能,運(yùn)用EAI、SOA等技術(shù),加強(qiáng)系統(tǒng)的集成性與開放性是當(dāng)前的熱點(diǎn)。 2 研究內(nèi)容與關(guān)鍵技術(shù) 為了幫助企業(yè)解決這些問題,本文試圖探索一種以客戶為中心,面向自服務(wù)的方法,研究.Net平臺(tái)下的SaaS系統(tǒng)開發(fā)需要的關(guān)鍵技術(shù)。 2.1 基于SOA的系統(tǒng)整體架構(gòu) 針對(duì)基于SOA的SaaS系統(tǒng)體系架構(gòu)進(jìn)行分析與研究,嘗試設(shè)計(jì)一個(gè)以支持多用戶高并發(fā)為核心的數(shù)據(jù)結(jié)構(gòu),同時(shí)建立一個(gè)允許基于Internet的瀏覽器為客戶端訪問企業(yè)級(jí)管理應(yīng)用的系統(tǒng)架構(gòu)。該系統(tǒng)還將具備多層次的安全方案以保障客戶訪問安全和系統(tǒng)數(shù)據(jù)安全,更具有靈活的擴(kuò)展性和伸縮性來支持客戶不斷變化的業(yè)務(wù)需求和系統(tǒng)的長遠(yuǎn)發(fā)展。 2.2 數(shù)據(jù)訪問模型中問件設(shè)計(jì) 一些必要的模型設(shè)計(jì),可以實(shí)現(xiàn)SaaS系統(tǒng)模塊之間松散耦合。本文中,結(jié)合寧波大紅鷹卷煙廠OA設(shè)計(jì),為實(shí)現(xiàn)數(shù)據(jù)獨(dú)立性,切換不同的服務(wù)時(shí)模型自適應(yīng)客戶需求,快速訪問數(shù)據(jù)庫。 2.3 多用戶高并發(fā)的數(shù)據(jù)模型
研究如何在數(shù)據(jù)共享和隔離策略間保持平衡的前提下,設(shè)計(jì)一個(gè)高效且成本最優(yōu)的SaaS系統(tǒng)的數(shù)據(jù)模型。同時(shí)為技術(shù)關(guān)鍵問題,例如如何構(gòu)建一個(gè)彈性架構(gòu)以支持?jǐn)?shù)目不定的客戶、怎樣消除大容量并發(fā)訪問數(shù)據(jù)庫對(duì)系統(tǒng)性能造成的壓力以及怎樣允許用戶按需擴(kuò)展自定義數(shù)據(jù)等提出切實(shí)可行的解決方案。 在SaaS系統(tǒng)中,所使用的可伸縮可配置的這類系統(tǒng)架構(gòu)可以通過負(fù)載均衡來為眾多的用戶服務(wù),每個(gè)用戶的數(shù)據(jù)都可以單獨(dú)存放,同時(shí)提供可供配置的元數(shù)據(jù)為每個(gè)用戶提供唯一的用戶體驗(yàn)。 基于這種架構(gòu)的SaaS系統(tǒng),可以支持多用戶,因?yàn)槲覀兛梢栽诓挥眯薷南到y(tǒng)架構(gòu)的基礎(chǔ)上就可以隨著需求的變化而變化,任何的變動(dòng)可以很方便地作用于大數(shù)量用戶環(huán)境中,和修改一個(gè)客戶端服務(wù)一樣方便。 2.4 多層次數(shù)據(jù)安全性 在基于SOA架構(gòu)的平臺(tái)上運(yùn)行的程序,幾乎所有的信息都通過SOAP來傳遞,因此,SOAP的安全對(duì)整個(gè)系統(tǒng)有著非常重大的意義。以SOAP為基礎(chǔ),構(gòu)建一種基于SOAP消息的Web,消息安全模型勢在必行?;谶@個(gè)原因,寧波大紅鷹OA系統(tǒng)構(gòu)架設(shè)計(jì)了一種基于SOAP的Web服務(wù)消息安全模型。 這個(gè)平臺(tái)定義了兩個(gè)模塊:第一,UDDl注冊中心,主要對(duì)服務(wù)提供者和請(qǐng)求者進(jìn)行管理并頒發(fā)證書,以提供認(rèn)證和權(quán)限;第二,安全平臺(tái),主要針對(duì)雙方的身份認(rèn)證過程和授權(quán)控制過程,服務(wù)雙方都要獲得安全平臺(tái)頒發(fā)的證書才能保證雙方身份的正確性。其中,SOAP消息安全代理包中包含了簽名處理和加密處理。 (一)SOAP消息簽名 請(qǐng)求者應(yīng)對(duì)SOAP消息做一次簽名,連同簽名一起發(fā)送,當(dāng)提供者接收到了消息后,一邊驗(yàn)證身份,一邊對(duì)其簽名進(jìn)行認(rèn)證,以確定消息在傳輸過程中并未被修改。我們可以如此實(shí)現(xiàn): 1、客戶端SOAP中添加簽名。如下所示: mywebserv.ReqUestSOaDCOntext.Secu rity. Tokens.Add(untoken) mywebserv.ReqUestSoapContext.Security. Elements.Add(New_MesageSignature(untoken)) mywebserv.WebMethod 以上代碼實(shí)現(xiàn)了客戶端根據(jù)UsernameToken生成簽名,然后把簽名加在信息中。 2、服務(wù)端不動(dòng) 我們只要在客戶端發(fā)送的SOAP中加入過簽名,服務(wù)端就會(huì)自動(dòng)認(rèn)證簽名的有效性,服務(wù)端先驗(yàn)證用戶名/密碼,然后使用客戶端傳遞用戶名和密碼對(duì)簽名進(jìn)行認(rèn)證,如果失敗了,就說明該消息中途被篡改了,該請(qǐng)求就不成立了。 (二)SOAP加密 客戶端根據(jù)UsernameToken對(duì)SOAP進(jìn)行加密,把密文加在SOAP:服務(wù)端則自動(dòng)對(duì)該消息進(jìn)行解密。 服務(wù)端驗(yàn)證用戶名和密碼,然后使用客戶端傳遞的用戶名和密碼對(duì)解密數(shù)據(jù)進(jìn)行驗(yàn)證。服務(wù)端通過WSE自動(dòng)從windows活動(dòng)目錄中取得密碼,或者通過Authe ntIcateToken方法取得密碼。同樣,如果驗(yàn)證失敗,則響應(yīng)錯(cuò)誤信息。實(shí)現(xiàn)方法如下: mywebserv.ReqUestSoapContext.Secu rity. Tokens.Add(untoken) mywebserv.RequestSoapContext.Secu rity. Elements.Add(New—Mic rosoft.Web.Services2. Security.EncryptedData(untoken)) mywebserv.WebMethod 以上實(shí)現(xiàn)方法均在WSE2.0中實(shí)現(xiàn)。 3 結(jié)論 基于SOA的SaaS系統(tǒng)的實(shí)現(xiàn)對(duì)于中國的中小企業(yè)具有特殊的意義,因?yàn)槟壳皣獾闹髁髌髽I(yè)套件對(duì)于中小企業(yè)的商業(yè)定位往往從歐美實(shí)際出發(fā),標(biāo)準(zhǔn)過高。而中國的中小企業(yè)雖然在營業(yè)收入和利潤等硬指標(biāo)上往往還達(dá)不到這些標(biāo)準(zhǔn),但由于業(yè)務(wù)復(fù)雜度高和IT軟硬件基礎(chǔ)的薄弱,企業(yè)管理軟件的實(shí)施難度絕不遜色于歐美大企業(yè)。從這一角度出發(fā),為國內(nèi)的中小企業(yè)提供真正按需定制的基于SaaS模式的企業(yè)管理軟件,也許可以成為一個(gè)可以在短時(shí)間內(nèi)提升國內(nèi)中小企業(yè)管理水平的捷徑。 原文出自【比特網(wǎng)】,轉(zhuǎn)載請(qǐng)保留原文鏈接:http://soft./58/11584558.shtml
|
|