EJB,J2EE失樂園

          輕量級j2ee開發(fā)設(shè)計開發(fā)探討

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            3 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          2005年12月27日 #

          位于尤他州Midvale的Burton Group公司的高級分析師Richard Monson-Haefel認為,當提到被大肆宣傳的富互聯(lián)網(wǎng)應(yīng)用(Rich Internet Application ,RIA)技術(shù)時,更少的才是更好的。這種技術(shù)能夠大大促進用戶的Web體驗,因為不必再從服務(wù)器刷新頁面,Ajax的風(fēng)格是單頁面接口。但他在最近關(guān)于Ajax的電視短片中說過度使用會導(dǎo)致導(dǎo)航困難。

            他說,Ajax比起其它RIA技術(shù)的主要優(yōu)點是無縫與HTML集成,因此它可以大量使用而不需要改變現(xiàn)有Web內(nèi)容。“把它想象成Web站點的調(diào)料。這樣做的風(fēng)險非常小。Ajax還是后臺無關(guān)且不需要任何插件。與其它RIA技術(shù),例如Macromedia的Flash等聯(lián)合使用,Ajax會是一個強大的工具。”

            但是,該技術(shù)還沒有成熟,而且工具和框架還沒有得到支持。Monson-Haefel說:“如果你不喜歡用工具集和類庫,Ajax就不適合你。”

            Burton Group定義“富”互聯(lián)網(wǎng)應(yīng)用是能夠在標準HTML框架和鏈接之上提供功能的。Google Maps就是這樣一個優(yōu)秀的Ajax例子。

            與Ajax最近被才提出不同,JavaScript已經(jīng)存在很久了。它基于JavaScript/ECMAScript,、級聯(lián)樣式表、 文檔對象模型以及XML HTTP請求。最初,很難跨越不同瀏覽器來設(shè)計Ajax風(fēng)格的應(yīng)用程序。但現(xiàn)在,主流瀏覽器已經(jīng)演變到支持微軟技術(shù)的實現(xiàn)了,并成為了最普通的特征。

            今天,占主導(dǎo)地位的RIA技術(shù)是Macromedia的Flash/Flex。其它RIA技術(shù)包括為Microsoft Windows Presentation Foundation開發(fā)的用戶接口標記語言,稱為XAML(Extensible Application Markup Language,可擴展應(yīng)用程序標記語言)。還有Mozilla的基于XML的用戶接口語言XUL,droplets和Java applets以及微軟將要推出的Windows Presentation Foundation/Everywhere (WPF/E)。

            Monson-Haefe說:“Flash是很好的技術(shù),適合于豐富動畫與圖形,但Flash好象是一個小池塘中的大魚。現(xiàn)實市場現(xiàn)在還沒有那么大,因此隨著市場變大它是否能占領(lǐng)市場還是一個疑問。而微軟將推出的WPF/E會是一個有力的競爭者。”

            微軟還計劃推出一個Ajax框架擴展,稱為Atlas。Monson-Haefel認為它非常有前途。他說,Ajax的其它集成開發(fā)環(huán)境還沒成為主流。這包括Morfik Technology公司的Javascript Synthsis Technology (JST)、JetBrains公司的IntelliJ IDEA 5.0、Tibco Software公司的Tibco General Interface (GI)、JackBe公司的Visual GUI Builder、Backbase B.V.公司的Backbase以及開源的Ruby on Rails框架。

            他說:“它已經(jīng)內(nèi)建了Ajax功能,使你能夠用Ruby編程語言編寫Ajax應(yīng)用程序。”

            Monson-Haefel說:“用于編寫Ajax應(yīng)用的Tibco工具非常好。JackBe也是相當好的RIA技術(shù)而Backbase或許是現(xiàn)在更好的一個。IDE的優(yōu)點就是所見即所得的開發(fā)方式,但你購買了他們的GUI,這樣你也受到觀感上的束縛。”

            除了IDE和框架擴展,Monson-Haefel還提到可用的Ajax UI工具和遠程工具還有很多,包括私有的和開源的產(chǎn)品。他說,只有一部分。根據(jù)Burton Group公司最近的一項調(diào)查,在488位Ajax開發(fā)人員中,最流行的工具集、類庫和框架擴展是有MIT風(fēng)格證書的JavaScript框架——Prototype,JavaScript 類庫——Script.aclo.us,有Apache 2.0證書的Direct Web Remoting,有Academic Free License v 2.1的Dojo UI工具集以及Ruby on Rails。

            至于數(shù)據(jù),對Ajax的關(guān)注主要集中在B2C的Web站點,但Monson-Haefel指出Ajax實際上與Web服務(wù)和SOA有緊密聯(lián)系,它能影響企業(yè)門戶。

            “一些人相信Ajax將成為門戶解決方案的主要復(fù)蘇因素。門戶被宣傳了很久,但實際上它并非所謂的銀彈。而Ajax表示層與門戶的結(jié)合將促進所有用戶的體驗。”

            Monson-Haefel警告說Ajax很容易被濫用。“假如開發(fā)人員不理解使用理論,他們就會胡亂應(yīng)用它而且人們會刻意避開JavaScript。我的推理來自瀏覽器彈出窗口。這種技術(shù)源于一種可用特性,但由于被濫用它已經(jīng)成為Web技術(shù)中的下等公民,人們也不再使用它了。”

            他的建議是應(yīng)該謹慎的實現(xiàn)Ajax解決方案。

          posted @ 2005-12-27 11:35 EJB,J2EE失樂園 閱讀(591) | 評論 (0)編輯 收藏

          2005年12月26日 #

          通過兩個多月緊張激烈的角逐,"原創(chuàng)技術(shù)高手"賽事已經(jīng)告一段落,受到了來自系統(tǒng)集成、軟件開發(fā)、產(chǎn)品銷售、業(yè)務(wù)咨詢等多個領(lǐng)域的朋友的熱情參與。由BEA專家組成的評委會,參考網(wǎng)友們和斑竹的意見,結(jié)果見http://dev2dev.bea.com.cn/bbs/paihang/2004121500.jsp,我有三篇文章入圍,其中《誰動了我的EJB?-J2EE 開發(fā)應(yīng)用框架反思》獲獎,

          得獎理由:
          有創(chuàng)意,實實在在的原創(chuàng);有深度。

          對我有較大觸動,希望自己能更加努力!加油!

          posted @ 2005-12-26 17:33 EJB,J2EE失樂園 閱讀(288) | 評論 (0)編輯 收藏

          在大多數(shù)項目中,在特定的時間或頻率下你需要完成一些特定的任務(wù)。在本文中我們將演示如何用標準的Java Timer API來實現(xiàn)。

          大多商業(yè)應(yīng)用都會用報表和統(tǒng)計,很難想象沒有這些幫助我們分析未來趨勢的數(shù)據(jù),我們還要這系統(tǒng)干什么。問題是如此多的數(shù)據(jù)我們該如何觸發(fā),如果處理對系統(tǒng)性能影響不大。比較好的方式是避開應(yīng)用高峰,讓服務(wù)器在閑暇時完成這些事。

          下面是我的程序:

          package net.nighttale.scheduling;
           
          /**
           * @author kevin zhou
           *
           * 在Java中實現(xiàn)Job Scheduling
           * 創(chuàng)建日期 2004-7-13
           */
          import java.util.TimerTask;
          import java.util.Calendar;
          import java.util.Date;
          import java.util.Timer;
           
          public class ReportGenerator extends TimerTask{
           
              /* (非 Javadoc)
               * @see java.util.TimerTask#run()
               */
              public void run() {
                  System.out.println("Generating report");
           
                 
              }
           
          }
          class MainApplication {
           
            public static void main(String[] args) {
              Timer timer=new Timer();
              Calendar date = Calendar.getInstance();
              date.set(
                Calendar.DAY_OF_WEEK,
                Calendar.SUNDAY
              );
              date.set(Calendar.HOUR, 0);
              date.set(Calendar.MINUTE, 0);
              date.set(Calendar.SECOND, 0);
              date.set(Calendar.MILLISECOND, 0);
              // Schedule to run every Sunday in midnight
              timer.schedule(
                new ReportGenerator(),
                date.getTime(),
                1000 * 60 * 60 * 24 * 7
              );
            }
          }
          我先簡單解釋一下,在我們的例子中ReportGenerator繼承java.util.TimerTask,它又繼承了java.lang.Runnable,我們需要覆蓋run()方法。
          調(diào)用時我們用schedule()方法讓它每周日0點0分執(zhí)行,避開服務(wù)器高峰,實現(xiàn)Job Scheduling的目的。
          posted @ 2005-12-26 17:18 EJB,J2EE失樂園 閱讀(448) | 評論 (0)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 遂宁市| 横山县| 邢台县| 宁波市| 盐池县| 扶绥县| 南通市| 忻城县| 博罗县| 东乡族自治县| 稻城县| 商洛市| 江安县| 保亭| 共和县| 博客| 嘉义市| 建水县| 龙胜| 美姑县| 武平县| 长子县| 阜康市| 吉首市| 紫金县| 伊金霍洛旗| 东城区| 上高县| 景洪市| 新巴尔虎左旗| 乌审旗| 万州区| 高陵县| 太谷县| 突泉县| 涞水县| 瓦房店市| 招远市| 安丘市| 盘山县| 黄浦区|