信息化 频道

把PrimetonEOS从JBoss移植到WAS的实践

  【IT168技术】

  1.1 文档概述

  前一段进行了一个项目的移植,内容主要是把基于Primeton5.3开发的Java应用从JBoss移植到WAS6.1上。该项目的复杂之处在于一个是首次移植Primeton5.3应用到WAS6.1上,其次是应用中使用了多数据源。项目经历了很艰苦的过程,因为在此过程中,只找到很少的相关资料供参考,所以只能根据相应的WAS日志进行分析查找,从而一步步解决了相关问题。因此觉得有必要把这个步骤和相关的总结记载下来,供各位在遇到类似情况时可以做参考。

  本文档主要介绍如何在Windows + WebSphere Application Server 6.1 + SQL Server 2008环境下安装并部署基于Primeton EOS5.3.5版本开发的应用。

  1.2 文档目的

  本文的主要目的是便于开发、测试和支持人员在遇到类似情况的时候,能够对其有所帮助或启发。

  1.3 适用范围

  本文主要针对在Windows XP+ WebSphere Application Server 6.1 + SQL Server 2008环境下安装Primeton EOS5.3.5版本,并确保EOS应用能够在其环境下部署成功。在其它Windows平台下基于WebSphere Application Server 6.1应用服务器上安装EOS,也可参考本。

  第2章 环境描述及准备资源

  安装可以在本地安装也可以进行远程安装,本指南采用在本地安装的方式,所需准备的资源见表2-1资源列表。

把PrimetonEOS从JBoss移植到WAS的实践

  第3章 安装WAS

  本章包含了WAS 6.1的安装步骤、以及升级打补丁的过程,因过程在其他文章内有详细说明,在此略过。

  第4章 安装EOS

  本章介绍安装Primeton EOS 5.3.5前的准备工作、安装步骤、以及验证安装是否正确的方法。

  4.1 安装准备

  检查数据库,能够使用正确的用户名/密码成功连接上SQL Server 2008数据库。

  4.2 安装步骤

  执行完安装准备的工作后,请参照下面的安装步骤执行。

  步骤1: 进入EOS安装程序包EOS_Platform_5.3.5_Windows,运行命令脚本install.cmd,启动安装程序。

  步骤2: 系统检测磁盘空间是否够用。

  如果系统检测到磁盘的临时解压缩空间不足200MB,会弹出[磁盘空间不够]提示框。请用户清理磁盘空间或者选择其它有200MB空闲空间的磁盘,确保磁盘空间充足后,单击<确定>按钮,继续安装。

  步骤3: 阅读安装简介,如图4-1所示,单击<下一步>按钮。

把PrimetonEOS从JBoss移植到WAS的实践
▲图4-1 安装简介
 
  步骤4: 阅读专业版的许可声明后,选择“本人接受许可协议条款”单选按钮,如图4-2所示,单击<下一步>按钮。

把PrimetonEOS从JBoss移植到WAS的实践
▲图4-2 许可协议

  步骤5: 设置管理员口令。

  (1) 输入管理员的密码和确认密码,如图4-3所示。

  系统默认sysadmin的密码为“000000”。

  用户可以在此设置新密码,密码长度必须在6~20位之间,密码只能由半角英文字符、数字或下划线“_”组成。

  (2) 设置管理端口:如果在本机上安装了多个EOS,则需要修改此端口,以避免启动多个EOS应用时引起端口冲突。默认为30614端口。

  (3) 根据实际情况输入用户名称和机构名称(可以不输入),如图4-3所示。

把PrimetonEOS从JBoss移植到WAS的实践
▲图4-3 设置管理员口令

  系统默认用户名称为当前登录操作系统的用户名。

  如果系统检测到磁盘的临时解压缩空间不足200MB,会弹出[磁盘空间不够]提示框。请用户清理磁盘空间或者选择其它有200MB空闲空间的磁盘,确保磁盘空间充足后,单击<确定>按钮,继续安装。

  步骤6: 配置应用服务器。

  (1) 在下拉列表框中选择应用服务器“WebSphere6.1”。

  (2) 输入应用服务器相关配置信息。

  配置WebSphere6.1类型应用服务器的界面,如图4-4所示。

把PrimetonEOS从JBoss移植到WAS的实践

  选择应用服务器界面的参数说明,如表4-1所示。

把PrimetonEOS从JBoss移植到WAS的实践

把PrimetonEOS从JBoss移植到WAS的实践

把PrimetonEOS从JBoss移植到WAS的实践

  (1) 设置完毕,单击<下一步>按钮。

  步骤7: 配置数据库。

  (1) 在下拉列表框中选择数据库类型“SQL Server 2000”。

  (2) 输入数据库的相关配置信息。

配置数据库

配置数据库

配置数据库

配置数据库

  (1) 单击<数据库连接测试>按钮,测试所配置数据库是否可以成功连接。

  (2) 单击<下一步>按钮。

  步骤8: 单击<浏览>按钮,从弹出的对话框中选择安装目录,如图4-5所示。

配置数据库

  设置完毕,单击<下一步>按钮。

配置数据库
▲EOS默认安装目录如表4-3所示

  步骤9: 阅读并审核安装设置信息,如图4-6所示,单击<下一步>按钮。

启动WebSphere服务

  步骤10:开始安装,安装过程中显示各组件的安装进程,如图4-7所示。

启动WebSphere服务

  步骤11:系统提示EOS已经成功安装,如图4-8所示。

启动WebSphere服务

  步骤12:单击<完成>按钮,完成EOS专业版的安装。

  4.3 验证安装

  验证EOS否已正确安装的步骤如下:

  (1) 安装程序提示安装成功,如图4-8。

  (2) 检查日志

  打开用户登录名目录下的eosinstall.log安装日志文件,检查安装过程中是否有异常信息。

  例如:当前用户登录名为Administrator,则请查看“C:\Documents and Settings\Administrator\eosinstall.log”文件。

  (3) 检查目录和配置文件,如表4-4所示。

启动WebSphere服务

  第5章 配置WebSphere

  本章主要介绍WebSphere服务的启动、多数据源的配置、以及结合CAS单点登录服务的配置等信息。

  5.1 启动WebSphere服务

  步骤1:在开始菜单—所有程序—IBM WebSphere中找到并单击<启动服务器>,即可启动WebSphere服务。

  步骤2: 通过IE浏览器访问http://localhost:9060/ibm/console或者在开始菜单—所有程序—IBM WebSphere中查找并单击管理控制台,即可登录WebSphere管理控制台。WebSphere6.1的控制台默认是不做用户检验的,在图5-1不用输入用户标识,单击<登录>按钮即可。

配置WebSphere

  步骤3: 在图5-2左侧导航树中,单击“应用程序/企业应用程序”节点,在右侧界面中显示缺省的应用服务器“DefaultApplication”状态为启动状态(状态呈绿色箭头表示“启动”状态)。

  在右侧界面中勾选上“DefaultApplication”前面的复选框,单击<停止>按钮。

配置WebSphere

  步骤4: 执行完上述步骤,在图5-3右侧界面中显示缺省应用服务器“DefaultApplication”的状态呈红叉,表示为“停止”状态。

  确认“eos4ws”应用服务器处于停止状态,接着在右侧界面中勾选上“eos4ws”前面的复选框,再单击右侧界面“首选项”区域中的<启动>按钮。

配置WebSphere

  步骤5: 在图5-4右侧界面中显示“eos4ws”应用服务器已启动成功。

配置WebSphere

  5.2 配置多数据源

  由于我们使用的是SQL Server 2008数据库,而在WebSphere中并没有找到完全适合SQL Server 2008的驱动类,所以我们需要重新自定义数据源,下面就介绍一下数据源的配置过程。

  步骤1: 登录WebSphere管理控制台,在左侧导航树中单击“资源/JDBC/JDBC提供程序”节点,在右侧界面中会显示出已经存在的JDBC提供程序。如图5-5所示:

配置多数据源

  步骤2: 在右侧JDBC提供程序区域中,选择好作用域,然后单击<新建>按钮,创建新的JDBC提供程序,在图5-6中填入我们需要的信息。

  数据库类型:我们选择“用户自定义的”;

  实现类名:输入“com.microsoft.sqlserver.jdbc.SQLServerXADataSource”;

  名称:输入“JDBC Provider 1.2”(随意写)。

配置多数据源

  步骤3: 我们首先需要在网上下载到SQL Server 2008的JDBC驱动(sqljdbc.jar),然后把这个驱动放到WebSphere的安装目录“D:\IBM\WebSphere\AppServer\lib”中,然后在图5-7中,输入数据库驱动类的路径。

  类路径:输入“D:\IBM\WebSphere\AppServer\lib\ sqljdbc.jar”

配置多数据源

  步骤4: <下一步>查看无误后,点击<完成>按钮,然后保存到主配置。

  在界面右侧的“其他属性”列表中,点击<数据源>链接,进入数据源列表。

配置多数据源

  步骤5: 重新回到JDBC提供程序界面,在列表中会发现我们刚才新建的“JDBC Provider 1.2”,点击链接进去,会看到图5-8中的界面。

配置多数据源

  步骤6: 在图5-9中的数据源列表中,点击<新建>按钮,创建新数据源ProductDataSource。

配置多数据源

  数据源名:输入“ProductDataSource”

  JNDI名称:输入“ProductDataSource”

  组件管理的认证别名:选择默认的“sql_jdbc_jaasauth”。如图5-10:

配置多数据源

  步骤7: 点击<下一步>,数据存储器helper类名默认即可,继续<下一步>。查看信息无误后,点击<完成>按钮,然后保存到主配置。如图5-11:

部署EOS应用

  步骤8: 返回数据源列表,可以看到我们新建的“ProductDataSource”数据源。

部署EOS应用

  点击“ProductDataSource”链接进入详细信息页面,在页面右侧的其他属性列表中,点击“定制属性”链接。

部署EOS应用

  步骤9: 进入定制属性列表,如果有“URL”属性的话,点击进去修改URL对应的值;如果没有,则须新建“URL”属性。

部署EOS应用

部署EOS应用

  步骤10:返回数据源“ProductDataSource”详细信息页面,在其右侧的相关项列表中,点击“JAAS—J2C认证数据”链接,进入“JAAS—J2C认证数据”列表界面。

部署EOS应用

部署EOS应用

  步骤11:返回到数据源“ProductDataSource”详细信息页面,点击<测试连接>按钮,如果出现图5-12所示界面,则表示数据源“ProductDataSource”配置成功。否则请检查以上步骤,重新配置。

部署EOS应用

  步骤12:由于我们介绍的是多数据源,大家可以仿照新建“ProductDataSource”数据源的方式,建立其他数据源。需要注意的是,数据源的名称不能相同,另外,如果JAAS—J2C认证数据不能共用的话,可以建立新的JAAS—J2C认证数据。下面展示一下我已经做完的数据源列表和JAAS—J2C认证数据列表:

配置多数据源2

配置多数据源2

  第6章 部署EOS应用

  通过IE浏览器访问http://localhost:9080/eosmgr,系统显示EOS管理控制台界面,登录eosmgr对构件包进行发布与部署。

  步骤1: 登录EOS管理控制台,默认登录用户名和密码分别为“sysadmin”和“000000”,如图6-1所示。

部署EOS应用

  步骤2: 在左侧导航树中单击“应用管理/构件包发布”节点,在右侧界面显示“构件部署”页签,如图6-2所示。

部署EOS应用

  步骤3: 单击<浏览>按钮,从弹出的对话框中选择上传的文件,如图6-3所示。

部署EOS应用

  步骤4: 单击<上传>按钮,在“可发布的构件包列表”显示已上传的文件,如图6-4所示。

部署EOS应用

  步骤5: 选中待发布构件包的单选框,并选择“对系统文件的处理方式”为“不检查,并覆盖”,如图6-5所示。

部署EOS应用

  步骤6: 单击<发布>按钮,在“部署结果”区域显示发布成功信息同,如图6-6所示。

部署EOS应用

  附录中介绍的是一些我们在安装部署中需要注意的问题。

  1、配置WebSphere和EOS管理控制台:

  (1)、WebSphere 6.1环境下运行EOS,需要在WebSphere配置文件中增加配置内容,不然,EOS报表无法运行起来。WAS61上需增加设置: RUN_UNDER_ECLIPSE =false, 在WAS61的server.xml中增加上述设置,否则报表不能运行,具体解决方案如下:

  1)打开WAS61的server.xml文件,路径如下:

  D:\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\lenovo-e043374dNode01Cell\nodes\lenovo-e043374dNode01\servers\server1

  2)在文件的末尾设置EOS_HOME路径的下方增加一行,如下:

  在required="false"/> 下面增加一行:

  后续保存server.xml、重新启动WAS6.1即可。

  (2)、注意:多数据源需在EOS管理控制台修改构件包配置信息:

  1)、协议由 jnp 改为 iiop;端口改为:2809;

  2)、数据源由 java:XXXX 改为 XXXXX,把“java:”去掉

  2、 安装时,须保证WAS和EOS日志中不报错。

  3、 启动服务时,须保证WAS和EOS日志中不报错。

  4、发布EOS应用时,须保证WAS和EOS日志中不报错。

  5、EOS配置文件中,连接数据库的驱动类名及URL应与用到的sqljdbc驱动保持一致,如:

  jdbcurl为:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=TM_LOGISTICS;SelectMethod=Cursor jdbcdriver为:com.microsoft.sqlserver.jdbc.SQLServerDriver

  6、 WebSphere配置中的驱动与sqljdbc驱动保持一致,如本文用的sqljdbc_1.2的驱动为:sqljdbc.jar,复制并存放在WebSphere中的目录:D:\IBM\WebSphere\AppServer\lib下;WebSphere配置中的实现类名为:com.microsoft.sqlserver.jdbc.SQLServerXADataSource,是定制的,不能修改为sqljdbc_1.2的驱动类名:com.microsoft.sqlserver.jdbc.SQLServerDriver。

  7、 遇到的异常及解决方案:

  异常:javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。错误: 未能找到存储过程 'master..xp_sqljdbc_xa_init'

  解决方案:

  1).sqljdbc_1.2\chs\auth\x86(x64|IA64)\sqljdbc_auth.dll放入WINDOWS\system32中

  2).sqljdbc_1.2\chs\xa\x86(x64|IA64)\sqljdbc_xa.dll放入Microsoft SQL Server\MSSQL\Binn\sqljdbc_xa.dll

  3).执行xa_install.sql

  如果要同时使用 XA 数据源和 Microsoft 分布式事务处理协调器 (MS DTC) 来处理分布式事务,则需要执行以下步骤

  在 Windows XP 和 Windows Server 2003 上:

  1).在“控制面板”中,打开“管理工具”,然后打开“组件服务”。也可以单击“开始”按钮,单击“运行”,在“打开”框中键入 dcomcnfg,然后按“确定”打开“组件服务”。

  2).展开“组件服务”、“计算机”,右键单击“我的电脑”,然后选择“属性”。

  3).单击“MSDTC”选项卡,再单击“安全性配置”。

  4).选中“启用 XA 事务”复选框,然后单击“确定”。这将使 MS DTC 服务重新启动。

  5).再次单击“确定”以关闭“属性”对话框,然后关闭“组件服务”。

  6).停止 SQL Server,然后重新启动,以确保它与 MS DTC 更改同步。(作者:陈金波 辽宁铁煤集团IT技术工程师, 李红中 IBM 软件部高级工程师 )

0
相关文章