Milan Heimschild begann das Meetup mit einem Grundlagenvortrag über Redis. Redis ist ein In-Memory Data Store in dem einfache Datenstrukturen abgelegt werden können und zählt damit zur Kategorie der NoSQL Datenbanken. Nach einer Einführung über die unterstützten Datenstrukturen die mit Redis verwaltet werden können, gab es eine Vorstellung von typischen Einsatzmöglichkeiten von Redis.

So kann Redis in vielen Anwendungsfällen als einfache, hochperformante Publish/Subscribe Messaging Plattform verwendet werden. Auch für Caches bietet sich Redis aufgrund seiner sehr hohen Geschwindingkeit an. Diese Geschwindigkeit wird durch den Verzicht auf Transaktionen sowie Authentifizierungskonzepte erzielt. Für Caches spielen Transaktionen aber auch keine wesentliche Rolle. Dafür erhält man einen Data Store der auf moderner Hardware etwa 500.000 IO Operationen pro Sekunde durchführen kann – eine beeindruckende Geschwindigkeit.

Auch die Datenreplikation über einen Cluster kann mit Redis umgesetzt werden und stellt einen typischen Anwendungsfall dar.

Milan stellte praktische Anwendungsfälle aus seinem Projektalltag vor:

  • Caching von Pagination von Ergebnislisten in Web Anwendungen
  • Als Caching Alternative zu memcached
  • Nginx Redis Adapter (ebenfalls als Page Cache)
  • Produktkatalog in E-Commerce Applikationen
  • Autocompletion von Webformularen
  • Geo Mapping von IP Adressen
  • Session Replikation
  • Leaderboards (Gaming)
  • Speichern von Kommentaren (User Generated Content)

Der zweite Vortrag behandelte Groovy, die Scriptsprache für die JVM, und wurde präsentiert von Siegfried Göschl. In gewohnter Manier stellte er einen Anwendungsfall vor, in dem die Scriptsprache Groovy optimal zum Einsatz kommen kann: Testdatenmanagement. Dabei verwendet er Groovy Scripts um Excel Dateien zu erstellen, wobei die Daten aus diversen Systemen über REST Schnittstellen ausgelesen werden. Zum Testen einer komplexen Anwendung werden die Daten für mehrere Sprachversionen sowie Staging Systeme entsprechend aufbereitet. Diese Skripte sind von einfacher Struktur, müssen oft aktualisiert werden und führen einfache Datentransformationen durch. Etwas zu komplex für klassische Bash Scripte, aber ein idealer Anwendungsfall für Groovy. Groovy eignet sich für Java Entwickler, da die Sprache in der JVM läuft und auf sämtliche Java Bibliotheken zugreifen kann und von Java Entwicklern rasch erlernt werden kann.

Groovy eignet sich auch für die Erstellung von einfachen Testreports und wurde von Siegfried bereits in Projekten verwendet.

Bei openForce verwenden wir seit geraumer Zeit auch node.js für einfache (und weniger einfache) Skripte bis hin zu einfachen Applikationen – insbesondere zum Erstellen von Prototypen. Durch unsere Spezialisierung auf Web Applikationen und der damit verbundenen Verwendung von JavaScript ist node.js für uns eine einfache und willkommene Alternative zu klassischen Bash Scripten zur Produktivitätssteigerung.

Wie immer war der Besuch beim Meetup sehr inspirierend. Vor allem der Austausch mit anderen professionellen Softwareentwicklern hilft den eigenen Horizont zu erweitern. In diesem Sinne freue ich mich bereits auf das nächste Meetup im April. Dann geht es um das Playframework in der neuen Version 2.5 – der Kerntechnologie die wir bei unserer Web Applikationsentwicklung verwenden – allerdings mit Scala!