Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Archive for the ‘NetBeans IDE’ Category

NodeJS Beispiel für Application Container Cloud Service

leave a comment »

In diesem Blog Post möchte ich ein Beispiel zeigen, wie man eine NodeJS Anwendung auf dem Application Container Cloud Service bereitstellt. Nehmen wir ein einfaches Beispiel für eine Message Board Anwendung, wie sie in der Samples Bibliothek von NetBeans zu finden ist.

Voraussetzungen

  • NetBeans Installation inklusive Google Chrome und NetBeans Plugin zum Debuggen
  • Lokale NodeJS Installation zum Testen
  • Zugang zu einer Oracle Application Container Cloud Instanz (ACCS)

Entwicklung der Demoanwendung

Die NodeJS Anwendung ist ein Message Board, auf dem man Texte posten kann. Diese Anwendung verwendet weitere JS Frameworks, wie Express (serverseitige Webanwendung auf Basis NodeJS), Jade (UI Template Framework), Knockout (Data Binding ins UI) sowie Bower (Paket Manager) und sieht im Browser in etwa so aus.

Im Folgenden wird die Anwendung erst einmal entwickelt.

  • Starte NetBeans und erstelle ein neues Projekt
  • Wähle Kategorie Samples – HTML5/JavaScript – Express/Jade Messages Sample
  • Gib der Anwendung einen Namen (z.B. MessagesExpress) und beende den Wizard
  • Die Anwendung referenziert NodeJS Module, die aber noch in die Anwendung geladen werden müssen. Daher weist NetBeans offene Probleme aus und kennzeichnet das Projekt rot. Löse die Projektfehler durch rechten Mausklick auf das Projekt und wähle Resolve Project Problems
  • Wähle die erste Meldung aus und klicke auf Resolve. Wiederholde den Vorgang für die verbleibende Meldung. Schließe nun das Fenster.
  • Die Anwendung ist nun fertig und kann lokal getestet werden. Klicke mit der rechten Maustaste auf den Projektnamen und dann auf Run
  • Nun sollte sich der Chrome Browser mit der Anwendung öffnen

Bereitstellung der Anwendung in der Cloud

Um die Anwendung in der Cloud bereitzustellen, muss ein Manifest erstellt werden, in dem der Aufruf des Node Kommandos zum Starten der App enthalten ist. Ansonsten weiß der Container nicht, wie er die App starten soll.

  • Klicke mit der rechten Maustaste auf Sources -> New -> JSON File
  • Benenne die Datei manifest.json und klicke auf Finish
  • Ersetze den Inhalt komplett durch

{
"runtime": { "majorVersion": "0.12"},
"command": " node bin/www",
"release": {},
"notes": ""
}

  • Hinweis: Den Startbefehl für die Anwendung („command“) kann man dem Projekt entnehmen. Klicke dazu mit der rechten Maustaste auf den Projektnamen und wähle Properties-> Run
  • Da das Manifest sich im Root Verzeichnis der Anwendung befindet (bzw. befinden muss), wird hier der Eintrag für Start File relativ zum Root Verzeichnis angegeben, also statt D:\MyMobileWork\NonJDevWork\NetBeansApp\MessagesExpress\bin\www
    nur bin\www
  • Jetzt muss man nur noch auf dem Dateisystem das gesamte Projekt Zippen. Beachte dabei, dass das Packen im Root Verzeichnis der App erfolgen muss, sonst kann ACCS das Manifest im Archiv nicht finden.
  • Melde Dich nun an der Oracle Cloud an und begib Dich auf die ACCS Service Console
  • Klicke auf Create Application und Wähle den Typ „Node“ aus
  • Füll das Formular aus und wähle die Option „Upload Application Archive“
  • Wähle das oben gezipte Anwendungsarchiv und klicke auf „Create“. Die Anwendung wird nun hochgeladen und entpackt
  • Nun erfolgt automatisch das Deployment auf der Cloud, das heißt warten, bis dieser Prozess abgeschlossen ist.
  • Nach erfolgreichem Deployment ist die URL der Anwendung oben zu sehen
  • Voilà, die Anwendung steht nun auf der Cloud bereit

<DM>

Written by fmtechteam

20/04/2016 at 16:12

Generierung von REST Clients mit verschiedenen IDEs (JDeveloper, Eclipse, NetBeans)

leave a comment »

In der Welt mobiler Anwendungen erfolgt der Zugriff auf Daten und Funktionen im Backend zumeist über RESTful Services, die die Nachrichten im kompakten JSON-Format austauschen. Im Gegensatz zu SOAP-Services, bei denen sich die WSDL-Beschreibung als Standard durchgesetzt hat, gibt es für RESTful Services mit JSON noch keinen etablierten Standard. Erste Ansätze existieren mit WADL (Web Application Description Language) und RAML (RESTful API Modeling Language).
Wie können nun die verschiedenen IDEs im Oracle-Umfeld mit existierenden REST/JSON-Services umgehen und aus den zur Verfügung stehenden Informationen einen REST-Client generieren, der beispielsweise anschließend in einer mobilen Anwendung verwendet werden kann, um mit dem REST Service zu kommunizieren. Für die Entwicklung der mobilen Anwendungen soll das Oracle Mobile Application Framework (MAF) eingesetzt werden.

Oracle JDeveloper 12.1.3

Sofern der REST Service die Nachrichten im XML-Format austauscht und dafür ein XSD Schema existiert, kann der Web Service Data Control Wizard im JDeveloper verwendet werden, um ein Data Control für den Web Service zu generieren. Sollen die Daten dagegen im JSON-Format ausgetauscht werden, muss der Client unter Verwendung des REST Service Adapters manuell in Java programmiert werden. Anschließend kann aus dem Service Object ein POJO Data Control generiert werden. Dieses Vorgehen ist ausführlich in einem Tutorial auf OTN beschrieben.

Oracle Enterprise Pack for Eclipse 12.1.3.4 (OEPE)

Alternativ zum Oracle JDeveloper kann auch OEPE eingesetzt werden, um mobile Applikationen auf Basis des Oracle Mobile Application Frameworks (MAF) zu entwickeln. In OEPE gibt es einen REST Service Editor, der auch für REST-JSON Services die notwendigen Artefakte automatisch generiert, ohne dass es eine Beschreibung des RESTful Services gibt.
Dazu praktiziert der Wizard einen interessanten Ansatz:

  • Im ersten Schritt (Tab REST Client) wird zunächst der Service „erforscht“, indem der Service wiederholt unter Angabe der URL, von Header-Informationen und Query Parametern aufgerufen wird und die Ergebnisse angeschaut werden. In dieser Phase werden keine Ergebnisse gespeichert.
  • Hat man die Struktur verstanden, kann mit Hilfe der Funktion „Import the REST Client Information“ eine erste Beschreibung des Service im XMI-Format (XML Model Interchange) erstellt werden. Diese wird im Tab REST API sicht- und editierbar. Alle Änderungen werden unmittelbar in der XMI-Beschreibung persistiert.
  • Im letzten Schritt „Artifact Generation“ wird aus der XMI-Beschreibung des Service ein Java Client generiert.
    Aus dem Service Object kann anschließend wie im JDeveloper ein POJO Data Control erzeugt werden.
OEPE REST Service Editor

OEPE REST Service Editor

Dieses Vorgehen ist in zwei Blog Posts ausführlich beschrieben:
https://blogs.oracle.com/oepe/entry/introduction_to_rest_service_editor
https://blogs.oracle.com/oepe/entry/introduction_to_the_rest_service

NetBeans 8.0.2

Im Unterschied zu den zwei vorhergehenden IDEs können mit NetBeans keine mobilen Applikationen auf Basis von Oracle MAF erstellt werden. Trotzdem war es interessant, die Möglichkeiten von NetBeans zu erkunden.
Wurden die REST Services mit NetBeans z.B. als annotierte Java-Klassen erstellt, kann ein REST Service Client dafür generiert werden. NetBeans bietet nach der Installation eine Reihe populärer Services (von Amazon, Delicious, Flickr, Google, ..) an, die jeweils durch eine WADL-Datei beschrieben sind.

NetBeans - Services

NetBeans – Services

Hier können eigene Services (SOAP oder REST) hinzugefügt werden, zu denen eine WSDL- oder WADL-Datei angegeben werden muss. Ist eine WADL-Datei für den Service hinterlegt kann anschließend mit Hilfe des RESTful Java Client Wizard der client-seitige Code generiert werden.
Das Vorgehen ist in diesem Tutorial und in diesem Video beschrieben.
Fehlt eine WADL-Beschreibung des Service müsste man diese vorab erstellen. Dieses Wiki beschreibt einige mögliche Ansätze und Werkzeuge zur Generierung einer WADL-Datei.

<JM>

Written by fmtechteam

13/04/2015 at 15:00

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

NetBeans IDE, Oracle Enterprise Pack for Eclipse oder Oracle JDeveloper

leave a comment »

Nein, dies wird kein durch persönliche Vorlieben geprägtes Statement für oder gegen eine Integrierte Java-Entwicklungsumgebung (IDE), sondern der Versuch einer Positionierung.
Durch die Akquisitionen der letzten Jahre (BEA Systems, SUN Microsystems) engagiert sich Oracle inzwischen mit drei Werkzeugen im Markt der Java-IDE:

  • Oracle JDeveloper
  • Oracle Enterprise Pack for Eclipse (OEPE)
  • NetBeans IDE

Dies macht eine Positionierung schwierig, bietet allerdings auch den Vorteil, dass  Kunden die für ihre Anforderungen am besten geeignete IDE auswählen können. Oracle ist zudem in der Lage, den unterschiedlichen Communities, die sich um diese IDE gebildet haben, bestimmte Technologien gleichzeitig zur Verfügung zu stellen.
Das Papier Integrierte Entwicklungsumgebungen (IDE) für die Java-Entwicklung im Oracle-Umfeld soll eine Hilfestellung bei der Auswahl der geeigneten IDE für die Anwendungs-Entwicklung auf Basis der Java-Plattform geben.
Einen Vergleich der verbreiteten Java-IDE (Eclipse, IntelliJ IDEA, NetBeans und Oracle JDeveloper) findet man in einem interessanten Artikel der Computerwoche.

<JM>

Written by fmtechteam

29/07/2011 at 09:50