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

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

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

    張昊

    J-Hi(http://www.j-hi.net)

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      45 Posts :: 1 Stories :: 110 Comments :: 0 Trackbacks

    在軟件世界里組件這個概念真是千差萬別,每個系統與工具軟件對組件都有各自不同的定義。尤其在Java世界里更是如此,小的從一個頁面元素一直到大的一個 業務功能系統,在各自的領域都會給它們定義為組件。按照《計算機百科全書》給組件的定義:是軟件系統中具有相對獨立功能、接口由契約指定、和語境有明顯依 賴關系、可獨立部署、可組裝的軟件實體。由此定義我們來談一下J-Hi Java快速開發平臺對組件的理解與解決方案。

    實際上說到底無非是對組件顆粒的劃分問題,在不同的條件與環境下組件的作用與功能會有很大差異,其次在定義組件時要保證功能的相對獨立并且可組裝可部署, 由此J-Hi將組件根據用途與范圍的不同劃分為如下四類組件類型:技術組件、實體組件、業務組件、系統組件,它們之間的關系是逐級遞進,互為基礎的。


    在我們在深入探討之前,先來簡單的解釋一下上圖中各種組件類型之間的關系。比如一個OA系統我們就可以把這理解為一個系統組件,而多個系統組件(倉儲系 統、人力系統等)可以動態搭建更大的應用系統(ERP)。每個系統組件下會有多個業務組件,例如在OA系統下會有報銷單、會議管理等多個業務組件。因為大 部分業務組件之間一般都是松藕合的,所業務組件可以無縫的遷移到其它的系統組件中,即實現業務組件可復用性。而在一個業務組件下會有一個或多個實體組件夠 成,我們還以報銷單業務組件為例,在報銷單最少會有報銷單及報銷單明細兩個實體組件,一個實體您可以理解成與數據庫對應的一張表,實體之間可以繼承、一個 實體可以有多個子實體。但實體不僅僅是數據庫表,它包括從頁面到數據庫表之間的全部代碼實現同時包括CURD所有操作的功能單元。對于實體組件我們會在后 面詳細討論。最后是技術組件,在J-Hi中技術組件可以說是一個抽象的概念,一個技術組件就是一個技術功能單元,它可能是一套生成模版,一個框架的支持, 一套API(比如對短信、全文檢索的支持等)

    實體組件:J-Hi將一個實體組件定義為一個集合單元,它不僅僅包括數據庫表還包括對該數據庫表的基礎操作 (增、刪、查、改);包括前端的展示面頁;包括該實體的權限、菜單、配置信息;還包括它與其它實體的交互操作。當然一個實體組件顆粒度還是太小,還不能完 整的描述一個業務功能。但實體組件相對來說有一定的獨立性,可以集成一個集合單元,J-Hi就是以實體組件為基礎實現更大粒度的集成,從而實現對一個完整 業務的描述。


    業務組件:實際上一個業務組件J-Hi將它對應于一個服務,服務可以認為是一個業務功能模塊,用以描述完整的 業務模式,具體相對的業務獨立性。在服務內代碼間是高聚集的,因為一個服務就是一套完整的業務,在設計服務時應盡最大限度的降低服務與服務之間的藕合度。 因為在這個樣一個理論基礎上去設計,就可以實現業務組件無縫的在各系統之間的可移植性。因為組件的定義還要可以獨立的組裝與部署,因此我們開發平臺的附屬 性產品——Hi平臺產品集成工具,它主要是由發布器與部署器組成,以更方便的實現業務組件的遷移。



     

    開發發布器與部署器的目的就是通過可視化的方式,實現跨數據庫數據與跨應用系統的業務組件遷移。可以將業務組件看作一個獨立的業務單元,可以無縫的集成于 任何以J-Hi平臺開發的項目中去。從而真正達到隨需組合,動態搭建實際的業務系統,真正的實現業務組件的復用,降低不必要的重復開發。

     

    系統組件:從業務功能上來看系統組件不過是多個業務組件的拼接,更大一級的業務封裝。理論上系統組件與系統組 件之間應滿足絕對的隔離性,即使是有通信,應該也是通過第三方來進行數據交互(常用的解決方式有兩種一種是中間數據庫;第二種是webservice)。 但如果是基于平臺開發,這種無謂的工作量可以降低很少,甚至可以不需要第三方的交互技術。只要保證兩個系統間的通信接口就要以輕松實現。系統組件的遷移也 可以通過發布器與部署器來實現。

    技術組件:從技術角度來看,J-Hi與其它的技術組件差別不大。無非是基于平臺再開發一些技術組件,比如對 SpringMVC、SpringJDBC、DB2數據庫等的支持,頁面端也會再集成象DWZ或simpleframework,我們也會再提供更多的頁 面端的生成模版,以此類推,平臺的技術組件會在技術的不同層面進行擴展。但與其它的技術組件不同之處在于,實現類似于插件一樣的可插拔,隨需織入。

    posted on 2011-03-07 01:03 張昊 閱讀(1338) 評論(1)  編輯  收藏

    Feedback

    # re: J-Hi對組件化的理解 2011-03-07 01:10 張昊
    笑蕭 0:40:45
    我看了下,組件化開發 挺好的,你把組件分為系統組件、業務組件、和技術組件,你的這些組件間的通信 有什么約束沒有?能保證你的組件的獨立性不能?
    張昊 0:41:34
    接口
    張昊 0:41:41
    通過配置
    張昊 0:42:00
    1、接口
    2、配置
    3、無縫集成
    張昊 0:44:10
    通過接口做約定
    通過配置文件,實現接口約定
    通過發布器與部署器,將業務組件無縫集成于業務系統中
      回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲视屏在线观看| 久久精品国产亚洲77777| 亚洲aⅴ无码专区在线观看 | 亚洲今日精彩视频| 在线观看免费黄网站| 自拍偷自拍亚洲精品被多人伦好爽| 一级做a爰片久久毛片免费陪| 亚洲精品国产精品乱码不卡| 男女男精品网站免费观看| 亚洲AⅤ视频一区二区三区| 一本一道dvd在线观看免费视频 | 亚洲成片观看四虎永久| 4hu四虎免费影院www| 亚洲精品国产精品乱码视色 | 亚洲最新视频在线观看| 午夜国产精品免费观看| 亚洲日本va一区二区三区| 免费久久精品国产片香蕉| 国产精品免费一区二区三区| 亚洲精品国产字幕久久不卡| 精品国产污污免费网站aⅴ| 亚洲愉拍一区二区三区| 一区二区三区亚洲视频| 精品亚洲永久免费精品| 亚洲伊人久久大香线蕉结合| 青青草国产免费久久久91| 日韩在线一区二区三区免费视频| 国产亚洲综合网曝门系列| 在免费jizzjizz在线播| 精品无码专区亚洲| 亚洲日本va中文字幕久久| 99久久免费国产精品特黄| 色噜噜狠狠色综合免费视频| 久久亚洲精品无码| 成年在线网站免费观看无广告 | 亚洲尤码不卡AV麻豆| 成人黄色免费网站| 一出一进一爽一粗一大视频免费的 | 东北美女野外bbwbbw免费| 亚洲剧情在线观看| 精品国产亚洲一区二区在线观看|