Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

 Czyli jak stworzyć czat między serwerami Autor: Michał Krzempek.

Podobne prezentacje


Prezentacja na temat: " Czyli jak stworzyć czat między serwerami Autor: Michał Krzempek."— Zapis prezentacji:

1  Czyli jak stworzyć czat między serwerami Autor: Michał Krzempek

2 Aktualizacje:  JSR-338 – JPA 2.1  JSR-339 – JAX-RS 2.0  JSR-340 – Java Servlet 3.1  JSR-341 – EL 3.0  JSR-342 – Java EE 7  JSR-343 – JMS 2.0  JSR-344 – JSF 2.2  JSR-345 – EJB 3.2  JSR-346 – CDI 1.1 Nowości: JJSR-352 – Batch Applications for the Java Platform JJSR-353 – Java API for JSON Processing JJSR-356 – Java API for WebSocket 2015-03-26www.mkrzempek.pl2

3 2015-03-26www.mkrzempek.pl3 Standard protokołu: IETF RFC 6455 - grudzień 2011 Standard W3C dla API przeglądarek – wrzesień 2011 Otwarcie połączenia TCP przez negocjacje protokołu nad protokołem HTTP Możliwa transmisja szyfrowana TLS (WSS) Transmisja pełna dwukierunkowa (Full-Duplex) Trzy typy ramek: sterujące, tekstowe (UTF-8), binarne Interfejs JavaScript: WebSocket Otwarcie połączenia przez konstruktor Uchwyty na zdarzenia (onopen, onclose, onerror, onmessage) Wysyłanie tekstu (String) lub danych binarnych (Blob, ArrayBuffer)

4 2015-03-26www.mkrzempek.pl4 Standard formatu: IETF RFC 4627 – lipiec 2006 Tekstowy Lekki Łatwy w interpretacji { "id": 1, "title": "Test", "authors": [ "Jan Kowalski", "Adam Nowak" ], "details": { "year": 2000 } }

5 2015-03-26www.mkrzempek.pl5 Server Endpoint Client Endpoint Client Endpoint Connection Session Message

6 2015-03-26www.mkrzempek.pl6 Server Endpoint Client Endpoint 1 Client Endpoint 1 Client Endpoint 2 Client Endpoint 2 Query Car

7  Kodowanie: o javax.websocket.Encoder.Text o javax.websocket.Encoder.TextStream o javax.websocket.Encoder.Binary o javax.websocket.Encoder.BinaryStream  Dekodowanie: o javax.websocket.Decoder.Text o javax.websocket.Decoder.TextStream o javax.websocket.Decoder.Binary o javax.websocket.Decoder.BinaryStream 2015-03-26www.mkrzempek.pl7

8  Implementacja klasy javax.websocket.Endpoint o Metody do przeciążenia: onOpen, onClose, onError o Obsługa wiadomości przychodzących poprzez rejestrację obiektu klasy javax.websocket.MessageHandler w obiekcie sesji klasy javax.websocket.Session  Adnotacje: o @javax.websocket.server.ServerEndpoint o @javax.websocket.server.PathParam o @javax.websocket.ClientEndpoint o @javax.websocket.OnOpen o @javax.websocket.OnClose o @javax.websocket.OnError o @javax.websocket.OnMessage 2015-03-26www.mkrzempek.pl8

9  Dostęp do kontenera: o javax.websocket.ContainerProvider o javax.websocket.WebSocketContainer  Modyfikacja konfiguracji: o javax.websocket.server.ServerEndpointConfig.Configurator o javax.websocket.ClientEndpointConfig.Configurator  Handshake przy otwieraniu połączenia: o javax.websocket.server.HandshakeRequest o javax.websocket.HandshakeResponse  Ping/pong: o javax.websocket.PongMessage 2015-03-26www.mkrzempek.pl9

10  @ServerEndpoint o CDI - @ApplicationScoped o EJB - @Singleton, @Stateless, @Statefull  Wstrzykiwanie zależności  Bezpieczne połączenie (TLS) oraz uprawnienia ról konfigurowane w deskryptorze web.xml  Dostęp do nagłówków żądania i odpowiedzi oraz do obiektu sesji javax.servlet.http.HttpSession podczas inicjalizacji połączenia (handshake) 2015-03-26www.mkrzempek.pl10

11 2015-03-26www.mkrzempek.pl11


Pobierz ppt " Czyli jak stworzyć czat między serwerami Autor: Michał Krzempek."

Podobne prezentacje


Reklamy Google