Version Control in iIT

By Scott Hathaway

Version control support in iIT (iWay Integration Tools) is provided by the Eclipse Team API. The Team API allows vendors to implement support for their repositories and workflows using the Eclipse extension mechanism. Through this mechanism, vendors can create sets of plug-ins to support their offering.

Since iIT leverages the Eclipse 3.4 platform, support for CVS (Concurrent Versions System) is provided by default. If other vendors provide Eclipse plug-ins to support their product, they need to be installed using the Update Site functionality. Note also that third parties have been known to write plug-ins to support certain version control products.

Tigris.org provides the Subclipse (http://subclipse.tigris.org/) plug-in set for Subversion (SVN) integration. Subclipse is mature and widely used, and we use it in-house at iWay.

Physical Representation of iSM Components in an Integration Project
To successfully work with version control in iIT, it is important to have an understanding of the structure of a component in an integration project. The Integration View hides a lot of metadata and derived files from the user’s view. This is similar to how the Package Explorer for Java hides that a Java package is a folder hierarchy. It is easy to view the physical structure using the Navigator. Use the Window>Show View>Other>General>Navigator to open this view, and you will see that all iSM Components follow this same general structure.

Visual Display in the Integration View:

Physical Structure as Displayed in the Navigator:

As you can see, the flow is contained in a folder that contains a number of additional metadata and derived files. It is important to share all but the derived files into the SCM repository. The derived files in this case are .compiledFlow and .image.

Using Version Control with iIT Best Practices
There is some work underway by the iIT development team to make it easier to share an integration project and work with components. Until this work is completed, please observe the following guidelines for working with an Integration Project that is shared with a version control system:

To prevent these derived files to be added to version control by accident, add .compiledFlow and .image files to the ignored resources list in Eclipse using the Window>Preferences>Team>Ignored Resources interface.
Sharing an Integration Projects with version control instead of just individual components will allow multiple team members to work on the same projects.
Updating your working copy of the source using Team>Update will ensure that you do not have a conflict with someone else who has changed the same file.
When committing to the repository, make the commit either from the parent folder of the component or from the root of the project. This will ensure that all changed files are committed.

Adding SVN Support
Since the Subversion version control system is commonly used, here are some steps for adding SVN support to iIT:

1. From the Eclipse Help menu select “Software Updates…”

2. Select the “Available Software” tab.

3. Click “Add Sites” and enter http://subclipse.tigris.org/update_1.4.x. Then click “OK.”

 

Select the Subclipse checkbox and click “Install.”

Conclusion
Using version control within iIT to handle versioning and concurrency of iWay components is a powerful tool when working with a large development team. By following the above guidelines, you should be able to successfully work with any version control system that the Eclipse platform supports. For further information, check the Eclipse help documentation on the Team API.

 

 

next