Plataforma empresarial de Java

Revisión del 17:22 6 jul 2019 de Javiermartin jc (discusión | contribuciones) (Texto reemplazado: «<div align="justify">» por «»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Plataforma empresarial de Java
Información sobre la plantilla
Java.jpeg
Concepto:plataforma independiente, centrada en entorno Java para desarrollar, construir y desplegar aplicaciones empresariales basadas en la Web.

Plataforma empresarial de Java. Conocida por los siglas JEE es una plataforma independiente, centrada en entorno Java para desarrollar, construir y desplegar aplicaciones empresariales basadas en la Web.

Plataforma empresarial Java

Esta plataforma incluye muchos de los componentes de JSE. Simplifica el desarrollo de aplicaciones y disminuye la necesidad de programar y de entrenar al programador mediante la creación estandarizada, componentes modulares reutilizables y brindando el nivel para manejar muchos aspectos de la programación automáticamente.

Los desarrolladores de aplicaciones empresariales necesitan JEE porque escribir aplicaciones empresariales distribuidas no es fácil, y se necesita una solución de alta productividad que les permite centrarse solo en la escritura de su lógica de negocio y con una gama completa de servicios de clase empresarial en la cual apoyarse, como objetos de transacción distribuida, middleware orientado a mensajes, y de nombres y servicios de directorio.

JEE provee un conjunto de librerías, interfaces, frameworks que brindan una infraestructura para el desarrollo de arquitecturas empresariales, abarcando cada uno de los elementos como las transacciones, la mensajería, las conexiones a base de datos, interfaces de usuario, manejo de recursos, seguridad, entre otros. Además JEE es una plataforma con experiencia y amplio soporte en el mundo. Dentro de las principales empresas en el mundo que desarrollan para la plataforma se encuentran Sun, IBM, Oracle, Apache, BEA, JBOSS, entre otras; las cuales aportan gran cantidad de componentes y herramientas que apoyan y facilitan el trabajo de los desarrolladores en los proyectos.

APIs JEE

La plataforma JEE define un grupo de extensiones estándares de Java que son la base para el desarrollo de arquitecturas empresariales, las APIs. A continuación se exponen algunas de ellas:

Enterprise JavaBeans

Un componente de Enterprise JavaBeansTM (EJB), o Enterprise Bean, es un cuerpo de código que contiene los campos y métodos para implementar módulos de lógica de negocio. Se puede pensar en un Enterprise Bean como un elemento que se puede utilizar solo o con otro Enterprise Bean para la ejecución de la lógica de negocio en el servidor Java.

Java Servlets

La tecnología Java Servlet permite definir las clases específicas de servlet. Una clase servlet extiende las capacidades de los servidores que albergan las aplicaciones que se acceden por medio de una solicitud de modelos de programación de petición/respuesta. Aunque los servlets pueden responder a cualquier tipo de solicitud, son comúnmente utilizados para ampliar las aplicaciones alojadas en servidores web.

Los servlets se ejecutan dentro de un contenedor web y proporcionan la comunicación entre el cliente y el servidor web. Pueden comunicarse entre sí, por tanto es posible la reasignación dinámica de procesos. En grandes aplicaciones el desarrollo con servlets puede ser agotador por la gran cantidad de tipos de solicitudes que se pueden generar en ellas y por tanto las complejas reglas de navegación que se generan.

Java Server Pages (JSP)

Permiten poner fragmentos de código servlet directamente en un documento basado en texto. Una página JSP es un documento basado en texto que contiene dos tipos de texto: los datos (que puede expresarse en cualquier formato basado en texto, tales como HTML, WML y XML) y elementos JSP que determinan la forma en que la página construye el contenido dinámico.

Simplifica la creación de páginas web dinámicas proporcionando un sistema de composición más conveniente que los servlets. Las páginas JSP se ejecutan en un servidor web y combinan anotación estática, como HTML y XML, con las librerías de etiquetas y scriptlets. JSP ha sido un método sólido y de uso muy extendido para la generación de contenido web. Los servlets son adecuados para decidir cómo manejar solicitudes de clientes e invocar otros objetos del lado del servidor pero no son tan adecuados para generar contenidos.

Java Server Pages Standard Library (JSTL)

La Librería Estándar de JSP encapsula funcionalidades básicas comunes a muchas aplicaciones JSP. En lugar de mezclar las etiquetas de los proveedores en sus numerosas aplicaciones JSP, se emplea un único estándar de etiquetas. Esta estandarización permite desplegar las aplicaciones en cualquier contenedor JSP que soporte JSTL y hace más probable que la implementación de las etiquetas sea de forma optimizada.

Java Data Base Connection (JDBC)

El API JDBC permite la invocación de comandos SQL desde métodos de lenguaje de programación Java. Se puede utilizar las API JDBC en un Enterprise Bean cuando hay acceso a la base de datos mediante sesiones de Enterprise Bean. También se puede usar el API JDBC desde un servlet o una página JSP para acceder a la base de datos directamente sin pasar por una capa de lógica de negocios.

Web Services

Son componentes de aplicación accesibles a través de protocolos Web estándar. Son unidades de lógica de aplicación. Proporciona servicios y datos a clientes remotos y otras aplicaciones. Los clientes y las aplicaciones remotas acceden a servicios Web a través de protocolos de Internet omnipresentes. Utilizan XML para el transporte de datos y SOAP para hacer uso de servicios. Debido al uso de XML y SOAP, el acceso al servicio es independiente de la implementación. Así, un Web Service es como una arquitectura de componentes para la Web.

Patrones de JEE

Los patrones de la plataforma empresarial de Java describen típicos problemas encontrados por desarrolladores de aplicaciones empresariales y proveen soluciones para los mismos. Estos patrones, a diferencia de los clásicos, están enfocados a los API JEE.

Los patrones de JEE se agrupan en tres grupos:

Patrones de presentación: todo lo necesario para presentar los datos de la aplicación y los elementos de la interfaz de usuario está dentro del grupo de presentaciones de la aplicación. Las tecnologías fundamentales en uso son JSP y los Java Servlet.

Patrones de negocio: el grupo de negocio es donde tiene lugar todo el proceso de negocio. Las principales tecnologías JEE de este grupo son los EJB.

Patrones de integración: el grupo de integración proporciona conexiones al grupo de recursos. El grupo de recursos incluye elementos como las colas de mensajes, bases de datos y sistemas heredados. Las tecnologías JEE más destacadas son JMS y JDBC.

A continuación se describen los más utilizados comúnmente.

Patrones de presentación

  • Front Controller. Permite la centralización del control, mejorar la manejabilidad de la seguridad y la reusabilidad.
  • View Helper. Mejora el particionamiento de la aplicación, la reutilización y el mantenimiento, mejora la separación de roles.
  • Composite View. Mejora la modularidad, la reutilización, la flexibilidad, el mantenimiento y la manejabilidad, tiene un gran impacto en el rendimiento.
  • Dispatcher View. Centraliza el control y mejora la modularidad, la reutilización, el particionamiento de la aplicación y la separación de roles.

Patrones de negocio

  • Busisness Delegate. Reduce el acoplamiento, mejora la manejabilidad, traduce las excepciones del servicio de negocio, implementa recuperación de fallos y sincronización de threads, expone un interface simple y uniforme a la capa de negocio, impacto en el rendimiento y presenta una capa adicional.
  • Service Locator. Abstrae la complejidad, proporciona a los clientes un acceso uniforme a los servicios, facilita la adicción de nuevos componentes de negocio, mejora el rendimiento de la red y del cliente mediante el caché.
  • Session Facade. Introduce la capa controladora para la capa de negocio, expone un interface uniforme, reduce el acoplamiento, incrementa la manejabilidad, mejora el rendimiento, reduce los métodos específicos, proporciona acceso genérico, centraliza el control de seguridad y el de las transacciones, expone menos interfaces remotos a los clientes.
  • Transfer Object. Simplifica el Enterprise Bean y el interface remoto, transfiere más datos en menos llamadas remotas, reduce el tráfico de red, reduce la duplicación de código; podría introducir Transfer Objects obsoletos, incrementar la complejidad debido a la sincronización y el control de versión, accesos y transacciones concurrentes.

Patrones de integración

  • Data Access Object. Permite la transparencia, una migración más fácil, reduce la complejidad del código de los objetos de negocio, centraliza todos los accesos a datos en un capa independiente, no es útil para persistencia manejada por el contenedor, añade una capa extra y necesita diseñar un árbol de clases.
  • Service Activator. Integra JMS en implementaciones Pre-EJB 2.0, proporciona procesamiento asíncrono para cualquier Enterprise Bean.

Fuentes