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,從規范、實現等不同的角度談一下它們之間的區別。

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

          Component

           

           

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

          Composite

           

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

          ComponentType

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

          我們先來看下類圖結構:

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

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

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

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

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



           

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

          導航

          統計

          常用鏈接

          留言簿(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
          主站蜘蛛池模板: 云浮市| 洛川县| 观塘区| 宜黄县| 望江县| 克拉玛依市| 察哈| 都匀市| 林口县| 宝鸡市| 光泽县| 南江县| 和田县| 静乐县| 曲阜市| 墨玉县| 彩票| 伊宁市| 葵青区| 格尔木市| 宁武县| 吉木乃县| 青河县| 五峰| 夏邑县| 常宁市| 灯塔市| 临夏县| 贵港市| 江山市| 乌鲁木齐县| 临沧市| 安溪县| 温宿县| 内黄县| 巴楚县| 怀宁县| 博罗县| 陕西省| 罗山县| 建始县|