Java en Tiempo Real

cronometroLa ejecución en tiempo real generalmente se asocia a velocidad, pero es tan sólo una parte de toda la situación. En su concepto principal, la ejecución en tiempo real es todo acerca de predecibilidad: el saber que un sistema siempre va a ejecutarse dentro de un marco de tiempo requerido. Estos tiempos objetivo o metas no necesitan ser muy chicas en el tiempo (aunque generalmente lo son), y las consecuencias de no cumplir estas metas pueden no ser desastrosas (aunque a veces así resultan).

La clave para comprender si una aplicación es de tiempo real tiene que ver con sus requerimientos, y si los mismos incluyen restricciones temporales.

Leer más...

Programación multihilos con Javascript

multihilosJavascript no maneja hilos (o threads). Es una realidad. El browser dedica un único hilo de ejecución a cada página, y no es posible crear hilos en una ejecución de Javascript.

Con cada vez páginas más dinámicas, que necesitan realizar pedidos al servidor de manera asincrónica, la cosa se complica. Es necesario crear callbacks continuamente para no paralizar la ejecución del único hilo que tenemos para la página.

Sin embargo, existe una alternativa: la librería Concurrent.Thread para Javascript permite realizar programación multihilos en este entorno. En realidad, simula la creación y ejecución de hilos, pero para el desarrollador es lo mismo. Y en consecuencia, simplifica muchísimo la creación de aplicaciones Javascript.

Leer más...

Estrategias de sincronización en JSE 6

icono de candadoUno de los objetivos principales de Java Standard Edition 6 (Mustang) era mejorar la performance y escalabilidad de las aplicaciones. Esto se logró mayormente mediante optimizaciones en la performance en tiempo de ejecución, un mejor gargabe collector, y varias mejoras en los tiempos de inicio de la máquina virtual.

Las optimizaciones de performance del entorno de ejecución incluyen nuevas estrategias para los monitores de bloques sincronizados. Estas técnicas para mejorar la peformance implementan el lockeo con preferencia, lockeo amplio y la espera adaptativa.

Leer más...

Java es finalmente 100% software libre

logo de java

Esta semana, luego de muchos meses de trabajo, el proyecto OpenJDK es una implementación de JSE 6, 100% software libre. Repasemos la historia de este evento importantísimo para la comunidad Java.

En Mayo de 2006, Sun Microsystems anunció que liberarían Java como sofware libre, bajo los términos de la licencia GPL. Era un esfuerzo que comprometía nada menos que 6.5 millones de líneas de código.

Durante el JavaOne de Mayo de 2007, Sun informó que la tarea estaba casi lista, lanzándo entonces el proyecto OpenJDK. Sin embargo, en aquel entonces, OpenJDK aún necesitaba de una pequeña porción de código que no era libre (alrededor del 5% del código era cerrado, no libre, y no era propiedad de Sun).

Leer más...

Liferay Portal 5.0 disponible

Sumando el reciente apoyo de Sun al proyecto, Liferay anunció la disponiblidad de la versión 5.0 de su portal. Esta nueva versión soporta la nueva especificación JSR-286 (Portlet 2.0), que incluye varias mejoras para la creación y comunicación entre portlets.

Liferay Portal es un portal open source que utiliza las últimas tecnologías Java para crear una solución colaborativa pensada particularmente para el ambiente corporativo.

Hay una demo online de Liferay Portal 5.0 disponible para que puedan ver la herramienta en funcionamiento.

Leer más...

Muy pronto se viene Eclipse Ganymede

logo de EclipseEl 25 de junio saldrá Eclipse Ganymede, la nueva distribución del IDE Eclipse.

Ganymede es el agrupanmiento anual de proyectos para Eclipse, incluidos en una única distribución que aseguran compatiblidad entre ellos y facilitan la instalación. Esta versión incluye 23 proyectos, entre los que se encuentra BIRT, RAP (Rich AJAX Platform), y Web Tools Project.

En la página de información sobre Ganymede pueden encontrar el listado completo de proyectos incluidos, y algunas demos de uso.

Java EE 6: las novedades de EJB 3.1

logo de JavaActualmente está en proceso de definición las nuevas características que traerá Java Enterprise Edition 6. La versión anterior (Java EE 5) incorporó a EJB 3.0, que fue un enorme cambio para esta tecnología. EJB 3.0 buscó simplificar enormemente la utilización de estos componentes, haciéndolos más accesibles y simples, y a su vez brindando un servicio de inyección de dependencia.

Java EE 6 presentará a EJB 3.1, el cual sigue mejorando a pasos agigantados, y ahora presenta un set de funciones y característcias nuevas sumamenete interesante. Entre las novedades están la posiblidad de crear EJBs a partir de POJOs sin interfaz, simplificación en el empaquetado de los componentes, mejor integración con JSF y los WebBeans, y una nueva forma de realizar invocaciones asincrónicas sumamente interesante.

A continuación un resumen de lo que se viene próximamente.

Leer más...

JBoss Portlet Container 2.0

jboss logoEl equipo de JBoss anunció hoy la disponibilidad de JBoss Portlet Container 2.0 GA.  Esta nueva versión es compatible con la especificación Portlet 2.0 (JSR286) que salió oficialmente el día de ayer.

JBoss Portlet Container 2.0 provee un portal liviano basado en tags JSP, y viene ya con algunos portlets de demostración. El objetivo de contar con un portal liviano es brindarle a los desarrolladores una forma simple de mostrar y testear sus portlets. Debería además funcionar sin problemas con otras librerias de tags JSP y frameworks de templates.

JBoss Portal 2.7, próximo a salir, tendrá ya incorporado este nuevo JBoss Portlet Container. Para más información pueden leer el blog de desarroladores de Portal de JBoss.

Curso de JBoss JBPM

La gente de Selenca y Red Hat están organizando una charla introductoria al Curso de JBoss JBPM.

La charla es gratuita, y será en las oficinas de Red Hat (Alicia Moreau de Justo 740). Para asistir es necesario inscribirse a la charla introductoria por un tema de espacio.

El curso que presentarán en dicha charla es el JB449 JBoss jBPM, el cual dura 3 días de 8hs (de teoría y práctica), y está orientado a desarrollar procesos de negocio utilizando JBoss JBPM. El costo del mismo es de USD675.

Compass 2.0 disponible para bajar

compass logo Compass 2.0, ya está disponible para bajar! Compass es un framework que facilita la integración del motor de búsqueda Lucene en proyectos Java.

Esta nueva versión de Compass trae varios arreglos y mejoras en performance, entre los que se destacan la compatibilidad con Lucene 2.3. Recordamos, Lucene 2.3 fue un avance importante en peformance para el motor de indexación, el cual mejoró notablemente su desempeño (que ya de por si es impresionante).

Leer más...

PHP en el próximo NetBeans

icono netbeansLa versión en desarrollo de NetBeans incluye soporte para PHP, la cual se suma al soporte para Javascript, Ruby y C++. Este nuevo soporte incluye auto-completado de código, templates, documentaciónn de PHP integrada, debug y varias utilidades más. Todavía no hay fecha para el release oficial de esta versión, aunque se puede bajar del repositorio de código del proyecto.

 

 

 

Más artículos...

  1. Algoritmos genéticos en Java

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw