Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

CPI-C-Begriffe

&pagelevel(3)&pagelevel

Bei CPI-C gibt es die Begriffe Conversation, Conversation Characteristics und Side Information.

  • Unter einer Conversation versteht man die Kommunikationsbeziehung, die ein CPI-C-Programm mit einem UTM-Service abwickelt.

  • Die Conversation Characteristics beschreiben die aktuellen Parameter und Eigenschaften einer Conversation, siehe „Conversation Characteristics“.

  • Die Side Information beschreibt beim Trägersystem UPIC im Wesentlichen die für eine Conversation notwendigen Adressierungsinformationen. Die für eine Conversation notwendigen Adressierungsinformationen können in der Side Information-Datei (upicfile) stehen.

Zustand einer Conversation

Der Zustand einer Conversation spiegelt die letzte Aktion dieser Conversation wider bzw. legt die erlaubten Folgeaktionen fest.

Wenn Sie ein Programm schreiben, das CPI-C-Aufrufe verwendet, müssen Sie darauf achten, dass im CPI-C-Programm und im UTM-Teilprogramm immer die passenden Aufrufe verwendet werden. Insbesondere kann immer nur der Partner Daten senden, der das Senderecht besitzt.

Eine Conversation kann sich beim Trägersystem UPIC in einem der folgenden Zustände befinden:

Zustand

Beschreibung

Start

Das Programm ist nicht beim Trägersystem UPIC angemeldet. (Vor Enable_UTM_UPIC-Aufruf oder nach Disable_UTM_UPIC-Aufruf)

Reset

Der conversation_ID ist keine Conversation zugeordnet.

Initialize

Der Initialize_Conversation-Aufruf wurde erfolgreich beendet und der Conversation wurde eine conversation_ID zugeordnet.

Send

Das Programm hat das Recht, Daten über die Conversation zu senden.

Receive

Das Programm kann Informationen über die Conversation empfangen.

Tabelle 1: Zustand einer Conversation

Eine Conversation befindet sich zu Beginn im Zustand "Reset" und nimmt danach verschiedene Folgezustände an, jeweils abhängig von den eigenen Aufrufen und den Informationen, die vom Partner-Programm empfangen wurden.

Eine besondere Rolle spielen die Zustände "Send" und "Receive", auf die im Abschnitt „Austausch von Nachrichten mit einem UTM-Service“ eingegangen wird. Eine Zustandstabelle finden Sie im Anhang im Abschnitt "Zustandstabelle". Hier finden Sie die Zustandsänderungen einer CPI-C-Conversation in Abhängigkeit von den CPI-C-Aufrufen und ihren Ergebnissen.

UPIC überwacht den aktuellen Zustand einer Conversation. Falls die Synchronisation der beiden Seiten durch einen ungültigen Aufruf verletzt werden sollte, wird dieser Fehler mit dem Wert CM_PROGRAM_STATE_CHECK als Ergebnis des Aufrufs angezeigt.

Die X/Open CPI-C Specification definiert weitere Zustände, die aber beim Trägersystem UPIC nicht angenommen werden können.

Conversation Characteristics

Die Conversation Characteristics werden zusammen mit der Side Information einer Conversation in einem Kontrollblock verwaltet. Dieser Abschnitt beschreibt die für CPI-C mit Trägersystem UPIC relevanten Characteristics sowie die Werte, die ihnen beim Aufruf Initialize_Conversation zugewiesen werden. Die X/OPEN-Schnittstelle CPI-C enthält weitere, hier nicht aufgeführte Characteristics.

Es gibt drei Arten von Conversation Characteristics:

  • fest vorgegebene

  • veränderbare über CPI-C-Aufrufe

  • UPIC-spezifische

Folgende Conversation Characteristics sind fest vorgegeben:

Conversation Characteristics

Initialisierungswert bei Initialize_Conversation

conversation_type

CM_MAPPED_CONVERSATION

return_control

CM_WHEN_SESSION_ALLOCATED

send_type

CM_BUFFER_DATA

sync_level

CM_NONE

Tabelle 2: Fest vorgegebene Conversation Characteristics

Folgende Conversation Characteristics sind über CPI-C-Aufrufe veränderbar:

Conversation Characteristics

Initialisierungswert bei Initialize_Conversation

deallocate_type

CM_DEALLOCATE_SYNC_LEVEL

partner_LU_name

Wert aus Side Information, abhängig vom Symbolic Destination Name

partner_LU_name_length

Länge von partner_LU_name

receive_type

CM_RECEIVE_AND_WAIT

security_new_password

leer

security_new_password_length

0

security_password

Leerzeichen

security_password_length

0

security_type

CM_SECURITY_NONE

security_user_ID

Leerzeichen

security_user_ID_length

0

TP_name

Wert aus Side Information abhängig vom Symbolic Destination Name

TP_name_length

Länge von TP_name

Tabelle 3: Veränderbare Conversation Characteristics

Folgende Conversation Characteristics sind UPIC-spezifisch und veränderbar, dabei wird zwischen den Charakteristics für eine Partner-Anwendung und den Werten für eine lokale Anwendung unterschieden:

Conversation Characteristics

Initialisierungswert bei Initialize_Conversation

CHARACTER_CONVERTION

CM_NO_CHARACTER_CONVERTION

CLIENT_CONTEXT

leer

ENCRYPTION-LEVEL

0

PORT

102

T-SEL

wird aus partner_LU_name abgeleitet

T-SEL-FORMAT

wird aus partner_LU_name abgeleitet

HOSTNAME

wird aus partner_LU_name abgeleitet

IP-ADDRESS

wird nicht initialisiert

RSA-KEY

wird von der UTM-Anwendung vergeben

SECONDARY_RETURN_CODE

CM_RETURN_TYPE_SECONDARY

TRANSACTION_STATE

leer

Tabelle 4: UPIC-spezifische Conversation Characteristics für ferne Anwendungen

Werte für lokale Anwendung

Initialisierungswert bei Enable_UTM_UPIC

PORT

wird vom UPIC-Client vergeben

T-SEL

wird aus dem lokalen Anwendungsnamen abgeleitet

T-SEL-FORMAT

wird aus dem lokalen Anwendungsnamen abgeleitet

Tabelle 5: UPIC-spezifische Werte für lokale Anwendungen

Die Bedeutung der Characteristics und lokalen Werte wird nicht näher erklärt. Diese Aufzählung wird nur vorgenommen, um einen Vergleich der von UPIC zur Verfügung gestellten Schnittstelle CPI-C mit der X/Open-Schnittstelle CPI-C hinsichtlich der Conversation Characteristics zu ermöglichen. Eine detaillierte Erklärung finden Sie in der X/Open Spezifikation „CPI-C Specification Version 2“.

Side Information

Da die Adressierungsinformationen abhängig sind von der jeweiligen Konfiguration, verwenden CPI-C-Anwendungen folgende symbolische Namen für die Adressierung:

  • Symbolic Destination Name
    Der Symbolic Destination Name adressiert den Kommunikationspartner. Hinter dem Symbolic Destination Name verbergen sich die folgenden Komponenten:

    • partner_LU_name
      Sie adressiert die UTM-Partner-Anwendung und kann im Programm mit Set_Partner_LU-name überschrieben werden.

    • TP_name
      Sie adressiert den UTM-Service innerhalb der UTM-Partner-Anwendung. TP_name ist ein Transaktionscode und kann vom Programm mit Set_TP_Name überschrieben werden, z.B. TP_name=KDCDISP für den Wiederanlauf.

      Der durch diesen Transaktionscode adressierte UTM-Service wird gestartet, sobald das Programm den ersten Receive-Aufruf oder einen Prepare_To_Receive-Aufruf abgesetzt hat.

    • Schlüsselwörter
      Mit verschiedenen Schlüsselwörtern können weitere UPIC-spezifische Conversation Characteristics gesetzt werden. Ein Programm kann diese Characteristics mit den entsprechenden CPI-C-Aufrufen (z.B. Set_Conversation_Encryption_Level) überschreiben.

Der Symbolic Destination Name wird über die upicfile mit der „realen“ Adressierung (partner_LU_name, TP_name) verknüpft. partner_LU_name und TP_name und die Schlüsselwörter gehören zu den Conversation Characteristics, die unten beschrieben werden.

  • local_name
    Der local_name vergibt für die eigene Anwendung den lokalen Anwendungsnamen. Für den local_name kann in der upicfile ein symbolischer Name vergeben werden. Mit Schlüsselwörtern können UPIC-lokale Werte gesetzt werden. Dadurch wird der Name, den das Programm vergibt, unabhängig vom Namen, der in der UTM-Generierung verwendet wird. Ein Programm kann diese Characteristics mit den entsprechenden CPI-C-Aufrufen (z.B. Specify_Local_Tsel()) überschreiben.

Wie die upicfile erstellt wird und wie die Einträge mit der Netzwerk- und UTM-Generierung zusammenhängen, ist im Abschnitt „Abstimmung mit der Partnerkonfiguration“ beschrieben.
Wenn eine upicfile verwendet wird, so hat dies den Vorteil, dass Netzwerk- und UTM-Generierung geändert werden können (z.B. die UTM-Anwendung auf einen anderen Rechner umziehen), ohne dass die Client-Programme geändert werden müssen.