© Excellent backgrounds/Shutterstock.com
Java Magazin
SynchronizeFX: Remote JavaFX Property Binding

SynchronizeFX: Remote JavaFX Property Binding

Mit JavaFX 2 steht Java-Entwicklern eine moderne Technologie zur Entwicklung von reichhaltigen und interaktiven Benutzeroberflächen zur Verfügung: Sie bringt einerseits viele interessante Konzepte wie deklarative Gestaltung, Animationen und Gestenerkennung mit, führt andererseits aber auch Properties und Bindings auf Datenebene ein. Das hier vorgestellte Framework SynchronizeFX greift die letzten beiden Konzepte auf. Es ermöglicht die Implementierung von verteilten JavaFX-Anwendungen, die sich ein Datenmodell teilen und dieses visualisieren. Der Mechanismus eignet sich nicht nur zur Umsetzung von Echtzeit-Multiplayer-Spielen, sondern lässt sich auch im Umfeld von Geschäftsanwendungen einsetzen.

Michael Thiele, Raik Bieniek, Vincent Tietz, Manuel Mauky, Alexander Casall


Wir wollen zunächst den fachlichen Anwendungsfall aus dem Tagesgeschäft der Autoren betrachten, um erste Einsatzszenarien der Technologie zu umreißen. Aufgrund der wachsenden Bedeutung agiler Vorgehensmodelle in der Softwareentwicklung arbeitet die Saxonia Systems AG seit 2011 an einer Integrationsplattform zur Unterstützung dieser Arbeitsprozesse, insbesondere in verteilten Entwicklungsszenarien. Das Gesamtkonzept basiert, neben audiovisuellen Konferenzsystemen, auf einem Toolstack zur Förderung der Prozesstransparenz und Kommunikation der Teammitglieder untereinander. Dieser Werkzeugkasten enthält unter anderem ein digitales Scrum Board. Ähnlich dem analogen Vorbild werden Aufgaben auf einfache Art und Weise visualisiert, wodurch der Projektfortschritt auf einen Blick erkennbar ist. Über die Zustandsänderung von Aufgaben hinaus bieten sich Möglichkeiten der Skalierung, Filterung und der Darstellung von Detailinformationen, die in analogen Boards fehlen.

Um die haptischen und visuellen Eigenschaften klassischer Boards zu bewahren, wurde das digitale Scrum Board mit JavaFX umgesetzt, da es die Implementierung einer reichhaltigen Benutzeroberfläche (GUI) mit Multi-Touch-Interaktion ermöglichte. Dabei überzeugten nicht nur das Styling mit CSS und die integrierte Gestenerkennung, sondern auch die Möglichkeit der komfortablen Implementierung von Animationen und die Nutzbarkeit einer umfangreichen Komponentenbibliothek. Allerdings sind in den verteilten Entwicklungsszenarien mehrere Scrum Boards vorgesehen, deren Zustände untereinander synchronisiert werden müssen (Abb. 1). JavaFX liefert mit Properties und Bindings zwar nützliche Konzepte, um Abhängigkeiten zwischen Werten abzubilden und umzusetzen, doch sind diese auf eine JVM begrenzt. Um die Synchronisation der einzelnen Instanzen des Scrum Boards zu realisieren, war es erforderlich, Zustandswechsel über Rechnergrenzen hinweg zu implementieren. Bevor auf das daraus entstandene Framework SynchronizeFX genauer eingegangen wird, betrachten wir die hierfür relevanten Grundlagen von JavaFX: Properties, Bindings und Listener.

Abb. 1: Synchronisation der Scrum Boards zwischen mehreren Standorten

Das Scrum Board bei YouTubeAuf YouTube gibt es einen Einblick in die Funktionsweise [1] und Synchronisierung [2] des Scrum Boards. Die Videos sind ein gutes Beispiel für eine komplexe JavaFX-Anwendung.

Properties und Bindings

Neben den Gestaltungsmöglichkeiten von GUIs führt JavaFX Properties und Bindings ein. Dabei handelt...

Java Magazin
SynchronizeFX: Remote JavaFX Property Binding

SynchronizeFX: Remote JavaFX Property Binding

Mit JavaFX 2 steht Java-Entwicklern eine moderne Technologie zur Entwicklung von reichhaltigen und interaktiven Benutzeroberflächen zur Verfügung: Sie bringt einerseits viele interessante Konzepte wie deklarative Gestaltung, Animationen und Gestenerkennung mit, führt andererseits aber auch Properties und Bindings auf Datenebene ein. Das hier vorgestellte Framework SynchronizeFX greift die letzten beiden Konzepte auf. Es ermöglicht die Implementierung von verteilten JavaFX-Anwendungen, die sich ein Datenmodell teilen und dieses visualisieren. Der Mechanismus eignet sich nicht nur zur Umsetzung von Echtzeit-Multiplayer-Spielen, sondern lässt sich auch im Umfeld von Geschäftsanwendungen einsetzen.

Michael Thiele, Raik Bieniek, Vincent Tietz, Manuel Mauky, Alexander Casall


Wir wollen zunächst den fachlichen Anwendungsfall aus dem Tagesgeschäft der Autoren betrachten, um erste Einsatzszenarien der Technologie zu umreißen. Aufgrund der wachsenden Bedeutung agiler Vorgehensmodelle in der Softwareentwicklung arbeitet die Saxonia Systems AG seit 2011 an einer Integrationsplattform zur Unterstützung dieser Arbeitsprozesse, insbesondere in verteilten Entwicklungsszenarien. Das Gesamtkonzept basiert, neben audiovisuellen Konferenzsystemen, auf einem Toolstack zur Förderung der Prozesstransparenz und Kommunikation der Teammitglieder untereinander. Dieser Werkzeugkasten enthält unter anderem ein digitales Scrum Board. Ähnlich dem analogen Vorbild werden Aufgaben auf einfache Art und Weise visualisiert, wodurch der Projektfortschritt auf einen Blick erkennbar ist. Über die Zustandsänderung von Aufgaben hinaus bieten sich Möglichkeiten der Skalierung, Filterung und der Darstellung von Detailinformationen, die in analogen Boards fehlen.

Um die haptischen und visuellen Eigenschaften klassischer Boards zu bewahren, wurde das digitale Scrum Board mit JavaFX umgesetzt, da es die Implementierung einer reichhaltigen Benutzeroberfläche (GUI) mit Multi-Touch-Interaktion ermöglichte. Dabei überzeugten nicht nur das Styling mit CSS und die integrierte Gestenerkennung, sondern auch die Möglichkeit der komfortablen Implementierung von Animationen und die Nutzbarkeit einer umfangreichen Komponentenbibliothek. Allerdings sind in den verteilten Entwicklungsszenarien mehrere Scrum Boards vorgesehen, deren Zustände untereinander synchronisiert werden müssen (Abb. 1). JavaFX liefert mit Properties und Bindings zwar nützliche Konzepte, um Abhängigkeiten zwischen Werten abzubilden und umzusetzen, doch sind diese auf eine JVM begrenzt. Um die Synchronisation der einzelnen Instanzen des Scrum Boards zu realisieren, war es erforderlich, Zustandswechsel über Rechnergrenzen hinweg zu implementieren. Bevor auf das daraus entstandene Framework SynchronizeFX genauer eingegangen wird, betrachten wir die hierfür relevanten Grundlagen von JavaFX: Properties, Bindings und Listener.

Abb. 1: Synchronisation der Scrum Boards zwischen mehreren Standorten

Das Scrum Board bei YouTubeAuf YouTube gibt es einen Einblick in die Funktionsweise [1] und Synchronisierung [2] des Scrum Boards. Die Videos sind ein gutes Beispiel für eine komplexe JavaFX-Anwendung.

Properties und Bindings

Neben den Gestaltungsmöglichkeiten von GUIs führt JavaFX Properties und Bindings ein. Dabei handelt...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang