WildFly
# WildFly

Der WildFly Application Server ist ein Anwendungsserver nach dem Jakarta-EE-Standard und Teil des JBoss Middleware-Frameworks. Wildfly wird in der Programmiersprache Java geschrieben und ist plattformunabhängig. WildFly ist Grundlage der kommerziellen Version der IBM Red Hat JBoss Enterprise Application Plattform (EAP).

## Geschichte

Die Arbeit an der Software wurde im Jahre 2000 begonnen und erreichte im Juli 2004 mit der Zertifizierung nach der Compatibility Test Suite für die J2EE 1.4 von Sun einen wichtigen Meilenstein. Somit war WildFly der erste zertifizierte Open-Source-Applikationsserver. Im Jahr 2006 übernahm der Linux-Distributor Red Hat die Firma JBoss Inc. für eine Summe von 420 Millionen US-Dollar.

Vor Version 8 bekannt unter JavaBeans Open Source Software Application Server, kurz JBoss Application Server oder JBoss AS, oder einfach JBoss

Mit der Version 8.0 wurde WildFly offiziell für die 2013 erschienene Java-EE 7 (Voll- und Web-Profil) zertifiziert. Als Jakarta-Persistence-API-Implementierung kommt Hibernate zum Einsatz.

Im Juni 2016 stellte RedHat eine für Microservice-Deployments optimierte Version WildFly Swarm vor. Diese wurde im Juni 2018 in Thorntail umbenannt. Thorntail unterstützt neben JavaEE auch das Eclipse MicroProfile. Die Entwicklung des Projekts wurde mittlerweile eingestellt, da das Projekt in den Augen der Entwickler durch Quarkus obsolet geworden ist. Einige Funktionalitäten wurden jedoch von WildFly aus Thorntail übernommen, so unterstützt WildFly neben JakartaEE ab der Version 19 (März 2020) das Eclipse MicroProfile selbst.

## Wichtige Versionen

| Version | Veröffentlicht am | JavaEE-Version | JavaSE-Version | JBoss EAP | Thorntail |
| - | - | - | - | - | - |
| 8 | 2014-02-11 | 7 | | | |
| 9 | 2015-07-02 | | | | |
| 10 | 2016-01-29 | | 8 | JBoss EAP 7.0 | WildFly Swarm 1.0.0Final |
| 11 | 2017-10-23 | | | JBoss EAP 7.1 | WildFly Swarm 2017.12.1 |
| 12 | 2018-02-28 | 7 + Vorschau auf 8 | 9 | | |
| 13 | 2018-05-30 | | 10 | | |
| 14 | 2018-08-30 | 8 | | | |
| 14.0.1 | 2018-09-05 | | | JBoss EAP 7.2 | |
| 15 | 2018-11-30 | | 11 | | Thorntail 2.3.0Final |
| 16 | 2019-02-27 | | 12 | | |
| 17 | 2019-06-10 | | 13EA | | |
| 18 | 2019-10-03 | | 13 | JBoss EAP 7.3 | |
| 19 | 2020-03-18 | | | | |
| 20 | 2020-06-08 | | | | |
| 21 | 2020-10-13 | | | | |
| 22 | 2021-01-13 | | | | |
| 23 | 2021-03-11 | | | JBoss EAP 7.4 | |
| 24 | 2021-06-17 | | | | |
| 25 | 2021-10-05 | 8 + Vorschau auf 9.1 | 17 | | |
| 26 | 2021-12-16 | | | | |
| 27 | 2022-11-09 | Jakarta EE 10 | | | |

## Geschäftsmodell

WildFly ist freie Software unter der GNU Lesser General Public License (LGPL) und kann inklusive Quelltext kostenlos von der Herstellerwebseite heruntergeladen werden. Finanziert wird die Produktentwicklung im Wesentlichen durch ein optionales Support-Abonnement, die sogenannte JBoss Subscription, welche aus Support-Services, aber auch aus produktivitätssteigernden Werkzeugen für Administration, Monitoring und Patch Management besteht. Dies soll bei größeren Umgebungen Zeitersparnis in der Entwicklung, erhöhte Produktivität und Verfügbarkeit ermöglichen.

Red Hat bietet kommerzielle Unterstützung für eine von WildFly abgeleitete Version JBoss Enterprise Application Platform (JBoss EAP). Die aktuelle Version 7.4 wurde im Juli 2021 veröffentlicht und basiert auf Wildfly 23.

## Anwendungsfälle

Der WildFly Application Server bietet einzelne Dienste an, die frei konfigurierbar sind. Jeder dieser Dienste ist in einem eigenen Java Archive verpackt, dem sogenannten Service Archive.

## Eigenschaften

* Unterstützung für aspektorientierte Programmierung (AOP)
* Clustering
* Deployment-API
* Distributed caching (durch JBoss Cache, ein Standalone-Produkt)
* Distributed deployment (farming)
* Enterprise JavaBeans Versionen 3 and 2.1
* Failover (inklusive Sessions)
* Hibernate -Integration (für Persistenz-Programmierung; Jakarta Persistence API oder JPA)
* Java Authentication and Authorization Service (JAAS)
* Java EE Connector Architecture (JCA) Integration
* Java Management Extensions
* Java Message Service (JMS) Integration
* Java Naming and Directory Interface (JNDI)
* Java Transaction API (JTA)
* Java Authorization Contract for Containers (JACC) Integration
* JavaMail
* JavaServer Faces (Mojarra)
* Jakarta Server Pages (JSP) / Java Servlet
* JBossWS (JBoss Web Services) für Java EE Webservices wie JAX-WS
* JDBC
* Load Balancing
* Management-API
* OSGi -Framework
* RMI-IIOP (JacORB, Kofferwort aus Java und CORBA)
* SOAP with Attachments API for Java (SAAJ)
* Teiid Datenvirtualisierungssystem

## Trivia

Eine oft gestellte Frage ist, wie denn der Plural von JBoss sei (wenn man auf Deutsch von mehreren JBoss Instanzen spricht). Die wohl naheliegendste Antwort ist "JBosse", aber "JBösser" kommt einem leicht mehr humoristischen Anspruch eher entgegen.

