Tecnologías de Java

Completado

En esta unidad distinguiremos entre los distintos tipos de marcos, servidores y plataformas de Java.

Spring Framework

Spring Framework es un marco de trabajo de la aplicación y un contenedor de inversión de control (IoC). Se ha usado históricamente para complementar el modelo Enterprise JavaBeans (EJB). Sus funcionalidades principales son:

  • Inserción de dependencia
  • Programación orientada a objetos
  • Abstracción empresarial

Spring Boot

Spring Boot se ejecuta sobre Spring Framework y tiene una configuración automática bien fundamentada. Las aplicaciones de Spring Boot se ejecutan de forma independiente y son una opción perfecta para los microservicios.

Spring Data

Spring Data simplifica el acceso a datos para bases de datos relacionales y no relacionales, marcos de MapReduce y servicios de datos basados en la nube.

Spring Security

Spring Security es el estándar de facto para proteger las aplicaciones basadas en Spring. Ofrece un alto nivel de autenticación y control de acceso. Por ejemplo, Spring Security se integra bien con Active Directory.

Spring Cloud

Spring Cloud se usa para sistemas distribuidos. Spring Cloud incluye detección de servicios, administración de configuración, supervisión y una buena experiencia de desarrollador.

Spring Batch

Spring Batch es un marco ligero para aplicaciones de lote sólidas que son vitales para las operaciones diarias.

MicroProfile y Jakarta EE

Puede consultar MicroProfile y Jakarta Enterprise Edition (EE) como seguimiento de código abierto de las especificaciones de Java EE.

MicroProfile es un conjunto de especificaciones para las arquitecturas de microservicios. Se autodenomina un foro abierto para optimizar Enterprise Java para una arquitectura de microservicios. MicroProfile tiene como objetivo innovar en múltiples implementaciones y colaborar en áreas de interés comunes.

Jakarta EE es un conjunto de especificaciones para la creación de aplicaciones empresariales. Su estructura modular permite a los desarrolladores crear soluciones de software eficaces. Las aplicaciones Jakarta EE pueden empaquetarse como archivos EAR o WAR.

El perfil web es un subconjunto de Jakarta EE para los servicios de back-end con un enfoque web, pero no se preocupe. Puede agregarle API específicas de la plataforma empresarial.

Servidores de aplicaciones

Las aplicaciones de Java EE deben implementarse en servidores de aplicaciones compatibles con Java EE (Weblogic, WebSphere, WildFly, GlassFish, Payara y otros).

  • Apache Tomcat es un servidor HTTP y un contenedor de Java Servlet. Implementa las especificaciones de Servlet, Java Server Pages (JSP), Java Expression Language y Java WebSocket.

  • Oracle Weblogic Server es una plataforma unificada y extensible para desarrollar, implementar y ejecutar aplicaciones empresariales. Weblogic Server ofrece una implementación sólida y madura de Java EE y Jakarta EE.

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP) ofrece seguridad y rendimiento de nivel empresarial para implementaciones locales y virtuales, o en nubes privadas, públicas o híbridas.

  • WildFly es el nivel ascendente de código abierto para JBoss EAP. Esta variedad impulsada por la comunidad es excelente para tareas de desarrollo y pruebas.

  • IBM WebSphere Application Server(WAS) es un entorno de ejecución de servidor Java flexible y muy seguro para aplicaciones empresariales. Se centra en la alta confiabilidad. Admite microservicios y modelos de programación basados en estándares. Puede modernizar a su propio ritmo, obtener una mayor visibilidad en las cargas de trabajo, analizar aplicaciones empresariales y progresar en el viaje hasta Kubernetes.

  • Open Liberty es la versión de código abierto impulsada por la comunidad de WAS.

  • Oracle GlassFish es la implementación de referencia de numerosos estándares web de Java EE (incluidos Servlet y JSP).

Otros marcos para arquitecturas orientadas a microservicios

  • Netty es un marco de cliente/servidor de E/S que no es de bloqueo (NIO). Permite el desarrollo rápido y sencillo de aplicaciones de red, como servidores de protocolo y clientes. Simplifica y agiliza considerablemente la programación de redes, como los servidores de sockets TCP y UDP. Netty es un marco de trabajo de la aplicación de red asincrónico controlado por eventos para el desarrollo rápido de servidores y clientes de protocolo de alto rendimiento que se pueden mantener.

  • Quarkus es una pila de Java nativa de Kubernetes adaptada para HotSpot y GraalVM de OpenJDK. Quarkus está ganando cada vez más impulso. Es por ello que hay marcos más centrados en el rendimiento como este, por ejemplo Vert.x, Helidon, Payara Micro y KumuluzEE.

  • Micronaut es un marco moderno de pila completa basado en JVM para compilar aplicaciones sin servidor y microservicios modulares y fáciles de probar. Micronaut cuenta con una inserción de dependencias y un entorno de ejecución de programación orientado a aspectos que no usa reflexión, lo que facilita que las aplicaciones de Micronaut se ejecuten en GraalVM.