Entwerfen von Metadatenartefakten für 3270-Anwendungen
In diesem Leitfaden erfahren Sie, wie Sie Metadatenartefakte für 3270-Anwendungen entwerfen und diese Artefakte als HIDX-Dateien (Host Integration Server Definition XML) und C#-Klassen für Host Integration Server speichern.
In einer bildschirmgesteuerten 3270-App sind die Bildschirme und Datenfelder für Ihre Szenarien eindeutig. Wenn Sie Azure Logic Apps verwenden, um automatisierte Workflows zu erstellen und auszuführen, die die IBM 3270-Connectoraktionen enthalten, benötigt der Connector Informationen zu Ihrer App, die Sie als Metadaten in einer HIDX-Datei bereitstellen können. Diese Metadaten beschreiben Informationen, die Ihrem Workflow helfen, Bildschirme zu identifizieren und zu erkennen, und beschreibt, wie Sie zwischen Bildschirmen navigieren, wo Daten eingegeben werden und wo Sie Ergebnisse erwarten können. Um diese Metadaten anzugeben und zu generieren, verwenden Sie das 3270-Designtool, das Sie durch diese spezifischen Modi, oder auch Phasen, führt, wie weiter unten ausführlicher beschrieben:
Capture (Erfassen): In diesem Modus zeichnen Sie die Bildschirme auf, die für das Durchführen einer bestimmten Aufgabe mit Ihrer Mainframe-App erforderlich sind, z. B. das Abrufen eines Kontostands.
Navigation: In diesem Modus geben Sie den Plan oder Pfad dafür an, wie durch die Bildschirme Ihrer Mainframe-App für die spezifische Aufgabe zu navigieren ist.
Methods (Methoden): In diesem Modus definieren Sie die Methode, z. B.
GetBalance
, die den Bildschirmnavigationspfad beschreibt. Sie wählen auch die Felder auf jedem Bildschirm aus, die zu Ein- und Ausgabeparametern der Methode werden.
Voraussetzungen
Zugriff auf den TN3270-Server, der Ihre bildschirmgesteuerte 3270-App hostet
Laden Sie das 3270-Designtool herunter, und installieren Sie es. Die einzige Voraussetzung ist Microsoft .NET Framework 4.8.
Mit diesem Tool können Sie die Bildschirme, Navigationspfade, Methoden und Parameter für die Aufgaben in Ihrer 3270-App aufzeichnen, die Sie mithilfe der IBM 3270-Connectoraktionen in einem mit Azure Logic Apps erstellten Workflow "Verbrauch" oder "Standard" hinzufügen und ausführen. Das Tool generiert eine HIDX-Datei (Host Integration Designer XML), die die erforderlichen Metadaten für den Connector zum Ausführen Ihrer bildschirmgesteuerten 3270-App bereitstellt.
Nachdem Sie dieses Tool heruntergeladen und installiert haben, führen Sie die folgenden Schritte aus, um eine Verbindung mit Ihrem TN3270-Hostserver herzustellen, das erforderliche Metadatenartefakt zu entwerfen und die HIDX-Datei zu generieren.
Das 3270-Designtool unterstützt die folgenden Elemente nicht:
Partielle IBM BMS-Zuordnungen (Basic Mapping Support, BMS): Wenn Sie eine BMS-Zuordnung importieren, ignoriert das Designtool partielle Bildschirmdefinitionen.
Menüverarbeitung
Screenshoterfassung
In diesem Modus markieren Sie ein Element in jedem 3270-Bildschirm, das den Bildschirm eindeutig identifiziert. Beispielsweise können Sie eine Textzeile oder einen komplexeren Satz von Bedingungen wie bestimmten Text und ein nicht leeres Feld angeben. Sie können diese Bildschirme entweder über eine Liveverbindung auf dem Hostserver aufzeichnen oder diese Informationen aus einer IBM BMS-Zuordnung importieren. Die Liveverbindung verwendet einen TN3270-Emulator für die Verbindung mit dem Host. Jede Connectoraktion muss einer einzelnen Aufgabe zugeordnet sein, die mit dem Herstellen einer Verbindung mit Ihrer Sitzung beginnt und mit dem Trennen von Ihrer Sitzung endet.
Falls Sie dies noch nicht getan haben, öffnen Sie das 3270-Designtool. Wählen Sie auf der Symbolleiste Capture (Erfassen) aus, um den Erfassungsmodus zu starten.
Wählen Sie im Menü Sitzung die Option Hosteinstellungen aus. Geben Sie die Informationen für Ihre TN3270E Servereinstellungen ein, und wählen Sie OK aus.
Wählen Sie im Menü Session (Sitzung) den Eintrag Connect (Verbinden) aus.
Zum Starten der Aufzeichnung wählen Sie im Menü Recording (Aufzeichnung) die Option Start Recording (Aufzeichnung starten) aus. (Tastatur: STRG+E)
Durchlaufen Sie im Bereich Capture (Erfassen), beginnend mit dem ersten Bildschirm in Ihrer App, Ihre App für die spezifische Aufgabe, die Sie aufzeichnen möchten.
Nachdem Sie die Aufgabe abgeschlossen haben, melden Sie sich bei Ihrer App ab, wie Sie es normalerweise machen würden.
Wählen Sie im Menü Session (Sitzung) den Eintrag Disconnect (Trennen) aus.
Zum Beenden der Aufzeichnung wählen Sie im Menü Recording (Aufzeichnung) die Option Stop Recording (Aufzeichnung beenden) aus. (Tastatur: STRG+UMSCHALT+E)
Nachdem Sie die Bildschirme für eine Aufgabe erfasst haben, werden im Designtool Miniaturansichten angezeigt, die diese Bildschirme darstellen. Ein paar Anmerkungen zu diesen Miniaturansichten:
Zusammen mit Ihren erfassten Bildschirmen finden Sie einen Bildschirm namens „Empty“ (Leer) vor.
Wenn Sie zuerst eine Verbindung mit CICS herstellen, müssen Sie die Taste „Clear“ (Löschen) senden, bevor Sie den Namen für die auszuführende Transaktion eingeben können. Der Bildschirm, in dem Sie die Taste „Clear“ (Löschen) senden, verfügt über keine Erkennungsattribute wie einen Bildschirmtitel, die Sie mithilfe des Bildschirmerkennungs-Editors hinzufügen können. Um diesen Bildschirm darzustellen, enthalten die Miniaturansichten einen Bildschirm namens „Empty“ (Leer). Sie können diesen Bildschirm später verwenden, um den Bildschirm darzustellen, in dem Sie den Transaktionsnamen eingeben.
Standardmäßig wird für einen erfassten Bildschirm das erste Wort auf dem Bildschirm als Name verwendet. Wenn der Name bereits vorhanden ist, fügt das Designtool dem Namen einen Unterstrich und eine Zahl an, z. B. „WBGB“ und „WBGB_1“.
Um einem erfassten Bildschirm einen aussagekräftigeren Namen zu geben, gehen Sie folgendermaßen vor:
Wählen Sie im Bereich Host Screens (Hostbildschirme) den Bildschirm aus, den Sie umbenennen möchten.
Im selben Bereich am unteren Rand finden Sie die Eigenschaft Screen Name (Bildschirmname).
Ändern Sie den aktuellen Bildschirmnamen in einen aussagekräftigeren Namen.
Geben Sie nun die Felder zur Identifizierung der einzelnen Bildschirme an.
Der 3270-Datenstrom enthält keine Standardbezeichner für die Bildschirme, weshalb Sie in jedem Bildschirm eindeutigen Text auswählen müssen. Für komplexe Szenarien können Sie mehrere Bedingungen angeben, z. B. eindeutigen Text und ein Feld mit einer bestimmten Bedingung.
Nach Abschluss der Auswahl der Erkennungsfelder wechseln Sie in den nächsten Modus.
Bedingungen für das Identifizieren sich wiederholender Bildschirme
Damit der Connector zwischen Bildschirmen navigieren und diese unterscheiden kann, suchen Sie in der Regel eindeutigen Text in einem Bildschirm, den Sie als Bezeichner für die erfassten Bildschirme verwenden können. Bei sich wiederholenden Bildschirmen benötigen Sie möglicherweise weitere Identifizierungsmethoden. Nehmen wir beispielsweise an, dass Sie zwei Bildschirme haben, die identisch aussehen, außer dass der eine Bildschirm einen gültigen Wert zurückgibt, während der anderen Bildschirm eine Fehlermeldung zurückgibt.
Im Designtool können Sie Erkennungsattribute hinzufügen, z. B. einen Bildschirmtitel wie „Kontostand abrufen“, indem Sie den Bildschirmerkennungs-Editor verwenden. Wenn Sie einen Forkpfad (Verzweigung) haben und beide Branches denselben Bildschirm, aber mit unterschiedlichen Ergebnissen zurückgegeben, benötigen Sie andere Erkennungsattribute. Zur Laufzeit verwendet der Connector diese Attribute, um den aktuellen Branch und die aktuelle Fork zu bestimmen. Folgende Bedingungen können Sie verwenden:
- Spezifischer Wert: Dieser Wert entspricht der angegebenen Zeichenfolge an der angegebenen Position.
- KEIN spezifischer Wert: Dieser Wert entspricht nicht der angegebenen Zeichenfolge an der angegebenen Position.
- Leer: Dieses Feld ist leer.
- NICHT leer: Dieses Feld ist nicht leer.
Weitere Informationen finden Sie weiter unten in diesem Thema im Beispielnavigationsplan.
Navigationspläne definieren
In diesem Modus definieren Sie den Fluss oder die Schritte zum Navigieren durch die Bildschirme Ihrer Mainframe-App für Ihre spezifische Aufgabe. Beispielsweise kann es durchaus mehr als einen Pfad geben, den Ihre App nehmen kann, wobei der eine Pfad das richtige Ergebnis erzeugt, während der andere Pfad einen Fehler erzeugt. Geben Sie für jeden Bildschirm die Tastatureingaben an, die notwendig sind, um zum nächsten Bildschirm zu wechseln, z. B. CICSPROD <enter>
.
Tipp
Wenn Sie mehrere Aufgaben automatisieren, die dieselben Bildschirme zum Verbinden und Trennen verwenden, bietet das Designtool spezielle Plantypen für Verbinden (Connect) und Trennen (Disconnect). Wenn Sie diese Pläne definieren, können Sie sie am Anfang und Ende Ihres Navigationsplans hinzufügen.
Richtlinien für Plandefinitionen
Nehmen Sie alle Bildschirme auf, beginnend mit dem Verbinden und endend mit dem Trennen der Verbindung.
Sie können einen eigenständigen Plan erstellen oder die „Connect“- und „Disconnect“-Pläne verwenden, bei denen Sie eine Reihe von Bildschirmen wiederverwenden können, die allen Ihren Transaktionen gemeinsam sind.
Der letzte Bildschirm in Ihrem „Connect“-Plan muss mit dem ersten Bildschirm in Ihrem Navigationsplan identisch sein.
Der erste Bildschirm in Ihrem „Disconnect“-Plan muss mit dem letzten Bildschirm in Ihrem Navigationsplan identisch sein.
Ihre erfassten Bildschirme können zahlreiche, sich wiederholende Bildschirme enthalten. Wählen und verwenden Sie also von jedem sich wiederholenden Bildschirme in Ihrem Plan nur eine Instanz aus. Hier sind einige Beispiele für sich wiederholende Bildschirme:
- Beispielsweise der Anmeldebildschirm, der Bildschirm MSG-10.
- Der Begrüßungsbildschirm für CICS.
- Der Bildschirm „Clear“ (Löschen) oder Empty (Leer).
Pläne erstellen
Wählen Sie auf der Symbolleiste des 3270-Designtools Navigation aus, um in den Navigationsmodus zu wechseln.
Um Ihren Plan zu starten, wählen Sie im Bereich Navigation die Option New Plan (Neuer Plan) aus.
Geben Sie unter Choose New Plan Name (Namen für neuen Plan auswählen) einen Namen für Ihren Plan ein. Wählen Sie in der Liste Type (Typ) den Plantyp aus:
Plantyp Beschreibung Prozess Für eigenständige oder kombinierte Pläne Herstellen einer Verbindung Für „Connect“-Pläne Disconnect (Trennen) Für „Disconnect“-Pläne Ziehen Sie aus dem Bereich Host Screens (Hostbildschirme) die erfassten Miniaturansichten auf die Oberfläche des Navigationsplans im Bereich Navigation.
Verwenden Sie zur Repräsentation des leeren Bildschirms, in den Sie den Transaktionsnamen eingeben, den Bildschirm „Empty“ (Leer).
Ordnen Sie die Bildschirme in der Reihenfolge an, die die Aufgabe beschreibt, die Sie definieren.
Wählen Sie zum Definieren des Flowpfads zwischen den Bildschirmen, einschließlich Forks und Zusammenführungen (Joins), auf der Symbolleiste des Designtools Flow aus.
Wählen Sie den ersten Bildschirm im Fluss aus. Ziehen und zeichnen Sie eine Verbindung zum nächsten Bildschirm im Fluss.
Geben Sie für jeden Bildschirm die Werte für die Eigenschaft AID Key (AID-Schlüssel; Attention Identifier, Aufmerksamkeitsbezeichner) und für die Eigenschaft Fixed Text (Fester Text) an, wodurch der Fluss zum nächsten Bildschirm wechselt.
Eventuell verfügen Sie nur über den AID-Schlüssel oder sowohl über den AID-Schlüssel als auch den festen Text.
Nachdem Sie Ihren Navigationsplan fertig gestellt haben, können Sie im nächsten Modus Methoden definieren.
Beispiel
Angenommen, Sie führen in diesem Beispiel eine CICS-Transaktion mit dem Namen "WBGB" aus, die die folgenden Schritte umfasst:
- Im ersten Bildschirm geben Sie einen Namen und ein Konto ein.
- Im zweiten Bildschirm erhalten Sie den Kontostand.
- Sie beenden und gelangen zum Bildschirm „Empty“ (Leer).
- Sie melden Sie sich bei CICS ab und gelangen zum Bildschirm „MSG-10“.
Wir gehen außerdem davon aus, dass Sie diese Schritte wiederholen, dabei aber falsche Daten eingeben, damit Sie den Bildschirm erfassen können, der den Fehler anzeigt. Dies sind die Bildschirme, die Sie erfassen:
- MSG-10
- CICS Welcome (Begrüßungsbildschirm)
- Empty
- WBGB_1 (Eingabe)
- WBGB_2 (Fehler)
- Empty_1
- MSG-10_1
Obwohl viele Bildschirme hier eindeutige Namen erhalten, sind einige Bildschirme der gleiche Bildschirm, z. B. "MSG-10" und "MSG-10_1". Sie sollten die WBGB_1 umbenennen und WBGB_2 in etwas informativer. Verwenden Sie bei einem sich wiederholenden Bildschirm nur eine Instanz für den Bildschirm in Ihrem Plan. Folgende Beispiele zeigen, wie ein eigenständiger Plan, ein „Connect“-Plan, ein „Disconnect“-Plan und ein kombinierter Plan aussehen könnten:
Eigenständiger Plan
„Connect“-Plan (Verbinden)
„Disconnect“-Plan (Trennen)
Kombinierter Plan
Beispiel: Identifizieren sich wiederholender Bildschirme
Der Beispielplan umfasst eine Fork (Verzweigung), bei der Sie Bildschirme erhalten können, die ähnlich aussehen. Ein Bildschirm gibt einen Kontostand zurück, während der anderen Bildschirm eine Fehlermeldung zurückgibt.
Das Designtool ermöglicht es Ihnen, Erkennungsattribute hinzuzufügen, z. B. einen Bildschirmtitel wie „Kontostand abrufen“, indem Sie den Bildschirmerkennungs-Editor verwenden. Im dem Fall mit ähnlichen Bildschirmen benötigen Sie weitere Attribute. Zur Laufzeit verwendet der Connector diese Attribute, um den Branch und die Fork zu bestimmen.
Im Branch, der mit einer gültigen Eingabe zurückgegeben wird, wobei es sich um den Bildschirm mit dem Kontostand handelt, können Sie ein Feld hinzufügen, das eine „nicht leere“ Bedingung aufweist.
Im Branch, der mit einem Fehler zurückgegeben wird, können Sie ein Feld hinzufügen, das eine „leere“ Bedingung aufweist.
Methoden definieren
In diesem Modus definieren Sie eine Methode, die Ihrem Navigationsplan zugeordnet ist. Für jeden Methodenparameter geben Sie den Datentyp wie Zeichenfolge, ganze Zahl, Datum oder Uhrzeit usw. an. Wenn Sie fertig sind, können Sie Ihre Methode auf dem Livehost testen und bestätigen, dass die Methode wie erwartet funktioniert. Dann generieren Sie die Metadatendatei oder HIDX-Datei (Host Integration Designer XML), die jetzt die Methodendefinitionen enthält, die zum Erstellen und Ausführen einer Aktion für den IBM 3270-Connector verwendet werden sollen. Außerdem werden C#-Klassen für Host Integration Server generiert. Sie können auch C#-Klassen für die Verwendung mit Host Integration Server generieren.
Wählen Sie auf der Symbolleiste des 3270-Designtools Methods (Methoden) aus, um in den Methodenmodus zu wechseln.
Wählen Sie im Bereich Methoden die Schaltfläche Neue Methode aus. Geben Sie einen Namen für die neue Methode ein. Klicken Sie auf OK.
Wählen Sie im Bereich Navigation den Bildschirm aus, der die gewünschten Eingabefelder enthält.
Um den ersten Eingabeparameter für Ihre Methode hinzuzufügen, gehen Sie folgendermaßen vor:
Wählen Sie im Bereich Capture (Erfassen) des 3270-Emulatorbildschirms das ganze Feld aus, nicht nur den Text im Feld, das Sie als erste Eingabe verwenden möchten.
Tipp
Um alle Felder anzuzeigen und sicherzustellen, dass Sie das vollständige Feld auswählen, wählen Sie im Menü View (Ansicht) All Fields (Alle Felder) aus.
Wählen Sie auf der Symbolleiste des Designtools Input Field (Eingabefeld) aus.
Um weitere Eingabeparameter hinzuzufügen, wiederholen Sie die vorherigen Schritte für jeden Parameter. Weitere Informationen finden Sie in den previus-Schritten.
Um den ersten Ausgabeparameter für Ihre Methode hinzuzufügen, gehen Sie folgendermaßen vor:
Wählen Sie im Bereich Capture (Erfassen) des 3270-Emulatorbildschirms das ganze Feld aus, nicht nur den Text im Feld, das Sie als erste Ausgabe verwenden möchten.
Tipp
Um alle Felder anzuzeigen und sicherzustellen, dass Sie das vollständige Feld auswählen, wählen Sie im Menü View (Ansicht) All Fields (Alle Felder) aus.
Wählen Sie auf der Symbolleiste des Designtools Output Field (Ausgabefeld) aus.
Um weitere Ausgabeparameter hinzuzufügen, wiederholen Sie die vorherigen Schritte für jeden Parameter.
Nachdem Sie alle Parameter Ihrer Methode hinzugefügt haben, definieren Sie diese Eigenschaften für jeden Parameter:
Eigenschaftenname Mögliche Werte Datentyp Byte, Date Time, Decimal, Int, Long, Short, String Field Fill Technique (Feldauffüllmethode) Parameter unterstützen folgende Auffülltypen, wobei erforderlichenfalls mit Leerzeichen aufgefüllt wird: - Type: Zeichen sequenziell in das Feld eingeben.
- Fill: Den Inhalt des Felds durch Zeichen ersetzen, wobei erforderlichenfalls mit Leerzeichen aufgefüllt wird.
- EraseEofType: Das Feld löschen und dann Zeichen sequenziell in das Feld eingeben.
Format String (Formatzeichenfolge) Manche Parameterdatentypen verwenden eine Formatzeichenfolge, die dem 3270-Connector mitteilt, wie Text aus dem Bildschirm in einen .NET-Datentyp zu konvertieren ist: - DateTime: Die Formatzeichenfolge „DateTime“ richtet sich nach den benutzerdefinierten .NET-Formatzeichenfolgen für Datum und Uhrzeit. Z. B. verwendet das Datum
06/30/2019
die FormatzeichenfolgeMM/dd/yyyy
.- Decimal: Die Formatzeichenfolge „Decimal“ verwendet die COBOL Picture-Klausel. Z. B. verwendet die Zahl
100.35
die Formatzeichenfolge999V99
.
Speichern und Anzeigen von Metadaten
Nachdem Sie Ihre Methode definiert haben, aber bevor Sie Ihre Methode testen, speichern Sie alle Informationen, die Sie bisher definiert haben, in einer RAP-Datei (.rap). Sie können in jedem Modus jederzeit in diese RAP-Datei speichern. Das Designtool umfasst außerdem eine RAP-Beispieldatei, die Sie öffnen und sich ansehen können, indem Sie an dieser Stelle zum Installationsordner des Designtools wechseln und die Datei „WoodgroveBank.rap“ öffnen:
..\Program Files\Microsoft Host Integration Server - 3270 Design Tool\SDK\WoodgroveBank.rap
Wenn Sie jedoch versuchen, Änderungen an der RAP-Beispieldatei zu speichern oder eine HIDX-Datei aus der RAP-Beispieldatei zu generieren, während die Datei im Installationsordner des Designtools verbleibt, erhalten Sie eventuell einen Fehler „Zugriff verweigert“. Standardmäßig wird das Designtool in Ihrem Ordner „Programme“ ohne erhöhte Rechte installiert. Wenn eine Fehlermeldung angezeigt wird, probieren Sie eine dieser Lösungen aus:
- Kopieren Sie die Beispieldatei an einen anderen Speicherort.
- Führen Sie das Designtool als Administrator aus.
- Machen Sie sich selbst zum Besitzer des SDK-Ordners.
Testen Ihrer Methode
Um Ihre Methode auf dem Livehost auszuführen, während Sie sich noch im Methodenmodus befinden, drücken Sie die F5-Taste, oder wählen Sie auf der Symbolleiste des Designtools Test aus.
Tipp
Sie können den Modus jederzeit wechseln. Wählen Sie im Menü Dateidie Option Extras aus, und wählen Sie dann den gewünschten Modus aus: Verwenden von Formularen für minimalen Fortschritt und Verkettungsmethoden
Geben Sie die Werte Ihrer Parameter ein, und wählen Sie OK aus.
Um mit dem nächsten Bildschirm fortzufahren, wählen Sie Next (Weiter) aus.
Wenn Sie fertig sind, wählen Sie Done (Fertig) aus, woraufhin Ihre Ausgabeparameterwerte angezeigt werden.
Generieren und Hochladen der HIDX-Datei
Wenn Sie bereit sind, generieren Sie die HIDX-Datei. Das 3270-Designtool erstellt die HIDX-Datei in einem neuen Unterordner, in dem Sie Ihre RAP-Datei gespeichert haben. Anschließend können Sie die HIDX-Datei in Ihr Integrationskonto hochladen, das mit einer Verbrauchs- oder Standard-Logik-App-Ressource verknüpft ist. Sie können auch direkt in Ihre Logik-App-Standardressource hochladen, indem Sie im Ressourcenmenü unter Zuordnungen den Abschnitt Artefakte verwenden.
Wählen Sie im 3270-Designtool im Menü Tools (Extras) die Option Generate Definitions (Definitionen generieren) aus. (Tastatur: F6)
Wechseln Sie zu dem Ordner, der Ihre RAP-Datei enthält, und öffnen Sie den Unterordner, den das Tool nach dem Generieren Ihrer HIDX-Datei erstellt hat. Vergewissern Sie sich, dass das Tool die HIDX-Datei erstellt hat.