監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

基于SOA模式的企業(yè)架構(gòu)設(shè)計(jì)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來源:泛普軟件

傳統(tǒng)的企業(yè)構(gòu)架有兩種:一是面向功能的企業(yè)構(gòu)架,二是面向過程的企業(yè)構(gòu)架。這兩種企業(yè)架構(gòu)所采用的技術(shù)基本上是緊密藕合的,它們往往是不同平臺(tái)、不同開發(fā)工具、不同管理規(guī)范、不同需求的一個(gè)信息模塊集。這些應(yīng)用程序整合在一起構(gòu)成一個(gè)軟件包?,F(xiàn)有企業(yè)架構(gòu)實(shí)現(xiàn)整合應(yīng)用程序功能的代碼通常與功能本身的代碼混合在一起,更改一部分代碼將對(duì)使用該代碼的代碼具有重大影響,這會(huì)造成系統(tǒng)的復(fù)雜性,并增加維護(hù)系統(tǒng)的成本,而且還使重新使用應(yīng)用程序功能變得較困難,這嚴(yán)重影響了企業(yè)系統(tǒng)的穩(wěn)定性。一種被譽(yù)為下一代面向服務(wù)的技術(shù)架構(gòu),以其高度開放型和可重用性、靈活性再一次引起業(yè)內(nèi)關(guān)注,這就是SOA (Service -Oriented Architecture,面向服務(wù)架構(gòu))。

一、SOA的概念及其特征

SOA是指為了解決在Intenret環(huán)境下業(yè)務(wù)集成的需要,通過連接能完成特定任務(wù)的獨(dú)立功能實(shí)體實(shí)現(xiàn)的一種軟件系統(tǒng)架構(gòu)。

SOA的基本特征是:

(1)獨(dú)立的功能實(shí)體。

SOA非常強(qiáng)調(diào)架構(gòu)中提供服務(wù)的功能實(shí)體的完全獨(dú)立自主的能力,以及實(shí)體自我管理和恢復(fù)能力。常見的用來進(jìn)行自我恢復(fù)的技術(shù),比如事務(wù)處理,消息隊(duì)列,冗余部署和集群系統(tǒng)在SOA中都起到至關(guān)重要的作用。

(2)大數(shù)據(jù)量低頻率訪問。

對(duì)于傳統(tǒng)的分布式計(jì)算模型而言,他們的服務(wù)提供都是通過函數(shù)調(diào)用的方式進(jìn)行的,一個(gè)功能的完成往往需要通過客戶端和服務(wù)器來回很多次函數(shù)調(diào)用才能完成,這些調(diào)用在Internet環(huán)境下往往是決定整個(gè)系統(tǒng)是否能正常工作的一個(gè)關(guān)鍵決定因素。因此SOA系統(tǒng)推薦采用大數(shù)據(jù)量的方式一次性進(jìn)行信息交換。

(3)基于文本的消息傳遞。

SOA系統(tǒng)采用基于文本而非二進(jìn)制的消息傳遞方式。在Internet環(huán)境下,不同語言,不同平臺(tái)對(duì)數(shù)據(jù)、甚至是一些基本數(shù)據(jù)類型定義不同,給不同的服務(wù)之間傳遞對(duì)象帶來的很大困難。由于基于文本的消息本身是不包含任何處理邏輯和數(shù)據(jù)類型的,因此服務(wù)間只傳遞文本,對(duì)數(shù)據(jù)的處理依賴于接收端。數(shù)據(jù)處理端可以只選擇性的處理自己理解的那部分?jǐn)?shù)據(jù),而忽略其它的數(shù)據(jù),從而得到的非常理想的兼容性。

二、基于SOA模式的企業(yè)架構(gòu)

SOA目標(biāo)是整合業(yè)務(wù)過程,必須具備下面要求:異構(gòu)性,橫跨現(xiàn)有應(yīng)用系統(tǒng);可伸縮性,根據(jù)環(huán)境變化非常容易地能夠提升系統(tǒng)性能;適用性,將應(yīng)用錯(cuò)誤和通訊錯(cuò)誤隔離開來,不至于因?yàn)橐稽c(diǎn)失敗導(dǎo)致全局混亂;分布式,跨部門跨地域交互操作;機(jī)動(dòng)性,允許各個(gè)部門以最小的代價(jià)很容易更改與應(yīng)用相關(guān)的設(shè)計(jì)和實(shí)現(xiàn),也就是各個(gè)部門系統(tǒng)相互獨(dú)立,沒有藕合性;可見性,可以對(duì)各種處理和服務(wù)運(yùn)行情況進(jìn)行管理監(jiān)視。

SOA是一種松散藕合的軟件體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,由各自獨(dú)立可復(fù)用的服務(wù)去構(gòu)成系統(tǒng)功能。這些服務(wù)向外公布有意義明確的接口,軟件的開發(fā)是通過對(duì)這些實(shí)現(xiàn)透明的接口的調(diào)用來完成。

在面向服務(wù)的體系結(jié)構(gòu)中主要有三種角色:

(1)服務(wù)消費(fèi)者是需要使用服務(wù)的應(yīng)用程序或其它的服務(wù)。

通過對(duì)注冊(cè)中心的服務(wù)進(jìn)行查詢后,根據(jù)接口說明信息并使用某種傳輸協(xié)議與服務(wù)綁定并執(zhí)行服務(wù)功能。

(2)服務(wù)提供者是創(chuàng)建服務(wù)的實(shí)體。

可以從服務(wù)消費(fèi)者處接受請(qǐng)求并可以遠(yuǎn)程執(zhí)行所請(qǐng)求服務(wù)。通過向注冊(cè)中心發(fā)布服務(wù)接口信息以供服務(wù)消費(fèi)者發(fā)現(xiàn)和訪問服務(wù)。

(3)服務(wù)注冊(cè)中心處于中心位置提供了展示服務(wù)的功能。

服務(wù)消費(fèi)者通過查詢存儲(chǔ)有服務(wù)信息庫的注冊(cè)中心以找到感興趣服務(wù)的接口信息。

在面向服務(wù)的體系結(jié)構(gòu)中主要的操作有:發(fā)布為了被訪問,服務(wù)的描述信息必須被發(fā)布以便服務(wù)消費(fèi)者發(fā)現(xiàn)和調(diào)用。發(fā)現(xiàn)服務(wù)請(qǐng)求者通過查詢注冊(cè)中心去定位符合其需求標(biāo)準(zhǔn)的服務(wù)。綁定和調(diào)用在獲得服務(wù)描述信息之后,服務(wù)消費(fèi)者據(jù)此去調(diào)用服務(wù)。服務(wù)是SOA中的基礎(chǔ)設(shè)施,位于業(yè)務(wù)需求和底層技術(shù)之間的抽象層次中。

面向服務(wù)架構(gòu)是讓IT更加關(guān)注于業(yè)務(wù)流程而非底層IT基礎(chǔ)結(jié)構(gòu),從而獲得競(jìng)爭(zhēng)優(yōu)勢(shì)的更高級(jí)別的應(yīng)用程序開發(fā)架構(gòu)。

與傳統(tǒng)開發(fā)方法相比,SOA的特點(diǎn)在于具有基于標(biāo)準(zhǔn)、松散藕合、共享服務(wù)和粗粒度等,其優(yōu)勢(shì)可表現(xiàn)為:

(1)易于集成現(xiàn)有系統(tǒng)。

在對(duì)現(xiàn)有系統(tǒng)不做修改的前提下,SOA可將現(xiàn)有系統(tǒng)和應(yīng)用迅速轉(zhuǎn)換為服務(wù)。通過封裝可以提供服務(wù)接口的應(yīng)用層來訪問遺留系統(tǒng),因此不用修改現(xiàn)有系統(tǒng)體系結(jié)構(gòu)。

(2)具有標(biāo)準(zhǔn)化的架構(gòu)。

只要符合相關(guān)標(biāo)準(zhǔn),無論何時(shí)開發(fā)的組件都可以合并在一個(gè)結(jié)構(gòu)良好的SOA系統(tǒng)中。并且不同開發(fā)者開發(fā)出的組件將被作為服務(wù)方便的添加部署在現(xiàn)有的基礎(chǔ)構(gòu)架中。

(3)提升開發(fā)效率。

由于SOA在可復(fù)用方面的特點(diǎn),新的軟件在設(shè)計(jì)、開發(fā)、測(cè)試和部署時(shí)可以充分利用已有服務(wù)。因此,其開發(fā)周期可以顯著縮短。

(4)降低開發(fā)維護(hù)復(fù)雜度。

通過采用SOA體系結(jié)構(gòu),在進(jìn)行二次開發(fā)時(shí)成本急劇減少。同時(shí).由于系統(tǒng)具有松散禍合的特征,維護(hù)成本也大大減少。

企業(yè)開始可以讓SOA用于內(nèi)部服務(wù),然后擴(kuò)大范圍,用于面向客戶的應(yīng)用。這需要與商業(yè)合作伙伴交換XML數(shù)據(jù),這種做法在電信業(yè)和旅游業(yè)變得越來越常見。SOA還有助于面向客戶的B2B應(yīng)用,在這種情況下,用戶并不知道底層的基礎(chǔ)設(shè)施。

SOA的靈活性還可以讓組織受益,因?yàn)榭梢约涌鞈?yīng)用開發(fā),通過重復(fù)使用硬件部件和軟件組件來降低成本。用這種辦法開發(fā)應(yīng)用程序的質(zhì)量可能比獨(dú)立開發(fā)的還要高,因?yàn)榻M件預(yù)先經(jīng)過了測(cè)試,Web服務(wù)接口也已經(jīng)得到了驗(yàn)證。

SOA可以采用諸多方案通過諸多方法來實(shí)施,不過對(duì)每個(gè)組織來說,它們各自的好處還不明顯。如果用戶在設(shè)計(jì)和擴(kuò)建方面的需求壓倒一切,SOA和Web服務(wù)會(huì)帶來巨大影響。衡量成功的尺度要與組織的目標(biāo)和業(yè)績(jī)聯(lián)系起來。即便業(yè)務(wù)和IT沒有緊密聯(lián)系,SOA也會(huì)給內(nèi)部的IT系統(tǒng)帶來好處,從而提高內(nèi)部客戶的滿意度。

SOA可以降低開發(fā)成本,提高系統(tǒng)集成度和響應(yīng)速度等,還能幫助解決因?yàn)橄到y(tǒng)升級(jí)帶來的煩惱。未來SOA構(gòu)架下的企業(yè)軟件就像是一個(gè)不斷進(jìn)化的生態(tài)過程,某些“服務(wù)(業(yè)務(wù)組件)”不斷地局部升級(jí),新的“服務(wù)”不斷地加人,只有這樣的系統(tǒng)才能真正做到實(shí)時(shí)企業(yè),快速適應(yīng)業(yè)務(wù)變化。

三、目前企業(yè)實(shí)施SOA的風(fēng)險(xiǎn)

作為一種概念,SOA已成熟。但實(shí)現(xiàn)還有困難。首先標(biāo)準(zhǔn)仍不完備。Web服務(wù)是實(shí)現(xiàn)SOA最好的方式,但Web服務(wù)本身還有很多不成熟的方面。除了SOAP和WSDL相對(duì)成熟外,在可靠消息傳遞、安全Web服務(wù)、Web事務(wù)處理等方面的標(biāo)準(zhǔn)還有待完善。另外,就SOA架構(gòu)來說,服務(wù)顆粒大小問題,在某種程度上決定著整個(gè)系統(tǒng)的靈活性和效率,要在靈活和效率之間找到一個(gè)平衡點(diǎn)。而平衡點(diǎn)需要由實(shí)踐來檢驗(yàn)。

實(shí)施SOA存在兩個(gè)風(fēng)險(xiǎn):一個(gè)風(fēng)險(xiǎn)是,向SOA遷移過早或者過晚、未能充分發(fā)掘節(jié)省成本的潛力;另一個(gè)風(fēng)險(xiǎn)就是,SOA實(shí)施不當(dāng)可能會(huì)導(dǎo)致組織被過時(shí)、專有的技術(shù)縛住手腳。

發(fā)布:2007-04-21 11:09    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
長(zhǎng)沙OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普長(zhǎng)沙OA軟件行業(yè)資訊其他應(yīng)用

長(zhǎng)沙OA 長(zhǎng)沙新聞動(dòng)態(tài) 長(zhǎng)沙OA信息化 長(zhǎng)沙OA快博 長(zhǎng)沙OA軟件行業(yè)資訊 長(zhǎng)沙軟件開發(fā)公司 長(zhǎng)沙門禁系統(tǒng) 長(zhǎng)沙物業(yè)管理軟件 長(zhǎng)沙倉庫管理軟件 長(zhǎng)沙餐飲管理軟件 長(zhǎng)沙網(wǎng)站建設(shè)公司