40 likes | 150 Views
Verteilte Systeme. Client/Server Programmierung mit Corba und Java. Stufe 1. ChatClient. ChatServer. Client: register(name,chatserver) Meldet Client mit bestimmten Namen beim ChatServer an unregister(name,chatserver) Meldet ChatClient bei Chatserver ab shout(message,chatserver)
E N D
Verteilte Systeme Client/Server Programmierung mit Corba und Java
Stufe 1 ChatClient ChatServer Client: register(name,chatserver) Meldet Client mit bestimmten Namen beim ChatServer an unregister(name,chatserver) Meldet ChatClient bei Chatserver ab shout(message,chatserver) Nachricht an alle talk(name,message,chatserver) Nachricht an einen Server: receipt(list,chatserver) Empfängt Liste der „Anderen“ vom ChatServer an update(list,chatserver) Aktualisiert die Liste vom ChatServer hear(message,chatclient, chatserver) Nachricht vom ChatServer empfangen Server: register(name,chatserver) Registriert neuen ChatClient mit bestimmten Namen unregister(name,chatserver) Streicht ChatClient shout(message,chatserver) Broadcast Nachricht talk(name,message,chatserver) Leitet Nachricht weiter Client: receipt(list,chatserver) Überträgt Liste der „Anderen“ an neuen ChatClient update(list,chatserver) Aktualisiert die Liste bei allen hear(message,chatclient, chatserver) Leitet Nachricht weiter
Stufe 1 • Zu entscheiden ist: Was ist die Identifikation des ChatClients oder ChatServers ? IOR: Dann kann weder ChatClient noch ChatServer verschoben werdenName: muss eindeutig sein. Wer vergibt den Namen für den Namensdienst ? • Name des ChatClients beim ChatServer muss/kann unterschiedlich sein, als Name beim Namingservice (zB Kombination Name+Nummer). Ermöglicht anonymes Teilnehmen • Namingservice: Haben Chatclients Zugriff auf den Namingservice ?Ggf. müssen sie ihre IOR an den ChatServer übermitteln...der ChatServer ist dann Namingservice ??? Ist zu klären! • Name: Dürfen Clients den selben Namen haben ? Eindeutige API ist zu entwerfen, damit am Ende alle den gleichen Server nutzen können
Stufe 2 • Backup-Server: Sollte der Hauptserver abstürzen, sollte der Chat ungehindert über den Backup-Server weiter laufen können. • Verteilte Server: Der ChatServer besteht aus vielen Teil-ChatServern, die Ihre Listen austauschen. Wichtiges Problem: Namensdienst, Zugriffsmöglichkeiten. • Gruppenkommunikation: Der ChatServer bietet verschiedene Gruppen an mit unterschiedlichen Rechten. Wer darf dort rein, zuhören, mitreden etc. • Sicherheit: Wer ist wer ? Verschlüsselung von Nachrichten etc. • weiter technische Probleme aus dem Bereich VS • Überwachungsagent: Dokumentiert den Chat inklusive Quellrechnern, Loginzeiten etc, ggf. Zensur von Nachrichten und Auswertung der Daten. • Persönlicher Überwachungsagent: Filtert eingehende Nachrichten, Überwacht Liste der Chatteilnehmer, führt ggf. Teildialoge • DummyChatClient: Ist immer Online und versucht die anderen Teilnehmer auf dem Server zu halten. • WerbeChatClient: Hört den Dialogen zu und gibt Hinweise/Ratschläge • Auskunft: Agent, der Teilnehmern mit Rat und tat zur Seite steht • weitere Anwendungsprobleme aus dem Bereich des Chatten