Logo der aldebaran Programmierung & IT-Lösungen GmbH

+49 - 511 - 270 416 0

info@aldebaran.de

SMA Sunny Webbox Assistant

als Java-Webanwendung

Ein Auftrag der SMA Solar Technology AG.

Die SMA Sunny Webbox ist ein Gerät zur Fernüberwachung und -wartung von Solaranlagen. Es wird am Standort der Solaranlage installiert.

aldebaran hat den SMA Sunny Webbox Assistant erstellt. Dieser erlaubt es, in zehn Sprachen eine Erstkonfiguration der Sunny Webbox vorzunehmen und in das lokale Netzwerk zu integrieren.

Der SMA Sunny Webbox Assistant hat eine assistentenartige Struktur. Der Benutzer wird Schritt für Schritt über einzelne Seiten durch die Aufgaben geführt. Dieser Prozess umfasst Informationen an den Benutzer, das Ermitteln der verfügbaren Sunny Webbox Geräte, ggf. die Selektion eines Geräts, die Netzwerkkonfiguration und die sonstige Konfiguration des Geräts. Die Sprachumschaltung erfolgt jederzeit zur Laufzeit.

Das Design, die Funktionen und die Benutzerführung wurde von SMA genau vorgegeben. Die Übersetzungen wurden ebenfalls von SMA durchgeführt.

Technische Umsetzung

Da die plattformübergreifende Lauffähigkeit mit den Betriebssystemen Windows, Macintosh OS X und Linux vorgegeben war, hat das Projektteam sich für eine Java-Lösung entschieden.

Die SMA Sunny Webbox enthielt bereits eine mit dem Browser bedienbare Oberfläche. Da das Look & Feel des Sunny Webbox Assistant dem der Oberfläche der Sunny Webbox selbst entsprechen sollte, wurde entschieden, den Assistant ebenfalls als im Browser laufende Web-Anwendung zu erstellen. Die Wahl fiel auf den hochflexiblen Servlet Container Jetty und das Application Framework Spring.

Eine weitere Anforderung war, dass die Software laufen sollte, ohne installiert zu werden. Zudem soll sie als einzelne Datei zum Download bereit stehen. Die heruntergeladene Datei sollte direkt per Mausklick zu öffnen sein, wodurch die Software starten sollte.

Daher wurden alle Teile der Anwendung in einer einzelnen Datei integriert, für Windows in einer .exe-Datei und für Mac und Linux in einer .jar-Datei. Die Windows-Version enthält auch die notwendige Java Runtime, beide Versionen enthalten den Applikationsserver / Servlet Container Jetty, der die eigentliche Anwendung als Java Servlet Applikation beherbergt. Die Kommunikation mit den Geräten erfolgt ausschließlich über IPv6.

Besondere Herausforderungen

Die Integration aller Komponenten in einer einzigen Datei gelang durch eine zwiebelartige Struktur. In der Windows-Version ist die .exe-Datei zunächst fast nur ein Extraktionsprogramm, dass die Java-Runtime, ein Windows-Start-Programm und das Java-Archiv (Jar-Datei) in einem temporären Verzeichnis entpackt. Das dann gestartete Start-Programm zeigt dann einen Splash-Screen an und startet die Java-Runtime und in ihr das Jar.

In der Mac-/Linux-Version liegt nur das Jar-Archiv vor. Es enthält den Jetty Servlet Container und das Programm des Assistant selbst, aber auch wieder ein Start-Programm, dass Jetty startet und den Standard-Browser des Benutzers auf die richtige Seite - eine Adresse auf dem lokalen PC (localhost) - lenkt.

Erst wenn der Browser die erste Seite anzeigt, wird unter Windows der Splash-Screen abgeschaltet; dazu kommuniziert das Java-Programm mit dem Start-Programm.

Es hat sich herausgestellt, dass IPv6 gut geeignet ist, über Multicast-Pakete die Geräte aufzufinden und eine Kommunikation auch dann durchzuführen, wenn das Gerät netzwerkseitig gänzlich unkonfiguriert oder gar falsch konfiguriert ist.

Verwandte Links