Entradas etiquetadas con full profile

Servidores J2EE 7 Certificados (Junio 2015)

Hace ya un tiempo razonable desde la salida de la especificación 7 de J2EE. ¿Serán muchos los servidores que se hayan certificado? La verdad es que no. Me ha sorprendido que sean tan pocos. También me ha sorprendido la distribución. Pensaba que todos serian proyectos desarrollados por la comunidad, por aquello de que su ciclo de desarrollo suele ser mas rápido. En cambio, solo la mitad son open source. No me entretengo mas, veamos cuantos y cuales son:

GlassFish Server Open Source Edition 4.0

Logo de GlassFish

El servidor del pescado (a estas alturas ya sabreis que no es santo de mi devoción) fue el primero en conseguir la certificación. Cosa lógica, ya que se trata del demostrador tecnológico de Oracle. Así cualquiera. Ha sido probado en Solaris Sparc10 y 11, Windos XP y 2008, MacOS12.10, Ubuntu12.10, OracleLinux 6.3, Fedora 18 y openSUSE 10.2 con JDK 7 Update 21. Cumple con la especificación full profile y la web profile.

Wildfly 8

Logo oficial de WildFly

Logo oficial de WildFly

Wildfly fue concebido para ser J2EE 7 certificado desde el principio, así que no es una sorpresa encontrarlo en la lista. Este ha sido probado en Red Hat Enterprise Linux 6 (lógico también) con JDK 7 Update 45. También cumple con la especificación full profile y la web profile.

TMAX JEUS 8

Hace un par de años ya hablamos de este servidor de aplicaciones coreano. Yo nunca lo he usado (quizás porque no soy coreano) pero parece que en su país es muy popular. No cabe duda que se lo toman en serio si lo han certificado ya. Ha sido probado en Red Hat Linux Fedora 17 con JDK 7 Update 9. Esta certificado full profile.

Cosminexus 10

cosmi

De este también hablamos en el post que comentaba antes. Este servidor de aplicaciones es el otro comercial de la lista, propiedad de Hitachi. No te puedo decir mucho mas: la información que he encontrado (casi todo en su página) hace casi siempre referencia a versiones antiguas. Probado en Windows 7, 8, 8.1, 2008, 2008 R2, 2012, 2012 R2, Red Hat Enterprise Linux Server 5 y 6 y AIX 6.1 y 7.1.

¿Cambiara esto pronto? Pues yo espero que para final de año se hayan añadido bastantes servidores a la lista: WebSphere, JBoss y TomEE no creo que tarden mucho. Otros ya veremos. Hagan sus apuestas. Por mi parte, intentare acordarme cuando llegue el final de año y repasare la lista.

Payara: servidor basado en GlassFish con soporte comercial

Logo de Payara Server

Logo de Payara Server

Cuando hace  un año Oracle anunció que cesaba el soporte comercial de GlassFish (devolviéndolo a lo que siempre fue, una implementación de referencia) muchas empresas vieron como el cielo se les venia encima: el servidor java sobre el que habían construido su software estaba acabado. Esto a su vez abrió ventanas de oportunidad para Oracle y el resto de fabricantes de servidores: unos optaron por publicar guías de migración hacia sus servidores con soporte comercial. Otros ofrecieron soporte comercial para la versión Open Source de GlassFish. La gente de Payara decidieron optar por una solución intermedia: crear una versión empresarial basada en GlassFish. Lo describen de la siguiente manera:

Payara es soporte 24/7 para servidor GlassFish Open Source Edition.
Mejoramos GlassFish. Lo soportamos, lo corregimos, lo aumentamos. Y los distribuimos como software libre: Payara Server.
Payara Server es el sustituto de GlassFish Server con la tranquilidad de disponer de distribuciones trimestrales de mejoras, correcciones y parches para mejorar GlassFish Server y sus librerías dependientes como Tyrus, Eclipse Link, Jersey y otras. Nuestro objetivo es optimizar Payara Server para hacer el mejor servidor JavaEE para producción con respuesta 24/7 y soporte de los mejores ingenieros de middleware de la industria.

Dejando al margen el autobombo que hacen, si estas en la situación que describía al principio seguramente te interese pasarte por su web. A alguno de sus ingenieros los sigo hace tiempo y tengo muy buena impresión de ellos. Otra cosa es que sean los mejores de la industria. Y para demostrar que ademas tienen sentido del humor, han presentado a su servidor con este video:

 

Oracle no dará soporte comercial para Glassfish 4

Logo de GlassFishEn este blog se ha hablado bastante acerca de la idoneidad de utilizar Glassfish en entornos de produccion. Durante este ultimo año, Oracle no ha hecho sino promover su utilización en cuanto evento de Java (suyo o ajeno) haya asistido. Se han publicado vídeos sobre casos de éxito, documentación a mansalva… de todo. Muchos, entre los cuales me incluyo, siempre hemos dudado de elegir Glassfish fuera una buena elección. Los que llevamos algún tiempo en esto recordamos que Glassfish era un demostrador tecnológico, una implementación de referencia de SUN. Un servidor de aplicaciones “de juguete”, si se me permite la expresión. Todos nuestros temores se han confirmado.

Coincidiendo con la actualización del roadmap de Java y Glassfish, Oracle ha hecho publico que a partir de Glassfish 4, no ofrecerá soporte comercial para la plataforma. Aquellas organizaciones que tengan contratado soporte para versiones anteriores no tienen de que preocuparse (de momento) pues seguirán disponiendo de él hasta que llegue la EOL del producto.  Podéis ver aquí el anuncio: Java EE and GlassFish Server Roadmap Update. El articulo es relativamente largo (no te pierdas los comentarios), pero de entre todo lo que se puede reseñar me quedo con esto:

Commercial Java EE 7 support will be provided from WebLogic Server

Efectivamente: si quieres un servidor de aplicaciones con soporte, usa WebLogic. Inmediatamente después del anuncio, el mundo java se incendió. javaHispano, un sitio que te recomiendo aunque no seas desarrollador, también se hizo eco de la noticia. Ante la avalancha de criticas, Oracle respondió en uno de sus blogs con otro articulo: 6 Facts About GlassFish Announcement. Básicamente nos dice que somos unos exagerados, que hay otros servidores que tampoco tienen soporte y se siguen usando, que si usabas Glassfish te puedes pasar fácilmente a WebLogic, que WebLogic no es tan caro… Creo que no han entendido cual es el problema: que la gente se siente engañada.

Cuatro servidores de aplicaciones que seguramente no conozcas

Desde que empece con este blog han ido apareciendo entradas sobre los servidores de aplicaciones mas utilizados, al menos en esta parte del mundo. Pero eso no quiere decir que no haya otros, ni que no sean buenos. Simplemente son menos conocidos. Veamos algunos.

TmaxSoft JEUS

JEUS es un servidor de aplicaciones coreano, lugar donde tiene una elevada cuota de mercado. Ha sido el primer el primero en conseguir la certificación JEE7, al margen de la implementación de referencia (GlassFish). Se trata de un software propietario, pero si quieres probarlo hay disponible en su web un instalador por si quieres probarlo. Si alguien lo hace, por favor que deje un comentario contando su experiencia.

OW2 JOnAS

JOnAS es un servidor de aplicaciones de código abierto JEE6 certificado. Esta desarrollado por el OW2 Consortium, un consorcio opensource europeo. Encontrar información sobre JOnAS es mucho mas fácil que sobre JEUS, supongo que por la cercanía geográfica. JOnAS esta construido sobre una plataforma OSGi y a su vez puede desplegar módulos OSGi, de lo cual hablamos hace unos dias.

Caucho Resin

Resin, fabricado por la empresa californiana Caucho, también es JEE6 certificado. En su país de origen le auguran un brillante futuro, pero por Europa sigue siendo poco conocido. Hay dos versiones: una de pago que es Web Profile certificado y el contenedor de servlets (un subconjunto del anterior) que es GPL.

Hitachi Cosminexus

cosmi

Cosminexus es el servidor de aplicaciones de la multinacional Hitachi. Como en el caso de JEUS, encontrar información es complicado:  para los que no hablamos japones, su pagina de la wikipedia no nos resulta muy informativa.  Este también es JEE6 certificado y me arriesgaría a suponer que esta pensado para funcionar preferentemente sobre Windows, partiendo de la configuración utilizada para pasar los tests de certificación.

Ya conoces cuatro servidores de aplicaciones mas. Si mas adelante el nombre de alguno de ellos sale a relucir en una reunión, seras de los pocos que no ponga cara de extrañeza.

Nueva clasificación de los servidores de aplicaciones

Nuevos tipos de servidores

Hasta ahora, los servidores de aplicaciones java podían clasificarse en dos grandes grupos: contenedores de servlets (como puede ser Tomcat o Jetty) y servidores J2EE (JBoss, Weblogic o GlassFish entre otros). Hasta ahora, siempre pensábamos en los primeros como servidores ligeros, rápidos al arrancar, con poco overload… y en los segundos como servidores mas pesados, complejos y mas lentos en arrancar. Poco a poco, todo esto ha ido cambiando: como se pudo ver en el post donde analizaba los tiempos de arranque de las diferentes versiones de JBoss, estos tiempos se han ido reduciendo de forma constante.

Con la última versión de J2EE, la versión 6, esta clasificación ha cambiado. Siguen existiendo los contenedores de servlets pequeños y eficientes, pero los servidores J2EE propiamente dichos se han dividido en dos categorías: por un lado los Java EE 6 Full Profile y por otro los Java EE 6 Web Profile. Los servidores Web Profile implementan un subconjunto de características de los Full Profile: básicamente una parte de la especificación de los EJB, JPA y JTA. Estos los situaría en un punto intermedio de la clasificación que comentaba un poco mas arriba, entre los contenedores de servlets y los servidores J2EE.

¿Tiene sentido esta división?

En mi opinión, si. Hasta ahora, muchos desarrolladores eran reacios a utilizar servidores J2EE. Por un lado, su consumo de recursos es mayor. Por otro lado, para versiones de J2EE anteriores a la 6, la programación resultaba compleja. Para soslayar estos problemas, lo que han venido haciendo es utilizar un contenedor de servlets añadiendo librerías/frameworks de terceros (principalmente Spring e Hibernate) para conseguir esas funcionalidades que necesitaban. Este hueco es el que viene a llenar el Web Profile.

¿Como afectará esta nueva categoría al ecosistema?

Esto dependerá de como acepte la comunidad de desarrolladores la versión 6 de J2EE. Si buscáis en Google “J2EE6 versus Spring” veréis que hay una guerra abierta. Nos os perdáis los comentarios del post que aparece como primer resultado: “Why is Java EE 6 better than Spring ? (Arun Gupta, Miles to go …)” que ademas pertenece a un blog oficial de Oracle. En el caso de que mayoritariamente los desarrolladores continúen usando Spring (junto con otras librerías) veremos pocos cambios. Pero si el empleo de servidores Web Profile se extiende, creo que iremos viendo a los contenedores de servlets ir desapareciendo, salvo aquellos (como Tomcat) que se empleen embebidos en otros paquetes software.

¿Y entonces que hago?

Si trabajas en una empresa grande, muévete por el edificio y pregunta en desarrollo. Si te dicen que están dejando de usar Spring porque no quieren usar librerías para cosas que ya vienen incluidas en el servidor, empieza a mirar manuales de instalación de servidores Web Profile. Si trabajas en una empresa pequeña, tampoco te hará mal irlos mirando. En cualquier caso, permanece atento a este blog pues en próximas entradas seguiré ampliando el tema.

Ir arriba