In the SOA lifecycle of model, assemble, deploy, and manage, IBM® WebSphere® Integration Developer is the tooling used in the assemble phase. WebSphere Integration Developer is based on the Eclipse platform, enabling its use with other plug-ins sharing the same Eclipse shell. WebSphere Integration Developer is the tooling used to support WebSphere Process Server and WebSphere ESB. The tooling includes GUI editors for the integration components provided by the runtime environment, as well as graphic debugging tools. It also includes functionality derived from IBM Rational Application Developer, such Eclipse perspectives for Web or Java™ development. The original version 6.0.0 was first released in September, 2005, with regular updates being released to bring new features, functions, and to keep up with the latest functionality in WebSphere Process Server and WebSphere ESB. On June 24, 2008, IBM announced WebSphere Integration Developer V6.1.2, along with the other products in the Business Process Management (BPM) stack. WebSphere Integration Developer V6.1.2 includes many new features, across the spectrum of functional areas within the product.
See the Resources section to read about the new features and enhancements included in WebSphere Process Server V6.1.2.
WebSphere Integration Developer V6.1.2 includes a number of features to provide a more powerful development environment.
You can now add visual notes and comments in the editors for WS-BPEL processes, business state machines, mediation flows, and the SCA assembly diagram editor. This is similar to the function in WebSphere Business Modeler. The palette now includes an icon to create a note, as Figure 1 shows.
Figure 1. Visual notes in the BPEL editor
To add a note into the WS-BPEL process:
- Click the “visual note” icon for Add a note, then click in the diagram where you would like the note added.
- You will be in a mode where you can simply start typing. When done, click outside the note.
- You can reposition the note within the diagram. Optionally, you can connect a note to a part of the diagram, as shown in Figure 1. Hover the mouse over the note, and the Add Association connector will emerge. Click the circle to select it, then move the mouse to an activity within the diagram.
- A line will now appear between the note and the activity. Even if one or the other gets moved, you will still be able to see that the note refers to that particular activity.
Let’s say you have a human task, where you have defined an escalation so that if the work is not completed in four hours, a manager is to be notified. But what happens if your workday ends at 6:00 pm, and the work request comes in at 5:55 pm on Friday? It is not reasonable that such a request is handled within four hours, because no resources will be available until Monday morning. Or if a request comes in on Sunday when your business is closed, it is not reasonable that it is processed within four hours. When the manager comes in on Monday morning, they may have several notifications of overdue work, even though there have been no employees available to perform the tasks!
Business calendars are a new feature in WebSphere Integration Developer V6.1.2. They can be directly created, or imported from timetables created in WebSphere Business Modeler. Business calendars can take into account off-shift times, holidays, weekends, and other non-business days. When a business calendar is used, timers used for functions such as escalations and notifications only run during the times specified as business hours.
Calendars consist of time intervals. You can specify an interval called “working hours”, from 9:00 am to 5:00 pm, repeating daily. You could then specify another time interval called “weekends”, from Saturday through Sunday. Finally, you could specify to exclude the interval for weekends from working hours. Or you could specify an interval that repeats weekly, with the days for Saturday and Sunday not selected. There are several ways to accomplish your goal, but fortunately, WebSphere Integration Developer includes easy-to-access samples so you don’t have to do very much work to set up your business calendars.
For example, to create a business calendar that specifies working hours as Monday through Friday, 8:30 am to 5:15 pm, perform the following steps:
- Right-click the module in the Business Integration view, and select New => Business Calendar.
Enter a name, then click Finish. The business calendar editor opens, as shown in
Figure 2. Business calendar editor
- You could define your time intervals manually, or use one of the example patterns, then edit the interval to suit your needs. In this case, select 9 to 5, Monday to Friday. The interval is automatically set up for you.
Edit the initial values as shown in Figure 3, to those that suit your requirements.
Figure 3. Interval details
- Change the “begins on” time to 8:30 am, and the “ends on” time to 5:15 pm.
- Alternatively, you could add in an “exclude calendar” interval to cover lunch time.
When working with imports and exports for messaging systems, custom data bindings are sometimes required to create the required format for the message. Fixed format messages are often described using COBOL copybooks. Previous versions of WebSphere Integration Developer have included the ability to generate Java code to perform the business object to fixed format data bindings. However, the code was generated assuming the target for the message was CICS, requiring the generated code to be edited for use with non-CICS systems, see the developerWorks article: Creating custom data bindings in WebSphere Process Server without coding. In addition, the code generation was accomplished with the aid of a support pack. COBOL support is now a part of WebSphere Integration Developer out of the box.
To use this new feature:
- Generate an XSD based on the COBOL copybook. Right-click your module, and select New => External Data.
- Click Browse, and navigate to your COBOL file. Select your file, then click Open. Click Next to continue.
- On the Select Data Structures page, click Find to see the data structures in the copybook. Select your structure, then click Next.
- On the Generate Business Objects page, you can keep the generated name, or use your own. You can also select a generation style, and a namespace other than the default. When you have selected your options, click Finish. An XSD is generated, based on the COBOL copybook.
- Create an interface using the new XSD. Right-click your module, and select New => Interface. Enter a name for your new interface, then click Finish.
- The interface editor opens. Add a one-way or request-response operation. Name the operation and parameters, then select your generated XSD as the data type.
- Open the SCA Assembly Diagram for the module, and add a new import. Add your new interface to the import.
- Right-click the import, and select Generate Binding… => Message Binding… => MQ Binding.
- Enter the information for your WebSphere MQ queue manager and queues.
Click Browse to select a request data binding configuration. Click the radio
button Show predefined data bindings, then select MQ adapter language data
binding generator, and click OK. Repeat for the response data binding
configuration. You should see something similar to Figure 4.
Figure 4. Setting MQ import binding information
- Click OK, then save the assembly diagram. Based on your selections, WebSphere Integration Developer will automatically generate the coded needed for the custom data bindings. In your workspace, a folder is created with a path similar to c:\Workspace\MQTest\gen\src\test\mq\cobol\mq. In this path is the generated code, named <your business object>DataBinding.java, based on the data types in the interface. It is important to note that this will only be generated if you created the XSD through the external data wizard.
MQ and JMS bindings can use this feature, as well as the FTP and Flat File adapters. In addition to COBOL, C and PL/1 are also supported.
There are several other miscellaneous improvements that have been made:
- When you have made updates to a deployed application, a list of which files are pending on a publish operation are now shown.
- XML schemas now include support for substitution groups, as well as improvements for interoperability with dotNet and Apache Axis Web services.
- Support for arrays in the XML mapping editor has been improved.
- Refactoring of interface parameter names is now supported.
- Citrix Presentation Server can now be used to host WebSphere Integration Developer in a remote environment. For example, the IBM developerWorks SOA Sandbox is a trial environment that uses Citrix to enable you to be able to try WebSphere Integration Developer without needing the code on your local machine.
- The compare/merge function for iterative development with WebSphere Business Modeler has been improved to include traceability of business rules and human tasks. Annotations in WebSphere Business Modeler is now mapped to the new visual notes in WebSphere Integration Developer.
- Generate User Interfaces now supports the generation of an HTML/DOJO client for use in the Business Space.
- When generating a report, you can now choose which format should be used for the graphics: JPEG, PNG, SVG or TIFF.
- The problems view now includes more quick fixes.
- Performance has been improved.
- The presentation of the generated clients has been improved, as well as including support for arrays in Lotus Forms clients.
In the development cycle, in all but the smallest shops, there will be multiple integration developers involved in a project. In addition, there will likely be developers with other roles in the project. A central repository is required for these users to be able to share artifacts with each other. WebSphere Integration Developer 6.1.2 includes several new features to support team development.
IBM’s Rational Asset Manager version 7.1 enables your organization to efficiently govern and reuse software assets in an organizationally distributed development environment. This collaborative software development asset management solution helps you identify, manage, and govern the design, development, release packages, and consumption of services as part of a service oriented architecture (SOA) initiative or other reusable assets for various development environments.
WebSphere Integration Developer 6.1.2 enables users to search for and publish artifacts from Rational Asset Manager. This helps simplify collaboration with WebSphere Business Modeler and the WebSphere Business Monitor model editor, which both can now also work with Rational Asset Manager as well. This capability simplifies the user experience, by helping to eliminate the need to explicitly export and import artifacts to files. Instead, they can be stored directly to Rational Asset Manager, then directly imported into your workspace.
A new view is provided for this capability, called the asset repository view. It is located in the lower right pane, near the server tab.
A version control system such as IBM Rational ClearCase can be used to provide check-in, check-out and version control over software projects. Previous versions of WebSphere Integration Developer supported Rational ClearCase. WebSphere Integration Developer version 6.1.2 enhances this capability by including support for the Rational ClearCase Remote Client. This means that you no longer need to install Rational ClearCase directly on the machine where you are running WebSphere Integration Developer.
Several improvements have been made to testing, improving productivity and debugging of your applications.
- WebSphere Integration Developer includes a WebSphere Process Server, called the integrated Unit Test Environment (UTE). WebSphere Integration Developer 6.1.2 has a new capability to restore the Unit Test Environment back to its initial configuration state, as it was installed. If for example you switch workspaces frequently, and forgot to remove projects from previous workspaces, you could rest the Unit Test Environment back to its initial state. In addition, you could use this feature to ensure that you are deploying to a clean environment, so you are certain there is no variability between different tests.
- Visual tracing has been enhanced to show more fine-grained events. In addition, the execution path through a WS-BPEL process, state machine or mediation flow is now indicated visually.
- XML maps can now be tested in isolation, without having to deploy them to the server. A local built-in XSLT engine is used for this, enabling rapid iterative development. When using the test client, you can now debug XML maps, and set breakpoints.
Component testing of human tasks has been improved. You can now create a human task
emulator in the test client or a test case, which can be either manual or programmatic.
You can specify whether to claim the work immediately in the emulator, or specify a wait
time in milliseconds. In addition, you can specify the user ID and password for claiming
the work, as shown in Figure 5.
Figure 5. Human task emulator
Component test explorer
A new test explorer application can be launched from the server view. This application manages test cases published to the server. You can discover, run and schedule tests, as well as being able to define and enable human task emulators, as shown in Figure 6.
Figure 6. Component test explorer
Testing views: Several testing views have been added.
The new Test Explorer is a server application available from the Servers view context menu, where you manage all test cases published to that server from a Web user interface. The test cases can be discovered, run and scheduled. The Test Explorer allows you to define and enable global components or human task emulators for the server.
The TCP/IP monitor can now be opened using the Window => Show View => TCP/IP Monitor menu item.
Tracing tools: New trace tools have been added.
Cross-component tracing lets you capture log and exception information that is associated with the component or work processes as the components are called and exited. The viewer lets you view the records by their correlated, hierarchical relationship of the call sequence. You can import the information as a test client execution trace, which can be re-run.
A fine-grained trace feature lets you capture and visualize the activities, states, or mediations that were processed when a test was run on a business process, state machine, or mediation flow. This feature is found in the test client and test suite editors. This trace tool significantly enhances the existing test capability, helping you visualize execution flow and narrow problems to a specific activity or primitive.
WebSphere Integration Developer 6.1.2 includes enhancements to the various editors.
In addition to the ability to use the visual notes to add comments, the assembly editor also has been enhanced with the ability to visualize transaction boundaries within a module, as shown in Figure 7.
Figure 7. Assembly editor with transaction boundary
A new properties page shows the qualifiers for all activities, making it easier to find and set quality of service qualifiers, as shown in Figure 8. Cut, copy and paste functions have also been added.
Figure 8. Qualifiers
Figure 8. Properties page shows the qualifiers for all activities
Business process editor
Several improvements to the process editor are shown in Figure 9.
- Visual notes can now be added to the diagram for comments.
- Business object maps are now directly available in the process as an activity. They can be used to map data from one variable to another, rather than using the assign activity.
- The list of variables can now be alphabetized.
- Clicking the heading for interface partners, reference partners, variables, correlation sets and correlations properties now collapses or expands out the group.
- A new calendar widget makes it easier when specifying the validFrom date.
- Additional cut, copy, and paste functions have been added.
Double-clicking on an inline human task now opens the human task editor, rather than
having to go into the properties to launch the editor.
Figure 9. Process editor
The presentation for fault handlers and compensation handlers has been improved, as shown
in Figure 10.
Figure 10. Activity with fault handler
Mediation flow editor
The mediation flow editor has been enhanced with several new features in WebSphere Integration Developer 6.1.2.
- Mediation flows can now manipulate SOAP headers.
- Mediations can now interact with dotNet messages containing diffgrams.
- XML submaps can now be put into a library.
- There are additional visual snippets available to use.
- Additional cut, copy & paste functions have been added.
XML map editor and business object map editor
The editors for xml maps and business object maps now support substitution groups. Substitutable elements can be selected in the XPath expression builder, visual snippet editor, the BPEL assign activity in the process editor, the business object editor and the mediation primitives to set message type and set message element. When testing a component, you can select substitutable elements as input to a component test.
The XML map editor also includes four new transforms in order to make it easier to map fields which repeat.
WebSphere Integration Developer V6.1.2 has been enhanced with a wide variety of updates, improving performance and usability, as well as making testing easier, and supporting the new functionality in WebSphere Process Server V6.1.2. This article examined the features new to WebSphere Integration Developer V6.1.2. You are encouraged to explore the IBM SOA Sandbox for full-version software trials and "try online" hosted environments.
Integration Developer announcement letter
Find out about the new enhancements and features in WebSphere Integration Developer V6.1.2.
- In the
Integration Developer V6.1.2 Information Center
Get the product documentation you need to get started with WebSphere Integration Developer.
new in WebSphere Process Server
Find out about the new enhancements and features in WebSphere Process Server V6.1.2.
Get products and technologies
- Explore the
developerWorks SOA Sandbox
The IBM SOA Sandbox provides a mix of full-version software trials and "try online" hosted environments where you can explore tutorials and get architectural guidance.