Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

// Plattformen: LUW, MacOS, z/OS, z/LINUX, LinuxONE

Modernisierung ganz easy für IBM z, IBM i und andere

Webswing Logo

Webswing ist ein spezialisierter Webserver für die Ausführung von Swingbasierten Java-Anwendungen in Ihrem Browser. Viele Jahre lang war Swing das Framework der Wahl für viele Unternehmen, um umfangreiche Anwendungen zu erstellen, in deren Entwicklung sehr viel investiert wurde. Das Swing-Framework ist zunehmend der limitierende Faktor für die Entwicklung, da diese Anwendungen nicht einfach in modernen Webbrowsern verwendet werden können. Die Abschaffung der Applet-Technologie lässt diesen Unternehmen nur noch sehr wenige Möglichkeiten.

An dieser Stelle bietet die Webswing-Lösung einen Weg, die Einschränkungen aufzulösen. Mit minimalem Aufwand kann der Zugriff auf eine Swing-Anwendung oder ein Applet sofort in einem Webbrowser bereitgestellt werden, genau wie bei einer nativen Web-Anwendung. Die Aktivierung erfordert lediglich eine einfache Konfiguration über das integrierte Admin-Webinterface.

Wichtige Merkmale:

    • Ein Browser ist alles, was Sie brauchen um die Java-Anwendung auszuführen. Keine Installation mehr – nur ein Klick auf Ihre URL!
    • Keine Änderungen am Quellcode – Installieren Sie Ihre eigenen Java-Bibliotheken, konfigurieren Sie den Speicherort und Webswing erledigt den Rest! Denken Sie daran, wenn es mit Swing funktioniert, wird es mit Webswing funktionieren!
    • Migration Framework – ein Werkzeug zur schrittweisen Migration von Desktop- auf Webanwendungen. Die sinnvollste Art, Ihre Legacy-Anwendung zu migrieren, die es derzeit auf dem Markt gibt.
    • Cluster Engine – Hochskalierbare Performance und Lastausgleichsfunktionen für Unternehmenskunden.
    • 100 % gleiches Look and Feel – Ihre Anwendung sieht immer gleich aus, egal ob sie im Desktop-Modus oder über Ihren Webbrowser ausgeführt wird.
    • Test Tool & QF-Test – Gewährleistung einer stabilen Performance und eines reibungslosen Ablaufs der Swing-Anwendung. Integration mit QF-Test für hochstabile und einfach zu wartende Testfälle.
    • Alle Browser werden unterstützt – Webswing wird von allen wichtigen Webbrowsern unterstützt, die den HTML5-Standard implementieren.
    • Embeddable JS-Snippet – Binden Sie Ihre Anwendung direkt in Ihre bestehende Website ein. Kopieren Sie einfach das JavaScript-Snippet und
      fügen Sie es direkt aus unserer Dokumentation ein.
    • Drucken in Webswing ist nahtlos möglich. Drücken Sie einfach die Drucktaste und Webswing zeigt Ihr gedrucktes Dokument in Ihrem Browser an.

Für wen ist es gedacht?

Webswing wurde für bestehende Swing-Anwendungen und Applets entwickelt. Wenn Sie eine Swing-Anwendung haben, die Sie in der Cloud oder als SaaS bereitstellen möchten, oder wenn Sie nach einer Möglichkeit suchen, Ihr Applet auf modernen Browsern zu unterstützen, ist Webswing eine großartige Option für Sie.

Die Ausführung Ihrer Anwendung in Webswing bringt viele Vorteile gegenüber der Standard-Desktop-Nutzung, wie z. B.:

    • Schutz der Codebase von Swing-Anwendungen
    • Einfache Verteilung einer neuen Anwendungsversion
    • Kontrolle der für die Ausführung von Swing-Anwendungen verwendeten Java-Version Keine Sicherheitsrisiken durch veraltete Java Laufzeitumgebung auf Client-Rechnern
    • Schnellere Verbindung zu Backend-Diensten Zentralisierte Zugriffsverwaltung

Wie funktioniert es?

Die Swing-API ist plattformübergreifend konzipiert, d.h. alle Interaktionen mit plattformabhängigen Funktionen erfolgen über eine klar definierte Minimalschnittstelle (java.awt.Toolkit). Java wird mit plattformspezifischen Implementierungen für Windows, X11 und Mac ausgeliefert.

Client Desktop
Client Desktop

Webswing definiert eine neue Plattformimplementierung für „Web“, die den Webbrowser einfach in einen virtuellen Desktop verwandelt und plattformspezifische Aktionen bestmöglich in Browseraktionen umsetzt.

Server Side VS Client Side
Server Side VS Client Side

Es gibt zwei zentrale Aktionen, die jede Plattform für Swing bereitstellen muss.

    • Inhalt auf dem Bildschirm anzeigen
    • Generierung von Benutzereingabeereignissen

Webswing zeigt den Inhalt in einem Browser mit HTML Canvas an und erfasst Tastatur- und Mausereignisse inJavaScript, um Swing-Eingabeereignisse zu erzeugen.

Welche Funktionen werden unterstützt?

Webswing bietet viele praktische integrierte Funktionen, die das Arbeiten mit Webswing-Anwendungen so einfach machen, als ob sie lokal ausgeführt werden.

    • Druckintegration mit Vorschau
    • Integration des Dateisystems – Herunterladen / Hochladen / Löschen von Dateien in isolierten Ordnern
    • Erweiterte Zwischenablage Integration
    • JsLink – JavaScript zu Java-Calls und umgekehrt
    • Embeddable JavaScript – betten Sie Webswing in Ihre Webseite ein
    • Integrierte Option zur Sitzungsaufzeichnung und – wiedergabe
    • DirectDraw – Rendering direkt von Java2d auf HTML Canvas
    • Konfigurierbare Swing-Fensteranpassungsoptionen
    • Unterstützung für Java 8, 11, 17 und 21
    • Open JDK

Auf dem Server können Sie:

    • Ihre Anwendungen über die Admin-Konsole konfigurieren und überwachen
    • Multi Tenant Deployment mit isolierten Login Kontexten verwenden
    • Einen integrierten Security Provider (einschließlich SAML2 oder OpenID Connect) verwenden oder einen eigenen erstellen
    • Spiegelansicht – sehen Sie in der Adminconsole, was die Benutzer im Browser sehen
    • Verwenden Sie Ihr eigenes Branding
    • Cluster-Bereitstellung (Enterprise-Edition)
    • Docker und Kubernetes (Enterprise-Ausgabe)

Netzwerk Diagramm

In diesem Teil wird das Netzwerk Diagramm für ein Standalone Webswing beschrieben, bei dem ein Client, repräsentiert durch einen Browser, mit einem Server kommuniziert. Der Server ist für die Übertragung von Rendering-Daten von einer Anwendung zum Browser verantwortlich, sowie für die Übertragung von User-Events vom Browser zur Anwendung.
Anwendung: Diese Komponente ist in der Regel eine Swing-Anwendung, die in einer eigenen JVM läuft und vom Server gestartet wird. Sie erzeugt Rendering-Daten, die an den Browser übertragen werden müssen und empfängt User-Events vom Browser.
Webswing Server: Diese Komponente fungiert als Vermittler zwischen der Anwendung und dem Browser. Sie startet die Anwendung, baut WebSocket- Verbindungen auf, empfängt Rendering-Daten von der Anwendung und überträgt sie an den Browser. Außerdem empfängt sie User-Events vom Browser und leitet sie an die Anwendung weiter. Der Webswing-Server kann auf einer lokalen Maschine, vor Ort, in der Cloud oder sogar als Container in einer Docker- oder Kubernetes-Umgebung laufen.
Browser: Diese Komponente stellt den Client dar und ist für den Empfang von Rendering-Daten vom Server, die Aktualisierung des Renderings der Anwendung und das Senden von User-Events an den Server verantwortlich.
Kommunikation: Die Kommunikation zwischen den Komponenten findet über ein Netzwerk statt, wobei als Datenübertragungsprotokoll WebSocket verwendet wird. Die folgenden Schritte beschreiben den Kommunikationsprozess:

    • Die Anwendung erzeugt die Rendering-Daten und sendet diese an den Server.
    • Der Server empfängt das Ereignis und überträgt es über WebSocket an den Browser.
    • Der Browser empfängt das Ergebnis und verwendet es, die Darstellung der Anwendung zu aktualisieren.
    • Das aktualisierte Rendering wird dem Benutzer angezeigt, der damit interagieren kann.
    • Wenn der Benutzer mit dem Rendering interagiert, erzeugt der Browser ein User-Event und sendet es an den Server.
    • Der Server empfängt das User-Event und leitet es an die Anwendung weiter.
    • Die Anwendung verarbeitet das User-Event und aktualisiert ihren Zustand.

Diagramm: Das folgende Diagramm veranschaulicht die Netzwerkkommunikation für das oben beschriebene System:

Netzwerkdiagramm
Netzwerkdiagramm

Warum Webswing?

Einfache Verteilung

    • Einfacheres und schnelleres Verteilen einer neuen Anwendungsversion.
    • Kontrolle über die Java-Version, die zur Ausführung von Swing-Anwendungen verwendet wird.
    • Keine Sicherheitsrisiken durch veraltete Java-Laufzeitumgebung auf Client-Rechnern.
    • Schnellere Verbindung zu
      Backend-Diensten / Zentralisierte Zugriffsverwaltung / Keine Installation auf dem Desktop erforderlich.

Höchste Vertraulichkeitsstufe

    • Schutz der Codebase von Swing-Anwendungen.
    • Empfehlenswert für Unternehmen und
      Organisationen mit Software, die hochsensible und streng vertrauliche Informationen enthält.
      (z. B. Unternehmen in den Bereichen Gesundheitswesen, Verteidigung, Telekommunikation, IT, Banken, Verkehr, Technik, Versicherungen, Luftraum usw.)

Kosteneinsparungen

    • Kosteneinsparungen im Vergleich zur aktuellen Java-Lizenzierung (gilt seit Januar 2019 für Java 8).
    • Einsparung von Programmierstunden – keine Änderungen am Quellcode.
    • Zukünftiges Framework für die Anwendungsmigration und Unterstützung.