KI-Tools für Jakarta EE

Gaurav Gupta

Künstliche Intelligenz (KI) verändert die Welt der Softwareentwicklung, und so auch Jakarta EE. In der Vergangenheit verließen sich Entwickler bei der Erstellung von Anwendungen auf Projektgeneratoren, visuelle Gestalter und IDE-Autovervollständigung. Es mangelte diesen Instrumenten jedoch häufig an Anpassungsfähigkeit, Kontextbewusstsein und Effizienz. Dank KI-gestützter Tools wie Payara Starter und Jeddict AI Assistant sind diese Einschränkungen jetzt kein Problem mehr; sie beschleunigen außerdem Entwicklungsabläufe und ermöglichen es Entwicklern, sich auf Innovationen zu konzentrieren. In diesem Artikel wird anhand einer Konferenzanwendung als praktisches Beispiel untersucht, wie diese Werkzeuge die Entwicklung von Jakarta EE verbessern. Darüber hinaus werden zukünftige Möglichkeiten erörtert, darunter in Payara Server integrierte KI-Assistenten für die Einrichtung und Diagnose von Servern. 

Herkömmliche Herausforderungen bei der Entwicklung 

Jakarta EE-Entwickler haben sich lange Zeit auf konventionelle Tools verlassen, die zwar hilfreich sind, aber auch gewisse Einschränkungen mit sich bringen, die die Entwicklung verlangsamen und den Aufwand für Anpassungen, Tests und Dokumentation erhöhen können. Obwohl diese Instrumente wirksam sind, haben sie auch ihre Grenzen: 

  1. Projektgeneratoren und Archetypen: Diese Tools unterstützen Entwickler bei der schnellen Erstellung von Anwendungen mithilfe vordefinierter Vorlagen. Diese Vorlagen sind jedoch oft starr und erfordern umfangreiche Anpassungen, um den spezifischen Projektanforderungen gerecht zu werden. Insbesondere bei umfangreichen Anwendungen kann dieser Prozess kann sehr zeitaufwändig sein. 
  1. Visuelle Gestalter: Mit visuellen Tools können Entwickler Datenbankschemata erstellen und UI-Layouts entwerfen. Diese Werkzeuge haben jedoch kein kontextbezogenes Bewusstsein, weshalb jede Komponentenplatzierung manuell vorgenommen werden muss. Dieser manuelle Prozess kann wiederum zu Unstimmigkeiten und langsameren Entwicklungszeiten führen. 
  1. IDE Auto-Vervollständigung: IDEs bieten Funktionen zur automatischen Vervollständigung, die bei grundlegenden Syntax- und Codevorschlägen helfen. Diese Vorschläge sind jedoch nur begrenzt aussagekräftig, da sie den Kontext des Projekts nicht vollständig verstehen und daher keine komplexen oder Empfehlungen auf hoher Ebene geben können. 
  1. Manuelle Prüfung und Dokumentation: Das Schreiben von Testfällen und Dokumentationen von Hand ist zeitaufwändig. Die Sicherstellung einer umfassenden Testabdeckung sowie die Pflege einer stets aktuellen Dokumentation sind für qualitativ hochwertige Software unerlässlich, erfordern jedoch oft einen erheblichen Aufwand. 

Diese Einschränkungen können die Entwicklungszyklen verlangsamen, das Fehlerrisiko erhöhen und Entwickler dazu zwingen, mehr Zeit für sich wiederholende Aufgaben aufzuwenden, anstatt sich auf Innovationen und Kernfunktionen zu konzentrieren. 

Der KI-Vorteil bei der Entwicklung von Jakarta EE 

Generative KI-Tools verändern die Entwicklung von Jakarta EE, indem sie diese Herausforderungen angehen und intelligentere, kontextabhängige Lösungen anbieten: 

  1. Adaptive Projektgeneratoren: Im Gegensatz zu herkömmlichen Projektgeneratoren können KI-gestützte Generatoren Anwendungsgerüste basierend auf natürlichsprachlichen Eingabeaufforderungen erstellen. Diese Generatoren sind adaptiv, d. h. sie wählen automatisch geeignete Symbole, Titel, Beschreibungen und dynamische Seiteninhalte auf der Grundlage des Anwendungskontextes aus, so dass weniger manuelle Anpassungen erforderlich sind. 
  1. Kontextbewusste visuelle Gestalter: KI-gesteuerte visuelle Gestalter können mit Befehlen in natürlicher Sprache arbeiten. So können Entwickler die gewünschte Benutzeroberfläche und Datenbankstruktur beschreiben, und die KI entwirft die Anwendung automatisch auf der Grundlage des Verständnisses des bestehenden Kontexts und der bewährten Verfahren. Diese Funktion macht die manuelle Platzierung von Bauteilen überflüssig und gewährleistet ein konsistentes Design. 
  1. Archetypen der natürlichen Sprache: Traditionelle Archetypen werden durch KI-gesteuerte Codegenerierung ersetzt, die auf Befehle in natürlicher Sprache reagiert. Entwickler können einfach die benötigte Funktionalität beschreiben, z. B. „REST-Endpunkt für Kundendaten erstellen“, und die KI generiert den erforderlichen Code automatisch, was die Entwicklung beschleunigt. 
  1. Automatisierte Test- und Dokumentationserstellung: KI kann durch die Analyse des Codekontexts relevante Testfälle sowie umfassende Dokumentationen erstellen. Diese Automatisierung gewährleistet Genauigkeit und Vollständigkeit und spart Entwicklern viel Zeit. 
  1. Intelligente Code-Vervollständigung: Die KI-gestützte Codevervollständigung versteht den gesamten Projektkontext und geht so über Syntaxvorschläge hinaus. Die kontextabhängige Codevervollständigung führt zu intelligenteren, relevanteren Codevorschlägen, wodurch Entwickler saubereren und effizienteren Code schreiben können. 

Durch die Automatisierung sich wiederholender und zeitaufwändiger Aufgaben können sich Jakarta EE-Entwickler auf die Entwicklung von Kernfunktionen, die Verbesserung der Benutzerfreundlichkeit und das Vorantreiben von Innovationen konzentrieren. Dieser Wandel führt zu schnelleren Entwicklungszyklen, qualitativ hochwertigerer Software und einer höheren Gesamtproduktivität. 
 

Wir betrachten nun einige leistungsstarke KI-Tools näher, die die Jakarta EE-Entwicklungslandschaft verändern: 

Payara Starter 

Payara Starter (https://start.payara.fish/) ist ein leistungsstarkes, KI-gestütztes Tool, das die Entwicklung von Jakarta EE-Anwendungen vereinfacht. Mithilfe von Entity-Relationship (ER)-Diagrammen können Entwickler schnell und ohne manuelles Setup Anwendungsarchitekturen entwerfen. Die generative KI in Payara Starter erstellt automatisch ER-Diagramme auf der Grundlage von Beschreibungen in natürlicher Sprache und ermöglicht es Entwicklern, Diagramme mittels Live-Chat-Befehlen zu verfeinern. 

Beispiel: JCON EUROPE Konferenz Anmeldung 

Payara Starter wurde für die Erstellung eines ER-Diagramms für eine Konferenzanwendung verwendet. Durch die Beschreibung der Anwendungsanforderungen (z. B. „JCON EUROPE Conference“) erstellte das Tool ein Diagramm mit Entitäten wie Konferenz, Teilnehmer und Sitzung und stellte Beziehungen zwischen ihnen her. 

Mithilfe von Befehlen in natürlicher Sprache wurde das Diagramm um zusätzliche Entitäten wie Feedback und Registrierung erweitert, was das Kontextbewusstsein des Tools verdeutlicht. 

Mit der Schaltfläche „+ Vergrößern“ wurde das Diagramm um Entitäten wie Sponsor, Material und Antwort erweitert. Diese Funktion ermöglicht es Entwicklern, ihr Anwendungsdesign iterativ zu verfeinern und so eine umfassende Abdeckung aller Geschäftsanforderungen zu gewährleisten. 

Wenn Sie das Diagramm mit der Schaltfläche „+ Vergrößern“ weiter ausbauen, werden dem Diagramm neue Einheiten wie Networking Event und Workshop hinzugefügt. 

Nachdem der Entwurf fertiggestellt und die Versionen von Jakarta EE, Payara und JDK ausgewählt waren, wurde die Anwendung mit einem einzigen Klick erstellt. 

Die KI konstruiert nicht nur die Jakarta EE-Backend-Struktur mit JPA-Entitätsklassen und Beziehungen, sondern generiert auch automatisch das Frontend. Die Benutzeroberflächen werden mit auf die Funktionen der einzelnen Einheiten zugeschnittenen, realistischen Titeln, Beschreibungen und Symbolen gestaltet. Durch diese Automatisierung wird die Zeit für die Frontend-Entwicklung erheblich verkürzt und gleichzeitig ein konsistentes UI-Design gewährleistet. 

Diese Fähigkeit stellt einen hybriden Ansatz dar, der die kontextbezogene Anpassungsfähigkeit von LLMs mit den strukturierten Vorlagen traditioneller Archetypen kombiniert. Während das LLM Beschreibungen in natürlicher Sprache versteht und dynamische Inhalte generiert, sorgen Archetypen für ein konsistentes Codegerüst und Entwurfsmuster. Zusammen rationalisieren sie die Erstellung von Datenbankschemata als auch das Design der Benutzeroberfläche des Frontends und beschleunigen gleichzeitig die Entwicklung, ohne dabei Flexibilität oder Konsistenz zu beeinträchtigen. 

Dies führte zu einer erheblichen Verkürzung der Entwicklungszeit, wodurch sich die Entwickler auf die Kernfunktionen konzentrieren konnten. 

Jeddict AI-Assistent 

Jeddict AI Assistant (https://jeddict.github.io/) ist ein in Apache NetBeans integriertes KI-gestütztes Tool, das die Java- und Jakarta EE-Entwicklung optimieren soll. Es bietet intelligente Code-Vorschläge, kontextabhängige Variablen- und Methodenbenennung, automatische Testerstellung und vieles mehr. Dank der Unterstützung für mehrere LLM-Anbieter können Entwickler die Konfigurationen an ihre Arbeitsabläufe anpassen und so Effizienz und Konsistenz gewährleisten. 

Wesentliche Merkmale 

  • Intelligente Code-Vervollständigung: Bietet kontextabhängige Vorschläge in Echtzeit, während der Entwickler tippt, was die Programmierzeit verkürzt und die Produktivität erhöht. 
  • Inline-Hinweise im Code-Editor: Zeigt kontextbezogene Hinweise direkt im Editor an und hilft Entwicklern, Methodenanwendung, erwartete Parameter und bewährte Verfahren zu verstehen. 
  • Kontextabhängige Benennung: Schlägt sinnvolle Variablen- und Methodennamen vor, die auf dem Umgebungscode basieren und sich an einheitlichen Namenskonventionen orientieren. 
  • Inline-SQL-Vervollständigung: Vereinfacht Interaktionen mit Datenbanken durch SQL-Vorschläge in Echtzeit, während Entwickler Abfragen schreiben. 
  • Automatisierte Protokollierung und Dokumentation: Erzeugt klare, prägnante Protokollmeldungen sowie umfassende Javadocs für Klassen und Methoden. 
  • Testfallgenerierung: Erstellt automatisch relevante Testfälle auf der Grundlage des Kontexts von Klassen und Methoden und fördert so optimale Testverfahren. 
  • Unterstützung mehrerer LLM-Anbieter: Ermöglicht Entwicklern die Auswahl aus verschiedenen großen Sprachmodellanbietern mit anpassbaren Konfigurationen, einschließlich benutzerdefinierter Header für sichere API-Integrationen. 
  • Spezieller Support für Jakarta EE und Java EE Projekte: Erkennt sowohl javax- als auch jakarta-Importe und gewährleistet so die Kompatibilität mit älteren und modernen Unternehmensanwendungen. 
  • REST-Endpunkt-Generierung: Schnelle Generierung von REST-Endpunkten, einschließlich Ressourcenklassen, Anmerkungen und Anfrage-/Antwortmodellen, was wiederum die Entwicklungszeit verkürzt. 
  • Kontextabhängiger KI-Chat: Ermöglicht Entwicklern die Auswahl bestimmter Java-Dateien oder -Pakete, um den Kontext für KI-gesteuerte Konversationen zu liefern und so leichter relevante Vorschläge und Erkenntnisse zu erhalten. 
  • KI-generierte Commit-Nachrichten: Erzeugt automatisch klare und aussagekräftige Commit-Nachrichten auf der Grundlage von Codeänderungen und sorgt so für eine bessere Versionskontrolle und Zusammenarbeit. 

Jeddict AI Assistant ermöglicht es Entwicklern, sich auf die Entwicklung von Kernfunktionen zu konzentrieren, während sich wiederholende Aufgaben automatisiert, die Produktivität gesteigert und die Codequalität in Java- und Jakarta EE-Projekten verbessert werden. 

Schlussfolgerung 

KI-Tools wie Payara Starter und Jeddict AI Assistant revolutionieren die Jakarta EE-Entwicklung, indem sie sich wiederholende Aufgaben automatisieren, die Codierung beschleunigen und die Codequalität verbessern. Mit Funktionen wie intelligenter Code-Vervollständigung, kontextsensitiver Variablenbenennung, automatischer Testgenerierung und nahtloser Erstellung von REST-Endpunkten ermöglichen diese Tools den Entwicklern, sich auf die Entwicklung von Kernfunktionen zu konzentrieren und qualitativ hochwertige Anwendungen schneller zu erstellen. Darüber hinaus optimieren KI-generierte Dokumentationen und Commit-Nachrichten die Zusammenarbeit, so dass Teams Konsistenz wahren und Wissen effektiv austauschen können. 

Mit Blick auf die Zukunft könnte ein speziell für Payara Server entwickelter KI-Assistent die Produktivität von Entwicklern aller Qualifikationsstufen weiter steigern. Anfänger können von einer vereinfachten Servereinrichtung und einer schrittweisen Anleitung profitieren, ohne dass sie fortgeschrittene Kenntnisse der asadmin-Befehle benötigen. Gleichzeitig können erfahrene Anwender die KI für erweiterte Diagnosen, Protokollanalysen und Leistungsoptimierung nutzen und so einen effizienten und zuverlässigen Serverbetrieb sicherstellen. Eine automatisierte Serverkonfiguration durch Befehle in natürlicher Sprache würde die Bereitstellung und Verwaltung weiter vereinfachen und die Komplexität der Serververwaltung reduzieren. 

Mit der ständigen Weiterentwicklung der KI verspricht die Integration von KI in die Jakarta EE-Entwicklung intelligentere, schnellere und effizientere Arbeitsabläufe. Durch die Verringerung des manuellen Aufwands und die Automatisierung zeitraubender Aufgaben ermöglicht KI den Entwicklern, sich auf Innovationen zu konzentrieren und robuste, skalierbare und hochleistungsfähige Anwendungen zu erstellen. Mit Tools wie Payara Starter, Jeddict AI Assistant und zukünftigen Fortschritten in der KI-gesteuerten Serververwaltung wird die Zukunft der Jakarta EE-Entwicklung garantiert produktiver und zugänglicher sein als je zuvor. 

Neugierig geworden?
Gaurav Gupta ist Speaker der JCON!
Dieser Artikel behandelt das Thema seiner JCON-Session. Du konntest nicht live dabei sein? Kein Problem – das Video wird nach der JCON verfügbar sein. Anschauen lohnt sich!

Total
0
Shares
Previous Post

Lokale KI mit Java: AI-Integration ohne Cloud-Abhängigkeit

Next Post

Vektor-Embedding in Java-Anwendungen: Gen-AI-Funktionen direkt aus der Datenbank

Related Posts