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

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

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

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    [導(dǎo)入]銳道dorado

    Posted on 2006-04-02 14:57 canonical 閱讀(2191) 評論(2)  編輯  收藏 所屬分類: 軟件開發(fā)
    http://www.bstek.com/
    ??? 上海銳道的Dorado框架號稱是一個基于構(gòu)件技術(shù)的、面向B/S和多層架構(gòu)體系的web應(yīng)用開發(fā)平臺, 其前身稱為Extra。從具體功能來看,如果將其看作是一個全功能的web應(yīng)用開發(fā)平臺, 那它現(xiàn)在的功能集顯得就太單薄了一些, 其主要部分還是提供了一些前臺的界面控件, 其他如web框架部分,很像是struts的一個簡化版,沒有什么特異之處。
    ??? Dorado的技術(shù)特點是大量采用ajax技術(shù)來實現(xiàn)前臺控件. 其前后臺交互采用了自定義的基于xml格式的rpc方式, 而數(shù)據(jù)綁定使用了xml數(shù)據(jù)島,例如
    ??? <xml id="__datasetEmployee" >
    ??? <records>
    ??? <record isCurrent="true"? state="none" >
    ??? <new>,~73~73~73~73~73,~68~68,~44~31~32,true,true,295113600000,2034.0,,</new>
    ??? </record>
    ??? </xml>
    ??? record內(nèi)部使用的是Dorado私有的編碼/解碼規(guī)則, 大概是為了壓縮數(shù)據(jù)量吧.
    ??? 從Dorado目前提供的界面來看還是比較豐富的,基本滿足了一般信息系統(tǒng)開發(fā)的需求, 但是其可擴展性似乎并不是很好. 它雖然號稱是組件式開發(fā),但是其前臺和后臺引擎似乎都沒有提供完善的組件模型支持, 只是實現(xiàn)了一些既定的界面組件而已.
    ??? 1. 其前臺的js函數(shù)中存在著大量針對數(shù)據(jù)類型的switch語句,似乎其所能夠支持的控件類型已經(jīng)內(nèi)置在前臺引擎中, 如果我們要增加一種新的界面組件大概需要在各處修改引擎代碼, 缺乏一種抽象機制.
    ??? 2. 后臺ViewModel模型似乎是想構(gòu)造出一個Component架構(gòu)來, 但這個模型目前看起來明顯沒有Echo2這樣的組件模型精致, 似乎缺乏一種一致的組件重組機制.? Dorado的ViewModel是有狀態(tài)的, 通過RPC機制, 它實際上可以獨立于系統(tǒng)web層與前臺控件交互.
    ??? 3. Dataset是Dorado中最重要的數(shù)據(jù)供體接口, 從它所提供的方法 getField,deleteRecord, insertRecord, movePrev, moveNext, getPageSize等可以看出, 這明顯是綁定到了可分頁表格的數(shù)據(jù)模型上. 實際上整個系統(tǒng)設(shè)計似乎都隱含假定了一個Table模型, 例如Validator接口中具有一個函數(shù) ViewField getField(), 這里明確假定了validate只能針對單個字段進行, 而不是屬于某個整體組件的.
    ??? 4. Dorado中所有組件的界面代碼生成都是以程序方式進行的, 沒有模板機制. 因而增加新的控件的實現(xiàn)時, 需要在后臺通過java代碼輸出一部分界面, 在前臺通過js腳本動態(tài)更新界面, 工作量相當(dāng)大.
    ??? 5. Dorado中界面輸出應(yīng)該是通過Outputter接口來進行
    ????? public interface Outputter{
    ??????? public String getStartOutput(HttpServletRequest req, Object o)throws Exception;
    ??????? public String getEndOutput(HttpServletRequest req, Object o) throws Exception;
    ????? }
    ????? 這里一方面與web層形成了綁定,另一方面它必須在內(nèi)部完整的生成界面代碼之后一次性傳入response, 這無疑加重了后臺的內(nèi)存壓力. 輸出分成了StartOutput和EndOutput大概是為了支持布局組件等容器類組件, 相當(dāng)于是組件內(nèi)部可以有一個洞, 這與Jsp Tag模型是匹配的, 但是這種方式很難以高效率實現(xiàn)界面上的結(jié)構(gòu)融合.
    ??? 7. Dorado似乎沒有直接提供組件的再封裝機制, 在現(xiàn)有組件中作局部修正往往需要通過代碼方式來進行.例如表格中的性別字段需要顯示圖片而不是文字, 則需要在Column的onRefresh事件中寫入下代碼,
    ??????????? if (record.getValue("sex")){
    ??????? cell.innerHTML = "<img src='images/man.gif'>";
    ??????? }
    ??????? else{
    ??????? cell.innerHTML = "<img src='images/woman.gif'>";
    ??????? }
    ??? 這明顯已經(jīng)不是可配置的內(nèi)容了. 如果我所需要增加的代碼是一個復(fù)雜的組件, 這里就很難進行處理了.
    ??? 6. Dorado的技術(shù)綁定在了IE瀏覽器上, 無法兼容其它瀏覽器, 這有些偏離目前的標準化方向.

    ??? 目前的快速開發(fā)平臺的一個共同特點是集中在單表的CRUD(Create Read Update Delete)上, 可以快速完成單表或主從表的增刪改查. 這本也是正確方向,畢竟目前系統(tǒng)開發(fā)中的大量工作都是重復(fù)性的簡單勞動, 但是一般系統(tǒng)設(shè)計中為了支持單表操作而在建模的時候引入了對表格模型過強的依賴,? 大大降低了系統(tǒng)的可擴展性. 另外現(xiàn)在一般web組件框架的設(shè)計往往是模仿桌面開發(fā)領(lǐng)域的組件模式, 希望提供完全黑箱式的組件調(diào)用方式, 這其實是放棄了web開發(fā)的優(yōu)勢.? 實際上借助于xml格式的規(guī)范性和簡單性, 我們完全可以提供更加強大的結(jié)構(gòu)組件, 并把組件封裝的能力開放給普通程序員.

    Feedback

    # re: [導(dǎo)入]銳道dorado  回復(fù)  更多評論   

    2006-04-02 21:47 by BlueDavy
    同意canonical的看法:
    "實際上借助于xml格式的規(guī)范性和簡單性, 我們完全可以提供更加強大的結(jié)構(gòu)組件, 并把組件封裝的能力開放給普通程序員"

    在此之上封裝一些項目中使用的通用組件,那么就很爽了,其實也就是說象Dorado這樣的東西重要的一個問題就在于缺乏一種擴展機制的設(shè)計,而在評判一個框架時,擴展性是其基本要素..

    # re: [導(dǎo)入]銳道dorado  回復(fù)  更多評論   

    2006-04-04 09:13 by wfeng007
    我們公司有個部門 就使用這個作為界面基礎(chǔ)的。。。。不過。。。性能好像有點問題。。。
    主站蜘蛛池模板: 亚洲黄网在线观看| 亚洲欧洲中文日产| 日日狠狠久久偷偷色综合免费 | 中文字幕在线观看亚洲日韩| 亚洲精品视频免费在线观看| 亚洲视频在线一区二区三区| **实干一级毛片aa免费| 亚洲性色高清完整版在线观看| **毛片免费观看久久精品| 亚洲成a人不卡在线观看| 91香蕉视频免费| 四虎必出精品亚洲高清| 免费黄色一级毛片| 牛牛在线精品观看免费正| 中文字幕日韩亚洲| 男人j进入女人j内部免费网站| 久久精品国产亚洲AV网站| 中国人xxxxx69免费视频| 激情亚洲一区国产精品| 国产麻豆免费观看91| 美国免费高清一级毛片| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久国产成人精品国产成人亚洲 | 亚洲成AV人片在线观看无| 99精品视频在线视频免费观看| 亚洲福利一区二区三区| 好男人视频社区精品免费| 色屁屁在线观看视频免费| 亚洲人成在线播放网站| 久久精品免费一区二区| 久久精品国产亚洲av瑜伽| 永久亚洲成a人片777777| 亚洲成人免费在线观看| 免费在线观看亚洲| 久久久久亚洲AV成人无码网站| 日本三级2019在线观看免费| 香蕉视频免费在线| 7777久久亚洲中文字幕蜜桃| 国产免费怕怕免费视频观看| 久久福利青草精品资源站免费| 亚洲成人激情小说|