Sprung zum Seitenende Struktur Themen A...Z Titel << >>

CXI-Basis-Programmierreferenz / Version 2 / Datenaustausch /

Übersicht Datenaustausch

Datenaustausch (Meldungssystem):

Achtung: Das Meldungssystem wurde in der Version 2.07 nochmals vollständig umorganisiert. Die folgende Beschreibung bezieht sich nur auf diese neue Fassung, es wird nicht auf vorherige Versionen eingegangen.

Das CXI-Basissystem implementiert ein systemunabhängiges allgemeines rechnerinternes Meldungssystem. Dieses kann Meldungen in Form von CxiNode-Objekten (Ebene 1, CxiMessageHandlerBase) oder CxiTree-Objekten (Ebene 2, CxiMessageHandler) zwischen beliebigen Programmen austauschen. Nähere Informationen hierzu sind bei den einzelnen Klassen zu finden.

Wenn ein Verbindungsmanager (zum Beispiel die CXI-SHELL) gestartet ist, können über die gleiche Schnittstelle auch rechnerübergreifende Meldungen verschickt werden.


[S1:BASIS] Ebene 0: Adressen

Das interne Meldungssystem arbeitet wie ein Postamt. Der Empfänger registriert sich unter einem symbolischen Namen (Klasse CxiMessageIdent, die "Anschrift" oder "Adresse"), damit anschließend beliebige Sender an diese Identifikation Nachrichten schicken können.


[S4:INTERN] Ebene 1: CxiNode-Meldungssystem

Die untere Stufe (CxiMessageHandlerBase) stellt die systemnahe Basisfunktionalität für das Versenden und Empfangen von Meldungen zur Verfügung. Es können nur einzelne CXI-Knoten bis zu einer Größe von ca. 16 KB verschickt werden. Diese Ebene wird von CXI intern verwendet, es ist nicht möglich, rechnerübergreifend zu kommunizieren.


[S1:BASIS] Ebene 2: Erweitertes CxiTree-Meldungssystem

Das erweiterte Meldungssystem (CxiMessageHandler und CxiMessageHandlerWithQueue) ist eine Erweiterung und Vervollständigung des CxiNode-Meldungssystems um mehrere Fähigkeiten:

- Meldungen können komplette CXI-Bäume sein, sie sind nicht mehr auf einzelne CxiNode-Objekte limitiert. Der Sender zerlegt den Baum in Teilmeldungen und verschickt diese mit Hilfe des CxiNode-Meldungssystems.

- Mehrstufige Empfängernamen sind möglich, so können bei Verwendung entsprechender 'Treiber' oder eines Verbindungsmanagers (z.B. CXI-SHELL) auch Nachrichten auf andere Maschinen geschickt werden.

Aus diesen Punkten ergeben sich folgende Einschränkungen:

- Meldungen werden immer asynchron verschickt, sofern das Betriebssystem dies zulässt. Synchrone Meldungen sind im allgemeinen Fall nicht möglich. Verändert der Empfänger die Daten, so hat dies keinerlei Einfluss auf den Sender.

- Um eine Antwortmeldung erhalten zu können, muss ein Objekt dieser Klasse vorhanden sein. Daher sind die Post-Funktionen auch als nicht-statische Memberfunktionen implementiert.

- Ein Objekt vom Typ CxiMessageHandler... ist immer gleichzeitig ein Sender- und Empfänger-Objekt.


[Baustelle] Weitere Ebenen

Weitere Ebenen (z.B. Abstraktion des Konzepts der Meldungsempfänger zu einem allgemeinen Programmierkonzept) sind in Arbeit bzw. in Planung.

Siehe auch:
Klassenhierarchie Meldungssystem
Hinweise zur Verwendung

Ebene 0:
class CxiMessageIdent

Ebene 1:
class CxiMessageHandlerBase
PostMessageBlock
SendMessageBlock

Ebene 2:
class CxiMessageHandler - Erweiterter Meldungsempfänger
class CxiMessageHandlerWithQueue - Erweiterter Meldungsempfänger mit Queue
Message Queue - Globale Warteschlange
Message Trace - Ablaufverfolgung


[i] CXI-Basis-Programmierreferenz
Version 2.10 72 (1014-001), erstellt am 15. April 2000
Textseite 287 von 855, Thema 8209 (Datenaustausch)
[c] Copyright (c) 1996-2000 by TeraConnect GmbH

Sprung zum Seitenanfang Struktur Themen A...Z Titel << >>