NYSSR.NET / RESOURCES
Ein bestehendes Java-Programm um verteilte Fähigkeiten erweitern
Verwandeln Sie eine bestehende Java-Anwendung mit kleinem Runtime-Footprint in einen nyssr.net-Knoten und ergänzen Sie Messaging und Dienste ohne separaten Server.
Eine bestehende Anwendung zu ersetzen oder einen separaten Integrationsserver zu ergänzen kann teuer sein. Ein schrittweiser Weg ist oft praktischer: Jedes Java-Programm kann durch Einbinden des Kernel-JARs zum nyssr.net-Knoten werden und dann Nachrichten und Dienste als Teil des Netzes nutzen.
Jedes Java-Programm kann durch Einbinden des Kernel-JARs zum nyssr.net-Knoten werden. Das Programm kann dann Nachrichten und Dienste nutzen und weitere Anwendungen als Teil des Netzes starten.
Eine kleine Java-Basis
nyssr.net benötigt Java 8 oder höher. Der Kernel nutzt nur wenige Bibliotheken von Drittanbietern:
| Bibliothek | Hersteller | Größe |
|---|---|---|
| annotations | JetBrains | 19 KBytes |
| json-simple | 24 KBytes |
Zusammen kommen diese Abhängigkeiten auf knapp über 40 KBytes.
Nur laden, was der Knoten braucht
Der Kernel ist rund 1,3 MBytes groß. Er enthält den Nachrichten-Kern, Timer, Threads, Namespaces und Logging. Netzwerk und andere Fähigkeiten werden beim Start als Plugins geladen.
Die meistgenutzten Plugins kommen mit grob weiteren 600 KBytes. Mit Abhängigkeiten und Plugins vergrößert ein typischer Knoten die Host-Anwendung um etwa 1,9 MBytes.
Kernidee: Der Knoten startet mit einem kleinen Kernel und lädt nur die Fähigkeiten, die er braucht.
Startverhalten
Ein typischer Knoten startet in etwa 200 ms, gemessen von der ersten bis zur letzten Logmeldung. Ein RemoteSkin-Client braucht etwas länger, weil Swing initialisieren muss; der erste Dialog erscheint meist nach rund 400 ms.
Diese Zeiten addieren sich nicht zwangsläufig zur Startzeit der Anwendung: Komponenten können parallel starten.
Integrationsweg
- Kernel-JAR einbinden
- Die benötigte Plugin-Liste ergänzen
- Das Programm als nyssr.net-Knoten starten
- Dienste über Nachrichten registrieren oder nutzen
Kein separater Server ist nötig, damit ein Java-Programm am Netz teilnimmt.
Footprint: Die Host-Anwendung klein halten und Fähigkeiten als Plugins ergänzen.
Deployment: Dieselbe Java-Anwendung als lokaler Entwicklungsknoten oder als Teil eines größeren Mesh nutzen.