Java y Flexibilidad

En el día a día muchas personas me preguntan que es lo que mas destacaría de Java como ventajas a la hora de abordar un proyecto de tipo genérico. Responder a esto no es sencillo ya que pronto se te vienen a la cabeza muchas ideas . Sin embargo si tuviera que escoger algo diría que su FLEXIBILIDAD. Entendiendo flexibilidad como capacidad de adaptación a un medio.

¿Es Java flexible?

Para responder a esta pregunta hay que explicar primero el concepto de JSR o Java Specification Request. ¿Qué es esto ? pues ni mas ni menos que un documento concreto que define como una tecnología de la plataforma Java ha de ser construida. Estos documentos son públicos y tienen un numero asociado, por ejemplo la plataforma Java EE 6 es la JSR 316.

¿Cómo se construye una Java JSR ?

Un grupo de expertos de diversas compañías RedHat ,Oracle ,IBM ,VMWare etc se reúnen y diseñan como va a ser la nueva tecnología que se va a crear. Aquí podemos ver ya un punto de flexibilidad importante . No se trata de una única empresa que toma una decisión sino que estamos hablando de un CONSENSO entre COMPETIDORES.

JSR e implementación

Una vez los documentos han sido definidos y se ha llegado a un consenso de una versión final, el grupo de expertos publica el documento para que cada fabricante pueda realizar la implementación. Por ejemplo en nuestro caso de la JSR 316 la implementación será un servidor concreto de aplicaciones caso de JBoss , WebLogic ,Websphere etc ya que se implementa todo el stack Java EE.

Implementaciones y flexibilidad

Cada fabricante deberá cumplir con todos los requisitos que el documento detalla y para ello deberá pasar un proceso de certificación . Realizado este paso el producto se podrá vender como producto que cumple la especificación. Ahora bien cada fabricante tiene flexibilidad para añadir las características adicionales que considere oportunas . De esta manera se crearán productos muy diferentes unos de otros, pero que todos cumplen con los requisitos obligatorios.

Clientes flexibilidad y negocio

Es aquí donde los clientes ganan, pueden instalar un servidor de aplicaciones A con el que en un primer momento están contentos. Sin embargo puede ser que después de dos años decidan que ese servidor de aplicaciones se les queda corto y quieran cambiar por servidor B mas potente . Al cumplir todos los productos la especificación el cambio será posible sin migraciones traumáticas . Ahora bien podría ocurrir lo contrario , el cliente podría no tener dinero suficiente para pagar las licencias del servidor que compró originalmente .En ese caso podría optar por un servidor mas económico o incluso por uno gratuito dependiendo de la situación .

JSRs y flexibilidad

En este artículo he puesto el ejemplo de Java EE y el servidor de aplicaciones a la hora de hablar de flexibilidad en el mundo Java. Esta característica es extensible a otras tecnologías Java como por ejemplo JSF de la cual existen varias implementaciones ( Mojarra,MyFaces) o JPA (Hibernate, EclipseLink, TopLink). Cuanto mayor es la empresa mayor suele ser la necesidad de disponer de flexibilidad a la hora de elegir unos productos u otros. En ese caso Java es una tecnología de referencia.

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta