让WebSphere Adapters的使用变得更智慧
- 在WAS和WPS上实现配置的自动导入导出
“Adapter需要配置的属性太多了,尤其每次在进行Node Level部署的时候,还要手工逐一在管理控制台上填写,这太麻烦了!!”
“以前在WAS和WPS上为Adapter配置的信息都到哪去了?不能保存?难道要抄下来下次再对照着一一重新配置?!”
“要将目前包含Adapter的应用迁移到所有分公司数十台服务器上,并在日后能以最快速度定制Adapter的配置以随时响应新的业务需求,我们的人手和时间远远不够啊……”
你在使用WebSphere Adapter的过程中,是否遇到过上述的种种烦恼?如果是,那么本文提供的解决方案将帮助你摆脱烦恼,使WebSphere Adapter的配置管理工作变得更高效、更智慧。
第一部分 WebSphere Adapters简介及配置问题的引入
WebSphere Adapters是IBM提供的一种基于JCA(J2EE Connector Architecture)规范,实现应用程序与企业信息系统(EIS)之间业务集成的资源适配器。它支持部署于多种Brokers,如WebSphere Process Server(WPS)、WebSphere Application Server(WAS)、WebSphere Message Broker(WMB)等等。目前最新版本为6.2。
在实际使用中,WebSphere Adapters所包含的常用配置对象包括ResourceAdapter(RA), ManagedConnectionFactory(MCF)和ActivationSpec(AS)。ResourceAdapter用于配置适配器自身的基本属性,例如标识、Trace设置等等;ManagedConnectionFactory和ActivationSpec则分别用于配置适配器进行出站(Outbound)和入站(Inbound)连接所需的属性,如用户名、密码、EIS系统信息、语言编码等等。
WAS是IBM基于Java EE、XML和Web Service等规范实现的软件应用服务器;而WPS则是构建于WAS基础上、扩展了企业业务总线(ESB)并支持面向服务架构(SOA) 的业务流程服务器。WAS和WPS都提供了管理控制台(Administrative Console)进行各种部署应用的配置管理。我们可以在图形化界面下对WebSphere Adapters的各种配置对象进行创建、删除、修改属性等操作。
但是,在实际使用中,这种配置管理方式存在着以下几点不足
1. 对于数量众多的属性,如SAP Adapter中的激活规范属性就有10~20个,仍需要手工地逐一填写,较为费时费力。
2. 管理控制台不提供属性值的保存、载入功能,这就无法对已有信息进行备份和重用。
3. 如需将当前配置复制迁移到其他服务器环境,或要对大量服务器进行配置,这种配置管理方式的效率会极为低下。
因此,我们应用WAS和WPS提供的wsadmin管理工具与Jacl语言,结合WebSphere Adapters的配置特点,给出了一套实现WebSphere Adapters在WPS和WAS上将配置信息导入导出为.properties文件的Jacl程序包
第二部分 解决方案介绍
首先我们列出了针对每一种部署类型、每一个配置对象实现导入、导出功能的Jacl程序文件。 有经验的读者可跳过后面章节,直接从本文所附的程序包中选择使用。
|
部署类型 |
配置对象 |
导入 |
导出 |
|
节点级 |
ResourceAdapter属性 |
ImportStandaloneRAProperties.jacl |
ExportStandaloneRAProperties.jacl |
|
ManagedConnectionFactory属性 |
ImportStandaloneConnectionFactory.jacl |
ExportStandaloneConnectionFactory.jacl | |
|
ActivationSpec属性 |
ImportStandaloneActivationSpec.jacl |
ExportStandaloneActivationSpec.jacl | |
|
应用级 |
ResourceAdapter属性 |
ImportEmbeddedRAProperties.jacl |
ExportEmbeddedRAProperties.jacl |
|
ManagedConnectionFactory属性 |
ImportEmbeddedConnectionFactory.jacl |
ExportEmbeddedConnectionFactory.jacl | |
|
ActivationSpec属性 |
ImportEmbeddedActivationSpec.jacl |
ExportEmbeddedActivationSpec.jacl |
表1. Jacl程序文件列表
解决方案的整体思路:
Jacl程序从WAS或WPS中部署的WebSphere Adapter中定位RA、MCF、AS等资源对象并读取它们的属性值,并将这些属性值保存为.properties文件类型;或者从Properties文件中读取属性值并写入资源对象中。这一过程可有如下几种调用方式:
· 利用wsadmin管理工具运行Jacl程序;
· 在Java中调用Jacl程序;
· 在其他支持命令行工具或Jacl、Jython的自动化架构中调用(Jacl程序可方便转换为Jython程序)。
图1 解决方案的整体思路
下面我们将对该解决方案的使用方法进行具体介绍。
1. 用wsadmin运行Jacl脚本文件
wsadmin工具是WAS和WPS提供的一个接受脚本语言输入的非图形化管理工具。它支持Jython和Jacl两种脚本语言,本文选取Jacl作为实现语言。
用户可在WAS/WPS的bin目录下(${app_server_root}/bin),或概要文件的bin目录下(${profile_root}/bin)找到wsadmin.bat或wsadmin.sh。
wsadmin 命令指定 -f 选项用于运行脚本程序,例如:
wsadmin.bat -f 'script.jacl'
2. Jacl程序文件使用方法
根据WebSphere Adapters在WAS/WPS上的部署方式不同,分为节点级(Node Level)和应用级(Application Level)。这一分类方法与根据Adapter RAR的打包方式分为独立(Standalone)RAR和嵌入式(Embedded)RAR是类似的。
下面给出了在不同部署模式下实现WebSphere Adapter属性导入导出的程序流程图(读者可以此对照程序文件,掌握利用Jacl进行配置操作的一般方法),以及各个程序文件的使用方法说明。
2.1 针对节点级的解决方案:
图2. 节点级解决方案程序流程图 – 导入和导出
命令模式:
wsadmin -f ******StandaloneRAProperties.jacl -user
wsadmin -f ******StandaloneConnectionFactory.jacl –user
wsadmin -f ******StandaloneActivationSpec.jacl -user
参数解释:
· ******:Import或Export
·
·
·
·
·
·
2.2 针对应用级的解决方案:
图3. 应用级解决方案程序流程图 – 导入和导出
命令模式:
wsadmin -f ******EmbeddedRAProperties.jacl -user
wsadmin -f ******EmbeddedConnectionFactory.jacl –user
wsadmin -f ******EmbeddedActivationSpec.jacl -user
参数解释:
· ******:Import或Export
·
·
·
·
·
·
3. 操作实例
图4. SAP Adapter的ALE入站的激活规范属性
现在我们通过一个实际例子演示该程序的具体使用过程。假设我们已使用了一节点级(Node Level)WebSphere Adapter for SAP Adapter(以下简称SAP Adapter)的ALE接口在WPS上进行入站(inbound)操作。为了要将ALE入站操作所需的激活规范属性设置(如图4所示)保存下来,我们只需选用ExportStandaloneActivationSpec.jacl程序(可放在任意位置例如C:),然后通过命令窗口在WPS的概要文件的bin目录下运行下面一行命令:
wsadmin -f C:/ExportStandaloneActivationSpec.jacl -user admin -password admin saptestwinNode03 "IBM WebSphere Adapter for SAP Software" SAP_ALE_AS C:/as.properties
图5. ExportStandaloneActivationSpec程序在命令窗口中的运行
这样便可将所有非空的激活规范属性值轻松保存为as.properties文件。
相反地,如果需要将已有属性导入到新的激活规范中,则在新创建激活规范后,只需一行命令,便可完成属性值从properties文件的快速导入。
第三部分 结束语
本文提出了一套用于实现WebSphere Adapter在WAS和WPS上配置的自动导入导出功能的解决方案。该方案同样适用于WebSphere Adapter在WAS或WPS的网络部署(Network Deployment)以及集群(Cluster)环境的配置管理。
基于本文提供的Jacl工具,以及wsadmin的丰富强大管理功能(如AdminConfig, AdminApp, AdminTask等),读者可以进一步实现WebSphere Adapter的全自动化管理解决方案(安装/卸载、启动/停止、配置/迁移等)。
此外,本文实现该解决方案的一般思路及部分Jacl语句同样可应用于部署在WAS和WPS上的其他应用模块和资源对象的配置管理上。读者可由此举一反三,将低效、繁琐的工作变得更为高效、智慧!
>>>>>>>>>>> 程序下载
作者简介
余珊,现就职于IBM CDL,从事WebSphere Adapter的测试工作,在SOA、自动化测试工具开发方面具有丰富的实践经验。目前主要专注于WebSphere Adapter for SAP Software,以及在WebSphere Process Server, WebSphere Application Server和WebSphere Message Broker上实现与SAP系统的业务整合。可以通过yushan@cn.ibm.com联系作者
王博,现就职于IBM CDL,从事IBM WebSphere JCA Adapters的测试工作。目前主要专注于WebSphere Adapter for SAP Software,以及在WebSphere Process Server, WebSphere Application Server和WebSphere Message Broker上实现与SAP系统的业务整合。可以通过wangbowb@cn.ibm.com联系作者。
方海伟,现就职于IBM CDL,目前从事WebSphere SAP Adapter在WebSphere Process Server, WebSphere Application和WebSphere Message Broker上实现与SAP系统的整合测试工作,对SOA、使用WebSphere MQ实现系统间异步通信等方面比较感兴趣。可以通过fanghaiw@cn.ibm.com联系作者
参考资料
· WebSphere Adapters v6.2 信息中心
· WebSphere Application Server v6.1信息中心
wsadmin专题介绍
Jacl专题介绍
· WebSphere Process Server v6.2 信息中心
· 使用 wsadmin 定位 WAS 资源对象的配置标识
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0903_cuixx_wsadmin/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21860223/viewspace-605967/ ,如需转载,请注明出处,否则将追究法律责任。