Considerations for the IBM Integration Designer migration process
When you migrate from a previous version of Integration Designer or WebSphere® Integration Developer to IBM® Integration Designer V8.5.6, most of the migration is done automatically. However, there are a number of considerations to be aware of that might require additional manual configuration.
- Validations
- With each new release, validators for various components, such
as business objects, human tasks, and XSLT maps are improved. When
you import the artifacts to a newer version, there might be validation
errors that the previous validator did not catch.
- Java validation
- For using SDO API to create a data object, there is added Java
validation in IBM Integration
Designer:
- It validates if a business object of the specified namespace and
name exists. If it is invalid, you see the following error message
in the Problems view:
A BO with namespace <namespace> and name <BO name> cannot be found.
- It validates if the correct getter and setter methods are used
based on the attribute type. If not, you see the following error
message in the Problems view:
Incompatible method argument type. The <BO attribute name> field is of type <actual attribute type>.
- It validates if the attribute referenced in the getter and setter
methods exists. If not, you see the following error message in the
Problems view:
The field <BO attribute name> does not exist in the Business Object <BO name with namespace>.
- Java components
- Custom mediation primitive in mediation flows
- Java snippet activities in business processes
- Custom mappings in business object maps
- It validates if a business object of the specified namespace and
name exists. If it is invalid, you see the following error message
in the Problems view:
- Quick Fix
- In some cases, you can use the Quick Fix to fix the problem. Go to the Problems view, right-click the error or warning and check if Quick Fix is enabled. It usually helps to change the artifacts compliant to the validators more quickly.
- SDO programming tips
- From WebSphere Integration Developer 6.0.x to WebSphere Integration Developer 6.1, there
are package name changes for a few classes, such as BOXMLSerializer,
which might cause compilation errors. It is a good practice not to
reference those classes directly, but to use Service Manager to locate
the service.From:
com.ibm.websphere.bo.BOXMLSerializer serializer = new com.ibm.websphere.bo.impl.BOXMLSerializerImpl();
To:com.ibm.websphere.sca.ServiceManager srvMgr = com.ibm.websphere.sca.ServiceManager.INSTANCE; com.ibm.websphere.bo.BOXMLSerializer serializer = (BOXMLSerializer) srvMgr.locateService("com/ibm/websphere/bo/BOXMLSerializer");
- Circular dependencies
- IBM Integration Designer might detect circular dependencies of the modules or projects as errors, while an older version of WebSphere Integration Developer does not. To quickly resolve this issue, you can change the compiler option from the Preferences. Go to . Under the build path problems section, select the Warning option for Circular dependencies:
- Use refactoring
- If you must change the name of a component or its target namespace
because they are invalid, use the refactoring capabilities instead
of changing it in one place. If you do not use refactoring, you might
encounter problems as the name or target namespace of a component
might be referenced by other artifacts. Refactoring those values
would preserve the relationships.
For example, a namespace must be an absolute Uniform Resource Identifier, for example, starting with http://. Refactor the target namespace by pressing Alt+Shift+R on the target namespace field of the Properties page.
- XPath
- XPath can be used in mediation flows (for example, MessageFilter
primitive) and business processes (for example, Assign activity).
Before version 6.1, WebSphere Integration Developer
did not have a distinction between business object attributes defined
as xsd:element and those defined as xsd:attribute. If XPATH is used,
you might see the following message after migrating:
The <attribute_name> schema element was not found in the <xpath_expression> XPATH.
To fix this error, put an "@" symbol in front of the attribute name, or reselect the XPATH in the XPATH Expression Builder. For example, there is a business object that is named MyBO which has an attribute "myAttribute" defined as xsd:attribute. The XPATH expression that is created in 6.0x is:/MyBO/myAttribute Then change it to: /MyBO/@myAttribute
- Component-specific considerations
- Business object map
- For WebSphere Integration Developer 6.1.2 or
later, if you have mappings that include an inherited type, you might
receive the following warning message:
Business object maps can work on generalizations of types, this warning is raised to indicate that the transform will still run even if the inherited type comes in as part of the instance document. This warning becomes more of a concern when mapping elements are involved in a substitution group. Typically, if the element is not involved in a substitution group, you do not need to be concerned about the warning.CWLAT0064W: The 4 transform includes an inherited type, which might produce unwanted side effects when the map runs.
- MQ bindings
The MQ binding now uses an activation specification in its configuration rather than listener ports. If you are migrating an application that uses an MQ binding for an import or export from V6 to V7, you must update your binding configuration. For instructions about the required migration steps for the MQ binding, see the related task.