Architektur des opensTeam-Servers

Der opensTeam-Server besteht aus verschiedenen Objekten. Jedes Objekt kann dabei einer anderen Klasse angehören, wobei alle Objekte von der Klasse Object.pike abgeleitet sind. Unterschieden wird weiterhin zwischen Klassen, von denen mehrere Instanzen bestehen und Klassen, von denen es nur eine einzige Instanz gibt. Zu letzteren gehören die Module. Ein Modul stellt dem Server zusätzliche Funktionalität bereit. So wird zum Beispiel das Rechtemodell von opensTeam durch das sogenannte Security Modul gewährleistet. Dieses arbeitet über globale Events. D.h. jedes Ereigniss im Server kann von dem Modul verfolgt und ggf. geblockt werden.

sTeam Architektur

Die Architektur zeigt wie opensTeam über verschiedenste Protokolle mit eigenen opensTeam-Clients und anderen Clients zusammenarbeitet. Dabei ist besonders das COAL (Client Object Access Layer) Protokoll von besonderer Bedeutung. Es existiert hierfür sowohl ein JAVA API als auch eine C++ Unterstützung. Dadurch wird es möglich, verschiedenste Clients für opensTeam zu entwickeln. Zudem wird die Anbindung an den Webserver durch das COAL Protokoll gewährleistet.

Ein weiterer zentraler Teil des Servers ist die Persistenz-Schicht. Daten von Objekten werden in einer MySQL Datenbank gespeichert und Objekte bei Referenzierung automatisch geladen, bzw. später wieder automatisch aus dem Speicher entfernt und dadurch ein Swapping erreicht.