IBM® WebSphere Integration Developer(后面称为 Integration Developer)是一个强大且灵活的开发环境,适用于 WebSphere Process Server、WebSphere Enterprise Service Bus (ESB) 和 WebSphere Adapters Version 7.0。本文介绍 2009 年 12 月 11 日发布的 Version 7.0 中的新特性和功能更新。
WebSphere Integration Developer 的安装过程已经改进并简化了。现在可以更细地控制要安装什么组件,从而优化内存占用量。安装过程现在支持安装 WebSphere Business Monitor Toolkit、WebSphere Business Monitor 测试环境、Lotus® Forms Designer 和 Lotus Forms Server。
安装的第一个组件是 IBM Installation Manager。接下来安装 WebSphere Integration Developer 工具,然后安装集成测试环境。使用一个多步骤的过程安装 Integration Developer 和 WebSphere Application Server,然后为 WebSphere 测试环境创建概要文件。可以创建 WebSphere ESB、WebSphere Process Server 或 WebSphere Business Monitor 服务器概要文件或它们的组合。图 1 显示安装屏幕上的选项。
图 1. 安装选项

在新的工作空间中第一次启动 Integration Developer 时,显示经过更新的启动屏幕,见图 2。这里为 WebSphere ESB 开发人员提供了一个新选项,它限制可以部署到测试服务器上的工件。除了示例、教程和其他资源之外,Version 7 中的一个新特性是任务流 的概念。
图 2. 启动屏幕

开发人员可以使用任务流来建立由实现某个目标所需执行的多个任务形成的高级流程。例如,任务流可以帮助从来没有构建过 WS-BPEL 过程的用户理解构建过程所需的主要步骤(从设置到构建,然后到组装和部署),见图 3。向用户提供简单的说明,引导他们完成各个任务。
图 3. 任务流

以前的 Integration Developer 版本包含模式 库,模式是用于复杂场景的内置可重用模板,可以帮助开发人员快速地开发解决方案。Version 7 在这个库中增加了更多模式,见图 4。选择一个模式时,会显示模式规范的相关信息。可以通过提供的链接使用这个模式。也可以右键单击模式并选择 Create New Instance。
图 4. Patterns Explorer

Integration Developer 中的编辑器已经改进了,提高了易用性。还添加了新特性和功能以支持 WebSphere Process Server 和 WebSphere ESB V7 中的新特性。
Business Object 编辑器增加了几个新特性和功能。Configuration 部分提供用来重构业务对象的名称或名称空间的可单击链接,见图 5。还有两个新按钮,分别用于在大纲视图中显示业务对象和显示业务对象的 Properties 选项卡。
图 5. Business Object 编辑器

其他编辑器中常常也有这些新特性。一个新特性允许以图形方式对比两个模块或库中的业务对象,显示添加、删除或修改的项。对比两个业务项的步骤如下:
- 在项目视图中选择两个业务项。
- 右键单击其中之一。选择 Compare With – Each Other,见图 6。
图 6. 对比业务项
就会显示对比的结果,见图 7。可以通过右上方的按钮选择下一处差异、前一处差异、下一处修改和前一处修改。历史视图打开,显示对业务对象的修改,可以按日期对修改排序。
图 7. Compare 视图

一个新特性可以把重构的影响复制到剪贴板。现在可以导出 XSD 文件了。还可以把依赖的 WSDL 或 XSD 资源合并到父文件中。
除了新的重构功能之外,还提供一个修改接口的绑定风格的链接,见图 8。默认的绑定风格是 “Document Literal Wrapped”。如果要使用附件,可以把风格改为 “Document Literal Non-Wrapped”。导入的 WSDL 可以使用 Remote Procedure Call (RPC) 风格和 Unknown 风格。对于导入,允许这两个风格,但是不能在 Interface 编辑器中生成它们。
图 8. Interface 编辑器

Assembly Diagram 编辑器现在支持 WebSphere Process Server V7 中的功能以及其他易用性功能。面板已更新,提供了出站导入和入站导出文件夹,以帮助区分什么时候使用导入或导出。现在不必先添加一般性导入,然后再添加绑定,而是从为支持的每个协议预先配置的文件夹拖出导入,见图 9。可以使用 Favorites 文件夹存储组件,这样就不必一步步展开以找到自己最常用的组件。
图 9. 出站导入文件夹

以前的 Integration Developer 版本可以在表格中显示组装图的所有限定词。Version 7 增加了筛选限定词的新功能,见图 10。增加了新的事务限定词 “Local application”。可以使用这个新限定词控制事务边界。
图 10. 筛选限定词

以前的 Integration Developer 版本引入了集成解决方案的概念,可以在其中显示所有组件和模块。Version 7 增强了这个功能,可以显示事务边界,即使它们是跨模块的。另外,可以通过一个新选项在测试服务器上部署或删除集成解决方案。
XPath 表达式构建器现在在文本区域中提供内容辅助。只需单击一个按钮,就可以从 BPEL、XML Map 和 MFC 编辑器访问它。在输入文本时,会立即检验文本。为了更容易构建表达式,可以通过向下钻取寻找元素,或者为常用的表达式定义别名,这样只需输入别名,而不必输入整个表达式。如果把别名放在库中,就可以共享它们。如图 11 所示,现在在选择字段时可以输入筛选。在添加筛选或可选的条件时,提供显示示例的链接。
图 11. XPath 表达式构建器

创建别名的方法是右键单击一个库项目,然后选择 New – Business Vocabulary。然后可以创建包含别名的业务项。还可以创建在 WebSphere Business Compass 中使用的消息和错误消息。
以前的 Integration Developer 版本有 XML Mapper 和 Business Object Mapper。Version 7 把这两个工具合并为一个向导。当选择 New – Maps – Data Map 时,出现图 12 所示的向导。现在可以在 BPEL 过程中使用 XML 映射。
图 12. Mapping 向导

映射现在支持转换为派生类型。当右键单击一个复杂类型时,会看到新选项 Cast,见图 13。现在还可以在具有不同源和目标类型的映射中使用 Move。
图 13. 转换数据类型

Mapping 编辑器现在支持对转换进行剪切和粘贴。跨多个映射或在子映射中重用转换时,可以通过剪切和粘贴节省时间。现在可以把局部映射重构为子映射,或者相反。
现在在映射中支持条件逻辑,包括 If、Else if 和 Else,见图 14。
图 14. 条件映射逻辑

增加了内置函数。函数被分类组织。当停留在一个选项上时,选择工具显示它的说明,见图 15。
图 15. 内置函数

在以前的版本中,提供了关系查找函数。Version 7 提供三种新的查找:
- 查找一个键并返回特定值
- Comma-Separated Value (CSV) 属性文件
- 定制的函数引擎
在以前的 Integration Developer 版本中,过程的 Details 选项卡包含大量设置,一些设置需要滚动到页面底部才能看到。为了改进用户体验,Version 7 把这些设置划分在 Details 选项卡和新的 Default 选项卡中,见图 16。
图 16. Details 和 Defaults 选项卡

新特性 “Create a Link To/From Here” 允许选择目标活动,即使活动不在页面上。这对于大型过程尤其有用。图 17 演示如何从列表中选择活动,而不必手工拖动它。
图 17. 创建链接

在以前的 Integration Developer 版本中,为了把变量与任务关联起来,需要选择任务,进入 Details 选项卡,单击 input 或 output,然后选择要使用的变量。Version 7 简化了这个过程,允许拖放变量,见图 18。现在可以把变量拖放到 Receive、Invoke、Human Task 或 Reply 中。ForEach 活动支持拖放数组变量。Throw 活动支持拖放错误变量。Collaboration Scopes 支持拖放 caseFolder 变量。
图 18. 拖放变量

对 Invoke 使用这个特性的步骤如下:
- 把一个 Reference Partner 拖放到过程中,或者添加一个 Invoke 并把它与 Reference Partner 关联起来。
- 把一个类型与接口匹配的变量拖放到 Invoke 中。如果输入和输出是相同类型的,那么第一个拖放操作设置输入。
- 把另一个类型与接口匹配的变量拖放到 Invoke 中。这设置输出。
现在可以按照 WS-BPEL 2.0 规范初始化变量。如图 19 所示,变量属性的 Details 选项卡有一个设置默认值的复选框。
图 19. 初始化变量

对于用 Lotus Form. 启动过程的场景,Projects 菜单中的一个新选项允许从表单生成新过程,见图 20。
图 20. 从表单生成过程

一个新特性简化了新过程版本的创建:
- 右键单击一个模块并选择 New Process Version。
- 输入新模块的名称或接受默认名称,然后单击 Next。
- 过程的版本基于 validFrom 日期。对于过程版本,可以选择 Now 或指定日期/时间,然后单击 Next。
- 选择要包含的过程,然后单击 Finish。
这时会创建新模块,可以更新过程了。
Integration Developer 中的 Human Task 编辑器已经更新以支持 WebSphere Process Server V7 中的新人工任务功能。图 21 演示如何为并行所有权场景设置数据聚合。关于这个新特性的运行时详细信息,参见文章 WebSphere Process Server Version 7 中的新增功能。
图 21. 并行所有权和聚合

在创建仲裁组件时,可以通过一个新选项选择是否希望为团队开发优化仲裁,见图 22。
图 22. 新的仲裁

当 Mediation 编辑器第一次打开时,它显示一个新的概述区域。默认显示提示以指导用户,见图 23。
图 23. 仲裁概述

按提示操作并单击操作时,会让用户选择要使用的模板。与以前的 Integration Developer 版本一样,空仲裁流选项创建一个具有输入节点的空流。其他选项自动地在仲裁流中添加并连接活动,这可以加快开发速度。
图 24. 仲裁流模板

选择一个流模板之后,提示输入更多信息。例如,在使用操作映射模板时,提示输入要映射到的目标操作。当仲裁流编辑器打开时,它不但显示提示,还预先构建一个 ToDo 列表。这个列表显示完成这个流需要完成的任务,见图 25。
图 25. 包含 ToDo 列表的新流

在构建仲裁流时,用户会得到指导。如果把两个消息类型不兼容的原语连接起来,会显示错误消息,见图 26。
图 26. 连接不兼容的消息类型

现在可以右键单击仲裁原语上的终端并选择新选项 “Change Message Type”,见图 27。
图 27. 修改消息类型

在处理大型仲裁流时,无法把所有原语都放在屏幕上,此时,一个叫做 “quick outline” 的新特性可以派上用场。任何时候按 Ctrl-O 就会弹出快速大纲,见图 28。选择一个原语时,编辑器就会把焦点放到这个原语上。
图 28. 快速大纲

移动到一个原语上时,显示信息图标。单击图标就会显示它的信息。可以修改接口并查看 Service Message Object (SMO) 详细信息。可以右键单击一个字段,把 XPath 表达式复制到剪贴板,见图 29。
图 29. 复制 XPath 表达式

Mediation 编辑器的其他新特性包括:
- 原语现在支持弱类型,可以使用任何数据类型。在为终端设置类型时,选择 Any Message Type 即可启用这个特性。
- 可以选择几个原语,然后通过选择一个菜单项把它们转移到子流中。
- 新的原语包括 MessageValidator、SLACheck、Trace、UDDIEndpointLookup 和 GatewayEndpointLookup。
- 现在支持 Lotus Domino 和 Siebel 适配器。
WSDL 和 XSD 的 Import 向导现在支持本地和远程 WSDL 和 XSD。如图 30 所示,如果可以通过 URL 获得 WSDL,就可以选择远程选项。
图 30. 导入 WSDL

在导入包含数据类型定义的 WSDL 时,可以通过新选项把 WSDL 保存到或把 XSD 提取到单独的文件中。
对于所有编辑器,现在更容易找到所需的帮助和支持。Problem 视图已经改进,为解决错误提供帮助。带问号的红色 X 错误图标表示这个错误有相关的帮助。如图 31 所示,单击错误图标会显示新选项 "Go to",它可以打开相关的帮助。
图 31. Problem 视图中的帮助

Help 菜单现在包含 Support 菜单项,见图 32。用户可以轻松地访问用户论坛、developerWorks®、IBM 技术支持和其他在线信息资源。
图 32. Support 菜单

在从 WebSphere Interchange Server 迁移时,有几个改进可以减少所需的工作量:
- 生成的 BPEL 现在更简单,便于维护,有助于提高性能。对于多路径场景,优化了生成逻辑。
- 根据 WebSphere Interchange Server 场景生成单独的 BPEL。
- 减少了生成的工件和接口的数量。
- 如果连接器只连接一个协作方,项目会合并在一起。
在本文中,您了解了 WebSphere Integration Developer V7 中的新特性,包括:
- 对安装和启动过程的改进
- Patterns Explorer
- 对各个编辑器的改进
- 对帮助系统和迁移的改进
- 其他新特性和功能