miércoles, 22 de diciembre de 2010

Tutorial de GMF

El desarrollo guiado por modelos, o Model Driven Development, o MDD, es una forma de desarrollar software basada en la idea de que podemos obtener el código fuente directamente a partir de la definición de modelos, sin necesidad de codificar (o reduciendo lo más posible esta fase). En otras palabras, lo que pretendemos es centrarnos en la definición a alto nivel de la solución, y obtener su implementación concreta por medio de sistemas automáticos.

Un concepto inexorablemente relacionado es el de lenguaje especifico del dominio (DSL, Domain Specific Language). Es difícil explicar qué es un DSL siguiendo la norma de que lo definido no puede ser utilizado en la definición, dado que en este caso el término tiene un nivel de autodescripción más que suficiente. Pero bueno, podríamos decir que un DSL sería una especificación o técnica de representación pensada para un contexto o problema concreto.

En cualquier caso, para profundizar en estas ideas y ver en qué se traducen a nivel práctico, adjunto a este post ofrezco un tutorial en el que se muestra un ejemplo de uso de la herramienta GMF (Graphical Modeling Framework). Este plugin permite crear editores gráficos para Eclipse y, en conjunción con Mofscript, generar código a partir de lo modelado con ellas.

Aquí el tutorial, en el que estreno además mi nueva identidad corporativa.

Identidad corporativa

Una manzana mordida.



Una taza de café humeante.



Un caballo encabritado.



Una bandera de cuatro colores.



¿¿Te dicen algo??








¿¿Y ahora??

Seguro que has tardado poco en identificar cada uno de estos objetos con la marca a la que representan, claro.

Esto se debe a que todas las grandes empresas, y buena parte de las pequeñas, tienen bien definida su identidad corporativa. Básicamente la identidad corporativa es el conjunto de imágenes, tipos de letras, colores, etc., que una empresa utiliza y la hace reconocible frente a cualquier otra.

El elemento central suele ser el logotipo, pero no se reduce unicamente a eso. Un manual de identidad corporativa incluye también los tipos de letra, tamaños, colores, distribución de información, y todo lo que se te pueda ocurrir, que se debe utilizar para cualquier comunicación que provenga de la empresa.

¿Y todo esto para qué? Pues para obtener reconocimiento. Lo que consigue la empresa es que se le identifique rápidamente; que cuando veas un deportivo rojo pasar a 200 por hora y atisbes un caballo en su frontal digas: pedazo de ferrari. O que cuando estés trabajando con un programa y veas una tacita de café sepas: basado en tecnología Java. O, por qué no, que cuando veas una pantalla de ordenador con fondo azul y letras blancas pienses: estos de Windows...

Porque lograr una identidad corporativa es lo que tiene. Que te puede reportar beneficios o pérdidas, pero eso ya depende de lo bien que hagas las cosas. El primer paso está dado, y es que todo el que vea tu producto sepa que es tuyo.

El único beneficio que se obtiene de la identidad corporativa en sí misma tiene que ver lógicamente con la imagen. Orden, coherencia, pulcritud, son algunos de los mensajes que se envían. Y es por eso que he decidido implantar poco a poco mi propio manual de identidad, en este caso personal.

El primer paso lo doy en el campo que considero más importante y sobre el que tengo mayor control, que es la documentación que genero, principalmente tutoriales. Así que he creado una plantilla y he definido unas líneas a seguir que espero le den un toque personal (y profesional) a mis documentos.

Si el tiempo lo permite, y supero mis limitaciones en lo que se refiere al diseño, puede que los próximos pasos sean el logo y el formato del propio blog.

sábado, 18 de diciembre de 2010

Opera: give it a try!

En un mundo en el que Internet se ha impuesto, la guerra de los navegadores Web por la hegemonía del mercado ha adquirido un enorme interés. Internet Explorer y Firefox siguen siendo los dos grandes destacados, pero a la cola vienen otros tres siguiendo su estela (en cuanto a cifras de uso, que no en cuanto a innovación y propuestas).

Esto de los navegadores es, como decía aquél, una cuestión de feeling. Resulta difícil ofrecer datos objetivos que indiquen que un navegador es mejor que otro, porque acaban ofreciendo básicamente lo mismo. Cada vez que uno saca una funcionalidad interesante, los otros la copian e incluso mejoran. Donde quizá sí pueda haber más diferencias es en la ligereza de cada uno, y es precisamente por eso que digo que, para mí, todo se reduce a una cuestión de feeling: al final me quedo con el que me da una mejor y más regular respuesta a mis necesidades.

De ahí que sea usuario, por este orden, de Google Chrome, Internet Explorer y Firefox. Desde que apareció el navegador de Google, se ha convertido en mi preferido; principalmente porque se abre más rápido, no me da problemas al visualizar ninguna de las páginas en las que me suelo mover, y tiene todas las funciones que utilizo. Explorer lo uso en segundo lugar, porque siguen quedando sitios, y sobre todo aplicaciones, que lo tienen como requisito. Y a Firefox recurro muy de vez en cuando, si me levanto con ganas de cambiar un poco.

Pero, ¿y qué hay del resto? Pues por ahí quedan Safari y Opera. El primero parece tener la estigma de ser un navegador para MAC, aunque tenga versión para PC. Y con el segundo llegamos a Opera.

Cosas de la vida, ayer se apoderó de mí la curiosidad, y me dio por descargármelo. Tenemos reciente la versión 11, y era una buena excusa para darle un oportunidad. La primera impresión ha sido buena: tiene un diseño atractivo y personalizable, ofrece marcadores, búsqueda en la barra de direcciones, pestañas... vamos, como todos. Pero también tiene algunos detalles que no he encontrado en Chrome.

Por un lado, permite la agrupación de pestañas. Es algo que personalmente no veo muy útil, pero ahí está por si acaso. Por otro, tiene una papelera de reciclaje en la que guarda las páginas que se van cerrando durante la sesión. Esto sí que me parece interesante, por si algo se cierra por accidente, o para volver atrás cuando se está buscando información (me parece mucho más cómodo que el historial). Y por último, tiene una página de acceso rápido de verdad. Para mí esta fue una de las aportaciones más interesantes de Chrome (fue el primer navegador donde lo vi, no sé si fue el primero que lo propuso), pero estaba muy limitada. Sólo mostraba las 8 página más visitadas. Sin embargo Opera permite definir cuántas y qué página quieres mostrar, y hasta poner una imagen de fondo para presentarla.


Así que en las próximas semanas le voy a dar cancha a Opera, y a ver qué sensaciones me llevo. No sé si desbancará a Chrome en mi ranking particular, pero tras la primer impresión todo apunta a que tiene garantizada la tercera posición.

jueves, 16 de diciembre de 2010

Tutorial de Pentaho: definición de un proceso ETL con Spoon

Hace ya varios meses publiqué una pequeña introducción teórica al concepto de Business Intelligence. Al final de esa entrada adelantaba mi intención de publicar algunos tutoriales en los que se mostrase cómo trabajar con herramientas de BI. Y hoy, por fin, ha llegado el primero.

Durante este tiempo he trabajado especialmente con algunas de las herramientas de la suite Pentaho, ya que las he necesitado para mi trabajo final de Máster. De esta forma he podido ver que pueden ser interesantes para algunas de las tareas que realizo habitualmente.

Un ejemplo claro son las cargas de datos. La integración de aplicaciones es algo que consume mucho más tiempo y recursos de lo que puede parecer. Por ejemplo, seguro que la mayoría de informáticos ha participado alguna vez en un proyecto en el que se tenía que hacer una migración de datos entre sistemas.

En este tutorial se desarrolla un pequeño ejemplo en el que se puede ver cómo trabajar con Spoon para obtener información de ficheros de texto, realizar un procesamiento sencillo, y después almacenarla en una base de datos. A partir de ahí, las posibilidades son enormes.

En este enlace podéis descargar el tutorial.

domingo, 12 de diciembre de 2010

¿Dónde están mis mensajes de error?

En estos días, trabajando en el que espero que sea mi segundo tutorial publicado en JavaHispano, he pasado de utilizar la versión 11.1.1.2 de jDeveloper, a la 11.1.1.3. En principio todo fue muy bien; de hecho, no se aprecian cambias sustanciales al trabajar con las tecnologías que estaba utilizando. Sin embargo, he tenido unos días de complicaciones por un mensaje de error desaparecido. ¿Quién me lo iba a decir?

Resulta que tenía una aplicación casi completamente desarrollada, que mostraba un popup cada vez que se producía un error. Por ejemplo, si al ejecutar una consulta sobre la base de datos obtenía una excepción ORA-XXXXX, ésta iba recorriendo las distintas capas hasta aparecer delante del usuario.

Sin embargo, al empezar a trabajar con la versión 11.1.1.3 del IDE, los mensajes de error dejaron de mostrarse. Seguían recogiéndose como siempre en el log de jDeveloper, pero nada más. No había forma de presentarlos al usuario.

Al final, preguntando en el foro de Oracle, se confirmaron las sospechas de que era un cambio de comportamiento de la nueva versión. Por el momento no conozco ninguna forma para conseguir que los mensajes lleguen a la interfaz, así que la única opción si los queremos es volver atrás, y esperar.