viernes, 29 de febrero de 2008

Programación de sistemas en tiempo Real en Java

Yo personalmante no tenía ni idea de que hay un grupo de expertos trabajando en las especificaciones para que java sea un lenguaje que permita el desarrollo de aplicaciones en tiempo real.
De momento he encontrado una empresa Aonix qué está especializada en este tipo de desarrollos y quizá sea un buen sitio por donde empezar. Tienen incluso un producto PERC Pico con el que desarrollan productos comerciales.
¿Y que hace la comunidad Java? Pues hay un grupo en el Java Community Process el Real-time Specification for Java (RTSJ) que es el que marca las pautas.
Queda por investigar como está el mundo Opensource en este aspecto ¿Hay entornos de desarrollo específico?¿librerías GPL? etc.

jueves, 28 de febrero de 2008

Artículo: Ajax

Las aplicaciones web de hoy en día difieren de sus ancestros en que proporcionan un servicio instantáneo a los usuarios, los desarrolladores se han visto obligados a adoptar nuevos paradigmas de interactividad a medida que los usuarios demandan nuevas funcionalidades.

Espoleados por tecnologías poco conocidas y menos usadas que han ido incorporando a los navegadores a lo largo del tiempo, la WEB ha dado un gran paso a delante rompiendo en pedazos el modelo de uso tradicional que requería cargar nuevamente toda la página cuando se accedía a nuevos datos. Las empresas empezaron a experimentar con la recarga dinámica de fragmentos de las páginas web, transmitiendo solamente una pequeña cantidad de datos al cliente, lo que se traduce en un funcionamiento más rápido.

  • Autor: Oscar Mena Nava


Recursos y seminario completo en:

  • /cvspanel/formacion/Ajax

Artículo: SQL y PL\SQL

El artículo repasa las funcionalidades básicas de SQL y PL\SQL

  • Autor: Javier Barrocal Palmero


Recursos y seminario completo en:

  • /cvspanel/formacion/Plsql

Artículo: Novedades de java 5

El objetivo principal de este documento es mostrar una descripción de las principales novedades que ofrece la versión 5 de Java en cuanto a las características del lenguaje. También se exponen sucintamente las novedades referentes a la máquina virtual y a las liberías más utilizadas.

  • Autor: Pio Castro Cobo

Recursos y seminario completo en:

* /cvspanel/formacion/Java5

Artículo: Hypersonic

Este artículo explica los conceptos básicos sobre la base de datos Hypersonic, cuando es aconsejable usar este tipo de base de datos así como los ficheros que se crean al generarla.

También se explica como se usa hypersonic con JDBC y el manejo de la herramienta swing que trae hypersonic.

Hypersonic es un gestor de base de datos de ficheros escrito en Java. Este tipo de gestores de bases de datos suelen utilizarse para el manejo de tablas pequeñas y tienen la ventaja de que la base de datos se incluye dentro de la distribución del proyecto.

Este gestor se encuentra equipado con una interfaz gráfica a través de la cual se pueden visualizar los datos que contiene actualmente así como gestionar la base de datos.

  • Autora: Mireya del Teso Mancha

Recursos y seminario completo en:

/cvspanel/formacion/Hypersonic

Artículo: Junit 4

Este artículo explica las novedades que ofrece la nueva versión del framework para realizar pruebas unitarias con Java JUnit versión 4.x, sobre la versión 3.x. Repasa brévemente las funcionalidades y estructura de la versión 3.x para posteriormente repasara en mas detalle las nuevas funciones de JUnit 4.x con la incorporación de las anotaciones de Java 5 siguiendo unos ejemplos simples que prueban un EJB tipo calculadora y su integración en el IDE de desarrollo eclipse 3.2.x y ANT para la automatización de las pruebas, como aconseja las metodologías ágiles de automatizar toda la fase de integración y pruebas todo lo que se pueda. Por último se dan una serie de consejos de buenas prácticas para implementar buenas pruebas unitarias.

  • Autor: Diego Núñez Monasterio

Recursos y seminario completo en:
  • /cvspanel/formacion/TutorialEJB30

Artículo: Uso de metadatos para errores SQL

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

En los sistemas gestores 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 respecto a entidades de negocio inteligibles por un usuario.

  • Autor: David Valdés Rodríguez

Recursos y seminario completo en:
  • /cvspanel/formacion/ErroreSQL

lunes, 25 de febrero de 2008

Jazz, algo se mueve en serio en la Integración Continua

Parece que IBM ya anuncia a bombo y platillo su nueva plataforma jazz sobre Eclipse orientada al desarrollo de software para ambientes de desarrollo distribuido, aplicando su larga experiencia en el desarrollo de Eclipse, donde en los últimos 6 años ha demostrado que ha desarrollado con gran éxito un producto estable con ampliaciones de funcionalidad con un ritmo "predecible" (por eso aparecen conceptos musicales como el Jazz, el Eclipse rhythm) de muy alta calidad. Los grupos de trabajo están distribuidos por el mundo donde es un lujo disponer de grupos pequeños de desarrollo en "una misma habitación".
La duda que me queda es si habrá parte de la plataforma en modo licencia open source o habrá que soltar la pasta. No hay que perder la pista de que IBM anuncia, que sus productos de la familia Rational (por cierto muy caros) van a utilizar esta tecnología. Por lo que ponen en su web y por su trayectoria en el modelo de negocio en estos últimos años (por lo menos en el mundo Java), lo normal es que liberen la parte central (core) de la plataforma y se pongan ha poner sus productos de pago sobre esta. Dejando que otras empresas pongan los suyos.

Me encanta el jazz y su espíritu a la hora de componer y ejecutar la música, como no disfrutar de bandas míticas como Jazz Mesengers, Duke Ellington, Glen Miller y tantos otros. Si IBM pone ritmo de Jazz al desarrollo del software y su eslogan es "People, not organizations, builts great software", ¡yo me apunto! aunque solo sea para disfrutar del Jazz, mi entrada seguro que es la del gallinero.

Bibliografía