更新時間:2006-11-07 11:00
關 鍵 詞:Java 開源 J2EE 架構
閱讀提示:本文簡要介紹了J2EE的架構,包括Spring Framework、Expresso Framework、Dinamica Framework、EJOSA、Jeenius Framework、jGuard、JdonFramework、realMethods、Bright Side Framework、OpenXava、karma、Keel Framework、Seam和CUBA。
Spring Framework
Spring是一個解決了許多在J2EE開發中常見的問題的強大架構。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的資料訪問抽象,包括簡單和有效率的JDBC架構,極大的改進了效率並且減少了可能的錯誤。Spring的資料訪問架構還整合了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的交易管理抽象,它能夠在各種底層交易管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。Spring提供了一個用標準Java語言編寫的AOP架構,它給POJOs提供了聲明式的交易管理和其他企業事務--如果你需要--還能實現你自己的aspects。這個架構足夠強大,使得應用程式能夠拋開EJB的複雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器整合的強大而靈活的MVC Web架構。【SpringIDE:Eclipse平台下一個輔助開發外掛程式】。
Expresso Framework
Expresso Framework是一個基於開放標準的J2EE體系架構,可以讓開發人員專註於應用程式邏輯。它是一個可擴充Java Server應用程式架構組件庫,用於建立基於開放標準的資料庫驅動的Web應用程式。Expresso和Apache Jakarta Struts整合在一起,後者強調錶達和應用的配置並為Expresso提供了一個功能強大的標籤庫。
Dinamica Framework
這個架構是基於MVC設計模式。但其它一些MVC架構相比較,它的各部分體現出了高度的重用性,這樣將消除你不必要多餘的設計。各任務的調度使用簡單的XML設定檔與模板使它們之間的邏輯完全分開。Dinamica沒有使用任何範本語言與jsp技術,而是使用特殊的標記來代替真正的資料。
EJOSA
EJOSA,企業級開源架構,利用Enhydra和JOnAS 為開發人員提供一個易用的開發架構。實際上使用EJOSA就是使用Enhydra和JOnAS ,因為他們都是EJOSA的主要組件。EJOSA作用是把一些組件都預先配置,並提供一個簡單明了的目錄結構,目的是減輕開發的難度,讓開發人員把重點放在業務處理上。
Jeenius Framework
利用Jeenius架構可以很容易開發J2EE應用程式。Jeenius主要關注的構建是基於Web的應用程式。
jGuard
jGuard這個項目是用Java開發的,提供一個基於jaas (java authentication and authorization security)的安全架構。這個架構可以用於Web應用程式,可以解決簡單的存取控制問題。
JdonFramework
Jdon Framework(簡稱JF)是一套適合開發中小型J2EE應用系統的快速開發架構、也是一套Ioc/Aop架構、更是一套符合當前國際水平的、面向組件開發的、國人擁有自主產權的中介軟體產品。中國第一個開源架構,國內先進的組件、構件工具。
Jdon架構是快速性和靈活性相結合的產物,體現了軟體開發既快又好的特點,對於小項目,使用Jdon架構可以開發出高品質可擴充的好的系統;對於大項目,使用Jdon架構可以更快地開發出系統。
從技術原理上講,Jdon架構創新地綜合了域驅動開發架構(快)和Ioc/AOP構件管理(好)兩種新技術。增刪改查和批量分頁查詢是每個系統的基礎功能,Jdon架構提供了這兩個基礎功能快速開發和可靠效能保證,Jdon Framework = Ioc + AOP + CRUD + Cache:
Jdon架構給你的J2EE應用系統帶來完整的高品質解決方案:
High-Availability(高可用性):在J2EE多層分離完全解耦的前提下,提供了資料增刪改查(crud)快速開發方式,程式員需要編寫的crud代碼很少,表現層crud功能實現通常只需要配置就可以實現,No Code,常式。
Scalability(延展性):使用本架構,可以開發出兩種系統:真正輕量的Web應用系統或Web+EJB應用系統;無縫同時支援兩種服務架構:EJB Session Bean和POJO Service(Web應用),在不改變代碼的情況下,可以很方便地將一個Web系統升級到Web+EJB系統,Jdon協助你實現應用系統的延展性。
Performance(良好的效能):Jdon架構內建Web緩衝最佳化功能提高了大批量資料查詢速度。使用JdonFramework開發J2EE應用系統,幾乎無需考慮效能設計,也無需擔心記憶體流失或並發訪問,對Model資料通過緩衝攔截器提升效能;對POJO無態服務使用對象池攔截器;也實現了POJO的有態服務攔截器。
Transparency(透明性):Jdon Framework的組件管理使用Ioc容器實現,所有組件包括架構組件和應用組件都是可配置,甚至可替換的。它的Ioc/AOP實現簡單而強大。Ioc模式採用微容器PicoContainer實現,AOP功能是可分解的,通過緩衝最佳化了動態代理的運行效能,Jdon架構AOP可支援所有遵循繼承Aopalliance(如Spring)的攔截器。
Extendable(擴充性):它是可伸縮的、動態配置的,應用者可以將自己系統中的通用功能從具體系統中抽象出來,加入Jdon架構微容器中,從而逐步形成自己的行業專業開發架構。
realMethods
realMethods是基於J2EE設計模式核心的應用程式框架,支援BMP,CMR/CMP 2.0,安全,日誌,串連池,Web服務等更多技術。
Bright Side Framework
Bright Side Framework 它同時提供兩種類型的用戶端來訪問J2EE 應用。一.是基於HTTP 協議的Java/Swing client ,二.是一個Struts client。它同時提供了一個諮詢論壇和線上 demo 應用BookStore。
OpenXava
OpenXava是一個讓使用XML與Java來開發J2EE商務應用程式變得簡單的架構。它目前支援IBM WebSphere應用伺服器,但在開發過程中可以使用JBoss.OpenXava1.1版本支援以下特點:
◆支援WebSphere 5.0, 5.1和6.0, JBoss 3.2.x和4.0.x包括native EJB CMP2 EntityBeans
◆它已經被用在許多商業項目上
◆易用,使用它可以獲得高的開發效率
◆靈活:可以在任意位置插入自己的功能。
◆基於商業化組件的概念
◆完全地MVC
◆使用有著成熟商務應用程式豐富特性的Web使用者介面
◆可產生整個J2EE應用程式
◆它應用到的開源項目有:Ant, JUnit,JasperReports,TL,XDocLet,Hibernate等
karma
karma是一個輕量級並且便於使用的J2EE應用程式架構。當前它包含“COMMON”與“JCR”這兩個組件。“COMMON”組件是整個架構的核心並且基於mvc模式。這個組件易於測試(提供mock對象供測試),很少的XML描述,易於學習因為它使用簡單的POJO動作(actions),攔截器(interceptors)和過濾器(filters) 還提供對AJAX的支援。
“JCR”組件是一個持久層架構但它沒有XML對應檔並能與其它web架構相結合如:Spring MVC架構。
Keel Framework
Keel Framework是一個把專註於應用程式開發某方面(如:使用者介面,資料庫,訊息,安全等等)的開源或商業的架構以外掛程式的方式整合在一起的元架構。Keel圍繞三種核心模式進行構建:
1.COP模式(Component Oriented Programming:面向組件編程)這就為應用程式提供了一個靈活的外掛程式(plugging/unplugging)架構。
2.SOC模式(Separation of Concerns:關注分離)這允許使用者執行/控制/修改任何組件的功能而不會影響到其它組件。
3.IOC模式(Inversion of Control:反轉控制)。
Keel Framework當前已經集合了Avalon,Cocoon,Struts,Hibernate,Velocity,WebWork2,Axis, Maverick,JBoss,OpenJMS,Turbine,Lucene,BSF,Jelly,JFreeChart,Quartz等項目!這有一篇英文的簡介文章Keel Framework。
Seam
Seam是一個Java EE 5架構。它通過把JSF與EJB3.0組件合并在一起,從而為開發基於Web的公司專屬應用程式程式提供一個最新的模式。Seam可以讓你把EJB組件直接綁定到JSF頁面。Seam還可協助你把jBPM流程定義直接地整合到你的應用程式中。
CUBA
CUBA:Component Unification Base是一個非常小而且便於使用的開發架構用於設計基於組件(真正可複用、高效的服務端組件)的J2EE應用程式。利用此架構開發的應用程式可以作為EJB2.1或EJB3.0應用運行,或AXIS web service或stand-alone J2SE程式。 CUBA提供一個面向EJB3的組件模型、一個描述符(descriptor)和代碼產生器來為多種運行環境產生不同的適配器。