gembin

          OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

          HBase, Hadoop, ZooKeeper, Cassandra

          Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

          There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

          About Me

           

          個人對SCA標準中Component,Composite,Implemention,ComponentType幾個概念的理解

          本文關注于SCA的幾個基本概念:Component,Composite,Implemention,ComponentType,從規(guī)范、實現(xiàn)等不同的角度談一下它們之間的區(qū)別。

          也就是說,本文更多的是關注于它們之間的區(qū)別,至于它們每個是什么請參閱SCA集成規(guī)范。

          Component

           

           

          由上圖可以看到,Component是SCA中可以提供業(yè)務功能的最小單元,Implemention是 Component提供服務的具體實現(xiàn)方式,可以是Java、C++、Bpel等等,沒有Implemention那么Component就是個空殼,不 能提供任何有價值的服務,沒有任何意義。Service是當前Component所能提供的服務列表,Reference則是該組件多引用的其他組件的服 務,Property起配置的作用。

          Composite

           

          從上圖可以看到,Composite是由Component和Composite組成的,另外Composite也支持 整體對外提供服務,或者引用其他組件,因此還包括了Service、Reference以及配置它們的Property,Wire是Composite中 各個Component之間的關聯(lián)關系,因此只有Composite中才會有Wire,Component中沒有。

          ComponentType

          為什么把ComponentType單獨拿出來呢,因為ComponentType容易讓人混淆,帶來理解上的困難,特 對它給與了比較多的精力,為了大家能看明白,也為了清理下自己的思路,為了理解它不知道翻了多少遍Assembly規(guī)范以及Tuscany的源代碼,呵 呵,當然,現(xiàn)在的理解也不一定就是正確的,歡迎大家批評指正。

          我們先來看下類圖結構:

          由此類圖可以看到,Implemention和Composite都是ComponentType的子接口,ComponentType代表的其實是某種Implemention類型,比如Java、Bpel等等,比如Java的Implemention實現(xiàn)類如下:

          BaseJavaImplementation是implementation.java的接口,其他還有implementation.bpel等等。

          最后,對Service、Reference和Component、Composite等的關系結合類圖做下介紹:

          CompositeService和ComponentService正說明了可以提供服務的兩種粒度,同理亦然,reference亦是如此:

          而,Reference和Service有種共同的祖先:AbstractContract,如圖:



           

          posted on 2008-04-27 21:37 gembin 閱讀(599) 評論(0)  編輯  收藏 所屬分類: SCASOA

          導航

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆分類(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊

          收藏夾(9)

          Adobe

          Android

          AS3

          Blog-Links

          Build

          Design Pattern

          Eclipse

          Favorite Links

          Flickr

          Game Dev

          HBase

          Identity Management

          IT resources

          JEE

          Language

          OpenID

          OSGi

          SOA

          Version Control

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          free counters
          主站蜘蛛池模板: 平邑县| 鹿泉市| 壤塘县| 聊城市| 枞阳县| 石首市| 东阿县| 怀化市| 桓台县| 牟定县| 建平县| 蒙自县| 纳雍县| 碌曲县| 东丰县| 望都县| 和顺县| 襄城县| 湘潭县| 新晃| 巫溪县| 毕节市| 宝丰县| 云霄县| 霍邱县| 于都县| 城市| 安阳市| 翼城县| 泸定县| 宁武县| 昌吉市| 永新县| 麻栗坡县| 安徽省| 和田县| 溧阳市| 益阳市| 镇安县| 基隆市| 扎兰屯市|