lunes, 26 de diciembre de 2011

Oracle y el fin de Java

El fin del mundo Java conocido.

Puede parecer alarmista, pero creo que el mundo java está llegando a su fin, por lo menos tal y como lo conocemos. El desarrollo de aplicaciones en Java ha ido cambiando y poco a poco han ido apareciendo nuevos lenguajes y formas de acometer proyectos.

La complejidad propia del desarrollo con este lenguaje y la complejidad sometida por metodologías de desarrollo orientadas a procesos ha hecho que muchas empresas empiecen a mirar otras alternativas como por ejemplo metodologías ágiles.

Pero en este caso, el artículo no habla de las complejidades propias del desarrollo con lenguaje java, ni de las metodologías asociadas a estos proyectos, si no de la propia Oracle, propietaria de esta plataforma de desarrollo desde que compró a Sun Microsystems.

Mucho se ha rumoreado y mucho se sigue especulando sobre el futuro del desarrollo de aplicaciones en Java. Desde luego la filosofía de Oracle nada tiene que ver con la filosofía de apertura de Sun. A este último siempre se le achacó el que no abriera la plataforma de desarrollo de Java al exterior y conservara las patentes, pero por lo menos aunque conservando las patentes, dejó que otras empresas colaboraran en la definición de está normas y prácticas de desarrollo, así como definiciones que acabaron siendo parte de las nuevas APIs y formas de J2SE y sobretodo de J2EE. Algo que hizo estandarizar los proyectos en los servidores de aplicaciones fueran del proveedor que fueran.

Decía que la filosofía de Oracle desde luego no es para nada igual a la de Sun Microsystems. Oracle es un gigante que quiere maximizar sus beneficios y ha realizado numerosas compras de empresas líderes en sus sectores. De un plumazo se ha hecho los servidores de aplicaciones más relevantes del sector: Weblogic, SunOne y OAS, comprando a Sun se ha hecho también con la base de datos gratuita más implantada en proyectos, MySql. Dispone a su vez de una de las herramientas de desarrollo para Java más usadas en este sector como NetBeans, se quedó también con toda la familia de productos de Sun y su galería de servidores Solaris.

Además de otros sectores, el fin de Java no viene por estas compras, si no por los movimientos que está realizando Oracle en este mundo. De momento canceló el proyecto OpenSolaris, ha puesto demandas a Google por uso del JDK en los dispositivos Android, hecho por el cual Google contrató al ingeniero que desarrolló el jdk y ha creado una versión de jdk adaptada a sus necesidades libre de cargas para con Oracle.

Por otra parte, también modificó la licencia de uso del servidor de integración continua Hudson, creado por ingenieros de Sun y de libre distribución, de tal modo que los creadores de Hudson han abandonado el proyecto creando un gemelo llamado Jenkins.

Java se ha convertido en el lenguaje rey para aplicaciones empresariales, nacido inicialmente como respuesta a la afronta de Microsoft y que permitió el agrupamiento de grandes empresas rivales a trabajar de alguna manera aunando esfuerzos, y resulta que el enemigo estaba en casa.

Entiendo los motivos de negocio que pueden llevar a Oracle a tomar este tipo de decisiones, pero creo que en general es una equivocación para el mundo del desarrollo de aplicaciones basadas en Java. Pese a las dificultades del desarrollo de este tipo de aplicaciones, las empresas preferían este modelo, porque estaba basado en buenas prácticas y por lo menos casi estándares. Pero este movimiento monopolístico sólo hará que las cosas cambien más deprisa.

La pregunta es clara, ¿cuánto tardará Oracle en dar el golpe de estado? ¿Cuánto tardará en decir que Java le pertenece y todo aquel que quiera desarrollar aplicaciones debe pagar royalties? De manera directa o indirecta con sus servidores o aplicaciones.

Me imagino que IBM debe de estar ya buscando alternativas. No es un movimiento sencillo, y yo calculo que al ritmo que se mueven las aplicaciones de Internet, 5 años será el tiempo suficiente para el cambio, y si contamos el ritmo de las aplicaciones empresariales, no más de 10 años.

Ahora bien, ¿Cuál será el soporte candidato al relevo? Esa es una buena pregunta, cada vez hay más movimientos en este sentido. En el caso del lenguajes Python y Ruby parecen una buena alternativa, aunque estar trabajando a nivel de fichero creo que es un atraso. Por otro lado Groovy y Scala pueden ser dos buenas alternativas a los desarrolladores Java y sobretodo con los datos que tenemos hoy día, creo que Springframework es una alternativa a tener en cuenta. Lástima que esté completamente basado en Java, pero se puede ver como VMWare está realizando movimientos creando una infraestructura basada en cloud y lenguajes como Groovy, Scala y Ruby  y mezclando con Spring, dando resultados como Grails.

El mundo Java está cambiando, Oracle devora todo lo que contiene este mundillo y sólo le falta atacar el mundo de las aplicaciones móviles, Google lo ha visto venir, incluso crea sus propios lenguajes y herramientas de desarrollo, algo normal para no depender de nadie, pero puede ser infructuoso a largo plazo aislarse tal y como hizo Nokia, mientras otros como IBM con capacidad de hacer fuerza y capacidad de decisión  y hacerse oir, se dedican a hablar del mundo del futuro y su único interés es vender hierro, y no ven la realidad que se acerca.

Tiempos de cambios, hay que ser visionario, las oportunidades saldrán para aquellos que estén preparados.

No hay comentarios:

Articulos relacionados