Dicker Fisch an der Angel?

Payara Server 5 und Payara Micro 5 erschienen – das ist neu

Marcel Richters
Payara Server

© Shutterstock.com / royaltystockphoto.com

Die fünfte Version des GlassFish-Derivats steht ab sofort zum Download bereit. Und sie hat einige Änderungen mitgebracht. Insbesondere die Anpassung an Microservices, Cloud-native und Produkt-Deployment sollen verbessert worden sein. Aber das ist nicht alles. Wir haben uns die Updates von Payara Server und Payara Micro genauer angesehen.

Neuerungen beim Domain Data Grid und Request Tracing

Mit Payara Server 5 werden alle Server-Instanzen ein Domain-weites Datennetzwerk formen und Daten sollen – für Entwickler transparent – über die Instanzen geteilt werden. Payara verspricht, dass der Vorgang keine oder nur wenige Konfiguration benötigen wird. Daten werden über eine oder mehrere Instanzen dupliziert, wodurch eine bessere Verfügbarkeit versprochen wird. Durch das Hinzufügen von Payara-Server- oder Payara-Micro-Instanzen automatisch mehr Speicher verfügbar werden und die Skalierung für große Datensätze ohne Performanceverlust bei Updates oder Abrufen einhergehen.

Ebenfalls neu sind die Deployment Groups, welche bisher gebräuchliche Cluster ablösen. Die bisherigen Aufgaben der Cluster wurden in drei verschiedene Bereiche aufgeteilt. Die Deployment Groups haben damit die folgenden Aufgaben: Domain-weite Datenfreigabe, Anbieten eines einzelnes Ziel für Deployment und Konfigurationsmanagement, Bildung einer Einheit zur Datenfreigabe für Sessions und SSO-Zugangsdaten. Das Domain Data Grid soll sich um die Datenfreigabe des Backbones kümmern, die Deployment Group soll Ziel für das Deployment einer Anwendung sein und als einzelne, logische Einheit für die Aufteilung der Datenfreigabe dienen. Die Deployment Group soll dabei wie ein Cluster funktionieren und die Datenreplikation innerhalb der Domain garantieren.

Das Request Tracing wurde ebenfalls überholt und funktioniert jetzt im OpenTracing-Stil (mit Spans statt Events). Außerdem bietet es mit flachen Wahrscheinlichkeitsdichten und adaptiven Lösungen zusätzliche Sampling-Funktionen. Zum bisherigen Store kommt der working/rolling-Store hinzu.

Support für Java EE 8 und MicroProfile 1.2

Mit Pyara Server 5 und Pyara Micro 5 werden GlassFish 5 und Java EE 8 vollständig unterstützt, wodurch auch mehrere APIs aktualisiert wurden, darunter Serverlet 4.0 (mit HTTP/2-Unterstützung), Bean Validation 2.0, CDI 2.0, JAX-RS 2.1 und JSF 2.3.

Die Komptabilität mit MicroProfile 1.2 wurde ebenfalls angepasst und folgende APIs wurden aufgefrischt oder hinzugefügt:

  • JAX-RS 2.0
  • CDI 2 (update von 1.2 auf 2)
  • JSON-P 1.0
  • Annotation 1.2
  • Microprofile Config 1.1 (update von 1.0 auf 1.1)
  • Microprofile Fault Tolerance 1.0 (neu)
  • Microprofile Health 1.0 (neu)
  • Microprofile Metrics 1.0 (neu)
  • Microprofile JWT Propagation 1.0 (neu)

Eine spezielle Version von Mojarra (der JSF 2.3 Referenzimplementierung) wurde hinzugefügt und Mojarra kann jetzt parallel initiiert werden, wenn fish.payara.faces.enableParallelInit in der web.xml auf true gesetzt wird. Dadurch soll – je nach Applikationsgröße und Anzahl der Kerne – die Performance beim Starten verbessert werden.

Das neue Dark Theme für die Admin-Konsole / Quelle: Payara

Datenbanken, Singletons und Annotations

Da bei der Derby-Datenbank in der Vergangenheit Probleme aufgetreten sind, hat sich Payara dazu entschieden, diese durch die H2-Datenbank zu ersetzen. Ab der aktuellen Version wird H2 bevorzugt, Derby ist aber noch verfügbar, allerdings bereits als deprecated markiert – entfernt wird sie aus Gründen der Komptabilität aber erst mit dem nächsten Major-Update. Da Payara Micro über keine eigene Datenbank verfügt, kann ab Payara 5 der Hazecast Cache als persistenter EJB Timer Store genutzt werden. Die Funktion ist für Payara Server verfügbar, sodass persistente Timer im Domain Data Grid gespeichert werden können.

Apropos EJB: Mit Payara Server 5 und Micro 5 können EJB- und CDI-Singletons clusterweit erstellt werden. Der Singleton soll garantiert nur über eine Instanz verfügen. Bei einem Serverausfall soll das Singleton automatisch an eine andere Instanz weitergegeben werden. Um unerwünschte Clean-ups aufgrund des geänderten Beans zu verhindern, ist das Aufrufen von @PostConstruct als Standard eingestellt. Dieser Aufruf wird jedes Mal durchgeführt, wenn eine Bean-Instanz auf einer anderen Server-Instanz erstellt oder vernichtet wird. Dieses Verhalten kann allerdings konfiguriert werden.

Mit dem Update auf Version 5 enthalten Payara Server und Micro eine CDI-basierte Variante der RolesAllowed-Annotation, nämlich RolesPermitted. Die Annotation befindet sich im Payara API (fish.payara.api:payara-api:5.181) und soll zur Absicherung von CDI-basierten Geschäftsmethoden nutzbar sein.

Alle Änderungen finden sich im Detail im Blogpost von Mike Croft auf der Website von Payara, herunterladen kann man die aktuellen Versionen hier.

Verwandte Themen:

Geschrieben von
Marcel Richters
Marcel Richters
Marcel hat Soziologie an der Goethe-Universität in Frankfurt am Main studiert und danach als E-Commerce-Manager gearbeitet. Seit Februar 2018 unterstützt er das Team von JAXenter als Redakteur. Daneben arbeitet er als freier Journalist in der Mainmetropole.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: