JAX Innovation Awards spotlight on nominees: Kotlin, Lagom, Spring Boot and more
It’s been a week since the voting started, so it’s time to leave it to the nominees to show you why they deserve your vote. If you want to know what Kotlin, Lagom, Spring Boot, Prometheus, Deeplearning4j, Apache Log4j 2 and RxJava are all about, you’re in luck. Here’s a sneak peek at some of our nominees.
You helped us choose the nominees for this year’s JAX Innovation Awards, now it’s time to vote for them. You have less than a month to make sure your favorite nominees earn their spot on the podium.
We want to make sure you are well-informed about your options, so we asked nominees to present their projects and point out their most significant achievements. But before we give the floor to some of the finalists, let’s take a quick look at the entire list of nominees.
This post is part of a special series showcasing our final nominees.
What is Log4j all about?
Log4j aims to be the one-stop logging solution for a wide range of Java applications. It offers ease of use, a rich feature set and infinite extensibility with its flexible plugin system. Log4j 2 differs from other frameworks in that it was designed so that it is “audit safe”, meaning it can be reconfigured without losing logging events.
What is the most innovative aspect about Log4j2? What is its most significant achievement?
Log4j 2 offers unparalleled performance: 10-20x better throughput than competing solutions. Log4j 2 achieves this by using non-blocking algorithms and data structures when logging asynchronously, avoiding locks and the associated context switches where possible.
Low-latency applications use Log4j 2 because it is the only open source logging library that can be configured to be “garbage free”: it avoids creating temporary objects so it does not contribute to garbage collection pauses.
Logging can be a source of performance problems because older logging libraries rely heavily on kernel locking to prevent data corruption in multi-threaded applications, in addition to putting significant pressure on the garbage collector. The traditional answer is to minimize logging in production, which may hamper problem investigation and diagnosis. Obviously, trading off production support for performance is painful. Log4j 2 provides an alternative.
What is Spring Boot all about?
Spring Boot is a convention-over-configuration application development framework for Java developers. Its goal is to make it easy to create fully-executable, self contained Java applications that follow modern development best practices.
What is the most innovative aspect about Spring Boot? What is its most significant achievement?
One of the most innovative aspects is the way that auto-configuration works. The ability to pick only the libraries that you need, have them fully configured automatically but still have the ability to deviate when required is very powerful. We give you the ability to get going quickly with cohesive libraries that work well together, but you are in no way constrained if you need to take control yourself.
Probably the most significant achievement of Spring Boot is the way that it has been able to bring together so many libraries and make them easy to try. Trying something new is often as simple as adding a single line to your Gradle build file or Maven POM.
What is Lagom all about?
Lagom is a framework for creating microservice-based systems. It offers four main features:
– The Service API to declare and implement service interfaces.
– The Persistence API provides event-sourced persistent entities for services that store data.
– The Development Environment allows running all your services and the supporting Lagom infrastructure, with one command.
– Integration with Lightbend ConductR as an out-of-the-box supported production environment.
Lagom was built to support Java developers while decomposing their monoliths and transition into a reactive microservices world.
What is the most innovative aspect about Lagom? What is its most significant achievement?
Distributed systems are hard. Microservice-based architectures are exactly distributed systems. Lagom helps developers handle the complexity which is inherited by decomposing monolithic applications and takes care of the hard parts like distributed persistence and fully asynchronous communication while keeping the developers’ productivity up. You can get started with Lagom in a couple of minutes.
What is Kotlin all about?
Our objective with Kotlin has always been to create a pragmatic language that serves the purpose of writing industrial applications taking into account a series of factors such as interoperability, conciseness, safety, expressiveness and that the language can facilitate tooling.
What is the most innovative aspect about Kotlin? What is its most significant achievement?
a) Kotlin provide a few features that are not available in other languages, but it’s the combination of these along with features that are common in other languages, mixed in with some conventions that make it stand out in terms of conciseness and readability.
b) We started Kotlin as a project out of need, and to date are using it in around 10 products. The fact that it has been so well-received by the community and adoption is continuing to grow, for us is a great achievement.
What is RxJava all about?
RxJava is about programming with and processing dataflows (synchronous or asynchronous) on the JVM and Android with a common paradigm. The goal is to enable efficient, high performance, non-blocking, composable and (a)synchronous dataflows by capturing the hard parts (concurrency, parallelism, threading, etc.) and providing a more accessible API/viewpoint for developers.
What is the most innovative aspect about RxJava? What is its most significant achievement?
RxJava is heavily influenced by Rx.NET, Microsoft’s own reactive library and the innovation was really done by Rx.NET. We built upon its concepts and expanded it over time with more features and better underlying technology.
The most significant achievement is that it reached far more developers than any prior library and brought the reactive programming paradigm into the mainstream Java ecosystem.
What is Prometheus all about?
Prometheus was created to monitor microservices-oriented, containerized dynamic environments. It is an open source time series and metrics tool inspired by Google’s internal monitoring tools (Borgmon). What Jamie Wilkinson wrote in Site Reliability Engineering — How Google Runs Production Systems fully applies to Prometheus: “We need monitoring systems that allow us to alert for high-level service objectives, but retain the granularity to inspect individual components as needed.”
What is the most innovative aspect about Prometheus? What is its most significant achievement?
Prometheus brought many innovations to the open-source monitoring world. While you may find every single one of them in one form or another in a specific other solutions, too, combining them all in a single, consistent, and easy to operate ecosystem is the true strength of Prometheus: a rich label-based data model for metrics; scalable pull-based sample collection, leveraging the benefits of many modern service-discovery technologies; a powerful query language used throughout the stack for exploration, graphing, and alerting. And last but not least, an incredibly active community, providing a steady flow of improvements and new features, including countless integrations with third party systems to monitor or interact with.
What is Deeplearning4j all about?
Deeplearning4j brings two of the most powerful branches of AI to enterprise; those are deep neural networks and deep reinforcement learning, which are capable of pattern recognition and goal-oriented machine learning. These are useful for recognizing objects in images, detecting anomalies in time series data like financial transactions, and identifying patterns and sentiment in speech, sound and text.
What is the most innovative aspect about Deeplearning4j? What is its most significant achievement?
Deeplearning4j’s greatest innovation is making powerful AI usable on the production stack. We’re combining the JVM with hardware acceleration on GPUs and distributed computing via Spark. The most significant achievement is superhuman pattern recognition in an easy-to-deploy enterprise distribution that comes with commercial support from Skymind.
Head over to the JAX Innovation Awards website now to register your vote! Take a close look at all the nominees and choose the ones you think should win the titles of “Most innovative contribution to the Java ecosystem” and “Most innovative solution to software delivery & DevOps.” Make sure to vote in both categories. It’s up to you, the community, to decide who wins!