Überlegungen zur Migration von früheren Versionen der von Windows initiierten Verarbeitung (WIP)
Dieses Thema enthält die folgenden Abschnitte, in denen beschrieben wird, wie Sie von früheren Versionen von Transaction Integrator Windows-Initiated verarbeiten:
Konvertieren von COM-Typbibliotheken
Typbibliotheken (TYPE Libraries, TLBs) werden nicht mehr unterstützt. Sie müssen vorhandene COMTI- oder TI-TLB-Typbibliotheken in TI .NET-Assemblys konvertieren und dann erneut bereitstellen.
Es gibt zwei Möglichkeiten, die Konvertierung durchzuführen:
Es wird empfohlen, das Transaction Integrator Conversion Tool (TIConverionTool.exe) zu verwenden. Es unterstützt sowohl Einzel- als auch Batchkonvertierungen.
Verwenden Sie in besonderen Fällen das Feature Designer Importieren, um einzelne TLBs zu konvertieren.
Die TIConversionTool.exe ist ein Befehlszeilenprogramm, das über die Eingabeaufforderung ausgeführt oder von einem anderen Programm wie PowerShell aufgerufen werden kann. Die TIConverionTool.exe unterstützt sowohl Einzel- als auch Batchvorgänge. Die TIConversionTool.exe befindet sich in den folgenden Ordnern:
OS | Standort |
---|---|
x64 | C:\Programme\Microsoft Host Integration Server 2020\SysWOW64\ |
x86 | C:\Programme\Microsoft Host Integration Server 2020\system\ |
Weitere Informationen zur Befehlszeilensyntax für das Hilfsprogramm TIConverionTool finden Sie unter Transaction Integrator Conversion Tool.
Nach Abschluss des Konvertierungsprozesses können Sie das neue .NET-Objekt mithilfe der vorhandenen REs bereitstellen, wenn der konvertierte TLB zuvor erstellt wurde. Sie müssen eine neue RE für TLBs erstellen, die in früheren Versionen von HIS erstellt wurden.
Entfernen vorhandener Typbibliotheken
Bevor Sie die neue Assembly bereitstellen, müssen Sie den vorhandenen TLB mithilfe des TI-Managers entfernen. Es gibt strengere Einschränkungen in der neuen Version von TI, sodass einige Warnungen oder Fehler auftreten können, wenn der ältere TLB gegen diese Einschränkungen verstoßen hat. Beispielsweise werden während des Konvertierungsprozesses ADO RecordSets in .NET DataTables konvertiert. Wenn der zu konvertierende TLB sowohl für den Namespace als auch für die Schnittstelle denselben Namen aufweist, fügt das Konvertierungstool automatisch _rename an den Schnittstellennamen an. Wenn die ProgID des zu konvertierenden TLB mehr als 39 Zeichen lang ist, wird vom Konvertierungstool ein Fehler ausgelöst, und der TLB wird nicht konvertiert. Für TLBs mit ProgIDs über 39 Zeichen müssen Sie die Designer/Import-Methode verwenden, um die Konvertierung durchzuführen. Die Unterstützung für IMS Implicit und Explicit wurde in der TI-Transaktion 2010 eingestellt, und TLBs dieser Typen werden in die Verwendung des IMS Connect-Modells konvertiert. Weitere Informationen finden Sie unter IMS Connect.
Aktualisieren von Typbibliotheken mithilfe der Designer
Sie können Ihre Typbibliotheken einzeln aktualisieren, indem Sie eine neue .NET-Assembly mit den gleichen Merkmalen erstellen. Anschließend können Sie den vorhandenen TLB importieren. Wenn der Clientkontext im TLB aktiviert wurde, wird der TLB während des Importvorgangs aus dem Clientkontextarray im älteren Stil in das neue Clientkontextobjektmodell konvertiert. Anschließend müssen Sie die Clientanwendung so ändern, dass sie mit dem neuen Context-Objektmodell funktioniert. Dieser Prozess ist zeitaufwändig und fehleranfällig und sollte nur in Fällen verwendet werden, die vom TIConversionTool-Hilfsprogramm nicht unterstützt werden. Zu den Sonderfällen gehören:
Persistenz Connections erfordern, dass Sie das Clientkontextobjektmodell verwenden, andernfalls schlägt der Aufruf fehl. Außerdem müssen Sie den Clientcode so ändern, dass er mit dem neuen Kontextmodell funktioniert.
TLBs mit ProgIDs, die länger als 39 Zeichen sind.
Neue kontextfähige Features, z. B. Dynamische REs.
Weitere Informationen finden Sie im Hilfethema Arbeiten mit TI-Designer.
Aktualisieren von .NET-Assemblys
Je nachdem, welche Version von HIS zum Erstellen der .NET-Assembly, des Hostingmodells (.NET-Remoting, Webdienst, WCF-Dienst oder direkter Aufruf) und des Programmiermodells verwendet wurde, stehen Ihnen unterschiedliche Optionen zur Auswahl. Die meisten .NET-Assemblys funktionieren weiterhin ohne Änderungen. In einigen Fällen muss die Assembly konvertiert und erneut bereitgestellt werden. Es wird empfohlen, das Hilfsprogramm TIConversionTool.exe zu verwenden, das sowohl die Einzel- als auch die Batchkonvertierung unterstützt. In besonderen Fällen können Sie das Feature Designer und Importieren verwenden, um jeweils eine Assembly zu konvertieren.
HIS .NET-Assemblys erfordern keine Änderungen, es sei denn, Sie verwenden den Netzwerktyp LU6.2. In diesem Fall müssen die Assemblys mithilfe des Hilfsprogramms TIConverionTool.exe oder mithilfe der Importfunktion im Designer konvertiert werden.
IMS Implicit und IMS Explicit werden nicht mehr unterstützt und in das IMS Connect-Programmiermodell konvertiert, wenn sie mit dem TIConversionTool.exe konvertiert werden. Weitere Informationen finden Sie unter IMS Connect.
Bereitstellen konvertierter Assemblys
Nach Abschluss des Konvertierungsprozesses können Sie das neue .NET-Objekt mithilfe des vorhandenen RE bereitstellen, wenn die assembly konvertiert wird.
Die Unterstützung für das .NET-Remoting-Hostingmodell wurde entfernt. Sie müssen .NET-Assemblys entweder mithilfe des WCF- oder Direct Call-Hostingmodells bereitstellen.
Aktualisieren von Assemblys mithilfe des Designer
Verwenden Sie die Designer-Importfunktion, um Ihre HIS 2006- und HIS 2004.NET-Assemblys nur in besonderen Fällen zu konvertieren. Wenn der Clientkontext während des Importvorgangs in der Assembly aktiviert wurde, wird er vom Clientkontextarray des älteren Stils in das neue Clientkontextobjektmodell konvertiert. Sie müssen die Clientanwendung so ändern, dass sie mit dem neuen Clientkontextobjektmodell funktioniert. Außerdem müssen Sie im Rahmen des Bereitstellungsprozesses eine neue übereinstimmende RE erstellen.
Persistenz Connections erfordern, dass Sie das neue Clientkontextobjektmodell verwenden, andernfalls schlägt der Aufruf fehl. Außerdem müssen Sie den Clientcode so ändern, dass er mit dem neuen Kontextmodell funktioniert.
Weitere Überlegungen
Wenn eine Typbibliothek oder Assembly vollständig aktualisiert wird, können die folgenden beiden Aspekte der alten Typbibliothek je nach verwendetem Upgradeprozess aktualisiert werden.
Remoteumgebungsklasse.
Standardkonvertierungsinformationen, die auf Bibliotheksebene definiert sind. Die Standardwerte für die Konvertierung von Datentypen unterscheiden sich in .NET und COM. Weitere Informationen finden Sie unter Datentypen.
Abhängig von Ihren Umständen und den Anforderungen Ihrer Anwendungen können Sie eine oder beide aktualisieren. In der folgenden Tabelle werden Benutzeraktionen, TI-Aktionen, Ergebnisse und Empfehlungen beschrieben.
Benutzeraktion | TI-Aktionen | Ergebnisse | Verwendung |
---|---|---|---|
Keine. Verwenden vorhandener .NET-Objekte und REs | An folgenden Stellen werden keine Änderungen vorgenommen: -RE – Guid des Ti-Objekts – Standardkonvertierungen von .NET-Assemblys |
- TI .NET-Objekt und RE sind voll funktionsfähig. – Die Eigenschaften innerhalb der Typbibliothek und der RE können nicht mehr geändert werden. – Neue .NET-Assemblys, die mit TI Project erstellt wurden, können nicht älteren REs zugeordnet werden. – Vorhandene Clients benötigen keine Änderungen. – COM-TLBs und NET LU6.2-Assemblys werden nicht ausgeführt und müssen mit TIConverisionTool.exe-Hilfsprogramm konvertiert werden. |
– Anfängliches direktes Upgrade von der vorherigen Version. Alte TI .NET-Objekte und alte REs funktionieren und müssen nicht geändert werden. |
Konvertieren von TLBs und .NET-Assemblys mithilfe des TIConversionTool-Hilfsprogramms | An folgenden Stellen werden keine Änderungen vorgenommen: – ClientContext-Modell – Die Remoteumgebungsklasse wird nicht aktualisiert. |
– Alte Typ-TLBs und .NET-Assemblys werden aktualisiert, um mit neueren Versionen zu arbeiten. Die aktualisierte .NET-Assembly kann nur neuen REs zugeordnet werden. Es wird empfohlen, konvertierte TLBs und .NET-Assemblys ebenfalls REs zuzuordnen. Wenn Sie eine alte Typbibliothek zu einer .NET-Assembly migrieren, migriert TI auch alle Visual Basic- Version 6.0 Automation-Datentypen zu Visual Basic .NET-Datentypen, einschließlich: - Ganzzahl bis Kurz - Long bis Integer - Währung in Dezimalzahl - Recordset in DataTable - UDT zu Struktur Clientanwendungen, die die NewRecordset-Funktion verwenden, um getrennte Recordsets zu erstellen, müssen den Code ändern. Die NewRecordset-Funktion wird in .NET nicht unterstützt. - Vorhandene COM-Clients, die deklarative Bindung verwenden, müssen aufgrund von GUID-Änderungen neu kompiliert werden. |
– Migrieren von HIS 2009-TLBs und .NET LU62-Assemblys. – Migrieren von HIS 2006- oder HIS 2004-TLBs und .NET-Assemblys. – Ein neuer RE muss in der Host Integration Server 2009-Umgebung erstellt werden. – Verwenden von RE-Features. – Wechsel zur von HIS unterstützten Umgebung. - Das Programmiermodell bleibt unverändert. |
Konvertieren von TLBs und .NET-Assemblys mithilfe des Designer-Importfeatures | – Updates die Remoteumgebungsklasse. – Generiert eine neue .NET-Assembly Verwendet das neue Objektmodell ClientContext |
Die Methodeeigenschaft Include Context Parameter wird automatisch auf True festgelegt. Wenn Clientanwendungen den Clientkontext nicht unterstützen müssen und unverändert funktionieren, da der Clientkontext ein optionaler Parameter ist. Legen Sie im Visual Studio TI-Projekt Include Context Parameter für die -Methode auf False fest. ClientContext-Modell, das von Objektarray in Modell in Objektmodell konvertiert wurde. Die Client-App muss geändert werden, um mit dem neuen Objektmodell zu arbeiten, wenn ClientContext aktiviert ist. Wenn Sie eine alte Typbibliothek zu einer .NET-Assembly migrieren, migriert TI auch alle Visual Basic- Version 6.0 Automation-Datentypen zu Visual Basic .NET-Datentypen, einschließlich: - Ganzzahl bis Kurz - Long bis Integer - Währung in Dezimalzahl - Recordset in DataTable - UDT zu Struktur Clientanwendungen, die die NewRecordset-Funktion verwenden, um getrennte Recordsets zu erstellen, müssen den Code ändern. Die NewRecordset-Funktion wird in .NET nicht unterstützt. Vorhandene COM-Clients, die deklarative Bindung verwenden, müssen aufgrund von GUID-Änderungen neu kompiliert werden. |
– Erstellen eines neuen instance der Anwendung für den parallelen Betrieb mit Host Integration Server 2009 mit der Absicht, die Anwendung zu erweitern. – Verwenden neuer Clientkontextfeatures (Clientsicherheit, persistente Connections usw.). - Programmiermodelländerung - Änderung der Zielumgebung (CICS, IMS, IBM i) - Initiierungsänderung (WIP, HIP) – Konvertieren impliziter IMS- oder IMS-expliziter .NET-Assemblys TLBs mit ProgIDs, die länger als 39 Zeichen sind. |