Aufgabenblatt 0 Vorbereitung I

Ähnliche Dokumente
Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 2

Aufgabenblatt 5. Verteilte Anwendungen Wirtschaftsinformatik SS Lernziele. Aufgaben 5 Punkte

Dieses Arbeitsblatt dient der Vorbereitung. Die Lösungen werden nicht abgegeben und auch nicht mit Punkten belohnt.

Aufgabenblatt 0. Informationssicherheit Wirtschaftsinformatik WS 2017/18. Lernziele. Vorbereitungen 0 Punkte. Vorbereitung

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

Aufgabenblatt 0 Verteilte Anwendungen Wirtschaftsinformatik WS 2017/18

Aufgabenblatt 0 Verteilte Anwendungen Wirtschaftsinformatik SS 2018

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Webtechnologien Teil 1: Entwicklungsumgebung(en)

Literatur und Links. Webtechnologien SS 2018 Teil 1/Entwicklung

Webtechnologien Teil 1: Entwicklungsumgebung

Organisatorisches. Bishara Sabbagh (Lehrbeauftragter)

Einführung: Verteilte Systeme - Remote Method Invocation -

Festplatte klonen: Tutorial

Verteilte Anwendungen. Schrittweise Verfeinerung (Beispiel)

XAMPP installieren & Kursbeispiel einrichten

Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 1

Bedienungsanleitung für MEEM-Kabel-Desktop-App Mac

Webtechnologien Organisatorisches und Leistungskriterien Wintersemester 2017/18

Verteilte Anwendungen Organisatorisches und Leistungskriterien Sommersemester 2018

Aufgabenblatt 4 IT-Security Angewandte Informatik WS 2016/17

SCHATTENKOPIE OHNE SCHATTEN

i-net HelpDesk Erste Schritte

Verwandeln Sie Ihren Windows PC in einen professionellen Videoüberwachungsserver, einen NVR.

Hochladen von Dateien in OLAT

Leitfaden für die Installation der Videoüberwachung C-MOR

Etwas zur Wiederholung bzw. Vertiefung

Installationsanleitung der ansitel VM (60-Tage Testversion) am Beispiel Oracle VirtualBox

Grundlagen zu VirtualBox. am Beispiel von VirtualBox 5 von Dirk Burkert

Problem 1 - Datensicherung ausser Haus? Haben wir nicht!

STARFACE MS Outlook Connector 2.0

Grundlagen der Informatik

EIBPORT 2.1 VPN Server

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Arbeiten mit dem Externen Client smart start

APEX OOS TOOLS & HELFER

BIF/SWE 1 - Übungsbeispiel. Arthur Zaczek

Quick Start Guide OwnCloud Demoumgebung

Handbuch für die Erweiterbarkeit

BIF/SWE 1 - Übungsbeispiel

Aufgabenblatt 1 Architektur Verteilter Systeme Wirtschaftsinformatik WS 2015/16

EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

XAMPP installieren & Kursbeispiel einrichten

NAFI Online-Spezial. Kunden- / Datenverwaltung. Mehr Infos unter:

customweb Einleitende Informationen Multishop Erstmals Herzlichen Dank für den Kauf dieses Moduls und Ihr entgegengebrachtes Vertrauen.

Kurs 1866 Sicherheit im Internet

Im- und Export von Waypoints, Routen und Tracks

ManageHomePC v Veröffentlicht 2016 Copyright S-cubic GmbH. Krebsbachstr. 12 D Bergisch Gladbach

Installation der Software (Version 1.23) unter Windows NT4.0

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Filius Simulation von Netzwerken

Outlook Regeln. Wo finde ich den Regelassistenten? Wann ist der Regelassistent verfügbar? Ist die Anzahl der Regeln begrenzt?

Naming. Fabian Sperber und Martin Ritter

Anleitung für Lehrkräfte. EasyGrade

Um den Übergang zur neuen 4Master -Version besser vorzubereiten, wurde deshalb für die Übergangsphase das Programm 4M2Datev entwickelt.

Literatur und Links. Webtechnologien WS 2015/16 Teil 1/Entwicklung

Algorithmen und Datenstrukturen

Relution. Files App. Version

Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 1

Handbuch. 03/2016 BV_update_tutorial_de. BreakerVisu-Update. Handbuch. Update eines Programms im BreakerVisu Panel

1 Axis Kamera-Konfiguration IP-Konfiguration Datum und Uhrzeit einstellen Die Option Anonymous viewer login...

1 Axis Kamera-Konfiguration IP-Konfiguration Datum und Uhrzeit einstellen Die Option Anonymous viewer login...

Web-Modul in Lightroom 5. Stefan Sporrer

Windows Server 2012 Technische Daten zur Virtualisierung

Stopp-Listen. Die Funktion von Stopp-Listen. Das Fenster zur Verwaltung der Stopp-Listen

FAQ Kommunikation über PROFIBUS

KONFIGURATOR-SOFTWARE (S009-50) Kurzanleitung

Library Vault Bediener Handbuch

Projekt Message-Logger

Wissenschaftliches Rechnen

VAADIN, SPRING BOOT & REST

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: installcentos.odt

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

Aufgabe 2.2. Folgende Schritte sollen durchgeführt werden:

CMSpro Version 2.2.0

OPENService Dokumentation

Probeklausur: Programmierung WS04/05

Bilder-Galerie Anleitung

USB-Stick für die Wiederherstellung von Windows 10 für die One Xcellent Box

[Arbeiten mit dem Nvu Composer]

web portal pro What's new?

Linux Treiber Installation Hochschule Reutlingen

1. Installation und deutsche Sprach-Einstellung

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

MSXFORUM - Exchange Server 2010 > Zertifikat erstellen in Exchange 2010

Grundlagen Internet-Technologien INF3171

BIOS Update elux RP mit Scout Enterprise Stand:

Hochschule Aalen. OpenVPN. Anleitung zur Installation unter Windows

VTX FTP-PRO. Übermittlung von Geschäftsdateien per FTP. Benutzerhandbuch. 1 FTP-PRO Bedienungsanleitung für Administatoren

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10

Transkript:

Aufgabenblatt 0 Vorbereitung I Loggen Sie sich unter "gastxx" im Labor C 209L ein Es wird kein File- benutzt, d.h. bitte keine Dateien und vor allem kei ne VMs unter "Eigene Dateien" ablegen. Der Ordner mit einer Readonly-Version der VM heißt in diesem Seme ster: "D:\VM Read Only\Web-dev-01". [Falls dies nicht schon geschehen ist] Nun starten Sie VirtualBox und importieren die Readonly-Version aus dem Ordner über Maschi ne>hinzufügen und Auswahl der *.vbox-datei innerhalb des Ordners der VM. Jetzt klonen Sie die Readonly-Version in einem sinnvoll benannten Ordner auf der Platte D, aber mit neuer MAC-Adresse. 2

Aufgabenblatt 0 Vorbereitung II (Alternative) Alternativ können Sie sich die Maschine in der fri schesten Form von der Website des Dozenten herunter laden: http://wi.f4.htwberlin.de/users/messer/downloads/index.html Die herunter geladene Kopie von Web-dev-01 wird in einem sinnvoll benannten Ordner auf der Platte D abgelegt. Nun starten Sie VirtualBox und importieren die Maschine aus dem Ordner über Maschi ne>hinzufügen und Auswahl der *.vbox-datei innerhalb des Ordners der VM. 3 Aufgabenblatt 0 Vorbereitung III Achten Sie darauf, dass alle Ethernet-Karten neue MAC-Adressen be kommen. Die Maschine muss im Bridge-Modus (Netzwerkbrücke) laufen. Sie kön nen dies vor dem Start mit "Auswahl der Maschine" -> Ändern -> Netz werk -> "angeschlossen an" prüfen. Nun starten Sie die VM. Loggen sich unter student ein (PW=student). Dort starten Sie den : Sie müssen surfen können. 4

Aufgabenblatt 1 Konzept für Chat- Auf dem Papier wird die API/Funktion eines Chat-s entworfen. Dazu wird das Verfahren der Schrittweisen Verfeinerung angewendet, siehe http://www.inf.fu-berlin.de/lehre/ss04/alp2/vorlesung/2.1.pdf http://ssw.jku.at/javabuch/folien/14.schrittweiseverfeinerung.pdf Globales Verfahren 1) Identifikation von Features 2) Zerlegen der Features in Funktionen 3) Identifizieren von Klassen/Datentypen 4) Konstruktion der Vererbung 5) (Konstruktion des Hauptprogramms) Schauen Sie sich die Aufgabenblätter 3 und 4 an; Sie sollen hier den Entwurf für einen Chat- erstellen. 5 Aufgabenblatt 2 Directory- I Die API des Directory-s besteht aus folgenden Operationen: register(name, Value, sid) unregister(name,sid) unregisterall(sid) query(sid) Aufruf von register(): http:// /directory/register?name=peter& value=141.45.10.15&sid=a7485276 wobei name, value und sid die Namen der Parameter sind. sid ist der Session-Identifier/Name Der kann beliebig viele Gruppen mit unterschiedlichen sid behandeln. 6

Aufgabenblatt 2 Directory- II Intern wird ein Hash angelegt, dessen Index der String des 1. Parameters von register() ist, wie z.b. $database["peter"]= "141.45.10.15" und $database ["Mary"]= "141.45.10.17". Damit diese Liste nicht beim Absturz verloren geht, wird sie nach jeder Ände rung in einer Datei unter einem geheimen Namen = sid gespeichert. 7 Entwicklung nach TDD I Entwickelt wird nach dem Test Driven Development (TDD) Vorgehen. Siehe https://de.wikipedia.org/wiki/testgetriebene_entwicklung Verfahren Entwicklung von Unit-Tests Erstellung eines Rahmens der Realisierung mit definitiv unsinnigen/falschen Output-Werten Ablaufen der Tests: Roter Balken, alles falsch do Realisierung einer Funktion Ablaufen der Tests while Roter Balken 8

Entwicklung nach TDD II Wird später ein Fehler in den Testfällen entdeckt oder wird später ein Fehler in der Software entdeckt oder wird später irgendetwas geändert, dann wird der Zyklus mit geänderten oder ergänzten Testfällen wieder durchlaufen. 9 Aufgabenblatt 2 Directory- III Es gibt es netbeans-projekt mit den Testfällen basierend auf PHPUnit. Studieren Sie dieses Projekt; Sie können diese Software später als Vorlage für die Lösung anderer Aufgaben nehmen. Die Tests sind Skripte, die ohne einen Web- laufen. Sie können auf 1 Maschine realisieren, wobei der Directory- durch den lokalen Apache- realisiert wird, also alles ohne VM. Sie können es auch mit einer lokalen oder entfernten VM tun, wobei die IP-Adresse der VM in das Testskript editiert werden muss. Die PHPUnit-Tests laufen nur in einer Entwicklungsversion von Netbeans. 10

Echte Tipps Als erstes: Aufgabenblatt+Website lesen, Recherchieren Erst den Entwurf machen, dann implementieren. Gehen Sie bei der Implementierung immer in kleinen Schritten vor. Ein Schritt dann Testen. Ein Schritt dann Testen. 11 Aufgabenblatt 3 Chat- Teil 1 Basierend auf der Spezifikation vom Aufgabenblatt 1 wird die API eines Chat-s definiert. Dann werden die Testfälle definiert und implementiert. Dann der Rahmen der Implementierung. Es wird also nach der TDD-Methode vorgegangen.. Die Entwicklung kann ohne VMs ablaufen. 1 API HCI 1- n API m HCI n- Chat- PHPUnit- Skript 1 12

Aufgabenblatt 4 Chat- Teil 2 I Jetzt wird die Oberfläche in Form eines weiteren s: Human Computer Interface (HCI) realisiert. Dazu kommt die Implementierung in JavaScript innerhalb des s. 1 API HCI 1- n API m HCI n- Chat- PHPUnit- Skript 1 13 Aufgabenblatt 4 Chat- Teil 2 II Am besten Sie beginnen mit dem Design der Oberfläche; es muss möglich sein: Initial durch Starten der Seite wird der angemeldet. Anzeige aller Nachrichten live Eingabe einer eigenen Nachricht in einem von der Anzeige getrennten For mular Nach Erstellung der Nachricht, wird diese per Klick ge sendet und allen anderen unmittelbar angezeigt. Knopf zur Beendigung der Teilnahme: durch diesen wird die /IP- Adresse gelöscht und erhält keine neuen Nachrichten mehr. Es handelt sich um eine 1-Page-Applikation. Machen Sie dazu einen Entwurf der Kommunikation: welche Nachricht mit wel chem Aufbau wird wann bzw. in welcher Reihenfolge zwischen welchen Kompo nen ten ausgetauscht. Es kann sein, dass Sie die API des Chat-s überarbeiten müssen. 14

Aufgabenblatt 4 Chat- Teil 2 III Wir haben also drei (VMs) zu Laufen: der Namensdienst mit einer vor gege benen IP-Adresse, der Chat- mit einer registrierten IP-Adresse und der HCI-. Alle diese Komponenten benut zen den internen geheimen String des Namensdienstes. Die Anzeige des Chat-Inhalts erfolgt durch den per Ajax. Daher wird über einen Timer alle 1s (oder kürzer) beim angefragt, welche Informa tionen noch nicht abgeholt und angezeigt wurden. Damit die Abfrage etwas schneller geht, wird in den JSON-Teil der Antwort ein boole sches Flag eingeführt, das anzeigt, ob noch weitere Nachrichten verfüg bar sind. 15 Aufgabenblatt 5 Verteilen der CPU-Last I Es wird eine sehr CPU-intensive Aufgabe gelöst. Dazu wird ein Primzahlentest verteilt realisiert, der auf folgender Formel beruht (Satz von Wilson): (n-1)! mod n = n-1 Wenn also die Fakultät n-1 einer Zahl n modulo n genau n-1 ergibt, dann ist n eine Primzahl. Beispiel 7: 6! mod 7 = 2*3*4*5*6 mod 7 = 720 mod 7 = 6, denn 102*7= 714 (Differenz zu 720 ist ja 6). Dass Fakultät zu sehr großen Zahlen führt, ist wohl klar. Daher lassen sich diese großen Zahlen nach jeder Multiplikation durch mod n immer wieder kleiner machen: (a*b) mod n = ((a mod n)*(b mod n))mod n Wenn also ein Produkt mod n berechnet werden soll, können vorher die Faktoren per mod n kleiner gemacht werden. Gleichzeitig erlaubt die zweite For mel das Verteilen des Multiplizierens auf mehrere Knoten. Diese Knoten wer den hier Worker genannt. 16

Aufgabenblatt 5 Verteilen der CPU-Last II PHPUnit- Skript 1 Worker 1 PHPUnit- Skript 2 Master API Worker 2 Worker n Directory 17 Aufgabenblatt 5 Verteilen der CPU-Last III Auf dem Hinweg wird ein JSON-Objekt mit den Daten geschickt. Dabei wird nicht auf das Ende der Berechnung gewartet. Später werden die Zwischenergebnisse eingesammelt, multipliziert und an den geschickt. Auch hier machen Sie einen Entwurf der Kommunikation, mit allen Formaten und dem Ablauf. Es gibt also pro Worker zwei URLs: eine zum Berechnen und eine zum Abholen des Ergebnisses. Die erste muss vorzeitig den Response liefern, bei der zweiten kann entweder abgefragt werden, ob das Ergebnis da ist oder auf das Ergebnis gewartet werden. gmp-paket: http://php.net/manual/en/ book.gmp.php 18

Aufgabenblatt 6 Private WebDAV-Cloud Sie bauen Sie eine primitive private Speicher-Cloud. Das (alte) XAMPP-System beinhaltet schon das Apache-webdav- Modul, auch sind die Konfigurationsdateien schon vorbereitet. Ihre Aufgabe besteht nun darin, WebDAV in den virtuellen Maschinen zu realisieren. Dazu ist eine Ein ar beitung in das XAMPP-Implement unter /opt/lampp/.. erforderlich. Dann gehört eine Recherche dazu, wie Apache zum WebDAV- konfiguriert werden muss. Auch sollte die Datei php.ini untersucht und gegebenenfalls ge än dert werden. Wenn das WebDAV-Modul nicht vorhanden ist, muss der Apache zusammen mit dem Modul übersetzt werden, oder Sie verlassen XAMPP und nehmen die Versionen aus den Repositorys der Distribution. Nun geht es um den Client. Unter Windows ist der WebDAV-Client im Explorer schon integriert. 19 Aufgabenblatt 7 II Dann besorgen Sie sich einen WebDAV-Client für Linux und wiederholen den Test. Ein schöner Client ist z.b. cadaver: http://www.webdav.org/cadaver allerdings ohne GUI. Oder davfs2 oder Als letztes bauen Sie die virtuelle Maschine so um, dass Sie den Ordner htdocs über WebDAV von Außen bespielen können. 20

Nach dieser Anstrengung etwas Entspannung. 21