Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Archive for the ‘Glassfish Server’ Category

GlassFish vom Quellcode selber bauen

leave a comment »

Java EE Anwendungsentwickler haben selten den Bedarf, den Application Server, den sie nutzen, selber vom Quelltext zu kompilieren. Das geht sowieso nicht, wenn die Quellen nicht öffentlich zugänglich sind. Falls es sich aber um einen Open-Source Application Server wie GlassFish handelt, der auch viele und gut dokumentierte Erweiterungspunkte anbietet, gerät man früh oder später in die Versuchung, sie für eigene Experimente zu nutzen. Oder man möchte einem bestimmten Problem auf den Grund kommen und den verwendeten Application Server entsprechend anpassen oder instrumentalisieren.

In der Vergangenheit haben mich meistens die langen und komplizierten Build-Instruktionen davon abgeschreckt. Nach der Freigabe von GlassFish 4.0 am 12 Juni habe ich doch einen Versuch unternommen und mit Überraschung festgestellt, dass ich meinen eigenen GlassFish unter 2 Stunden gebacken gekriegt habe, während ich zwischendurch meine RSS-Feeds und Emails auswerten konnte.

Entwicklungsumgebung

Ich arbeite mit Windows 7 64-bit, SP1. Zum Auschecken des GlassFish Source-Code und seine Kompilierung habe ich NetBeans 7.3.1 genutzt, da es eine integrierte Unterstützung für Subversion (der Repository-Typ von GlassFish) und Maven (das GlassFish Build-System) anbietet. Die verwendete JDK-Version war 1.7.0_25.

Auschecken der GlassFish-Sourcen

Der GlassFish Quelcode ist unter https://svn.java.net/svn/glassfish~svn zu erreichen. In NetBeans wird zunächst der Menüpunkt Team –> Subversion –> Checkout selektiert:

image

Im nächsten Schritt kann man durch Browsen von Repository-Folder die Auswahl von Branches, Tags und Revisions der gewünschten GlassFish-Version bestimmen. Man muss sicherstellen, dass das selektierte Verzeichnis die Unterverzeichnisse appserver, copyright und nucleus sowie das pom.xml enthält. Ich habe durch trunk/main und HEAD die aktuellste Entwicklung, die GlassFish 4.0.1 entspricht, ausgewählt:

image

Das Auschecken dauert eine Weile, abhängig von der Bandbreite, die man kriegt. Bei mir hat es etwa 20 min. gedauert.

Der Build-Prozess

Zunächst das GlassFish-Projekt öffnen. NetBeans erkennt es als ein Maven-Projekt anhand der pom.xml Datei:

image

Damit Maven genug Speicher für den GlassFish-Build hat, muss eine Umgebungsvariable am Anfang von <netbeans_home>\java\maven\bin\mvn.bat gesetzt werden:

set MAVEN_OPTS=-Xmx1024M -XX:MaxPermSize=512m

Dann im Context-Menü den Build-Prozess anstoßen:

image

Das dauert etwas länger, bei mir ca. 60 – 80 min., weil alle Maven-Abhängigkeiten heruntergeladen und sämtliche Source-Dateien kompiliert werden müssen. Wenn etwas schief gehen sollte, ist es hilfreich die Maven Debug-Option einzuschalten: Tools –> Options –> Java –> Maven und dann als Global Execution Options –debug setzen. Wenn man hinter einem Proxy ist, muss das Proxy in <user_home>\.m2\settings.xml eingetragen werden, das auch beim Aufklappen von Project Files in NetBeans erscheint. Der Inhlat meiner settings.xml Datei ist folgender(host name geändert!):

<settings>
<proxies>
<proxy>
<id>emea-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>emea-proxy.com</host>
<port>80</port>
</proxy>
</proxies>
</settings>

Testen der erzeugten GlassFish-Distribution

Wenn der Build-Prozess erfolgreich zu Ende gegangen ist, erscheint die fertige GlassFish-Distribution als zip-File unter main\appserver\distributions\glassfish\target. Man kann nun das zip-Archive in einem Verzeichnis auspacken. Dort wird ein Unterverzeichnis glassfish4 angelegt. Der neue GlassFish kann dann gestartet werden: “glassfish4\bin\asadmin start-domain” und über die Konsole (http://localhost:4848) zum Deployment und Test der eigenen Web-Anwendungen getestet werden. Das einzige was fehlt ist das GlassFish Update Tool.

Detailliertere, wenn auch etwas veraltete Informationen zum Builden von GlassFish vom Quellcode gibt es auf https://wikis.oracle.com/display/GlassFish/FullBuildInstructions.

<PD>

Advertisements

Written by fmtechteam

15/07/2013 at 11:06

Veranstaltung: HTML5 aus Oracle Sicht

leave a comment »

Veranstalter: JUG Saxony

Sprecher: Peter Doschkinow (Oracle Deutschland B.V. & Co KG) und Shaun Smith (Oracle Canada)
Ort: HTW Dresden, Friedrich-List-Platz 1, 01069 Dresden, Hörsaal Z 211
Datum: 05. Juli 2013, 18:00 – 21:00 Uhr

HTML5 und Bleeding-Edge Java Enterprise Technologien aus Oracle Sicht
Sprecher: Peter Doschkinow, Oracle Deutschland

Kann Java für HTML5 genutzt werden? In dieser Veranstaltung wird gezeigt wie aktuelle Java Technologien die Erstellung von HTML5 Anwendungen vereinfachen. Zu ihnen gehören auf der Server-Seite JAX-RS, WebSocket, Server Sent Events und JSON API. Auf der Client-Seite ermöglicht JavaFX die Entwicklung von anspruchsvollen hybriden Java-JavaScript HTML5 Clients. Und NetBeans 7.3 verblüfft mit vertieften HTML5 Unterstützung.

From NoSQL to HTML5 (Vortrag in Englisch)
Sprecher: Shaun Smith, Oracle Canada

Data is the fuel enterprises run on and the data access requirements of today’s Java applications have grown to include JSON REST services for HTML5 and mobile clients, NoSQL database persistence, and multi-tenancy. Most developers use an assortment of independent frameworks to cope with each of these disparate requirements often having to copy and transform data from one format into another as it makes its way from database to browser and back again. Or they have to craft custom extensions to frameworks to provide features they were never designed to support. Meanwhile EclipseLink, best known as an open source provider of JPA for database access on the backend and JAXB for web services on the front end, has evolved to simplify the entire path from front to back. EclipseLink has added JSON binding to support HTML5 clients, zero code JAX-RS REST service support, NoSQL database persistence, and has integrated JPA with JAXB to make it easy to move data from database to XML or JSON and back again without data loss.

In this session we’ll dive into EclipseLink’s new services and build an application that goes from browser to database leveraging EclipseLink both in the back end for data persistence and on the front end for JSON over REST to HTML5 and JavaScript clients.

Anmeldung hier.

<MB>

Written by fmtechteam

01/07/2013 at 17:09