|
|
Stand 23.11.2017 - Aktuelle Version unter [https://gitlab.beuth-hochschule.de/knabe/swelabor/wikis/home](https://gitlab.beuth-hochschule.de/knabe/swelabor/wikis/home) nach Angabe von HRZ-Benutzername und -Kennwort.
|
|
|
|
|
|
Labor für Software-Entwicklung (SWE-Labor)
|
|
|
=============================
|
|
|
Client/Server-Architektur
|
|
|
------------------------------
|
|
|
Die 43 **Bildschirmarbeitsplätze** der Räume D.E16a und D.E16b sind [Thin Clients](https://de.wikipedia.org/wiki/Thin_Client) auf Linux-Basis. Ab dem SS 2017 meldet man sich mit den Zugangsdaten (Benutzername/Kennwort) des Hochschulrechenzentrums (HRZ) über LDAP an.
|
|
|
|
|
|
Jeder Klient verbindet sich mit einem voreingestellten aus mehreren gleich konfigurierten Linux-Terminalservern. Stand 23.08.17 ist das "Debian GNU/Linux 8 Jessie" mit Kernelversion "3.16.0-4-amd64". Wenn keine Verbindung zustandekommen sollte oder der voreingestellte Server schlecht funktioniert, kann man auf der Anmeldeseite links unten mittels **Einstellungen → Rechner wählen** einen anderen der Server aussuchen. Stand 26.09.17 sind alle Server 141.64.18.192 (host0), 141.64.18.193 (host01), 141.64.18.122 (host02) usw. bis 141.64.18.127 (host07) für das WS 17 neu konfiguriert. Bei der Erstanmeldung **Standard-Desktop** statt **Leerer Desktop** auswählen, um ein Startmenü und eine Taskleiste zu erhalten! Man meldet sich ab, indem man in der oberen Taskleiste 1 ganz rechts auf den eigenen Benutzernamen klickt und **Abmelden** wählt.
|
|
|
|
|
|
### Home-Verzeichnis
|
|
|
Das Home-Verzeichnis wird kurz mit ~ (Tilde) bezeichnet und liegt auf dem Pfad ```/home/campus/<username>```.
|
|
|
Es ist das Home-Verzeichnis des Benutzers beim HRZ und dadurch von jedem Rechner weltweit mittels SSH/SFTP auf dem Server ```compute.beuth-hochschule.de``` zugreifbar. Aufgrund der durchgängigen Verwendung des Benutzerverzeichnisses beim HRZ gibt es keine Verzögerung beim Login/Logout wie beim Windows Roaming Profile bis WS 16 mit den Windows-Terminal-Servern.
|
|
|
|
|
|
**Achtung:** In Linux gelten andere Traditionen für Datei- und Verzeichnisnamen als Windows. Sie kriegen eventuell (insbesondere mit dem Tool Javadoc) Probleme, wenn:
|
|
|
* Ihre Datei- oder Verzeichnisnamen Zwischenräume oder Schrägstriche enthalten.
|
|
|
* Ihre Dateien unter **Dokumente**, **Schreibtisch** oder ähnlichen übersetzt benannten Ordnern abgelegt werden. Legen Sie diese stattdessen direkt ins Home-Verzeichnis!
|
|
|
|
|
|
**Achtung:** Seit dem 17.11.17 wird das Home-Verzeichnis wieder über CIFS gemountet, um Langsamkeitsprobleme, die bei NFS4 auftraten, zu vermeiden. Dabei
|
|
|
gibt es folgende Probleme:
|
|
|
* Im Home-Verzeichnis werden keine Symbolic Links unterstützt.
|
|
|
* Die Protections der Dateien werden nicht korrekt abgebildet. Z.B. ist **.ssh** öffentlich lesbar und deshalb funktioniert schlüsselbasierte Authentifizierung mittels **ssh** nicht. Bei Verwendung von **git** muss man daher git-Repos mit einer https-URL zugreifen.
|
|
|
|
|
|
Für das SS 2018 wollen wir die Home-Verzeichnisse lokal im SWE-Labor halten, da wir damit mehr Einfluss auf deren Konfiguration haben und die Kommunikation innerhalb des Labor mit GB-Ethernet 10x schneller ist als die Verbindung zum HRZ.
|
|
|
|
|
|
### Desktop
|
|
|
Als Desktop steht der effiziente XFCE zur Verfügung. Die Anwendungen sind über das **Anwendungsmenü** ganz links in der oberen Leiste 1 zugreifbar. Die Hauptanwendungen für den Unterricht sind unter **Anwendungsmenü → Entwicklung** zusammengefasst. Die obere Leiste dient zugleich als Taskleiste mit den aktuell laufenden Programmen.
|
|
|
|
|
|
Wenn Sie keine Task-Leiste haben, können Sie durch Löschen des Verzeichnisses ```~/.config``` auf dem Rechner ```compute.beuth-hochschule.de``` den Urzustand wieder herstellen. Bei der nächsten Anmeldung dann **Standard-Desktop** auswählen!
|
|
|
|
|
|
Da die untere Leiste 2 recht viel Platz belegt, sollte man sie mittels MausRechts → Leiste → Leisteneinstellungen... auf "Leiste automatisch verbergen..." umstellen. Dann bleibt sie unten in der Mitte verborgen und tritt nur hervor, wenn man sich ihr mit dem Cursor nähert.
|
|
|
|
|
|
### Anwendungen
|
|
|
Spezifisch installiert sind hauptsächlich
|
|
|
|
|
|
* Entwicklungsumgebungen mit portablen, Open-Source-Techniken. Dies sind die führenden Java- und Scala-IDEs wie **IntelliJ IDEA** Ultimate Edition, **Eclipse** in verschiedenen Varianten (auch **Spring Tool Suite**) und **NetBeans**. Für C++-Entwicklung steht **Qt Creator** bereit.
|
|
|
* UML-Modellierungswerkzeuge wie **Star UML**, **Visual Paradigm** und das kleine **UMLet**.
|
|
|
* Lernumgebungen **BlueJ** und **Kojo**.
|
|
|
* Programmiereditoren wie **vim**, **gedit**, **Atom** und **jEdit**.
|
|
|
* Kommandozeilenwerkzeuge **Oracle-JDK**, **Maven**, **SBT**, **git**.
|
|
|
* Die **LibreOffice**-Suite.
|
|
|
|
|
|
#### JetBrains IntelliJ IDEA Ultimate Edition
|
|
|
Diese umfangreiche Java- und Scala-IDE steht Hochschulangehörigen kostenlos zur Verfügung. Sie müssen Sich auf https://account.jetbrains.com/login mit Ihrer Adresse username@beuth-hochschule.de einen JetBrains-Account anlegen. Dieser wird automatisch als kostenloser Hochschulaccount erkannt. Damit erstellen Sie sich eine Lizenz, die für ein Jahr gilt. Beim Starten von IntelliJ IDEA werden Sie nach einer Lizenz gefragt. Dann können Sie diese entweder mit Ihrer Hochschuladresse+JetBrains-Kennwort oder (sicherer bei Netzwerkproblemen) mit dem Offline Activation Key, den Sie unter https://account.jetbrains.com/licenses von JetBrains erhalten, aktivieren.
|
|
|
|
|
|
### Drucken
|
|
|
Zum Drucken von den Laborrechnern aus stehen zur Verfügung:
|
|
|
|
|
|
* Im Raum D.E16a der Drucker HP-16A (https://141.64.18.106). Wählen Sie beim Drucken möglichst **Beidseitig** aus, um Papier zu sparen.
|
|
|
* Im Raum D.E16b der Drucker HP-16B (http://141.64.18.105).
|
|
|
|
|
|
### USB-Anschluss
|
|
|
Unterhalb der Bildschirme ist jeweils eine USB-Buchse herausgeführt. Wenn man dahinein ein USB-Speichermedium steckt, erscheint in der linken Spalte des Dateimanagers ein Link mit dem Volume-Namen des Speichermediums. (Bei Bedarf muss der Dateimanager manuell gestartet werden.) Wenn man auf den Link klickt, kann man den Inhalt betrachten. Wenn man auf das daneben sichtbare Unmount-Symbol (ein unterstrichenes Dreieck) klickt, erscheint eine Meldung *Volume kann nicht ausgehängt werden.* Diese darf ignoriert werden, da die USB-Geräte auf sofortiges Schreiben eingestellt sind.
|
|
|
|
|
|
### Projektionsmöglichkeiten
|
|
|
Im Raum D.E16a ist der Klient **swe97** mit dem Projektor über HDMI verbunden. Alternativ kann in der Medienbox ein Laptop-Signal über eine VGA-Buchse eingespeist werden. Der Projektor muss über die im Beutel hängende weiße Fernsteuerung eingeschaltet werden!
|
|
|
|
|
|
Im Raum D.E16b gibt es eine Inkompatibilität der Grafikkarte. Daher funktioniert dort am 04.09.17 nur die Einspeisung. Sie können Ihren Laptop mithilfe eines Adapters HDMI-Stecker → DVI-Buchse an das an der Säule herunterhängende DVI-Kabel anschließen. Oder Sie können ihn an die VGA-Buchse in der Medienbox anschließen.
|
|
|
|
|
|
Alternativ können Sie in den Raum D.E17 ausweichen. Der dortige Projektorschrank kann von den Laboringenieuren oder mit dem beim Pförtner ausleihbaren Anhängsel zum Raumschlüssel E17 aufgeschlossen werden. Er enthält einen stationären Rechner oder Sie können einen Laptop über ein VGA- oder ein HDMI-Kabel anschließen.
|
|
|
|
|
|
|
|
|
### Ticket-System
|
|
|
Für die Meldung von Fehlern dient das Ticket-System (https://gitlab.beuth-hochschule.de/knabe/swelabor/issues). Damit kann der aktuelle Bearbeitungszustand besser erfasst werden, als per E-Mail-Kommunikation. Bei Fehlermeldungen bitte den unten links am Bildschirm aufgeklebten Client-Namen und falls zutreffend den ausgewählten Servernamen angeben. Den aktuellen Servernamen wie **host01**, **host02**, ... findet man in jedem Terminalfenster im Prompt.
|
|
|
|
|
|
### Folgen der Client-Server-Architektur
|
|
|
Die Client-Server-Architektur ist einerseits sehr ressourcensparend, andererseits gibt es auch Fallstricke wegen möglicher gegenseitiger Beeinflussung ablaufender Programme. So könnte es bei sehr ressourcenhungrigen Programmen zur Verlangsamung der Programme, die von anderen Clients benutzt werden, kommen.
|
|
|
Problematischer ist es mit Programmen, die Ports belegen. Z.B. wenn zwei Studierende einen Webserver starten, der den Port 8080 belegt, so führt dies (wenn beide auf demselben Terminalserver zur Ausführung kommen) zu einem Port-Konflikt. Infolge dessen kann der zweite Webserver nicht starten.
|
|
|
Abhilfe schafft hier eine Verteilung der zur Verfügung stehenden Portnummern an die Studierenden oder die Wahl einer zufälligen Portnummer, wie man es bei **Spring Boot** mit der Angabe ```server.port=0``` in Datei ```src/main/resources/application.properties``` erreichen kann. |
|
|
\ No newline at end of file |
|
|
Die Laborinformationen finden sich seit dem 26.02.18 unter https://gitlab.beuth-hochschule.de/SWE/info |
|
|
\ No newline at end of file |