WebLogic Workshop 8.1包括了一個應用框架和一個IDE來支持使用頁面流、控件和帶注釋的web服務開發企業應用程序。本文將介紹Workshop 8.1運行時與Apache Beehive項目之間的一些區別。
自從2003年WebLogic Workshop 8.1應用框架發布以來,它已經經歷了重大的變化。更值得注重的是,BEA將該框架作為蜂巢計劃(Beehive)捐獻給了Apache軟件基金會。這是在2004年5月公布的,此后,Beehive就一直處于Apache孵化器中,直到2005年8月它成為一個頂級Apache項目。這意味著其代碼、社區、bug、開發流程以及項目的未來現在都對整個企業java社區公開了。然而,變化并未結束,因為與此同時Beehive也已經獲得了巨大的技術進步。
與Workshop 8.1相比,Beehive框架中的技術已經發生了重大變化?,F在Beehive控件包含在一個更為輕量級、更易于測試且更靈活的容器中,而仍然保持了一個簡單的元數據驅動的用戶模型。NetUI具有更豐富的特性,而且由于在編程模型和表示層所做的改進,它也更易于配置了。從Workshop 8.1到Beehive最為明顯的變化可能是從Javadoc元數據標簽到與標準兼容的Java 5.0注釋的轉換。接下來,我們將深入探討Beehive的每一部分。
Beehive中的Controls框架是一個更為通用的元數據驅動的POJO框架。該框架被分為兩部分——一個核心框架,它支持開發基于JavaBean的注釋,以及一組系統控件和服務,用于特化核心框架以抽象對JDBC數據源、JMS隊列和EJB之類的J2EE資源以及事務和安全性服務的訪問。
Workshop 8.1控件運行在EJB容器內部,而Controls核心框架不再依靠于J2EE。該框架還可以在J2EE容器外進行測試,這意味著可以無需啟動應用容器而對業務邏輯和資源訪問進行單元測試。
Controls核心框架支持一個控件接口與其一個或多個實現之間的松散耦合——可以動態地將一個實現綁定到接口上。此外,現在可以在運行時重寫應用于控件的元數據,以便更輕松地配置控件在不同的環境中執行。例如,可以通過這個可插入的元數據機制,在運行時重寫數據庫控件的JNDI數據源名稱。
控件的實例化可以使用聲明式(使用@Control注釋)和編程式(使用JavaBean API調用)的方式??丶踔量梢酝ㄟ^標簽用于jsp容器中。在Beehive中,控件方法既不是隱式進行處理也不是隱式進行保護的。這些功能可由開發人員根據需要添加。
系統控件是對Controls核心框架的擴展,它們提供了對各種J2EE技術的抽象,包括EJB、JMS和JDBC。假如您熟悉Workshop 8.1中的內置控件,您就很可能會熟悉它們在Beehive中的后繼者。
例如,Beehive數據庫控件仍然對方法設置了一個包含對方法參數的動態綁定的SQL語句,并映射結果集到返回類型,但是現在又新增了一些其他的特性,比如可插入的結果集映射、批量更新、生成鍵的檢索、容器外測試等等。
NetUI中的頁面流和UI框架也得到了發展。頁面流支持許多新特性,包括:
頁面流與控件之間的架構差異也得到了調整,以便控件可以包含在頁面流內部,就像包含在Web服務內部一樣。例如,當Beehive數據庫控件向頁面流返回一個JDBC結果集,結果集不會被關閉。
其用戶界面技術,即NetUI JSP標簽,現在支持可驗證的Html 4.01和XHTML 1.0 transitional / strict呈現。JSP 2.0表示語言幾乎被所有的JSP標簽屬性用于數據綁定。這向NetUI標簽用戶公開了JSP 2.0容器的表示語言、隱式對象以及JSP函數的全部功能。新增了一個數據網格,它呈現隨機的數據集,比如對象數組、xmlBean、行集和結果集。該數據網格還支持一個靈活的排序、篩選和分頁模型。還有一個新增的支持Ajax的HTML樹。
Beehive中的另一個重要變化是項目模型——沒有了!Beehive源文件只是帶注釋的Java 5.0,而沒有任何定制的文件擴展,是純粹的java??蚣軟]有對使用它的項目的結構做任何假設,它可以用于構建web應用程序、web服務、企業應用程序,甚至是可以在Java Swing應用程序內部運行的控件。Beehive還提供了一組Ant 1.6 宏指令,用于構建控件和頁面流,這些宏指令可以隨機組合以支持任一種結構的項目。最后,構建支持Beehive的應用程序只需要Java 5.0 JDK中可用的工具而不需要使用IDE。雖然如此,使用Eclipse以及其他工具無疑會使開發工作更輕松。
新聞熱點
疑難解答