Issue 3, 2016 |
Download pdf |
Compare and merge functionality in webMethods Integration Server
Welcome to another Hidden Gem, where we will highlight a lesser-known but valuable feature of the webMethods suite. There are many such hidden gems that you might not have stumbled upon in training or documentation. These gems could make your life easier or your implementation even better. This edition’s Hidden Gem is about using a new feature of Software AG Designer to compare packages and elements of webMethods Integration Server.
New merge tool
For projects that have a large number of contributors, it's common for most people to have working copies of the main code. The concept of replicating changes from one code branch to another is called merging. Merging gives you the ability to selectively “copy” changes between two source codes that you are comparing.
In Software AG Designer 9.10, we have introduced a new merge capability that complements the visual compare tool, shown in Figure 1, included in the Service Development plugin for Software AG Designer 9.9. Together, these new features enable you to compare packages and elements in webMethods Integration Server (IS) and then merge the code differences when desired.
The compare tool in Software AG Designer 9.9 supports IS packages, folders, flow services and IS document types. For a refresher on the visual compare functionality released in Designer 9.9, please read my article Hidden Gems: Compare services in webMethods Integraton Server.
Figure 1: Software AG Designer 9.10 now offers merge along with compare.
How it works
With Software AG Designer 9.10, you can select elements of the same type anywhere in the package navigator or on different servers and compare them with each other. The differences between the two items you select will display in the compare editor. The compare editor, which is different from the element editor, consists of a change list panel and content panel.
The following annotations indicate the differences in the two packages or elements you are comparing:
- Changed: An item is present in both packages or elements but has changed.
- Added: An item is present only in the first package or element and is not present in the second package or element.
- Removed: An item is present only in the second package or element and is not present in the first package or element.
- Repositioned (x to y): An item has the position x in the second element being compared and the position y in the first element.
Software AG Designer allows you to edit an element that you have locked from the content panel. Right-click on the element and select “Open in Editor” to open the element in an editor. The “Open in Compare Editor” option is only available for changed items.
Use the following toolbar icons or their equivalent keyboard shortcuts to navigate between changed items:
- Previous difference: CTRL + , or
- Next difference: CTRL + . or
Use the following toolbar icons to merge the changes:
- Merge changes from left to right:
- Merge changes from right to left:
A check mark appears after the changes have merged successfully.
Merging IS elements
Before you perform the merge operation, you must ensure that you have write access to the element. The merge icons are enabled only if there are any changes. If the elements are read-only, the corresponding icons are disabled. For example, if the elements on the right side are read-only, the left-to-right merge icon is disabled.
You cannot merge changes under the following conditions:
- IS element is not locked for edit
- IS element is retrieved from VCS repository
- IS element does not have “Write ACL” privilege
Changes can also depend on other conditions. For example, in IS document type element, you cannot merge “time to live” property if the “discard” property is set to false.
Look for the new menu item in the upper right side of the tool bar that allows you to merge from left to right and vice versa, as shown in Figure 2.
Figure 2: The merge tool is found in the upper right corner of the Designer tool bar.
Figure 3 shows where you can find tool tips to help with the merge function. It also demonstrates what you would see after merging changes from left to right. In this example, an additional element found in the right panel but not in the left panel is removed.
Figure 3: Visualizing a merge from left to right.
Figure 4 and 5 demonstrate what you would see after merging changes from left to right. In this example, the additional element found in the right column is added to the left column.
Figure 4: User selects to add element from right column into left column.
Figure 5: The result of merging changes right to left.
Figure 6 and 7 demonstrate what happens when merging also needs to address differences in properties within the step of a flow service.
Figure 6: Merged elements have different properties.
Figure 7: The properties of merged elements are synchronized.
Learn more
For complete details on the compare tool for Software AG Designer, refer to the webMethods Service Development Help 9.10 and the sections named: Comparing Integration Server Packages and Elements and Comparing Revisions of an Element.