Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym



Podobne dokumenty
Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Wstęp Architektura 4 g33kz Architektura użytkownik Klient

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Kopiowanie plików. 1. Z sieci wewnętrznej PK. System Windows

OpenSocial w nk.pl. Janusz Dziemidowicz. PLNOG października nk.pl

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Programowanie Komponentowe WebAPI

SSL (Secure Socket Layer)

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Konferencja I3 internet infrastruktury - innowacje. SMOA Devices. Infrastruktura do monitorowania i kontroli zuŝycia energii

Podręcznik użytkownika AgentOptimed24

Internetowa sieć laboratoriów fotograficznych

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

SignalR. Komunikacja w czasie rzeczywistym z SignalR. Mateusz Nostitz-Jackowski

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Mechanizmy pracy równoległej. Jarosław Kuchta

IG1: INSTALACJA KOMUNIKATORA GADU-GADU

Wybrane działy Informatyki Stosowanej

Programowanie współbieżne i rozproszone

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Telefonia Internetowa VoIP

Programowanie Sieciowe 1

Konfiguracja konta pocztowego w Thunderbird

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

(Pluggable Authentication Modules). Wyjaśnienie technologii.

OFERTA NA SYSTEM LIVE STREAMING

Temat: EasyAccess 2.0 Data: 10 Października 2014 Prowadzący: Maciej Sakowicz

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

RMA Zwroty/Reklamacje

Protokół HTTP (2) I) Wprowadzenie. II) Użyte narzędzia: III) Kolejność działań

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

OmniTouch 8400 Instant Communications Suite Integracja z programem Microsoft Outlook

Wykaz zmian w programie WinAdmin Replikator

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

76.Struktura oprogramowania rozproszonego.

POCZTA POLSKA. v Strona 1 z 9

Konspekt pracy inżynierskiej

Internetowy serwis Era mail Aplikacja sieci Web

Dotacje na innowacje - Inwestujemy w Waszą przyszłość ZAPYTANIE OFERTOWE

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Komunikacja i wymiana danych

Pojęcie systemu baz danych

INSTRUKCJA INSTALACJI I OBSŁUGI ZBIORCZE E-DEKLARCJE. dla Kadr Plac i ZUS PRO

K-EX (Geis) v Strona 1 z 12. FUTURE-SOFT SP. Z O.O. ul. Gosławicka2/ , Opole tel NIP:

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Ministerstwo Finansów

DOKUMENTACJA INTERFEJSU API - HTTPS

Program szkolenia: REST i Microservices w PHP

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

InPost PACZKOMATY. (Moduł Magento 2) v Strona 1 z 18

1. Model klient-serwer

12. Wirtualne sieci prywatne (VPN)

wfirma (Moduł Magento) v Strona 1 z 12

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instant Messaging with SIMPLE. Michał Albrycht

Dokumentacja techniczna SMS MO

Wykaz zmian w programie SysLoger

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

WYKONAWCY. Dotyczy: przetargu nieograniczonego na budowę wortalu i systemu poczty elektronicznej PIP

ikasa instrukcja użytkownika dla Klientów posiadających zainstalowaną aplikację

Lista zmian GBOX Assist 2.0

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Lista zmian GBOX Assist 2.0

Instrukcja konfiguracji funkcji skanowania

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

Komunikator internetowy w C#

FUNKCJE REALIZOWANE PRZEZ PRZYKŁADOWE APLIKACJE CRM W OPARCIU O DANE Z CENTRAL SLICAN

Szczegółowe informacje dotyczące przekazywania do Bankowego Funduszu Gwarancyjnego informacji kanałem teletransmisji

SERWER AKTUALIZACJI UpServ

Bazy danych 2. Wykład 1

L.p. 1 Powiatowy Urząd Pracy w Przysusze 2 Gminny Ośrodek Pomocy Społecznej Borkowice 3. Gminny Ośrodek Pomocy Społecznej Gielniów

Materiały z prezentacji integracji systemu antyplagiatowego OSA z systemem Dziekanat

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Złośliwe oprogramowanie Sandrorat (podszywające się pod oprogramowanie Kaspersky) na platformę Android WYNIKI ANALIZY

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

inpost Paczkomaty v Strona 1 z 13

Propozycje projektów (gniazdka)

Serwer komunikacyjny SIP dla firm

System generacji raportów

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Dokumentacja SMS przez FTP

INSTRUKCJA INSTALACJI APLIKACJI SEPI W SYSTEMIE LINUX. Dokumentacja zasilania aplikacji SEPI dla systemu Linux

SMB protokół udostępniania plików i drukarek

Tworzenie i obsługa wirtualnego laboratorium komputerowego

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

SET (Secure Electronic Transaction)

Transkrypt:

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym Janusz Dziemidowicz nasza-klasa.pl PLNOG 10-11 września 2009

Spis rzeczy XMPP i ejabberd XMPP Erlang ejabberd XMPP a HTTP BOSH Implementacje Optymalizacja Integracja Uwierzytelnianie Listy znajomych Informowanie serwera XMPP o zmianach

Spis rzeczy XMPP i ejabberd XMPP Erlang ejabberd XMPP a HTTP BOSH Implementacje Optymalizacja Integracja Uwierzytelnianie Listy znajomych Informowanie serwera XMPP o zmianach

XMPP Extensible Messaging and Presence Protocol, zastosowania: komunikatory, publish/subscribe, rozmowy audio/wideo, gry online.

Dlaczego XMPP? Zalety XMPP: mnogość rozszerzeń, prostota, rozszerzalność, federacje, dużo oprogramowania. Wady XMPP: mnogość rozszerzeń, XML, a właściwie to nawet nie XML, a prawie XML.

Dlaczego XMPP? Zalety XMPP: mnogość rozszerzeń, prostota, rozszerzalność, federacje, dużo oprogramowania. Wady XMPP: mnogość rozszerzeń, XML, a właściwie to nawet nie XML, a prawie XML.

Dlaczego XMPP? Zalety XMPP: mnogość rozszerzeń, prostota, rozszerzalność, federacje, dużo oprogramowania. Wady XMPP: mnogość rozszerzeń, XML, a właściwie to nawet nie XML, a prawie XML.

Erlang Erlang - funkcyjny język programowania opracowany przez firmę Ericsson. Cechy: funkcyjny, otwarty kod źródłowy, wymiana kodu w locie, równoległość oparta o wymianę komunikatów, rozproszony.

Erlang Erlang - funkcyjny język programowania opracowany przez firmę Ericsson. Cechy: funkcyjny, otwarty kod źródłowy, wymiana kodu w locie, równoległość oparta o wymianę komunikatów, rozproszony.

ejabberd Cechy: napisany w Erlangu, dobra zgodność ze standardem XMPP oraz wieloma rozszerzeniami, obsługa wielu domen, wbudowana obsługa HTTP.

Ale dlaczego ejabberd? wydajność, skalowalność, modularność, istnieją już wdrożenia na milion użytkowników online. Problemy: nie zadziała z pudełka, fala użytkowników, HTTP, integracja z portalem.

Ale dlaczego ejabberd? wydajność, skalowalność, modularność, istnieją już wdrożenia na milion użytkowników online. Problemy: nie zadziała z pudełka, fala użytkowników, HTTP, integracja z portalem.

Spis rzeczy XMPP i ejabberd XMPP Erlang ejabberd XMPP a HTTP BOSH Implementacje Optymalizacja Integracja Uwierzytelnianie Listy znajomych Informowanie serwera XMPP o zmianach

BOSH Bidirectional-streams Over Synchronous HTTP Mechanizm dwukierunkowej komunikacji przez HTTP, podobny do protokołu Bayeux (Comet). Przystosowany do przesyłania strumieni XML. Działanie: 1. Klient wysyła żądanie HTTP, serwer zawiesza połączenie. 2. Jeśli serwer ma coś do wysłania, to przesyła to nawiązanym połączeniem, klient natychmiast nawiązuje kolejne połączenie. 3. Jeśli klient ma coś do wysłania, nawiązuje drugie połączenie, w którym przesyła dane, serwer kończy poprzednie połączenie, a nowe zawiesza.

BOSH Bidirectional-streams Over Synchronous HTTP Mechanizm dwukierunkowej komunikacji przez HTTP, podobny do protokołu Bayeux (Comet). Przystosowany do przesyłania strumieni XML. Działanie: 1. Klient wysyła żądanie HTTP, serwer zawiesza połączenie. 2. Jeśli serwer ma coś do wysłania, to przesyła to nawiązanym połączeniem, klient natychmiast nawiązuje kolejne połączenie. 3. Jeśli klient ma coś do wysłania, nawiązuje drugie połączenie, w którym przesyła dane, serwer kończy poprzednie połączenie, a nowe zawiesza.

Implementacje W serwerach: ejabberd, Tigase, Openfire. Zewnętrzne: Punjab, Araneo, JabberHTTPBind, rhb, implementacja NK. Uwaga BOSH w aktualnym ejabberd (2.0.5) posiada poważny błąd, który czyni go bezużytecznym przy większych obciążeniach.

Implementacje W serwerach: ejabberd, Tigase, Openfire. Zewnętrzne: Punjab, Araneo, JabberHTTPBind, rhb, implementacja NK. Uwaga BOSH w aktualnym ejabberd (2.0.5) posiada poważny błąd, który czyni go bezużytecznym przy większych obciążeniach.

Implementacje W serwerach: ejabberd, Tigase, Openfire. Zewnętrzne: Punjab, Araneo, JabberHTTPBind, rhb, implementacja NK. Uwaga BOSH w aktualnym ejabberd (2.0.5) posiada poważny błąd, który czyni go bezużytecznym przy większych obciążeniach.

Implementacje W serwerach: ejabberd, Tigase, Openfire. Zewnętrzne: Punjab, Araneo, JabberHTTPBind, rhb, implementacja NK. Uwaga BOSH w aktualnym ejabberd (2.0.5) posiada poważny błąd, który czyni go bezużytecznym przy większych obciążeniach.

Optymalizacja keep-alive, kompresja, rezygnacja z XML - można wykorzystać np. JSON, rezygnacja z HTTP - zamiast tego połączenia TCP przez flasha. BOSH w nadchodzącym ejabberd 2.1 jest sporo wydajniejszy i lepiej napisany.

Optymalizacja keep-alive, kompresja, rezygnacja z XML - można wykorzystać np. JSON, rezygnacja z HTTP - zamiast tego połączenia TCP przez flasha. BOSH w nadchodzącym ejabberd 2.1 jest sporo wydajniejszy i lepiej napisany.

Optymalizacja keep-alive, kompresja, rezygnacja z XML - można wykorzystać np. JSON, rezygnacja z HTTP - zamiast tego połączenia TCP przez flasha. BOSH w nadchodzącym ejabberd 2.1 jest sporo wydajniejszy i lepiej napisany.

Optymalizacja keep-alive, kompresja, rezygnacja z XML - można wykorzystać np. JSON, rezygnacja z HTTP - zamiast tego połączenia TCP przez flasha. BOSH w nadchodzącym ejabberd 2.1 jest sporo wydajniejszy i lepiej napisany.

Spis rzeczy XMPP i ejabberd XMPP Erlang ejabberd XMPP a HTTP BOSH Implementacje Optymalizacja Integracja Uwierzytelnianie Listy znajomych Informowanie serwera XMPP o zmianach

Podwójne uwierzytelnianie Po zalogowaniu w portalu, użytkownik, w najprostszym wypadku, musi zalogować się ponownie przez XMPP. Rozwiązania: integracja sesji XMPP z sesjami portalu, tworzenie sesji BOSH/XMPP przez portal, wydawanie biletów, które serwer XMPP może łatwo sprawdzić.

Podwójne uwierzytelnianie Po zalogowaniu w portalu, użytkownik, w najprostszym wypadku, musi zalogować się ponownie przez XMPP. Rozwiązania: integracja sesji XMPP z sesjami portalu, tworzenie sesji BOSH/XMPP przez portal, wydawanie biletów, które serwer XMPP może łatwo sprawdzić.

Listy znajomych ejabberd musi pobrać listy znajomych użytkownika, aby wiedzieć jak przesyłać informacje o statusie użytkownika. Do opracowania: API do pobierania list znajomych (o ile takiego jeszcze nie ma), sposób na informowanie ejabberd o zmianach.

Listy znajomych ejabberd musi pobrać listy znajomych użytkownika, aby wiedzieć jak przesyłać informacje o statusie użytkownika. Do opracowania: API do pobierania list znajomych (o ile takiego jeszcze nie ma), sposób na informowanie ejabberd o zmianach.

Listy znajomych - problemy Czy będzie można zmieniać listy z poziomu XMPP? Co ze znajomymi spoza portalu (federacje)? Uwaga Oryginalny moduł ustawień prywatność pobiera listę znajomych dla każdej wiadomości.

Listy znajomych - problemy Czy będzie można zmieniać listy z poziomu XMPP? Co ze znajomymi spoza portalu (federacje)? Uwaga Oryginalny moduł ustawień prywatność pobiera listę znajomych dla każdej wiadomości.

Zmiany O czym trzeba informować ejabberd: zmiany w listach znajomych, usunięcie/zablokowanie konta, zmiana hasła/nazwy użytkownika, inne w zależności od potrzeb (z czasem będzie tego coraz więcej). Uwaga ejabberd posiada mechanizm do informowania o zmianach w listach znajomych, ale nie działa on poprawnie.

Zmiany O czym trzeba informować ejabberd: zmiany w listach znajomych, usunięcie/zablokowanie konta, zmiana hasła/nazwy użytkownika, inne w zależności od potrzeb (z czasem będzie tego coraz więcej). Uwaga ejabberd posiada mechanizm do informowania o zmianach w listach znajomych, ale nie działa on poprawnie.

Zmiany O czym trzeba informować ejabberd: zmiany w listach znajomych, usunięcie/zablokowanie konta, zmiana hasła/nazwy użytkownika, inne w zależności od potrzeb (z czasem będzie tego coraz więcej). Uwaga ejabberd posiada mechanizm do informowania o zmianach w listach znajomych, ale nie działa on poprawnie.

Rozszerzanie ejabberd XMPP Ad-Hoc Commands możliwość zdefiniowania dowolnych poleceń o ustalonych nazwach, przesyłanie parametrów oraz odbieranie wyników, kontrola dostępu, formularze dla graficznych klientów XMPP. ejabberdctl podobne możliwości jak Ad-Hoc, wywoływane z wiersza poleceń przez administratora.

Rozszerzanie ejabberd XMPP Ad-Hoc Commands możliwość zdefiniowania dowolnych poleceń o ustalonych nazwach, przesyłanie parametrów oraz odbieranie wyników, kontrola dostępu, formularze dla graficznych klientów XMPP. ejabberdctl podobne możliwości jak Ad-Hoc, wywoływane z wiersza poleceń przez administratora.

Dziękuję za uwagę