Framework / RuntimeCloud Native2026 Orientierung

Quarkus und Helidon mit Jakarta APIs

Quarkus und Helidon nutzen Jakarta- und MicroProfile-Konzepte in cloud-nativen, schlanken Runtimes.

Einordnung
Framework / Runtime
Enterprise-Rolle
Sie zeigen, dass Jakarta APIs nicht nur klassische Application Server bedeuten.
Diagramm zu Quarkus und Helidon mit Jakarta APIs

Fachliches Verständnis

Sie zeigen, dass Jakarta APIs nicht nur klassische Application Server bedeuten. In der Praxis ist wichtig, die Spezifikation nicht mit der konkreten Runtime zu verwechseln. Der Standard beschreibt die portablen APIs, die Implementierung entscheidet über Konfiguration, Performance, Betrieb und Support.

Kernkonzepte

  • Build-time Optimierung.
  • CDI/JAX-RS/JPA/MicroProfile Unterstützung je Runtime.
  • Container- und Kubernetes-Fokus.
  • Native Image Optionen.

Typische Einsatzfälle

  • Neue Microservices mit Jakarta APIs.
  • Strangler-Komponenten neben Legacy-Systemen.

Technisches Beispiel

java
@Path("/orders")
@ApplicationScoped
public class QuarkusOrderResource {
    @Inject OrderService service;

    @GET
    public List<OrderDto> all() {
        return service.openOrders();
    }
}

// Gleiche Jakarta-Grundidee, andere Runtime-Optimierung: Build-time, Container, Kubernetes.
Architekturregel: Jakarta APIs gehören an Systemgrenzen und Infrastrukturpunkte. Fachentscheidungen bleiben in Application Services und Domain-Modellen testbar und möglichst unabhängig vom Container.

Enterprise-Fallen

  • Runtime-Fähigkeiten mit vollständiger Jakarta Platform verwechseln.
  • Native Image ohne Library-Prüfung.
  • Zu früh fragmentieren.

Legacy-Modernisierung

Fachlich geschnittene Services können mit Jakarta APIs in Quarkus/Helidon neu gebaut werden, während der Monolith stabil bleibt.

Vertiefung: Review-Fragen für Senior-Entwickler
  • Welche Spezifikation ist hier wirklich nötig?
  • Welche Runtime-Funktion wird genutzt und ist sie portabel?
  • Wo liegt die Transaktionsgrenze?
  • Sind API-Verträge, DTOs und Domain-Modelle getrennt?
  • Ist der Code ohne Application Server testbar?