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

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

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

    JAVA隨筆

     

    面向組件的一些想法

    ?????這幾天一直在思考幾個問題,現在提出了SCA(面向構件)的思想。而現在提出的SCA是在SOA的基礎上建立的。而我就我們目前產品的狀況,談一談我使用古老的技術實現SCA的思想,當然不是建立在SOA上的。因為我們每個模塊和每個模塊的聯系甚小(不好抽出共享service)。還考慮到SOA一些成本的問題。還是用比較本,但應該行之有效的方法解決,以下為解決方案。

    ???? 產品背景:研發人員頻繁的出差,主要是因為產品在各地市(移動,聯通,網通,電信)的業務需求不同導致,需要在主版本上修改功能以滿足各地市的需求。這樣我們的產品無疑是湖北移動,湖北電信,福建電信,福建移動等等,各出一個版本。其實我們做了很大一部分重復的工作。我們的產品也就不能稱為產品,而我們一直在做項目。

    ?????現在就可定制、可復用以節省開發成本提出一些我的想法。
    ???
    ?????我想我們的產品應該面向組件,也就是說要松偶合,可復用,可定制。我們的平臺(基礎模塊)只包括系統管理(用戶、權限及公用工具、也可以用portal)一部分。而其他模塊,像作業計劃,值班管理,信息發布等等。每個都是一個單獨可以部署在主版本(系統管理)的應用。而平臺向外發布web servie接口以及也可以傳統java方式調用,這些是可配的。這樣可以做到每個模塊各布署到單獨的應用。如果這樣我們可能還需要一個單點登陸(除portal)。這些工作是由研發人員進行控制。研發人員提供實施人員頁面操作,實施人員通過配置可以將模塊(組件也就是作業計劃,值班管理)配到平臺(基礎模塊)上。這樣我們來維護一個組件庫,組件庫中包括各模塊的應用。組件庫的豐富是一個漫長的過程,也就是說,假如我們現在有一個福建移動的作業計劃,而不滿足福建電信的要求的,若需要新增功能,我想應該在原來版本上進行新增(由研發人員控制),若要修改功能,如果功能修改量比較小,而又對業務要求不是很合適。我們可以試著讓項目經量說服客戶。如果二義性比較大,這樣我們可以在原來版本上新建一個版本,形成一個新版本。OK,現在我們有兩個版本的作業計劃了,隨著時間的增加。我們的組件庫越來越豐富。如果某個地市說要上產品一期,我們會拿出需求去比對,按照每個相應的組件去配置形成一個滿足某地市的需要。而這些工作完全可以不用研發人員做。而這樣,我們就實現了一個可定制的版本。如果這個地市要上二期,我們保持主版本的向后兼容,可以直接將新要上的模塊掛上去。

    ???目前面臨的問題:
    ??????1.平臺(基礎模塊)要修改,會改動很多模塊。而我的想法是,基礎模塊的修改應該保持向下兼容。若修改應明確記錄,其我們的多個組件也應修改。這樣才能使已經上線的產品可以很容易的升級或新增組件。
    ??????2.需要有一個組件管理庫,它用來管理組件,組件的版本,主要實現內容啦。修改組件的log,發布的組件啦。這是一個非常重要的事情。應該由研發人員撐控。
    ????? 總之主要面臨的問題就是版本的管理。

    ?? 我目前也只是構思。也希望聽聽各位的意見。希望能給出意見。可能我的思想很老套了,但確實可以解決我們現在的問題。
    ?

    posted on 2006-12-15 09:45 曲靜波 閱讀(1390) 評論(6)  編輯  收藏 所屬分類: others

    評論

    # re: 面向組件的一些想法 2006-12-15 11:15 BeanSoft

    可以用 Eclipse 插件模式, 或者 J2EE 的思想, 把應用分為 平臺層 和 業務層, 然后每個包有個入口的類, 通過配置文件載入然后執行, 典型的例子: WAR 文件.... 當然了, 如果有支持熱加載的類載入器(hot-replace class loader), 就可以實現自己的應用不當機升級了. 或者通過定義接口來做, 接口要定義 onDestaroy(), onInit() 這樣的方法, 像 servlet 那樣, 讓容器來知道共同的約定.  回復  更多評論   

    # re: 面向組件的一些想法 2006-12-15 11:30 曲靜波

    @BeanSoft
    嗯,這些我考慮過。但是有個問題,您是說把每個組件看一個war嗎?這樣的話。就會部署在不同的應用。也就會有多個context,如果有8個組件(模塊),那就會有8+1(平臺)context。這樣會不會對效率有影響。如果不是說每個組件看成一個war的話。那就是設計接口實現。但這塊我還也是在摸索當中。有這個想法。請賜教。或者您有這方面設計的資料能否共享下呢。  回復  更多評論   

    # re: 面向組件的一些想法 2006-12-15 13:06 BeanSoft

    我也沒什么具體的想法, 倒是可以看看這個開源項目: http://jmoduleloader.tomjudge.com/documentation.php
    There are 2 types of module that jModuleLoader is capable of loading: thoes that have a specific generic interface (otherwise known withing jModuleLoader as the loading interface) to the modules code and those that do not. Before developing an application with jModuleLoader I suggest that you read up on java class loaders.

      回復  更多評論   

    # re: 面向組件的一些想法 2006-12-15 14:58 曲靜波

    我看過jmoduleloade了,仔細想了下,其實我的平臺已經實現功能項url的配置。也就是說已經有入口了。jmoduleloader反而不會很靈活。而我現在主要是想解決war包,就是不能每一個模塊有一個war包。怎么把它拆分出來,放入平臺(BS結構)。3x  回復  更多評論   

    # re: 面向組件的一些想法 2006-12-15 19:45 fyxruben

    是否想說做成服務器端的eclipse ???  回復  更多評論   

    # re: 面向組件的一些想法 2006-12-18 08:55 qujingbo

    @fyxruben
    他指的是eclipse插件模式。就是你要按照一定的規則(eclipse給你的接口,你需實現)開發。而我們做的是bs,確實可以借鑒這種方法。但是現在我們的平臺是配置url,靈活性比eclipse插件好用。  回復  更多評論   

    導航

    統計

    常用鏈接

    留言簿(3)

    隨筆分類(9)

    隨筆檔案(8)

    文章分類

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产一区二区免费在线| 国产成人3p视频免费观看| 亚洲人成人无码.www石榴| 又粗又硬免费毛片| 一级毛片成人免费看免费不卡| 亚洲看片无码在线视频| 国内精品99亚洲免费高清| 最近免费中文字幕大全高清大全1| 亚洲av无码兔费综合| 亚洲熟妇无码乱子AV电影| 国产福利在线观看免费第一福利| 国产精品免费久久久久影院| 亚洲黄页网在线观看| 亚洲色欲一区二区三区在线观看| 成年女人喷潮毛片免费播放| 中国精品一级毛片免费播放| 亚洲精品无码久久久久秋霞| 亚洲精品无码专区久久久| 日本高清免费中文字幕不卡| 视频免费1区二区三区| 亚洲中文字幕人成乱码| 免费少妇a级毛片| 日本中文字幕免费高清视频| 亚洲人av高清无码| 亚洲黄色片免费看| 亚洲情XO亚洲色XO无码| 日本一区二区三区日本免费| 一区二区三区观看免费中文视频在线播放| 欧美亚洲国产SUV| 亚洲日本在线播放| 亚洲天天做日日做天天欢毛片| 成人亚洲性情网站WWW在线观看| 4444www免费看| 全部在线播放免费毛片| 久久亚洲私人国产精品| 中文字幕一精品亚洲无线一区| 国产免费69成人精品视频| 拨牐拨牐x8免费| 中文字幕无码视频手机免费看| 日韩精品无码区免费专区| 天天摸天天操免费播放小视频|