轻量服务器_pr视频素材百度云_便宜的

企业应用 虚拟云 浏览

小编:背景 每当我们需要在PI中开发Java映射时,常常会涉及大量的代码拷贝粘贴和重复执行相同的任务。这方面的大部分工作是遵循PI中提供的Java映射API。在本文中,我将介绍一种可以简化

轻量服务器_pr视频素材百度云_便宜的

背景

每当我们需要在PI中开发Java映射时,常常会涉及大量的代码拷贝粘贴和重复执行相同的任务。这方面的大部分工作是遵循PI中提供的Java映射API。在本文中,我将介绍一种可以简化PI中Java映射开发的方法。Alessandro Guarneri在下面的文章XI Java Mapping Helper(DOM)中介绍了类似的方法。在本文中,该设计基于新的API,它利用了PI7.1以后的AbstractTransformation类。希望这也能降低那些正在考虑开发Java映射但对它还不熟悉的人的入门门槛。

概念与设计

这个想法是将通常重用的代码"打包"在一起,这样开发者就可以专注于特定需求的特定逻辑。此方法基于使用抽象类的策略模式。

通常,以下是Java映射所需的步骤序列。

如上所述,步骤1和步骤3通常是相同的。映射之间的区别通常是步骤2生成输出内容。因此,我们可以将步骤1和步骤3中的逻辑封装到一个抽象基类中。

此外,还可能存在不同类型的输入/输出内容(普通、XML、二进制等),并且每种内容都需要特定的逻辑来解析和流生成。因此,将有第二层抽象类控制每个转换类型的正确逻辑顺序。

下表列出了此设计中的类。

下面是AbstractPlain2DOM类中的逻辑示例。首先,对输入数据进行解析,并将其存储在字符串数组中(表示输入有效负载的每一行)。然后以DOM格式生成输出内容。最后,DOM输出被转换成输出流。

每个子类都有一个抽象的generateOutput方法。这个方法需要在扩展相应抽象类的自定义映射类中实现。下表列出了每个类的抽象方法的输入/输出参数。

映射实现示例

现在我们开始实际要做的工作。在本例中,我将基于Sunil Chandra共享的技术直接在ESR中开发Java映射。或者,云服务器环境,这可以在Eclipse/NWDS中以正常方式完成—只需记住在构建路径中包含下面的JAR文件。

步骤1

将JAR文件作为导入的存档导入ESR(进一步开发时可以跳过此步骤。)

步骤2

创建具有虚拟源和目标的消息映射。

步骤3

在功能选项卡,包括存档,并添加com.equalize.xpi公司.esr映射. 如果您使用的是与DOM相关的函数,请同时导入org.w3c.DOM。

步骤4

在"属性和方法"部分编写代码。

基本上,这里只需要做两件事。首先,实现抽象变换的变换方法。下面的代码可以原样复制。

其次,更重要的是对输出内容的逻辑进行编码。为此,创建一个本地CustomMap类,该类扩展自上述抽象类之一(本例中为AbstractPlain2Plain)。然后实现generateOutput方法。下面的代码只是为每个输入行添加了一个前缀–HD表示第一行,FT表示最后一行,云免服务器,品牌云服务器,IT表示中间的所有行。

步骤5

测试映射。

结论

正如您所看到的,针对任何需求的Java映射的开发都大大简化了。开发人员不再需要处理解析和流转换,因此可以完全专注于具体的内容生成。

另外,目前只有4个不同的映射子类,云计算怎么样,处理DOM和纯文本处理。这在将来很容易扩展到包括其他类型,即SAX.

源代码和JAR

Java源代码和JAR文件在下面的GitHub存储库中可用。还包括上述每个抽象类的示例实现源代码。

equalize xpi mapping at engswee's GitHub

Reference

下面的文章简单易学–Java mapping using DOM–SAP PI 7.1+by Ricardo Viana是学习基于DOM的处理的有用资源。

Eng Swee Yeoh verry nice blog,学数据库,congrat's谢谢你记住我的博客。

我需要修复一些东西,因为那是Java映射的第一个博客,下一个会更好。

恭喜

嗨Ricardo,谢谢你的评论。期待你的下一个博客

文章来源:www.vmchk.com

 
你可能喜欢的: