Topics

Featured in Development

Peter Alvaro talks about the reasons one should engage in language design and why many of us would (or should) do something so perverse as to design a language that no one will ever use. He shares some of the extreme and sometimes obnoxious opinions that guided his design process.

Featured in AI, ML & Data Engineering

Today on The InfoQ Podcast, Wes talks with Katharine Jarmul about privacy and fairness in machine learning algorithms. Jarul discusses what’s meant by Ethical Machine Learning and some things to consider when working towards achieving fairness. Jarmul is the co-founder at KIProtect a machine learning security and privacy firm based in Germany and is one of the three keynote speakers at QCon.ai.

Featured in Culture & Methods

Organizations struggle to scale their agility. While every organization is different, common patterns explain the major challenges that most organizations face: organizational design, trying to copy others, “one-size-fits-all” scaling, scaling in siloes, and neglecting engineering practices. This article explains why, what to do about it, and how the three leading scaling frameworks compare.

Helidon V1 Brings API Stability and MicroProfile 1.2 Support

Oracle has released version 1.0 of Project Helidon, an open-source collection of Java libraries to build microservices, with greater API stability than beta versions and support for the MicroProfile 1.2 spec.

According to the release notes, the Helidon team has been finalizing the API changes over the last couple of months before the V1 release. Helidon comes in two programming models: Helidon SE and Helidon MP. Helidon SE is a micro-framework that comes with a reactive web server to build microservices. Helidon MP is based on Eclipse MicroProfile and provides JAX-RS, CDI and JSON-P/B APIs.

Web Server

The NodeJS inspired WebServer component provides a reactive API for creating microservices and web applications. The WebServer handles incoming traffic using routing patterns and request handlers. The WebServer comes with a static content handler and support for generic and specific error handling.

Configuration

The configuration component provides Java APIs to load key/value pairs that can be used by an application to configure itself. The configuration can be loaded from multiple data sources like the file system or a URL. The component offers a polling mechanism to detect and publish changes to the config sources.

Security

The security component provides authentication and authorization support. Security related events are audited by default. Audit can be can be configured. The component comes with security providers like JWT, HTTP Basic, and attribute based access control.

Metrics

The metrics component provides a means to configure and expose application metrics in JSON format or plain text.

Tracing

The tracing component provides support for instrumentation and distributed tracing. Helidon’s tracing support is based on the OpenTracing APIs.

Health Checks

The health check component provides support to configure and expose built-in and user defined health checks.

The following code example showcases how to build a simple web server using Helidon SE and serve static content (images) under the file system: