Un poco de jWebSocket

El otro día ya nos referimos a jWebSocket en el Blog: https://unpocodejava.wordpress.com/2012/04/24/websockets-en-navegadores-no-html5-jwebsocket/

Como decíamos jWebSocket es una solución de comunicación bidireccional Java+Javascript basada en WebSockets.

Además de ser una implementación de los WebSockets en Java sus características lo hacen muy interesante para cierto tipos de soluciones, veamos algunas de estas características:

· Despliegue: ofrece un conjunto de JARs y de JSs que permiten incluirlo en cualquier aplicación HTML+JS+JEE. También ofrece un modelo para usarlo como extensión de Tomcat.

· Listeners: Los listeners son el mecanimos para procesar mensajes de los clientes WebSockets además de eventos como la conexión o desconexión. Los listeners son propios de cada aplicación (a diferencia de los plugins que sirven para encapsular funcionalidad).

Veamos un ejemplo:

1. Primero desarrollaré mi listener

2. Lo registraré en el Server:

3. Lo registro en el cliente con Javascript:

4. Y finalmente lo uso desde Javascript:

· Plugins: los plugins están pensados para crear extensiones.

o JWebSocket ya ofrece una serie de plugins pero permite crear otros y añadirlos a la cadena de plugins.

o Los plugins se encapsulan como JARs y permiten encapsular funcionalidad.

Veamos como crear un plugin que implementa la funcionalidad de solicitad la hora del Servidor (requestServerTime)

1. Creo el plugin Servidor:

2. Lo registro en el Servidor:

3. Creo la parte cliente del Plugin (también podría hacerlo como un Listener):

4. Uso el plugin:

· RPC: permite desde un cliente web Javascript llamar funciones Java en el Server y recibir el resultado. También permite que el Servidor llame funciones del cliente.

o Permite intercambiar objetos JSON, XML y CSV (este apropiado para objetos tipo clave1=valor1;clave2=valor2;….)

o Soporta Single-Threaded y Multi-Threaded RPCs: en el modelo Single las llamadas hechas desde un cliente se responden en el mismo orden en el que se invocaron.

o llamar funciones remotas

· Channels: permite que las aplicaciones abran diferentes canales lógicos independientes.

o Los canales pueden ser:

§ Públicos: todos los clientes pueden suscribirse a este tipo de canal

§ Privados: para comunicaciones entre 2 o más clientes. Se protegen con un par Access key/secret key. Para suscribirse es necesario saben el id del canal y el Access key.

§ De Sistema: usados por el servidor.

o Existen una serie de métodos para suscribirse, borrase una suscripción, autorizarse,… (subscribe, unsubscribe, getChannels, getSuscriptions, authorize, createChannel,…)

· Tokens: es lo que intercambian los clientes y servidores. Es un objeto que contiene uno o varios conjuntos de clave-valor (en Java es un HashMap).

o Se soportan formatos de Token JSON, CSV y XML.

o A través de los plugins ya implementados existen una serie de Token ya implementados:

§ Tokens S2C (Server To Client): welcome (se envía del cliente al servidor la primera vez que se conecta), goodbye, respondse, event

§ Tokens C2S (Client to Server): login, logout, close, send, echo, broadcast, ping, getClients

· Events: es un plugin que permite ejecutar código en servidor en base a un evento producido

o Integración con Spring: este plugin está integrado con Spring a nivel de IoC, Seguridad (a través de Spring Security) y Validaciones

Se configura:

· Soporte multinavegador: en la tabla se muestran en verde los navegadores que lo soportan a través de HTML5 WebSockets, el resto lo soportan a través del Bridge Flash:

Espero que este repaso os haya servido para aclarar en qué escenarios es interesante el uso de WebSockets…en un próximo artículo hablaremos de Atmosphere y repasaremos otros escenarios en los que aplica su uso.

GapList: Implementación eficiente de List

GapList es una implementación muy eficiente del List.

Está implementado para ofrecer acceso eficiente por índice y eficiencia a la hora de añadir y eliminar elementos.

A continuación algunos gráficos comparándola con el ArrayList y el LinkedList:

Recuperando elementos:

Añadiendo elementos:

Añadiendo aleatoriamente:

Forma parte del Brownies-collection y podéis descargarla aquí.

Chrome OS integra Google Drive en su navegador de archivos

Google ha actualizado las builds de desarrollo de Chrome OS integrando Google Drive en el navegador de archivos del sistema.

A partir de ahora, las carpetas de las que se disponga en Chrome OS serán las de Google Drive. Poco a poco la carpeta en la nube de Google se va integrando en todos los servicios de la compañía, cosa que muestra el potencial real que puede tener una carpeta común a todos esos servicios.

La actualización de Chrome OS, que sube la versión del sistema a la 20.0.1116.0 en el canal de desarrolladores, es compatible con los Chromebooks Acer AC700, el Samsung Series 5 y el Cr-48. Además de esta integración con Google Drive también incluye otras novedades menores como mejoras en la seguridad y la estabilidad del sistema.

Para saber más: http://www.theverge.com/2012/4/28/2982746/google-drive-chrome-os-development-channel-builds

Data Hierarchy plugin for Eclipse

¿Cómo se prepara una Demo?

Publicado en Humor. Leave a Comment »

AnyEdit Tools Eclipse Plugin

Windows 8 – publica en la Windows Store y consigue un Nokia Lumia 800 de regalo.

win8.jpg

Windows 8 – publica en la Windows Store y consigue un Nokia Lumia 800 de regalo

Si has instalado la Consumer Preview de Windows 8 habrás visto que la Windows Store ya está disponible para instalar tus aplicaciones Metro, aunque para poder publicar tu propia aplicación, de forma provisional, es necesario disponer de una invitación.

Ahora puedes conseguir un token para publicar tu app Metro en la Windows Store y además llevarte un Nokia Lumia 800 de regalo.

Desde Microsoft hemos organizado los Windows 8 App Excellence Labs , unos laboratorios gratuitos en el que uno de nuestros Ingenieros revisará los aspectos clave de tu app Metro de Windows para ayudarte a que cumpla con los criterios de calidad y sea una de las primeras en estar en la Windows Store.

En el post incluimos todos los detalles de cuáles son los pasos a seguir, pero no dudes en contactar con nosotros a través del email sopw8para cualquier pregunta que tengas.

Si no lo has hecho todavía, te invitamos a alguna de las ediciones de nuestro Windows 8 Tour . Si no pasamos por tu ciudad podrás ver el evento grabado en Channel 9 próximamente. En estos vídeos explicaremos aspectos clave de Windows 8 como cuáles son las bases de la plataforma, cómo podéis crear aplicaciones conectadas con el cloud y las opciones para que podáis rentabilizar vuestros esfuerzos.

Windows 8 App Excellence Lab

¿Quieres que tu aplicación sea de las primeras en la Windows Store de Windows 8? Aprovéchate de este laboratorio gratuito en el que un ingeniero de Microsoft revisará tu aplicación para verificar que cumple los requisitos de calidad para publicar en la Windows Store.

Si pasas la certificación podrás publicar en la Windows Store y si eres de los 32 primeros en superarla, te llevarás un Lumia 800 directamente ¡sin sorteos! .

Más información

open.aspx?ffcb10-fea015787466047d76-fe5a10727c610c787510-fec4157370600275-fec21c767365017e-fe2c177377610474711776-ffcb10[Category
Noticias]

A %d blogueros les gusta esto: