DEVOXX Poland – Eine kleine Nachlese

Devoxx-Poland-Attendee-Badgebuschmais goes DEVOXX Poland – vom 22. – 24. Juni 2015 besuchte unser Team die DEVOXX in Krakau. Die Java-Konferenz ist bereits in Belgien, England, Frankreich und Marokko etabliert. Schon im Jahre 2010 nahmen unsere Mitarbeiter an der DEVOXX in Belgien teil. In Polen fand sie in diesem Jahr zum ersten Mal statt und zog sogleich 2.000 Besucher nach Krakau.

Wir haben unser Team gefragt, wie es die DEVOXX erlebt hat:

BAM! Nun sind sie vorbei, drei turbulente Tage auf der DEVOXX in Polen. weiterlesen

EJB-TX-Annotationen an privaten Methoden

Mit erstaunlicher Hartnäckigkeit hält sich ein Phänomen in JavaEE Anwendungen: @TransactionAttribute an privaten Methoden. So nutzlos wie irreführend, dokumentiert es die Unkenntnis des Entwicklers über die Mechanismen eines EJB-Containers:

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
private void doSomething() {
  // start a new transaction
  ...
}

Diese Code ist überaus suggestiv und wird gerne in Code-Reviews übersehen. Eine neue Container-Transaktion wird dennoch nicht gestartet. Hierfür müsste der Container einen Interzeptor um den Aufruf von “doSomething()” wickeln. Das wäre einerseits eine große technische Herausforderung und ist andererseits in keiner Weise durch die EJB-Spezifikation gedeckt. weiterlesen

Das JavaLand 2015 im Rückblick

Nach der erfolgreichen Premiere im letzten Jahr stand bei mir Ende März die zweite Auflage der Konferenz auf der Agenda. Der auf den ersten Blick ungewöhnliche Veranstaltungsort – das Phantasialand Brühl – stellte dabei einen passenden Rahmen für die einerseits ernsthafte Auseindersetzung mit dem Themen aus dem Java-Universum dar, vermittelte aber eben auch jenen Spaßfaktor, welcher der Community Leben einhaucht. Leider habe ich es aber auch in diesem Jahr nicht geschafft, eine Runde auf der Achterbahn (“Black Mamba”) zu drehen…

Der Grund hierfür lag schlicht und einfach darin, dass eine Konferenz eben mehr ist, als nur ein Vortragsprogramm abzuarbeiten: Leute treffen, Ideen austauschen, Feedback geben bzw. einsammeln, Kontakte austauschen und dabei das eine oder andere alkoholfreie bzw. -haltige Erfrischungsgetränk zu sich zu nehmen. Da kann es auch schon passieren, dass die Vorbereitung der Beispiele für den eigenen Talk kurzerhand auf Mitternacht verschoben werden muss. Mein Vortrag “Yes We Scan – Softwareanalysen mit jQAssistant” (Folien als PDF, präsentierte Besipiele folgen) war zu meiner Freude sehr gut besucht und es ergaben sich im Nachhinein – trotz des kurz bevorstehenden Konferenzendes – sehr fruchtbare Diskussionen, beispielsweise über die geeignete Visualisierung von Strukturen. Allein dafür hat sich die Reise gelohnt!

Darüberhinaus gab es natürlich eine Menge anderer spannender Talks. Der allgegenwärtigen IoT-Welle konnte ich noch einigermaßen ausweichen und mich eher auf Qualitätsaspekte konzentrieren. Ich möchte an dieser Stelle den Vortrag “Abhängigkeiten managen with degraph” von Jens Schauder besonders herausheben: Einerseits trifft das von ihm präsentierte Thema natürlich einen besonders empfindlichen Nerv bei mir, andererseits war es aber die Form des Vortrags, die ich als sehr praxisnah und äußerst anschaulich empfunden habe: Der Vergleich einer Code-Basis mit der Organisation von Socken in Kleiderschränken oder die Benennung von Abhängigkeitsmustern als “Wäscheleinen” ist sehr bildhaft und eingängig!

Negativ getrübt wurde der Eindruck im JavaLand durch diverse technische Probleme mit Mikrofonen und den fehlenden WiFi-Zugang – obwohl bei näherer Betrachtung letzteres vielleicht sogar eine positive Auswirkung auf die Kommunikation der Teilnehmer gezeigt haben könnte.

Alles in allem war das JavaLand 2015 eine überaus gelungene und lohnenswerte Veranstaltung, die mich mit vielen Eindrücken und Ideen nach Hause entlassen hat – der Termin im nächsten Jahr (08.03. – 10.03.2016) ist im Kalender bereits blockiert.

JavaScript-Clients mit Dojo

Der klassische Fat-Client ist tot! Immer mehr Anwendungen setzen stattdessen auf Webclients, welche sich kaum noch von herkömmlichen GUIs unterscheiden. Das Dojo Toolkit soll die Entwicklung solcher Clients vereinfachen und beschleunigen. Der folgende Artikel stellt die Bibliothek vor und bietet einen Einstieg in die Arbeit mit Dojo.

Das Dojo Toolkit ist eine umfangreiche Open-Source-Bibliothek (BSD/Academic Free License) für die Entwicklung JavaScript-basierter Clients. Das Projekt gibt es seit 2004 und ist momentan in der Version 1.10 verfügbar. Entwickelt und vertrieben wird Dojo unter der Schirmherrschaft einer gleichnamigen Stiftung. Außerdem erhält es Unterstützung von namhaften Unternehmen wie IBM und AOL. Das Toolkit ist in drei Namespaces gegliedert (siehe Bild 1). Der Teil „Dojo“ enthält grundlegende Funktionen wie Ajax-Kommunikation oder das Arbeiten mit Arrays. In „Dijit“ werden häufig benötigte GUI-Komponenten (Buttons, Kalender, etc.) bereitgestellt, welche durch ein Baukastensystem zu einer Oberfläche zusammengesetzt werden können. Der dritte Teil („DojoX“) enthält unterschiedlichste, teilweise experimentelle Funktionalität und soll in einer zukünftigen Version aufgelöst werden.

Aufbau des Dojo ToolkitsBild 1: Aufbau des Dojo Toolkit

weiterlesen

Sanfte Harmonie

Sanfte HarmonieMit Java 8 nimmt die Entwicklung von Frontends mit JavaFX langsam Fahrt auf. Sofern man nicht an einen bereits existierenden Swing-Client gebunden ist, gibt es eine Menge guter Gründe direkt mit JavaFX ins Rennen zu gehen. Neben vielen anderen Features besitzt vor allem das standardisierte (bidirektionale) Databinding eine gewisse Attraktivität, verspricht es doch den Wegfall manueller Synchonisationslogik. Angezogen von der charmanten Aura, mit der sich JavaFX umgibt, starte ich die ersten Clientprojekte. Sofort verliebe ich mich in FXML, freue mich über den aufgeräumten Code und stelle fest, dass Frontend-Entwicklung tatsächlich wieder Spaß macht. Bei der Integration meines Datenmodells über einen Servicelayer komme ich allerdings ins Stocken. Die Daten, die ich beziehe bekomme ich in Form von XML angeliefert. Alles ist präzise in einem XML-Schema spezifiziert und für mich ist JAXB das Mittel der Wahl. Die passend annotierten JavaBeans lasse ich mir mithilfe des xjc-Plugins im Build- Prozess generieren. Soweit so gut. Jetzt noch schnell das Databinding für mein JavaFX-Frontend vorgenommen und fertig? Leider nein! Das Plugin erzeugt mir dummerweise nur die “normale Ausbaustufe” der zum XML-Schema gehörenden JavaBeans. Eine Variante, mit passenden JavaFX-Properties lässt sich das xjc-Tool beim Generieren leider nicht entlocken. Eine Suche im Internet liefert auch keine passende Lösung für mein Problem. Und so macht sich dann doch ein wenig Enttäuschung breit. Die ist aber nicht von langer Dauer, lässt sich die Codegenerierung des xjc-Tools doch mittels Plugin modifizieren. Entstanden ist ein xjc-Plugin, mit dessen Hilfe nun JavaBeans generiert werden können, die die benötigten JavaFX-Properties enthalten. JAXB und JavaFX-Databinding friedlich vereint, arbeite ich weiter an der Fertigstellung meiner Anwendung. Das Plugin freut sich indes in Form des GitHub-Projektes jaxbfx auf die Community. Bleibt mir nur ebenfalls viel Spaß auf der Clientseite zu wünschen!

 1 2 3 4 5 6 ... 16 17 18 Vor