ConceptBase kommuniziert nach dem Client/Server-Prinzip über einen IPC-Kanal mit den Anwendungsprogrammen. Die Interprozeßkommunikation ist durch sogenannte Sockets realisiert, die vom Betriebssystem zur Kommunikation zwischen Prozessen auf verschiedenen Rechnern innerhalb des Internets bereitgestellt werden. Sockets stellen für die Applikationen spezielle Dateien dar, auf die Zeichenketten geschrieben und von denen Zeichenketten gelesen werden können.
Der Server kontrolliert ständig die Sockets der angeschlossenen Anwendungsprogramme. Sobald von einem Programm eine Nachricht empfangen wurde, wird die Nachricht ausgewertet und die entsprechende Funktion innerhalb des Servers aufgerufen. Während der Bearbeitungszeit kann der Server keine Nachrichten verarbeiten, weswegen die eingehenden Nachrichten vom Betriebssystem gepuffert werden. Sobald die Funktion vollständig bearbeitet wurde, wird eine Antwort an das Anwendungsprogramm zurückgeschickt. Die Nachrichten, die der ConceptBase-Server empfangen kann und als Antwort an Programme verschickt, haben eine bestimmte Syntax, die im Anhang F.2 angegeben ist.
Das Client-Programm wartet während der Bearbeitungszeit seiner Nachricht
auf eine Antwort des Servers. Sofern es sich nicht um ein Programm handelt, das
mehrere Threads
benutzt, ist es während dieser Zeit blockiert.
Der Server sendet die Antwort unabhängig von der Größe als einen Block
an den Klienten. Neben den Datenbankoperationen bietet der ConceptBase-Server
auch Kommunikationsdienste für die Anwendungsprogramme an. Damit ist es möglich
zwischen den Klienten eines Servers Nachrichten auszutauschen.
Dafür verwaltet der Server für jeden Klienten eine Nachrichtenwarteschlange,
in der er auch selbst Nachrichten einfügen kann. So werden zum Beispiel
die Fehlerbeschreibungen für eine vorangehende Operation in dieser Warteschlange
gespeichert. Der Client kann, nachdem ein Fehler für die letzte Datenbankoperation
gemeldet wurde, die Fehlermeldungen vom ConceptBase-Server erfragen.