Barista: Eduardo Moranchel Brewing Web Sockets Barista: Eduardo Moranchel
Java EE 7 Web Sockets vendrán incluidos en Java EE 7! EE 7 incluye Nuevo: WebSocket, JSON processing, Batch Appplications, Concurrency Utils. Grandes mejoras en: Expression Language 3.0 (lambda) JAX-RS2.0 (REST clients), JMS 2.0 (más sencillo) Y mejoras en los API’s existentes. JSF 2.2 (HTML5), Servlet 3.1, JSP 2.2, CDI 1.1, EJB 3.2, ETC.
WebSockets. Parte de la iniciativa de HTML 5 Permiten comunicación bidireccional de baja latencia Canal de comunicación abierto entre clientes y servidores. API de JavaScript para navegadores modernos. API en servidores (Java EE 7)
¿Por que WebSockets? Extender HTTP para soportar conexiones bidireccionales! Dar una solución al server push Dar una solución al streaming (bidireccional) Reemplazar AJAX y Comet?
WebSockets y Ajax WebSockets NO es un reemplazo de AJAX o Comet Es un complemento. WebSocket soluciona problemas que antes se solucionaban con simulaciones (long polling, response streaming) y amplia en capacidades de comunicación.
Como funcionan? Cliente pide conectarse a una URL usando el protocolo ws o wss usando encabezados y tramas de HTTP ws://localhost:80/websocket Servidor responde con un código 101 de respuesta. PERO deja la conexión abierta esperando y mandando mensajes en cualquier momento. Si pasa mucho tiempo de inactividad se mandan mensajes de ping y pong.
Show me code! Para hacer un buen WebSocket en... JavaScript: Var websocket = new WebSocket(URI); websocket.onmessage = function(event){};
Show me more code WebSocket Servers en Java EE 7. import javax.websocket.OnMessage; import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/webSocketURL") public class SampleWebSocket { @OnMessage public String onMessage(String message) { return message; }
Lets brew some websockets Vamos a desarrollar un chat. Ingredientes: GlassFish 4, NetBeans, HTML, JavaScript, Java. Instrucciones: Instalar y ejecutar glassfish 4 y NetBeans-dev. Crear vista en HTML 5 Crear Servidor Java EE 7 con WebSockets. PROFIT
More. Usar Encoders y Decoders para manejar mas información en mensajes. Usar CDI y CDI Events. Tutoriales para WebSockets disponibles en un futuro (cercano) en Oracle Learning Library: http://apex.oracle.com/pls/apex/f?p=44785:1 Lanzamiento Java EE 7: ~Junio2013 aprox.
Mas Información: WebSockets: http://www.websocket.org/ WebSocket JSR http://www.jcp.org/en/jsr/detail?id=356 WebSocket API http://dev.w3.org/html5/websockets/ WebSocket Protocol http://datatracker.ietf.org/doc/rfc6455/?include_text=1