级别: 中级 Marc Fasbinder, BPM 集成解决方案架构师, IBM
2008 年 10 月 10 日 IBM WebSphere Integration Developer 是一个功能强大的工具,供集成开发人员在 SOA 生命周期的组装阶段使用。您可以创建、测试和调试 WebSphere Process Server 的构件,包括 WS-BPEL 流程和状态机、人工任务、业务规则、SCA 组装关系图等等。本文研究 WebSphere Integration Developer V6.1.2 中的新增功能。本文要求读者具备 WebSphere Integration Developer 的基本知识。
引言
在建模、组装、部署和管理这个 SOA 生命周期中,IBM® WebSphere® Integration Developer 是在组装阶段使用的工具。WebSphere Integration Developer 基于 Eclipse 平台,从而使其能够与其他共享相同 Eclipse Shell 的插件一起使用。WebSphere Integration Developer 是用于支持 WebSphere Process Server 和 WebSphere ESB 的工具。该工具包括用于运行时环境提供的集成组件的 GUI 编辑器,以及图形调试工具。它还包括从 IBM Rational Application Developer 派生的功能,例如用于 Web 或 Java™ 开发的 Eclipse 透视图。原始版本 6.0.0 最初是在 2005 年 9 月发布的,并发布定期更新以引入新的特性和功能,以及跟上 WebSphere Process Server 和 WebSphere ESB 中的最新功能。2008 年 6 月 24 日,IBM 宣布推出 WebSphere Integration Developer V6.1.2,以及业务流程管理(Business Process Management,BPM)堆栈中的其他产品。WebSphere Integration Developer V6.1.2 包括许多新特性,涵盖该产品中的广泛功能领域。
请参阅参考资料部分以了解 WebSphere Process Server V6.1.2 中包括的新功能和增强功能。
开发环境
WebSphere Integration Developer V6.1.2 包括了许多特性,以提供更加功能强大的开发环境。
可视说明
您现在可以在 WS-BPEL 流程、业务状态机、中介流的编辑器以及 SCA 组装关系图编辑器中添加可视说明和注释。这类似于 WebSphere Business Modeler 中的功能。面板现在包括用于创建说明的图标,如图 1 所示。
图 1. BPEL 编辑器中的可视说明
要向 WS-BPEL 流程添加说明,可以执行以下操作:
-
单击 Add a note 的“可视说明”图标,然后在关系图中单击希望添加说明的位置。
-
您将处于可以简单地输入说明的模式。完成说明的输入时,请在说明之外单击。
-
可以在关系图中对说明进行重新定位。您可以选择将说明与关系图的某个部分联系起来,如图 1 所示。将鼠标悬停在说明上,“添加关联”(Add Association) 连接器将会出现。单击圆以选择它,然后将鼠标移动到关系图中的某个活动。
-
现在说明与该活动之间将出现一条直线。即使其中之一被移动,您仍然能够看到说明指向该特定的活动。
业务日历
假设您有一个人工任务,您在其中定义了一个升级,以便在工作未能在四小时内完成的情况下,将向经理发出通知。但是如果工作日在下午 6:00 结束,并且工作请求是在星期五下午 5:55 到达的,那情况会怎么样呢?在四个小时内处理这样的请求是不合理的,因为在星期一早上之前,将没有资源可用。或者,如果请求在星期日到来,此时您的业务已结束,在四个小时内处理该请求是不合理的。当经理在星期一早上到来时,他们将收到多个逾期工作通知——尽管之前没有员工可用于执行那些任务!
业务日历是 WebSphere Integration Developer V6.1.2 中的一个新功能。可以直接创建业务日历,或者从 WebSphere Business Modeler 中创建的时间表导入业务日历。业务日历可以考虑到下班时间、节假日、周末和其他非业务时期。使用业务日历时,用于诸如升级和通知等功能的计时器仅在指定为业务时间的时段中运行。
日历由时间间隔组成。您可以指定称为“工作时间”的间隔,从早上 9:00 到下午 5:00,每天重复。然后您可以指定另一个称为“周末”的时间间隔,从星期六到星期日。最后,您可以指定从工作时间中排除针对周末的间隔。或者,您可以指定一个每周重复的间隔,其中不选择星期六和星期日。可以使用多种方法完成您的目标,但幸运的是,WebSphere Integration Developer 包括了易于访问的示例,因此您不必花费太多的精力即可建立自己的业务日历。
例如,若要创建一个业务日历,其中指定星期一至星期五的上午 8:30 到下午 5:15 为业务时间,您可以执行以下步骤:
-
右键单击 Business Integration 视图中的模块,然后选择 New => Business Calendar。
-
输入日历名称,然后单击 Finish。随即会打开业务日历编辑器,如图 2 所示。
图 2. 业务日历编辑器
-
您可以手动定义时间间隔,或者使用某个示例模板,然后编辑相关间隔以适应您的需要。在此例中,请选择 9 to 5, Monday to Friday。这样会自动为您设置好间隔。
-
将如图 3 所示的初始值编辑为适应您的需求的值。
图 3. 间隔详细信息
-
将“begins on”时间更改为早上 8:30,将“ends on”时间更改为下午 5:15。
-
或者,您可以添加一个“排除日历”间隔以包括午餐时间。
COBOL 支持
在处理消息系统的导入和导出时,有时需要自定义数据绑定来创建所需的消息格式。固定格式的消息通常使用 COBOL Copybook 来进行描述。早期版本的 WebSphere Integration Developer 已包括了相关功能,可以生成 Java 代码来执行业务对象到固定格式数据的绑定。然而,所生成的代码假设消息的目标是 CICS,从而需要编辑生成的代码才能用于非 CICS 系统,请参阅 developerWorks 文章:Creating custom data bindings in WebSphere Process Server without coding。此外,代码生成是在一个支持包的帮助下完成的。COBOL 支持现在是 WebSphere Integration Developer 的一个现成组成部分。
要使用此新功能,可以执行以下操作:
-
基于 COBOL Copybook 生成 XSD。右键单击您的模块,然后选择 New => External Data。
-
单击 Browse,然后导航到您的 COBOL 文件。选择您的文件,然后单击 Open。单击 Next 继续。
-
在 Select Data Structures 页面上,单击 Find 以查看 Copybook 中的数据结构。选择您的结构,然后单击 Next。
-
在 Generate Business Objects 页面上,您可以保留所生成的名称,或者使用您自己的名称。您还可以选择生成样式,以及除缺省命名空间以外的命名空间。当您选择好自己的选项时,请单击 Finish。随即将生成基于 COBOL Copybook 的 XSD。
-
使用新的 XSD 创建接口。右键单击您的模块,并选择 New => Interface。输入新接口的名称,然后单击 Finish。
-
此时会打开接口编辑器。添加一个单向或请求-响应操作。指定操作和参数名称,然后选择所生成的 XSD 作为数据类型。
-
打开模块的 SCA 组装关系图,并添加一个新的导入。将您的新接口添加到该导入。
-
右键单击该导入,并选择 Generate Binding… => Message Binding… => MQ Binding。
-
输入您的 WebSphere MQ 队列管理器和队列的信息。
-
单击 Browse 以选择请求数据绑定配置。单击单选按钮 Show predefined data bindings,然后选择 MQ adapter language data binding generator,再单击 OK。对响应数据绑定配置重复此过程。您应该能够看到与图 4 所示类似的内容。
图 4. 设置 MQ 导入绑定信息
-
单击 OK,然后保存组装关系图。基于您的选择,WebSphere Integration Developer 将自动生成自定义数据绑定所需要的代码。在您的工作区中,将创建一个其路径类似于 c:\Workspace\MQTest\gen\src\test\mq\cobol\mq 的文件夹。此路径中包含基于接口中的数据类型生成的代码,名为 <您的业务对象>DataBinding.java。务必注意的是,仅当您通过外部数据向导创建了 XSD 时,才会生成此代码。
MQ 和 JMS 绑定可以使用此功能以及 FTP 和平面文件适配器。除了 COBOL 以外,C 和 PL/1 也受支持。
其他改进
此版本还做出了其他各种各样的改进:
-
当您对已部署的应用程序做出更新时,现在会显示某个发布操作中待处理的文件列表。
-
XML 模式现在包括对置换组 (substitution group) 的支持,以及与 dotNet 和 Apache Axis Web 服务的互操作性改进。
-
XML 映射编辑器中对数组的支持已得到改进。
-
现在支持接口参数名称的重构。
-
现在可以在远程环境中使用 Citrix Presentation Server 来承载 WebSphere Integration Developer。例如,IBM developerWorks SOA 沙箱是一个试用环境,它使用 Citrix 来使您能够试用 WebSphere Integration Developer,而不需要在本地计算机上拥有该代码。
-
用于使用 WebSphere Business Modeler 进行迭代开发的比较/合并功能已经过改进,现在包括业务规则和人工任务的可跟踪性。WebSphere Business Modeler 中的标注现在映射到 WebSphere Integration Developer 中的新的可视说明。
-
“生成用户界面”功能现在支持生成在业务空间中使用的 HTML/DOJO 客户端。
-
在生成报告时,您现在可以选择应该用于图形的格式:JPEG、PNG、SVG 或 TIFF。
-
问题视图现在包括更多的快速修复。
-
性能已得到改进。
-
所生成的客户端的表示形式已得到改进,并且还包括对 Lotus Forms 客户端中的数组的支持。
存储库
在开发周期中,除了最小的开发企业以外,在几乎所有的开发企业中,一个项目都将涉及到多个集成开发人员。此外,项目中可能还有扮演其他角色的开发人员。因此需要有一个中央存储库,以便这些用户能够彼此共享构件。WebSphere Integration Developer 6.1.2 包括了多个新功能以支持团队开发。
资产管理
IBM 的 Rational Asset Manager 7.1 版使您的组织能够在有组织的分布式开发环境中,高效地控制和重用软件资产。针对作为面向服务的体系结构(service oriented architecture,SOA)活动组成部分的服务(或用于各种开发环境的其他可重用资产),这个协作软件开发资产管理解决方案可以帮助您对它们的设计、开发、发布包和使用加以确定、管理和控制。
WebSphere Integration Developer 6.1.2 使得用户能够从 Rational Asset Manager 中搜索和发布构件。这有助于简化与 WebSphere Business Modeler 和 WebSphere Business Monitor 模型编辑器的协作,WebSphere Business Modeler 和 WebSphere Business Monitor 现在还可以与 Rational Asset Manager 一起配合工作。此功能通过帮助消除将构件显式导出和导入到文件的需要,从而简化了用户体验。相反,可以将构件直接存储到 Rational Asset Manager,然后直接将构件导入工作区。
还为此功能提供了一个新的视图,称为资产存储库视图。该视图位于右下窗格,并靠近 Server 选项卡。
版本控制
可以使用诸如 IBM Rational ClearCase 等版本控制系统来提供签入、签出和对软件项目的版本控制。早期版本的 WebSphere Integration Developer 支持 Rational ClearCase。WebSphere Integration Developer version 6.1.2 通过包括对 Rational ClearCase Remote Client 的支持,从而增强了此功能。这意味着您不再需要在运行 WebSphere Integration Developer 的计算机上直接安装 Rational ClearCase。
测试
对测试进行了若干改进,从而改进了工作效率和应用程序的调试。
-
WebSphere Integration Developer 包括一个 WebSphere Process Server,称为集成单元测试环境(Unit Test Environment,UTE)。WebSphere Integration Developer 6.1.2 具有一个新功能,可以将单元测试环境恢复到安装时的初始配置状态。例如,如果您经常切换工作区,并且忘了从先前的工作区中删除项目,您可以将单元测试环境恢复到初始状态。此外,您可以使用此功能来确保您是在部署到干净的环境,从而能够肯定不同的测试之间不存在变异性。
-
可视跟踪功能已得到增强,现在可以显示更细粒度的事件。此外,现在执行路径可以通过 WS-BPEL 流程、状态机或中介流可视化地指示出来。
-
XML 映射现在可以进行隔离测试,而不必将它们部署到服务器。一个本地的内置 XSLT 引擎用于此目的,从而支持快速的迭代开发。当使用测试客户端时,您现在可以调试 XML 映射,并设置断点。
-
人工任务的组件测试已得到改进。您现在可以在测试客户端中创建人工任务模拟器,或者创建测试用例,测试用例可以是手动的或采用编程形式。您可以指定是在模拟器中立即声明工作,还是指定以毫秒为单位的等待时间。此外,您可以指定用于声明工作的用户 ID 和密码,如图 5 所示。
图 5. 人工任务模拟器
组件测试资源管理器
可以从 Server 视图中启动一个新的测试资源管理器应用程序。该应用程序管理发布到服务器的测试用例。您可以发现、运行和计划安排测试,并且能够定义和启用人工任务模拟器,如图 6 所示。
图 6. 组件测试资源管理器
测试视图:添加了几个测试视图。
新的组件测试资源管理器是一个可从 Servers 视图上下文菜单中启动的服务器应用程序,您可以在其中通过 Web 用户界面管理所有发布到该服务器的测试用例。您可以发现、运行和计划安排测试用例。测试资源管理器允许您定义和启用该服务器的全局组件或人工任务模拟器。
TCP/IP 监视器现在可以使用 Window => Show View => TCP/IP Monitor 菜单项来打开。
跟踪工具:添加了新的跟踪工具。
跨组件跟踪允许您捕获与该组件相关联的日志和异常信息,或调用和退出组件时的工作进程。查看器允许您按调用序列的相关层次关系查看记录。您可以将信息导入为可重新运行的测试客户端执行跟踪。
细粒度的跟踪功能允许您捕获和可视化运行测试时在业务流程、状态机或中介流上处理的活动、状态或中介。此功能可在测试客户端和测试套件编辑器中找到。此跟踪工具可显著增强现有的测试功能,从而帮助您可视化执行流,并将问题缩小到特定的活动或原语。
编辑器增强
WebSphere Integration Developer 6.1.2 包括了对各个编辑器的增强功能。
组装编辑器
除了使用可视说明来添加注释的能力以外,组装编辑器还增强了可视化模块中的事务边界的能力,如图 7 所示。
图 7. 带事务边界的组装编辑器
一个新的属性页显示了所有活动的限定符,使得查找和设置服务质量限定符变得更加容易,如图 8 所示。还添加了剪切、复制和粘贴功能。
图 8. 限定符
图 8. 属性页显示了所有活动的限定符
业务流程编辑器
对流程编辑器的若干改进如图 9 所示。
-
现在可以向关系图添加可视说明以用于注释目的。
-
业务对象映射现在在流程中作为活动直接可用。可以使用业务对象映射将数据从一个变量映射到另一个变量,而不是使用分配活动。
-
变量列表现在可以按字母顺序排序。
-
现在单击接口合作伙伴、引用合作伙伴、变量、相关集和相关性属性可以折叠或展开该组。
-
新的日历小部件使得指定 validFrom 日期更加容易。
-
添加了附加的剪切、复制和粘贴功能。
-
现在双击内联人工任务就可以打开人工任务编辑器,而不必转到属性中去启动编辑器。
图 9. 流程编辑器
-
错误处理程序和补偿处理程序的表示形式已得到改进,如图 10 所示。
图 10. 带错误处理程序的活动
中介流编辑器
WebSphere Integration Developer 6.1.2 中的中介流编辑器已通过几个新功能得到了增强。
-
中介流现在可以操作 SOAP 标头。
-
中介现在可以与包含 Diffgram 的 dotNet 消息交互。
-
现在可以将 XML 子映射放到库中。
-
存在附加的可视代码片段可供使用。
-
添加了附加的剪切、复制和粘贴功能。
XML 映射编辑器和业务对象映射编辑器
用于 XML 映射和业务对象映射的编辑器现在支持置换组。可置换的元素可以在 XPath 表达式构建器、可视代码片段编辑器、流程编辑器中的 BPEL 活动、业务对象编辑器和中介原语中进行选择,以设置消息类型和设置消息元素。在测试组件时,您可以选择可置换元素作为组件测试的输入。
XML 映射编辑器还包括四个新的转换,以便使得映射重复字段更加容易。
总结
WebSphere Integration Developer V6.1.2 已通过广泛的更新得到了增强,从而改进了性能和可用性,使得测试更加容易,并支持 WebSphere Process Server V6.1.2 中的新功能。本文研究了 WebSphere Integration Developer V6.1.2 中的新增功能。建议您探索一下 IBM SOA 沙箱,以了解完整的软件试用版并“在线尝试”所承载的环境。
参考资料 学习
获得产品和技术
讨论
关于作者  | 
|  |
Marc Fasbinder 是 IBM 在密歇根州 Southfield 的 WebSphere Technical Sales 团队的一名 BPM 集成解决方案架构师。 |
对本文的评价
|