论文部分内容阅读
摘要:利用Eclipse插件的可扩展机制开发了JTang-Eclipse插件。JTang-Eclipse插件是一个将JTang服务器集成到Eclipse上的工具,遵循Eclipse插件开发平台提供的框架,支持服务器生命周期管理,可以在JTang上部署J2EE archive包,并提供打包、部署描述符自动生成和JSP编译等辅助J2EE开发的功能。
关键词:Eclipse;插件;J2EE;PDE;API;JTang
0 引言
Eclipse是一个开放的、通用的、可扩展的集成开发环境,它为创建可扩展的集成开发环境提供了一个开放源码的平台Ⅲ。这个平台允许任何人构建与环境和其它工具无缝集成的工具。JTang-Eclipse插件可以使用户在Eclipse平台上方便地进行启动、关闭JTang服务器,自动生成描述符,将指定对象打包,在服务器上进行动态部署或取消部署等操作,大大提高了基于JTang应用服务器的开发效率。
1 基于插件的体系结构与插件的工作原理
1.1体系结构
图1 Ecfipse体系结构
Eclipse最具特色的地方就是它的插件体系结构,如图1所示。工具与Eclipse无缝集成的关键就是一插件。除小型的运行时内核(Platform Runtime)之外,Eclipse中所有东西都是由插件构成的。一个插件可以声明许多指定的扩展点和任意个在其它插件中的扩展点的扩展。插件的扩展点也能够被其它的插件扩展。工作区(Workspace)和工作台(Workbench)是Eclipse平台的两个必备的插件——它们给大多数插件提供了扩展点,也就是接口。Workspace是负责管理用户资源的插件:包括用户创建的项目和项目中的文件等。Workbench为Eclipse提供用户界面,它为添加用户界面和组件提供了扩展点,同时也提供了SWT和JFace。SWT是Java的Swing/AWT GU lAP I的非标准替代者,JFace则建立在SWT基础上,包括图像、工具箱、字体对话框、参数选择、向导框架、进度条等,帮助系统定义插件扩展点,提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。总之,在Eclipse平台上,可以以插件的形式开发出各种功能构件并集成到Eclipse平台中,下面介绍的JTang-Eclipse插件就是如此。
1.2插件的工作原理
Eclipse系统启动时,其运行时内核会启动平台的基础部分查找所有可用的插件,读取其插件的声明文件——Manifest,并在内存中构建一个插件注册表。在Eclipse启动后,其他任意插件都不能添加进来。
每个插件都有一个名为plugin.xml的Manifest文件,声明了它同其它插件的互连关系。一个扩展点可以声明在扩展中使用的附加的xml元素类型,它允许提供扩展点的插件与声明扩展点的插件相互交流信息。此外,Manifest文件不需要激活提供扩展的插件或者装载任意代码,它可以从插件注册表获得。这个属性是相当关键的,特别是对于支持大量插件的安装,但是这种情况仅在用户会话中需要。使用基于xml插件的Manifest也能更容易地开发支持创建插件的工具,PDE(Plug-InDevelopment Environment)就是其中一个实例。
2 JTang-Eclipse插件的体系结构及其功能模块
可插拔的Eclipse提供的插件运行环境使得插件的安装和卸载十分方便。它具有可扩展、各模块功能相对独立等特性,未来要添加功能只要加入相应的模块即可。
JTang-Eclipse插件正是利用Eclipse插件开发环境提供的扩展点和API的这些特性,通过扩展其扩展点而实现其强大功能的。其插件的体系结构如图2所示。
图2 JTang-Eclipse插件的体系结构
JTang-Eclipse插件为JTang服务器提供了以下接口:J2EE、Xdoclet、Packaging、Deployer、Launcher。相应地分为五个功能模块。
服务器生命周期管理提供配置缺省服务器的preference页面,在Eclipse界面中快速启动、关闭和停止JTang应用服务器,提供生命周期管理的参数配置及存放功能。服务器启动配置中需要JTang服务器的代码路径以启动服务器。
J2EE提供EJB组件和Web组件等J2EE相关项的生成向导、部署描述符的自动生成、WebServices的生成向导、JSP编辑器、xml编辑器等功能的模块。
XDoclet提供生成描述符的preferences配置页面,对于给定的EJB、Servlet,可以根据preferences配置的任务及其设置的相关属性值,自动生成部署描述符及其他的相关文件。生成部署描述符时首先需要得到JTang特有的部署描述符的dtd文件。
打包提供打包的preferences配置页面,根据用户preferences的配置,把用户指定的文件、文件夹打到archive文件中。
部署提供部署路径设置的preference页面和查看资源是否已被部署以及被部署到部署路径的property页面。实现将archive文件放到指定的部署路径下、将改动过的archive文件重新放到原部署路径下、将archive文件从部署路径下删除的功能,等待扫描后被deploy、redeploy或者undeploy。本插件在部署时只是将要部署的archive文件复制到部署路径,反部署时是将要撤销部署archive文件从部署路径删除。然后由JTang服务器的kernel模块来扫描部署路径并进行真正的部署或撤销部署。所以这里在Eclipse界面上进行的deploy、redeploy或者undeploy都需要kernel模块的配合才能完成。部署和服务器启动子模块相对于工程属性拥有影响全局的属性,这些preferences的配置在windows-preference页面进行。
利用插件的可扩展机制开发的JTang-Eclipse插件系统具有如下特性:
易用性JTang-Eclipse插件提供了属性设置和功能使用的图形界面,使用方便,界面风格统一。
扩展性各功能模块之间相对独立,新的功能模块可以轻松地添加到现有地体系中而无需对已有模块做较大的修改。
便利性提供大量辅助性功能,如自动生成部署描述符,自动进行JSP编译等,用户只需进行简单的配置。
安装卸载方便安装卸载只需在特定的目录下做简单的拷贝和删除,不会对系统其他部分造成影响,系统的稳定性得以增强。
3 结束语
Eclipse是功能强大的开发平台,它的PDE(PluginDevelopment Environment)为用户提供的了一系列扩展点。JTang-Eclipse插件通过扩展这些扩展点将JTang服务器集成到Eclipse平台上,各模块独立实现自己的功能,为高效地进行开发提供了有力的工具。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:Eclipse;插件;J2EE;PDE;API;JTang
0 引言
Eclipse是一个开放的、通用的、可扩展的集成开发环境,它为创建可扩展的集成开发环境提供了一个开放源码的平台Ⅲ。这个平台允许任何人构建与环境和其它工具无缝集成的工具。JTang-Eclipse插件可以使用户在Eclipse平台上方便地进行启动、关闭JTang服务器,自动生成描述符,将指定对象打包,在服务器上进行动态部署或取消部署等操作,大大提高了基于JTang应用服务器的开发效率。
1 基于插件的体系结构与插件的工作原理
1.1体系结构
图1 Ecfipse体系结构
Eclipse最具特色的地方就是它的插件体系结构,如图1所示。工具与Eclipse无缝集成的关键就是一插件。除小型的运行时内核(Platform Runtime)之外,Eclipse中所有东西都是由插件构成的。一个插件可以声明许多指定的扩展点和任意个在其它插件中的扩展点的扩展。插件的扩展点也能够被其它的插件扩展。工作区(Workspace)和工作台(Workbench)是Eclipse平台的两个必备的插件——它们给大多数插件提供了扩展点,也就是接口。Workspace是负责管理用户资源的插件:包括用户创建的项目和项目中的文件等。Workbench为Eclipse提供用户界面,它为添加用户界面和组件提供了扩展点,同时也提供了SWT和JFace。SWT是Java的Swing/AWT GU lAP I的非标准替代者,JFace则建立在SWT基础上,包括图像、工具箱、字体对话框、参数选择、向导框架、进度条等,帮助系统定义插件扩展点,提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。总之,在Eclipse平台上,可以以插件的形式开发出各种功能构件并集成到Eclipse平台中,下面介绍的JTang-Eclipse插件就是如此。
1.2插件的工作原理
Eclipse系统启动时,其运行时内核会启动平台的基础部分查找所有可用的插件,读取其插件的声明文件——Manifest,并在内存中构建一个插件注册表。在Eclipse启动后,其他任意插件都不能添加进来。
每个插件都有一个名为plugin.xml的Manifest文件,声明了它同其它插件的互连关系。一个扩展点可以声明在扩展中使用的附加的xml元素类型,它允许提供扩展点的插件与声明扩展点的插件相互交流信息。此外,Manifest文件不需要激活提供扩展的插件或者装载任意代码,它可以从插件注册表获得。这个属性是相当关键的,特别是对于支持大量插件的安装,但是这种情况仅在用户会话中需要。使用基于xml插件的Manifest也能更容易地开发支持创建插件的工具,PDE(Plug-InDevelopment Environment)就是其中一个实例。
2 JTang-Eclipse插件的体系结构及其功能模块
可插拔的Eclipse提供的插件运行环境使得插件的安装和卸载十分方便。它具有可扩展、各模块功能相对独立等特性,未来要添加功能只要加入相应的模块即可。
JTang-Eclipse插件正是利用Eclipse插件开发环境提供的扩展点和API的这些特性,通过扩展其扩展点而实现其强大功能的。其插件的体系结构如图2所示。
图2 JTang-Eclipse插件的体系结构
JTang-Eclipse插件为JTang服务器提供了以下接口:J2EE、Xdoclet、Packaging、Deployer、Launcher。相应地分为五个功能模块。
服务器生命周期管理提供配置缺省服务器的preference页面,在Eclipse界面中快速启动、关闭和停止JTang应用服务器,提供生命周期管理的参数配置及存放功能。服务器启动配置中需要JTang服务器的代码路径以启动服务器。
J2EE提供EJB组件和Web组件等J2EE相关项的生成向导、部署描述符的自动生成、WebServices的生成向导、JSP编辑器、xml编辑器等功能的模块。
XDoclet提供生成描述符的preferences配置页面,对于给定的EJB、Servlet,可以根据preferences配置的任务及其设置的相关属性值,自动生成部署描述符及其他的相关文件。生成部署描述符时首先需要得到JTang特有的部署描述符的dtd文件。
打包提供打包的preferences配置页面,根据用户preferences的配置,把用户指定的文件、文件夹打到archive文件中。
部署提供部署路径设置的preference页面和查看资源是否已被部署以及被部署到部署路径的property页面。实现将archive文件放到指定的部署路径下、将改动过的archive文件重新放到原部署路径下、将archive文件从部署路径下删除的功能,等待扫描后被deploy、redeploy或者undeploy。本插件在部署时只是将要部署的archive文件复制到部署路径,反部署时是将要撤销部署archive文件从部署路径删除。然后由JTang服务器的kernel模块来扫描部署路径并进行真正的部署或撤销部署。所以这里在Eclipse界面上进行的deploy、redeploy或者undeploy都需要kernel模块的配合才能完成。部署和服务器启动子模块相对于工程属性拥有影响全局的属性,这些preferences的配置在windows-preference页面进行。
利用插件的可扩展机制开发的JTang-Eclipse插件系统具有如下特性:
易用性JTang-Eclipse插件提供了属性设置和功能使用的图形界面,使用方便,界面风格统一。
扩展性各功能模块之间相对独立,新的功能模块可以轻松地添加到现有地体系中而无需对已有模块做较大的修改。
便利性提供大量辅助性功能,如自动生成部署描述符,自动进行JSP编译等,用户只需进行简单的配置。
安装卸载方便安装卸载只需在特定的目录下做简单的拷贝和删除,不会对系统其他部分造成影响,系统的稳定性得以增强。
3 结束语
Eclipse是功能强大的开发平台,它的PDE(PluginDevelopment Environment)为用户提供的了一系列扩展点。JTang-Eclipse插件通过扩展这些扩展点将JTang服务器集成到Eclipse平台上,各模块独立实现自己的功能,为高效地进行开发提供了有力的工具。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。