WRD:基于注释的编程
开发人员将原数据标签加到源代码中,然后 WRD根据这些原数据产生应用在服务器上部署时需要的附加的组件,这样减少了开发者创建和需要理解的组件的数量。由此可见这种基于编程模式重要的环节有两个,一是原数据标签的格式其中包括标签语法和作用域以及标签能产生的对应组件。二是处理标签的机制,下面对这些相关内容做具体介绍。
一.源数据标签的格式
WRD中的源数据标签的语法格式是使用XDoclet , XDoclet是一个扩展的Javadoc Doclet引擎。它是一种通用的java工具,可以根据自己创建的javadoc @tags,然后由XDoclet中的模板引擎Templet enging基于这些@tags生成源代码或其他文件(例如XML的deployment descriptors)。XDoclet已经支持一些常见的任务了,例如生成web.xml和ejb-jar.xml等,例如在SimpleServlet.java中定义一个 @web:servlet name="The Simple Servlet",让 子任务知道SimpleServlet.java包含一个servlet的定义,这样就可以利用@web:servlet tag中的信息生成相应的web.xml描述。 目前在RAD6.0中支持Web、EJB、Web Services标签,并且Ejb和web支持图像界面。
下图例子就是在源文件Hello.java的注释中定义了ejb和interface的标签,ejb注释的设置包括 @ejb. session name="Hello",type="stateless"…..,这让子任务知道了Hello.java包含了一个无状态session bean的定义,这样就可以利用@ejb标签中定义的属性生成相应的ejb-jar.xml,以及ejb的一些基本源代码,由于注释中还有接口的注释定义,因此同时也生成了本地接口和home接口。
二.标签的作用域
标签的作用域分为四个,分别是Pacakage、Class、Field 、Method ,下图中具体介绍了标签作用域级别,当然每个级别都有很多对应的标签,这里就不一一列出。
三.标签处理机制
标签的处理过程(如下图):
_1. 解析源文件并抽取出标签
_2. 然后生成包含标签数据和类声明信息的标签结构
_3. 将生成的标签结构信息提交给由很多可插拔的Tag Handler组成的Eclipse扩展端(如图中的步骤)
_4. 特定的标签处理器(Tag Handler)处理标签信息并生成对应的组件。
从处理过程来看,其中最重要的功能部件就是注释处理器(Annotation Processor)、标签处理器(Tag Handler)。Annotation Processor 的功能主要是解析和抽取源文件中的标签,然后在生成包含标签数据和类声明信息的标签结构,接着将信息提交给由很多Tag Handler。Tag Handler的主要功能处理这些标签结构并生成对应的组件。
WRD:自动部署功能
WRD自动部署功能既可以将应用自动部署到本地服务器,又可以部署到远程的应用服务器上。
一.部署的工作机制:
利用用户创建的文件系统目录来作为WRD的工作区域,用于存储自动部署的应用程序,应用可以是预先打好包的J2EE的jar、war包,或者是一个单独的文本文件。WRD启动后就可以实时监控用户创建目录的变化,一旦应用程序拷贝到WRD目录下,或者已存在该目录下的应用发生变化以及应用程序中某个文件变化,WRD就能监控到此变化,并针对应用或者应用的变化开始自动部署。目前WRD支持应用发生细颗粒的变化后的自动部署,使得对应用的影响最小。并且WRD也支持应用可以安装也可以重启,重新安装,卸载。
二.自动部署应用的模式分为两种:freeform
__1.autoappinstall模式
这种模式一般用于已有的J2EE应用,针对某个已经存在的JAR、WAR、EAR模块的自动部署。
__2.freeform
该模式是针对一些组件,如jsp,servlet,java source,以该模式部署应用,WRD首先会针对某个组件打包成对应的jar、war、ear文件,然后自动部署到应用服务器上,这种模式更灵活,它不要求开发人员对J2EE架构要了解,自动会根据放到WRD工作目录的文件生成对应的J2EE包,这样加快了开发速度,缩短了开发周期。下图中可以明显看出,两种自动部署的模式主要是针对的部署对象不同,autoappinstall是针对已经存在的J2EE包,freeform是针对非存在的J2EE包,而是一些组件或源文件,但是这两种模式的后台的监控机制和自动部署操作是完全相同。
如何配置和使用WRD工具
WRD工具采用Eclipse的framework,是没有用户界面,完全是基于命令行管理。WRD工具是在Websphere的安装目录的bin目录下。根据上面我们提到的WRD的工作机制,WRD的配置工作按照以下步骤进行
__1.要建立WRD的用户目录
__2. 配置WRD
__3. 启动WRD工具
__4. 部署应用、更新应用、卸载应用
__5. 停止WRD工程
一.建立WRD的用户目录
_a.点击开始->运行,输入cmd,打开命令行窗口,在窗口中输入cd <profile_HOME>\bin ,然后在输入md C:\WRD,新建一个目录。
__b.输入SET WORKSPACE=C:\WRD,则用户创建的C:\WRD目录作为WRD目录用来拷贝应用程序,并且WRD启动后也会实时监控该目录,如果目录中的应用程序发生变化,则自动部署变化后的应用。
二.配置WRD
由于WRD没有用户界面,因此配置WRD是通过命令行,命令名称wrd-config.bat/sh,命令用法
wrd-config -project<projectID> -style<styleID> [<optional parameters>]
必需参数
project -目标项目
style -部署样式
除了必需的参数project、style,还有很多其他可选的设置参数,如下表中
下面是具体WRD命令具体语法
介绍完命令的使用方法,现在举两个使用范例,一个是关于WRD使用autoappinstall模式,另外一个使用freeform模式
1.Autoappinstall 模式
__ a. 在命令行中输入cd <profilename_HOME>\bin,然后输入wrd-config.bat -project "AutoInstall" -style "autoappinstall",其中工程名称为AutoInstall,部署模式是autoappinstall则命令开始执行,在命令行界面中会提示用户设置参数,用户也可以根据应用的需求来直接输入参数值,如果使用缺省值输入Enter即可。运行完后会在界面中出现"WebSphere Rapid Deployment configuration completed"的提示。
2.Freeform模式
在命令行中输入cd <WAS_HOME>\bin接着输入wrd-config -project "Hello" -style "freeform",其中工程名称为Hello,以freeform的模式部署应用,则WRD部署应用会采用freeform的模式,界面中的提示和autoappinstall相同。
三.启动WRD工具
启动WRD工具的命令是wrd.bat/sh,该命令的用法
wrd [-monitor] [-project <project> -batch] [-usage],其中可选的参数
project - 目标项目(仅适用于批处理方式),指明项目的名称
batch - 批处理方式,该方式不显示控制台的反馈,并且在运行完后直接停止了WRD
monitor - 显示对控制台的反馈
usage - 显示程序用法
举例:在<profile_home>\bin 目录下输入wrd.bat -monitor,命令运行完后界面上会出现下列提示信息,这时WRD就实时监控c:\wrd的工作目录。进入讨论组讨论。
(出处:http://www.knowsky.com)