Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

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 um 16:12

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: