Spezifikation / ProfilProfile11
Jakarta EE Core Profile
Das Core Profile ist die minimale Jakarta-EE-Basis für moderne, kleinere Runtimes und Microservice-Architekturen. Es konzentriert sich auf CDI, REST und JSON.
Einordnung
Spezifikation / Profil
Enterprise-Rolle
Es ist geeignet, wenn du schlanke Services bauen möchtest, die HTTP/JSON, CDI und Interceptors nutzen, aber keine volle Web- oder Platform-Funktionalität brauchen.
Fachliches Verständnis
Es ist geeignet, wenn du schlanke Services bauen möchtest, die HTTP/JSON, CDI und Interceptors nutzen, aber keine volle Web- oder Platform-Funktionalität brauchen. 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
- CDI Lite für Dependency Injection.
- Jakarta RESTful Web Services für HTTP APIs.
- JSON-P und JSON-B für JSON-Verarbeitung.
- Annotations, Interceptors und Dependency Injection als Querschnittsbasis.
Typische Einsatzfälle
- Kleine REST-Services.
- Cloud-native Services mit schnellerer Startzeit.
- Quarkus/Helidon/Open Liberty Szenarien mit minimalem Profil.
Technisches Beispiel
java
@ApplicationScoped
public class GreetingService {
public String greet(String name) {
return "Hallo " + name + " aus Jakarta EE";
}
}
@Path("/hello")
@RequestScoped
public class GreetingResource {
@Inject GreetingService service;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello(@QueryParam("name") @DefaultValue("Aydin") String name) {
return service.greet(name);
}
}
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
- Core Profile wählen, obwohl Persistence/JTA/JMS gebraucht wird.
- Alle Enterprise-Fähigkeiten als selbstgebaute Libraries nachrüsten.
- Microservice-Zuschnitt ohne Fachgrenzen.
Legacy-Modernisierung
Für Legacy-Migrationen ist Core Profile meist Ziel für extrahierte, fachlich kleine Services, nicht für den gesamten Altmonolithen.
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?