基于GEF和EMF的JavaEE快速開發工具設計
作為Java語言的締造者,Sun公司在1999年底發布了企業級Java平臺J2EE――Java 2 Enterise Edition。隨著J2EE 1.5標準的發布,Sun將J2EE正式更名為JavaEE。JavaEE并非是一個產品,而是一系列技術和標準的集合。具體JavaEE平臺下的產品由各廠商實現,并遵循同一個標準。本文描述了一款基于GEF和EMF技術的JavaEE應用快速開發工具――jStudio,它可以快速、高效地自動生成基于Struts+Spring+Hibernate的JavaEE應用。該工具可以大幅度減少程序開發人員編寫重復性代碼的工作量,同時可提高代碼的質量,進而可縮短開發周期和降低開發成本。
1 GEF和EMF技術概述
GEF(graphical editing framework)和EMF(eclipse modeling framework)分別是Eclipse下的2個子項目,主要用于對桌面程序的開發。GEF是Eclipse提供的圖形編輯框架,GEF可以為用戶提供圖形化編輯模型,提升用戶體驗。EMF是Eclipse提供的模型驅動應用程序開發框架,可以產生代碼的框架。EMF可以基于XML Schema,UML或經過注釋的Java中指定的模型,創建Java代碼,實現圖形化的數據編輯、操縱、讀取和序列化。
用來描述EMF模型的模型叫作Ecore,本質上是UML類圖的子集,它是關于應用的類和數據的簡單模型。當建立Ecore后,EMF采用實現與接口相分離的設計,將Ecore中的每個類(Eclass)自動生成1個接口和1個實現類。
其中的接口都會繼承EObject這些EMF中的集接口,如同java.lang.Object在Java中的地位。EMF還為每個模型分別生成一個對應factory和package的接口和實現類。其中,**Factory繼承于EFactory,為模型中每個類的創建提供create***方法。在jStudio中,采用EMF實現業務模型對象建立和代碼生成,降低開發人員的工作量,提高效率,而且生成的代碼簡潔、高效。
2 快速開發工具的分析與設計
2.1 jStudio組成及功能
jStudio主要包含GUI(圖形界面)和SCAFFOLD(代碼框架)2部分。GUI是指工具的可視化和圖形化操作界面,主要采用GEF技術來實現,并且擴展Eclipse平臺中的工作臺、透視圖、主菜單和向導等擴展點,最終以Eelipse的RCP形式獨立地運行在操作系統之上,成為一個標準的桌面運用程序。jStudio的界面簡約、美觀,并具有良好的用戶體驗。SCAFFOLD是指工具生成基于Struts+Spring+Hibernate的代碼框架。生成的代碼包含JavaEE應用中頁面展示層、控制層、業務邏輯層和數據持久層這四層的標準代碼,實現對每一個模型的增刪改查功能。jStudio在功能方面主要包含環境配置、模型建立、代碼生成、頁面編輯、數據庫編輯和發布部署等功能,涵蓋了JavaEE應用開發的各項操作和步驟,開發人員在jStudio上就可以實現代碼從無到有,程序從設計到運行的全部過程。
評論