Introducción a las aplicaciones web
En los últimos años el desarrollo de software se ha orientado principalmente a las aplicaciones web, no sólo como fuente de comunicación a través de Internet, sino también como forma de distribución de software empresarial, que sustituye a aplicaciones tradicionales de escritorio.
Los usuarios demandan software dinámico, actualizable, con un acceso simple y desde distintos medios, sin necesidad de complejas instalaciones y costosos mantenimientos. Sin duda, las aplicaciones web son las que mejor pueden dar una mejor respuesta a estas necesidades.
Podemos definir aplicación web como una aplicación informática distribuida cuya interfaz de usuario es accesible desde un cliente web, normalmente un navegador web.
Desde el punto de vista de la arquitectura se distinguen dos lados; uno es el del cliente, donde se encuentra el usuario final utilizando la aplicación por medio de un navegador (como Internet Explorer o Mozilla Firefox) y el otro el del servidor, que es donde residen realmente los datos, reglas y lógica de la aplicación. A través del navegador, el usuario interactúa con la aplicación localizada en el servidor.
Además de otras ventajas, como las mencionadas anteriormente, las aplicaciones web utilizan lo que se conoce como clientes ligeros, los cuales no ejecutan demasiadas labores de procesamiento para la ejecución, con lo que no se requieren muchos recursos por parte del cliente, característica que ha favorecido su aceptación.
A la hora de desarrollar una aplicación web nos encontramos con gran variedad de tecnologías de programación y herramientas, pero la basada en Java es una de las más destacadas, demostrando desde su aparición gran proliferación y mejoras continuas, tanto en las librerías de software como en las herramientas disponibles.
Origen y evolución de Java EE
Anteriormente hemos comentado los orígenes de Java, sus ediciones y características, en este caso vamos a centrarnos en la versión de Java para aplicaciones empresariales.
Java Enterprise Edition (Java EE), fue lanzado en 1999 con el nombre de J2EE.
JEE es una plataforma para el desarrollo de aplicaciones empresariales, escalable, robusta, multiplataforma, bien documentada y madura.
Java EE define varios tipos de componentes:
- Applets: componentes de aplicaciones que se ejecutan en un navegador.
- Aplicaciones: programas que se ejecutan en un cliente.
- Aplicaciones web: servlets, páginas JSP (Java Server Pages) y páginas JSF (JavaServer Faces) que se ejecutan en un contenedor web y responden a las peticiones HTTP (Hypertext Transfer Protocol) del cliente.
- Aplicaciones empresariales: EJB (Enterprise JavaBeans), JMS (Java Message Service), JTA (Java Transaction API), etc. son ejecutadas en un contenedor EJB.
Java EE se divide en dominios lógicos llamados contenedores. Cada contenedor tiene una función específica, soporta un conjunto de API y ofrece servicios a los componentes tales como seguridad, acceso a base de datos, gestión de transacciones, nombres de directorios, e inyección de recursos. Los contenedores ocultan la complejidad técnica y mejoran la portabilidad. El contenedor EJB es responsable de administrar la ejecución de los beans que contienen la lógica de negocio.
Los contenedores proporcionan servicios subyacentes a sus componentes desplegados, esto permite al desarrollador centrarse en la lógica de aplicación en lugar de resolver problemas técnicos. Algunos de los servicios que proporciona Java EE se describen a continuación:
- JTA (Java Transaction API): este servicio ofrece una demarcación de transacciones API utilizada por el contenedor y la aplicación. También proporciona una interfaz entre el administrador de transacciones y el administrador de recursos en el nivel Service Provider Interface (SPI).
- JPA (Java Persistence API): API estándar para el mapeo de objeto-relacional o ORM (Object Relational Mapping). Con JPQL (Java Persistence Query Language), se puede consultar objetos almacenados en la base de datos subyacente.
- Validación: el bean de validación proporciona un nivel de declaración de restricción de la clase y la facilidad de validación.
- JMS (Java Message Service): permite que los componentes se comuniquen de forma asincrónica a través de mensajes.
- JNDI (Java Naming and Directory Interface): esta API, incluida en Java SE, se utiliza para acceder a los sistemas de nombres y directorios. La aplicación se utiliza para asociar (enlazar) los nombres de los objetos y luego encontrar estos objetos (búsqueda) en un directorio. Puede buscar fuentes de datos, JMS, EJB y otros recursos.
- JavaMail: muchas aplicaciones requieren la capacidad de enviar correos electrónicos que pueden ser implementadas a través del uso de la API JavaMail.
No hay comentarios :
Publicar un comentario