Generando código a partir de UML con Eclipse
Feb 25, 10 by Juan Lebrijo about UML, blog, Eclipse, Java
Eclipse tiene un proyecto llamado EMF (Eclipse Modeling Framework) muy majo para dibujar diagramas UML2. Pero mi objetivo en este artículo es dibujar un diagramas de clases UML2 y generar el esqueleto de clases correspondiente. En la arquitectura de la aplicación se recomienda tener tus modelos de dominio separados de servicio, lógica de negocio etc. EMF te permite crear tu diagrama de clases y luego generarte el código correspondiente. Podemos instalarnos los plugins de EMF en nuestra inatalación de Eclipse, o descargarnos directamente la versión de Eclipse preparada para el modelado. Os recomiendo la segunda por ser más límpia, al menos para probar. Os dejo el proyecto producto final de este artículo: Eclipse UML2 to code project. Y ahora !! que empiece el espectaculo¡¡: Crea un nuevo proyecto: File > New > Project... > Empty EMF Proyect Dentro del directorio model nos creamos nuestro diagrama: New > Other... > Ecore Tools > Ecore Diagram. Nos dibujamos nuestro modelo utilizando la paleta, y la vista de properties:
clases.jpg 29.9 KB
Es muy intuitivo dibujar el diagrama. En la vista properties de la asociación introducimos la cardinalidad y marcamos "Is Containment" para hacer que sea de composición. Ahora tenemos que crear un fichero de transición tipo .genmodel. Seleccionamos el fichero .ecore del diagrama que queremos generar el código, y con el botón derecho New > Other... > Eclipse Modeling Framework > EMF Generator Model. Dentro del fichero .genmodel podemos generar código de la siguiente manera:
generar.jpg 9.87 KB
y .... !!! MAGIA ¡¡¡ tenemos tres paquetes:
generated.thumbnail.jpg 3.13 KB
Si pinchas la imagen anterior verás como se ha quedado el directorio src/ del proyecto:
  • classdiagram: Tiene el modelo a base de interfaces como mandan los cánones del desacoplamiento.
  • classdiagram.impl: Implementación del modelo y de la Factoria para generar las clases.
  • classdiagram.util: Implementación de la AdapterFactory.
Además del modelo con la implementación genera código para inyectar dependencias a través de factorias. Viene además con los comentarios de JavaDoc bien puestos para que los redactes. Todos los getters/setters de los atributos definidos en el diagrama de clases. Todos los métodos anotados con @generated, si no quieres que se reescriba en futuras regeneraciones de código le quitas la anotación. Para profundizar en este tema, y en el de modelado UML2 con Eclipse, y para otros muchos temas de Eclipse/Java os recomiendo la página de Vogella (es un crack el tío).
Streaming de video en Apache
Feb 15, 10 by Juan Lebrijo about Streaming, blog, Flash, Web
En este artículo muestro como me he montado un servidor de streaming tipo youtube con mi Apache. En realidad es una de las posibilidades de hacer pseudostreaming que existen . La idea era insertar un video en la página de un cliente, y mostrar mi video curriculum en mi servidor. Hay que instalar el paquete de desarrollo de Apache en nuestro Debian para compilar el módulo de streamming:
apt-get install apache-dev apache2-threaded-dev
Descargamos el módulo de streaming de flv, y lo compilamos con las herramientas anteriores:
apxs2 -i -a -c mod_flvx.c
Ahora tenemos que decir a Apache que cargue el módulo al arrancar, y que a todo fichero con extensión flv le genere un stream de video. Para ello creamos el fichero de carga flvx.load con el siguiente contenido:
LoadModule flvx_module /usr/lib/apache2/modules/mod_flvx.so
Y el fichero flvx.conf con el siguiente:
AddHandler flv-stream .flv
Para que se carguen al inicio los copiaremos en los directorios:
  • /etc/apache2/mods-available/
  • /etc/apache2/mods-enabled/
Para visualizar los vídeos necesitamos un visor swf que se descargue automáticamente el client, y gestione la transmisión del video. Nosotros hemos elegido el visor flash Flowplayer, ya que es suficientemente robusto y tiene una versión libre (GPL). Para utilizarlo en tu página debes añadir el JavaSpript descargado en el head del html:

 



 flowplayer("player", "../flowplayer-3.1.4.swf");
 
Video Streaming with Apache
Feb 15, 10 by Juan Lebrijo about Streaming, blog, Flash, Web
In this post I will show you how I have mounted a streaming video server like youtube with my Apache server. Nwadays is one choice to do pseudostreaming that we know . The idea was inserting a video in a customer page, and show my video cv at my web curriculum. Install the development package for Apache to compile the streaming module:
apt-get install apache-dev apache2-threaded-dev
Download theFLV streaming module, and compile it:
apxs2 -i -a -c mod_flvx.c
Now Apache must to load the module when boot, and make a stream forevery flv file.Create flvx.load flie:
LoadModule flvx_module /usr/lib/apache2/modules/mod_flvx.so
And flvx.conf with:
AddHandler flv-stream .flv
To load it when apache boots, copy them into:
  • /etc/apache2/mods-available/
  • /etc/apache2/mods-enabled/
To see the videos the client mus download in the begining a flash video player wich manage the video transmision. We choose flash Flowplayer, so it seems good and have a GPL version (GPL). You must add the Javascript library at the header of your page, and locate in your page:

 



 flowplayer("player", "../flowplayer-3.1.4.swf");