<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    escout

    代碼、心情

    常用鏈接

    統(tǒng)計

    SOA相關(guān)

    我參與的團(tuán)隊

    最新評論

    SOA之SCA規(guī)范摘要及我的理解

    上次開會討論了對SCA和SDO的理解后,又重讀了IBM上關(guān)于SCA的文章,摘要如下:
    SCA(Service Component Architecture)編程模型入門上指出:
    ?
    服務(wù)組件(SCA Service Component)是SCA中的基本組成元素和基本構(gòu)建單位,也是我們具體實(shí)現(xiàn)業(yè)務(wù)邏輯的地方。
    其組件結(jié)構(gòu)圖如下:

    ?????? 服務(wù)模塊(Service Module)由一個或多個具有內(nèi)在業(yè)務(wù)聯(lián)系的服務(wù)組件構(gòu)成,模塊是SCA中的運(yùn)行單位,因?yàn)橐粋€SCA模塊背后對應(yīng)的是一個J2EE的企業(yè)應(yīng)用項(xiàng)目。
    服務(wù)模塊之間的關(guān)系如下:

    ?????? 可見,同一服務(wù)模塊內(nèi)部的服務(wù)組件之間是通過Reference和Interface直接關(guān)聯(lián)起來的,相對來說有比較緊密地耦合。
    結(jié)合HelloWorld的示例應(yīng)用

    ?????? 可以看到,同一個ServiceModule實(shí)際上實(shí)現(xiàn)了一個獨(dú)立的應(yīng)用,這個應(yīng)用一般有自己的展示層,通過Standalone Reference的方式,和Service Component建立聯(lián)系,實(shí)際的業(yè)務(wù)邏輯都封裝在Service Component中。同時,對于不同的ServiceModule,要相互引用,就要多費(fèi)一些功夫了,需要使用服務(wù)模塊中的導(dǎo)入和導(dǎo)出定位到實(shí)際的服務(wù)模塊。
    ?????? 對于不同ServiceModule的交互,文章WebSphere Process Server V6 體系結(jié)構(gòu)概述中給出下圖一個簡單的端到端業(yè)務(wù)數(shù)據(jù)同步的例子:

    并解釋:
    ?????? 源EIS通過其適配器發(fā)出請求,傳入一個應(yīng)用特定業(yè)務(wù)對象(Application-Specific Business Object,ASBO),通過轉(zhuǎn)接器轉(zhuǎn)換成一般業(yè)務(wù)對象(Generic Business Object,GBO),進(jìn)入業(yè)務(wù)流程引擎進(jìn)行處理,處理的結(jié)果以另一個GBO的形式,通過Selector傳輸?shù)街付ǖ哪繕?biāo),再經(jīng)轉(zhuǎn)接器轉(zhuǎn)換為目標(biāo)EIS的應(yīng)用特定業(yè)務(wù)對象,進(jìn)入目標(biāo)EIS進(jìn)行處理。
    ?????? 其中中間的矩形包括的ASBO、轉(zhuǎn)換器、GBO等等,按照我的理解,我覺得應(yīng)該是企業(yè)服務(wù)總線ESB的功能,也就是不同的ServiceModule都插接到ESB上,通過業(yè)務(wù)對象映射服務(wù)(Map Service)以及關(guān)系服務(wù)(Relationship Service)一起,完成接口轉(zhuǎn)接的功能。同時,在一個SCA Service Component中,一般都是使用同樣的BO,如果不同,可以使用SCA接口轉(zhuǎn)接器(Interface Mediator)提供了SCA接口轉(zhuǎn)接的功能轉(zhuǎn)換,但是考慮到BPEL等等的自動編排,一般ServiceModule內(nèi)部還是應(yīng)該使用同樣的BO,不同的ServiceModule之間一般BO不同。這里的BO就是SDO
    同時,可以看到,不同模塊的耦合主要是通過引用來實(shí)現(xiàn),一般來說,SCA引用分為模塊內(nèi)的引用和模塊間的引用。模塊間的引用定義的是一個模塊(中的組件)對于外部服務(wù),例如另一個模塊中的組件或者Web服務(wù)等的依賴。
    ??????同時,我們注意到一點(diǎn),在很多IBM SOA的文章中,都是使用了Service Locator的方法來定位服務(wù),比如SCA(Service Component Architecture)編程模型入門中就使用了如下代碼:
    1ServiceManager?serviceManager?=?new?ServiceManager();
    2Service?service?=?(Service)?serviceManager.locateService("HelloWorldInterfacePartner");
    ????注意到這里的HelloWorldInterfacePartner實(shí)際上是一個服務(wù)的邏輯名,所以這里就實(shí)際上解除了和實(shí)際的服務(wù)的耦合,是很松散的耦合。比較一下在spring等等IOC框架中的通過配置文件來組裝POJO的方法,這樣也不失為一種可行的策略。不過,相比而言,我還是更喜歡在spring中那種通過xml配置文件組裝bean的方法,更加靈活一些的

    posted on 2006-05-27 00:26 綠色使者、綠色心情 閱讀(1545) 評論(3)  編輯  收藏 所屬分類: soa team

    評論

    # re: SOA之SCA規(guī)范摘要及我的理解 2006-05-27 20:02 突突

    通過轉(zhuǎn)接器轉(zhuǎn)換成一般業(yè)務(wù)對象(Generic Business Object,GBO),進(jìn)入業(yè)務(wù)流程引擎進(jìn)行處理,處理的結(jié)果以另一個GBO的形式,這里的BO就是SDO

    對象傳來傳去, 感覺好復(fù)雜.   回復(fù)  更多評論   

    # re: SOA之SCA規(guī)范摘要及我的理解 2006-05-28 07:15 Richie

    同時,我們注意到一點(diǎn),在很多IBM SOA的文章中,都是使用了Service Locator的方法來定位服務(wù),比如SCA(Service Component Architecture)編程模型入門中就使用了如下代碼:
    1ServiceManager serviceManager = new ServiceManager();
    2Service service = (Service) serviceManager.locateService("HelloWorldInterfacePartner");

    服務(wù)定位模式,并不太好與IOC相并論,可測試性會有很大損害.EJB2.x中的jndi查找也可理解為這種模式的一個實(shí)現(xiàn)。  回復(fù)  更多評論   

    # re: SOA之SCA規(guī)范摘要及我的理解 2006-05-28 09:45 綠色使者、綠色心情

    我覺得恰恰是使用IOC,會使可測試性更好,因?yàn)檫@樣可以脫離開容器測試,并在測試時替換實(shí)現(xiàn)。必須在容器內(nèi)測試是自動化的可測試性的大敵,同時嚴(yán)重影響測試效率。EJB2.x中的測試也是最被人詬病之一,其中必須依賴jndi查找應(yīng)該是一個主要原因  回復(fù)  更多評論   

    主站蜘蛛池模板: 狠狠亚洲婷婷综合色香五月排名| 91免费国产在线观看| 国产中文字幕免费| 亚洲国产精品无码观看久久| 在线视频免费观看高清| 四虎亚洲精品高清在线观看| 女人张开腿等男人桶免费视频| 亚洲精品一卡2卡3卡四卡乱码| 日韩激情淫片免费看| 国产精品亚洲精品日韩动图| 亚洲AV成人精品日韩一区18p| 黄网站色视频免费看无下截| 久久久久国产成人精品亚洲午夜 | 国产成人1024精品免费| 久久伊人亚洲AV无码网站| a在线免费观看视频| 亚洲国产精品国自产拍电影| 国内精自视频品线六区免费 | 亚洲欧洲在线观看| 114一级毛片免费| 亚洲av午夜国产精品无码中文字 | 72pao国产成视频永久免费| 国产亚洲精品精华液| 一级成人a毛片免费播放| 亚洲一区免费在线观看| 免费国产成人午夜电影| 99久久99这里只有免费的精品| 亚洲美女视频免费| 日韩在线免费播放| 中文字幕久无码免费久久 | 亚洲av日韩av永久无码电影 | 亚洲欧洲日本天天堂在线观看| 在线a毛片免费视频观看| 国产黄色片免费看| 亚洲综合激情九月婷婷| 国产做床爱无遮挡免费视频| 中文字幕免费不卡二区| 亚洲AV无码专区在线电影成人 | av午夜福利一片免费看久久| 91亚洲性爱在线视频| 亚洲精品动漫人成3d在线|