Jeder Kommunikationspartner, also auch eine UTM-Cluster-Anwendung, wird im Client-Programm durch seinen Symbolic Destination Name adressiert. Dieser Name wird beim Initialisieren einer Conversation (Aufruf Initialize_Conversation) angegeben. Für jeden Symbolic Destination Name, der im Programm verwendet wird, müssen Sie in der upicfile-
Einträge erstellen.
Eine UTM-Cluster-Anwendung besteht aus mehreren identischen Knoten-Anwendungen, die auf den einzelnen Knoten des Clusters ablaufen. Damit ein UPIC-Client alle Knoten-Anwendungen der UTM-Cluster-Anwendung auf einfache Weise erreichen kann, müssen Sie in der upicfile
einen openUTM-Cluster konfigurieren. Dabei müssen Sie folgende Regeln beachten.
Regeln bei der Konfiguration einer UTM-Cluster-Anwendung
Zu einem Symbolic Destination Name müssen Sie pro Knoten-Anwendung einen eigenen Eintrag in der
upicfile
mit Kennzeichen CD erstellen. Wenn die UTM-Cluster-Anwendung z.B. aus drei Knoten-Anwendungen besteht, dann müssen Sie drei Einträge mit demselben Symbolic Destination Name erstellen.Alle Einträge für einen bestimmten Symbolic Destination Name müssen direkt hintereinander stehen, siehe auch Beispiel auf dieser Seite.
Die Einträge für einen bestimmten Symbolic Destination Name unterscheiden sich nur in den Adressangaben der Knoten (partner_LU_name oder, falls verwendet, den Schlüsselwörtern HOSTNAME und IP-ADDRESS). Die Angaben für transaktionscode und die übrigen Schlüsselwörter müssen übereinstimmen.
Format eines Eintrags
Jeder Eintrag belegt eine Zeile in der upicfile
. Ein Eintrag hat folgende Form:
CD | symbolic destination name | blank | partner_LU_name | blank | transactioncode | blank | Schlüsselwörter | Z Zeilenabschluss-zeichen |
---|---|---|---|---|---|---|---|---|
2 Bytes | 8 Bytes | 1 Byte | 1-73 Bytes | 1 Byte | 1-8 Bytes | 1 Byte | ||
--- optional --- | --- optional --- |
Beschreibung des Eintrags
Die Namen, die im Eintrag angegeben werden, müssen durch Leerzeichen voneinander getrennt werden.
Ausnahme:
Zwischen dem Kennzeichen CD und dem Symbolic Destination Name darf kein Leerzeichen stehen.Kennzeichen CD:
Die Zeile beginnt mit dem Kennzeichen CD. Das Kennzeichen hat keine Auswirkung auf die automatische Code-Konvertierung (siehe auch "Side Information für UTM-Cluster-Anwendungen").symbolic destination name
Der Symbolic Destination Name muss genau acht Zeichen lang sein.Die Kombination
CD
symbolic_destination_name darf in derupicfile
beliebig oft vorkommen.partner_LU_name
Der partner_LU_name kann zwischen 1 und 73 Zeichen lang sein.
Für partner_LU_name ist der symbolische Name anzugeben, unter dem die UTM-Partner-Anwendung dem Kommunikationssystem bekannt ist.Sie sollten den partner_LU_name immer zweistufig in der Form applicationname.processorname (getrennt durch einen Punkt) angeben. Aus dem zweistufigen partner_LU_name werden die Werte für TSEL (=applicationname) und HOSTNAME (=processorname) abgeleitet.
Für die Namenslängen gelten folgende Beschränkungen:
- applicationname: maximale Länge acht Zeichen
- processorname: maximale Länge 64 Zeichen
BS2000-Systeme
Auf BS2000-Systemen müssen Sie den partner_LU_name zweistufig angeben. processorname muss dann mit dem BCAM-Namen des fernen Rechners übereinstimmen.
CDsymbdest UTMAPPL1.D123ZE45
Ein Eintrag in der upicfile kann nicht mit dem Set_Partner_LU_Name-Aufruf überschrieben werden. Die einzelnen Werte eines zweistufigen partner_LU_name dürfen im Programm nicht überschrieben werden, ein entsprechender Aufruf wird abgelehnt.
transactioncode (Angabe optional):
Es kann der Transaktionscode eines UTM-Services angegeben werden. Der Transaktionscode ist ein bis zu acht Zeichen langer Name. Der angegebene Transaktionscode muss in der UTM-Partner-Anwendung generiert (TAC-Anweisung) oder dynamisch konfiguriert worden sein.
Die Angabe eines Transaktionscodes in einem Eintrag ist optional. Fehlt die Angabe, so muss der Transaktionscode (Name des Services) im Programm mit dem Set_TP_Name-Aufruf angegeben werden.Ein Eintrag in der
upicfile
kann mit dem Set_TP_Name-Aufruf überschrieben werden.Schlüsselwörter (alle Angaben optional):
Mit folgenden Schlüsselwörtern können Sie die UPIC-spezifischen conversation characteristics (siehe hierzu auch „Conversation Characteristics“ (CPI-C-Begriffe)) in derupicfile
beeinflussen. Mit den Schlüsselwörtern geben Sie die Adressierungsinformationen an und legen fest, ob verschlüsselt werden soll.
Sie können die Schlüsselwörter nach dem Partnernamen oder nach dem Transaktionscode jeweils getrennt durch ein Leerzeichen angeben. Die Reihenfolge und Anzahl der Schlüsselwörter ist beliebig. Mehrere Schlüsselwörter werden durch Leerzeichen getrennt.ENCRYPTION-LEVEL={NONE | 0 | 3 | 4| 5}
Mit ENCRYPTION-LEVEL legen Sie fest, ob die Daten für die Conversation verschlüsselt werden sollen oder nicht und welche Verschlüsselungsebene verwendet werden soll.Geben Sie ENCRYPTION-LEVEL=NONE oder ENCRYPTION-LEVEL=0 an (beides hat die gleiche Wirkung), so werden die Benutzerdaten nicht verschlüsselt. Verlangt jedoch die UTM-Anwendung auf einer Verbindung die Verschlüsselung der Daten, wird die Verschlüsselungsebene automatisch hochgesetzt. Dasselbe geschieht, wenn UPIC auf einer Verbindung mit ENCRYPTION-LEVEL=NONE einen TAC aufruft, der mit Verschlüsselung generiert ist und UPIC keine Benutzerdaten beim Aufruf des TACs mitsendet. Durch den Empfang verschlüsselter Daten setzt UPIC den Wert für die Verschlüsselungsebene automatisch hoch.
Wenn Sie ENCRYPTION-LEVEL= 3, 4 oder 5 angeben und openUTM auf der Verbindung entsprechend verschlüsseln kann, dann werden alle Benutzerdaten der folgenden Conversation mit derselben Ebene verschlüsselt übertragen.
Die Werte 3 bis 5 bedeuten:
3 Verschlüsseln der Benutzerdaten mit dem AES-Algorithmus. Für den Austausch des AES-Schlüssels wird ein RSA-Schlüssel mit einer Schlüssellänge von 1024 Bit verwendet. 4 Verschlüsseln der Benutzerdaten mit dem AES-Algorithmus. Für den Austausch des AES-Schlüssels wird ein RSA-Schlüssel mit einer Schlüssellänge von 2048 Bit verwendet. 5 Die Benutzerdaten werden verschlüsselt und authentifiziert übertragen, zum Verschlüsseln wird der AES-Algorithmus benutzt. Für den Austausch des AES-Schlüssels wird das Diffie-Hellman-Verfahren mit einer Schlüssellänge von 2048 Bit verwendet. Unterstützt openUTM die angegebene Verschlüsselungsebene nicht, dann wird die Conversation beendet.
Der Wert wird ignoriert, wenn eine UTM-Anwendung nicht verschlüsseln kann weil
die Softwarevoraussetzungen nicht erfüllt sind
sie nicht verschlüsseln will, da der Client-Partner als vertrauenswürdig (trusted) generiert wurde
HOSTNAME=hostname
Der Hostname ist der Prozessorname und kann bis zu 64 Zeichen lang sein. Der Hostname überschreibt den beim Initialize_Conversation zugewiesenen Wert.
Ein Eintrag in der
upicfile
kann nicht mit dem Set_Partner_Host_Name-Aufruf überschrieben werden.IP-ADDRESS=nnn.nnn.nnn.nnn (IPv4) bzw. = x: x: x: x: x: x: x: x (IPv6).
Es kann eine Internet-Adresse im Format IPv4 und IPv6 angegeben werden:
Wird die Internet-Adresse in der üblichen Punktnotation angegeben, dann wird sie als IPv4-Adresse interpretiert.
Wird die Internet-Adresse in der Form x: x: x: x: x: x: x: x angegeben, dann wird sie als IPv6-Adresse interpretiert. Dabei ist x eine hexadezimale Zahl zwischen 0 und FFFF. Die alternativen Schreibweisen von IPv6-Adressen (z.B.
Weglassen von Nullen durch :: oder IPv6 mapped format) sind erlaubt.
Wenn eine Internet-Adresse angegeben wird, wird der Wert von HOSTNAME ignoriert. Ein Eintrag in der
upicfile
kann nicht mit dem Set_Partner_IP_Address Aufruf überschrieben werden.
UPIC auf BS2000-Systemen mit CMX als Kommunikationssystem: Der Wert für IP-ADDRESS wird ignoriert.
- PORT=listener-port
Die Portnummer wird nur für das Adressformat RFC1006 angegeben. Die Portnummer kann einen Wert zwischen 1 bis 65535 annehmen. Diese Portnummer überschreibt den Wert für die Portnummer, der beim Initialize_Conversation zugewiesen wurde. Die Angabe von PORT ist optional.
Ein Eintrag in der upicfile
kann mit dem Set_Partner_Port-Aufruf überschrieben werden.
UPIC auf BS2000-Systemen mit CMX als Kommunikationssystem: Der Wert für PORT wird ignoriert.
RSA-KEY=rsa-key
Es kann der öffentliche Teil des RSA-Schlüssels der Partner-Anwendung angegeben werden. Wenn der öffentliche Schlüssel angegeben ist, vergleicht die UPIC-Bibliothek den angegebenen Schlüssel mit dem, den sie von der UTM-Partner-Anwendung beim Verbindungsaufbau erhält. Unterscheiden sich beide Schlüssel in mindestens einem Byte oder auch nur in der Länge, so wird die Verbindung von der UPIC-Bibliothek sofort wieder abgebaut. Mit diesem Verfahren kann die Echtheit des Schlüssels überprüft werden.
T-SEL=transport-selektor
Der Transport-Selektor (T-SEL) der Transportadresse adressiert die Partner-Anwendung innerhalb des fernen Systems. Er muss mit den Angaben im fernen System übereinstimmen. Der Transport-Selektor ist ein bis zu 8 Zeichen langer Name. Der angegebene T-SEL überschreibt den beim Initialize_Conversation zugewiesenen Wert. Die Angabe von T-SEL ist optional.Der Eintrag in der
upicfile
kann mit dem Set_Partner_Tsel-Aufruf überschrieben werden.T-SEL-FORMAT={T | E | A }
T-SEL-FORMAT ist der Formatindikator des Transport-Selektors. Gültige Formate sindT für TRANSDATA E für EBCDIC A für ASCII T-SEL-FORMAT überschreibt den beim Initialize_Conversation zugewiesenen Wert. Die Angabe von T-SEL-FORMAT ist optional.
Der Eintrag in der
upicfile
kann mit dem Set_Partner_Tsel_Format-Aufruf überschrieben werden.CONVERTION={IMPLICIT | NO}
Mit CONVERTION=IMPLICIT geben Sie an, dass beim Senden und Empfangen eine automatische Code-Konvertierung der Benutzerdaten durchgeführt wird. Zur Code-Konvertierung siehe auch Abschnitt „Code-Konvertierung“.Geben Sie CONVERTION= nicht an oder verwenden Sie CONVERTION=NO, wird keine automatische Code-Konvertierung durchgeführt.
Zeilenabschlusszeichen:
Das Zeichen, das den Eintrag abschließt, ist für die verschiedenen Plattformen, für die die
upicfile
erstellt wird, unterschiedlich:Windows-Systeme:
Eine Zeile wird durch Carriage Return und Line Feed (Return-Taste)
abgeschlossen. Ein Semikolon vor dem Carriage Return-Zeichen ist optional.Unix- und Linux-Systeme:
Die Zeile wird mit einem <newline>-Zeichen (Line Feed) abgeschlossen. Ein Semikolon vor dem <newline>-Zeichen ist optional.BS2000-Systeme:
Das Zeilenende wird durch ein Semikolon (;) dargestellt. Danach darf kein Leerzeichen mehr folgen.
Falls in einer Zeile (Inhalt des Side Information Eintrags) ein Semikolon steht, reagiert UPIC so, als ob die Zeile dort abgeschlossen wäre und interpretiert den Rest der Zeile als neue Zeile (bis zum nächsten Zeilenabschlusszeichen).
BS2000-Systeme
Beachten Sie, dass auf BS2000-Systemen das nächste Zeilenabschlusszeichen auch wieder ein Semikolon ist. BS2000-Editoren, z.B. EDT haben eine andere Sicht auf Zeilen als UPIC. Wenn nach dem Semikolon der Zeile n im Editornoch ein Leerzeichen folgt und
die Zeile n+1 mit CD beginnt und mit einem Semikolon endet,
dann sieht UPIC eine Zeile, die mit „ CD“ beginnt und nicht mit „CD“.
Der „Symbolic Destination Name“ in dieser Zeile wird nicht gefunden.
Beispiel
Es sollen zwei Symbolic Destination Names (service1 und service2) einer UTM-Cluster-Anwendung konfiguriert werden. Die UTM-Cluster-Anwendung besteht aus drei Knoten-Anwendungen auf den Rechnern CLNODE01, CLNODE02 und CLNODE03. Zusätzlich enthält die upicfile noch einen Eintrag für eine stand-alone UTM-Anwendung UTMAPPL2.
Die Einträge können z.B. so aussehen:
* entries for UTM cluster application UTMAPPL1 CDservice1 UTMAPPL1.CLNODE01 TAC1 CDservice1 UTMAPPL1.CLNODE02 TAC1 CDservice1 UTMAPPL1.CLNODE03 TAC1 * entry for stand-alone application UTMAPPL2 SDservice2 UTMAPPL2.D123S234 TAC4
Der Transaktioncode TAC1 kann im Programm per Set_TP_Name überschrieben werden, so dass sich auch andere TACs ansprechen lassen. Außerdem können wie im Beispiel auch weitere stand-alone UTM-Anwendungen konfiguriert werden (Präfix SD, HD oder ND), diese Einträge müssen aber entweder vor oder nach den oben genannten Einträgen für die UTM-Cluster-Anwendung stehen.
DEFAULT-Server definieren
Sie können für Ihre Client-Anwendung einen DEFAULT-Server bzw. einen DEFAULT-Service definieren (siehe auch Abschnitt „DEFAULT-Server und DEFAULT-Name eines Client“). Ein Client-Programm wird mit dem DEFAULT-Server/Service verbunden, wenn im Programm als Symbolic Destination Name ein leerer Name übergeben wird. Im DEFAULT-Eintrag geben Sie statt des Symbolic Destination Name den Wert .DEFAULT
an. Der DEFAULT-Server-Eintrag muss also folgendes Format haben:
CD |
| blank | partner_LU_name | blank | Transaktions-code | blank | Schlüsselwörter | Z Zeilenabschluss-zeichen |
---|---|---|---|---|---|---|---|---|
2 Bytes | 1 Byte | 1-73 Bytes1 | 1 Byte | 1-8 Bytes | 1 Byte | |||
--- optional --- | --- optional --- |
Mit einem solchen Eintrag definieren Sie die UTM-Partner-Anwendung partner_LU_name als DEFAULT-Server. Geben Sie einen Transaktionscode an, dann definieren Sie darüber hinaus den zugehörigen Service als DEFAULT-Service. Einen anderen Service am DEFAULT-Server rufen Sie auf, wenn Sie im Programm mit dem Aufruf Set_TP_Name einen anderen Transaktionscode setzen (z.B. KDCDISP für den Vorgangs-Wiederanlauf). Die Angabe in Set_TP_Name überschreibt den Wert von transactioncode im Side Information Eintrag.