EDN China > 设计实例 > EDA工具与服务 > EDA工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于GEF和EMF的JavaEE快速开发工具设计

广东交通职业技术学院 万东?? 2010年07月21日 ?? 收藏0

  0 引? 言

  作为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上就可以实现代码从无到有,程序从设计到运行的全部过程。

  2.2 jStudio整体流程

  jStudio的操作步骤包含新建模型文件、创建模型、生成代码、生成数据库及发布部署等,具体操作流程如图1所示。通过图1中所示的几步操作,开发人员就可以在不写一行代码的基础上,快速开发出一套包含每个模型对象增删改查功能的JavaEE应用。

操作流程

  2.3 jStudio代码生成机制

  jStudio的代码生成主要由EMF的代码生成技术来实现。通过对JavaEE的应用,创建一个源文件,作为代码生成和业务模型对象建立的基础和输入接口。在这文件上通过 jStudio提供的图形编辑器创建JavaEE应用的众多业务模型对象,然后jStudio在后台把它转换成EMF的Ecore模型,最后再调用EMF 的代码生成功能为每个业务模型对象生成该对象的JSP页面展示层、Struts控制层、Spring业务逻辑层和Hibernate数据持久层的全部标准 JavaEE代码。这些生成的代码编译、发布和运行后,将为每个业务模型对象提供数据增加、删除、编辑和查看等功能。另外,jStudio将根据数据源为每个模型自动生成对应的数据库表,减少了开发人员创建数据库表的工作量。

  3快速开发工具的实现与运用

  3.1? 工具的实现

  3.1.1? 图形界面的实现

  jStudio是可视化、图形化的编辑器,其图形界面主要通过以下几方面来实现:


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

GEF? EMF? JavaEE? 桌面程序?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈