Comparing Integration Server Packages and Elements

Designer provides you with the ability to compare packages, folders, and elements in Integration Server. The compare tool is useful for comparing packages and elements on the same server or on different servers and for tracking changes to a package or element during the development process. For example, you can use the compare tool to identify the differences between the development, staging, and production versions of a package or element.

You can use the compare tool to compare:
  • Packages
  • Folders
  • Flow Services
  • Integration Server Document Types
  • JMS triggers
  • Adapter services
  • Adapter notifications
Designer presents the differences between the items that you compare in a compare editor along with annotations that indicate the differences.

You can also use the compare tool to compare two revisions of an element in a local service development project. For information, see Comparing Revisions of an Element.

The ability to compare packages and elements is available only with Integration Server 9.9 and later.

Note: To compare packages and folders, the Integration Server on which they are located must have the pub.assets:getChecksums service in the WmPublic package. For additional details on the pub.assets:getChecksums service, see webMethods Integration Server Built-In Services Reference .

Working with the Compare Editor

You can open the compare editor using the Compare Element(s) With command available when you right click on an element in the Package Navigator view. If you select one element in the tree, you can compare it with an identically named element on a different Integration Server. You can also select two elements of the same type on the same server or different servers and compare them with each other. Designer shows the differences between the two items that you select in a compare editor as shown in the following example:

The compare editor, which is different from the element editor, consists of the following panels:
  • Change List Panel: Shows the list of differences between the packages or elements being compared.
  • Content Panel: Provides a visual view of a difference selected in the Change List panel.

    For packages and namespace elements such as flow services, IS document types, JMS triggers, adapter notifications, and adapter services you can use the Content Panel to move through each difference in the compared packages or elements.

    In the case of packages and folders, you can right click on a changed item in the Change List panel and select Compare Contents to open the element-level view. Designer opens a compare editor that shows the element level view of the changed item that you selected in a new tab.

Change List Panel

The Change List panel is the top panel in the compare editor. The Change List panel lists out the differences between the packages or elements that you compare in a tree structure. The header text in the panel shows the names of the two packages or elements that are being compared and the total number of changes. Designer annotates the changes with respect to the element whose name is appears first in ascending order from A to Z.

Designer uses the following annotations to indicate the differences:
  • Changed- An item is present in both packages or elements being compared but has changed.
  • Added- An item is present only in the first package or element being compared, and is not present in the second package or element.
  • Removed- An item is present only in the second package or element being compared, and is not present in the first package or element.
  • Renamed - An item is present in both elements being compared but the name has changed. This annotation can appear only when comparing document types.
  • Repositioned (x to y) - An item has the position x in the second element being compared and the position y in the first element.

Content Panel

The Content panel is located below the Change List panel and provides a visual, element-level view of the differences between the elements being compared. The difference that you select in the Change List panel is displayed in detail in the Content panel.

Designer displays the asset whose fully qualified name appears first in ascending order from A to Z on the left side of the Content panel. For example, when comparing a service named folder.subfolder:aaa to a service named folder.subfolder.zzz, the folder.subfolder:aaa always appears on the left side of the Content panel.

Designer indicates each change by highlighting an existing item in a package or element on one side with a box. Designer uses a line to link the item to the corresponding item in the package or element on the other side where the item is present or should have been present.

The following image displays a side-by-side comparison of two flow services.

For packages, you can use the Content Panel to view the details for changes to package properties or package artifacts when the artifact can be displayed as a text file For package artifacts with changed properties, you can use the Content Panel to view the property differences. For more information about comparing packages, see Comparing Integration Server Packages.

Note: When you select a specific difference in a package or folder, Designer opens a new compare editor next to the original compare editor.

Guidelines for Comparing Packages, Folders, and Elements

Keep the following points in mind when using the compare tool:
  • The results of the compare tool are useful only when you compare elements that are of the same type.
  • When you compare two packages, folders, or elements, Designer opens the compare editor only if there are one or more differences between the items compared. If there are no differences to show, Designer displays a message to indicate this.
  • You can only view differences, if any, using the compare editor. For details, see Working with the Compare Editor. If you want to modify a package, folder or any other element, use the navigator or editor provided for this purpose.
  • You can only compare packages, folders, and elements from the same version of Integration Server. Comparison of assets across different versions of Integration Server is not supported. Internal changes in assets from one release to another might result in functionally identical assets being reported as different.
  • To compare assets on different Integration Servers, Designer must be connected to both Integration Servers.
  • When comparing folders, Designer does not compare properties.
  • When comparing packages, Designer compares package contents such as template files, *.jar files, and HTML files only for packages on Integration Server version 10.5 or higher. For more information about comparing packages, see Comparing Integration Server Packages.
  • The compare tool compares the assets by comparing whichever asset is alphabetically second against the asset that is alphabetically first in ascending order from A to Z. For example, if you compare two document types named folderA:docTypeA and folderB:docTypeB, Designer compares the folderB:docTypeB document type against folderA:docTypeA. In the Change List panel, the differences are given relative to document type folderA:docTypeA. For example:
    • If document type folderA:docTypeA includes a field that does not exist in document type folderB:docTypeB document type, the Change List panel lists the field as Added.
    • If folderB:docTypeB includes a field that does not exist in folderA:docTypeA the Change List panel lists the field as Removed. The Content panel displays document type folderA:docTypeA on the left and document type folderB:docTypeB on the right.
    • If the document types contain variables of the same type but with different names, the Change List panel lists the field as Renamed.

Comparing Integration Server Elements

About this task

You can use the compare tool in Designer to compare the following types of Integration Server elements:

  • Flow service
  • IS document type
  • JMS trigger
  • Adapter service
  • Adapter notification

Before comparing individual Integration Server elements, make sure to review the guidelines in Guidelines for Comparing Packages, Folders, and Elements.

To compare two IS elements

Procedure

  1. In Package Navigator view, do one of the following:
    • To compare two selected IS elements with each other, select one IS element and press the CTRL key while selecting another element of the same type. Right-click and select Compare Element(s) With > Each Other.
    • To compare an IS element with an identically named element of the same type on another Integration Server, select the IS element on one server. Then, right-click and select Compare Element(s) With > Other Server and select the server on which the second element resides.

    If there are differences between the two elements, Designer displays a compare editor. If there are no differences, Designer displays a message indicating that there are no differences.

  2. In the compare editor, select a difference displayed in the List of changes panel to open up the element-level view in the Content panel below.
  3. Use the toolbar icons or their equivalent keyboard shortcuts listed below to navigate between the changed items:
    • Previous difference: CTRL + , or 
    • Next difference: CTRL + . or 

    For information about merging changes from one IS element to another, see Merging IS Elements.

What to do next

Note: To view an element displayed in the Content panel in its editor, right-click the element and select Open in Editor. If you own the lock on the element, you can make changes to the element. After you have made changes in the element, save the changes. Designer displays the Reload Compare Editor dialog box, prompting you to confirm a refresh in the compare editor. Click OK to refresh the compare editor with the changes to the element.

Merging IS Elements

When comparing two IS elements using the compare tool, you can merge changes from one element to another. 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.

Changes cannot be merged if:

  • You do not have the IS element locked for edit.
  • The IS element is retrieved from VCS repository.
  • You do not have Write ACL privileges to the IS element.
  • Changes depend on some other conditions. For example in IS document type element, you cannot merge Time to live property if the Discard property is set to false. For more information on IS element properties, see Properties.

Use the toolbar icons above the Change List panel in the compare editor to merge the changes:

  • Merge changes from left to right:
  • Merge changes from right to left:

Designer displays a check mark on the item in the Change List panel after merging changes successfully.

Comparing Integration Server Folders

About this task

When you compare the contents of two folders, Designer provides a summary of the differences in folder contents in the Change List panel. However, Designer does not display a Content panel for a side-by-side comparison of an individual difference. Instead, you can use the Change List panel to locate the elements in the Package Navigator view and then compare the individual elements.

Before comparing individual Integration Server folders, make sure to review the guidelines in Guidelines for Comparing Packages, Folders, and Elements.

To compare two Integration Server folders

Procedure

  1. In Package Navigator view, do one of the following:
    • To compare two selected folders in the Package Navigator view, select a folder and press the CTRL key while you select another folder with which you want to compare it. Right-click either selected item and select Compare Element(s) With > Each Other.
    • Two compare a folder in the Package Navigator view with an identically named folder on another Integration Server, select the folder on one server. Then, right-click and select Compare Element(s) With > Other Server and select the server on which the second folder resides.

    If there are differences between the two folders, Designer displays a compare editor. If there are no differences, Designer displays a message indicating that there are no differences.

  2. In the compare editor that Designer opens, do one or more of the following to select a difference in the Change List panel,
    • Right-click an Added or Changed difference and select Show Left Element in Package Navigator to show the “left” item in the Package Navigator view. Here, “left” means the item is in the folder that is alphabetically lower in A to Z ascending order.
    • Right-click a Changed difference and select Show Right Element in Package Navigator to show the “right” item in the Package Navigator view. Here, “right” means the item is in the folder that is alphabetically higher in A to Z ascending order.
    • Select Open in Compare Editor to open the element-level view of the difference in another instance of the compare editor.
      Note: The Open in Compare Editor option in only available for Changed items.
  3. Use the toolbar icons or their equivalent keyboard shortcuts listed below to navigate among the items in the Change List panel:
    • Previous difference: CTRL + , or 
    • Next difference: CTRL + . or 

Comparing Integration Server Packages

About this task

You can use the compare tool in Designer to compare the contents of Integration Server packages. Designer compares:

  • The namespace contents of the package, identifying the differences in folders, subfolders, and IS elements such as services and document types.
  • The package artifacts in the file system.
  • The package properties.
Figure 1. Compare editor for packages

When comparing package properties, Designer recurses the file system directories for the packages and returns a list of differences for the package resources. Designer uses a tree structure to show all the directories and files that exist in one package but not the other. Designer includes all files that have different content or properties in the results.

  • For new or changed files that can be viewed as a text file, Designer displays a Text Compare in the Content panel. The text comparison is display-only. Changes cannot be merged from one file to another.
  • For binary files, Designer performs a checksum comparison. If properties between two identically named binary files are different, Designer displays a node as a child of the binary file in the tree. To view the property differences, expand or select the node and use th Content panel to compare differences.
  • For a jar file, Designer extracts and compares the manifest properties of the jar files in addition to the checksum comparison performed fro binary files.
Note: Designer compares the package artifacts only for packages installed on Integration Server 10.5 or later.

Before comparing Integration Server package, make sure to review the information in Guidelines for Comparing Packages, Folders, and Elements.

To compare two Integration Server packages

Procedure

  1. In Package Navigator view, do one of the following:
    • To compare two selected packages in the Package Navigator view, select a package and press the CTRL key while you select another package with which you want to compare it. Right-click either selected item and select Compare Element(s) With > Each Other.
    • Two compare a package in the Package Navigator view with an identically named package on another Integration Server, select the folder on one server. Then, right-click and select Compare Element(s) With > Other Server and select the server on which the second package resides.

    If there are differences between the two packages, Designer displays a compare editor. If there are no differences, Designer displays a message indicating that there are no differences.

  2. Use the toolbar icons or their equivalent keyboard shortcuts listed below to navigate between the items in the Change List panel and differences displayed in the Content panel for text comparison or property comparison:
    • Previous difference: CTRL + , or 
    • Next difference: CTRL + . or 

    When using the Text Compare to examine differences, you can also use and to navigate between changes. Note that a single difference may contain multiple changes.