miércoles, 9 de julio de 2014

AngularJs y los micro frameworks

La versión de cohesión 1.407 ahora genera código para la interfaz de AngularJs que se comunica con un servicio web. Este servicio puede estar escrito en Spark, el micro framework de aplicaciones web para Java o Slim, el micro framework de aplicaciones web para PHP.
Los resultados son interesantes porque la aplicación web sólo se comunica con el servidor para obtener datos para ser presentados o para actualizar datos. La presentación en sí se genere con plantillas en el mismo navegador web, produciéndose así una aplicación web más dinámica, más chispeante o más delgada.

miércoles, 13 de febrero de 2013

Regenerando cohesión

La versión actual de cohesión fue generada hace ya algún tiempo con Cohesión. Luego sus fuentes han sido modificados para incluir numerosos cambios.

Actualmente, estamos regenerando nuevamente cohesión con cohesión. Para ello se están revisando vistas, acciones y el modelo de representación, que son los elementos para los cuales Cohesión nos da soporte.

El objetivo es, una vez regenerados todos los elementos manejados por cohesión, pasar de Struts (1), que ya no se desarrolla más, a otra plataforma MVC por seleccionar.

lunes, 11 de febrero de 2013

Vistas en HTML5

Cohesión ahora genera vistas en HTML5.
Esto incluye el uso de etiquetas de contenido (section, header, footer, etc.) y campos de formulario (número, correo, url y color).

Cambios disponibles en Cohesión V1.30211.

domingo, 10 de febrero de 2013

Herencia de actores

Ahora los actores pueden heredar las acciones permitidas a otro actor. La herencia es transitiva y la interfaz no permite crear herencia circular.
Para implementarlo, cada usuario actúa al mismo tiempo según lo establecido para cada uno de los actores que representa. Por otra parte, las acciones están restringidas para los actores que explícitamente se listan al definirlas.

La herencia de actores está disponible desde la versión 1.30210 de Cohesión.

martes, 5 de febrero de 2013

Clases de servicio

Ahora cohesión maneja clases de servicio (patrón DAO) asociadas a las entidades. Disponible a partir de  Cohesión 1.30120. Las clases de servicio sólo se generan cuando no están vacías.

Lista de cambios:
  • Los datos de los proyectos, relacionados con la generación de código, aparecen cerrados pero pueden abrirse fácilmente. Una indicación visual muestra cómo abrir o cerrar el área de generación de código.
  • Los diagramas de casos de uso ahora muestran el nombre del formulario asociado a una salida.
  • Aparecen en las entidades campos para crear la clase de servicio asociada.

domingo, 20 de enero de 2013

Actualización de la presentación de listas y tablas

La versión 1.30120 de cohesión es una versión de transición. Se actualizó la presentación de tablas y listas. Además, incluye el correo electrónico entre los datos de los usuarios.

viernes, 15 de junio de 2012

Generación de recursos PDF, XLS, ZIP, etc. desde Struts

Cuando se le pide a cohesión que genere la aplicación, se produce un archivo comprimido con las carpetas web y src de una aplicación web. Sin embargo hasta ahora, el nombre del archivo era algo como generar.do. El tipo MIME estaba correcto y el recurso se abría con la aplicación correspondiente, pero el nombre del archivo me fastidiaba un poco.

Finalmente encontré una solución sencilla que consiste en agregar un servlet para generar la salida.
En el encabezado del servlet se agrega la anotación correspondiente.

    @WebServlet(name = "ServletGenerarApp", urlPatterns = {"*.zip"})

Con ello las solicitudes de archivos .zip se redirigen hacia ese servlet. Al ejecutarse las acciones del servlet se especifica el tipo de contenido, en este caso archivo con compresión zip.

    response.setContentType("application/zip");

Por otra parte, la acción que genera el recurso, luego de realizar las verificaciones redirige su salida hacia el URL de este servlet.

    String url = nombre + ".zip";
    response.sendRedirect(url);
    return null;

Listo, ahora el archivo comprimido tiene el nombre adecuado.