miércoles, 18 de abril de 2018

La Plataforma Java Empresarial

He notado que existe mucha confusión, dudas e inquietudes acerca de la Plataforma Java Empresarial, la plataforma es muy extensa y algunos conceptos pueden llegar a confundir. Por ello decidí escribir esta entrada, espero poder aclarar todas las dudas.

Los desarrolladores de hoy reconocen cada vez más la necesidad de contar con aplicaciones distribuidas, transaccionales y portables que  aprovechen la velocidad, seguridad, y confiabilidad de la tecnología del lado del servidor.

Las aplicaciones empresariales proporcionan la lógica de negocio para una empresa. Estas aplicaciones son gestionadas de forma centralizada y, a menudo interactuan con otras aplicaciones empresariales.

En el mundo de las tecnologías de información, las aplicaciones deben diseñarse, construirse y entregarse con bajo presupuesto, con mayor velocidad y con menos recursos.

Con la Plataforma Java Empresarial (Java EE), el desarrollo de aplicaciones empresariales nunca había sido mas fácil o mas rápido. El objetivo de la plataforma Java EE es proporcionar a los desarrolladores un conjunto de APIs muy potentes, permitiendo reducir el tiempo de desarrollo, la complejidad de la aplicación y mejorando el rendimiento de la aplicación.

La plataforma Java EE se desarrolla a través de la Java Community Process (JCP) que es una comunidad responsable de todas las tecnologías (APIs) que forman la plataforma Java EE. Dentro de esta comunidad existen grupos de expertos que crean especificaciones para alguna tecnología en particular. A estás especificaciones se les conoce como Solicitud de Especificación de Java (JSR)

Es así como tenemos una especificación para cada versión de cada una de las Tecnologías (APIs) que conforman la plataforma Java EE.

Una Solicitud de Especificación de Java es es un documento formal propuesto para definir la funcionalidad y uso de la tecnología propuesta. Es decir, las clases, métodos, ciclos de vida, secuencias y como estás clases interactuan entre si. Un individuo o una organización puede convertirse en miembro de la Java Community Process (JCP) y puede desarrollar su código según las especificaciones mencionadas en JSR. La implementacion desarrollada de la especificación será revisada por los miembros del JCP y aprobarán o rechazarán. Generalmente, ademas del documento, la especificación tendrá un conjunto de interfaces java, las cuales deben ser finalmente implementadas por alguna organización interesada.

Por ejemplo, la API JPA (Java Persistence API), la especificación entrega un documento y el api que se componen de clases, interfaces, enums, y archivos xml de configuracion. Sin embargo, esta API por si sola no es útil. Tiene utilidad cuando se tiene una implementación, por ejemplo la empresa Red Hat tiene una implementación de JPA llamada Hibernate. Y así como Hibernate, existen otras implementaciones de JPA.

La gran ventaja de trabajar con especificaciones es tu puedes fácilmente cambiar de implementación y tu programa no debería requerir ningún cambio, para tu programa la implementación que estés usando es transparente.

Ahora si, vamos a ver de forma resumida cada una de las tecnologías o especificaciones que son parte de la plataforma Java EE.



2 comentarios:

  1. Pero con la demanda que esta entre google y oracle, ¿tu crees que el uso de java comience a bajar...?
    Hoy en día existen muchos lenguajes multi-plataforma para web y PC sin usar MV, eso es una gran ventaja....

    ¿Crees que las empresas seguirán usando java a pesar de que Google ya no lo lo apoye (por lo menos el Java de Oracle)?

    ResponderEliminar
  2. Desde luego que java EE sigue siendo muy usado para el Backend. Con Java EE puedes crear una API REST muy potente. Tu API REST puede ser usado por muchos clientes, otras aplicaciones web, aplicaciones de escritorio en cualquier lenguaje, dispositivos mobiles, etc,.

    Java EE sigue, recientemente Oracle la cedió a la fundación Eclipse.

    ResponderEliminar