Cross Platform UI mit JVx

Post to Twitter

Am gestrigen JUGAT Event haben wir unsere Web Implementierung von JVx UI vorgestellt.

Was genau ist die Web Implementierung von JVx UI?

Dabei handelt es sich um eine HTML/Ajax Implementierung des Plattform unabhänigen User Interfaces das von JVx vorgegeben wird. Dadurch ist es nun möglich, eine JVx Applikation als klassische Web Anwendung zu starten. Und der entscheidende Vorteil dabei ist, daß die Applikation nicht geändert oder neu codiert werden muss. Eine Applikation die bisher als Swing Applet verwendet wurde, kann nun auch ohne Anpassung als HTML Client betrieben werden!

Und wie kann so eine Applikation im Web aussehen?

Auf den ersten Blick ist die Web Anwendung nicht von einer Swing Anwendung/Applet Anwendung zu unterscheiden. Und auch beim zweiten Blick sollte genau hingesehen werden. Doch genug der Worte - mit Screenshots sollte der WOW Effekt nun eintreten.

WebUI login

WebUI login

Die Anmeldung

Im Vergleich zur Applet Anwendung ist der Unterschied kaum merkbar.

Die Konkakte verwalten

Die gewohnten Features der Swing Anwendung stehen natürlich auch in der Web Implementierung zur Verfügung, wie z.B.: Master/Detail, Automatische Zellen Editoren, Bildanzeige usw.

WebUI contacts

WebUI contacts

WebUI contacts firebug

WebUI contacts firebug

Der Beweis

Mit Firebug treten wir den Beweis an, daß es sich bei der Anwendung tatsächlich um eine HTML/Ajax Anwendung handelt.

Für die Umsetzung der JVx WebUI wurde die ext GWT Bibliothek eingesetzt. Diese bietet gute Komponenten auf denen wir aufsetzen konnten. Es wäre jedoch auch denkbar eine andere Bibliothek wie z.B.: qooxdoo zu integrieren.

Der Silverlight Showcase ist online

Post to Twitter

Wir haben vor wenigen Wochen unseren Silverlight Showcase vorgestellt. Nun steht die Anwendung offiziell zur Verfügung.

Der Silverlight Showcase ist eine in C# entwickelte Anwendung die mit den JVx AddOns für .NET entwickelt wurde. Dabei wird die komplette Business Logik von der Java Implementierung wiederverwendet. Der Silverlight Client kommuniziert durch den UniversalSerializer direkt mit dem Java Applikationsserver.

Die Anwendung ist zusammen mit dem Java Showcase hier zu finden.

Die JVx AddOns für .NET unterliegen der Apache Lizenz 2.0 und der Source Code wird in den nächsten Wochen offiziell freigegeben.

Unser Tippspiel für die Fußball WM 2010 ist Online

Post to Twitter

Wie bereits in einem früherem Posting berichtet wurde, haben wir im Rahmen der WJAX Challenge 2009 ein Fußball Tippspiel entwickelt. Und genau dieses Tippspiel setzen wir nun für die Fußball Weltmeisterschaft 2010 ein.

Seit heute steht die offizielle Version für jeden Fußball Fan zur Verfügung und wir laden recht herzlich zur Teilnahme ein.

Das Tippspiel wurde vollständig mit dem Enterprise Application Framework - JVx - entwickelt und der Source Code steht unter Apache Lizenz 2.0 zum Download bereit.

Aber was wäre ein Tippspiel ohne Preise?
Natürlich nur halb so interessant. Deswegen gibt es auch passend zu den Themen JVx, Java und Fußball etwas zu ergattern. Auch an dieser Stelle ein Dankeschön an unsere Sponsoren.

Genauere Informationen sind auf unserer Fußball WM-2010 Webseite zu finden.

JVx Kommunikation im Vergleich

Post to Twitter

Die in JVx integrierte Kommunikation hätte durchaus potential für ein eigenständiges Open Source Projekt. Wir sind jedoch bemüht die Entwicklung immer so einfach als möglich zu halten. Das bedeutet nicht, daß in JVx alle möglichen Frameworks zusammengeführt werden und somit ein nicht überschaubares "etwas" entsteht, sondern JVx enthält alles was nötig ist um Business Anwendungen in einer 3 Schichten Architektur zu erstellen. Und dazu gehört nun mal eine effiziente Client/Server Kommunikation.

Es gibt natürlich Frameworks für die Kommunikation zwischen Client und Server, wie z.B. Netty. Doch unabhängig von den vielen Möglichkeiten des Frameworks ist die Bibliothek mit knapp 700KB ein großer Brocken (nur für die Kommunikation!). Weiters ist ein Kommunikationsframework alleine noch nicht ausreichend, denn die Objekte müssen zwischen Client und Server auch noch serialisiert bzw. deserialisiert werden.

Für die Serialisierung könnten wiederum vorhandene Frameworks wie z.B.: Google Protocol Buffers oder Hessian eingesetzt werden. Doch die Google Protocol Buffers erfordern die Definition der zu übertragenden Objekte und ist daher für ein generisches Framework wie JVx nicht geeignet. Und Hessian unterstützt leider nicht alle Objekttypen und ist nicht out-of-the-box mit z.B. Android einsatzfähig.

Der in JVx integrierte Kommunikationsmechanismus erlaubt ohne weiteres die Integration von den bisher genannten Frameworks, da weder das Transportprotokoll noch die Serialisierung ausschlaggebend sind für eine Business Anwendung. Außerdem definiert JVx mit Interfaces, was die Kommunikation bieten muss. Üblicherweise ist eine eigene Implementierung durch die Ableitung von AbstractSerializedConnection bzw. die Implementierung von ISerializer rasch durchgeführt.

Mit dem UniversalSerializer wird außerdem eine Lösung bereitgestellt mit der Objekte, zwischen unterschiedlichsten Technologien, ausgetauscht werden können. Und das ohne sich Gedanken über die Konfiguration zu machen bzw. Mappings zu erstellen. Der Einsatz des UniversalSerializer in Verbindung mit Netty ist ebenfalls ohne Probleme möglich, nur um hier auf den flexiblen Einsatz der JVx Kommunikation hinzuweisen!

Die Kommunikation wird im Moment mit Java und .NET erfolgreich eingesetzt. Weiters funktioniert die Kommunikation auch ohne jegliche Anpassung mit Android.

Wir sind Gastgeber des JUGAT Events im Mai

Post to Twitter

Die Java User Group Austria, kurz JUGAT, ist am 20.05.2010 zu Gast bei SIB Visions.

Wir halten einen Vortrag über die Entwicklung von Business Applikationen mit JVx und zeigen Live wie eine professionelle Datenbank Applikation, ohne doppelten Boden, mit Eclipse und dem Enterprise Application Framework - JVx, in kürzester Zeit erstellt werden kann.

Ein weiterer Programmpunkt ist ein Vortrag über (J)Ruby und die Erstellung von PDF Dokumenten aus HTML Vorlagen mit Ruby Skript.

JVx in der Cloud

Post to Twitter

Seit gestern sind unsere Demo Anwendungen in der Cloud beheimatet. Unser bisheriges Demo System war nicht unbedingt für eine Vielzahl von Usern ausgelegt. Außerdem dachten wir ursprünglich, daß ein Demo System nicht so performant sein muss wie ein produktives System. Doch dieser Gedanke passt so überhaupt nicht zu JVx. Denn JVx unterscheidet sich von anderen vergleichbaren Frameworks unter anderem durch die Performance.

Damit JVx seine Vorteile voll ausspielen kann, war ein Umzug unbedingt erforderlich.

Das neue System ist in seiner Basis Konfiguration bereits für mehrere Hundert User ausgelegt und kann bei Bedarf beliebig skaliert werden. Das ist nur einer der vielen Vorteile einer Cloud.

Aufgrund des Umzuges wurden beim Tippspiel Packung nur die Benutzerkonten übernommen, nicht aber die Tipps, die erfassten Ergebnisse bzw. die manuell erstellten Turniere. Da es sich um eine Demo Anwendung handelt haben wir auf eine vollständige Datenübernahme verzichtet.

Weiters wird nun für die Showcase Anwendung die aktuellste JVx Version eingesetzt. Das bedeutet unter anderem ein verbessertes Meta Daten Caching und den Einsatz des Universal Serializer.