DataPower上的WebSphere Transformation Extender Design Studio入门

IBM®WebSphere®Transformation Extender是IBM的通用转换引擎。 在称为WebSphere Transformation Extender Design Studio的图形环境中,您可以轻松描述数据并将其映射到多个输入和输出之间。 定义地图后,您可以使用多种不同方法(包括批处理模式)运行它们,可以通过Web Service调用,在z / OS上以及多种其他方式以多种语言提供API。 另外,WebSphere Transformation Extender运行时引擎与各种其他IBM产品紧密集成在一起,例如WebSphere Message Broker,WebSphere Enterprise Service Bus和WebSphere Process Server。

WebSphere DataPower SOA Appliances在专用且易于部署的设备中提供了一系列功能。 几个版本的DataPower Appliance提供不同级别的功能。 DataPower XML Accelerator XA 35提供XML,架构,XPath和XSLT处理。 DataPower XML Security Gateway XS40添加了防火墙,加密和访问控制。 DataPower Integration Appliance XI50进一步增加了ESB功能,包括消息路由和转换。

使用WebSphere Transformation Extender Design Studio为DataPower Appliances开发转换是该平台的自然扩展。 DataPower Appliances使用XSLT在设备上支持高性能XML到XML的转换。 WebSphere Transformation Extender提供了对设备上的XML到二进制或二进制到XML转换的支持,而无需编写任何XSLT。 与独立产品一样,编写转换就像使用Design Studio图形用户界面定义输入和输出然后在它们之间进行映射一样简单。 本文将向您展示如何在WebSphere Transformation Extender Design Studio中创建多个地图,然后在DataPower Appliance上运行它们。

先决条件

要遵循本文附带的示例,您需要安装以下产品:

  • WebSphere Transformation Extender Design Studio V8.1.0.2或更高版本
  • 具有更新固件的WebSphere DataPower XI50

请参阅产品文档以获取有关操作系统和硬件要求的信息。

WebSphere Transformation Extender设计工作室

使用WebSphere Transformation Extender Design Studio创建转换是一个简单的过程。 使用此产品的主要好处是,了解独立版本的WebSphere Transformation Extender中创建转换的过程,使您可以利用这些转换来创建针对DataPower的转换。

创建类型树

创建转换的第一步是定义类型树,它是WebSphere Transformation Extender工件,它是您要转换的对象的数据字典。 它是数据的类似于模式的表示形式,它使WebSphere Transformation Extender可以对输入和输出执行验证。

有多种方法可以创建类型树,具体取决于您的数据。 WebSphere Transformation Extender提供了一组导入程序,可以自动执行此过程,如下所述。 这些导入器包括XML模式,DTD,COBOL抄写本,CORBA IDL文件等。 如果要自己定义输入数据,则可以使用“类型设计器”图形工具,该工具可用于指定数据将包含哪些字段,如何定界以及要执行的任何类型验证。

类型树不依赖于输入或输出方向,可以广泛地重用。 他们只是告诉WebSphere Transformation Extender需要什么样的数据,以确保您转换的所有数据都是有效的。

创建地图

定义了要转换的所有类型树之后,就该开始映射了。 WebSphere Transformation Extender Design Studio提供了一个称为Map Designer的图形工具,使此过程变得简单。 首先,创建一个扩展名为.mms的地图源文件,这是一个物理工件,其中包含您可能执行的所有映射。 接下来,您将创建一个单独的地图-地图源文件可以包含许多地图,但是出于本文的目的,我们将其限制为一个。

每个地图都有输入和输出卡。 WebSphere Transformation Extender允许多个输入和输出,因此您可以从各种来源读取并在单个地图的上下文中写出到各个位置。 创建输入卡时,最重要的设置是卡名称。 定义输入卡和输出卡后,映射就像从输入到输出字段的拖动一样简单。 为了执行更复杂的功能,WebSphere Transformation Extender为诸如转换数据,对其执行数学运算或操纵字符串之类的任务提供了内置函数。 映射所有输出字段后,就可以构建地图并运行它了,这是在“地图设计器”工具中进行的。

在DataPower上构建和运行WebSphere Transformation Extender映射

现在您已经了解了创建WebSphere Transformation Extender类型树和映射所涉及的概念,您可以运行一些实际的映射。 从一个简单的“ Hello World”地图开始,然后进行更实际的示例。

在DataPower上运行“ Hello World”地图

首先加载并运行一个简单的WebSphere Transformation Extender映射,首先使用WebSphere Transformation Extender引擎,然后移至DataPower:

  1. 启动WebSphere Transformation Extender Map Designer。
  2. 在打开的对话框中,选择打开现有地图源文件
  3. 浏览到WebSphere Transformation Extender安装目录,然后浏览到examples \ DataPower目录,然后打开Mail.mms。
  4. 请注意,ContactToLabel映射旁边有一个DataPower图标。 默认情况下,此映射设置为与DataPower引擎一起运行。 要使用标准WebSphere Transformation Extender运行时引擎运行此地图,您需要更改地图设置。 选择地图=>设置 。 列表中的最后一项应该是MapRuntime 。 将其更改为WebSphere Transformation Extender
  5. 如您所见,此映射具有一个ContactFile输入对象,并且正在映射到Label输出。 展开ContactFile结构,并注意它包含许多联系记录,每个联系记录都由诸如姓氏和名字之类的输入数据组成。 输出结构是一个Label,它使用一些输入字段来创建邮件标签。 其中一些字段(例如FullName)是不同输入数据的组合。
  6. 由于此映射已完成,因此您可以构建它并运行它以验证其是否有效。 选择Map => Build ,然后选择Map => Run
  7. 要查看运行结果,请选择Map => Run results ,然后单击OK 。 应该出现两个文本文件,并显示已处理11个输入对象,并写入了5个输出对象。

您已经使用WebSphere Transformation Extender引擎成功运行了样本图。 设置此映射以在DataPower上运行非常简单。

  1. 将地图设计器指向要在其中运行地图的DataPower Appliance:选择工具=>选项
  2. 选择DataPower Maps
  3. 设置DataPower Appliance的主机和端口号,它将使用HTTP将数据从Map Designer传输到您的设备。 如果需要使用安全HTTP,请选中该框并设置要使用的证书。 在此对话框中,您还可以将DataPower设置为默认的运行时引擎,并保存Map Designer与DataPower交换的消息。 您可以暂时将其保留为未选中状态。
  4. 现在,您已经指向DataPower,将映射更改回DataPower运行时引擎。 选择Map => Settings,然后将Map运行时更改回WebSphere DataPower
  5. 现在,您可以像以前一样构建和运行地图。 选择Map => Build ,然后选择Map => Run 。 Map Designer将转换所需的所有文件(包括数据)发送到DataPower引擎,该引擎将转换数据并将结果发送回Map Designer。
  6. 要查看运行结果,请选择Map => Run results

现在,您已经制作了一张简单的地图,并显示了在WebSphere Transformation Extender运行时引擎和DataPower运行时引擎上运行它的容易程度。 下一步是一个更真实的示例。

创建一个XML到COBOL的映射

结合使用WebSphere Transformation Extender Design Studio和DataPower的最强大的用例之一是将旧应用程序与可以使用XML的新服务连接起来。 Design Studio使这一过程变得简单,并让您保留了使用DataPower Appliance的好处。 在此示例中,您将读取XML数据并将其以COBOL字帖格式写出。 数据涉及一个简单的采购订单。 这是模式:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
  <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>

  <xsd:complexType name="PurchaseOrderType">
    <xsd:sequence>
      <xsd:element name="item"   type="xsd:string"/>
      <xsd:element name="item_count"   type="xsd:int"/>
      <xsd:element name="shipTo" type="USAddress"/>
    </xsd:sequence>
    <xsd:attribute name="orderDate" type="xsd:date"/>
  </xsd:complexType>
			
  <xsd:complexType name="USAddress">
    <xsd:sequence>
      <xsd:element name="name"   type="xsd:string"/>
      <xsd:element name="street" type="xsd:string"/>
      <xsd:element name="city"   type="xsd:string"/>
      <xsd:element name="state"  type="xsd:string"/>
      <xsd:element name="zip"    type="xsd:decimal"/>
    </xsd:sequence>
    <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
  </xsd:complexType>

</xsd:schema>

该模式定义PurchaseOrderType对象,该对象包含有关订单的信息以及由多个字段组成的shipTo地址。 这是与该模式对应的输入数据:

<?xml version="1.0"?>

<purchaseOrder orderDate="1999-01-21" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="po_2.xsd">
    <item>Widget</item>
    <item_count>15</item_count>
    <shipTo country="US">
        <name>John Doe</name>
        <street>123 North St</street>
        <city>Miami</city>
        <state>FL</state>
        <zip>33175</zip>
    </shipTo>
</purchaseOrder>

输出是具有以下结构的COBOL抄写本:

000010 01  PURCHASE_ORDER.
000020     02  ITEM PIC X(30).
000030     02  ITEM_COUNT PIC S9(10).
000040     02 NAME    PIC X(30).
000050     02 STREET    PIC X(30).
000060     02 CITY    PIC X(30).
000070     02 STATE    PIC X(30).
000080     02 ZIP    PIC S(11).

创建此解决方案的第一步是创建类型树。 首先,使用WebSphere Transformation Extender架构导入器导入purchase_order.xsd文件:

  1. 打开WebSphere Transformation Extender类型编辑器
  2. 选择导入类型树
  3. 选择XML模式导入器
  4. 浏览至purchase_order.xsd ,然后单击下一步
  5. 本国语言默认设置正确,因此单击下一步
  6. 在“ 文件名”字段中输入purchase_order.mtt,然后单击“ 下一步”
  7. 创建类型树后,单击“ 完成 ”。
  8. 系统可能会提示您是否要打开类型树。 如果是这样,请单击
  9. 现在,创建的类型树应显示在“类型编辑器”中。 您需要分析树以确保在地图中使用它之前没有错误。 选择树=>分析=>仅结构 。 您可能会看到与已废弃描述有关的警告,但这是正常现象。
  10. 保存类型树并关闭它。

接下来,执行类似的步骤来为副本创建类型树。

  1. 选择树=>导入
  2. 选择COBOL Copybook导入器
  3. 浏览到po_copybook.cpy ,然后单击“ 下一步”
  4. 数据语言设置正确。 单击下一步
  5. 文件名字段中输入输出文件的名称 ,然后单击下一步
  6. 创建类型树后,单击“ 完成 ”。
  7. 系统可能会提示您是否要打开类型树。 如果是这样,请单击
  8. 现在,创建的类型树应显示在“类型编辑器”中。 您需要分析树以确保在地图中使用它之前没有错误。 选择树=>分析=>仅结构
  9. 保存类型树并关闭它。

现在,您已经定义了输入和输出,并准备好完成地图。

  1. 打开WebSphere Transformation Extender Map Designer,然后创建一个新的Map Source文件。
  2. 选择Map => New,然后将地图调用XMLtoCOBOL。
  3. 右键单击输入卡,然后选择新建
  4. 设置CardName 输入 ,选择purchase_order.mtt作为TypeTree,选择文档的类型,并选择po_xml_data.xml的文件路径。
  5. 右键单击输出卡,然后选择新建
  6. 将CardName设置为output ,选择po_copybook.mtt作为TypeTree,选择PURCHASE_ORDER作为Type并选择po_copybookdata.txt作为FilePath。
  7. 在“从”和“到”窗口中展开类型。 这将显示输入和输出卡的所有字段。 将相关的输入字段拖到输出字段。
  8. 选择Map => Build ,然后选择Map => Run 。 要检查运行结果,请选择Map => Run Results
  9. 要在DataPower上运行地图,请使用“地图设置”对话框将MapRuntime更改为WebSphere DataPower,然后重复步骤8。

结合使用WebSphere Transformation Extender Design Studio和DataPower的技巧

前面的示例展示了如何构建可在DataPower上使用的类型树和映射。 WebSphere Transformation Extender的先前用户应注意,某些功能在DataPower运行时上受到限制。 为了简化用户的过程,地图设计器会在构建时执行检查,以确保地图中不包含任何受限功能。 WebSphere Transformation Extender Design Studio文档中提供了这些限制的完整列表。

结论

本文展示了如何开始使用WebSphere Transformation Extender Design Studio创建类型树和映射并将其部署在WebSphere DataPower SOA Appliances上。 DataPower Appliances提供了与WebSphere Transformation Extender Design Studio一起使用时可以放大的强大功能。


翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/0712_vila/0712_vila.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值