SOA是一種進(jìn)行企業(yè)級(jí)系統(tǒng)開(kāi)發(fā)的新的體系架構(gòu),在基于SOA體系架構(gòu)的系統(tǒng)中,應(yīng)用程序的具體功能是由一些松耦合和具有統(tǒng)一接口定義方式的組件(也就是web service,xml)等組合而建立起來(lái)的。因此,基于SOA的架構(gòu)體系也一定是從企業(yè)的具體需求開(kāi)始構(gòu)建的。但是,SOA和其它企業(yè)體系架構(gòu)的不同之處就在于SOA提供的業(yè)務(wù)靈活性。業(yè)務(wù)靈活性是指企業(yè)能對(duì)業(yè)務(wù)變更做快速進(jìn)行響應(yīng)和處理,通過(guò)利用這種便利來(lái)提高競(jìng)爭(zhēng)優(yōu)勢(shì)的能力。對(duì)企業(yè)級(jí)架構(gòu)設(shè)計(jì)師來(lái)說(shuō),即創(chuàng)建一個(gè)靈活的業(yè)務(wù)體系架構(gòu)意味著可以滿足當(dāng)前還不清晰的業(yè)務(wù)需求的IT架構(gòu)。
而在SOA體系架構(gòu)設(shè)計(jì)中,服務(wù)是最核心的抽象方法,業(yè)務(wù)可以劃分(組件化)成一系列粗粒度的服務(wù)和流程。而各組件化業(yè)務(wù)服務(wù)相對(duì)獨(dú)立、自包含、可重用,由一個(gè)或者多個(gè)分布的系統(tǒng)來(lái)實(shí)現(xiàn)和組裝。
一個(gè)服務(wù)定義了一個(gè)與業(yè)務(wù)功能或業(yè)務(wù)數(shù)據(jù)相關(guān)的一組接口,以及約束這個(gè)接口的契約描述,如服務(wù)質(zhì)量指標(biāo)要求、業(yè)務(wù)規(guī)則、安全性要求、法律法規(guī)的遵循、關(guān)鍵業(yè)績(jī)指標(biāo)(Key Performance Indicator,KPI)等。契約描述和接口采用中立、基于標(biāo)準(zhǔn)的方式進(jìn)行定義,它獨(dú)立于編程語(yǔ)言、操作系統(tǒng)和硬件平臺(tái)等來(lái)實(shí)現(xiàn)服務(wù)。這使得構(gòu)建在不同操作系統(tǒng)中的業(yè)務(wù)服務(wù)可以以一種統(tǒng)一的和通用的方式進(jìn)行交互、相互理解。除了這種不依賴于特定技術(shù)的服務(wù)特性,通過(guò)注冊(cè)服務(wù)加上企業(yè)服務(wù)總線的方式來(lái)支持中介(Mediation)、定位、動(dòng)態(tài)查詢、路由和轉(zhuǎn)發(fā)的能力,使得業(yè)務(wù)服務(wù)之間的交互是動(dòng)態(tài)的,位置是透明的。
技術(shù)和位置的透明性,使得服務(wù)的請(qǐng)求者和提供者之間能夠構(gòu)成一種松耦合。而這種松耦合平臺(tái)的構(gòu)成有兩點(diǎn)好處:一點(diǎn)是它適應(yīng)變化的靈活性;另一點(diǎn)是當(dāng)某個(gè)業(yè)務(wù)服務(wù)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)方式逐步發(fā)生改變時(shí),不影響其他服務(wù)。而緊耦合則是指應(yīng)用程序之間的不同組件的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當(dāng)每塊發(fā)生變化時(shí),而相關(guān)部分的也要隨著各種緊耦合的關(guān)系進(jìn)行部分甚至整個(gè)應(yīng)用程序的調(diào)整,這樣的體系架構(gòu)就非常的脆弱了。
SOA體系架構(gòu)帶來(lái)的主要觀點(diǎn)是業(yè)務(wù)驅(qū)動(dòng)IT,即業(yè)務(wù)驅(qū)動(dòng)和業(yè)務(wù)更加緊密地聯(lián)系在一起。以粗粒度的業(yè)務(wù)服務(wù)作為基礎(chǔ)來(lái)對(duì)公司業(yè)務(wù)進(jìn)行建模,這樣就可以產(chǎn)生簡(jiǎn)潔的業(yè)務(wù)和系統(tǒng)視圖;以業(yè)務(wù)服務(wù)為基礎(chǔ)來(lái)實(shí)現(xiàn)的IT系統(tǒng)更靈活、更易于重用、也更快地應(yīng)對(duì)企業(yè)業(yè)務(wù)需求的變化;以業(yè)務(wù)服務(wù)為基礎(chǔ),通過(guò)顯式地方式來(lái)定義、描述、實(shí)現(xiàn)和管理業(yè)務(wù)層次的粗粒度服務(wù)(包括業(yè)務(wù)流程),提供了業(yè)務(wù)服務(wù)模型和相關(guān)IT業(yè)務(wù)之間提供了更好的可追溯性,縮小了它們之間的差距,使得業(yè)務(wù)服務(wù)的變化更容易傳遞到IT。下面是個(gè)人對(duì)SOA的優(yōu)點(diǎn)理解:
第一、更易維護(hù)
業(yè)務(wù)服務(wù)提供者和業(yè)務(wù)服務(wù)使用者的松散耦合關(guān)系及對(duì)開(kāi)放標(biāo)準(zhǔn)的采用確保了該特性的實(shí)現(xiàn)。建立在以 SOA基礎(chǔ)上的信息系統(tǒng),當(dāng)需求發(fā)生變化的時(shí)候,不需要修改提供業(yè)務(wù)服務(wù)的接口,只需要調(diào)整業(yè)務(wù)服務(wù)流程或者修改操作即可,整個(gè)應(yīng)用系統(tǒng)也更容易被維護(hù)。
第二、更高的可用性
該特點(diǎn)是在于服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系上得以發(fā)揮與體現(xiàn)。使用者無(wú)須了解提供者的具休實(shí)現(xiàn)細(xì)節(jié)。
第三、更好的伸縮性
依靠業(yè)務(wù)服務(wù)設(shè)計(jì)、開(kāi)發(fā)和部署等所采用的架構(gòu)模型實(shí)現(xiàn)伸縮性。使得服務(wù)提供者可以互相彼此獨(dú)立地進(jìn)行調(diào)整,以滿足新的服務(wù)需求。
SOA體系架構(gòu)將能夠幫助我們的開(kāi)發(fā)人員站在一個(gè)新的高度去理解企業(yè)級(jí)架構(gòu)中的各種組件的開(kāi)發(fā)與部署的實(shí)現(xiàn),來(lái)幫助企業(yè)級(jí)架構(gòu)的設(shè)計(jì)者們以更迅速、更可靠、更具重用性架構(gòu)整個(gè)業(yè)務(wù)系統(tǒng)。較之以前,以SOA為架構(gòu)的系統(tǒng)平臺(tái)能夠更加從容地面對(duì)新的業(yè)務(wù)的急劇變化。
SOA其實(shí)并不是一種新架構(gòu),國(guó)際SOA架構(gòu)組織在很多年前就已經(jīng)成功地建立并實(shí)施SOA應(yīng)用系統(tǒng)。大約2005年左右,大多數(shù)中國(guó)企業(yè)還不知道什么叫SOA,那時(shí)候本人就開(kāi)始在自己?jiǎn)挝豁?xiàng)目中開(kāi)始了SOA的初步嘗試。到了2007年以后,很多企業(yè)開(kāi)始從為什么要上SOA轉(zhuǎn)變到如何上SOA時(shí)方向的思考,本人就嘗試了一些基于SOA體系架構(gòu)的項(xiàng)目應(yīng)用,并還取得了一定意義上的市場(chǎng)效果。
當(dāng)時(shí)我設(shè)計(jì)的SOA項(xiàng)目的業(yè)務(wù)服務(wù)平臺(tái)主要包括企業(yè)服務(wù)總線、企業(yè)門(mén)戶、協(xié)同安全管理、業(yè)務(wù)流程管理、基礎(chǔ)支撐平臺(tái)等幾個(gè)部分。其中,基礎(chǔ)支撐平臺(tái)是底層支持服務(wù)集,提供相關(guān)配置管理、服務(wù)管理水平、監(jiān)控預(yù)警等系統(tǒng)級(jí)服務(wù)。
企業(yè)服務(wù)總線:提供業(yè)務(wù)服務(wù)的注冊(cè)、管理、查詢、路由、組合及監(jiān)控方面的能力。
服務(wù)安全管理:提供身份認(rèn)證、管理角色分離、強(qiáng)制訪問(wèn)控制、集中安全管理和審計(jì)等方面的管理。
企業(yè)門(mén)戶信息:包括內(nèi)容管理、日程管理、個(gè)性桌面、數(shù)據(jù)報(bào)表、交流協(xié)作在內(nèi)的大量門(mén)戶應(yīng)用組件。
業(yè)務(wù)流程管理:為實(shí)現(xiàn)提供了可視化的流程管理服務(wù)。
業(yè)務(wù)服務(wù)基礎(chǔ)支撐平臺(tái):提供相關(guān)配置管理、服務(wù)管理水平、監(jiān)控預(yù)警等系統(tǒng)級(jí)服務(wù)。
在上面的SOA平臺(tái)基礎(chǔ)上,項(xiàng)目組在為我們的客戶提供領(lǐng)先的信息分享與協(xié)同體驗(yàn),為信息共享和業(yè)務(wù)服務(wù)整合各個(gè)業(yè)務(wù)應(yīng)用提供成熟、領(lǐng)先的解決方案。
SOA架構(gòu)效果啟迪:
1:傳統(tǒng)的應(yīng)用集成實(shí)現(xiàn)方式有點(diǎn)對(duì)點(diǎn)集成、企業(yè)消息總線或中間件的集成(EAI)、基于業(yè)務(wù)流程的集成。而這些集成有的都很復(fù)雜、昂貴,并且不靈活。而這些集成方式卻都難于快速適應(yīng)企業(yè)現(xiàn)代業(yè)務(wù)變化和不斷產(chǎn)生的新的需求;诿嫦蚍⻊(wù)架構(gòu) (SOA) 的應(yīng)用開(kāi)發(fā)與集成可以非常容易地解決其中的許多復(fù)雜的問(wèn)題。
2:SOA 定義了一整套完善的開(kāi)發(fā)模式來(lái)幫助客戶端應(yīng)用連接到服務(wù)上。這些模式定制了一系列機(jī)制用于描述業(yè)務(wù)服務(wù)、通知及發(fā)現(xiàn)服務(wù)與服務(wù)進(jìn)行通信。
3:與傳統(tǒng)的應(yīng)用集成方法相比, SOA服務(wù)是圍繞所有基于標(biāo)準(zhǔn)的技術(shù)模式來(lái)實(shí)現(xiàn)的。大部分的通信中間件系統(tǒng),如DCE/RPC,CORBA,DCOM,MTS/COM+,Java RMI,Java EJB,也同樣如此。可它們的實(shí)現(xiàn)過(guò)程都不是很完美的,在交互性和標(biāo)準(zhǔn)定制方面的可接受性是存在很大的問(wèn)題。SOA體系架構(gòu)試圖排除這些缺陷。因?yàn)椴畈欢嗨械耐ㄐ胖虚g件系統(tǒng)都有固定的處理模式,如DCE/RPC 的功能、CORBA 的對(duì)象等等。然而,服務(wù)既可以定義為功能,又可同時(shí)對(duì)外定義為對(duì)象或者應(yīng)用等等。這使得 SOA 體系架構(gòu)可適應(yīng)于任何現(xiàn)有系統(tǒng),并使得這些系統(tǒng)在集成時(shí)不必刻意遵循其它任何特殊技術(shù)來(lái)單獨(dú)定制。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于SOA體系架構(gòu)設(shè)計(jì)與規(guī)劃