...
Das Remote-Management erlaubt es von aussen auf Daten der CMF-Umgebung zuzugreifen und Aktionen auszulösen.
Implementation
Das Remote-Management ist im CommunityMirror im Paket org.sociotech.cmf3.remote umgesetzt. Dabei wird zwischen zwei hauptsächlich relevanten Komponenten unterschieden:
...
Die Remote-Functionalities sind der interessante/fachliche Teil des Remote-Managements. Hier sind die Schnittstellen für abfragbare Informationen und anstoßbare Aktionen definiert. Eine Functionality-Einheit sollte inhaltlich verwandte Schnittstellen sinnvoll bündeln und sich an die API-Konventionen halten.
Ein Aufruf erfolgt bei SimpleHtml z.B. über: http://localhost:8080/Application/getScreenshotPNG
Application
In dieser Functionality sind Schnittstellen verortet, die sich auf die CM-Anwendung als Ganzes beziehen (etwa entsprechend der Klasse CommunityMirror). Sie bietet Zugriff auf die Konfiguration der Anwendung und erlaubt einen Neustart des Views.
Funktionen:
- doRelaunchView
- getConfigurationLive
- getConfigurationStaticTXT
- getFPS
- getScreenshotPNG
- getWindowState
Runtime
Die Runtime-Functionality erlaubt den Zugriff auf Informationen zur Java-Laufzeitumgebung. Beispielsweise kann hier die Java-Version, die Systemumgebungsvariablen oder das Kompilierdatum der laufenden CM-Anwendung abgefragt werden. Auch Angaben zum Speicherverbrauch finden sich hier.
Funktionen:
- getBuildName
- getCpuLoad
- getHardwareInfo
- getJarManifest
- getMemoryMax
- getMemoryUsed
- getOsInfo
- getProcessName
- getSpecInfo
- getStartTime
- getSystemEnv
- getUptime
- getVmInfo
FlowView
Hier sind Funktionen zu finden, die sich spezifisch auf die FlowView-Klasse beziehen, z.B. kann die Anzahl der aktuell angezeigten Flow-Elemente abgefragt werden.
Funktionen:
- getNumItemsInFlow
- getItemsInFlow
OperatingSystem
In dieser Functionality ist eine Schnittstelle für ein externes Tool definiert, welches für das Management von Windows-Rechnern verwendet werden kann. Hiermit ist es dem CMF möglich, Windows neu zu starten oder herunterzufahren, sowie den Bildschirm in den Standby-Modus zu versetzen.
Hierfür muss nircmd.exe in die Ressourcen der Java-Anwendung eingebunden und als Teil der jar-Datei ausgeliefert werden. Vorsicht: Die Präsenz des Programms kann Virenscanner verwirren.
Funktionen:
- doReboot
- doShutdown
- doSwitchScreenOff
API-Konventionen für Functionalities
...