ConceptBase 5.2.3 follows a client-server architecture. Clients and servers run as independent processes which interact via inter-process communication (IPC) channels (Fig. 1-1). Although this communication channel was initially meant for use in local area networks, it has been used successfully for nationwide and even transatlantic collaboration of clients on a common server.
The ConceptBase server offers programming interfaces that allow to build clients and to exchange messages in particular for updating and querying object bases using the Telos syntax. We provide support for C, Java, TCL, and Prolog. Detailed descriptions of the interfaces and the corresponding libraries that are delivered with ConceptBase can be found in the ConceptBase 5.2.3 Programmers Manual.
Figure 1.1: The client-server architecture of ConceptBase
ConceptBase comes with a standard graphical usage environment, the CBworkench implemented mainly in TCL/TK which supports editing, ad-hoc querying and browsing of O-Telos object bases. Another graphical user interface is developed in Java, it is called CBIva (ConceptBase Interface in JaVA ). The development of this user interface is still an ongoing work, and many new features will be added in the next months. The work on the user interface focuses currently on running it as an applet inside a WWW browser, and porting the popular GraphBrowser to Java. The user interfaces of ConceptBase can serve for the user as an example client for programming own application specific client tools. Although ConceptBase provides mulit-user support and an arbitrary number of clients may be connected to the same server process, ConceptBase does not yet support concurrency control beyond serialization of messages.