26
Mrz 12

MongoDB Berlin

Als Ein-Tages Konferenz mit zwei parallelen Tracks war das Programm der MongoDB Konferenz in Berlin am 20. März 2012 von vornherein sehr ehrgeizig angesetzt und vollgepackt mit einem engmaschigen Zeitplan. Um es kurz zu machen: der Besuch hat sich voll und ganz gelohnt. Die Veranstaltung bot, obwohl sie total ausgebucht war und die beiden Räume des Maritim Hotels aus ihren Nähten zu platzen drohten, einen vielseitigen Einblick in ein breites Themenspektrum (vom Schema Design, der Wahl der richtigen Sharding Keys bis hin zur Roadmap) direkt aus erster Hand der Softwareentwickler.

Der Veranstalter 10gen, die kommerzielle Unternehmung hinter dem Open-Source Projekt, hat darauf geachtet auch Kunden (XING, VZ, Solvians) aus ihren Projekten vortragen zu lassen, was das Programm abwechslungsreicher machte und außerdem Real-World Eindrücke beim Einsatz von MongoDB vermittelte. Positiv aufgefallen ist mir auch, dass das Publikum (300 Teilnehmer aus ganz Europa) sehr breit gefächert war: von klassischen Unternehmensberatern bis hin zu Code Nerds, von StartUps (6Wunderkinder, Socialbakers) bis zum Großunternehmen (Otto) waren alle vertreten. Zudem waren die Entwickler unterschiedlichster Lager so friedlich nebeneinander vereint, wie schon lange nicht mehr: egal ob JavaScript, PHP, Ruby, Java und Objective-C  alle haben gleich interessiert den Vorträgen gelauscht.

Hier ein paar Fotos, die ich während der Konferenz aufgenommen habe:

Bis zur Veröffentlichung der Version 2.2 von MongoDB ist es, laut Max Schireson (10gen President), nicht mehr allzu lange hin: das Publikum wurde zumindest auf das Frühjahr 2012 verwiesen. Sehr gespannt darf man wohl auf das neue “Aggregation Framework” sein, mit dessen Hilfe deklarativ mächtige Abfragen formuliert werden können, die leichter verständlich, als auch performanter als die heutigen Map Reduce Jobs ausgeführt werden sollen.

Die einzigen Wermutstropfen gehen an die schwache Kaffeeversorgung am Nachmittag (1 Pause mit 1 Kaffeemaschine für 300 Teilnehmer ist wohl doch etwas zu knapp kalkuliert) und die etwas überfüllten Räume. Besonderes Highlight waren für mich die Vorträge von Richard Kreuter (dank seines lebendigen und unterhaltsamen Vortragstils) als auch von Christian Kvalheim (für sein fantastische Pacman Revival in Form von mongoman mit HTML5 Websockets mit Hilfe von node.js).

Folien der Präsentationen und weitere Ressourcen:

 


24
Nov 11

Devoxx 2011 Rückblick

Nach einigen Anläufen ist es mir dieses Jahr zum ersten Mal gelungen an der europäischen Entwicklerkonferenz devoxx teilzunehmen. Zumindest für Java Interessierte ist diese Konferenz eine gute Möglichkeit den aktuellen Zeitgeist aufzuspüren und sowohl Technologie-Evangelisten als auch Veteranen live zu erleben. Die Konferenz fand zum 10ten mal statt und wird (sehr routiniert und professionell) von der belgischen Java User Gruppe (BeJUG) organisiert. Das Motto lautete diesmal “Meet us in Paradise”. Das “Paradies” (geografisch verortet im Metropolis Kino am Stadtrand) wartete in Antwerpen mit sehr komfortablen Sitzen auf. Dorthin hatten sich über 3300 Geeks aus 40 Ländern zusammengefunden, um sich eine Woche lang zu den Themen rund um die Java Plattform, HTML5 und Android auszutauschen.

Montag: Anreise, leichtgewichtiges Enterprise Java & deployen in die Cloud

Die Ankunft im “Paradies” zögerte sich etwas hinaus, da sowohl mein Abflug aus Hamburg verspätet war, als auch der Bus am Brüsseler Flughafen sehr lange auf sich warten ließ. Als der “Express Bus” dann endlich losfuhr, traf ich ca. eine Stunde später bei allerherrlichstem Wetter in Antwerpen ein. Der Kinokomplex war noch himmlisch leer (zumindest machte es den Eindruck, als ich mich durch den Hintereingang näherte), bis ich dann in der richtigen “Ecke” endlich bei der devoxx Konferenz ankam.

Die erste Session, die ich besuchte, war etwas nebulös Duke’s Duct Tape Adventures benannt, Bert Ertman und Paul Bakker führten aber sehr anschaulich durch das Erstellen einer Java EE 6 Applikation (Slides). Dies war ganz nebenbei mein erster Kontakt zu dem Projekt forge, das per Kommandozeile in einfacher und eleganter Weise erlaubt Artifakte zu generieren und zu deployen. Demonstriert wurde das anhand von JBoss AS 7 und Red Hat OpenShift, das just an diesem Tag in die public beta überging.

Im Anschluss an das erste Mittagessen (das in der Regel eher bescheiden ausfiel) gab es “Spring into the Cloud” von Chris Richardson (seines Zeichens Gründer von cloudfoundry, nun Teil von vmware) und Josh Long (hoch energetisch, Mr. Tausendsassa und Autor zahlreicher Bücher im Spring Umfeld). Der cloudfoundry Software Stack ist zu großen Teilen Open-Source, damit ist es also möglich darauf basierende eigene Cloud Infrastruktur aufzubauen, ein großer Vertrauensvorsprung durch den vmware den Eindruck eines Lock-Ins verhindern möchte. Die Kommandozeilentools für die Verwaltung der Instanzen sind übrigens unter ubuntu bereits vorinstalliert (mehr Details).

Ein kurzer Zwischenstop bei Tor Norbye und Xavier Ducrohet zeigte den aktuellen Stand der Tools für die Entwicklung für Android. Interessanterweise steht es wohl nach wie vor schlecht in Sachen Emulator (man kommt nicht um ein Deployment auf einem Gerät herum), dafür wachsen aber die Möglichkeiten eine Applikation für mehrere Geräte unterschiedlicher Natur auszulegen (dank intelligenter include Methoden). Um Bugs in einem Android Projekt frühzeitig aufzuspüren, scheint lint das Tool der Wahl zu sein.

Begeistert hat mich die Session “Forge: new ground in Rapid Enterprise Java Development” von Lincoln Baxter III und Dan Allen. Ganz im Sinne von Nerds hatten sie keine einzige Folie gezeigt, sondern begannen mit ASCII Art und starteten gleich mit der Forge Shell durch um ein Java EE 6 Projekt Stück für Stück aufzubauen und unter JBoss AS 7 oder Glassfish zu deployen. Der Blogeintrag von Kevin zeigt euch Details, was man damit anstellen kann. Insgesamt sieht mir dieser Ansatz vielversprechend und sauber aus, und könnte insbesondere zu Projektbeginn eine Beschleunigung darstellen.

Den Abschluss für Montag machte für mich der Vortrag von Matthias Sohn (SAP) über Code Review with Git and Gerrit (Slides). Leider war diese Session relativ trocken, vielleicht hätten die Interaktion mit dem Zweitvortragenden von Twitter etwas mehr Spannung hereingebracht. Ein Review Workflow wird mit von dem ursprünglich bei Google entwickelten und nun als Open-Source verfügbaren Tool Gerrit vereinfacht. Trotz anfänglicher Bedenken bei den Projektbeteiligten bei SAP, scheinen inzwischen mehrere Hundert Entwickler dort damit zu arbeiten und die Transparenz über Änderungen scheint als Ergänzung (aber bestimmt nicht als Ersatz) für Pair Programming zu helfen.

Dienstag: Camel, Groovy und Play! BOF

Der zweite Universitätstag begann für mich mit einer Session zu Apache Camel, CXF, ActiveMQ & ServiceMix von Charles Moulliard (Slides, Blog). Es war ein Vortrag, der sowohl den Zusammenhand dieser Projekte aus dem Enterprise Architecture Integration (EAI) Umfeld vorstellte, als auch Einblicke via Beispiele demonstrierte (Karaf war dabei auch im Spiel). Charles bewahrte auch bei den ziemlich komplexen Demos Ruhe, den so manchmal verweigerte die ServiceMix Skripte ihre Dienste. Interessant fand ich auch das vorgestellte Tool fabric, mit welchem sich eine Verteilung der ServiceMix Dienste auf mehrere Systeme leicht bewerkstelligen lässt.

Andres Almiary stellte Neues aus dem Groovy Ökosystem (Slides, Blog) vor, insbesondere die Vielfalt im Griffon Umfeld war mir in diesem Ausmaß nicht bewusst: über 170 Plugins existieren und ermöglichen mit Hilfe einer DSL schnell UIs in Groovy für SWT, JavaFX und Swing zu entwickeln. Desweiteren wurden auch Grails (2.0 steht vor der Tür), Gaelyk, Easyb und Spock vorgestellt: Hut ab vor den Entwicklern, die dieses wirklich sehr produktive Ökosystem in den letzten Jahren relativ still geschaffen, aber irgendwie nie die verdiente Aufmerksamkeit erhalten haben. Zweiflern sei gesagt, dass mit codenarc eine statische Codeanalyse (á la PMD und Findbugs) ermöglicht wird.

John Ferguson Smart, der extra aus Neuseeland angereist war, sprach zum Thema “From Continuous Integration to Continuous Delivery” (Slides). Unter Continuous Delivery ist nach seinen Worten der fachlich getriebene Wunsch jederzeit deployen zu können zu verstehen. Wie schlägt sich dies im Entwicklungsalltag nieder? Er warnte dazu eindrücklich vor der Verwendung von Feature Branches, es sei denn, man integriert ständig die Änderungen des Feature Branches auf den Hauptentwicklungszweig (z.B. anhand von Jenkins). Zur Verdeutlichung zog er dazu die Analogie mit einem Kanarienvogel, der in früheren Zeiten den Bergbauarbeitern als Hilfe diente und sobald der Sauerstoffgehalt sank mit dem Singen aufhörte.

Bereits während des Tages begann der Aufbau der Aussteller: genau wie der Typesafe Stand erfreute sich der MongoDB Stand sehr großer Beliebtheit (ebenso IntelliJ, iText), im Vergleich zum Oracle Stand (und ganz geschweige vom HP Stand, der bis zum Donnerstag komplett verwaist war). Google buhlte mit (essbaren) Icecream Sandwiches um die Gunst der Teilnehmer, und hatte eine sehr im Hintergrund platzierte Google TV Settop Box von Sony mit Android zu zeigen. Merkwürdigerweise war der Stand von SpringSource/vmware im absolut letzten Winkel versteckt, passte aber irgendwie zu dem sehr zurückhaltenden Auftritt, einzig die wirklich coolen Cloudfoundry T-Shirts und cloud-on-a-USB-Stick konnten das Bild etwas aufhellen.

Abends gab es dann noch eine Play! Framework BOF Session, mit dem in letzter Sekunde eingetroffenen Nicolas Leroux und Nicolas Martignole. Sie stellten die Beweggründe für die Entwicklung des Frameworks vor, und zeigten als Demo eine Videochat Web Applikation. Aufgrund des wackligen WLANs kam zwar keine Verbindung zustande, trotzdem hatten die Teilnehmer in dem völlig überfüllten Raum einen guten Eindruck von der Mächtigkeit und Eleganz von Play! gewinnen können. Leider gab es wenig Scala Beispiele zu sehen, dafür kam ich am nächsten Tag in der Session von Guillaume und Sadek entsprechend auf meine Kosten.

Mittwoch: Play!, Akka und PhoneGap

Am Mittwoch begann dann der offizielle Teil der Konferenz mit einer Oracle-lastigen Keynote von Henrik Ståhl und Mark Reinhold (siehe Fotos oben): Kernaussage war das Bekenntnis von Oracle zu Java als eine vibrante Plattform zu erhalten bzw. weiter auszubauen, O-Ton: “We will always be there for you”.

Highlight des Tages war für mich definitiv “Play 2.0, a Webframework for a new era“. Diese Session begannen Guillaume Bort und Sadek Drobi mit der Verkündung, dass mit der Version 2.0 Play! Teil des typesafe Technologiestacks wird. Damit manifestiert sich nicht nur die Affinität zu Scala und Akka, sondern auch die Bestrebungen kommerziellen Support leichter in einem größeren Maße anbieten zu können (Announcement).
Das Frühjahr 2012 wird auf alle Fälle interessant, wenn dann der Technologiestack bestehend aus Scala 2.10, Akka 2 und Play! 2 ans Tageslicht tritt.

Donnerstag: Highlights am laufenden Band

Die Keynote von Tim Bray (den ich zuletzt auf der XML Europe 2001 traf) zum Thema Android rief das gesamte Publikum auf, sich der Entwicklung für mobile Geräte anzunehmen (“Mobile is the place to be”). Er versäumte nicht die Gelegenheit, kurz darauf hinzuweisen, dass wesentlich mehr Frauen auch auf Software-Konferenzen vertreten sein sollten (und nicht von diesem Berufszweig ausgeschlossen sein sollten, was wiederum eine Diskussion für sich ist). Tim Bray’s Keynote war definitiv humorvoll, appellierend (z.B. mehr Designer zu Rate zu ziehen), enthusiastisch und auch mit einer Portion Gesellschaftskritik. Seine These gerade durch die Öffnung von Android als Open-Source käme der Markt für günstige Phones weiterhin unter Druck, sodass auch Schwellenländer vermehrt Smart Phones nutzen werden und gerade in diesem Sektor Applikationen, die wirklich Menschen helfen, dringend benötigt werden. Auf der High-End Seite werden Phones mit 4 Prozessoren (plus GPU) bald keine Seltenheit mehr sein, so dass Nebenläufigkeit auch bei mobilen Geräten eine große Rolle spielen wird.

Der mit Spannung erwartete Vortrag von Martin Odersky What’s in store for Scala? gab Einblicke in Scala 2.10 (Slides) welches im nächsten Frühjahr erscheinen soll. An Scala scheiden sich aus meiner Sicht nach wie vor die Geister, akademisch kann man wohl nicht viel an dieser Sprache aussetzen, jedoch stehen das komplexe Typsystem und die vielen Varianten zu einer Lösung zu kommen wohl im Moment einer weiten Adaption noch etwas im Wege. Eine provokanter Artikel ist vor kurzem unter dem Titel Scala feels like EJB 2 erschienen. Neue Sprachen auf der JVM waren eindeutig im Fokus dieser Konferenz (was man anhand den Sessions zu Groovy, Scala, Clojure, Fantom, Kotlin und Ceylon). Relativ klar scheint, dass es nicht auf die eine neue Programmiersprache hinausläuft, sondern wohl eher spezialisierte Sprachen, die einen Teilsektor abdecken werden: es bleibt auf alle Fälle spannend.

Der coolste Vortrag der Woche, kam definitiv von Matt Raible und lautete: “HTML5 with Play! Scala, CoffeeScript and Jade” (Slides). In seiner authentischen Art schilderte er Erfahrungen, die er während der Entwicklung eines GPS Trackers als mobile HTML5 Applikation gemacht hat, den er für seine Fahrrad- und Skitouren einsetzt (Video). Erst am Wochenende vor seinem Vortrag konnte er – dank PhoneGap – dann die Applikation in Betrieb nehmen. Von ihm stammt die Redewendung “… and then I blogged about it“.

Sehr unterhaltsam war auch die Live Aufnahme der Java Posse Episode 370. In einer Art Game-Show sollten unter nicht ganz zufällig ausgewählten Kandidaten ein Ersatz Posse Mitglied bestimmt werden. Locker zeigte sich Mark Reinhold, der zum Knacken des Code Rätsels kurzerhand sein Laptop zum Kompilieren zuhilfe zog.

Den Abschluss für mich machte am Donnerstag Abend dann Dick Wall mit einem Vortrag über “Courage in Software Development” (Podcast). In diesem stellte er seine Skepsis der Software Craftmanship Bewegung (und generell allen Movements) dar, und erläuterte, dass die Qualität kein Selbstzweck sein dürfte, sondern immer in Zusammenhang des Kundennutzens. Sein Ermunterung aus einer ganz pragmatischen Sichtweise war: Mut an den Tag zu legen, Dinge (z.B. des Projektes an dem man einsteigt) zu hinterfragen und neugierig neue Dinge auszuprobieren (Fail early, fail often).

Freitag

Der Freitag begann mit einem technischem Diskussions-Panel, bei dem diesmal neben Oracle und Google Vertretern auch Ben Evans (London JUG) und Emmanuel Bernhard (Red Hat). Der Microsoft Abgeordnete spielte nur eine sehr nebenläufig Rolle (und wurde sogar gar nicht mit vom Kameramann berücksichtigt). Die Qualität der Diskussion war überwiegend gut, und bekam immer wieder durch Sticheleien von Joe Nuxoll (Javaposse Mitglied) und den Drohungen von Carl Quinn, der im Hintergrund mit selbstgebasteltem Schwert den Diskussionsteilnehmern auch bei brisanteren Fragen eine Antwort entlockte.

Definitiv aus aller erster Hand war das Resümee von Joshua Bloch über “The Evolution of Java: Past, Present and Future“. Begonnen hat er den Vortrag mit alten Slides von James Gosling aus dem Jahre 1997 (siehe Fotos). Der Vortrag war ziemlich intensiv, schliesslich liess Mr. Bloch nochmals alle Java Versionen Revue passieren und bewertete die Sprach Features auf die Güte hinsichtlich der von James Gosling aufgestellten ursprünglichen Carta. Es ist kein großes Wunder, dass bei der Bewertung Serialization und Generics ziemlich schlecht abschnitten. Sein Ausblick auf Flaws in JDK 7 ist aber eher gelassen, wollen wir hoffen, dass dem so ist.

Leider verlief die Session über die neue von Gavin King initiierte Programmiersprache Ceylon enttäuschend, es fehlten mir sowohl die Motivation als auch die Vorteile und Ausblick auf die Sprachkonzepte, stattdessen wurden etwas Eclipse Support und triviale Beispiele gezeigt. Insgesamt hat mich das jedenfalls nicht sehr überzeugt, und im Nachhinein habe ich mich etwas geärgert nicht doch lieber die Session “What Shazam doesn’t want you to know” als quasi krönenden Abschluss anzuhören. Dank den Video Aufzeichnungen wird diese (so wie alle weiteren Sessions) im Laufe des Dezembers wohl auf parleys.com online verfügbar sein.

Bei einem belgischen Bier auf dem Marktplatz von Brüssel konnte ich die Konferenzeindrücke mit Ausblick auf die absolut sehenswerte Altstadt in Brüssel verdauen, bevor es dann auf zum Heimflug ging.

Zusammenfassung

Meine persönlichen Highlights waren die Vorträge von Matt Raible, Guillaume Bort, Sadek Drobi und Andres Almiray, in visionärer Hinsicht Tim Bray und auf menschlicher Ebene: Dick Wall. Neben den Vorträgen, war es auch großartig mit anderen Teilnehmern (die ich vorher teilweise nur per twitter kannte) direkt ins Gespräch zu kommen und weitere Diskussionen zu führen, insbesondere das Treffen der Play! User am Donnerstag Abend im Cafe Axxes.

Der Devoxx Organizer Stephan Janssen, dem großer Dank für die Organisation dieser sehr gelungenen Konferenz gebührt, hat unter The Good, The Bad and the Ugly die Woche aus seiner Sicht zusammengefasst. Und ganz nebenbei: darunter befinden sich gute Nachrichten in Sachen Essen: nächstes Jahr fällt wohl die Restriktion, dass der hauseigene Caterer herangezogen werden muss, es kann also auf besseres Essen und insbesondere leckeren Kaffee gehofft werden. Aber selbst falls nicht, an (italienischen) Restaurants scheint es in Antwerpen jedenfalls nicht zu mangeln.

Bonus Track: Die Attraktivität der Sessions kann auch aus den Benutzerzahlen der devoxx Android App abgelesen werden. Eine weitere gute Zusammenfassung (inklusive Linksammlung) findet sich auf Tomasz Dziurko’s Blog. Über die technische Details hinter den Kulissen der devoxx hat Nicolas Martignole berichtet.


31
Aug 10

Dedicated micro-blog for Play! learnings

Since I am recently involved (by explicit customer demand) in building a new web application with the Play! framework, I decided to keep some notes while discovering this new experience. You can find them over at http://learn-to-play.tumblr.com.

Have fun!


24
Okt 09

SpringOne 2GX 2009: Link collection

A small summary of links to interesting things happened on the SpringOne 2GX conference hold this week in New Orleans from the outside, mostly observed from the twitosphere, with a modest emphasis on Groovy and Grails.

Notes and comments from attendees:

Slide decks:

Interviews:

Some outstanding quotes extracted from twitter:

  • Guillaume Laforge: “Nice :-) RT @twcrone Griffon rocks!!!! Client apps with Groovy. I know I’m a “Flex” guy apparently but I’d rather be writing Groovy.”
  • Scott Davis: “GPars (Groovy parallel library) looks really, REALLY compelling.”
  • Daniel Honig: “GPars makes concurrent operations in Groovy so trivial that it should be illegal.”
  • Andres Almiray: “#griffon based slideware code available at git@github.com:aalmiray/griffon-talk.git clone, hack, enjoy! :-)”
  • Gordon Dickens: “Cool stuff in #Gradle presentation from Hans Doktor dynamic builds using #Groovy” (Gradle 0.8 is out)
  • Hubert Klein (aka Mr. Haki): Adding Groovy and Grails Support to SpringSource Tool Suite (STS)

21
Jul 09

Migrating from Coppermine to SmugMug with 100 LOC (or so)

Since I was spending a great deal of last weekend’s time on migrating my Coppermine photo albums over to my brand-new SmugMug account, I thought it might be helpful to others to summarize my experiences here. First of all, the whole process (transferring several thousands of photos uploaded over the last 7 years into my Coppermine installation) went pretty smooth, that is mostly because of the brilliant pysmug Python library by Brian Zimmer as well as SmugMug great and reliable API (provided as a RESTful web-service).

Here is a step-by-step instruction on how to upload your existing coppermine albums into your SmugMug account. You need to have generated an API Key inside the SmugMug control panel for the upload process.

(1) Download and install pysmug package on your system, usually boils down to something like:
tar xvzf pysmug-0.5.tgz
cd pysmug-0.5
sudo python setup.py install

(2) Prepare SmugMug API access by setting up ~/.pysmugrc according to your individual user ID and API Key:
[pysmug]
login=login_withHash
smugmug=pysmug.SmugTool

[login_withHash]
APIKey = UZm0Y4...
userId = 999999
passwordHash = $1$.s...

(3) (optional) If your camera happens to embed rotation information as EXIF inside the JPEGs, you might want to rotate the photos before uploading accordingly. Unfortunately the upload API call does not support rotating on the SmugMug server-side, and also it seems like the rotation information got somehow eaten on upload. A small bash script using the great ImageMagick toolkit can do the conversion in a moment:

#!/bin/bash
path=$1
find $path* -type f -iname "*.jpg" ! -iname "thumb*" ! -iname "square*" ! -iname "medium*" | while read FILE
do
echo $FILE
convert -auto-orient "$FILE" "$FILE"
done

(4) Download my Python script cpg2smugmug.py and modify the header according to your Coppermine installation (specifically the MySQL connection settings and the path to your album root directory).

(5) Execute python cpg2smugmug.py and watch how the categories and albums got created and after wards the photos (on an album by album batch) uploaded into your SmugMug account.

Have fun!


11
Jan 09

Bequemes Builden 2009

Neues Jahr, neue Tools: zumindest da wo es Optimierungsbedarf gibt. Und den gibt es ja meistens reichlich bei Java Projekten beim Thema Build Management. Trotz den Hoffnungen, die Maven geweckt hat, sind Ant basierte Buildskripte seit Jahren Standard. Sobald bei Maven basierten Buildskripten die ersten Anpassungen durchzuführen sind, wollen der Lebenszyklus, die vielfältigen Erweiterungsmöglichkeiten, und die kompliziert benannten Goals verstanden sein. Die Suche und das Ausprobieren gehen los und senken deutlich den anfänglichen Spaß und führen zu extra Zeit Investitionen. Ein Ausweg scheint sich anzubahnen …

Nachdem ich zu Jahresbeginn mit dem Gedanken spielte für ein neues Projekt buildr als Build Tool einzusetzen. Es sei an dieser Stelle noch auf den interessanten Blog Beitrag verwiesen, wie der gradle. Die ausschlaggebenden Punkte waren dabei neben der Tatsache, dass das Buildskript in Groovy (statt in Ruby) geschrieben wird, eine sehr ausgetüffelte und stabile Abhängigkeitsanalyse (basierend auf Ivy, Stichwort: transitive dependencies) und eine umfangreiche Dokumentation (trotz der Neuheit). An ein paar gute Seiten von Maven wird auch angelehnt, so wird per Default Konfiguration von einer Verzeichnisstruktur gemäß Maven Konvention ausgegangen, ausserdem können Maven (und natürlich Ivy) Repositories zur Abhängigkeitsverwaltung der Bibliotheken einfach konfiguriert und benutzt werden.


19
Dez 08

Spielend gedeihende Webapps

Ein sehr symphatischer Name für ein neues Web Framework: Play!. Es ist ein weiterer Anlauf den inzwischen recht komplexen Java Enterprise Stack auf die Kernbelange runterzudampfen, die man für eine typische MVC basierte Webapplikation benötigt. Dabei kommen erprobte Komponenten für Persistenz (Hibernate), Authentifizierung (OpenID), Caching (memcache) zum Einsatz. Besonders erwähnenswert, dass von vornherein das HTTP im Zentrum der Konfiguration steht, und damit sehr einfach eine REST Schnittstelle implementiert werden kann.

Viel Spaß beim Spielen!


16
Okt 08

Spass an Logfiles

Noch nie hat das Verfolgen von Log Dateien in Echtzeit soviel Spass bereitet, wie mit glTail. Einem fantastischem (Ruby basiertem) Tool, das sich einfach per SSH an eine oder mehrere Apache Instanz verbindet, und dort inkrementell die neuesten Einträge per tail abgreift und auswertet. Die grafische Darstellung ist sehr ansprechend mit OpenGL umgesetzt und erinnert stark an ein Pong Spiel zwischen den anfragenden Usern und dem antwortendem Webserver. Das Tool lässt sich mit dem Installieren eines gem Files schnell an den Start bringen, und ist durch eine (leider so gut wie nicht dokumentierte) Konfigurationsdatei in vielen Bereichen anpassbar. Das schön dabei, nicht nur Apache access logs können visualisiert werden, sondern auch weitere Webserver, Mailserver, DB Server Logs.


18
Sep 08

Groovy und Grails News

Wer auf der Suche nach einer Workflow- bzw. Business Prozess Engine ist, sollte sich ein spannendes neues Projekt namens GrailsFlow anschauen. Es ist zwar derzeit noch in der Entwicklung (Produktionsreife wird aber in 3-6 Monaten erwartet), aber wird unter der Apache Open-Source Lizenz herausgegeben und wen wundert es, mit Grails entwickelt.

Warum nicht das MVC Pattern auch einfach für das Entwickeln von Swing Applikationen mit Groovy als Skriptsprache einsetzen, das neue Projekt Griffon beschäftigt sich genau damit. Zwei interessante Beispiel Artikel finden sich unter:Drilling Analytics und Flying with Griffon.

Apropos UI: ein neues Framework namens Cappuccino sorgt jüngst für Furore (280slides ist das Vorzeigeprojekt), weil damit einfach Applikationen entwickelt werden können, die mit wenig Aufwand unter Mac OS X, auf dem iPhone und als HTML/Ajax RIA laufen. Eine Idee von Tomas Lin wirft auf, ob ein Groovy nach Objective-C Übersetzer als Grails Plug-In Sinn machen könnte.

Eine gute Linksammlung zu Sourcen diverser Grails Projekten findet man hier. Viel Spaß beim Lernen daraus und Happy Coding!


26
Jun 08

Groovy & Grails: Links der Woche

Glen Smith hat mit seinem Buch Grails in Action begonnen, und begründet damit sein Schweigen über die letzten Wochen. Von Ruhe kann allerdings nicht wirklich die Rede sein, immerhin gibt es fast alle 10 Tage eine neue Folge des Grails Podcast zu hören.

Der zweite Teil eines ausführlichen Artikels von Avi Flax zum Thema Building RESTful Web Apps with Groovy and Restlet ist erschienen, und beleuchtet anhand eines Beispiel den Zugriff auf Mailbox Resourcen mit einer Groovy Applikation.

Brian Guan führt nun einen Blog über Grails bei LinkedIn, der hoffentlich kontinuierlich über den Fortschritt berichten wird. Ganz interessant auf alle Fälle die Präsentation, die auf der JavaOne zum gleichen Thema gezeigt wurde (und der Vergleich zu appfuse).
Apropos Vergleich, in diesem kurzen Beitrag wird Grails gegenüber Alfresco vorgezogen, um großen Dateien (>10GB) hochzuladen und verwaltet.