当前位置: 首页 > > IBM > IBM软件 > 在WebSphere Application Server中部署资源适配器

在WebSphere Application Server中部署资源适配器

2014-06-07 10:27 来源:IBM 作者:王娟 人气指数: 我要评论

本文将首先介绍 JCA 架构,然后以符合 JCA V1.5 规范的资源适配器 IMS TM Resource Adapter 为例讲解其在 WebSphere Application Server 中的安装、配置,以及与 IMS 系统连接并进行 Inbound/Outbound 消息处理的过程,最后将介绍 Resource Adapter 的升级,为应用程序开发人员和应用管理员提供参考和示例。

企业应用程序往往需要访问不同的信息系统,例如 CICS, IMS TM, SAP 等系统以使用其现有的业务逻辑和数据。而应用程序例如 WebSphere Application Server 的资源适配器功能 可以同时提供对异构信息系统的连接,用户通过安装针对不同信息系统的资源适配器,并配置相应的属性,可以建立与 EIS 的连接。WebSphere Application Server 支持 JCA V1.0 和 V1.5 规范,本文将以 IMS TM Resource Adapter 为例讲解其在 WebSphere Application Server 中的配置、与 IMS 系统连接并进行 outbound/inbound 消息处理的过程,最后简要介绍 Resource Adapter 的升级过程。

JCA 架构介绍

JCA(J2EE Connector Architecture, 也叫 J2C) 是 J2EE 的连接器架构,它提供了 J2EE 和异构的企业信息系统连接的标准 Java 解决方案,使得 J2EE 应用程序能够集成任何符合 JCA 标准的 EIS 的资源适配器,同时,EIS 的资源适配器也可以部署到任何支持 JCA 架构的 J2EE 上。例如,WebSphere Application Server 可以支持 CICS Adapter, IMS TM Adapter,SAP Adapter 等,而 IMS TM Adapter 可以安装在 WebSphere Application Server,WAS CE, JBoss 等上。根据 JCA 规范,J2EE 需要提供一个 JCA 环境,而 EIS 要提供一个资源适配器,将资源适配器部署到 J2EE 应用上,J2EE 应用程序就可以通过资源适配器访问 EIS, 这与通过 JDBC 访问关系数据库是类似的。

资源适配器是特定于某个 EIS 的,安装在应用程序中,它和应用程序合作以实现交易、安全、连接池等机制。一个资源适配器可以提供应用程序和 EIS 之间的多种连接方式。

  • Outbound 连接:资源适配器允许应用程序连接至 EIS 系统并进行后续工作,所有的通信都是由应用程序发起。在这种情况下,资源适配器是一个运行在应用程序的上下文中的被动的程序库。
  • Inbound 连接:资源适配器允许 EIS 访问应用程序组件,所有的通信是由 EIS 发起的。
  • 双向连接:资源适配器同时支持 Outbound 和 Inbound 连接。

为了实现应用和 EIS 之间的可插拔性(pluggability),JCA 架构定义了一套标准的系统级别的契约(System-Level Contacts)。EIS 端的系统契约通过资源适配器来实现。

JCA 架构系统契约包括:

  • 连接管理:使一个应用能够提供管理特定于某个 EIS 的连接缓冲池,支持大量客户端对 EIS 的并发访问。
  • 事务管理:使得应用程序可以使用事务管理器去管理需要访问多个资源(Resource Manager)的交易(XA 交易),也可以管理只访问某一个资源的交易(local 交易)。
  • 安全管理:提供了对 EIS 的安全访问。支持一个安全的应用程序环境,提供了对 EIS 中重要信息的保护。

JCA 架构还定义了 Client API, Client API 可以被定义为特定于某种 EIS 的 API; 或者定义为 CCI(Common Client Interface), CCI 定义了访问 EIS 的通用的客户端编程接口,这是 JCA 架构所推荐的方式。

总之,JCA 架构提供了多种应用程序和不同 EIS 之间的双向通信的 Java 解决方案。使用 JCA 架构,EIS 供应商不需要为不同的应用程序定制不同的资源适配器。同样,应用程序供应商也不必为了支持一个新的 EIS 去修改代码。

在 WebSphere Application Server 中部署资源适配器

WebSphere Application Server 作为标准的企业应用,支持 JCA V1.0 和 JCA V1.5 架构,允许用户安装针对不同 EIS 系统的资源适配器,以实现与 EIS 的互连,本节将以 IMS TM Resource Adapter 为例讲解其在 WebSphere Application Server 中的安装与配置。IMS TM Resource Adapter 是基于 JCA 架构的资源适配器,它用于 J2EE 的应用程序访问 IMS 的 Transaction Manager(IMS TM),如前所述,IMS TM Resource Adapter 可以被部署在 WebSphere Application Server, WAS CE, JBoss 等应用中。全球有众多大型企业使用 IMS TM Resource Adapter 来访问 IMS 系统,大多数企业选择把 IMS TM Resource Adapter 安装在 WebSphere Application Server 上,如图 1 所示。

图 1. IMS TM Resource Adapter 部署于 WebSphere Application Server

点击这里给我发消息

准备工作

  1. 把 IMS TM Resource Adapter RAR 文件保存到可以被 WebSphere Application Server 访问的文件系统。
  2. 启动 WebSphere Application Server 并登陆到管理控制台(Administration Console)。

安装 IMS TM Resource Adapter

  1. 从管理控制台左侧的导航栏中找到并点击“Resources”,然后单击“Resource Adapters”选项,在控制台的右侧出现“Resource Adapters”面板,如图 2 所示。

    图 2. 安装 Resource Adapter

    图 1. IMS TM Resource Adapter 部署于 WebSphere Application Server
  2. 在右侧“Resource Adapters”面板中点击“Install RAR”,进入“Install RAR File”页面,然后选择 Resource Adapter 的保存位置,可选择“本地文件系统”或者“远程文件系统”。如果选择本地文件系统,点击“Browse”选择 RAR 文件,例如: D:\work\ico1132\IBM\IMS\ICO11\V1132\JCA15\ims1132.rar。
  3. 单击“Next”,进入“Configuration”页面,可以为 Resource Adapter 命名,或者使用默认的“IMS TM Resource Adapter”,然后单击“OK”。
  4. 保存刚才的配置,点击“Save”。图 3 为安装好的 Resource Adapter。

    图 3. Resource Adapter 部署成功

    图 2. 安装 Resource Adapter

在 WebSphere Application Server 中部署应用程序并进行 Outbound 通信

在 Outbound 通信中,EIS 作为服务提供者(Service Provider),J2EE 应用程序可以访问 EIS 的资源,调用 transaction,然后访问数据库。本例中将采用一个 TelephoneBook 应用程序,该程序访问 IMS 的 PhoneBook transaction,输入要查询的人物的名字,输出该人物的电话号码等信息。在部署应用程序之前,应保证 EIS 端的 IMS 系统,IMS Connect 组件,以及 IMS MPP(Message Processing Program) 正常启动。

创建连接工厂(Connection Factory)

在应用程序与 EIS 系统进行 Outbound 通信之前,首先要创建 Connection Factory,Connection Factory 用于一个或多个程序与 EIS 系统创建连接,步骤如下:

  1. 单击部署好的资源适配器的名字,例如“IMS TM Resource Adapter”,进入“Configuration”页面。
  2. 在“Additional Properties”中,选择并点击“J2C connection factories”。
  3. 单击“New”,进入连接工厂配置页面,在此页面中输入 Connection Factory 的名称,和 JNDI 的名称,并保存配置。例如:
    1. Connection Factory name:ims_cf
    2. JNDI name: eis/IMS1

    图 4 所示为新创建的 Connection Factory。

    图 4. J2C Connection Factory

    图 3. Resource Adapter 部署成功
  4. 单击 Connection Factory 名称,例如“ims_cf”,进入配置页面,在右侧的“Additional Properties”中选择并进入“Custom Properties”,在此页面中输入连接 EIS 所需要的信息并保存。例如:
    1. DataStoreName: IMS1 (IMS datastore 的名称)
    2. HostName: ec03237.vmec.svl.ibm.com (TCP/IP 主机名称)
    3. PortNumber: 9999 (TCP/IP 端口号)

到此为止,已经完成 Connection Factory 的配置。

部署企业应用程序并进行 Outbound 通信

部署企业应用程序步骤如下:

  1. 在 WebSphere Application Server 管理控制台页面中,找到并点击“Applications”,选择“WebSphere enterprise applications”
  2. 单击“Install”按钮,然后选择要安装的应用程序,例如 CCIPBook.ear.
  3. 选择“Fast Path”安装,Fast Path 在安装的过程中只会提示需要注意的选项(Option)。
  4. 单击下一步,进入安装选项页面。在 Step 1 中,指定或者修改安装选项;在 Step 2 中,选择安装的模块所对应的应用程序;在“Summary”页面中,检查配置信息是否正确。
  5. 单击“Finish”按钮,会看到安装的 log,包括“Application xxx installed successfully.”信息提示,点击“Save”保存配置。

配置 Resource Reference 信息

  1. 在“Enterprise Application”页面,找到并点击部署好的应用程序,例如“CCIPBookAEAR”,进入配置页面。
  2. 在配置页面的下端,找到 References -> Resource References, 如果 5 所示。

    图 5. Resource Reference

    图 4. J2C Connection Factory
  3. 点击 Resource Reference,填入资源引用的 JNDI 名称。应用程序中定义的资源引用必须对应一个特定的资源。如图 6 所示。

    图 6. 配置 Resource Reference

    图 5. Resource Reference

    其中:ims_cf 是之前定义的 Connection Factory 名称

    eis/IMS1 是之前指定的 JNDI 名称。

  4. 单击“OK”并保存配置,回到“Enterprise Application”页面。选择配置好的应用程序,点击“Start”按钮,启动应用程序。

运行应用程序与 IMS 系统 Outbound 通信:

在 Web 浏览器中,输入 URL: http://localhost:9080/CCIPBookAWeb/CCIBPAAccessBeanInputForm.html

进入“CCIPBookAWeb Input form”页面,填好所需要查询的人的名字,例如“LAST1”,点击“Submit”提交,如图 7 所示。

图 7. CCIPBookAWeb Input form

图 6. 配置 Resource Reference

点击提交后,得到的查询结果如图 8 所示。

图 8. 返回结果 CCIPBookAWeb Results page

图 7. CCIPBookAWeb Input form

示例中应用程序 CCIPBook 通过 IMS TM Reource Adapter 与主机端 EIS 系统 IMS 建立连接并进行 Outbound 通信,调用 IMS 系统的 PhoneBook transaction,用户输入要查询的人物的名字,可以得到他的电话号码等信息,在此查询过程中,访问了主机端的 IMS 数据库。

在 WebSphere Application Server 中部署应用程序并进行 Inbound 通信

Inbound 通信,是由 EIS 向 J2EE 应用程序发起的通信,EIS 扮演了“消费者”的角色(Service Consumer),它可以从应用程序比如 Web Service,EJB 组件中获取所需的信息。图 9 所示为 Inbound 通信模型。

图 9. Inbound 通信模型

图 8. 返回结果 CCIPBookAWeb Results page

MDB

在 JCA 1.5 Resource Adapter 中,MDB(Message Driven Bean) 可以被配置为监听器(Listener)来监听来自 EIS 端的 Inbound 消息。MDB 是可以被消息激活的 EJB 组件,在 JCA 1.5 中,MDBs 被称为 Message Endpoints。MDB 的好处是它把消息处理和商业逻辑清晰地隔离开,并且可以复用商业逻辑。

创建激活规范(Activation Specification)

在 Inbound 通信中,要定义 Activation Specification 用于应用程序和 EIS 通信。在 WebSphere Application Server 中,定义 Activation Specification 步骤如下:

  1. 在 Resource Adapters 页面,选择部署好的 Resource Adapter,例如“IMS TM Resource Adapter”,点击 Resource Adapter 名称,进入配置页面。
  2. 在右侧的“Additional Properties”部分,选择“J2C activation specifications”。
  3. 新建一个 J2C activation specification, 在配置页面中,输入要创建的 activation specification 的名称和 JNDI 名称并保存配置。例如:
    1. Activation Spec Name:callout
    2. JNDI Name: eis/callout
  4. 在 Resource adapters > IMS TM Resource Adapter > J2C activation specifications 页面中,选择要刚创建好的 Activation Spec,点击进入配置页面,在右侧的“Additional Properties”中,选择“J2C activation specification custom properties”,进入定制属性页面。
  5. 在定制属性页面中,指定 EIS 所需要的属性。例如:
    1. dataStoreName: IMS1
    2. hostName: ec03237.vmec.svl.ibm.com
    3. portNumber: 9999
    4. ueueNames: ICOPIPE1 (用于保存 Inbound 请求消息的队列)

保存属性设置后,Activation Specification 配置完成。

部署应用程序并进行 Inbound 通信

本示例中将采用 MDB(Message Driven Bean) IMSICOCalloutIVP.ear 与 IMS 系统进行 Inbound 通信,该 MDB 监听来自 IMS 系统的 Inbound Request 消息,并作出相应的 Response。本示例较为简单,在 IMS 端由 IMS 程序发起 Inbound Request,并且发送消息“Hello From IMS”,MDB 在接收到消息后返回消息“HELLO FROM WEBSPHERE MDB”。在实际应用中,EIS 可以向 J2EE 应用程序发起 Inbound 请求,请求所需要的服务和数据。本示例需要 EIS 端的 IMS 系统,IMS Connect/OTMA 组件做好 Inbound 功能配置并正常启动。

应用程序安装过程与上一节相同,本节中不再重复。应用程序安装完成后,需要为其指定“Message Driven Bean listener bindings”,步骤如下:

  1. 在“Enterprise Applications”页面,选择安装好的应用程序,例如“IMSICOCalloutIVPMDBEAR”,进入配置页面。
  2. 在配置页面中的“Enterprise Java Bean Properties”部分,找到“Message Driven Bean listener bindings”。
  3. 为 MDB 绑定 ActivationSepc JNDI,在“Target Resource JNDI Name”中,填入所创建的 ActivationSpec JNDI 的名称 eis/callout, 并保存配置。如图 10 所示。

    图 10. 为 MDB 绑定 ActivationSpec JNDI

    图 9. Inbound 通信模型
  4. 回到“Enterprise Applications”页面,启动 MDB。

完成以上步骤,就可以运行 IMS 端的程序发起 Inbound Request。在 WebSphere Application Server SystemOut.log 文件中,可以看到如下输出:

[5/9/14 14:55:57:762 CST] 00000032 SystemOut O Synchronous callout request from IMS:
Hello From IMS 
[5/9/14 14:55:57:762 CST] 00000032 SystemOut O Synchronous callout response from WAS MDB:
HELLO FROM WEBSPHERE MDB

消息“HELLO FROM WEBSPHERE MDB”证实了 MDB IMSICOCalloutIVP.ear 接收到了 Inbound Request,并做出了回应。

Resource Adapter 的升级

在实际应用中,伴随着 EIS 的升级,企业用户通常需要同步升级 EIS 所对应的 Resource Adapter,而企业用户常常定义众多的(几十个甚至几百个)Connection Factory/Activation Specification,以对应不同的应用,在升级过程中,用户不想破坏或删掉这些已有的 Connection Factory/Activation Specification 去重新定义。因此,怎样方便地升级 Resource Adapter,是企业用户比较关注的问题。在 WebSphere Application Server V7 以及更新的版本中,可以使用“Update RAR”功能来升级 Resource Adapter,在升级的过程中,不会删掉已有的 Connection 的定义。如图 11 所示,在 WebSphere Application Server Admin Console 的 Resource adapter 界面,找到“Update RAR”,选择要升级的 Resource Adapter,点击“Update RAR”进行升级,在升级的过程中,可以定义新版本的 Resource Adapter 所提供的新属性,升级成功后,将会看到“Update was successful for IMS TM Resource Adapter at Node=…”信息提示。

图 11. Resource Adapter 升级

图 10. 为 MDB 绑定 ActivationSpec JNDI

结束语

JCA 提供了整合异构企业信息系统的一套标准的体系结构,使用它的企业信息系统供应商不再需要为每个应用定制它们的产品。遵守这个规范的应用程序供应商在想增加新的企业信息系统连接的时候也不需要添加自定义代码。作为标准的企业级应用,WebSphere Application Server 支持 JCA 1.0 和 JCA 1.5 规范,它所提供的资源适配器功能可以让企业用户方便地安装、升级对应于不同企业信息系统的 Resource Adapter,以实现与 EIS 的互连。本文以 IMS TM Resource Adapter 为例,详细描述了 Resource Adapter 的部署、配置,以及企业应用程序通过 Resource Adapter 与 EIS 互连,并进行 Inbound/Outbound 通信的过程,最后介绍了 Resource Adapter 的版本升级,为面临同样任务的系统管理员、开发者和产品支持人员提供帮助和参考。

为您推荐: 部署 资源适配器
大家感兴趣的内容
小伙伴最爱的新闻
小伙伴还关注了以下信息
小伙伴关注的焦点

小伙伴都在关注的热门词

芈月传 老司机玩法 萌乐网 黑科技 坐骑揭秘 三国令 铁血皇城 竞技场攻略 书剑恩仇录 披风玩法 装备强化攻略 野外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 哥们网 天书世界 奇珍商城 热血战歌 传奇宝藏抽奖 门徒 范伟打天下 打开方式 门徒获取玩法 三大萌宠简介 新手攻略 挂机系统简介 材料副本 大海战 鸵鸟 大黑 激情玩法 门徒战力提升 万世 强化属性 上古降魔 提升战力 装备攻略 九阴绝学 品质推荐 老干妈 激战来袭 大黑游戏 新服亮点 福利多多 画江山 资料片 玩家 九阴真经 江湖儿女 真实场景 现实 虚拟 随机副本 风色轨迹 听天由命 ppwan 神助攻 武林秘药 激活八大脉门 九天劫变 猎命格 天问 大型PVP 花千骨 激战更尽兴 网易mumu 手游玩家 安卓模拟器 安卓 单挑群战 武侠传说 女神 孙尚香专访 胸猛抱团 新游 占山为王 跨服城战 蜀山战纪 剑雨江湖 攻略 实时VR交互 七大女神代言 酷炫走江湖 世界四大杀手 玩家专访 三国经典 大制作 好玩网页游戏 盘点 宇宙霸主 境界玩法 莽荒纪 勇闯难关 镜像副本 荒漠霸主 装备精通 三大战役 鹌小彦奇谈