1 / 4

Verteilte Systeme

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)

tudor
Download Presentation

Verteilte Systeme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Verteilte Systeme Client/Server Programmierung mit Corba und Java

  2. 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

  3. 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

  4. 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

More Related