Technische Universität München Praktikum Mobile Web Teil Peer-to-Peer Programming auf mobilen Endgeräten Robert Eigner
Technische Universität München Organisatorisches Gruppeneinteilung PDA Ausgabe Genereller Ablauf –Drei Aufgabenblöcke –Vorstellung der Aufgabenstellung –1 Woche später: Präsentation Analyse und Design –2 Wochen Implementierung, dann Testat –Drei Einzelnoten für Testate, keine davon schlechter als 4.0 –Entweder oder : Kreativitätsexperiment Aufgabenstellung erster Teil
Technische Universität München Übersicht Ziele des Teilprojekts / Lastenheft Software Engineering / Vorgehen / Zeitplan Technologien
Technische Universität München Lastenheft Peer-to-Peer Social Network –Expliziter Beziehungsaufbau –Impliziter Beziehungsaufbau durch Itemtausch –Zu tauschende Items –Getauschte Items –Items können getaggt werden –Anzeige des Beziehungsnetzwerks Tags sind Strings Items sind beliebige Dateien –Bilder –Musik –Termine –Kontakte –…
Technische Universität München Lastenheft Der persönliche Informationsraum ist die Vereinigung von –Items –Tags –Beziehungen Verarbeiten der Suche Tausch der Dateien
Technische Universität München Lastenheft Detektieren von Agenten, die online sind –Echt verteilt? –Mit Backend-Server? Etablieren einer Beziehung –Handshake –Gerichtete vs. ungerichtete Beziehung Aufnehmen/Löschen von neuen Items in/aus persönlichen Informationsraum Taggen (Hinzufügen/Löschen) Suchen von Items mit bestimmten Tags –Im ganzen Netz Im persönlichen Informationsraum –Ausnutzung der sozialen Beziehung
Technische Universität München …ein paar lose Gedanken Wie schaut das P2P-Protokoll aus? –Sender, Empfänger, Timestamp (Wozu?), Nachrichteninhalt – Braucht man mehr? –Unterscheidung Nachrichtentypen Nachrichtenaustausch Beziehungsaufbau Suchanfrage/-antwort … Gibt’s was Besseres als einfaches Vergleichen von Tags? Sollte man die Pfadlänge des Suchbaumes irgendwo abschneiden? Wenn ja wo? Sollte man auch die Beziehungen taggen können? Welche Auswirkungen hätte das?
Technische Universität München …ein paar lose Gedanken Networking –Sockets –HTTP –FTP – –…
Technische Universität München Software Engineering “Kleiner Prozess” –Szenarien –Use cases –Anforderungsanalyse –Architektur (UML) Komponentendiagramme Klassendiagramme Sequenz-/Statusdiagramme Pflichtenheft: Folien. Entwurf: UML Diagramme. Dokumentation: Kommentierung und Aktualisierung des Pflichtenhefts und der UML Diagramme. Zusätzlich Dokumentation im Code! Prozessmodell: Teamentscheidungen demokratisch. Echte Aufteilung der Arbeiten! Gerne auch kombiniertOder nur eins von beiden Werden in Mini-Seminar zu Beginn der zweiten Bearbeitungswoche vorgestellt und diskutiert.
Technische Universität München Software Engineering Versionskontrolle System nach Eurer Wahl Vorschlag: svn –Versionierungstool ähnlich zu cvs. –Doku: –ankh ist ein plugin für Visual Studio, mit dem man ein svn repository über das Netz zugreifen (checkout, commit etc.) kann. – Vorgehen: –Repository anlegen: auf rayhalle1 einloggen svnadmin create euerRepository (der svnserve-Schritt muss weggelassen werden) chmod -R g+rw euerRepository
Technische Universität München Software Engineering –Schlüssel erzeugen (Windows) PuTTY herunterladen und installieren ( PuTTYgen ausführen Generate a public/private key pair (die Voreinstellungen mit SSH-2 RSA und 1024 Bit Schlüssellänge sind OK), Passphrase leer lassen (sonst nervt's!) den Privaten Schlüssel speichern den öffentlichen Schlüssel (der steht im PuTTYgen-Fenster in dem Copy-and-Paste- Feld) auf dem rayhalle-Rechner in der Datei ~/.ssh/authorized_keys speichern (oder hinzufügen, falls da schon einer steht) pageant aus dem PuTTY-Programmverzeichnis ausführen Rechtsklick auf das Hutsymbol in der Taskleiste, dann "Add Key" auswählen den gespeicherten Privaten Schlüssel hinzufuegen –man kann die Schritte f-h automatisiert bei Systemstart durchführen lassen, indem man einen Link zu C:\Programme\PuTTY\pageant.exe ins Autostart-Menü hinzufügt und diesem Link als Parameter noch den Pfad zum Private Key übergibt, also etwa C:\Programme\PuTTY\pageant.exe "C:\Dokumente und Einstellungen\eigner\ssh\id_rsa.ppk" :
Technische Universität München Software Engineering –Schlüssel erzeugen (Linux) ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa scp muenchen.de:~/.ssh/authorized_keys (oder eben den key hinzufügen, falls schon welche in authorized_keys drinstehen!)
Technische Universität München Technologien Visual Studio 2008 – –Visual Studio 2008 downloaden (Zur Not kann ich auch ein paar DVDs brennen) –Daemon Tools zum Mounten der Images ( –MSDN-Doku im Web: (Referenz) –Tutorial: –MSDN-Doku auch auf MANIAC-Server –Für Windows XP ActiveSync 4.5: dc09f &displaylang=de C# –Buch unter –Tutorial unter –Referenz unter –Für Java-Umsteiger
Technische Universität München Technologien.NET –Doku: Compact Framework –Muss u. U. noch bei Microsoft heruntergeladen werden: b3385&DisplayLang=de –Installation auf PC und PDA notwendig! –Welche Version? Am besten 3.5, aber Eure Entscheidung! –Doku: –Sektion “Mobile and Embedded Development” us/library/ms aspx Endgeräte –HP iPAQ hw6915 –Windows Mobile 5.0 –ActiveSync/Device Center notwendig
Technische Universität München Zeitplan (heute): Teameinteilung, Ausgabe der Geräte, Aufgabenstellung Teil 1: mobile P2P-Anwendung : Seminar: Vorstellung der Architektur : Implementierung (kein Termin) : Abgabe Code, Dokumentation, Testate : Aufgabenstellung Teil 2: Tochscreen, Bewertung und Empfehlung