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

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

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

    Java富客戶端企業應用框架發布

    基于Java富客戶端的數據庫應用難于開發,難在哪里:界面開發是個大麻煩,如何快速方便的開發界面?
    如何處理界面的數據綁定?如何方便的與服務器端通訊?如何部署客戶端?這些基本的問題阻礙了Java富客戶端數據庫應用的推廣,soyframework的出現對這些問題和企業應用的各個方面問題給出了完善的解決方案。

    1.如何快速方便的開發界面?
     使用awt/swing來開發界面是比較麻煩的一件事情,基本上有兩種方法:
     a.手工編寫代碼設定布局管理器和繪制界面,這就要求開發人員對Swing的布局管理機制和控件非常的熟悉,難度較大。b.使用IDE提供的輔助設計界面的功能,主流IDE如:JBuilder,Eclipse的VE插件,NetBeans都有提供,其中NetBeans的界面設計功能無疑是最好的,但會生成大量的繪制界面代碼,用戶基本不能維護,只能靠NetBeans來維護。
    soyframework摒棄傳統的界面開發方式,使用組件化的方法開發界面,客戶端提供大量的表示層組件和控件,極大的方便了界面的開發,用戶只需使用框架提供的組件和調用API,框架會自動布局控件繪制界面。用戶無需依靠任何插件在快速開發的同時不失靈活性。
    表單開發的代碼示例:
        ModelForm form = new ModelForm(Orders.class);//構造訂單表單
        String hqlCS = "from ChainStore c where c.code like ?";
        
    //往表單加入文本控件,維護流水號
        form.appendWidget(new Text(0,"serialNO").setReadOnly(true));
        
    //往表單加入外鍵控件,維護所屬門店
        form.appendWidget(new Foreign(0,"chainStore",
                    hqlCS,
    "code,name","name"));
        
    //往表單加入日期時間控件,維護最遲配送時間
        form.appendWidget(new DateTime(0,"deliveryTime",true));
            
        form.appendWidget(
    new Text(1,"customerName",true));
        form.appendWidget(
    new Text(1,"customerAddress",true));
        form.appendWidget(
    new Text(1,"customerPhone",true));
        
    //    往表單加入下拉框,維護訂單狀態
        form.appendWidget(new List(2,"orderState",
                    OrderState.values(),
    true));
        
    //往表單加入數字控件,維護重量體積
        form.appendWidget(new Decimal(2,"quantity"));
        form.appendWidget(
    new Decimal(2,"weight"));

     以上代碼將生成如下表單:


     表格開發的代碼示例:  
    BaseHqlTable table = new BaseHqlTable(HqlTablepage.this, Orders.class) {
            
    //配置表格按鈕動作
            @Override
            
    protected BaseTableAction[] getAddationalActions() {
                
    return null;
            }
            
    //指定表格查詢的HQL語句,將訂單按照流水號升序排列
            @Override
            
    public String getHql() {
                
    return "FROM Orders o ORDER BY o.serialNO ASC";
            }
             
    //配置需在表格中顯示的訂單的屬性
            @Override
            
    public Column[] getColumns() {
                
    return new Column[]{
                    createColumn(
    "serialNO"),
                    createColumn(
    "createdUser"),
                    createColumn(
    "customerName"),
                     
    //訂單狀態列,使用枚舉格式化器
                    createColumn("orderState",new
                     Formatter.getEnumFormat(OrderState.values())),
                    createColumn(
    "quantity"),
                    createColumn(
    "weight"),
                    createColumn(
    "volumn"),
                    createColumn(
    "chainStore.name"),
                     
    //生效日期,使用日期格式化器
                    createColumn("activedDate",
                     Formatter.getDateFormat()),
                     
    //最遲配送時間,使用日期時間格式化器
                    createColumn("deliveryTime",
                     Formatter.getDatetimeFormat()),
                    createColumn(
    "deliveried"),
                    createColumn(
    "remarks"),
                };
            }
            
        };
        table.showDefaultButton  
    = false;
        table.showScrollBar 
    = true;

      以上代碼將生成如下表格:

    2.如何處理界面的數據綁定?
    傳統使用PB,Delphi,VB等工具在開發數據庫應用時如果想插入一條記錄,無非是千篇一律的遍歷表單中所有的控件獲得最終用戶的輸入,拼接SQL語句,在客戶端直接連接數據庫,執行SQL語句,修改記錄時需要將數據查詢出來然后將數據綁定到對應的控件中。使用java開發也不例外。
    soyframework提出新解:soyframework分為服務器端和客戶端兩部分,服務器端使用Spring+hibernate的輕量級架構,在客戶端只需調用IModel ormMappingModel = ModelForm.triggerCommit()將表單的輸入值綁定到業務對象(ORM映射對象)中,調用Server.store(ormMappingModel)即可將業務對象序列化到服務器端保存。修改時調用ModelForm.bindModel(IModel ormMappingModel)將業務對象輕松綁定到表單進行修改。極大的方便了數據綁定。
    3.如何方便的與服務器端通訊?
    soyframework底層使用Spring極力推薦的httpinvoker來遠程調用服務器端方法,經soyframework封裝后在客戶端調用服務器端方法如同調用本地方法。
    4.如何部署客戶端?
    soyframework使用java web start來啟動客戶端,啟動客戶端時自動檢測客戶端是否安裝JRE,如果沒有安裝會自動為客戶端下載并安裝JRE客戶端。需升級客戶端時只需在服務器端將客戶端的依賴包更新,客戶端便會自動更新,盡量做到客戶端的零部署。
    以上問題的解決為Java富客戶端的數據庫應用掃清了障礙,但是一個完整的企業應用框架需要解決的問題遠不止這些,表現層開發,業務邏輯開發,報表,權限,日志,國際化,部署等一個都不能少,而這一切soyframework都給出了完善的解決方案。
    Java富客戶端企業應用框架在線演示中心:http://www.soyframework.com

    posted on 2008-03-05 14:57 knight-glory-ggg 閱讀(4122) 評論(1)  編輯  收藏

    評論

    # re: Java富客戶端企業應用框架發布 2011-11-29 20:02

    請問soyframework那里還有下載,官網打不開了  回復  更多評論   


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


    網站導航:
     
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    搜索

    最新評論

    主站蜘蛛池模板: 亚洲精品无码不卡在线播放HE| 亚洲成A人片在线观看无码3D| 亚洲欧洲日产国码无码网站 | 一个人免费观看www视频| 日本黄色免费观看| 亚洲AV色欲色欲WWW| 国产精品公开免费视频| 日日摸日日碰夜夜爽亚洲| 国产国产人免费视频成69大陆| 亚洲欧美国产欧美色欲| 国产成人高清精品免费软件| 国产天堂亚洲国产碰碰| 亚洲精品成人久久久| 国产国产人免费人成成免视频| 亚洲亚洲人成综合网络| 久久精品中文字幕免费| 亚洲国产成人精品无码一区二区| 无码人妻一区二区三区免费| 337p日本欧洲亚洲大胆人人 | 在线a免费观看最新网站| 久久亚洲最大成人网4438| 午夜无遮挡羞羞漫画免费| 国产成人亚洲综合无| 国产综合精品久久亚洲| 久久免费美女视频| 亚洲人成网站在线观看播放青青| 成人免费无码大片a毛片| 无遮挡呻吟娇喘视频免费播放| 国产AⅤ无码专区亚洲AV| 91精品国产免费入口| 亚洲国产精品无码观看久久| 亚洲黄黄黄网站在线观看| 伊人久久免费视频| 亚洲经典千人经典日产| 亚洲情XO亚洲色XO无码| 无码人妻一区二区三区免费手机| 黄床大片30分钟免费看| 久久亚洲精品无码AV红樱桃| 午夜男人一级毛片免费| a毛片在线看片免费| 亚洲性色AV日韩在线观看|