Northwind公司使用一个paper来跟踪雇员的时间。这种跟踪效率很低,因此CIO指定你创建一个在线的TimeTracer系统。不幸的是他想下周就能交付,如果你不能达到他的最后期限他会炒了你,让别人来做这项工作。突然,你记起了某天和你的朋友的一次谈话,他胡说AndroMDA能从业务级描述生成大量的应用代码。你对自己说“如果这是真的,也许他能帮助我达到最后期限,试试AndroMDA”。因此,你接受了CIO的要求并且开始工作。
你的第一个挫折是在人力资源领导的办公室。你要求她描述当前的时间跟踪的流程。她说“在每周开始,每个人从后勤拿一个新的时间卡。作为他们不同工作,他们记录他们的开始和结束时间在这个时间卡上。每个任务有一个任务ID,他们从雇员的手册上查找。在每周结束,人们交回他们的时间卡给他们的经理来认可。经理可以认可或者拒绝时间卡。如果拒绝,他们必须填写一个注释在时间卡的拒绝原因状态栏中。然后时间卡的提交者必须做必要的修改并且重新提交时间卡等待认可。”你委婉的向她咬了一个时间卡的拷贝。下面就是她给你的。
带着他告诉你的这些知识,你冲回你的办公室,安装必须的开发工具和软件。
要使用AndroMDA开始开发,你需要按照下面的步骤准备开发环境,我们假定你工作在windows平台。
Recommended Path |
Purpose |
C:/Documents and Settings/your user name/.m2/repository |
Maven local repository |
C:/Program Files/Apache Software Foundation/maven- 2.0.4 |
Maven program |
C:/Program Files/Java/jdk 1.5.0 _xx |
Java Development Kit (xx is the update number) |
C:/Program Files/Java/jre 1.5.0 _xx |
Java Runtime Engine (xx is the update number) |
C:/Program Files/MySQL/MySQL Server 5.0 |
MySQL database server |
C:/eclipse |
Eclipse IDE (optional) |
C:/jboss- 4.0.4 |
JBoss Application Server |
安装java
安装JDK5.0(http://java.sun.com/j2se/ 1.5.0 /download.jsp)。这是AndroMDA.NET首选的版本。我们也支持JDK1.4,如果你选择这个版本,你可以从这里下载他(http://java.sun.com/j2se/1.4.2/download.html)。
确认JAVA_HOME环境变量被指定到你安装JDK的目录。如果已经设置了这个环境变量,检查一下。
1. 在控制面版双击系统。如果是使用windows XP,那么在打开系统图标前先打开性能和监视图标。
2. 到高级tab页点击环境变量。
3. 确保设置的JAVA_HOME环境变量指向你安装JDK的文职。
安装Maven
Maven(http://maven.apache.org/)是一个项目管理和领悟的工具软件。基于项目对象模型POM的概念,Maven能从信息片中间管理一个项目的构建,报告和文档。我们现在要安装Maven并且配置他任何时候从AndroMDA服务器下载依赖的东西。
1. 下载Maven(http://maven.apache.org/download.html)。
2. 安装下载的二进制文件(我们假定你安装在c:/program files/apache sorftware/目录下),文件在maven- 2.0.4 -bin.zip
3. 如果安装提示JAVA_HOME没有设置,请注意检查是否设置的正确。
安装JBoss应用服务器s
JBoss应用服务器是一种广泛使用的java应用服务器。通过下面的步骤安装JBoss 4.0.4 。
1. 点击http://labs.jboss.com/portal/jbossas/download 下载,会把你带到sourceforge站点。
2. 点击连接名字为“jboss- 4.0.4 .GA.zip”下载这个文件
3. 解压文件到C:/,目录叫做jboss- 4.0.4 .GA,重命名目录为jboss-4.0.4这样名字能短些。
4. 如果你计划安装oracle数据库在你的机器上,你必须改变你的jboss http端口,默认是8080。原因是oracle也使用这个默认的端口,但是修改oracle的配置可不容易。为了改变jboss http端口,编辑c:/jboss- 4.0.4 /server/default/deploy/jbossweb-tomcat55.sar/server.xml文件并且改变所有8080的内容,例如改为9090,这会解决jboss和oracle的冲突问题。如果你有下面的这些步骤,你必须使用9090而不是8080。
Setup environment variables
We have seen earlier how to set environment variables such as JAVA_HOME, it is strongly recommended to set the following variables before continuing. We repeat JAVA_HOME here just for completeness.
Property |
Value |
Required? |
JAVA_HOME |
Java installation directory, e.g. C:/Program Files/Java/jdk 1.5.0 _06 |
Yes |
JBOSS_HOME |
JBoss installation directory, e.g. C:/jboss- 4.0.4 |
Yes |
M2_HOME |
Maven installation directory, e.g. C:/Program Files/Apache Software Foundation/maven- 2.0.4 |
Yes |
M2_REPO |
Maven local repository, e.g. C:/Documents and Settings/your user name/.m2/repository |
Yes |
MAVEN_OPTS |
Parameters to pass to the Java VM when running Maven. Set this value to: -XX:MaxPermSize= 128m -Xmx 512m (required to build large maven projects) |
No |
PATH |
This makes sure the system will search for console commands in the directories listed here. If this property already exists you should simply add %JAVA_HOME%/bin;%M2_HOME%/bin |
Yes |
测试Maven并且创建本地的资料库
Maven是基于重要的概念,本地资料库,存储第三方库的地方。当你创建一个新的项目,你必须指定一个项目对象模型(POM)文件名为pom.xml。在这个文件中,你能告诉Maven关于你的应用依赖的一系列的第三方库和组件。当Maven开始构建应用,他首先从一个或多个远程的仓库读取这些依赖并且在你的本地库中存储他们。默认的,本地仓库位于C:/Documents and Settings/
your user name/.m2/repository
。注意我们仅仅安装了maven的应用,我们没有创建本地的资料库。下面的步骤用来测试你的maven安装和强制创建本地的资料库。我们会使用标准的maven岔江来创建一个临时项目,我们以后会删除它。
1.
打开命令提示符,改变当前的目录到一个临时目录,例如C:/temp
2.
执行下面的命令确认你能运行Maven: mvn –version
3.
Maven
会显示下面的输出: Maven version: 2.0.4
4.
现在执行下面的命令来创建一个临时的项目:
Mvn archetype:create –DgroupID=testapp –DartifactId=testapp
确保你看到了BUILD SUCCESSFUL信息。有时internet连接有问题,maven不能下载所有的依赖。如果你因为这个原因构建失败,试着当网络好了后重新执行这个命令。
5.
检验在当前目录maven创建的叫做testapp的临时项目并且也检查一下上面提及的在本地默认的资料库中的文件。如果都成功了,你可以删除你刚才创建的临时项目。
安装AndroMDA应用插件
接下来我们要下载和安装AndroMDA应用插件到MAVEN_HOME/plugins目录,这个插件允许使用AndroMDA创建java起始应用程序。这是唯一们要手工安装的AndroMDA的产品。所有其他的产品,例如AndroMDA cartridges,会由插件生成的Maven脚本自动下载。我们使用下面的步骤安装插件:
1. 点击
http://team.andromda.org/maven2/org/andromda/maven/plugins/andromdapp-maven-plugin/3.2-SNAPSHOT/andromdapp-maven-plugin-install-3.2-SNAPSHOT.zip 下载androMDA插件安装器。
2.
解压安装文件的到C:/Documents and Settings/
your user name/.m2/repository
目录中
3. 检查下面的目录被创建了C:/Documents and Settings/
your user name/.m2/repository/org/andromda/maven/plugins/andromda-maven-plugin
安装UML工具
安装一种能够使用UML建模我们应用,并且能够导出AndroMDA能识别的模型的UML工具。AndroMDA当前支持UML1.4和XMI1.2像UML2/EMF一样。请用下面提供的连接之一来安装你选择的UML工具。
安装数据库
安装一种Hibernate支持的数据库。点击http://www.hibernate.org/260.html,列出了支持的数据库类型。这篇文档会假定你安装了下面的数据库之一。如果你安装了其他的数据库你要修改相应的hibernate配置。
l MySQL5.0:MySQL是一个开源的数据库。你可以下载他从下面的地址(http://dev.mysql.com/downloads/mysql/5.0.html)。我们建议现在完整的windows安装-不仅仅是基础版。另外,下载安装MYSQL Administrator(http://dev.mysql.com/downloads/administrator/1.1.html)还有MySQL Query Browser(http://dev.mysql.com/downloads/query-browser/1.1.html)。这些GUI界面的工具能够使你的开发更容易。最后,下载和解压MySQL的JDBC驱动MySQL Connector/J(http://dev.mysql.com/downloads/connector/j/3.1.html),本教程推荐你安装在C:/Program Files/MySQL/mysql-connector-java- 3.1.12
l PostgreSQL8.1:PostgreSQL是一种开源数据库。你可以下载从http://www.postgresql.org/ftp/binary/v8.1.2/win32/ 下载它。Postgres的安装包括了一个GUI的管理工具,叫做pgAdminIII。JDBC驱动已经作为安装的一部分了。
l Oracle 9i:Oracle9i是Oracle销售的商用数据库。我们建议你使用必要的分发介质来安装。Oracle9i包括GUI管理工具,叫做企业管理器。JDBC驱动也作为安装的一部分。
1. 点击这里(http://dev.mysql.com/downloads/mysql/5.0.html),下载MySQL
2. 下载全功能windows安装版,不是Essentials,安装在c:/program files/mysql/mysql server 5.0
3.
下载mysql administrator(http://dev.mysql.com/downloads/administrator/1.1.html)这个GUI工具,安装在C:/Program Files/MySQL/MySQL Administrator 1.1
4.
下载MySQL Query Browser(http://dev.mysql.com/downloads/query-browser/1.1.html),安装在C:/Program Files/MySQL/MySQL Query Browser 1.1
5.
下载MySQL Connector/J version 3.1.13
(http://dev.mysql.com/downloads/connector/j/3.1.html),MySQL的JDBC驱动,解压到C:/Program Files/MySQL
6. C:/Program Files/MySQL/mysql-connector-java- 3.1.13 /mysql-connector-java-3.1.13-bin.jar
拷贝MySQL驱动到JBoss lib目录C:/jboss-4.0.4/server/default/lib。这样可以支持JBoss访问你的数据库。
安装Eclipse(可选)
Eclipse是一种流行的开源IDE,在开发java应用方面非常有用。AndroMDA不要求使用eclipse,然而我们建议你使用它开发,这样能帮助你提高生产率。Eclipse用户会很高兴的知道AndroMDA自动生成全部可用的.project和.classpath文件。在eclipse中简单的导入.project文件就可以开始编辑你的代码了。
一旦已经安装eclipse,在eclipse中配置叫做M2_REPO的classpath变量。
1.启动eclipse
2.Window->preference
3.在左边面版中,选择java->Build Path->Classpath Variables
4.点击new
5.增加M2_REPO名字的环境变量到Path中,例如(C:/Documents and Settings/
your user name/.m2/repository
)
6.点击两次OK
在我们开始构建TimeTracker之前,让我们作一个最终应用的测试。下面这些步骤来构建和运行TimeTracker应用:
1. 下载最终应用的源码
(http://galaxy.andromda.org/images/stories/tutorial_java/timetracker-completed.zip)并且解压到C:/,你会得到一个目录叫做c:/timetracker-completed,注意:如果你决定解压这个文件到与教程不同的位置,确保不回有maven构建问题。
2. 如果你下载的MySQL驱动的版本不是 3.1.13 ,你必须编辑文件C:/timetracker/completed/pom.xml,看两个3.1.13的地方改成你的版本。
3. 打开命令提示符窗口,进入到c:/timetracker-completed
4. 执行命令mvn install来构建应用。这一步下载所有的依赖的库从远程的maven仓库。这些库通过在源码树下的pom.xml文件来指定。第一次下载时会比较慢,但是当你下一次构建时,会比较快,因为所有的库都在本地缓存。
5. 让这个命令提示符窗口保持打开,完成下面的子步骤。
6. 现在我们来构建应用,让我们创建一个数据库schema存储它的数据。我们会创建一个schema叫做timetracker并且用户叫做timetracker全部访问schema。
a) 打开MySQL administrator,用root登陆
b) 在左边的导航条上点击catalogs
c) 右击左边面板,(叫做schemata),选择create new schema
d) 输入schema名字timetracker点击ok
e) 点击user administration
f) 点击new user,增加一个新用户叫做timetracker,密码也是timetracker
g) 选择schema privileges tab页,点击timetracker schema。
h) 点击 << 按钮分配所有的权限给timetracker用户
i) 关闭MySQL administrator
7. 现在让我们提供timetracker需要的表。要作这些需要在上面打开的命令提示符窗口中运行下面的命令: mvn –f core/pom.xml andromdapp:schema –Dtasks=create
8. 现在表被创建到schema中并且包含一些测试数据,下面的步骤是:
a) 打开MySQL Query Browser。作为timetracker用户登陆。
b) 选择 File->OpenScript 打开下面的脚本文件 C:/timetracker-completed/app/src/main/sql/static-data-insert.sql。点击execute按钮。
c) 现在打开脚本文件 test-data-insert.sql在相同的目录,并且执行他,这会插入数据库中测试的数据。
d) 关闭MySQL Query Browser.
9. 让我们启动JBoss服务器,以便我们我们能部署timeTracker应用到服务器上面。在JBoss bin目录(C:/jboss- 4.0.4 /bin)打开第二个命令提示符窗口,并且执行命令run。JBoss会花一些时间启动。等待出现类似的信息就说明已经启动了。19:50:01,285 INFO [Server] JBoss (MX MicroKernel) [4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] Started in 39s:517ms
.
10.现在我们已经准备部署最终的应用程序到JBoss服务器上。到早先的那个命令提示符窗口(路径在C:/timetracker-completed),执行命令:mvn –f app/pom.xml –Ddeploy,你会注意到timetracker ear文件被拷贝到jboss部署目录(c:/jboss- 4.0.4 /server/default/deploy)并且JBoss控制台显示一系列的信息标志部署了应用。下面相似的信息表明部署成功:19:59:53,767 INFO [EARDeployer] Started J2EE application:
file:/D:/jboss-4.0.4/server/default/deploy/timetracker-1.0-SNAPSHOT.ear
11. 现在我们准备测试这个应用。打开浏览器,指向http://locahost:8080/timetracker。(如果你改过jboss http端口,使用你改后的端口)登陆页面会出现。
12. 输入用户名nbhatia,密码cooldude。点击login按钮。Timetracker主页会显示出来。
13. 点击search timecards,搜索页面会出现。试着改变搜索条件,点击search按钮。Search result面版显示出来搜索结果。
14. 当你满意你的timetracker之旅时,你可以通过在启动jboss的命令提示符窗口中用ctrl-c来结束。
我们现在可以删除任何在 timetracker 数据库中的表。可以通过执行下面的命令: mvn –f core/pom.xml andromdapp:schema –Dtasks=drop