LiveCycle Data Services ES2 nos permite comunicar a los usuarios a las fuentes de datos y así proporcionarles datos en tiempo real. Aprenderemos a desarrollar aplicaciones que permitan la comunicación entre dos o mas usuarios desde sus computadoras, sin la necesidad del uso de cualquier otra herramienta, es decir, podrán comunicarse desde nuestra aplicación.

1.- Empezaremos descargando e instalando LiveCycle Data Services ES2. Adobe nos provee de una licencia para su uso, sin la necesidad de limitarnos solo a la versión de prueba de 30 días.


2.- Después de haber terminado la instalación de LCDS, crearemos la carpeta de nuestro proyecto, dentro de la siguiente ruta: “C:\lcds\tomcat\webapps”. En este caso, llamaremos a nuestra carpeta LCDS_Chat.

3.- Dentro de webapps encontraremos una carpeta llamada lcds, copearemos su contenido dentro de LCDS_Chat. En WEB-INF encontraremos la carpeta llamada Flex, la cual contiene el archivo llamado messaging-config, el cual procederemos a editar.
4.- Al abrirlo, encontraremos el nombre del servicio, los adaptadores con que se conectara nuestro proyecto, y un canal por default. Por lo cual, comenzaremos por comentar el segundo adaptador definido.

Ademas debajo de nuestro canal (channel), agregaremos un destino (destination) a nuestro servicio, el cual creara esa conexión con nuestra aplicación.

5.- Creamos nuestro proyecto en Flash Builder Burrito al cual llamaremos LCDS_Chat. En Server Settings -> Application Server Type seleccionaremos J2EE.

En Server Location seleccionaremos nuestra carpeta LCDS_Chat, en la siguiente ruta: “C:\lcds\tomcat\webapps\LCDS_Chat“. Para que esto sea correcto, necesitamos iniciar nuestro servidor.

6.- Iniciamos nuestro servidor abriendo el archivo startup, que se encuentra en la ruta: “C:\lcds\tomcat\bin”, y dentro de Flash Builder, damos clic en finalizar.

7.- Ya en nuestra aplicación, crearemos dos estados “Outside” e “Inside“, para cuando el usuario vaya a iniciar sesión, y cuando el usuario haya cerrado sesión.
En la vista de diseño, arrastraremos un Panel, una Label, un TextInput y un Button, de modo que tengamos algo asi:

En Inside, arrastraremos otro Panel, el cual contendrá a su vez un TextArea. Dentro de la controlBar del panel tendremos un TextInput y dos botones.

El código de ambos paneles debe ser el siguiente:

8.- Dentro de nuestro Tag Declarations añadiremos un TraceTarget, un Producer y un Consumer.
El primero nos permitirá ver en la consola, todos los datos que envía y recibe nuestra aplicación.
Producer es la función que llevara a cabo el usuario que envié el mensaje, mientras que el Consumer se encargara de recibirlo.

9.- Crearemos un bloque de Script. Primero importaremos las librerías que utilizaremos, ademas de que crearemos una variable String llamada user, la cual contendrá el nombre del usuario.

10.- Crearemos nuestras funciones, la primera sera la que creara la conexión con el servidor.

La siguiente función, cerrara esa conexión.

Cuando se cree la conexión y cuando se cierre, la aplicación cambiara de estado. La siguiente función se encargara de enviar los mensajes.

La ultima función sera la que se encargue de visualizar los mensajes dentro del TextArea.

Para probar nuestra aplicación basta ejecutarla y abrirla en un segundo explorador, iniciar sesión con nombres de usuario diferentes y comenzar a enviar mensajes.