Mit einer Komponente wie actmap können fast beliebige Verfahren zur Kommunikation mit anderen Programmen auf einfache Weise genutzt werden.
Bei einem synchronen Kommunikationsschema wird von einer Komponente einer Applikation eine Anfrage an eine andere Komponente gesendet und solange nichts weiteres ausgeführt, bis diese andere Komponente eine Antwort zurücksendet.
Bei einem asynchronen Kommunikationsschema wird von einer Komponente einer Applikation eine Anfrage an eine andere Komponente gesendet und eine Reihe bestimmter Befehle ausgeführt, während auf die Antwort dieser anderen Applikation gewartet wird.
Wie bei einer Datensprache kann es auch für solche Zwecke notwendig sein, einen sicheren Interpreter zu verwenden, der solche Antworten auswertet.
Einige Beispiele für die unterschiedliche Anwendung solcher Kommunikationsschema im Rahmen des entwickelten Prototyps sind im folgenden aufgeführt.
asrv
kann als laufendes
Tcl Skript in der Anwendung
zum Einsatz kommen,
um einen sehr einfachen Server zu simulieren.
Diese Vorgehensweise kostet zwar erheblich Ressourcen, ist
aber sehr generisch und anschaulich.
Das Modul colodial
zur Auswahl von Farben auf einer
Wählscheibe läuft synchron und nutzt die
gleiche Shell interaktiv mittels einer
refresh
Funktion.
Aufgerufene Anwendungen, z.B. aus Datensätzen heraus,
lassen sich über exec
synchron oder asynchron in einer separaten Shell
benutzen.
Dies ist erforderlich, weil für bestimmte externe Aufgaben,
z.B. in bestimmten Datensätzen, eine parallele Nutzung
der
Kernkomponente
wünschenswert ist, wie z.B. bei der
Betrachtung oder Bearbeitung bestimmter Rastergraphiken.
So kann beispielsweise ein interaktiver Aufruf von
gimp
zur Bearbeitung einer Graphik erfolgen, ohne die Kernanwendung
für den Zeitraum der Bearbeitung stillzulegen.
Andererseits sollen sicherlich nicht alle Aufgaben asynchron mit der Anwendung ausgeführt werden müssen.
Einige Datenbankzugriffe, z.B. mittels Perl Skripten, erfordern aus logischen Gründen einen synchronen Zugriff.
So kann z.B. erzwungen werden, daß zunächst eine Rückgabe des Bearbeitungsfokus an die Kernkomponente stattfindet, bevor dieser wieder verwendbar ist.