Tips for working smarter and increasing productivity with WebSphere Integration Developer

Dealing with a high number of modules, artifacts, and projects at once in IBM® WebSphere® Integration Developer can be overwhelming at times. However, there are steps you can take and features you can leverage that can help you not only become better organized, but also help you improve build time and increase your productivity as well. This article provides tips to help you make this happen. This content is part of the IBM WebSphere Developer Technical Journal.

Diana Lau (dhmlau@ca.ibm.com), Software Developer, IBM

Author photoDiana Lau is a Software Developer on the WebSphere Business Process Management SWAT team at the IBM Toronto Software Lab, Canada. She works closely with customers to resolve technical issues and provide best practices for implementing BPM solutions.


developerWorks Contributing author
        level

06 October 2010

Introduction

This article shows you some valuable hints and tips to help you use IBM WebSphere Integration Developer V7 more efficiently, especially when you are dealing with a large number of modules and artifacts. These tips include different ways to reduce workspace build time and publish time, how to use the Test Client to create test cases and organize them in test projects, and and how to use the cross component trace to make the unit test phase more efficient. In addition, you will learn how to reduce clutter in the work space by maximizing the work space in various editors and how to use the filtering options to filter out unnecessary artifacts.

The tips covered here are presented in these major areas:

  1. Reducing workspace build time and publish time
  2. Testing in the WebSphere test environment
  3. Better artifact organization and team collaboration
  4. Maximizing your working space
  5. Using the search and filter capabilities

1. Reducing workspace build time and publish time

The more artifacts you have in the workspace, the higher the memory consumption and the longer the build time. There are a few ways to reduce workspace build time:

  1. Close or remove the unused projects
  2. Turn on the XSD and WSDL validation filtering as needed
  3. Use the “Do not participate in clean” option in libraries
  4. Leverage the Build Activities view to control validation and publishing
  5. Test the XML map locally without deploying the application to the server

1a. Closing or removing the unused projects

All the artifacts in open projects are added to the internal index system in WebSphere Integration Developer (hereafter called Integration Developer), which in turn consumes memory and affects build time. To avoid unnecessary high memory usage, close or remove the projects that you do not need.

Having multiple roles in a business process management (BPM) project, you might want to consider having different workspaces when working on different parts of the projects. This avoids unnecessary projects being loaded in the workspace. You can use an integration solution to make this process clear and easy. The user can always see all the modules and libraries that are part of the solution and can load or unload parts of it as needed.

1b. Turning on XSD and WSDL validation filtering

When dealing with industry schemas, such as standards from Open Travel Alliance (OTA), Association for Cooperative Operations Research and Development (ACORD), or third party schemas, you cannot change the XSD and WSDL files. Therefore, there is no need to validate every time during workspace builds. In the Properties dialog of a module or library, you can specify all the XSD and WSDL files or the groups of namespace prefixes that are not to be validated by selecting Business Integration > XSD and WSDL validation filtering, as shown in Figure 1. You can add your own filters on top of the predefined ones. The options are shown in Figure 2.

Figure 1. Project properties under Business Integration category
Project properties under Business Integration category
Figure 2. Options for XSD and WSDL validation filtering
Options for XSD and WSDL validation filtering

1c. Using the “Do not participate in Clean” option in Library

Similar to the XSD and WSDL validation filtering, you can enable the “Do not participate in Clean” option if you do not want to revalidate, rebuild, and update markers in the files within a library when performing “clean all”. In the Properties dialog of a library, select Business Integration > Participation in Clean. On the right panel, you see the checkbox for this option as shown in Figure 3.

Figure 3. Participation in Clean option in Properties dialog
Participation in Clean option in Properties dialog

1d. Leveraging the Build Activities view to control validation and publishing

The Build Activities view allows you to select workspace activities to run during a build. The “Validate and update deploy code” is the default selection, which is also the recommended one (Figure 4). This means that when you save the changes, the server is not updated even though the affected applications are deployed on the server. The explicit action of republishing the changes to the server saves the unnecessary time spent on updating the server when the application is not ready to be republished.

Figure 4. Build Activities View
Build Activities View

For more details, see the Build Activities view section in the Integration Developer Information Center.

1e. Testing the XML map

The XML map editor tests the mapping locally without starting the server and deploying the module. You can invoke the Test Map function from the toolbar (Figure 5) or the context menu of the map (Figure 6).

Figure 5. Test Map toolbar item in XML map editor
Test Map toolbar item in XML map editor
Figure 6. Test Map menu item
Test Map menu item

For more details, refer to the Test XML Maps section in Integration Developer Information Center.


2. Testing in the WebSphere test environment

Deploying your application and testing it on the Test Client allows you to quickly verify the components that they are currently developing. In the case where there are components in a module that call out to different services in other modules, there are a few alternatives to offload the WebSphere test environment (WTE):

  1. Moving applications to a common development test environment
  2. Increasing the WebSphere test environment heap size
  3. Organizing tests using the Integration Test Client
  4. Using cross component trace

2a. Moving applications to a common development test environment

For the modules that are only needed for service calls, you may not need to install those applications on the same machine as the WebSphere test environment. That means you may not need to import the modules that are not working in the workspace.

You can set up a common development test environment to deploy those services on a separate server. It not only offloads your own WTE, but you can also improve the build time so that fewer numbers of artifacts are added to the workspace. Another advantage is that each developer can deploy the latest update of the applications to the development test server for other developers to call.

2b. Increasing the WebSphere test environment heap size

The WTE is supposed to be used for testing smaller scale of applications. If the default setting of the server’s heap size is not sufficient (that is, when you get OutOfMemoryError when running the applications), you may want to increase the heap size of the server. For more details, see the WebSphere Integration Developer frequently asked questions page.

2c. Organizing tests using the Integration Test Client

Use the Integration Test Client in Integration Developer to help organize test cases and to make testing easier. You can learn more test case support from this developerWorks article, Taking component testing to the next level in WebSphere Integration Developer. Once deployed, you can also run the test cases through the web browser without Integration Developer.

2d. Using cross component trace

When there are numerous components and modules involved in your BPM solution, it is helpful to trace and identify where the unexpected behavior occurred. Cross component trace can help you in problem determination when your application is not running as expected. To enable the cross component trace, go to the Server Logs view and then select the View Menu icon > Cross-Component Trace State as shown in Figure 7. By default, it is disabled.

Figure 7. Enable cross component trace
Enable cross component trace

Figure 8 shows a sample output from the cross component trace that involves an SCA component in a module that is calling a component in another module.

Figure 8. Sample output of cross component trace
Sample output of cross component trace

3. Better artifact organization and team collaboration

This section provides tips on:

  1. Using shared libraries
  2. Using sticky notes
  3. Enhanced team support in mediation flow
  4. Using the Integration Solution

3a. Using shared libraries

Business objects and interfaces are the building blocks in Integration Developer. They are often being referenced in multiple modules. For better reuse, it is always a good idea to put those common artifacts in a library. It also makes the design cleaner. Instead of having multiple business object definitions, which is meant to be the same, located in multiple locations, you only need to make changes in one place by creating a business object in the library and having the modules referencing the library.

If the library is selected to be deployed with the module in the dependencies editor, the module is packaged as an EAR and contains a copy of the library JAR file during deploy time. If there are multiple modules referencing the same library, each EAR will have a copy of the library. To reduce the deploy time, you can set up the shared library on the server.

Note that when these common artifacts are changed in the library, the server needs to be restarted for changes to be effective.

For configuration details about a shared library, refer to this technote.

3b. Using sticky notes

Sticky notes serve as reminders to yourself or others, and do not replace the description fields in the properties of the components. You can add notes in the Assembly editor and the Process editor.

Besides adding text, you can add tags and hyperlinks to the note. The “TODO” and “FIXME” tags are predefined Java™ compiler tags. Hence, they appear in the Task view. You an also define hyperlinks as depicted in Figure 9.

Figure 9. Sticky note
Sticky note

In addition, you can define your own custom tags. This is also done through the Java compiler settings. To do so, switch to Java perspective and then go to the Preferences page. From Java > Compiler > Task Tags, you can add your own (Figure 10).

Figure 10. Configure your own tag
Configure your own tag

3c. Enhanced team support in mediation flow

To minimize the chance of managing conflicts with other developers, we recommend that developers work on separate components, which correspond to separate physical resources. When creating a mediation flow, you can use an option to save the mediation flow in a single file or multiple files (Figure 11). If the latter option is selected, a new physical file is created when an operation connection is made. This allows multiple developers to work on different mediation flows in the same mediation flow component.

Figure 11. New Mediation Flow wizard
New Mediation Flow wizard

You can also configure this in the Preferences page by selecting Business Integration > Mediation Flow Editor (Figure 12).

Figure 12. Preference to set options for creating mediation flow
Preference to set options for creating mediation flow

3d. Using the Integration Solution

Introduced in V6.2, the Integration Solution section in the Business Integration view helps you to organize related modules and libraries. It also shows the relationships (or bindings) with other modules.

Other benefits include:

  • Easier team development. You can check in and check out solution, together with the projects associated with it
  • Easier to organize documentations. You can add documents related to the solution, such as design and architectural documents.
  • Easier to load and unload modules that are relevant to the tasks at hand, while the user still has a full picture of the entire solution.

4. Maximizing your working space

In the mediation flow editor, BPEL editor, and Assembly editor, you can collapse the trays to maximize your working space, as shown in Figure 13.

Figure 13. Maximize your working space in the Mediation Flow editor
Maximize your working space in the Mediation Flow editor

Figure 14 shows the screen capture after you collapsed all the trays.

Figure 14. Mediation Flow editor after all the trays are collapsed
Mediation Flow editor after all the trays are collapsed

Similarly, you can do the same thing for the BPEL editor and Assembly editor, depicted in Figure 15.

Figure 15. Maximize your workspace in the BPEL editor
Maximize your workspace in the BPEL editor

In the Test Client, you can also maximize the pane, depending on the current task (Figure 16).

Figure 16. Maximize different pane in the Test Client
Maximize different pane in the Test Client

5. Using the search and filter capabilities

The Open Artifact dialog and Artifact Search dialog help you to find a specific artifact more easily.

You can open the Open Artifact dialog from the toolbar (Figure 17). All the artifacts that you see in the Business Integration view are available for selection.

Figure 17. Open Artifact toolbar item
Open Artifact toolbar item

In the Search dialog, there is a Business Integration Search tab as shown in Figure 18. You can limit your search based on the type, name, or namespace of the artifacts that you are looking for.

Figure 18. Search dialog
Search dialog

5a. Using the References view

The References view shows the relationship between an object selected in the Business Integration view and the artifacts that it references. Therefore, it saves you time to navigate through the artifacts to find out their dependencies.

Take the example shown in Figure 19. By selecting MyBO1 in the Business Integration view, you can quickly see that it references MyChildBO, which is a business object. This is being referenced by “MyInf1”, which is an interface.

Figure 19. Business Integration view with References view
Business Integration view with References view

Conclusion

This article provided hints and tips that can potentially improve your productivity when using WebSphere Integration Developer. Reducing workspace build time and publish time are one of the key areas that you can look at when you are dealing with a large number of artifacts and projects. You can see a significant improvement in the build time when adopting those tips.

This article also discussed how to use the WebSphere test environment, the Test Client, and the cross component trace capability to make the unit testing effort more efficient. In addition, better artifact organization and maximizing your workspace space inside Integration Developer can also help your productivity.


Acknowledgements

The author would like to thank Phil Coulthard and Grant Taylor for their technical review of this article.

Resources

Learn

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=549347
ArticleTitle=Tips for working smarter and increasing productivity with WebSphere Integration Developer
publish-date=10062010