Archivo de la categoría Java

Cambio de horario en Venezuela (Mi Experiencia)

El pasado 09 de Diciembre 2007 nos toco retroceder 30 minutos nuestro reloj. A partir de ese cambio se desprenden distintas implicaciones, entre ellas lo que a mi trabajo se refiere: Los sistemas de computación. Antes de continuar les comento que este será un artículo con algunos detalles y especificaciones técnicas.

Como ya explicaba Robert en La Cara Oscura. Distintas empresas ofrecieron soluciones de diferentes maneras, IBM, SUN y Microsoft dieron a conocer sus soluciones en distintos momentos pero todos aseguraban esta listos. Hasta aquí no hay nada nuevo. Sin embargo, dos días después de la implantación completa de las correcciones nos dimos cuenta que cuando tienes tres empresas trabajando separadas en la solución de un mismo problema, es probable que sus soluciones no se entenderán entre ellas.

Si tienes Windows y sistemas desarrollados en Java este es un punto que te debe interesar. Lo primero que debes hacer es entender la solución de cada empresa. Para Microsoft, la solución fue separar la Zona Horaria conocida anteriormente como “Caracas/La Paz” por una Zona Horaria independiente para Venezuela nombrada “Caracas (-4:30) y definida en el registro de Windows como “Venezuela Standard Time”. En resumen, Caracas y La Paz ya no andan juntas (triste realidad).

Para SUN e IBM, y sus respectivas maquinas virtuales, el cambio se limito a actualizar la base de datos de Zonas Horarias. En el artículo de Robert, hay mas detalles de esta implementación. El problema viene luego de actualizar la maquina virtual de Java y el sistema operativo Windows.

Luego de analizar el comportamiento de la aplicación al imprimir la fecha del sistema notamos que algo andaba mal. Contactamos a Robert y empezamos a trabajar en alguna solución. Microsoft, SUN e IBM no se estaban entendiendo. El servidor de aplicaciones Websphere y la JVM imprimian horas en formatos distintos al esperado por los clientes. Robert verifico los datos y noto que estaban correctos el problema era al presentarlos, un tema de “formato”. Luego verificamos la Zona Horaria por defecto, allí encontramos la primera pista, en lugar de ser “America/Caracas” el valor por defecto era “GMT” para version 1.5 o inferior y “America/Rio_Branco” para la 1.6 con el Fix de Robert. Al mirar mas a fondo notamos que la solución de Microsoft omitió el valor MapID que tienen (o tenían) las Zonas Horarias incluidas en el registro de Windows. Este valor es clave para Java ya que sirve de enlace entre las Zonas Horarias de Windows y las de la maquina virtual.

¿Que significa esto? Básicamente que tus aplicaciones Java tendrán una Zona Horaria distinta a Caracas como valor por defecto. La razón es que con los parches se “rompio” el enlace entre ambas bases de datos de zonas horarias. La forma mas fácil de solucionarlo es usar el parametro de la maquina virtual e indicarle la zona horaria, algo como java -duser.timezone=America/Caracas pero esto tendríamos que hacerlo para cada aplicación afectada.

¿Como solucionar este enlace roto para todas las aplicaciones que usan la JVM?, cambiando el archivo tzmappings para “enlazar” ambas bases de datos. El problema es que el registro de Windows, al no contar con un ID “oficial”, nos obliga a seleccionar uno “nuestro” que permita reordenar ese lio. Es así como llegamos al valor 90/90. Por ser superior al ultimo valor del archivo de tzmappings en la versión 1.5 y no interferir con ningún valor de la versión 1.6 de la maquina virtual. Con el cambio, el archivo ahora contiene una entrada así:

Venezuela Standard Time:90,90::America/Caracas:

Esto le dice a la maquina virtual que enlace el “Venezuela Standard Time” con el America/Caracas. como ven se indica el MapID=90/90. esto quiere decir que en maquinas previas a la versión 1.6 debe existir un MapID en el registro igual a 90/90. Si estas utilizando la maquina virtual 1.5 y no puedes cambiar a la versión más reciente, la solución es modificar el registro de Windows.
Por suerte, la versión 1.6 de la JVM de SUN parece estar “preparada” para la omisión del MapID de Windows y reconoce la zona horaria buscándola por el nombre. Así que si para aquellos que trabajen con la versión 1.6 no hará falta la modificación de registro de Windows.

Luego de estos cambios las aplicaciones comenzaron a entender que seguían en la zona horaria de caracas. Es así como con un par de cambios, esta noche podremos dormir en casa, en Caracas y en paz (que no en La Paz).

Ahora en la cara oscura

Aunque en los ultimos dos meses me he estado dedicando más al trabajo administrativo que la creación de aplicaciones, lo que me ha mantenido alejado de este y otros blogs trato de no perder el interes por seguir apoyan y contribuyendo a que cada vez se creen más y mejores aplicaciones en Venezuela.

Justo cuando en mi mente estaban rondando estos pensamientos sobre lo poco que estoy participando en SoloJava e incluso lo olvidado que ha quedado el blog del grupo los amigos Anibal y Edgar de la cara oscura me han invitado a unirme a su grupo escribir sobre el otro lado de la programacion, el que no se ve, el que genera las preguntas a los que estan iniciandose, etc. Sobra decriles que acepte la propuesta y con gusto participaré en tan interesante iniciativa.

Lo que si voy a dejar claro aqui y probablemente en mi primer articulo en la cara oscura es que aun no indago en Ruby ni tengo idea de que hace falta para usar Rails lo que me puede colocar en una linea un tanto diferente a los ultimos temas de mis nuevos compañeros de blog. Por ese lado le podremos sacar buen partido, puedo ser el abogado de Java (sin que Java sea el diablo) en medio de los nuevos fans de Ruby o puedo contarles lo facil que es transformarse en un RubyFan en 21 días. Veremos, o mejor dicho nos leeremos en los proximos articulos.

Kiko: Calendario OnLine con AJAX

Con el uso de AJAX los creadores de aplicaciones Web estan logrando mejorar muchicismo la tan criticada experiencia de usuario al trabajar desde un navegador. Para muchos el simple hecho de ver como la pagina debe ser recargada completamente es motivo suficiente para descartar el uso de una aplicación web.

Kiko

Un ejemplo sencillo de lo que les comento, y a mi parecer esta bien logrado, es Kiko un calendario OnLine gratuito que funciona en FireFox y en Internet explorer casi sin diferencias y que ilustra las bondades de AJAX para el usuario final. Para quienes han utilizado otros calendarios en internet las ventajas seran evidantes.

Fotos del JavaNetwork 2005

Gracias a un comentario de Helder Marques encontré las fotos del evento de Sun el pasado mes de Mayo Java Network 2005.

Los 10 años de Java

El día de ayer estuve en el evento de Sun titulado Java Network, los detalles estan en el blog del grupo SoloJava y no tiene mucho sentido escribirlo dos veces.
Despues de todo estoy contento, el salón estaba repleto y en total eran mucho mas de 100 personas. Si quieren una copia de la presentación pueden descargarla aquí.

Frutos del Trabajo

Hoy llegaron buenas noticias, me confirmaron mi participación en el evento que Sun Microsystems está organizando en Venezuela con motivo del décimo aniversario de Java. El evento que ha denominado “Java Network” se realizará en el Hotel Radisson Plaza Eurobuilding este próximo Martes 24 de Mayo.

Para quienes aun no lo saben, desde hace varios años estoy trabajando en la coordinación de un grupo de usuarios Java en español y que por alguna razón recibio el nombre de SoloJava. Para serles sincero, ya no me gusta mucho ese nombre pero hoy es casi una marca. Con mas de 300 miembros es uno de los grupos más numerosos en el registro de Yahoo en español y siempre ha tenido muy buena actividad.

Varias cosas buenas han llegado gracias a este grupo, he tenido la oportunidad de aprender, de conocer a muy buenos profesionales y buenos amigos. Puedo decir que hemos ayudado a personas de varias partes en el continente y que estamos aportando algo al crear “el gran cerebro del grupo”, es decir, al permitir que varios programadores pon un momento en su día se dediquen a pensar en el problema de otro aunque sea durante pocos segundos. No todos tienen respuesta, pero con seguridad todos reciben tiempo de procesamiento mental sin costo. A cambio el ejercicio mental no hace a todos mejores profesionales. Para mi ese es el mayor fruto de este trabajo, poder compartir. Y eso es lo que espero que el resto de los miembros del grupo entiendan.


Esta oportunidad de presentación será un buen reto, de alguna forma me toca dar la cara por todos los integrantes de la comunidad SoloJava, continuar el trabajo de promoción y de agradecer a los que nos acompañan desde hace tanto tiempo.
Me siento contento de haber sido invitado a participar en este evento, es grato cuando el poder de la comunidad hace voltear la mirada a la gran maquinaria económica que muchas veces se olvida donde esta el motor que la hace funcionar. Es el momento para hacer rugir el motor del grupo.

Si alguno de Uds. puede asistir, me gustaría saludarlos al final de la charla. La cita es a las 3:00 p.m.

SoloJava y Veneblogs lomejorde.com

vota veneblogs.com como directorio web

Amigos, ¡a votar en lo mejorde.com!. Ese es la invitación que les hago hoy. La idea de estos premios es reconocer el trabajo de los venezolanos en Internet, y lo vienen haciendo desde hace varios años. Este año han inaugurado un especio para los blogs y han inlcuido SoloJava Noticias y al directorio de blogs de Venezuela, entre otros, en la lista de nominados. SoloJava Noticias es un trabajo que hacemos en conjunto: Aníbal, Egg, Luis, Nelo, Robert, Vemeko y este servidor. Sobre decir que quiero que apoyen este trabajo con su voto aun y cuando entiendo que competimos contra grandes figuras del mundo de las Bitácoras venezolanas.

Veneblogs, por su parte es un voto obligado para nosotros. Se trata del pilar sobre el que se apoyan todos los miembros de la comunidad de escritrores de mi país. Aun si tienen dudas, voten por Veneblogs. Y si les hacen falta razones para votar no dejen de leer el articulo de Topochoblog, (verde, nunca maduro pero pasable), donde entenderan no solo su realidad, sino la de todos los miembros de VeneBlogs. Para aquellos que deseen saber como votar, SuperDharma tiene la solucion. Como ven no hay razones para dejar de particupar y apoyar estos trabajos. Contamos con Uds. y con su voto.