Nach längerer Sendepause mal wieder Folien von mir aus zwei GWT Vorträgen, dieses Mal von der WJAX 2013. Neu dieses Jahr ist ein dedizierter GWT Day mit Themen Rund um die Software Entwicklung mit dem Google Web Toolkit.

Den Anfang hat Daniel Kurka mit einem sehr interessanten Vortrag über GWT im allgemeinen und JavaScript Besonderheiten im speziellen: History, Present and Future of GWT → Folien.

Meine Vorträge hatten den Fokus auf Architekturentscheidungen in der GWT Anwendungsentwicklung, sowohl auf dem Client als auch in der Kommunikation mit dem Server:

GWT Architectures and Lessons Learned → Folien

GWT-Entwicklung ist Rich-Client-Entwicklung, und das ist für viele Webentwickler neu. Mit den “Lessons Learned” aus der Entwicklung von Google AdWords wurden Architekturmuster für GWT-Anwendungen vorgestellt. Einiges davon ist inzwischen in GWT gelandet und kann sofort eingesetzt werden. In diesem Vortrag werden Architekturmuster vorgestellt, die in den letzten Jahren in einigen Projekten erfolgreich eingesetzt wurden.

Client-Server-Kommunikation mit dem Command Pattern → Folien

Eine Client-Server-Architektur stellt besondere Anforderungen an die Client-Server-Kommunikation. Einerseits wird Sparsamkeit angestrebt, andererseits absolute Flexibilität, Wiederverwendbarkeit und Wartbarkeit. Gerade im GWT-Umfeld fehlen clientseitig eine vollwertige JVM und das Reflection-API. Hinzu kommt noch der teilweise ungewohnte Umgang mit den asynchronen Aufrufen. In diesem Vortrag wird das Command Pattern vorgestellt. Es werden konkrete Lösungsansätze für Batching, Caching, Security und Journaling vorgestellt.

Heute eine kleine Success-Story aus den eigenen Reihen:

Unser Vorzeigeprojekt LEMNISCUS, bisher nur intern als Referenz zum Thema GWT, Spring, Spring-Data uvm. genutzt,  ist in den letzten Monaten zu einem Produkt ausgearbeitet worden und vor ein paar Tagen live gegangen.

Nach vielen Jahren Entwicklung und Nutzung im stillen Kämmerlein gehen wir mit unserer Praxisverwaltungssoftware für Osteopathen online.

Die Idee, Lemniscus zu entwickeln, ist ursprünglich aus privaten Gründen entstanden und sollte einer gestressten Ehefrau mit eigener osteopathischer Praxis das Leben erleichtern und einer Famile mehr Zeit füreinander geben, indem es als ihr virtueller Assistent fungierte und zeit- und nervenraubende Aufgaben übernahm, die verwaltungstechnischer und organisatorischer Natur sind und damit sinnvollerweise delegiert werden sollten und können.

Dabei ließ es sich dann auch hervorragend als Demo für Schulungen, Projekte und Vorträge rund um GWT verwenden, insbesondere als Gegenbeispiel im Zusammenhang mit Aussagen wie “Das geht nicht” oder “Im Web ist alles langsamer”.

Vor einigen Monaten haben wir dann zum ersten Mal weitere Osteopathen auf Lemniscus losgelassen und uns intensiv damit beschäftigt, aus einem Projekt ein Produkt zu machen.

Der nächste Schritt war die Anbindung von externen Diensten an unser LEMNISCUS:

- das Bezahlsystem Automatic von Fastbill
- das Support-System Zendesk (SSO steht noch aus)
- das Newsletter-System Mailchimp

Nun fehlte noch die komplette Verwaltung der Nutzeraccounts für die Therapeuten sowie die rechtlichen Rahmenbedingungen dafür.

Nächste Herausforderung: eine Registrierungsseite, die die Kunden nicht abschreckt, sondern einlädt, das System auszuprobieren.

Natürlich haben wir uns auch die Frage nach dem Hosting gestellt. Wo bekommen wir eine solide, ausfallsichere und bezahlbare Infrastruktur? Am Ende sind wir bei Amazon AWS gelandet.

Die größten Baustellen waren aber einerseits Design und andererseits die rechtliche Lage. Zum Design gibt es nicht viel zu sagen, außer das ich persönlich ein Händchen dafür habe, Designer zur Verzweiflung zu bringen. Das Thema rechtliche Lage war nur mit einer Rechtsanwältin und Datenschutzexpertin zu bewerkstelligen, die wiederum ein Händchen dafür hatte, mich in die Verzweiflung zu treiben.

Fazit:

Jetzt ist die Firma pgt technology scouting GmbH also stolzer Betreiber einer Praxisverwaltung für Osteopathen, Heilpraktiker, Therapeuten und Coaches der unterschiedlichsten Couleur.

http://lemniscus.de

Besonders stolz sind wir auf unsere Terminplanung mit SMS-Benachrichtigungsfunktion. Der Rest der Anwendung (Patientenverwaltung, Einnahmenverwaltung usw.) besticht durch geschicktes “In-den-Hintergrund-Treten“. LEMNISCUS steht für die einfache Verwaltung einer Praxis, die in der Bedienung nicht weh tut.

Es war ein langer Weg, und wir freuen uns jetzt über die zunehmenden Besucherzahlen auf unserer Vertriebsseite (die zugegeben etwas mehr Zuneigung verdient hat, – aber das ist dann eben der nächste Schritt!).

Here is another snippet for copy and paste: how to create conditional CSS entries in a CSS resource. In this special case I am adding a liner color transition to a “box”…

Zeiten des Wandels

Als Java-Entwickler ist man nicht selten Webentwickler. Über einen ungewöhnlich langen Zeitraum haben sich die Technologien um einen herum kaum geändert: Das W3C hat sich in Bezug auf HTML lange seitwärts, insgesamt im Kreis, aber praktisch kaum bewegt, der Browserkrieg schien gewonnen und mit den Java-Webframeworks waren wir im Großen und Ganzen recht zufrieden.

The Web 2.0 Toolkit

Das Google Web Toolkit ist eine Sammlung von Werkzeugen und Bibliotheken für die Entwicklung von JavaScript-Anwendungen. Das Toolkit wird sowohl intern von Google als auch weltweit in vielen Projekten eingesetzt. Das Besondere an GWT ist die Vorgehensweise: Ein Compiler liest Java-Quellen ein und generiert JavaScript. Somit können Java-Entwickler auf bestehendes Wissen, Erfahrungen und Werkzeuge aufsetzen. Allerdings hat GWT nicht den Versuch unternommen, das gesamte JDK und Swing im Browser zu unterstützen. Die JDK-Unterstützung ist fragmentarisch (nicht alle Klassen können verwendet werden), und GWT liefert ein eigenes, an HTML orientiertes
UI-Komponentenmodell.


Der komplette Artikel von Benjamin Bart (Orientation in Objects GmbH) und Papick G. Taboada (pgt technology scouting GmbH)  kann im PDF nachgelesen werden und stammt aus der Ausgabe 2.12 des Eclipse Magazins.

Every now and than I get asked for a reference list of companies using GWT.

First, there is Google:

„AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables, Google Health (discontinued), Google Wave (discontinued), PlayN (basis of Angry Birds)“

And now, online, there is a public reference list of companies using GWT:

http://gwtreferencelist.appspot.com/

There you will find the company list, some fancy charts and the “register company” form. Using GWT and not on the list? Please register!