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

SCA對于SOA的意義

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

來源:泛普軟件

SOA在新一代的架構(gòu)理念因為其先進(jìn)性站到了技術(shù)的前沿,是各大技術(shù)廠商緊跟的開發(fā)方式。當(dāng)然同時也因為其先進(jìn)性,使得其成為本世紀(jì)最為模糊的概念。個人都有自己的理解,使得 SOA在很大程度上給人的感覺是可以聽得見,卻摸不著的“神秘技術(shù)”。筆者分析其主要原因是因為Web service給人的影響太大了,大多數(shù)人對SOA的理解都差不多,覺得SOA=Web service,其實這就是最典型的理解。大家之所以覺得Web service牛,技術(shù)很強(qiáng),除了因為它是一個標(biāo)準(zhǔn)和規(guī)范外,還因為大家在開發(fā)中使用到的都僅僅是Web service里的消息通訊框架,靠該消息通訊框架讓普通的開發(fā)者看到了跨應(yīng)用、跨解決方案,做集成的好處。自然開發(fā)者就被“蒙住了眼睛”,覺得靠使用了 Web service技術(shù),就利用到了SOA的各種好處。這無異于金庸小說里的,只練招數(shù),而不修煉內(nèi)功修為,前期進(jìn)展不錯,但隨著時間的推移就會發(fā)現(xiàn)發(fā)展?jié)摿?不足,就那兩下空招數(shù)。

下面我們來看看面向服務(wù)的設(shè)計,SOA之所以在實踐中難以實施的關(guān)鍵癥結(jié)在于面向服務(wù)分析設(shè)計并沒有形成統(tǒng)一的指導(dǎo)路線。而面向?qū)ο蠹夹g(shù)之所以有現(xiàn)在的普及,得益于各種開發(fā)過程的方法論,比如RUP,XP等。但現(xiàn)階段對于面向服務(wù)的分析設(shè)計卻沒有成型的指導(dǎo)出現(xiàn)。當(dāng)然筆者也不排除一些有經(jīng)驗的技術(shù)作家有寫 出來,但畢竟沒有形成知識系統(tǒng)和知識體系。所以,開發(fā)者有些彷徨,想利用SOA的好處,但又不知道如何去做。其實隨著SOA技術(shù)慢慢在案例中使用,部分敢 于探索的技術(shù)作家的行文中,偶爾給出一絲SOA技術(shù)的分析設(shè)計經(jīng)驗之談。

任何一種技術(shù)的出現(xiàn),其實都是對開發(fā)內(nèi)容進(jìn)行相關(guān)分類和歸類,以便減少代碼冗余,增加代碼復(fù)用的機(jī)會。所以我們在做面向服務(wù)的分析與設(shè)計工作時,也應(yīng)該做相應(yīng)的分層歸類工作。本人在《面向服務(wù)設(shè)計原則遐想》中提到:

業(yè)務(wù)流程層 聯(lián)合運(yùn)用下層服務(wù)接口層

服務(wù)接口層 作用是起到封裝抽象下層應(yīng)用邏輯,對上層提供接口

應(yīng)用層 如:應(yīng)用A、應(yīng)用B等

這個還處于高層抽象的分層,我們的關(guān)注點應(yīng)該在服務(wù)接口層,需要繼續(xù)細(xì)分該層。暫且將該層分為

編排服務(wù)層

業(yè)務(wù)服務(wù)層

應(yīng)用服務(wù)層

通過這個比較粗略的分層,可以看出各個服務(wù)層有了上下關(guān)系和歸類條件。具體就是:應(yīng)用服務(wù)層放一些公共的、與解決方案無關(guān)的工具服務(wù),比如負(fù)載均衡服務(wù)、 或者是專門用于向員工發(fā)送短信息的服務(wù)(它會被多處服務(wù)所調(diào)用)等。業(yè)務(wù)服務(wù)層則放一些有業(yè)務(wù)含義的原子性業(yè)務(wù)服務(wù),所謂原子性業(yè)務(wù)服務(wù)就是不可再分解的 業(yè)務(wù)服務(wù),其中的分析建模技術(shù)包括“按業(yè)務(wù)實體進(jìn)行分析和建模”和“按特定任務(wù)進(jìn)行分析和建?!钡膬煞N方式。一般來說“按業(yè)務(wù)實體進(jìn)行分析和建?!北取鞍?特定任務(wù)進(jìn)行分析和建模”方式使得服務(wù)的復(fù)用機(jī)會更多些。畢竟“按特定任務(wù)進(jìn)行分析和建模”的方式得到的服務(wù)自然是滿足特定任務(wù)的大的子流程,含有了業(yè)務(wù) 流程,其實業(yè)務(wù)服務(wù)層如果嚴(yán)格來說只能包含業(yè)務(wù)實體,而不應(yīng)該包含業(yè)務(wù)流程,因為業(yè)務(wù)流程將在編排服務(wù)層里進(jìn)行歸類。

這里自然有個難點,就是我們做純粹的面向服務(wù)分析時,是要求自頂向下分解,而要求實現(xiàn)SOA承諾的服務(wù)可復(fù)用性是核心,必須保證分解出來的大部分服務(wù)要有 機(jī)會復(fù)用,而我們知道原子性服務(wù)的復(fù)用性機(jī)會自然更大,然后才可以隨著需求的變更來組合現(xiàn)有的原子性服務(wù)來實現(xiàn)企業(yè)業(yè)務(wù)敏捷性。這種自頂向下分析,自下向 上復(fù)用的現(xiàn)狀幾乎把我們搞糊涂了。所以將服務(wù)接口層細(xì)分為更為具體的三層意義重大,否則業(yè)務(wù)流程與業(yè)務(wù)邏輯單元都揉在一塊,自然難以提高復(fù)用率。

現(xiàn)在已經(jīng)粗略地談到了面向服務(wù)的分析設(shè)計,那么與SCA有什么關(guān)系。SCA其實為不同粒度的復(fù)用提供了條件。

SCA從不同的粒度復(fù)用方面提供的益處得歸因于它的遞歸復(fù)用模式,這也與面向服務(wù)的分析設(shè)計方式有一定的映射,便于自頂向下或自下而上的分析設(shè)計工作。 SCA除了這些外,最重要的則是統(tǒng)一了各種不同語言實現(xiàn)的規(guī)范,同時利用現(xiàn)階段比較優(yōu)秀的IOC,DI原則來管理服務(wù)之間的引用關(guān)系,最大程度地支持面向 服務(wù)開發(fā)模式中對服務(wù)的測試,當(dāng)然也是便于服務(wù)功能復(fù)用了。而服務(wù)功能復(fù)用的先決條件是服務(wù)發(fā)現(xiàn),如果服務(wù)都發(fā)現(xiàn)不了如何復(fù)用,則塊工作也是SCA的重中之重。自然,將通訊框架不僅僅局限與Web service的通訊框架,支持眾多的binding類型,將通訊的代碼量減至最小,也為服務(wù)的復(fù)用提供了前提條件,讓開發(fā)者與分析設(shè)計者更能集中精力于 業(yè)務(wù)建模,當(dāng)然也一定程度增加了代碼的復(fù)用性。(IT專家網(wǎng))

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

泛普南京OA快博其他應(yīng)用

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