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]

lunes abr 09, 2007

Cursos gratuitos de Java, JavaEE 5 y Web Services

El departamento de formación de Sun ofrece como promoción varios cursos Web gratuitos para los miembros de SDN (Sun Developers Network). Simplemente hay que registrarse si todavía no lo estuvieras previamente. Los enlaces a los cursos son:

 


Yo he probado a entrar e incluso permiten la opción de descarga, por si quieres acceder a los contenidos (html y flash) sin conexión a internet.

 

 

 

[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]

viernes ene 26, 2007

Plugin de Eclipse para GlassFish


 

 NetBeans Application Server support

 


Eclipse Application Server support 

 






NetBeans 5.5 es el entorno de desarrollo mejor integrado con GlassFish, pero el soporte de Eclipse es también muy importante para la comunidad GlassFish, especialmente cuando el número de miembros externos a Sun está aumentando considerablemente, incluyendo personas de BEA, JBOSS, ORACLE, APACHE,  además de un número importante de desarrolladores individuales que por ahora trabajan con Eclipse

En Enero acaba de salir la versión 0.4 del plugin de Eclipse que permite trabajar con GlassFish v2 y Eclipse 3.2 WTP 1.5.

El plugin de Eclipse se puede descargar desde aquí, y funciona en Windows, Linux y MacOS.

A la inversa también funciona, es decir cada vez más usuarios de BEA Weblogic, IBM Websphere o JBOSS AS desarrollan con NetBeans, y por tanto existen los plugins para desarrollar contra estos servidores de aplicaciones.

 

 

viernes ene 19, 2007

BEA Weblogic Server 10 incluye GlassFish (JEE 5)

 

 

El estándar Java EE 5 (JEE 5) está siendo adoptado rápidamente por los proveedores de Servidores de Aplicaciones. El primero en anunciar una versión certificada fue Sun en la Java One de Mayo de 2006 con Sun JAVA System Application Server 9 PE. En Septiembre, SAP anunció recientemente la certificación de SAP NetWeaver Application Server Java EE 5 Edition. BEA Weblogic Server 10 parece ser el próximo.
El compromiso de BEA con JAVA EE 5 (JEE5) es fuerte. En la BEA eWorld de Beijing, celebrada el 13 y 14 de Diciembre de 2006 ya se pudieron ver versiones preliminares de BEA Weblogic Server 10 que será el primer producto de BEA con certificación JAVA EE 5.
ORACLE ya tiene implementaciones de EJB 3.0 y JSF 1.2, aunque todavía no está certificado, y JBOSS publicó la beta de JBOSS 5.0 en Noviembre de 2006, teniendo disponible desde Octubre de 2006 EJB 3.0 en JBOSS 4.0.5. El único que por ahora no parece tener un roadmap claro es IBM WebSphere.

Pero volviendo al servidor de BEA, la technical preview ya está disponible (Weblogic Server 10 TP), así que nada mejor que instalarlo para ver que lleva dentro. ¡Pero si aquí está GlassFish!, o al menos parte del proyecto.

En el .../server/lib/wseeclient.zip aparecen:

  • glassfish.jaxb_2.0.2.jar
  • glassfish.stax.ex_1.0.0.jar
  • glassfish.xmlstreambuffer_0.1.117.jar

y en el directorio Bea/modules aparecen:

  • glassfish.el_2.1.0.jar
  • glassfish.jaxb_2.0.2.jar
  • glassfish.jaxws.resolver_2.0.1.jar
  • glassfish.jaxws.rt_2.0.1.jar
  • glassfish.jaxws.saaj.impl_2.0.1.jar
  • glassfish.jaxws.sjsxp_2.0.1.jar
  • glassfish.jaxws.tools_2.0.1.jar
  • glassfish.stax.ex_1.0.0.jar
  • glassfish.xmlstreambuffer_0.1.117.jar


Interesante. Muy interesante. Rebuscando un poco más encuentro que en el fichero weblogic.jar existen clases de terceros. De los 29926 archivos que contiene, 1630 son archivos de Sun. Parecen estar relacionados con XML Schema y Web Services, y provienen del JWSDP (com.sun.java.xml.ns.\*)

La licencia CDDL permite estas cosas, mezclar código Open Source con código propietario pero manteniendo la integridad de los ficheros Open Source. Es decir que si BEA los mejora, el código sigue teniendo licencia CDDL, y por tanto puede volver a los repositorios de origen.

En resumen, BEA incluye código de GlassFish en Weblogic Server 10, y está contribuyendo a aumentar la calidad del código del Servidor de Aplicaciones de Sun, ya que los ingenieros de BEA están probando código del proyecto GlassFish, que es la base de la siguiente versión del Servidor de Aplicaciones de Sun (9.1 EE). Un ejemplo más de coopetencia y de por donde está evolucionando la industria del software.

La comunidad GlassFish incluye a más de 1200 personas, algunas de ellas de BEA, ORACLE o JBOSS. El núcleo de desarrolladores está formado por 140 personas, una gran mayoría de las cuales trabaja para Sun. El número de líneas de código ha superado los 5 millones.

Más información:

 

jueves ene 11, 2007

Java en el Apple iphone

 
 
El anuncio del iPhone por parte de Apple ha levantado grandes expectativas para la comunidad de usuarios finales y consumidores, y grandes dudas para los usuarios más geeks y los desarrolladores. Estos usuarios lo que realmente quieren es extenderlo y personalizarlo con su propio software, y por ahora parece que Apple no va a facilitar las cosas.

En concreto la comunidad JAVA se hace una pregunta, ¿Correra el iPhone JAVA?

Parece claro que esta decisión sólo depende de Apple, ya que el dispositivo funcionará con OSX, y en principio estará cerrado a desarrollos de terceros. El anuncio de Sun de licenciar Java (JavaSE, JavaME, y JavaEE) como Software Libre va a facilitar mucho las cosas en caso de que necesiten contar con colaboración de la comunidad para esta tarea.

Además a día de hoy la gran mayoría de los teléfonos móviles incluyen la posibilidad de correr juegos y aplicaciones en JavaME, y en gama alta todos. Incluso Microsoft no se ha podido resistir y tiene un servicio de Windows Live Search para J2ME, y todos sabemos que la disponibilidad de aplicaciones es clave para el triunfo de una plataforma. Apple quiere arañar un 1% de un mercado previsto de 1.000 millones de teléfonos para 2008, es decir vender 10 millones de teléfonos, que parecen pocos para tener volumen y crear un mercado de aplicaciones y juegos.

Pero en general ¿Que pasará con el mercado de JAVA en dispositivos móviles?

En los dispositivos de gama alta la tendencia parece ser tener los mismos sistemas operativos que en los ordenadores portátiles: Linux (Maemo) en los Nokia 770 y N800, Windows XP en los UMPC como los Samsung Q1, Asus R2H o Sony Vaio UX. En estos dispositivos será posible funcionar con Java SE. Al final es la solución preferida por los desarrolladores empresariales ya que pueden usar la misma plataforma de aplicaciones en todos los sitios, incluyendo servidores, ordenadores de sobremesa, portátiles y dispositivos móviles, e independizarse del sistema operativo, sea Windows, Linux, MacOSX o Solaris.

En el caso de los teléfonos todavía es pronto para tener sistemas operativos completos, pero todo se andará. El iPhone de Apple probablemente correrá con una versión reducida de Mac OSX, al estilo del Windows de los dispositivos Windows Mobile. Lo que esta claro es que la tendencia es tener navegadores completos para lograr la misma experiencia de navegación, y esta experiencia incluye los plugins de ADOBE y JAVA.

Quizás este mismo año podamos ver funcionando JAVA sobre el Apple iPhone.

Por cierto, en una hábil estrategia, NOKIA acaba de anunciar que 500 desarrolladores de la comunidad maemo.org podrán comprar el nuevo NOKIA N800 por 99 euros. Una forma fácil y barata de potenciar la portabilidad de aplicaciones a esta plataforma Linux de unos 200 gramos de peso, y 800x480 de resolución. Recordemos que el iPhone vendrá con 320x480. Son productos diferentes, pero los usuarios en 2007 vamos a tener un montón de opciones para elegir las que más se ajusten a nuestros gustos y necesidades.

Más información:

martes nov 07, 2006

Presentacion de GlassFish: Java EE 5 Open Source

glassfish logo javaee    Pero, ¿Que es GlassFish?

  • GlassFish es la implementación de referencia (RI) de Java EE 5
  • GlassFish es un proyecto Open Source modular que permite incluir sus librerías como parte de otros frameworks, toolkits y productos
  • GlassFish es la base de código de las distribuciones estables, certificadas y con opción de contratar soporte y mantenimiento del Servidor de Aplicaciones de Sun: Sun Java System Application Server 9.x
  • GlassFish es una comunidad que contribuye mediante código, detección de bugs, foros de dicusión, feedback, documentación, wikis, blogs y otros medios a la difusión y éxito del proyecto. La comunidad GlassFish colabora en la compatibilidad de otros frameworks JAVA Open Source.

El proyecto GlassFish comenzó su andadura en Junio de 2005, durante la Java ONE, cuando Sun anunció el proyecto. La base de código principal es donación de Sun y Oracle, especialmente sus productos Sun Java System Application Server 8.1, y  Oracle Toplink.

En la Java ONE de 2006, en Mayo, se anunció la distribución estable de GlassFish V1, es decir Sun Java System Application Server 9.0 PE y la versión final de Java EE 5 SDK.

La siguiente presentación tiene todos los detalles, incluyendo la historia, novedades de Java EE 5, detalles específicos de implementación, la comunidad y el ecosistema,  y las novedades de la versión GlassFish v2.

GlassFish: Java EE 5 Open Source [PDF]

GlassFish: Java EE 5 Open Source [ODP]

GlassFish v1 UR1, basada en la build 14 de GlassFish v1, es la última versión estable de GlassFish v1 con bugs corregidos. La distribución estable de esta versión es Sun Java System Application Server Update1, que forma parte de JAVA EE SDK update 1

GlassFish v2 es la siguiente gran versión de GlassFish, e incluye tecnología donada por Sun de la versión 8.1 EE de su servidor de aplicaciones, especialmente la técnología de Balanceo de Carga, Escalabilidad, y Alta Disponibilidad. GlassFish v2 también incorpora importantes novedades en las pilas de Web Services: JAX-WS 2.1 y WSIT.  GlassFish v2 constituirá la base de código de Sun Java System Application Server 9.1 Enterprise Edition.

El 8 de Noviembre de 2006, Sun y Canonical anuncian que GlassFish vendrá incluido en Ubuntu

 

 

sábado sep 30, 2006

SAP adelanta a ORACLE en la certificacion JAVA EE 5

El 29 de Septiembre de 2006, SAP anuncia SAP NetWeaver Application Server Java EE 5 Edition y se adelanta a  ORACLE  en tener un Servidor de Aplicaciones Certificado JAVA EE 5.
La jugada es interesante, hace unos días Larry Ellison presumía que su plataforma de Aplicaciones está basada en JAVA y que por tanto son mucho más estándares que su rival SAP, lo que le está permitiendo recuperar cuota de mercado. Aunque es cierto que la plataforma de ORACLE depende de JAVA en mayor medida que SAP, el compromiso de SAP con JAVA EE 5 es también muy fuerte.

Por tanto, con el de SAP ya hay tres servidores certificados JAVA EE 5:

Implementaciones compatibles Java EE 5 (30 de Septiembre de 2006)
SAP logoSun logoTmaxSoft logo
SAP NetWeaver Application ServerJava EE 5 EditionSun Java System Application ServerPlatform Edition 9TmaxSoft
JEUS 6


La lista actualizada se puede consultar aquí (en caso de que estés leyendo este artículo algunos meses después su publicación)

Algunas conclusiones que yo saco de estas noticias son:
  • Las plataformas Java SE, y Java EE se convierten en pieza clave del software de aplicaciones empresariales (ERP, CRM, SCM, ECM, etc), tanto en el caso de ORACLE como en el de SAP, por tanto JAVA se consolida definitivamente en los CPDs de las grandes empresas a nivel mundial.
  • Compañías más pequeñas de software empresarial ya tienen los argumentos que necesitaban para pasarse a tecnología JAVA.
  • Las compañías de nicho o verticales que estén basadas en JAVA, se convierten en objetivo potencial de compra por parte de ORACLE y SAP, ya que la integración pasa a ser rápida y sencilla.
  • En la gran mayoría de las implantaciones (Solaris, Windows y Linux), la plataforma JAVA SE y por tanto la máquina virtual Java es la de Sun, y aunque el modo de licenciamiento permite que este software pueda ser usado por ORACLE y SAP como base de sus plataformas, en el ciclo de vida de soporte de las aplicaciones Sun se convierte en pieza clave.
  • Ha llegado el momento de migrar de J2SE 1.4 y J2EE 1.4 a Java SE 5 y Java EE 5. A corto plazo serán el requisito mínimo para las plataformas de software empresariales.
Jugando con la campaña de marketing de SAP, THE BEST-RUN BUSINESSES RUN SAP, podríamos decir que THE BEST-RUN JAVA BASED APPLICATIONS RUN SUN.

ORACLE ha gastado 20.000 millones de dolares (equivalente a un cuarto de su capitalización) en la adquisición de compañías durante los dos últimos años, incluyendo SIEBEL, PEOPLESOFT, JDEDWARDS, RETEK, etc.
De las más de 20 compañías adquiridas la gran mayoría estaban basadas parcialmente o en su totalidad en tecnología JAVA, especialmente las que estaban destinadas a formar la base de su plataforma middleware como:
Teniendo en cuenta que ORACLE Fusion Middleware está basado en Java EE, y que ORACLE Fusion Applications estará basado en ORACLE Fusion Middleware, es de esperar que dentro de poco ORACLE anuncie su certificación Java EE 5, para garantizar una correcta transición e integración en la arquitectura de todos los componentes y aplicaciones. Es decir ORACLE Fusion Applications, previsto para el 2008, estará basado en JAVA EE 5.

Los pasos iniciales ya han sido dado dados para evolucionar hacia JavaEE 5. Como se puede comprobar en esta entrevista a Thomas Kurian, ORACLE ha liderado la implementación de EJB 3.0, donando incluso el código de esta implementación (Oracle Toplink Essentials) al proyecto GlassFish. También ha donado la librería de Clases JSF (ADF) a Apache (Proyecto Trinidad). En la entrevista también habla de JDeveloper, Eclipse y NetBeans.
Thomas Kurian es Vicepresidente de ORACLE en el área de Middleware, Servidores de Aplicaciones y Herramientas de Desarrollo (ORACLE Fusion Middleware)

Más información:

viernes ago 18, 2006

GlassFish recibe buenas criticas

Project GlassFish
Nada mejor para comprobar el éxito de algo si alguien habla de ello, aunque sea para criticarlo.
Cuando además se habla bien, y quienes hablan son personas influyentes de la comunidad, entonces miel sobre hojuelas.

Floyd Marinescu, en InfoQ, se pregunta si GlassFish puede llegar a ser el próximo gran servidor de aplicaciones open source. Adam Bien, y  [1], Stefan Tilkov [2] han probado GlassFish y realmente se han llevado una buena impresión. Otros como Glen Smith hablan de las razones por las que han  cambiado a GlassFish. Joseph Ottinger ha iniciado una discusión sobre cambiar a GlassFish en  TheServerSide donde se pueden encontrar diferentes puntos de vista.

Floyd Marinescu es CEO y co-fundador de C4Media y Editor Jefe de  InfoQ.com. Floyd Marinescu fue el creador de TheServerSide.com, TheServerSide.Net, y de las conferencias TheServerSide Java Symposium. Floyd gestionó TheServerSide.come entre 2000-2005 cuando este sitio llego a ser la comunidad JAVA más grande del mundo, con unos 400.000 visitantes únicos al mes. Floyd también publica un blog sobre Enterprise Java en http://dynamicsemantics.blog-city.com/.

Stefan Tilkov es co-fundador y principal consultor de  innoQ, una firma de consultoría con oficinas en Alemania y Suiza. Stefan es especialista en Consultoría de Arquitectura Software de empresas del Fortune 1000, actualmente trabajando en asesorías sobre implantación SOA, su madurez y los pasos a dar para lograr el éxito en Arquitecturas Orientadas a Servicio.

 Adam  Bien

Adam Bien is un consultor independiente, ponente, arquitecto software, desarrollador y forma parte de la comunidad de  BEA Technical Director. Adam lleva trabajando con J2EE desde sus inicios (JDK 1.0 y  Servlets/EJB 1.0) en proyectos de diferentes magnitudes y forma parte del grupo de expertos de JCP.org.  Ha editado diferentes libros sobre JAVA y J2EE ("J2EE Patterns", "J2EE HotSpots", "Enterprise Java Frameworks" y "Struts").  En la actualidad participa como arquitecto y desarrollador en varios proyectos  J2EE/MDA en Europa. También trabaja con tecnología JAVA en dispositivos y tecnología P2P.




miércoles jul 26, 2006

Ruby on Rails (RoR) con JAVA


Ruby on Rails es un framework de desarrollo WEB escrito en lenguaje Ruby. Rails busca la simplicidad  escribiendo menos código y con un mínimo de configuración. Esta orientado a aplicaciones WEB que conectan con bases de datos, y su productividad es más alta cuando el modelo de datos se construye simultáneamente a la aplicación, es decir en proyectos que empiezan de cero.
Los principios fundamentales de Ruby on Rails incluyen No Te Repitas (del inglés, Don't repeat yourself, DRY) y Convención sobre configuración.  No te repitas significa que las definiciones deberían hacerse una sola vez. Convención sobre configuración significa que el programador sólo necesita definir aquella configuración que no es convencional.

El nucleo duro de Rails esta formado únicamente por 12 programadores, siendo el lider David Heinemeier Hansson. El origen del proyecto y la base de código viene precisamente del proyecto Basecamp de la compañia 37 signals liderado por David.

La filosofía de desarrollo ágil propuesta por Rails no ha pasado desapercibida para la comunidad JAVA que ya ha empezado a copiar algunas de sus ideas:

Más información sobre Rails:




lunes jun 26, 2006

Mini Tutorial Java EE 5.0

Se acaba de publicar un nuevo mini tutorial para entrar en contacto con el desarrollo de aplicaciones con JAVA EE 5.0.
Este tutorial se puede acceder online o bien en PDF e incluye lo siguiente:
  • Desarrollo de una aplicación Java EE multicapa
  • Desarrollo de Web Services JAX-WS
  • Desarrollo de Stateless Session Bean
  • Desarrollo de cliente Web con Java Server Faces (JSF)
  • Empaquetado y despliegue
Este mini tutorial, TU PRIMERA TAZA DE JAVA EE 5.0, es en realidad un proyecto OpenSource de dev.java.net, con licencia BSD y la versión que se ha publicado en java.sun.com es la Beta2. Por tanto se puede usar sin ningún tipo de problema como base de cursos de formación en JAVA.
¿Alguien se anima a traducirlo?




lunes jun 05, 2006

Migración a J2SE 5.0 (TIGER)

La versión 5 de JAVA (J2SE 5.0), también conocida como TIGER lleva ya casi dos años en el mercado.
Este año 2006 es el momento óptimo de efectuar las migraciones desde plataformas 1.3..x y 1.4.x, ya que además de la madurez y estabilidad de la plataforma, muchos productos, librerías y frameworks lo tienen como requisito.
Para ayudar en las migraciones podemos contar con:

1. Documentos e información
J2SE 5.0 Compatibility
http://java.sun.com/j2se/1.5.0/compatibility.html
JAVA Platform Migration Guide
http://java.sun.com/j2se/JM_White_Paper_R6A.pdf

2. Herramientas
JAVA Compatibility Kit
https://jck.dev.java.net/
JAVA Application & Verification Kit
http://java.sun.com/j2ee/avk/


jueves jun 01, 2006

JSR 299: Web Beans (JSF 1.2 + EJB 3.0)

Hasta ahora la integración del framework MVC de UI (Struts, JSF, etc) con la integración del framework de persistencia (Hibernate, iBatis, Toplink, JPA, EJB 3.0, etc) presenta multiples ineficiencias debido a que ambos tipos de frameworks han sido concebidos por separado.
Los usuarios finales demandan una estandarización en este área, que ya cubren parcialmente proyectos como JBOSS SEAM, ORACLE ADF, STRUTS SHALE o NETBEANS.

La nueva iniciativa de estandarización liderada por JBOSS (Gavin King) con el apoyo directo de SUN y ORACLE pero también de GOOGLE, BORLAND y SYBASE se encuentra recogida en la especificación WebBeans (JSR-299) que tiene como objetivo estándarizar los frameworks basados en JSF 1.2 + EJB 3.0

Más información:

martes may 30, 2006

TestNG vs JUnit

El grupo de calidad del Proyecto GlassFish tuvo que escoger un framework para las pruebas; comparó JUnit y TestNG y terminó escogiendo TestNG.
TestNG es un nuevo framework de pruebas con las siguientes características:
  • Anotaciones (usando J2SE 5.0 o bien javadoc en JDK 1.4)
  • Configuración flexible (testng.xml)
  • Convertidores de pruebas desde JUnit
  • Grupos de pruebas para separar las estáticas de las dinámicas
  • Métodos de prueba dependientes. Si falla una prueba ya no se ejecuta el resto.
  • Ejecución en paralelo, pruebas de carga, fallos parciales
  • API de plugins flexible
Más información:

viernes may 26, 2006

Demo CRUD con JAVA EE 5.0

Roumen ha publicado una interesante demo CRUD de las posibilidades de Java EE 5.0 con NetBeans 5.5.

El acrónimo CRUD se refiere a las principales funciones que usan las típicas aplicaciones de Bases de Datos.

Create INSERT
Read SELECT
Update UPDATE
Delete DELETE

La demo de 5 minutos es especialmente interesante para entrar en contacto con el nuevo API de persistencia de JavaEE 5.0 con anotaciones, las posibilidades de los asistentes de generación de código Java Server Faces (JSF), y las facilidades J2EE de la nueva versión NetBeans 5.5.



Enlace al blog de Roumen

Otra interesante demo de NetBeans 5.5  y GlassFish, que incluye EJB30, JPA, Web Services, ...:

 

martes may 16, 2006

4 nuevos plugins para NetBeans

Al calor de la Java ONE  de San Francisco y del NetBeans day se acaban de anunciar 4 nuevos plugins para NetBeans:
  • Jackpot Plugin:
    • Reingenieria y refactorización de código de manera inteligente. Del creador de JAVA James Gosling.
  • Real Time Plugin:
    • Soporte a las extensiones de tiempo Real de JAVA (JSR-1)
  • Web Services Interoperability Technology (WSIT) Plug-in
    • Facilita el desarrollo de Web Services multiplataforma e interoperables con Microsoft .NET
  • Compute Server Plug-in
    • Facilita la integración con la plataforma de Grid de sun (www.network.com)

Más información aquí


viernes may 05, 2006

JSR 296: Swing Application Framework

El 2 de Mayo de 2006 ha empezado el proceso de revisión de la nueva especificación JSR-296 Swing Application Framework.
El objetivo es definir un API muy sencillo para la facilitar la creación de Aplicaciones Swing.
Inicialmente se centrará en los siguientes aspectos:
  • Ciclo de vida de las aplicaciones. Procesos de Arranque y Parada
  • Recursos localizados: Cadenas, Imágenes, Colores, y Fuentes
  • Persistencia de Configuración y Sesión
  • Soporte a acciones y eventos que puedan trabajar asíncronamente sin bloquear al usuario
Aunque está liderada por dos expertos de Sun:
en el grupo de expertos también participa  Ben Galbraith, conocido por ser autor de varios libros centrados en el diseño de interfaz de usuario con tecnologías como Swing o AJAX.
Otras personas que inicialmente apoyan esta iniciativa son Hani Suleiman, autor del conocido blog ácido The BileBlog, y Ethan Nicholas, ingeniero de Yahoo conocido por ser el responsable de la arquitectura de GeoCities GeoBuilder y de Yahoo! SiteBuilder, ambos desarrollados con Swing, y también del framework JAXX que es un framework Open Source para la generación de interfaz JAVA mediante XML

Sería muy interesante que el resultado de esta especificación también incluyera generación de GUI Swing basada en XML, incluyendo en el grupo de trabajo a personas con experiencia en estas tecnologías como Ethan Nicholas.

Otros frameworks o toolkits para la generación de interfaz de usuario con JAVA mediante XML son:
Una estandarización de la tecnología permitiría aunar esfuerzos y tener una potente alternativa en JAVA a la futura arquitectura de Microsoft (XAML, Avalon, WPF, WinFX)

Blogs de otros expertos en la materia:






miércoles may 03, 2006

Interoperabilidad con GlassFish: Frameworks, Aplicaciones, Tecnologías, Herramientas

La interoperabilidad de GlassFish con diferentes Frameworks, Aplicaciones, Tecnologías y Herramientas queda recopilada en la siguiente dirección:

http://wiki.java.net/bin/view/Projects/GlassFishExtras

Este wiki contiene enlaces a blogs, artículos o documentos que muestran los detalles de interoperabilidad.
A modo de ejemplo estos son algunos de los frameworks probados:

Frameworks
Spring

  Hibernate

  Wicket

RIFE Logo

  Tapestry

  Equinox

AppFuse Logo

  IBatis


AtLeap AtLeap

ADF Faces

Seam

  jBPM

WebDAV

BluePrints

SiteMesh from OpenSymphony

OSCache from OpenSymphony

Facelets

OSWorkflow from OpenSymphony

Apache Struts - Shale Framwork

Apache Struts

DWR AJAX FrameWork

Applications

Blojsom

Apache Lucene Search Engine

Jive Forums

Roller Logo

Pebble Blogging Server

JSPWiki

CJUG-CLASSIFIEDS

BIRT Report Viewer

JasperReports

StringBeans Portal

BlogTrader

Atlassian JIRA

Interoperability Technologies

  PostgreSQL

WebSphereMQ

JAX-WSA

Mustang

Apache httpd as Proxy

Sun Secure Application Switch

Derby Database

Tools

Netbeans Logo

Netbeans Profiler

Eclipse

Hudson Continuous Build System

MC4J

Maven

Ant

JConsole

jueves abr 20, 2006

JAX-WS 2.0 (JSR-224): SOAP 1.2 + WSDL 2.0 + WS-I BP1.1 + ...


La especificación JSR-224 (JAX-WS 2.0) es una evolución de JAX-RPC 1.1 para integrar en la plataforma JAVA todas las novedades de estándares de Web Services que se han ido consolidando en 2003, 2004 y 2005.  Hay que tener en cuenta que la última versión de JAX-RPC 1.1 es del 28 de Octubre de 2003.

Por tanto JAX-WS 2.0 define los APIs que permiten trabajar entre otras con las siguientes tecnologías:
  • SOAP 1.2
  • WSDL 1.1 y WSDL 2.0
  • WS-I Basic Profile 1.1
  • JAXB 2.0
  • SAAJ 1.3
  • Web Services Metadata (JSR-181)
  • Web Services Security (JSR-183)
JAX-RPC 1.1 estaba pensado fundamentalmente para mensajes síncronos basados en HTTP.
JAX-WS aporta grandes mejoras para Web Services asíncronos, y utilizar otros protocolos de comunicación.

Aunque JAX-WS 2.0 forma parta de Java EE 5.0, se puede utilizar con tecnologías de Servidores de Aplicaciones J2EE 1.4 como Tomcat 5, o Sun JAVA System Application Server 8.1.

Kits que incluyen la implementación de JAX-WS 2.0:



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