jueves, 3 de mayo de 2007

Uso de metadatos para errores SQL

Introducción

De forma genérica los metadatos son datos sobre los datos.

En los sistemas gestiores de base de datos, los metadatos almacenan la estructura de las tablas, los campos, las restricciones, etc.... Suelen ser vistas o tablas especiales de diccionario.

También podemos considerar metadatos como las descripciones que podemos dar de tablas o campos para que puedan ser entendibles por un usuario final.

Así, podemos darle dos utilidades inmediatas al concepto de metadatos:
  1. Dar una información más detallada de lo ocurrido ante una excepción de SQL. En lugar de un mensaje de error del tipo : "Se ha violado la restricción PK_OP" podemos llegar a generar un mensaje más claro, del tipo "Se ha violado la clave primaria PK_OP, de la tabla OPERACIONES. Los campos de la clave son: ID_OPERACION, ID_ANYO" De esta forma un desarrollador puede encontrar mucho más rápido la causa de un error, sobre todo en modelos complejos.
  2. Dar información orientada al usuario final. Ante el mismo error, podríamos llegar a generar algo del estilo: "Se ha producido un error por insertar una operación que ya existía"
La primera opción estaría orientada a logs internos de la aplicación, y la segunda a mensajes informativos al usuario.

Los metadatos del tipo 1 necesarios nos los proporciona el Sistema Gestor de Base de Datos.
Los de tipo 2 tendríamos que mantenerlos nosotros, como una extensión del diccionario de base de datos con repecto a entidades de negocio inteligibles por un usuario.

Hasta aquí la introducción. Ahora pasemos a ver un posible uso de los metadatos de tipo 1

jueves, 15 de marzo de 2007

Próximos Artículos Tecnológicos

A continuación se muestra la lista de los artículos que se van a redactar en este año:
  • Uso de metadatos para la gestión de errores SQL con java. Autor: David Valdés. Impartido ya.
  • Etiquetado en EJB 3.0. Autor: David Valdés
  • Plugins de BBDD para eclipse 3.2. Autor: David Valdés
  • Hipersonic. Autora: Mireya del Teso(12/11/2007)
  • Izpack. Autora: Mireya del Teso
  • Ajax. Autor: Oscar Mena
  • json. Autor: Oscar Mena
  • XSLT. Autor: Oscar Mena
  • Spring. Autor: Isaac Remiro
  • JSF. Autor: Isaac Remiro . Impartido (05/11/2007)
  • JMS y MBeans con EJB 3.0. Autor: Diego Núñez
  • jakarta-commons BeanUtils. Autor: Diego Núñez
  • JUnit4. Autor: Diego Núñez. Impartido ya(mayo/2007).
  • CSS Level 2. Autor: Isaac Remiro
  • Jakarta-commons configuration. Autora: Mireya del Teso
  • iBatis. Autor: Jose Luis Domínguez. Impartido (30/10/2007).
  • SQL Avanzado: Javier Berrocal
  • Novedades de Java 5: Pio Castro. Impartido(22/10/2007)
  • Batik: Ivan Georgiev. Impartido (04/12/2007)

viernes, 9 de marzo de 2007

MDA

MDA (Model Driven Architecture) pretende ser un standar para abstraer completamente, je, je.. el diseño de componentes Orientado a Objetos de la implementación, de tal forma que el analísta diseña mediante herramientas de modelado y luego se decide la tecnología de forma transaparente en el que se va a implementar, por ejemplo, Spring, EJB, .NET, Hibernate, Struts o otras soluciones. En teoría, este estándar permitíría que se implementen herramientas que de forma automática generen el código, compile y despliegue las aplicaciones diseñadas bajo este estandar.
De momento he encontrado androMDA como herramienta opensource.