- Installation von NetBeans
- Einbindung des Glassfish-Servers in NetBeans
- Anlegen eines REST-Projekts
- SOAP
Installation von NetBeans
Vorbereitung: JDK installieren
Vor dem Start muss allerdings gewährleistet sein, dass ein Java-JDK installiert ist, weil die Installationsprogramm von Netbeans bereits ein JDK voraussetzt.Wird Glassfish (auch in der aktuellen Version 6.0) verlangt die Installation einer JDK Version 8 bzw. 1.8. Beide Versionen sind identlisch, nur in unterschiedlicher Schreibweise.
Vorbereitung: Glassfish herunterladen und einrichten
https://projects.eclipse.org/projects/ee4j.glassfish/downloads
Dort wird für eine Full Profile-Version und eine abgemagertes Web Profile ein Link angeboten. Auf der Folgeseite finden Sie einen Download-Button. Sie laden daraufhin eine ZIP-Datei namens glassfish-x.y.z.zip herunter. x, y und z stehen für die Versionsnummern.
In der ZIP-Datei befindet sich ein Verzeichnis glassfish6, das durch Entpacken der Datei an einer warmen und trockenen Stelle der Festplatte abgelegt wird. Merken Sie sich den Pfad, er wird noch benötigt.
Sie können den Server über die URL http://localhost:4848 administrieren.
Installation NetBeans aus dem Internet
Netbeans wird auf der Website https://netbeans.apache.org/download zum Download angeboten. Diese Version sollte neben der Basisausstattung auch das Plugin für JEE enthalten.Dort wählen Sie die Version und werden auf eine Seite weitergeleitet, auf der Sie die Plattform wählen können. Aktuell ist dies die Version 12.
Dort gibt es auch eine Version speziell für Linux, die in Form eines Shell-Skripts daherkommt.
Die Datei trägt die Endung .sh und wird durch Aufruf von einer Kommandozeile aus installiert. Dazu benötigt die Installationsprogramm root-Rechte. Darum der vorangestellte Befehl sudo. Sie wechseln in das Downloadverzeichnis und geben dort folgende Befehle (x.y stehen für die Versionsnummer):
sudo bash Apache-NetBeans-x.y-bin-linux-x64.sh
Es erscheint ein grafisches Installationsprogramm.
- Sie erhalten die Möglichkeit, Komponenten (JEE, PHP, JavaScript)
abzustellen. Hier müssen Sie nichts ändern.
- Sie werden um Bestätigung der Lizenzbedingungen gebeten.
- Als Pfad für NetBeans wird standardmäßig
/usr/local/netbeans-x.y vorbelegt.
Dort befindet sich nach der Installation ein Skript namens uninstall.sh
zur geregelten Deinstallation.
Als JDK wird die default-java Installation vorgeschlagen oder der Pfad ist leer. Hier muss auf jeden Fall eine JDK hinein. Es ist nicht grundlegend verkehrt, hier eine Java-8-Version zu verwenden.
- Sie können den Check für Updates deaktivieren.
- mit dem Button Install beginnt die Installation mit einem ausgiebigen Progressbar-Kino.
- Irgendwann kommt eine Erfolgsmeldung, die mit Finish beantwortet wird.
NetBeans wird bei Linux automatisch in das Hauptmenü unter Entwicklung eingetragen. Von hier kann es nun gestartet werden.
Nach dem Start wird eine Start Page zum Kennenlernen vorgeblendet, die durch das x an der Lasche geschlossen werden kann.
Einbindung des Glassfish-Servers in NetBeans
Wechseln Sie im linken Explorer des NetBeans von Projects zu Services. Dort Server aufklappen. Glassfish erscheint.Glassfish einrichten
Falls er nicht erscheint, muss er noch installiert werden. Dazu mit der rechten Maustaste auf Servers klicken und Add Server auswählen. Dort Glassfish auswählen.Next. Einen (langen) Augenblick warten bis der nächste Dialog erscheint.
Meldet NetBeans, dass der Support für Java Web und EE muss erst aktiviert werden muss, sollte man Activate klicken.
nb-javac library
In manchen Fällen wird NetBeans erklären, dass keine unterstützte nb-javac library verfügbar sei. Es empfielt diese nun herunterzuladen zu installieren. Dem sollte man nachkommen. Dabei wird noch einmal eine Lizenz bestätigt und schließlich ein Restart der IDE eingefordert, die aber auch auf später verschoben werden kann.Next anklicken.
Auswahl des Glassfish
Unter Server Location wird der Button Browse angeklickt. In der Auswahlbox, wird das (hoffentlich schon) installierte Glassfish-Verzeichnis ausgewählt.Next anklicken.
Hier werden Domain und weitere Details eingegeben. In der Regel reicht die Grundeinstellung. Finish
Start des Glassfish-Servers
Mit rechter Maustaste Start anklicken. Nun könnte NetBeans meckern, dass Glassfish JDK 8 benötigt. Denn wechseln Sie zu Manage Platforms.Im Java Platform Manager über Button Add Platform die JDK 8 auswählen. Java Standard Edition. Next. Per Browse eine JDK 8 auswählen. Finish. Zurück im Dialog. Dort Close. Im Platform-Dialog steht nun JDK 1.8. OK.
Zurück in die Source. Grünes Dreick klicken. Server auswählen über Klappbox und der Server sollte durchstarten. Letzeres kann ein wenig dauern.
Testen des Servers mit curl:
curl -v --header "Content-Type: application/xml" http://localhost:8080/Rest/app/service
Anlegen eines REST-Projekts
Aus dem Menü von NetBeans wird der Punkt File | New Project.. aufgerufen. Im Dialog wird in der linken Spalte Java with Maven gewählt, in der rechten Spalte Web ApplicationIm darunterliegenden Feld erscheint die Meldung: This feature is not yet enabled. Press Next to activate it, sofern die Dienste nicht bereits bei Start des Servers aktiviert worden sind.
Auf den Klick von Next erscheint ein zunächst leerer Dialog, der sich erst nach einer Weile füllt. Es erscheit dann auch der Button Activate, der nun zu drücken ist, um ein neues Progressbar-Kino zu starten.
Jetzt erscheint der Dialog mit dem Projektnamen. Hier habe ich rest
und unter Group Id de.willemer eingegeben. Nach dem Klicken auf
Next erscheint die Server-Auswahl.
Sofern nicht bereits zuvor wie oben beschrieben, ein Glassfish-Server angelegt
wurde, muss das jetzt passieren. Dazu auf den Button Add klicken.
Hier erscheint eine Liste aller möglichen Server. Glassfish auswählen und
Next klicken. (siehe oben)
Im nächsten Dialog wird nach dem Pfad der Glassfish-Installation gefragt,
den Sie sich hoffentlich gemerkt haben. Mit Browse können Sie diesen
auswählen.
Nun klicken Sie Next, dann Finish und landen im
Eltern-Dialog. Dort klicken Sie auch Finish.
Nun wird Maven aktiv und baut die ganze Entwicklungsumgebung zusammen. Das passiert im Hintergrund und dauert eine Weile. Dann erscheint das Projekt und Application und Ressource sind erzeugt.
Frage nach CVS
Bei Anlegen des Projekts fragt NetBeans, ob ein dafür ein CVS eingerichtet werden soll. Dafür sei kein Client angelegt.Die Service-Klasse
NetBeans legt im Rest-1.0-SNAPSHOT und Source-Packages im Package de.willemer.rest.resources eine Service-Klasse an. Hier ändern Sie die Methode in der unten beschriebenen Weise, um einen String statt einer Exception zu erhalten.Auch ändern Sie den Pfad auf service, oder was immer Ihnen besser gefällt.
import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.Response; @Path("service") public class JakartaEE9Resource { @GET @Produces("application/xml") public String getXml() { // TODO return proper representation object return "Huhu "; } }
Die Application-Klasse
Auch die Application-Klasse wird angelegt, allerdings unter de.willemer.rest.
import jakarta.ws.rs.ApplicationPath; import jakarta.ws.rs.core.Application; @ApplicationPath("app") public class JakartaRestConfiguration extends Application { }
SOAP
SOAP ist die Realisierung eines Remote Procedute Calls, also eines Funktionsaufrufs auf einen Rechner über das Netzwerk. Voraussetzung für NetBeans ist natürlich ein eingerichteter Application Server wie hier dem Glassfish.Die folgenden Schritte erzeugen ein Server-Projekt:
- New Projekt
- Auf der linken Seite Java with Ant aufklappen, dort Java Web auswählen
- Auf der rechten Seite Web Application anwählen.
- Next
- Projektname festlegen Next
- Server und Settings belassen. Next
- Frameworks. Hier kann Spring, JSF und/oder Struts gewählt werden.
- Finish
- Das Projekt mit rechter Maustaste anklicken.
- New | Web Service
- Web Service Name eingeben und Package-Namen, dann
- Finish
package myservice; import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.ejb.Stateless; @WebService(serviceName = "MyWebService") @Stateless() public class MyWebService { @WebMethod(operationName = "hello") public String hello(@WebParam(name = "name") String txt) { return "Hello " + txt + " !"; } }
Testen des SOAP-Webdienstes
Der neue Dienst kann getestet werden, indem das Projekt im Application Server gestartet wird, also deployed wird. Nach dem Start kann die Java-Datei des Webdienstes getestet werden. Dazu wird die Datei mit der rechten Maustaste angeklickt und aus dem Menü Test Web Service ausgewählt werden.Es erscheint ein Webbrowser, in dem eine Testumgebung für den Service mit passenden Eingabefeldern angeboten wird. Für den Test geben Sie hier die Parameter ein und erhalten nach dem Absenden auf einer weiteren Webseite das Ergebnis.
Erzeugen einer WSDL-Datei
Für die WSDL-Dateien muss ein Verzeichnis geschaffen werden. Im Projektordner Web-Pages/WEB-INF wird ein Verzeichnis wsdl angelegt. Dazu wird der WEB-INF mit der rechten Maustaste angeklickt und New | Folder ausgewählt und der Name auf wsdl geändert. Hier sollen die WSDL-Dateien liegen.Nun muss die WSDL-Datei noch erzeugt werden. Dazu werden die fertigen Web-Service-Klassen, die im Projektordner Web Services stehen, mit der rechten Maustaste angeklickt und Generate and Copy ausgewählt. Im Folgedialog wird das neu geschaffene Verzeichnis ausgewählt.
Wird eine Java-Version ab 11 verwendet, kann es sein, dass bei dem Erzeugen einer WSDL-Datei ein Fehler auftritt, dass eine JAR-Datei fehlt. Diese Website empfiehl die JAR jax-api herunterzuladen.
Verbindung ohne WSDL-Datei
Für Erzeugung von Client und Server in SOAP ist unter NetBeans die WSDL-Datei aber gar nicht erforderlich. Es genügt, den Client mit dem Serverprojekt zu verbinden.- Aus dem Hauptmenü File | New Project anklicken
- Im Dialog wird auf der linken Seite Java with Ant und auf der rechten Seite Java Application ausgewählt.
- Next
- Im Folgedialog wird der Namen der Applikation eingegeben.
- Finish
- Aus dem Kontextmenü New | Web Service Client anklicken
- Der Radio-Button Project sollte anwählt sein und den Button Browse dahinter anklicken.
- Es erscheint eine Liste der SOAP-Server-Projekte. Klappen Sie das gewünschte auf und wählen Sie daraus den Web Service aus.
- OK
- Finish