Migration Considerations for Earlier Versions of Windows-Initiated Processing (WIP)

This topic contains the following sections that describe how to migrate from earlier versions of Transaction Integrator Windows-Initiated processing:

Converting COM Type Libraries

Type Libraries (TLBs) are no longer supported. You must convert any existing COMTI or TI TLB Type Libraries to TI .NET assemblies and then redeploy them.

There are two ways to perform the conversion:

  • We recommend that you use the Transaction Integrator Conversion Tool (TIConverionTool.exe). It supports both single and batch conversions.

  • For special cases, use the Designer Import feature to convert single TLBs.

    The TIConversionTool.exe is a command line utility that can be run from the command prompt or called from another program, such as PowerShell. The TIConverionTool.exe supports both single and batch operations. The TIConversionTool.exe is located in the following folders:

OS Location
x64 C:\Program Files\Microsoft Host Integration Server 2020\SysWOW64\
x86 C:\Program Files\Microsoft Host Integration Server 2020\system\

For more information about the command-line syntax for the TIConverionTool utility, see Transaction Integrator Conversion Tool.

Once the conversion process is complete, you can deploy the new .NET object using the existing REs in cases where the TLB being converted was previously created. You will need to create a new RE for TLBs created in earlier versions of HIS.

Removing existing type libraries

Before you deploy the new assembly, you must remove the existing TLB using TI Manager. There are more stringent constraints in the new version of TI, so you may encounter some warnings or errors if the older TLB has violated those constraints. For example, during the conversion process ADO RecordSets will be converted to .NET DataTables. If the TLB being converted has the same name for both the namespace and the interface, the conversion tool will automatically append _rename to the interface name. If the ProgID of the TLB being converted is over 39 characters in length, an error will be thrown by the conversion tool and the TLB will not be converted. For TLBs with ProgIDs over 39 characters, you must use the Designer / Import method to perform the conversion. Support for IMS Implicit and Explicit has been dropped in TI transaction 2010 and TLBs of those types will be converted to using the IMS Connect model. For more information, see IMS Connect.

Upgrading type libraries using the Designer

You can upgrade your type libraries one at a time by creating a new .NET assembly with the same characteristics. You can then import the existing TLB. If Client Context was enabled in the TLB, during the import process the TLB will be converted from the older style Client Context array of objects to the new Client Context object model. You must then modify the client application to work with new Context object model. This process is time-consuming and prone to error, and should only be used for cases not supported by the TIConversionTool utility. Special cases include the following:

  • Persistence Connections require you to use the Client Context object model or the call will fail. You must also modify client code to work with the new context model.

  • TLBs with ProgIDs longer than 39 characters.

  • New context-enabled features, such as Dynamic REs.

    For more information, see the help topic Working with TI Designer.

Upgrading .NET Assemblies

You have different options depending on which version HIS was used to create the .NET assembly, hosting model (.NET Remoting, Web Service, WCF Service or Direct call) and programming model. Most .NET assemblies will continue to work with no changes. In some cases, the assembly will need to be converted and redeployed. We recommend that you use the TIConversionTool.exe utility which supports both single and batch conversion. For special cases, you can use the Designer and Import feature to convert one assembly at a time.

HIS .NET assemblies do not require any changes needed unless you are using Network type LU6.2. In this case, the assemblies must be converted using the TIConverionTool.exe utility or by using the Import feature in the Designer.

IMS Implicit and IMS Explicit are no longer supported, and will be converted to the IMS Connect programming model when converted using the TIConversionTool.exe. For more information, see IMS Connect.

Deploying converted assemblies

Once the conversion process is complete, you can deploy the new .NET object using the existing RE if the assembly being converted.

Support for the .NET Remoting hosting model is removed. You must deploy .NET assemblies using either the WCF or Direct Call hosting models.

Upgrading assemblies using the Designer

Use the Designer import feature to convert your HIS 2006 and HIS 2004 .NET assemblies only in special cases. If Client Context was enabled in the assembly during the import process, it will be converted from the older style Client Context array of objects to the new Client Context object model. You must modify the client application to work with new Client Context object model. You must also create a new matching RE as part of the deployment process.

Persistence Connections require you to use the new Client Context object model or the call will fail. You must also modify the client code to work with the new context model.

Additional Considerations

When a type library or assembly is fully upgraded, the following two aspects of the old type library may be updated depending on the upgrade process you used.

  • Remote environment class.

  • Default conversion information defined at the library level. The defaults for converting data types are different in .NET and COM. For more information, see Data Types.

    Depending upon your circumstances and the requirements of your applications, you might want to update one or both. The following table describes user actions, TI actions, results and recommendations.

User Action TI Actions Results When to use
None. Use existing .NET Object and REs No changes are made to:

- RE

- Ti Object GUID

- .NET assembly default conversions
- TI .NET Object and RE is fully functional.

- The properties within the type library and RE can no longer be modified.

- New .NET assemblies created with TI Project cannot be associated with older REs.

- Existing clients do not need modifications.

- COM TLBs and NET LU6.2 assemblies will not run and must be converted using TIConverisionTool.exe Utility.
- Initial in place upgrade from the previous version.

Old TI .NET Objects and old REs work and do not need to be modified.
Convert TLBs and .NET assemblies using the TIConversionTool Utility No changes are made to:

- ClientContext model

- Does not update the Remote Environment class
- Old type TLBs and .NET assemblies are updated to work with newer versions. The updated .NET assembly can only be associated with new REs. It is recommended that converted TLBs and .NET assemblies also be associated with REs.

If you migrate an old type library to a .NET assembly, TI also migrates all Visual Basic version 6.0 Automation data types to Visual Basic .NET data types, including:

- Integer to Short

- Long to Integer

- Currency to Decimal

- Recordset to DataTable

- UDT to Structure

Client Applications using the NewRecordset function to create disconnected recordsets must modify the code. The NewRecordset function is not supported in .NET.

- Existing COM Clients that use declarative binding must be recompiled because of GUID changes.
- Migrating HIS 2009 TLBs and .NET LU62 assemblies.

- Migrating from HIS 2006 or HIS 2004 TLBs and .NET assemblies.

- A new RE must be created in the Host Integration Server 2009 environment.

- Using RE features.

- Moving to the HIS supported environment.

- Programming model stays the same.
Convert TLBs and .NET assemblies using the Designer Import feature - Updates the Remote Environment class.

- Generates new .NET assembly

Uses new Object model ClientContext
The method property Include Context Parameter is automatically set to True. If Client Applications do not need to support the Client Context and work unchanged as Client Context is an optional parameter. In the Visual Studio TI Project, set Include Context Parameter to False on the method.

ClientContext model converted from Object Array to model to Object model. Client app will need to be changed to work with the new object model is ClientContext is enabled.

If you migrate an old type library to a .NET assembly, TI also migrates all Visual Basic version 6.0 Automation data types to Visual Basic .NET data types, including:

- Integer to Short

- Long to Integer

- Currency to Decimal

- Recordset to DataTable

- UDT to Structure

Client Applications using the NewRecordset function to create disconnected recordsets must modify the code. The NewRecordset function is not supported in .NET.

Existing COM Clients that use declarative binding must be recompiled because of GUID changes.
- Creating a new instance of the application for side-by-side operation with Host Integration Server 2009 with the intent of extending the application.

- Using new Client context features (Client Security, Persistent Connections, and so forth).

- Programming model change

- Target environment change (CICS, IMS, IBM i)

- Initiation change (WIP, HIP)

- Converting IMS Implicit or IMS Explicit .NET assemblies

TLBs with ProgIDs longer than 39 characters.

See Also

Application Integration Development Tools