miércoles abr 18, 2007

Novedades de Java 5 (J2SE 5.0)

 

Aunque la versión 5 de Java (J2SE 5.0) está disponible desde el año 2004, todavía me encuentro muchas veces con la necesidad de explicar sus ventajas, y porqué en 2007 no tiene sentido usar una versión inferior en nuevos proyectos. Sólamente por rendimiento ya tiene sentido evolucionar de J2SE 1.4.2, aunque las ventajas son muchísimas más. He recopilado en un documento las novedades del lenguaje, la mejoras del entorno de ejecución, y algunas de las nuevas especificaciones JSR que incorpora. Estos son los enlaces:

Por cierto, está permitido copiar y pegar si fuera necesario en vuestros documentos internos, en material de formación o cualquier otro uso que le querais dar.

Java SE 6 ya está disponible así que intentaré actualizar el documento anterior lo antes posible.

[Read More]

jueves mar 29, 2007

Java SE (J2SE, JDK, JVM): Fechas, Versiones, EOL y Roadmap

La plataforma JAVA tradicional, el JDK o Standard Edition (SE), sigue un ritmo de evolución constante con la aparición de nuevas versiones aproximadamente cada dos años. La versión 6, ahora llamada Java SE 6, está disponible desde el 11 de Diciembre de 2006. Lo primero que llama la atención es el cambio de nomenclatura, que en muchos casos causa confusión. Hemos pasado del nombre tradicional de J2SE 1.4.x a J2SE 5.0 (también conocido como J2SE 1.5 o JDK 1.5), y a partir de la versión 6 a Java SE 6 (equivalente a J2SE 1.6, JDK1.6 o JDK 6). Soy testigo de que este cambio ha causado confusión en los clientes, así que esperemos que no haya más cambios en los próximos años. Se pueden consultar algunos detalles adicionales en la entrevista con Jean Elliot, Directora de Marketing de producto de Java SE.

Una pregunta que me encuentro frecuentemente es ¿que relación hay entre las versiones de Java SE y Java EE? La respuesta es que los  Servidores de Aplicaciones certificados J2EE 1.4 necesitan como mínimo J2SE 1.4, pero también pueden funcionar con J2SE 5.0. Igualmente los nuevos Servidores J2EE certificados Java EE 5, necesitan como mínimo J2SE 5.0, pero también pueden funcionar con Java SE 6. Por tanto suele ser una buena idea, en vez de migrar de un solo paso, hacerlo en dos. Primero migrar la plataforma J2SE, aprovecharse de las ventajas de las nuevas versiones y luego, sin cambiar de JDK, migrar la plataforma J2EE.

A nivel de plataforma SE (Standard Edition) la política de Sun es tener activas 3 versiones, y por tanto ahora mismo la versiones soportadas son J2SE 1.4.2, J2SE 5.0 y Java SE 6. La versión 1.3.1 completó el proceso de EOL cuando salió la versión 6, el 11 de Diciembre de 2006. Por tanto la versión  1.4.2 será la próxima en entrar en EOL y todos los proyectos en producción con esta versión deberían tener contemplada una actualización en 2007 o principios de 2008.

Pero, ¿cual es la recomendación para proyectos que empiezan ahora?

Evidentemente, todos los proyectos que comienzen ahora, como mínimo deben utilizar Java SE 5.0, no sólo por las muchas novedades y mejoras técnicas, sino simplemente porqué la versión 1.4.2 quedará fuera de soporte próximamente. Otro argumento adicional es que la última versión de J2SE 1.4.2 es de 2003, y desde entonces sólo han salido parches, ninguna innovación, y estamos en el 2007. Por tanto es una plataforma que no parece muy recomendable para los productos comerciales que han salido en 2005, 2006 y 2007 y que suelen estar probados y soportados como mínimo con J2SE 5.0. Quedarse sin soporte de productos de terceros por causa de la plataforma Java puede convertirse en un serio problema.

Algunos argumentos más técnicos sobre las ventajas de J2SE 5.0 se pueden encontar en:

Por otra parte, la versión Java SE 6 ya empieza a ser una opción a considerar seriamente. Según Java pasa a formar parte de la plataforma de aplicaciones de misión crítica, los departamentos de sistemas piden más y más herramientas y capacidades de administración y monitorización. La versión 5 ya introdujo importantes novedades como JMX y JConsole, pero la versión 6 las supera con nuevas herramientas como jstat, jmap, jhat, y jstack  que no necesitan arrancar Java en ningún modo especial. Adicionalmente se soportan plugins para JConsole y también integración con DTrace en caso de usar solaris 10. Se pueden ver detalles de estas nuevas capacidades en la entrevista con Vasanthan Dasan y en el blog de Mandy Chung. Otras novedades de Java SE 6 se pueden leer en el blog de Danny Coward.

Sun Java SE 7 va a ser la primera versión construida a partir del código de OpenJDK, el proyecto al que Sun ha contribuido su implementación de Java, y está prevista para 2008. Además de mejoras generales en rendimiento, estabilidad y calidad de cada nueva versión, también se espera soporte directo de XML en el código, mejoras en empaquetamiento de librerias y clases (superpackages) y muchas otras que ahora mismo están en la fase de discusión pública. Aun así, lo más importante de esta versión será que al tener licencia adicional GPL podrá formar parte del core de distribuciones libres de linux como Debian, Ubuntu o Fedora lo que contribuirá a una rápida popularización.

Más información:


[Read More]

martes feb 20, 2007

Java en PDAs con Windows Mobile

 

La movilización de las aplicaciones es bastante habitual últimamente. Incluso Google ha sacado sus aplicaciones JAVA ME para acceder a su servicio de correo (Gmail for mobile application) y a sus mapas (Google Maps Mobile), y existe un proyecto Open Source de sincronización con Google Calendar. El número de teléfonos móviles con JAVA se calcula en unos 1.500 millones (Noviembre de 2006) lo que hace que sea la plataforma de aplicaciones de movilidad con más volumen. Esto dato unido al anuncio del 13 de Noviembre de 2006 de licencias GPL para el software JAVA ME de Sun hacen que la plataforma y comunidades Java ME estén más activas que nunca. A modo de ejemplo Opera acaba de anunciar su navegador JavaME OperaMini.

El mercado de teléfonos móviles de alta gama (smartphones) es un subconjunto reducido (aproximadamente sólo un 6% del total) pero importante ya que la mayor parte de sus usuarios son empleados corporativos con necesidades crecientes de acceso al correo y a otras aplicaciones. Las plataformas smartphone incluyen a Symbian, Blackberry, Palm, Windows Mobile y Linux. En el caso de Symbian [PDF] el número total de telefonos es 110 millones, 50 millones durante 2006, siendo la plataforma con mayor cuota de mercado. Según Canalys el número de smartphones vendidos en 2006 fue de 64 millones (un 6,3% del total de teléfonos vendidos). Respecto a los sistemas operativos Canalys estima que Symbian tiene una cuota del 67% ( 63% in 2005) , Microsoft Windows Mobile está en segundo lugar con un 14%, RIM en tercer lugar con un 7%, Linux tiene 6% y ACCESS/PalmSource con Garnet OS un 5%.

Más curiosa resulta la distribución de plataformas por zonas geográficas:


Aunque en el mercado de consumo la plataforma de aplicaciones móviles parece clara, en el mercado de empresas o de usuarios corporativos es innegable que Windows Mobile es una plataforma habitual.

Pero claro si las aplicaciones de consumo se hacen en tecnología Java ME muchos usuarios demandan que estas aplicaciones también funcionen en Windows Mobile. También es habitual que los desarrolladores de aplicaciones corporativas para móviles prefieran usar una única tecnología JAVA para toda la arquitectura. Todo ello nos lleva a que existe gran demanda para correr aplicaciones JAVA sobre Windows Mobile. Hasta ahora las alternativas más populares eran J9 de IBM, CrEme de NSICOM, o la alternativa libre de Mysaifu pero una vez que tanto JAVA SE como JAVA ME son software libre (GPL v2) el proyecto phoneME aglutinará los esfuerzos conjuntos de diferentes comunidades de interés y permitirá implementaciones de CLDC, CDC y JavaSE para Windows Mobile.

Por tanto las alternativas de JAVA para Windows Mobile son:

En casos reales de despliegues a gran escala, yo conozco experiencias positivas en Andalucía con Mysaifu, y en Endesa con CreMe, que forma parte de su framework AME y donde también tienen homologado NetBeans como entorno de desarrollo.

Más información:

     


[Read More]
About

jaimecid

Search

Archives
« abril 2014
lunmarmiéjueviesábdom
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Hoy