Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot.

Slides:



Advertisements
Podobne prezentacje
One Framework to rule them all
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Serwery WWW Michał Kuciapski Uniwersytet Gdański Wyższa Szkoła Bankowa
Usługi sieciowe Wykład 5 DHCP- debian
Protokoły sieciowe.
Co to jest DNS i jak działa?
do użytku wewnętrznego
Architektura SAP R/3 Wybrane zagadnienia.
Technologia VoIP.
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
Tworzenie portali z wykorzystaniem technologii Sun Java Enterprise Systems Joanna Kosińska
Rozszerzalność systemów rozproszonych
ADAM Active Directory w trybie aplikacyjnym
Microsoft Office System w praktyce wdrożenie w COMARCH-CDN
Artur Jonak empolis Polska Sp. z o.o.
Sieci komputerowe Model warstwowy OSI Piotr Górczyński 20/09/2003.
Serwery aplikacji 2008/2009 KAMiTS WMiI UŁ
Poj ę cia Sieciowe. IMAP-to internetowy protokół pocztowy zaprojektowany IMAP-to internetowy protokół pocztowy zaprojektowany POP3-to protokół internetowy.
Tomasz Smieszkoł - 15 stycznia
Eclipse jako IDE III a.
Systemy rozproszone Komunikacja (I)
SSL - protokół bezpiecznych transmisji internetowych
Monitoring Sieci Narzędzia Sieciowe.
SG-500 Bramka zabezpieczająca VPN Copyright © PLANET Technology Corporation. All rights reserved.
Internet i Systemy Multimedialne
Platforma J2EE korporacyjny standard wytwarzania złożonych systemów informatycznych Autor: Jarosław Lis Warszawa, 2006r.
PROTOKÓŁ SIP WILCZAK KRZYSZTOF KOPKA PIOTR. INFORMACJE WSTĘPNE SIP (Sesion Initiation Protocol) to protokół sygnalizacyjny, odpowiedzialny za tworzenie,
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
USŁUGI INTERNETOWE TCP/IP WWW FTP USENET.
Wprowadzenie do platformy J2EE
Protokoły komunikacyjne
Nowoczesne sieci komputerowe
Informatyczne narzędzia wspomagające pracę na odległość
Przemek Lewicki Piotr Linka Bartek Stasikowski
Aplikacje Internetowe
IT Asset Management Service
POJĘCIA ZWIĄZANE Z SIECIĄ.
Web Serwisy w praktyce Technologie internetowe ( )
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Protokół Komunikacyjny
MODEL WARSTWOWY PROTOKOŁY TCP/IP
Message-Driven Bean.
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Informatyka 1 Sieć.
Rozdział 5: Protokoły sieciowe
System operacyjny napisany w.NET (ogólnie rzecz biorąc)
Wymiana informacji w sieciach komputerowych Opracowanie: Maria Wąsik.
Arkadiusz Twardoń ZTiPSK
Systemy zarządzania treścią Wykład 5
Autor: Marcin Polak Promotor: dr inż. Paweł Kasprowski
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Sieci komputerowe.
Aplikacje TCP i UDP. Łukasz Zieliński
Sieci komputerowe.
Skalowanie aplikacji JPA na przykładzie Oracle TopLink Grid
OWASP + DevOps, kilka przydatnych narzędzi
Telefonia SIP Session Initiation Protocol RFC 3261 RFC 2543.
Zagrożenia.
DWhisper Komunikator internetowy bez centralnego serwera.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Zakres wykładu Kierunki rozwoju oprogramowania systemów rozproszonych Własności wybranych architektur - problemy badawcze Przykładowe obszary zastosowań.
Połączenia aplikacji Klient/Serwer
Sławomir Staśkiewicz JBossAS i EJB 3.1 Sławomir Staśkiewicz
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Wydział Matematyki, Informatyki i Architektury Krajobrazu
Podstawy sieci komputerowych
Sieci komputerowe Usługi sieciowe 27/09/2002.
Zapis prezentacji:

Model programowania aplikacji komunikacyjnych przy użyciu Java SIP Servlet API Waldek Kot

Agenda Dlaczego taki temat ? Krótkie wprowadzenie do protokołu SIP Demo - Hello SIP Servlet World Krótkie wprowadzenie do SIP Servlet API Demo - Przykładowe aplikacje Przydatne narzędzia i informacje Q&A

Dlaczego taki temat ? Trochę inne zastosowanie Java i pochodnych technologii Przełamać opory przed przyglądnięciem się „technologii telekomunikacyjnej” rozumiejąc jak się buduje aplikacje web, już wiecie jak budować aplikacje komunikacyjne Kariera na horyzoncie są duże projekty także w Polsce operatorzy dostawcy technologii i usług ciekawe konkursy

Protokół SIP Internetowy protokół do zarządzania sesjami komunikacyjnymi multi-media Protokół sygnalizacyjny przynajmniej w dużym stopniu Ma wiele wspólnego z HTTP i SMTP Współpracuje też z innymi znanymi: IP, TCP/UDP/SCTP, DNS, RTP, SDP, NAT, ... z HTTP: model client-server (request-response), stosowanie URI, statusy Z SMTP: protokół tekstowy, nagłówki Ale w odróżnieniu od HTTP, m.in.: jest asynchroniczny (zdarzeniowy) peer-to-peer (np. serwer może inicjować komunikację) wiele odpowiedzi do jednego żądania transakcyjność wbudowana maszyna stanów SIP nie jest protokołem transportowym nie zarządza przesyłaniem mediów Bardzo bogata rodzina specyfikacji (kilkaset) Główne specyfikacje: RFC3621 do 3265 Bardzo duże wsparcie operatorów, dostawców sprzętu i oprogramowania

Typowa komunikacja w SIP Registrar Server Redirect Server Registrar Server 3: INVITE Proxy Server 4: Contact B 1: REGISTER Proxy Server 5: INVITE 8: OK 2: REGISTER 9: OK 6: INVITE User Agent 7: OK 10: ACK User Agent 12: BYE Caller A 11: Media (RTP) Caller B lallala

Przykład komunikatu SIP (Request)

Przykład komunikatu SIP (Response)

SIP Request – wybrane metody REGISTER INVITE ACK OPTIONS BYE CANCEL INFO MESSAGE SUBSCRIBE NOTIFY PRACK UPDATE PUBLISH ....

SIP Request – wybrane nagłówki (headers) To From Contact CSeq Call-ID Via Expires Max-Forwards Content-Type Content-Length Record-Route ....

Typowa sesja komunikacyjna

Inny przykład sesji (B2BUA)

SIP Server przetwarza komunikaty SIP różne role proxy registrar redirect najbardziej elastyczny –> SIP application server programowalny kontener dla aplikacji SIP często udostępniający też inne modele (web, J2EE/JEE) integracja różnych „światów” są różne modele budowy aplikacji SIP (w tym non-Java) SIP Servlet API (JSR-116 i wkrótce JSR-289) SIP CGI JAIN SLEE JAIN SIP ... SIP app server wspiera programistę Programowanie na wyższym poziomie abstrakcji Zajmuje się złożonymi aspektami (transakcje, security, ...) Skalowalność, niezawodność, wysoka dostępność, ... Zarządzanie Możliwość integracji z innymi systemami/technologiami

Miejsce SIP Servlet Dialog Management Layer Transaction Layer Stos SIP (niskopoziomowa sygnalizacja) Message Parser (Coder/Decoder) Transport Layer TCP UDP TLS lallala

Miejsce SIP Servlet Obiekty Request Response Message ... Session API Timer API Deployment Listeners SIP Servlet Container Dialog Management Layer Transaction Layer Stos SIP Message Parser (Coder/Decoder) Transport Layer TCP UDP TLS lallala

Servlet API – Przypomnienie (?) Request / Response np. HTTP request / HTTP response Kontener jest hostem dla servlet’ów Mapowanie URI do servletów ServletConfig ServletContext Sesje bo HTTP jest bezstanowy

Demo – Hello World SIP

SIP Servlet API JSR-116 wkrótce uaktualnienie JSR-289, m.in. 2003 r. uściślenia – m.in. „współpraca” sesji HTTP i SIP kompozycja aplikacji adnotacje (podobnie jak w HTTP Servlet 2.5)

Model obiektów SIP Servlet

Klasa SIP Servlet

Klasy SipServletRequest i SipServletResponse

Klasa SipFactory

Sesje (2 rodzaje)

URI i adresy

Proxy

Timers

Mapowanie (w sip.xml) lallala

Kompozycja aplikacji SIP Request SIP Request SIP “Request Object” SIP Servlet App. 1 SIP Servlet App. 2 SIP Servlet App. 3 SIP “Request Object” SIP “Request Object” SIP “Request Object” SIP Request SIP Request Servlet Container lallala

Przydatne narzędzia IDE SIP app server (z kontenerem SIP Servlet) BEA WebLogic SIP Server IBM WebSphere 6.x takża ma prosty kontener SIP Servlet Glassfish – projekt SailFin – wciąż w fazie beta/alpha ... Wireshark Telefony Softphone: np.: X-lite, SJ Phone, ... „Hard”: np.: Grandstream SIP client (np. Nokia E61i) SIPp – przydatne do testowania, wysyła i przetwarza komunikaty SIP Opcje: media servers, gateways, ...

Demo Aplikacja SIP

Demo Aplikacja konwergentna „Click-to-make-a-conference”

Przydatne informacje SIP Servlet API http://dev2dev.bea.com/wlcp http://jcp.org/en/jsr/detail?id=116 http://jcp.org/en/jsr/detail?id=289 http://dev2dev.bea.com/wlcp http://www.tech-invite.com http://imsinkubator.pl

Podsumowanie Dlaczego taki temat ? Krótkie wprowadzenie do protokołu SIP Demo - Hello SIP Servlet World Krótkie wprowadzenie do SIP Servlet API Demo - Przykładowe aplikacje Przydatne narzędzia i informacje

Waldek Kot (prv) waldemar_kot@gazeta.pl waldemar.kot@bea.com Dzięki  ! Waldek Kot (prv) waldemar_kot@gazeta.pl waldemar.kot@bea.com