ClientServer: StudiVZ - JirkaDellOro/EIA2 GitHub Wiki
Entwickeln Sie den Code aus der Übung 4 bzw Lektion L04 zur Studentendatenbank weiter. Die Daten sollen nun nicht mehr im Arbeitsspeicher des Clients gehalten werden, sondern auf dem Server. Somit können mehrere Clients gleichzeitig Daten einpflegen und abrufen. Die Eingabemaske soll dabei nicht verlassen werden.
Konzeption
Halten Sie zunächst fest, welche Daten zwischen und Server und Client ausgetauscht werden sollen, und in welche Struktur diese für den Austausch gebracht werden müssen. Beachten Sie dabei, dass der Server unterschiedliche Antworten geben muss für die Aktivitäten "Insert" (neuen Datensatz einfügen), "Refresh" (alle anzeigen) und "Search" (einzelnen Datensatz suchen). Setzen Sie sich dazu im Vorfeld mit dem JSON-Objekt und dessen Methoden parse
und stringify
auseinander.
Erstellen Sie dann Aktivitätsdiagramme für die Algorithmen auf dem Client und dem Server. Beachten Sie dabei, dass die Systeme nahezu vollständig ereignisgetrieben sind.
Aufräumen & Experimentieren
Bereinigen Sie den bestehenden Code um überflüssige Datenstrukturen und Anweisungen. Versuchen Sie dann zunächst mit Hilfe eines Formulartags Daten an den Server zu senden. Dieser ist für die finale Implementation wieder zu entfernen.
Produktion
Setzen Sie die Algorithmen entsprechend unserer Coding-Styleguides syntaktisch korrekt um. Testen Sie Ihre Ergebnisse lokal und nach der Implementation auf Github-Pages und Heroku mit mehreren parallel agierenden Clients. Beachten Sie, dass der Server nach dem "Einschlafen" auf Heroku die Daten wieder verliert. Um schneller testen zu können, implementieren Sie einen weiteren Button auf der Client-Seite. Ein Click darauf schickt gleich drei Datensätze zum Einfügen an den Server.