swXercise

Ein Java-Backend zur Benutzerverwaltung

Ein Java-Softwareprojekt zur Ausbildung an der Beuth Hochschule für Technik Berlin sowie der Hochschule für Technik und Wirtschaft Berlin
in den Lehrveranstaltungen Software Engineering 2 (SE2), Softwarequalität und -test (SwQT) und Webentwicklung (Web),
basierend auf einer virtuellen Maschine mit diesem vorbereiteten Inhalt und dem Java-Quelltext aus dem GitLab-Repository swXercise.

Dateien

Dateiname Version Größe SHA256-Fingerprint Bemerkungen
swXercise.vbox 2017-1124-1853 7.872 Bytes 79a8297d6fc6bb85ad76c143f3900b2bba145bc128d2a124710d02cf49322c26 Oracle VirtualBox-Definitionsdatei der virtuellen Maschine
swXercise.vdi.tar.bz2 2017-1124-1853 4.144.680.074 Bytes c5c35a1edae87bb5255da5008c1624d4f5d8dea6d07bc244ed0ba9cf5e83eddd Auspacken mit tar xjvf swXercise.vdi.tar.bz2
swXercise.vdi.zip 2017-1124-1853 4.328.709.323 Bytes de640d423c97fbe13e33a95414b8015d4fae027d119a2a95d24c918f78d8f096 Auspacken mit unzip swXercise.vdi.zip

Vorgehen

  1. Oracle VirtualBox sowie VirtualBox Extension Pack von den Oracle-Webseiten herunterladen
  2. Oracle VirtualBox installieren
  3. VirtualBox Extension Pack installieren (Menü "Datei→Einstellungen..." im Reiter "Zusatzpakete")
  4. Gewünschtes .vdi-Image (das ist die virtuelle Harddisk der Maschine) und die .vbox-Definitionsdatei in DENSELBEN lokalen Ordner VirtualBox VMs (o.ä.) herunterladen
    (für Linux bzw. MacOS eignet sich die komprimierte Datei mit der Endung .tar.bz2, für Windows eher die mit .zip)
    Achtung: Verwenden Sie unter Windows unbedingt den Ordner C:\Benutzer\<Ihr Benutzername>\VirtualBox VMs, da es ansonsten zu einem Rechteproblem beim Zugriff auf den Ordner kommen könnte!
  5. Image dort auspacken (wie das geht, siehe Datei-Bemerkungen)
  6. Erste Variante (empfohlen): Virtuelle Maschine mittels .vbox-Definitionsdatei in Oracle VirtualBox importieren (Menü "Maschine→Hinzufügen..." und .vbox-Definitionsdatei auswählen)
    Zweite Variante: Eine neue virtuelle Maschine in Oracle VirtualBox mit den unten angegebenen Spezifikationen erstellen
  7. Virtuelle Maschine starten (Hinweis: jetzt ist möglicherweise ein geeigneter Zeitpunkt, auch mal weiter unten auf die "Troubleshooting Hints" zu schauen, um etwaige Probleme zu lösen)
  8. Mit den unten spezifizierten Benutzerdaten anmelden
  9. Betriebssystem/Anwendungen im LXTerminal (Anwendungssymbol auf dem Desktop) aktualisieren (empfohlen):
    1. sudo apt-get update (Hinweis: als Kennwort das unten angegebene nutzen)
      Wenn ein Fehler der Art "Repository 'aaa' changed its 'Origin' value from 'bbb' to 'ccc'." erscheint, dann kann folgender Befehl helfen:
      sudo apt-get update -y --allow-releaseinfo-change -
    2. sudo apt-get upgrade
    3. sudo apt-get dist-upgrade (falls Sie Lust haben, auch den Linux-Kernel zu aktualisieren - am besten vorher einen Snapshot der Maschine machen!)
  10. Softwareprojekt aktualisieren:
    1. In den Ordner ~/swXercise wechseln
    2. Dort git pull ausführen (falls es hier zu einer Fehlermeldung kommt, befinden Sie sich vermutlich nicht im richtigen Ordner)
    3. Nun einfach ein paar Minuten warten, um Maven die Chance zu geben, alle abhängigen Projekt-Bibliotheken aus dem Internet nachzuladen...
  11. Funktionsfähigkeit prüfen:
    1. In den Ordner ~/swXercise wechseln (vermutlich sind Sie ohnehin bereits im richtigen Ordner)
    2. Dort mvn clean install ausführen, um das Projekt zu bauen und zu testen
    3. Es sollte nach einiger Zeit Build success gemeldet werden (Hinweis: Falls Fehler gemeldet werden, dann einfach ein paar Minuten - bei bestehender Internetverbindung - warten. Vermutlich lädt Maven im Hintergrund gerade noch die abhängigen Projekt-Bibliotheken aus dem Internet nach.)
  12. Software-Anwendung verinnerlichen:
    1. Eclipse starten (Anwendungssymbol auf dem Desktop)
    2. Eclipse Marketplace aktualisieren (Menü "Help→Eclipse Marketplace...", dann Reiter "Installed") - auch hier am besten vorher einen Snapshot der Maschine machen!
    3. Java-Klassen angucken (z.B. ViewControllers, Services, DAOs)
    4. Wissenswertes kann auch in diesem Foliensatz gefunden werden
    5. Sich die Schichtenarchitektur (ui, lg, db) bewusst machen
    6. Java-Testklassen, CDI-Unit und Mockito angucken (nur für die SwQT-Teilnehmer an der Beuth erforderlich)
  13. Funktionsfähigkeit des REST-Mechanismus prüfen:
    1. Eclipse starten (Anwendungssymbol auf dem Desktop)
    2. swXercise-Web Application Server starten (Reiter "Servers", dann rechter Mausklick auf "WildFly 8.x" und "Start" wählen)
    3. Postman starten ("Ubuntu-Startmenü→Chrome-Apps→Postman")
    4. Im Postman die REST-Methode "Login User - loginUser()" auswählen und mit "Send"-Button aufrufen
    5. Es sollte der Status 200 OK zurückgemeldet werden
  14. Sie haben auf dieses Git Repository nur lesenden Zugriff. Aus diesem Grund sollten Sie dringend darüber nachdenken, das Softwareprojekt in ein eigenes Git Repository zu klonen, um innerhalb Ihrer Übungsgruppe beim Bearbeiten des Meilensteins gemeinsam (lesend und schreibend) darauf zugreifen zu können.

VM-Spezifikation

Troubleshooting Hints

  1. Aktivieren Sie im BIOS Ihres Rechners die "Hardware-Virtualisierung" (häufig Intel VT-x bzw. AMD-V genannt), um die virtuelle Maschine mit optimaler Geschwindigkeit nutzen zu können.
  2. Falls es unter Windows merkwürdige Fehler beim Starten der Anwendung "Oracle VirtualBox" gibt, kann es helfen, die Anwendung mit Administrator-Rechten zu starten.
  3. Um unter Windows 10 die VirtualBox zu verwenden, muss man Hyper-V abschalten: Startmenü "Einstellungen→Apps & Features→Programme und Features→Windows-Features aktivieren oder deaktivieren". In der Liste das Häkchen vor "Hyper-V" entfernen und Windows neu starten.
    Wenn der Virtualisierer danach immer noch nicht funktioniert, kann noch der Windows Defender schuld sein: Auch er benutzt seit kurzem Virtualisierungsfunktionen. Um dies zu ändern, das "Windows Defender Security Center" öffnen (über das Startmenü oder per Klick auf das Defender-Symbol im System-Tray). Auf die Seite "Gerätesicherheit" wechseln und auf den Link "Details zur Kernisolierung" klicken. Hier den Schalter unter "Speicher-Integrität" ausschalten und Windows neu starten. (Quelle: heise c't)
  4. Auch die Kernisolierung der "Virtualization Based Security" (VBS) von Windows 10 kann Virtualisierung verhindern. Sie lässt sich ausschalten: Startmenü "Einstellungen→Update und Sicherheit→Windows-Sicherheit→Gerätesicherheit→Details zur Kernisolierung→Speicher-Integrität".
  5. Kommt es unter Windows beim Hinzufügen der virtuellen Maschine zu einem Zugriffsproblem (Rechteproblem), haben Sie vermutlich nicht den richtigen Ordner für die .vbox- und .vdi-Dateien gewählt. Verwenden Sie C:\Benutzer\<Ihr Benutzername>\VirtualBox VMs.
  6. Es könnte helfen, der virtuellen Maschine mehr Hauptspeicher zuzuweisen.
  7. Es wird definitiv zu Fehlern kommen, falls Sie vergessen, die Eclipse-Plugins im Marketplace zu aktualisieren!
  8. Um auf dem Mac bequem Sonderzeichen wie geschweifte Klammern ([Alt]-7, [Alt]-9) etc. eingeben zu können, sind die Tasten wie auf einem Windows-System zu benutzen: [Strg] statt [Cmd] (z.B. [Alt]-q für At-Zeichen), rechte [Alt]-Taste statt der linken usw.
  9. Wenn der WildFly Server immer nur Error Code 404 liefert, sollte man prüfen, ob nicht womöglich mehrere Server-Instanzen laufen. Dann zunächst Eclipse schließen und danach im Terminalfenster mittels ps -faux | grep java feststellen, was alles noch so an Java-Krams läuft. Einfach alles abschießen. Letztlich Eclipse und den WildFly Server neu starten.
  10. Wenn der WildFly Server überhaupt nicht kooperieren will, haben Sie vielleicht einfach nur vergessen, ihn in Eclipse zu starten? (Reiter "Servers", dann rechter Mausklick auf "WildFly 8.x" und "Start" wählen)
  11. Manchmal terminiert die MySQL-Datenbank spontan (und keiner weiß, warum). Man erkennt es beim Bauen des Projekts an Fehlermeldungen wie Connection refused. Dann im LXTerminal (Anwendungssymbol auf dem Desktop) eingeben: sudo service mysqld restart
  12. Falls die Anzeige der virtuellen Maschine nicht richtig auflöst (zum Beispiel alles viel zu groß anzeigt), dann im Menü desjenigen Fensters, in dem die Maschine angezeigt wird, "Anzeige→Fenster skalieren" auswählen, dieses Fenster auf der physikalischen Maschine maximieren und in der virtuellen Maschine eine passende, möglichst große Auflösung wählen: Startmenü "Einstellungen→Bildschirmeinstellungen"
  13. Wenn nach dem Deployen zum Server die zuvor im Java-Quelltext vorgenommenen Änderungen nicht wirksam sind, dann prüfen, ob Eclipse das richtige Projekt zum Server deployt (Reiter "Servers", dann rechter Mausklick auf "WildFly 8.x" und "Add and Remove Projects" wählen). Das gewünschte Projekt von links nach rechts schieben.

Schlussbemerkungen/Lizenz

Der hier zur Verfügung gestellte Java-Quelltext ist urheberrechtlich geschützt und steht unter der Lizenz GNU GPL v3 (oder höher). Sollten Sie ihn in einem eigenen Projekt verwenden wollen, so muss dieses unter einen entsprechenden Lizenz ebenfalls im Quelltext zur Verfügung gestellt werden. Etwaige Anmerkungen, Probleme, Lizenzfragen etc. bitte an die Mailadresse ziemer(at)beuth-hochschule.de richten.