Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

11
Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710

Transcript of Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Page 1: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Gruppe 3Vanja Culafic 0426783

Waldemar Hummer 0416710

Page 2: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Aufwand: ~120 Arbeitsstunden LOC:

◦ File-Sharing Beispiel: ~1700 Davon Corso: ~550 Davon MozartSpaces: ~450

◦ Scrabble Beispiel: ~3300 Davon Socket: ~650 Davon MozartSpaces: ~600

Page 3: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Nur Java™ (keine .NET/C# Variante) MozartSpaces 1.0-alpha (Bsp. 1 und 2) Corso 3.3 (Beispiel 1) Sockets (Beispiel 2) Allgemein:

◦ Log4j◦ Swing◦ Ant

Page 4: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.
Page 5: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Sharen von Dateien zwischen mehreren Benutzern

Dateien müssen explizit freigegeben werden

Freigegebene Dateien müssen mit Original verlinkt werden◦ Automatische Synchronisierung der Änderungen◦ Wenn ein Benutzer offline ist, soll dies nicht

möglich sein

Page 6: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.
Page 7: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Mehrere Spiele gleichzeitig Mehrere SpielerInnen in einem Spiel Synchronisierung der Züge

◦ gleichzeitiges Setzen von Buchstaben auf das Spielbrett

Logging von Zügen◦ Recovery von Zügen (rückgängig machbar)◦ Achten auf Score, Buchstaben im Beutel usw.

UI Darstellung des Spielbretts

Page 8: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Vorteile:◦ Variante „embedded core“ (kein zentraler Server)◦ Verständliche API mit AtomicEntry<..> und

Tupeln Nachteile:

◦ Abhängigkeit auf Datei „spaces.prop“ (schwer zu debuggen, nicht dokumentiert)

◦ Schlechtes Laufzeitverhalten bei vielen einzufügenden Tupeln (fast 10s für 100 Tupeln!)

◦ Relativ viele LOC (u. A. durch Schachtelung von AtomicEntry<..>)

Page 9: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Vorteile:◦ Klare API (Adressierung jedes Objekts durch OID)◦ Definition von eigenen, komplexen

Datenstrukturen (CorsoShareable)◦ Großteils „lazy loading“ von Objekt-Attributen◦ Persistenz vorhanden

Nachteile:◦ Server command-line Applikation: keine --help

Option◦ Kryptische Exceptions mit ausdruckslosen

Fehlercodes

Page 10: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Vorteile:◦ Volle Kontrolle über Kommunikationsmethode◦ Definition von Message-Klassen, Serialisierung u.

versenden in Java sehr vereinfacht◦ Keine Einarbeitung notwendig, abschätzbarer

Zeitaufwand Nachteile:

◦ Schreiben von eigenen Routinen für Datenintegrität, Ausfälle, beendete Clients fehleranfällig

◦ Übertragene serialisierte Objekte müssen dieselbe Version haben

◦ Mehr LOC im Vergleich zu Space-Based Varianten

Page 11: Gruppe 3 Vanja Culafic 0426783 Waldemar Hummer 0416710.

Fragen?