本文以国产J2EE应用服务器TongWeb为例,阐述如何将应用服务器与JBuilder集成,现将实现方法描述如下。
首先介绍Open Tools框架,JBuilder同时提供了实现该框架的接口?OpenTools API。
Open Tools框架
在OpenTools 框架中,能对JBuilder的很多功能进行扩展,对J2EE应用服务器支持的扩展就是其中之一。在JBuilder7.0/8.0版本中,已经不采用AppServer机制了,而是提供了Server Plugin机制。JBuilder还提供了一种Legacy机制,可以将基于以前版本JBuilder的应用服务器扩展集成到7.0/8.0版本中。此外,JBuilder还提供了一种Server Configuration机制,支持对应用服务器进行配置,并保存配置。
针对目前使用最广泛的JBuilder7.0及以上版本,为了实现对一个新的第三方J2EE应用服务器的支持,应该采用Server Plugin和Server Configuration机制。因此,对这两种机制,在这里有必要简要介绍一下。
(1)Server Plugin机制
Server Plugin主要涉及三个方面的内容,Server,Service,Plugin。Server指的是一些特定版本的应用服务器,例如Borland Enterprise Server 5.0等。Service是应用服务器所支持的特性,例如EJB等。Plugin指的是一些classes,可以使Server和Service在JBuilder中注册,以便能在JBuilder的集成开发环境中被使用。每个Server类的子类实现都代表一个应用服务器,该子类可以根据情况包含不同的Services。
在JBuilder启动时, Server类的子类能够通过工具类ServerManager将自己及自己支持的Services注册到JBuilder中。该注册过程位于必须实现的方法initOpenTool()中。方法initOpenTool()是一个很特殊的方法,它不是由任何接口或虚类指定,但任何想接入JBuilder中的插件都必须提供该方法来将自己注册到JBuilder中。JBuilder 将根据是否提供该方法来自动发现第三方提供的插件,并自动将其按插件方式载入。
ServerLanucher则是支持Server 启动的类,能提供Server 启动所需的各种信息并且提供了在Server启动和停止的各个阶段插入代码的接口。它由Server来创建。
(2)Server Configuration机制
JBuilder中使用任何一个应用服务器,都必须先进行配置。JBuilder启动后,通过JBuilder菜单中的Tools-Configure Servers,可打开Configure Servers对话框。在该对话框中可以看到,左边是Server列栏,右边是Server的常规配置信息和定制的配置信息。当一个Server的OpenTool通过ServerManager实现了注册,这个Server将出现在Server列表栏中。选择Server,并对Server进行配置后,注册的Server就可以在JBuilder中使用了。这一配置机制就是JBuilder提供的Server Configuration机制。该机制能将配置的信息保存起来,下次启动JBuilder时,它就能读取先前的配置,并根据该配置查找类库。如果找不到匹配的Server库(比如已经删除),则该Server在对话框的Server列表栏中显示为红色。
OpenTools API
在OpenTools框架中,和集成J2EE应用服务器相关的API都在包com.borland.jbuilder和包com.borland.primetime中。
TongWeb Open Tools是为了将应用服务器TongWeb集成到JBuilder而开发的,它是JBuilder OpenTools框架的一个具体实现。目前,已经完全支持在JBuilder中基于TongWeb 应用服务器进行EJB和Jsp/Servlet的开发、部署、运行以及动态调试。
为了实现上述功能,我们需要解决下列问题:
1. Server管理,包括Server的注册载入,Server的启动等;2.Ejb部署描述符的生成;3.Jsp/Servlet 的编译;4.动态部署;5.动态调试;6.配置管理,包括Project Properties,Configure Servers等。
TongWeb Open Tools可以划分为6个模块,即Server模块,Generic deploy code(部署代码生成)模块,JSP/Servlet Compiler模块,Deploy(动态部署)模块,Configure模块和动态调试模块。
TongWeb Open Tools的最终产品是一个TongWebOpenTool.jar文件,只需要将这个文件拷贝到 \lib\ext目录下,就完成了产品的安装。完成产品安装后,在JBuilder中就可以轻松的开发,部署应用程序到TongWeb3.4应用服务器上了。