Jabber-Comets-Integration

Ähnliche Dokumente
XMPP: Extensible Messaging and Presence Protocol

Zentrale Serverdienste Einrichtung des zentralen Messenger-Dienstes der h_da

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April <page="1" max="22"/>

Jabber - das Plaudern geht weiter

Instant Messaging mit XMPP

Chatten mit der Glühbirne

XMPP - Jabber. Noch ein IM (v ) Thomas Merkel (tm@core.io)

Programmieren 2 12 Netzwerke

Entwicklungstand der GUI

Erläuterungen zu Darstellung des DLQ-Datenportals

Instant Messaging. von Christina Nell

Pidgin unter Ubuntu-Linux einsetzen

Web Sockets mit HTML5. Quelle:

Firewall - Techniken & Architekturen

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108

Thesis Outline. Erstellung eines universellen Konzepts zur Kommunikation auf mobilen Geräten mit Hilfe von Positionsbestimmung.

QBus Enterprise Service Bus. intersales Creating the Digital Enterprise

Rapid Response UI mit WebSockets

3. Übung zur Vorlesung Verteilte Betriebssysteme

SAP NetWeaver Gateway. 2013

SAP R/3 und der Open Text Delivery Server In der Praxis

SMart esolutions Informationen zur Datensicherheit

MESSI DIE HDM MESSENGER DIENSTE. MI-Präsentationstag

1 Referenzpunkte für. MagicMap mit Nokia N810

Steuerung eines Roboters über unzuverlässige WLAN Verbindungen

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH

CARM und CARM-NG Server Automatisierung mit Agenten; Schnittstellen zu anderen Datenbanken; Web-Enabled

Stand der Entwicklung von Shibboleth 2

VPN-Zugang mit Cisco AnyConnect. Installation und Verwendung

Einsatz von Java-Komponenten in verteilten Embedded Systems

Kurs 1866 Sicherheit im Internet

Einleitung Protokoll Implementierung Fazit. Kryptochat. Ein verschlüsseltes Chat-System basierend auf XMPP und OpenPGP. S. Gaiser D. Pfister L.

Dokumentation Catan-Protokoll Protokoll Version 0.1

Politisch oder ideell interessante Alternativen zu den Standard-Diensten und Grundregeln zum Datenschutz. Silke Meyer

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist

Business einrichten - Outlook 2010

Pidgin unter Microsoft Windows benutzen

P2P Content Sharing mit WebRTC. Christian Vogt - Max Jonas Werner -

Client-Server mit Socket und API von Berkeley

Verteilte Systeme - 1. Übung

Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung

Instant Messenger- Alternativen zu WhatsApp

SISIS-Anwendertreffen

Integration von UIS-Webdiensten

Verteilte Betriebssysteme

Integration des Eclipse-Communication-Frameworks in Saros

JNDI und JAAS am Beispiel des Moduls directoryservices. Adapter für Authentifizierungs- und Verzeichnisdienste der Fiducia

bea Plus: Das besondere elektronische Anwaltspostfach ein Prototyp in Python

Kryptografie-Schulung

Anwendung der Roblet -Tec hnol ogie

1. Allgemein. Verschlüsselte für Android Smartphone Schritt für Schritt Anleitung

Voice Mail SSAM. Die einfachste und wirtschaftlichste Voic . Imagicle ApplicationSuite EINGESCHLOSSEN FOR CISCO UC

F Session Initiation Protocol

Einführung in WEB 3.0

Systemarchitektur. Das Eisenbahnsystem. Theoretische Grundlagen zum Seminar im Grundstudium Sprachgesteuerte Geräte (Modelleisenbahn) Alexander Huber

Mail Integration Solution White Paper

Progressive Web Apps mit APEX. Till Albert

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

MQTT Dokumentation VERBINDEN VON ENDGERÄTEN ÜBER DAS MQTT-PROTOKOLL VERSION 1.1.0

Was brauche ich um ein senden/empfangen zu können?:

Das ISO / OSI -7 Schichten Modell

Bentley Anwender Registrierung

Stand und Planungen im Bereich der Schnittstellen in der VZG

GeoEvent Processor und Feeds

Projekt Message-Logger

Best Practices WPA2 Enterprise und Radius-SSO

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Reporting Lösungen für APEX wähle Deine Waffen weise

Check die Welt des Internet. www wir wollen s wissen Kids im Internet

Geschichte Core protocol Messaging Extensions. XMPP/Jabber. The Extensible Messaging and Presence Protocol. Stefan Andonie and Niklaus Hofer

Web-Services mit Go. Sebastian tokkee Harl OpenRheinRuhr 07. November 2015 Oberhausen

2. Dabei wird für jede IP ein eigener Thread gestartet.

JMS Java Message Service

Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt

Link:

Anonymous and secure instant messaging. We can neither confirm nor deny the existence or the non existence of the requested information

Deutsches Forschungsnetz

Projekt GIRAFFE. Informationsveranstaltung für Versicherer, Brokersoftwarehersteller und Broker mit eigener Software

Mailserver Teil 1 Linux-Kurs der Unix-AG

Projekt im Praktikum zur OOS im Sommersemeter 2016

Outlook Regeln. Wo finde ich den Regelassistenten? Wann ist der Regelassistent verfügbar? Ist die Anzahl der Regeln begrenzt?

A. Thunderbird (Version 45.0)

SMARTentry Notification

Grundlagen verteilter Systeme

Vorstellung zu einem Web Desktop: eyeos

Verteilte Systeme - Java Networking (Sockets) -

MATRIX VORSTELLUNG. Dezentrales Messaging, VoIP, Videotelefonie, Screensharing, Bridge zu Telegram, XMPP, IRC, Discord, WhatsApp u.v.m.

TCP/UDP. Transport Layer

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG

Tele-Consulting. openucf. open unified communications framework. LinuxTag, 10. Juni security networking training GmbH

Content Management mit Joomla! 3.5 für Kids

Gnutella 0.6. Vorstellung eines Filesharing-Protokolls. Wolfgang Steudel: Das Gnutella-Protokoll 2/15. Inhalt

Zentraler Informatikdienst der TU Wien

Kommunikationsmodelle für verteilte Systeme

ActiveX Scripting IE und DHTML (DOM): Architektur, Beispiele (Object Rexx)

Transkript:

FU Berlin - Institut für Informatik SoSe 2003 Internet Learning Dozenten: Klaus-Dieter Graf Marco Rademacher Referent: Stefan Gerber

1. Jabber-Protokoll 2. Comets-Protokoll 3. Jabber und Comets - Ein gutes Duo?

1. Jabber Protokoll Jabber ist ein Instant-Messaging-Dienst. Diverse Marktforschungsunternehmen prophezeien, dass IM mittelfristig E-mail den Rang der beliebtesten Anwendung im Internet ablaufen wird. Bereits heute ist die Verbreitung rasanter als es bei E-mail der Fall war/ist.

1. Jabber Protokoll Instant-Messaging ist gekennzeichnet durch: Presence (sehen wer online ist) Messaging (Nachrichten senden/empfangen) Conferencing (chatten)

1. Jabber Protokoll Das Jabber-Protokoll ist offen und standardisiert und wird daher von einer Vielzahl von Herstellern client- und serverseitig unterstützt. APIs existieren für zahlreiche Programmiersprachen und Plattformen.

1. Jabber Protokoll Im Gegensatz zu vielen anderen IM-Services setzt Jabber nicht auf eine P2P-Technik, sondern verwendet den klassischen Client-Server-Ansatz. Das gesamte Protokoll zwischen Client und Server besteht aus XML- Datenströmen.

1. Jabber Protokoll Alle Verbindungen (Sockets) zwischen Clients und dem Server bleiben bei Jabber dauerhaft geöffnet, um so PUSH-Funktionalität zu erhalten.

1. Jabber Protokoll Ein gutes Beispiel für den PUSH-Ansatz ist der Online-Status, den man automatisch empfängt: <presence from='karl@10.0.0.1' to='peter@10.0.0.1'> <status>online</status> <priority>2</priority> </presence>

1. Jabber Protokoll Wichtigste Funktionalität: - Login (Authentifizierung) - Nachrichten senden - Nachrichten empfangen - Rostermanagement

1. Jabber Protokoll Login (Codefragment): <iq type='set' id='1'> <query xmlns= jabber:iq:auth <username>peter</username> <password>secret</password> </query> </iq>

1. Jabber Protokoll Nachricht senden (Codefragment): <message from='peter@10.0.0.1' to='karl@10.0.0.1'> <body> Hello! </body> </message>

1. Jabber Protokoll Nachricht empfangen (Codefragment): <message from='peter@10.0.0.1'> <body> Hello! </body> </message>

1. Jabber Protokoll Das Rostermanagement verwaltet potentielle Gesprächspartner auf dem Server. Eingeloggte Clients müssen ihre Präsenz selbst verwalten und allen gewünschten Kommunikationspartnern mitteilen bzw. abfragen.

1. Jabber Protokoll Kontakliste anfordern (Codefragment): <iq type='get' id='anfrage1'> <query xmlns='jabber:iq:roster'/> </iq>

1. Jabber Protokoll Kontakliste empfangen (Codefragment): <iq type='result' id='anfrage1'> <query xmlns='jabber:iq:roster'> <item jid='peter@10.0.0.1' name='peter' subscription='both'> <group>uni</group> </item> </query> </iq>

1. Jabber Protokoll Es geht auch einfacher. Die Muse API von Echomine kapselt alle nötigen Protokoll- und Verbindungsroutinen in Java- Objekten. Nachteil: Muse-Bibliothek ist recht gross.

1. Jabber Protokoll Mit Muse eine Verbindung aufbauen: JabberContext context = new JabberContext("peter", "secret", "10.0.0.1"); Jabber jabber = new Jabber(); JabberSession session = jabber.createsession(context);

1. Jabber Protokoll Login (Codefragment): session.connect("10.0.0.1", 5222); session.getuserservice().login();

1. Jabber Protokoll Nachricht senden (Codefragment): JabberChatService chat = session.getchatservice(); chat.sendprivatemessage( "peter@10.0.0.1","hello");

1. Jabber Protokoll Nachricht empfangen (Codefragment): Da Nachrichten wie schon erwähnt, nicht aktiv abgeholt werden müssen, registriert man zum Empfang einen JabberMessageListener: session.addmessagelistener( new JabberMessageListener());

1. Jabber Protokoll Wie geht es nun weiter? Um das Protokoll weiter entdecken und testen zu können, empfiehlt sich das Aufsetzen eines eigenen Jabber-Servers. Mit einem der zahlreichen Jabber-Clients und einem Proxy- Server können die XML-Streams visualisiert und analysiert werden.

1. Jabber Protokoll Tools: jabberd (Open Source Server in C für Linux) gabber (GNOME Jabber-Client) SimpleProxyServer (Proxy aus Java in a Nutshell) Muse API (High-Level API in Java) Commandline Jabber-Client (Verwendet Muse)

1. Jabber-Protokoll 2. Comets-Protokoll 3. Jabber und Comets - Ein gutes Duo?

2. Comets-Protokoll Auch Comets verwendet Sockets, die während der gesamten Sitzung geöffnet bleiben. Momentan ist das Protokoll nur zur Hälfte (nur Antworten vom Server) in XML realisiert.

2. Comets-Protokoll Chat Client ChatServer ChatUser Telnet > ChatUser

2. Comets-Protokoll Jabber Client Jabber-Server Telnet >

2. Comets-Protokoll Ein Login fehlt. Es werden Netwzerkverbindungen aufgebaut ohne eine Autorisierung. Nachrichten sendet man, indem einfach nur die Nachricht an sich über die Verdindung gesendet wird. Der Server erkennt nur an der Verbindung, wer die Nachricht gesendet hat (Jabber macht das genauso).

2. Comets-Protokoll Nachrichten empfangen: <message> <sender> flavorflav </sender> <body> Don't believe the hype! </body> </message>

2. Comets-Protokoll Es existieren wichtige also Parallelitäten zwischen Comets und Jabber: 1. Sockets mit dauerhaften Verbindungen 2. Client-Server-Architektur 3. Protokoll als roher Text (UTF-8) verschickt im Vergleich zu Serialisierung oder DataStreams in Java.

2. Comets-Protokoll Jabber und Comets sind sich sowohl technisch als auch thematisch sehr ähnlich. Eine Verknüpfung wäre also möglich und eventuell auch sinnvoll.

1. Jabber-Protokoll 2. Comets-Protokoll 3. Jabber und Comets - Ein gutes Duo?

3. Jabber und Comets - Ein gutes Duo? Ein erster Ansatzpunkt der Integration wäre auch eine Komplettierung und Anpassung des Comets-Protokolls an das Jabber-Fomat. Vorteil: Anlehnung an einen Standard Nachteil: Wenn man XMPP nicht kennt, wird das Protokoll etwas komplexer.

3. Jabber und Comets - Ein gutes Duo? Was kann Jabber, das Comets nicht kann? - private Nachrichten/Chats - Dateiübertragungen - Autentifizierung (Login) - Presence (selbst definierbar)

3. Jabber und Comets - Ein gutes Duo? Was kann Comets, das Jabber nicht kann? Comets hat ein innovatives Presence-Konzept, das Raum (Bewegungen auf Internet-Seiten ) und Zeit (online/offline) verbindet.

3. Jabber und Comets - Ein gutes Duo? Es sind unterschiedliche Einsatzszenarien vorstellbar. Nach Server-Location: 1. Comets soll mit jabber.org kommunizieren könnnen 2. Comets soll mit einem eigenen jabberd kommunizieren

3. Jabber und Comets - Ein gutes Duo? Nach Integrationsgrad: 1. Comets als vollwertiger Jabber-Client 2. Comets integriert nur spezielle Features; parallel wird ein zusätzlicher Jabber-Client eingesetzt.

3. Jabber und Comets - Ein gutes Duo? Jabber als öffentlicher Dienst (jabber.org): Problem: Comets-Applet kann nicht direkt mit jabber.org kommunizieren. Sicherheitseinstellungen verhindern einen Verbindungsaufbau mit fremden Hosts.

3. Jabber und Comets - Ein gutes Duo? Eine mögliche Lösung wären signierte Applets mit veränderten Sicherheitseinstellungen. Dies erhöht jedoch die Anforderungen an den Nutzer und die Abhängigkeit von bestimmten Virtual Machines.

3. Jabber und Comets - Ein gutes Duo? Besser geeignet ist vielleicht ein Durchschleifen der Kommunikation mit jabber.org durch den Comets-Server. Die Erweiterung wäre am Server sehr einfach zu realisieren und alle Jabber-spezifischen Features müssten nur vom Client (Applet) implementiert werden.

3. Jabber und Comets - Ein gutes Duo? Durchschleifen Comets Client ChatServer jabber.org

3. Jabber und Comets - Ein gutes Duo? Einen Jabber-Server kann auch auf dem Rechner des Comets-Servers installiert werden. Projektgruppen haben so neben Comets auch eine eigene IM-Plattform. Der Comets-Client wird dann um einige Jabber-Funktionen erweitert.

3. Jabber und Comets - Ein gutes Duo? Lokaler jabberd / CometsClient = JabberClient Comets Client ChatServer Jabberd

3. Jabber und Comets - Ein gutes Duo? Comets könnte bei einer lokalen Installation die Passwort-Dateien von jabberd verwenden, um eine eigene Login-Prozedur zu implementieren.

3. Jabber und Comets - Ein gutes Duo? Ferner könnte von Comets nur die Jabber- Presence integriert werden. D.h. Comets würde nur anzeigen wie der aktuelle Jabber-Status der einzelnen Receiver aussieht.

3. Jabber und Comets - Ein gutes Duo? Lokaler jabberd/ CometsClient + JabberClient Jabber Client Jabberd Jabberuser.xml Comets Client Login ChatServer Presence Brigde

Vielen Dank Fragen und Diskussion

Vorschläge zur Diskussion Soll Comets von Jabber unabhängig bleiben? Wieviel Jabber braucht Comets? Überfordern wir evtl. die Anwender? Wie gross darf der Comets-Client werden?