Erster Teil unserer Reihe zu den Nominierten der JAX Innovation Awards 2016

JAX Innovation Awards 2016: Die Nominierten im Rampenlicht

Redaktion JAXenter

© Shutterstock / garagestock

Vor zehn Tagen startete das Voting zu den JAX Innovation Awards 2016. Nun ist es an der Zeit, dass die Nominierten sich der Community vorstellen und zeigen, weshalb sie Ihre Stimme verdienen. Im ersten Teil unserer Reihe „Die Nominierten im Rampenlicht“ präsentieren sich Kotlin, Lagom, Spring Boot, Apache Log4j 2, Deeplearning4j, Prometheus und RxJava.

Sie haben uns geholfen, die Nominierten für den diesjährigen JAX Innovation Award auszusuchen, ab sofort können Sie Ihre Stimme für die Nominierten abgeben. Doch Vorsicht: Die Zeit wird knapp. Das Voting ist nur noch für etwas mehr als zwei Wochen geöffnet.

Um sicherzustellen, dass Sie bestens über Ihre Optionen informiert sind, haben wir die Nominierten darum gebeten, sich und deren Projekte kurz vorzustellen und deren wichtigste Errungenschaften hervorzuheben. Doch bevor wir den ersten sieben Projekten die Bühne überlassen, hier noch einmal die Gesamtübersicht unserer Nominierten.

Infographic-JIA

Apache Log4j

Worum geht es bei Log4j?

Das Ziel von Log4j ist es, eine komplette Logging-Lösung für eine möglichst große Bandbreite von Java-Anwendungen zu sein. Es ist einfach in der Anwendung und beinhaltet ein reichhaltiges Set aus Features. Durch das flexible Plug-in-System bietet es quasi unendliche Erweiterbarkeit. Log4j 2 unterscheidet sich von anderen Frameworks besonders durch sein Audit Safe Design. Dadurch ist sichergestellt, dass bei einer Neukonfigurierung keine Logging-Events verloren gehen.

Was ist der innovativste Aspekt von Log4j 2? Welches ist die wichtigste Errungenschaft?

Log4j 2 bietet einen bis zu 20-fach besseren Datendurchlauf als vergleichbare Lösungen und somit eine einmalige Performanz. Dies wird durch die Verwendung von non-blocking Algorithmen und Datenstrukturen beim asynchronen Logging erreicht. Dabei wird darauf geachtet, dem sogenannten Locking und den damit verbundenen Kontextwechseln auszuweichen.

Für Programme mit einer niedrigen Latenz ist die Verwendung von Log4j 2 ebenfalls von Vorteil, da es die einzige quelloffene Logging-Bibliothek ist, die garbage-free arbeiten kann. Log4j vermeidet es, temporäre Objekte zu erstellen, wodurch Pausen für die Garbage Collection ausbleiben.

Klassischerweise kann das Loggen ein Grund für Performance-Probleme sein, denn ältere Logging-Bibliotheken verlassen sich sehr auf das sogenannte Kernel Locking. Dadurch soll Datenfehlern in mehrsträngigen Anwendungen vorgebeugt werden, was sich allerdings sehr stark auf den Garbage Collector auswirkt. An diesem Punkt ist die Lösung für die Produktion oftmals, möglichst wenig Logging zu betreiben, was sich wiederum negativ auf die Fehlersuche und –diagnose auswirkt. Da es nicht klug ist, Unterstützung bei der Produktion gegen Performanz einzutauschen, bietet Log4j 2 eine sinnvolle Alternative.

Spring Boot

Worum geht es bei Spring Boot?

Spring Boot ist ein Framework für das Schreiben von Anwendungen für Java-Entwickler. Es wurde basierend auf dem Prinzip „Konvention vor Konfiguration“ erstellt. Ziel ist es, das Schreiben von voll ausführbaren und eigenständigen Java-Anwendungen, die modernen Entwickler-Praktiken entsprechen, möglichst einfach zu gestalten.

Was ist der innovativste Aspekt von Spring Boot? Welches ist die wichtigste Errungenschaft?

Einer der innovativsten Aspekte ist die Art und Weise, wie die automatische Konfiguration funktioniert. Die Möglichkeit, lediglich die Bibliotheken auszuwählen, die man wirklich braucht und diese dann automatisch konfiguriert zu bekommen, ist sehr mächtig. Vor allem im Hinblick darauf, dass es trotz allem möglich ist, bei Bedarf von der voreingestellten Norm abzuweichen. Spring Boot bietet, dank kohäsiver Bibliotheken, einen schnellen Einstieg. Trotz allem ist man in keiner Weise eingeschränkt, wenn man selbst die Kontrolle übernehmen will.

Die größte Errungenschaft von Spring Boot ist vermutlich das Zusammenbringen so vieler Bibliotheken und die Möglichkeit, sie so leicht zu wechseln oder hinzuzufügen. Um etwas Neues auszuprobieren, ist meist nicht mehr nötig, als eine einzige neue Zeile im Gradle-Build oder dem Maven-POM.

Lagom

Worum geht es bei Lagom?

Lagom ist ein Framework zur Erstellung von Microservice-basierten Systemen. Die vier Hauptfeatures sind:

  • Ein Service-API für die Deklaration und das Implementieren von Service Interfaces.
  • Ein Persistenz-API, das Event-basierte persistente Entitäten zur Datenspeicherung für Services zur Verfügung stellt.
  • Eine Entwicklungsumgebung, die es erlaubt, sämtliche Services und die sie unterstützende Lagom-Infrastruktur mit einem einzigen Kommando laufen zu lassen.
  • Die Integration in Lightbend ConductR als Produktionsumgebung, die out-of-the-box unterstützt wird.

Lagom wurde erstellt, um Java-Entwickler beim Zersetzen der Monolithen und dem Übergang in die reaktive Welt der Microservices zu unterstützen.

Was ist der innovativste Aspekt von Lagom? Welches ist die wichtigste Errungenschaft?

Verteilte Systeme sind schwer zu bauen und Microservice-basierte Architekturen sind genau das: verteilte Systeme. Lagom hilft Entwicklern, mit der beim Zersetzen von Monolithen einhergehenden Komplexität klar zu kommen. Zudem kümmert es sich um die schweren Aufgaben, etwa um die verteilte Persistenz und die asynchrone Kommunikation, während es die Produktivität von Entwicklern unterstützt. Mit Lagom zu starten, ist eine Sache von Minuten.

Kotlin

Worum geht es bei Kotlin?

Kotlin war von Anfang an dazu auserkoren, eine pragmatische Programmiersprache zu werden, deren Anwendungsbereich vor allem das Schreiben industrieller Applikationen war. Zusätzlich sollten Faktoren wie Interoperabilität, Prägnanz, Sicherheit, Ausdrucksstärke und die Möglichkeit eines Language-Toolings berücksichtigt werden.

Was ist der innovativste Aspekt von Kotlin? Welches ist die wichtigste Errungenschaft?

Zum einen bietet Kotlin einige Features, die in anderen Sprachen in der Form nicht vorhanden sind. Aber was Kotlin eigentlich auszeichnet, ist die Kombination dieser besonderen Features mit weit verbreiteten Standardfunktionen. Einige Konventionen sorgen zudem dafür, dass Kotlin in Sachen Prägnanz und Lesbarkeit heraussticht.

Zum anderen wurde Kotlin eher aus der Not heraus entwickelt und wird heute in etwa zehn Produkten eingesetzt. Dass es in der Community so gut ankam und die kontinuierlich steigende Annahme, sind ein großes Kompliment für uns als Entwickler.

RxJava

Worum geht es bei RxJava?

Bei RxJava geht es um das Programmieren mit und das prozessieren von (synchronen und asynchronen) Datenflüssen auf der JVM und Android nach einem Standardparadigma. Das Ziel ist es, effiziente, hoch performante, non-blocking, zusammensetzbare und (a)synchrone Datenflüsse zu ermöglichen. Dies geschieht, indem die schwierigen Teile (Nebenläufigkeit, Parallelismus, Threading usw.) erfasst werden und ein leichter zugängliches API für Entwickler zur Verfügung gestellt wird.

Was ist der innovativste Aspekt von RxJava? Welches ist die wichtigste Errungenschaft?

RxJava wurde sehr von Rx.NET, also von Microsofts eigener reaktiver Biblitohek, beeinflusst. Von dieser ging die Innovation ursprünglich aus. Wir haben auf diesem Konzept aufgesetzt und es nach und nach mit neuen Features und einer besseren Basis-Technologie angereichert.

Die signifikanteste Errungenschaft ist die Reichweite: RxJava hat viel mehr Entwickler erreicht, als jede andere Bibliothek davor und führte das reaktive Programmierparadigma in das Mainstream-Ökosystem von Java ein.

Prometheus

Worum geht es bei Prometheus?

Prometheus wurde entwickelt, um dynamische, containerisierte, Microservices-orientierte Umgebungen zu überwachen. Es ist ein quelloffenes Zeitfolge- und Metrik-Tool, das von Borgmon, Googles internem Monitoring-Tool, inspiriert wurde. In seinem Buch „Site Reliability Engineering – How Google Runs Production Systems“ schreibt Jamie Wilkinson: „Wir brauchen Monitoring-Systeme, die es uns erlauben für hochlevelige Service-Objektiven bereit zu sein, aber die Körnigkeit bewahren, individuelle Komponenten bei Bedarf einzeln zu betrachten.“ Das ist hundertprozentig auf Prometheus anwendbar.

Was ist der innovativste Aspekt von Prometheus? Welches ist die wichtigste Errungenschaft?

Prometheus hat viele Innovationen in die quelloffene Monitoring-Welt gebracht. Während man praktisch sämtliche Innovationen in leicht abgewandelter Form in anderen Monitoring-Lösungen findet, ist Prometheus das einzige Tool, das alle in einem einzelnen, konsistenten und leicht zu bedienenden Ökosystem vereint. Prometheus beinhaltet ein reichhaltiges Label-basiertes Datenmodell für Metriken, eine skalierbare Pull-basierte Beispielsammlung, die die Vorteile vieler moderner Service-Discovery-Technologien erfolgreich umsetzt, und eine mächtige Query-Sprache für die Untersuchung, das Alerting und die grafische Aufarbeitung. Zudem gibt es eine unglaublich aktive Community, die einen ständigen Fluss von Verbesserungen und neuen Features ermöglicht, worunter etwa die zahllosen Integrationen in Systeme von Drittanbietern fallen.

Deeplearning4j

Worum geht es bei Deeplearning4j?

Deeplearning4j vereint die zwei mächtigsten Zweige aus dem Bereich künstlicher Intelligenz und macht sie für Enterprise verfügbar. Gemeint sind Deep Neural Networks und Deep Reinforcement Learning, die im Verbund zur Muster-Erkennung und zielorientiertem Maschinellen Lernen fähig sind. Diese beiden Fähigkeiten sind sehr wichtig, um etwa Objekte auf Bildern, Anomalien in Zeitfolgedaten (z.B. bei finanziellen Transaktionen) und generell Muster und Empfindungen in Sprache, Ton und Text zu erkennen.

Was ist der innovativste Aspekt von Deeplearning4j? Welches ist die wichtigste Errungenschaft?

Die größte Innovation von Deeplearning4j ist die Möglichkeit, mächtige künstliche Intelligenz im Produktions-Stack verwendbar zu machen. Wir kombinieren die JVM mit Hardwarebeschleunigung auf GPUs und verteiltem Computing via Spark. Die größte Errungenschaft ist die übermenschliche Fähigkeit zur Erkennung von Mustern in einer leicht deploybaren Enterprise-Distribution. Für letztere gibt es kommerziellen Support von Skymind.

Auf der Website der JAX Innovation Awards können Sie sich registrieren und für Ihren Favoriten stimmen! Zu sämtlichen Kandidaten gibt es dort Hintergrundinformationen und Sie können mitbestimmen, welche Projekte die Titel „Most innovative contribution to the Java Ecosystem“ und „Most innovative solution to software delivery & DevOps“ verdient haben. Die Stimmabgabe ist bis zum 29. September möglich.
Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: