Glossar
Auf dieser Seite werde ich versuchen, alle speziellen Begriffe im Kontext des Connectors zu erläutern. Vorschläge für neue Stichworte nehme ich gerne entgegen (auch als Kommentare zu dieser Seite)
A
B
Blacklist
Der Connector bearbeitet die Mailboxen des Postoffice in der Reihenfolge, wie GroupWise sie liefert (üblicherweise alphabetisch sortiert). Tritt während der Bearbeitung ein Fehler(=Exception) auf, wird die Prozedur beendet, um alle Ressourcen möglichst geregelt freizugeben. Um die Exception beim nächsten Durchlauf zu vermeiden, wird die Mailbox auf die ’schwarze Liste’ = Blacklist gesetzt.
Alle Mailboxen, die auf dieser Liste stehen, werden beim Durchlauf über das Postoffice übersprungen.
Der Administrator muß dafür sorgen, daß der Fehler, der die Exception ausgelöst hat beseitigt wird. Danach kann die Mailbox wieder aus der Blacklist gelöscht werden. Dies kann über den eingebauten Webserver geschehen, wozu auch kein Neustart des Connectors nötig ist.
Alternativ kann die Blacklist auch direkt bearbeitet werden: Sie ist in der Datei /opt/gwema/conf/<configname>.black gespeichert. Hierzu muß allerdings der Connector neu gestartet werden. Linux Experten können dem Connector auch das Signal HUP senden, woraufhin die Konfiguration und die Blacklist vor dem nächsten Durchlauf neu gelesen werden.
Die Blacklist kann auch dazu verwendet werden, Mailboxen temporär von der Archivierung auszunehmen. Allerdings werden auch die Zeitstempel der Mailbox nicht weitergesetzt, sodaß bei Einschalten des Retention-Feratures von GroupWise der entsprechende Benutzer Nachrichten, die noch nicht archiviert wurden, nicht tilgen kann.
C
D
E
Exception
Der Exception-Mechanismus dient in modernen Programmiersprachen dazu, während der Verarbeitung auftretende Fehler an einer zentralen Stelle zu behandeln. Dadurch wird der Quellcode leichter les- und wartbar, weil nicht jedesmal alle Randbedingungen und Retruncodes überprüft werden müssen, sondern eine Routine für die Behandlung aller Fehler zuständig ist.
Im (Pascal-)Quellcode werden die zu überwachenden Anweisungen in einen try … except Block eingeschlossen, an den sich dann die Behandlungsroutine für Fehler anschließt.
Im Connctor liegt die zentrale Routine, die eine Mailbox bearbeitet innerhalb eines solchen Blocks. Tritt nun duch einen Fehler (bzw. eine nicht vorhergesehene Konstellation) eine Exception auf, so erzeugt die Exception-Routine eine E-Mail an den Administrator und setzt die gerade behandelte Mailbox auf die Blacklist, um das erneute Auslösen der Exception zu vermeiden.
F
G
H
HTTP-Streaming
Das HTTP-Streaming von GroupWise ist eine Ergänzung der SOAP Schnittstelle. Es arbeitet über den gleichen Port des POA. Mittels HTTP-Streaming können Nachnichten komplett vom POA heruntergeladen werden, seit Version 8 auch als MIME-Format. Beim Zugriff über SOAP müssen Nachrichten und Anhänge im XML (base64) umcodiert werden, beim Zugriff per HTTP-Streaming erfolgt ein einfacher Download in binärer From.
I
IMAP
Internet Mailbox Access Protocoll. Standardprotokoll, um auf E-Mailboxen zuzugreifen. Groupwise und viele andere Mailserver stellen IMAP-Schnittstellen bereit, um auf den Inhalt der Mailboxen mittels generischen Clients zugreifen zu können. Der Connector verwendet IMAP bei GroupWise 7, um die zu archivierenden Mails abzurufen, da GroupWise die Mails über IMAP im Internet-MIME Format bereitstellt.
J
K
L
M
N
O
P
Pascal
Eine Programmiersprache, die ursprünglich zu Ausbildungszwecken von Nikolus Wirth an der ETH in Zürich erfunden wurde. Bennannt ist die Sprache nach Blaise Pascal, einem englischen Mathematiker.
Die ursprünglich recht sperrige Sprache wurde durch die Implementation von Borland (Turbo Pascal) brauchbar und sehr beliebt. Das herausragenden Feature – der superschnelle Compiler – wurde zum Markenzeichen.
Das ursprüngliche Pascal von Wirth wurde von Borland immer weiter entwickelt. Nach Einführung von Modulen (Units) kam als weiterer wichtiger Schritt die Objektorientierung hinzu. Nach dem (etwas verspäteten) Sprung auf die Windows-Plattform wurde der Name Turbo-Pascal in Delphi geändert.
Vor einigen Jahren entstand mit FreePascal eine freie Implementation eines Pascal-Compilers, der in der Lage ist, alle Sprachkonstrukte von Delphi ebenfalls zu übersetzen. Der Vorteil dieser Implementation ist die Portabilität auf die verschiedensten Plattformen und Betriebssysteme. Mit Lazarus existiert eine Entwicklungsumgebung, die ebenfalls Delphi sehr ähnlich ist.
Q
R
S
Stage
Um ein leichteres Lokalisieren von Fehlern zu ermöglichen, wird während der Abarbeitung einer Mailbox eine Variable namens Stage jeweils auf einen bestimmten Wert gesetzt. Wird eine Exception ausgelöst, kann anhand des Wertes dieser Variablen auf die Stelle innerhalb des Programms referenziert werden, wo die Exception aufgetreten ist.
Zur Zeit werden Werte zwischen 1 und 28 verwendet, das heißt der ganze Vorgang ist in 28 Unterschritte zerlegt. Ein Schritt beinhaltet üblicherweise jeweils nur eine Stelle, wo eine Exception auftreten kann.
Typische ‘Fehlerstellen’ sind die Stages 1 und 24. In Stage 1 werden die Timestamps der Mailbox ausgelesen, in Stage 24 gesetzt. Bei diesen SOAP-Aufrufen ist die Gefahr des ‘empty Document’ Fehlers besonders hoch.
SOAP
Wikipedia: “SOAP (ursprünglich für Simple Object Access Protocol) ist ein Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können. SOAP stützt sich auf andere Standards: XML zur Repräsentation der Daten und Internet-Protokolle der Transport- und Anwendungsschicht (vgl. TCP/IP-Referenzmodell) zur Übertragung der Nachrichten. Die gängigste Kombination ist SOAP über HTTP und TCP. Die Abkürzung SOAP wird jedoch offiziell seit Version 1.2 nicht mehr als Akronym gebraucht, da es erstens (subjektiv) keineswegs einfach (Simple) ist und da es zweitens nicht nur dem Zugriff auf Objekte (Object Access) dient.”
Die GroupWise SOAP-Schnittstelle ist die erste direkt am Server zugängliche API, mit der auf die Daten des GroupWise-Systems zugegriffen werden kann. Aufbauend auf die XML-basierte Schnittstelle wurde eine Pascal-Bibliothek entwickelt, die die relativ verzwickten Datenstrukturen in Pascal-Objekte abbildet. Diese Bibliothek bildet die Grundlage von GWEMACON.
Über SOAP ermittelt der Connector, welche Nachrichten archiviert werden müssen.