Android™ im Unternehmenseinsatz

Im Privaten ist die Nutzung eines mobilen Gerätes mittlerweile alltäglich geworden. Langsam zeichnet sich der Trend auch im Unternehmensumfeld ab, wobei jedoch auch hier größtenteils private Geräte verwendet werden, um z.B. Firmen E-Mails oder Kundenkontakte zu lesen. In einigen Fällen empfiehlt es sich, Mitarbeiter mit firmeneigenen Geräten auszustatten. Dafür ist es erforderlich diese auch entsprechend zu administrieren.

weiterlesen

Buchrezension: Gradle – Ein kompakter Einstieg in modernes Build-Management

Cover: Gradle – Ein kompakter Einstieg in modernes Build-Management

Joachim Baumann
Gradle
Ein kompakter Einstieg in modernes Build-Management

dpunkt.verlag
260 Seiten
€ 32,90
ISBN 978-3-86490-049-5

Das auf einer Groovy-DSL aufsetzende Build-System Gradle vereint laut Aussage des Herstellers die Flexibilität von Ant mit dem Abhängigkeitsmanagement und den Konventionen von Maven. Obwohl es sich als weiterer Evolutionsschritt beider “alter” Build-Systeme versteht, möchte es doch nicht in Konkurrenz dazu gesehen werden. Verstärkte Aufmerksamkeit hat das relativ junge Gradle (Version 1.0 wurde im Sommer 2012 veröffentlicht, aktuell gibt es Version 1.10) erhalten, als Google es im Frühjahr 2013 auf der Google I/O zu dem neuen Build-System für sein mobiles Betriebssystem Android gekürt hat.

weiterlesen

buschmais Trainingswoche

jQAssistantWebreportsAlle aktuellen Projekte für eine Woche geparkt, im buschmais Büro werden Tische und Stühle zusammengerückt, Getränke in den Kühlschrank und los gehts: Trainingswoche@buschmais. Abseits vom Alltagsgeschäft stehen nun neue Technologien und Konzepte im Mittelpunkt. Thema diesmal: “Grafische Visualisierung für HTML mit JavaScript” – wir bauen ein Webfrontend für jQAssistant.

Die Anforderungen waren schnell formuliert: In Zukunft soll jQAssistant dem Nutzer die Möglichkeit bieten, sich individuelle Metriken als Abfragen zu definieren und die Ergebnisse in Form einer TreeMap im Browser darzustellen.

Für unsere Realisierung haben es zwei Frameworks in die engere Wahl geschafft: Das JavaScript InfoVis Toolkit, kurz JIT, und das Data-Driven Dokuments Framework, kurz D3.js. Beides sind weit verbreitete JavaScript-Bibliotheken zur Visualisierung von konkreten Daten. Um zu ergründen, was hinter den markig daherkommenden Projektwebseiten steckt, arbeiteten wir in Teams, so dass wir beide Frameworks parallel integrieren und testen konnten. Die Entscheidung für D3.js und gegen JIT fiel erst am letzten Tag. Bis dahin hatten wir beide Frameworks als gleichwertig betrachtet, mit ein paar Stärken in einem und auch Schwächen in dem anderen Framework. Der letztendliche Entscheidungsfaktor war dann jedoch die “Unbestimmtheit der Datenmenge” die der Nutzer den Frameworks zukommen lassen kann. Hier stießen wir aufgrund der rekursiven Implementierung der Render-Funktion auf Probleme im JIT. Diese Rekursion brachte ab einer Datenmenge von ca. 5000 Datensätzen den Browser dazu, die Verarbeitung abzubrechen.

Die Kommunikation des Browsers mit dem jQAssistent-, oder genauer gesagt dem Neo4J-Server, überlassen wir einem weiteren, weit verbreiteten JavaScript-Framework: AngularJS. Auch wenn die Einarbeitung in das Framework und der Umgang mit diesem anfangs recht schwierig, wenn nicht sogar müßig erschien (stellenweise fragten wir uns: “Warum eigentlich AngularJS und nicht pures JavaScript?”), hat es am Ende doch seine Stärken gezeigt. Mal abgesehen von der sauberen Trennung zwischen Model, View und Controller – was uns eine gute Parallelisierung der Arbeit ermöglichte – sind auch die gut abstrahierten AJAX-Calls ein großer Gewinn gewesen.

Als Resümee der Trainingswoche können wir sagen: Es hat Spaß gemacht! Wir haben mal wieder einen Blick über den Tellerrand geworfen und jQAssistant darf sich in Zukunft mit dem neuen Webfrontend schmücken. Wir sind schon gespannt welche Themen beim nächsten mal auf der Tagesordnung stehen.

JavaLand 2014

Eine Java-Konferenz im Vergnügungspark – ist das ernst gemeint? Das war die erste Frage, die sich mir stellte, als ich das erste Mal von “JavaLand” hörte und ich konnte die Skepsis bis zu meiner Ankunft im Phantasialand Brühl nicht wirklich ablegen. Ich wurde schnell eines Besseren belehrt: Nicht zuletzt dieser Umstand trug dazu bei, eine sehr entspannte Atmosphäre zu erzeugen. Mein persönliches Fazit ist daher: Zwei sehr fruchtbare Tage voller persönlicher Gespräche mit Gleichgesinnten in der Sonne vor Wasserspielen und interessanten Vorträgen in mystischer oder theatraler Atmosphäre – gehalten von einem spannenden Mix aus “alten Bekannten” der Szene und (noch) unbekannten Gesichtern.

Eine ganz persönliche Note ergab sich für mich bei der Präsentation des Themas “Qualitätssicherung mittels graph-basierter Softwareanalyse” und dem dahinterliegenden Projekt jQAssistant (GitHub). Die Zutaten neben meinen Slides, Beispielen und einer kleinen Prise Nervosität: Ein sehr gut gefüllter Raum, ein aufmerksames Publikum, das mich trotz Überziehung der mir zur Verfügung stehenden Zeit zum Weitermachen animierte, und eine emotionale Diskussionen direkt im Anschluss – eine tolle Erfahrung!

Auf diesem Wege vielen Dank an die Organisatoren – also an die Java-Community – die dieses Event möglich gemacht haben. Ich komme im nächsten Jahr gern wieder – ins JavaLand!

Meine Slides als PDF: Qualitätssicherung mittels graph-basierter Softwareanalyse (PDF; 3,1 MB)

Copyright iJUG e.V. Mit freundlicher Genehmigung des Interessenverbundes der Java User Groups e.V.

Contexts und Dependency Injection –
die grundlegenden Konzepte

Die Voraussetzung zur Nutzung von Contexts und Dependency Injection (DI/CDI) ist die Verwendung eines entsprechenden Containers. Dies kann ein vollständig Java-EE-6-kompatibler Application-Server sein (etwa JBoss AS 7.x), für kleinere Ansprüche stehen JBoss Weld (Referenz-Implementierung) und Apache OpenWebBeans als Stand-Alone-Bibliotheken zur Verfügung. In der mehrteiligen Artikelreihe werden die zu lösenden Probleme und angebotenen Lösungskonzepte näher erläutert.

Lesen Sie den vollständigen Artikel hier:
Download Java aktuell, Ausgabe 2/2014, S. 51 – 56

Dieser Artikel stellt den zweiten von drei Teilen zum Thema Contexts und Dependency Injection dar. Als Einstieg in den Artikel empfiehlt sich der Beitrag „Contexts und Dependency Injection – der lange Weg zum Standard“ aus der letzten Ausgabe. Die nächste Ausgabe wird sich mit der Verwendung von Events, Interceptoren und Delegates beschäftigen.

 1 2 3 4 5 6 ... 14 15 16 Vor