IBM® WebSphere Integration Developer (hereafter called Integration Developer) is a powerful and flexible development environment for WebSphere Process Server, WebSphere Enterprise Service Bus (ESB), and WebSphere Adapters Version 7.0. This article shows the new features and functions updated in Version 7.0, released December 11th, 2009.
The installation process for WebSphere Integration Developer has been improved and simplified. You now have more control over what is installed to optimize the memory footprint. The installation process now supports the installation of the WebSphere Business Monitor Toolkit, WebSphere Business Monitor test environment, Lotus® Forms Designer, and Lotus Forms Server.
The first component installed is the IBM Installation Manager. WebSphere Integration Developer tooling is installed next, followed by the integrated test environment. A guided multi-step process is used to install Integration Developer, WebSphere Application Server, and then creates a profile for the WebSphere test environment. You can create a WebSphere ESB, WebSphere Process Server or WebSphere Business Monitor server profile, or a combination. Figure 1 shows the options on the installation screen.
Figure 1. Installation options
When first starting Integration Developer in a new workspace, the updated getting started screen is displayed, as shown in Figure 2. A new option is provided for WebSphere ESB developers, which constrains the artifacts that can be deployed to the test server. Along with samples, tutorials and other resources, a new feature in Version 7 is the concept of task flows.
Figure 2. Getting started screen
A developer can use a task flow to follow along through the high level process of which tasks to perform to accomplish a goal. For example, a user who has never built a WS-BPEL process can benefit from understanding the major steps required to build the process, from setup to build, then to assembly and deployment, as shown in Figure 3. Simple instructions are supplied for the user to guide them through the tasks.
Figure 3. Task flow
Previous versions of Integration Developer included a library of patterns, which are built-in reusable templates for complex scenarios to help developers rapidly build their solutions. Version 7 adds additional patterns to the library, as shown in Figure 4. When you select one of the patterns, information about the pattern specification is displayed. A link is provided if you want to use that pattern. Alternatively, you can right-click a pattern and select Create New Instance.
Figure 4. Patterns Explorer
The editors in Integration Developer have been improved for ease of use. New features and functions have been added to support the new features in WebSphere Process Server and WebSphere ESB V7.
Business Object editor
The Business Object editor has been updated with several new features and functions. The Configuration section has clickable links to refactor the name or namespace of the business object, as shown in Figure 5. Two new buttons are provided to show the business object in the outline view and to show the Properties tab for the business object.
Figure 5. Business Object editor
These new features are common across the other editors. A new feature enables you to visually compare business objects in two different modules or libraries, detecting items that were added, removed, or changed. To compare two business items:
- Select both business items in the project view.
- Right-click one of the items. Select Compare With – Each
Other, as shown in Figure 6.
Figure 6. Compare business items
The results of the comparison are displayed, as shown in Figure 7. A set of buttons on the upper right enables you to select next difference, previous difference, next change, and previous change. The history view opens to show revisions to the business object and to enable you to group revisions by date.
Figure 7. Compare view
A new feature enables you to copy the impact of refactoring to the clipboard. XSD files can now be exported. You can also merge dependent WSDL or XSD resources into the parent file.
Along with the new refactoring functionality, a link is provided to change the binding style for the interface, as shown in Figure 8. The default binding style is “Document Literal Wrapped”. You can change the style to “Document Literal Non-Wrapped” if you will be using attachments. Imported WSDLs can use the Remote Procedure Call (RPC) style and Unknown style. These two styles are tolerated if imported, but cannot be generated in the Interface editor.
Figure 8. Interface editor
Assembly Diagram editor
The Assembly Diagram editor has been updated to support the functionality in WebSphere Process Server V7, as well as other new functions for ease of use. The palette has been updated with folders for outbound imports and inbound exports to help distinguish when to use import or export. Rather than adding a generic import then adding a binding, you can now drag and drop an import from the folder, preconfigured for each supported protocol, as shown in Figure 9. You can use a Favorites folder to store the components so that you do not have to drill down to find the ones you use most often.
Figure 9. Outbound imports folder
Previous versions of Integration Developer introduced the concept of showing a table with all qualifiers for an assembly diagram. Version 7 adds a new capability to filter the qualifiers, as shown in Figure 10. A new transaction qualifier “Local application” has been added. You can use this new qualifier to control transaction boundaries.
Figure 10. Filtering qualifiers
Integration solution editor
Previous versions of Integration Developer introduced the concept of an integration solution, where you can visualize all components and modules. Version 7 enhances this capability by enabling you to visualize transaction boundaries, even if they cross modules. In addition, a new option enables you to deploy or remove an integration solution to and from the test server.
The XPath expression builder now has content assist available in the text area. It is easier to access it from the BPEL, XML Map, and MFC editors by clicking a button. As you enter text, it is immediately validated. To make it easier to build expressions, you can drill down to find elements, or define an alias for frequently used expressions so that you only have to type the alias, rather than the entire expression. Aliases can be shared, but only if they are placed in a library. As Figure 11 shows, you can now enter filters when selecting a field. Links are provided to show examples when adding a filter or an optional condition.
Figure 11. XPath expression builder
To create an alias, right-click a library project, then select New – Business Vocabulary. You can then create business items, which contain aliases. You can also create messages and error messages for use in WebSphere Business Compass.
Previous versions of Integration Developer had an XML Mapper and a Business Object Mapper. Version 7 unifies these two tools into a single wizard. When you select New – Maps – Data Map, the wizard appears as shown in Figure 12. XML maps are now available in BPEL processes.
Figure 12. Mapping wizard
Mapping now supports casting to a derived type. When you right-click on a complex type, there is a new option for Cast, as shown in Figure 13. You can also now use a Move in a map with different source and target types.
Figure 13. Casting a data type
The Mapping editor now supports cut and paste for transforms. When reusing a transform across multiple maps or in a submap, you can save time by using cut and paste. You can now refactor local maps into submaps, and vice versa.
Conditional logic is now supported in maps. If, Else if, and Else are all supported, as shown in Figure 14.
Figure 14. Conditional map logic
The choices of built-it functions have expanded. Functions are sorted into categories. When you fly over an option, the selection tool displays its description, as shown in Figure 15.
Figure 15. Built-in functions
In previous versions, a relationship lookup function was provided. Version 7 provides three new lookups:
- Look up a key and return a specific value
- Comma-Separated Value (CSV) properties file
- Custom function engine
BPEL Process editor
In previous versions of Integration Developer, the Details tab for a process contained a large number of settings, some of which required scrolling to the bottom of the page. To improve the user experience, Version 7 divides up these settings between the Details tab and a new Default tab, as shown in Figure 16.
Figure 16. Details and Defaults tabs
A new feature to “Create a Link To/From Here” enables you to select the target activity, even if it falls off the page. This is particularly useful for large processes. Figure 17 shows how you can select the activity from a list, rather than having to draw it manually.
Figure 17. Creating a link
In previous versions of Integration Developer, to associate a variable with a task, you needed to select a task, go to the Details tab, click the input or output, then select which one to use. Version 7 simplifies this by enabling drag and drop of variables, as shown in Figure 18. You can now drag a variable and drop it onto a Receive, Invoke, Human Task, or Reply. ForEach activities support drag and drop of array variables. Throw activities support drag and drop of fault variables. Collaboration Scopes support drag and drop of caseFolder variables.
Figure 18. Drag and drop a variable
To use this feature for Invoke:
- Drag and drop a Reference Partner onto the process, or add an Invoke and associate it with a Reference Partner.
- Drag and drop a variable of a type matching the interface onto the Invoke. If the input and output are of the same type, the first drag and drop operation sets the input.
- Drag and drop another variable of a type matching the interface onto the Invoke. The output is set.
Variables can now be initialized, in accordance with the WS-BPEL 2.0 specification. As Figure 19 shows, the Details tab of the properties for a variable has a checkbox set to a default value.
Figure 19. Initialize a variable
In cases where a Lotus Form has been provided to start a process, a new option from the Projects menu enables you to generate a new process from a form, as shown in Figure 20.
Figure 20. Generate a process from a form
A new feature simplifies the creation of a new process version:
- Right-click a module and select New Process Version.
- Enter a name for the new module or accept the default, then click Next.
- Processes are versioned based on the validFrom date. For the process version, you can select Now, or specify a date/time, then click Next.
- Select the processes to include, then click Finish.
A new module is created, ready for you to update the process.
Human Task editor
The human task editor in Integration Developer has been updated to support the new capabilities for human tasks in WebSphere Process Server V7. Figure 21 shows how you can set up an aggregation of data for parallel ownership scenarios. See the article What's new in WebSphere Process Server Version 7 for the runtime details of this new feature.
Figure 21. Parallel ownership and aggregation
When creating a mediation component, a new option enables you to select if you want to optimize the mediation for team development, as shown in Figure 22.
Figure 22. New mediation
When the Mediation editor first opens, it displays a new overview area. Tips are shown by default to guide you, as shown in Figure 23.
Figure 23. Mediation overview
When you follow the tip and click the operation, you are presented with a choice of templates to use. The blank mediation flow option creates an empty flow with input nodes, as previous versions of Integration Developer did. The other options give you a jump-start in your development by automatically adding and wiring activities into the mediation flow.
Figure 24. Mediation flow template
When selecting one of the flow templates, you are prompted for further information. For example, when using the operation map template, you are prompted for the target operation you want to map to. When the mediation flow editor opens, not only does it show you tips, it also pre-builds a ToDo list. This list shows tasks that you need to do to complete the flow, as shown in Figure 25.
Figure 25. New flow with ToDo list
As you begin to build out your mediation flow, you are presented with guidance. If wiring two primitives with incompatible message types, you are presented with a message as shown in Figure 26.
Figure 26. Wiring incompatible message types
You can now right-click a terminal on a mediation primitive and select a new option to "Change Message Type", as shown in Figure 27.
Figure 27. Change Message Type
A new feature called “quick outline” helps you when working with a large mediation flow, where you cannot fit all of the primitives on the screen. Type Ctrl-O any time to pop-up the quick outline, as shown in Figure 28. When you select a primitive, it is selected and the editor brings it into focus.
Figure 28. Quick outline
When you fly over a primitive, an information icon appears. Click the icon to show the information for that primitive. You can change the interface and view the Service Message Object (SMO) details. You can right-click a field to copy an XPath expression to the clipboard, as shown in Figure 29.
Figure 29. Copy XPath expression
There are several other new features of the Mediation editor:
- Primitives now support weak typing, where any data type can be used. When setting the type for a terminal, select Any Message Type to enable this feature.
- You can select several primitives, then select a menu option to move them into a subflow.
- New primitives include MessageValidator, SLACheck, Trace, UDDIEndpointLookup, and GatewayEndpointLookup.
- The Lotus Domino and Siebel adapters are now supported.
The Import wizard for WSDL and XSD now supports local and remote WSDLs and XSDs. As Figure 30 shows, you can select the remote option if the WSDL is available from a URL.
Figure 30. Import WSDL
When importing a WSDL, which includes the definition of data types, a new option enables you to keep the WSDL or to extract out XSDs to separate files.
Help and support
Across all of the editors, it is easier now to find the help and support you need. The problem view has been enhanced to include help for errors. The red X error icon is decorated with a question mark to show that help is available for a particular error. As shown in Figure 31, clicking the error icon presents a new option "Go to", which opens the relevant help.
Figure 31. Help in the Problem view
The Help menu now has an option for Support, as shown in Figure 32. You can easily navigate to user forums, developerWorks®, IBM technical support, and other online information resources.
Figure 32. Support menu
When migrating from WebSphere Interchange Server, there have been several improvements to reduce the required effort:
- The generated BPEL is simpler now, making it easier to maintain and improving performance. Logic is refined in the generation for multiple path scenarios.
- Separate BPEL is generated according to WebSphere Interchange Server scenarios.
- The number of generated artifacts and interfaces is reduced.
- Projects are merged together if a connector only connects with a single collaboration.
In this article, you learned about the new features in WebSphere Integration Developer V7. These include:
- Enhancements to the installation and getting started process.
- The Patterns Explorer.
- Enhancements to the different editors.
- Enhancements to the help system and migration.
- Other new features and functions.
- WebSphere Integration Developer V7 Information Center
- What's new in WebSphere Process Server Version 7
- developerWorks WebSphere Process Server and WebSphere Integration Developer resource page