SERVIDOR+DE+APLICACIONES

1. **INTRODUCCIÓN**
 * {$page} **

A continuación veremos una pequeña introducción a los servidores de aplicaciones. Comentaremos los términos mas utilizados. El concepto de servidor de aplicaciones está relacionado con el concepto de sistema distribuido. Un sistema distribuido, en oposición a un sistema monolítico, permite mejorar tres aspectos fundamentales en una aplicación: la alta disponibilidad, la escalabilidad y el mantenimiento. En un sistema monolítico un cambio en las necesidades del sistema (aumento considerable del número de visitas, aumento del número de aplicaciones, etc.) provoca un colapso y la adaptación a dicho cambio puede resultar catastrófica.
 * 2. DESARROLLO**

El rol de un servidor de aplicaciones es hacer funcionar aplicaciones distribuidas fabricadas a base de componentes Java (Sevlet, JSP, EJB), haciéndolas accesibles a los clientes Web (navegadores) ya a las aplicaciones corporativas escritas en Java. El servidor debe encargarse de la creación y de la carga en memoria de las instancias de los componentes, así como la gestión de una cola de espera para satisfacer las peticiones de los clientes. Además, para satisfacer las exigencias de las aplicaciones corporativas, el servidor de aplicaciones debe se potente y fiable. Es por tanto capaz de gestionar la disponibilidad (escalabilidad) de las aplicaciones (balanceo de carga, tolerancia a fallo) utilizando grupos (cluster) de servidores. También se ocupa de la implementación de distintos servicios útiles para los componentes y el funcionamiento de las aplicaciones: Se trata de servicios más importantes para un servidor de aplicaciones. En efecto, el servidor de nombres permite almacenar de forma jerárquica referencias a recursos de objetos, de forma que los clientes pueden realizar en el índice búsquedas sobre los recursos, para trabajar con los correspondientes objetos remotos. El gestor de las transacciones es una implementación de la API JTS. Permite gestionar transacciones locales, pero sobre todo, se encarga de la gestión de las transacciones distribuidas, indispensables para las aplicaciones J2EE. El objetivo es que el servidor de aplicaciones debe ser capaz de gestionar un elevado número de accesos y respuestas simultáneas que, además, pueden invocar al mismo recurso. Por tanto es necesario controlar que el recurso sea capaz de satisfacer las peticiones de los clientes en un tiempo mínimo. El administrador del servicio de aplicaciones puede configurar dominios de seguridad definiendo usuarios (nombre, contraseña) y grupos de usuarios, para asignar posteriormente permisos sobre los distintos elementos en relación a los componentes y/o recursos de la aplicación J2EE. La mayoría de los servidores de aplicación ofrecen una consola de administración mediante una aplicación Java o Applet a través de un navegador Web. El servicio de acceso de datos es una implementación de las extensiones de la API JDBC 2.0. Permite configurara fuentes de datos y delegar la gestión de los conjuntos de conexiones JDBC en el servidor de aplicación o en el controlador. El servicios de gestión de mensajes es una implementación de al API JMS que permite gestionar una fila de mensajes de procesos asíncronos.
 * **Servicios de nombres **
 * **Servicios de gestión de las transacciones **
 * **Servicios de gestión de la disponibilidad de las aplicaciones **
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Servicio de seguridad. **
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Servicios de administración **
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Servicios de acceso de datos **
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Servicios de gestión de mensajes **

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Firgura 1: Elementos de un Servidor de Aplicaciones

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Fuente: http://ffabiang.files.wordpress.com/2008/09/dibujo11.jpg

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Características

 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Los servidores de aplicación típicamente incluyen también middleware (o software de conectividad) que les permite intercomunicarse con variados servicios, para efectos de confiabilidad, seguridad, no-repudio, etc.
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Los servidores de aplicación también brindan a los desarrolladores una Interfaz para Programación de Aplicaciones (API), de tal manera que no tengan que preocuparse por el sistema operativo o por la gran cantidad de interfaces requeridas en una aplicación Web moderna.
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Los servidores de aplicación también brindan soporte a una gran variedad de estándares, tales como [|HTML], [|XML] , IIOP, JDBC, SSL, etc., que les permiten su funcionamiento en ambientes Web (como Internet) y la conexión a una gran variedad de fuentes de datos, sistemas y dispositivos.

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Un ejemplo común del uso de servidores de aplicación (y de sus componentes) son los portales de Internet, que permiten a las empresas la gestión y divulgación de su información, y un punto único de entrada a los usuarios internos y externos. Teniendo como base un servidor de aplicación, dichos portales permiten tener acceso a información y servicios (como servicios Web) de manera segura y transparente, desde cualquier dispositivo.

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Figura 1: Servidor de aplicaciones



<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Fuentes: http://www.ingenierosistemas.com/wp-content/uploads/2012/04/Servidor-de-Aplicaciones.jpg

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">.NET ha marcado un sostenido crecimiento en la industria del software, lo que provocó que Microsoft posea su propio servidor de aplicaciones: Internet Information Server.
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Otros tipos de servidores de aplicaciones **

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;"> Además de éste, existen otros servidores como Base4 Server y Zope que ganan popularidad. <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">En definitiva, existen diversos tipos de servidores de aplicaciones, cuya robustez o prestación varía de acuerdo a la tecnología y a la estandarización que ésta vaya experimentando. Lo importante es comprender a qué se refiere el término, y no confundirnos a la hora de elegir nuestro servidor, ya que una mala decisión cuando diseñemos nuestra arquitectura puede provocarnos dolores de cabeza en etapas avanzadas del desarrollo de software.

<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Ventajas de los servidores de aplicaciones

 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Integridad de datos y códigos **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">: al estar centralizada en una o un pequeño número de máquinas servidoras, las actualizaciones están garantizadas para todos sus usuarios. No hay riesgos de versiones viejas.* Configuración centralizada: los cambios en la configuración de la aplicación, como mover el servidor de base de datos o la configuración del sistema, pueden ser hechos centralmente.
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Seguridad **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">: se consideran más seguras.
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Performance **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">: limitando el tráfico de la red solamente al tráfico de la capa de presentación, es percibido como un modelo cliente/servidor que mejora la performance de grandes aplicaciones.
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Un núcleo de runtime que soporta el despliegue y gestión de aplicaciones de negocio de altas prestaciones.
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">El entorno de desarrollo .NET Framework, que ofrece un modelo de programación simplificado y un modelo de ejecución de alto rendimiento para aplicaciones basadas en servidor, habilita la publicación de servicios Web y permite integrar las aplicaciones nuevas con las infraestructuras y aplicaciones ya existentes.
 * **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Instalación **<span style="font-family: 'Arial','sans-serif'; font-size: 16px;"> automática de todas las funcionalidades necesarias para un rol determinado.


 * 3. REFERENCIAS BIBLIOGRAFICAS**
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">Aumaille Benjamín, “J2EE Desarrollo de aplicaciones Web”, Barcelona, 2002, 1ª Edición, Ediciones ENI
 * <span style="font-family: 'Arial','sans-serif'; font-size: 16px;">http://www.ecured.cu/index.php/Servidor_de_Aplicaciones

(Estudiante:Erick Pacheco Martinez ) en 06 diciembre del 2012
 * Seguimiento de aportes: (*) Esto es para hacer un seguimiento de los aportes, copiar la linea siguiente cada ves que se edite, no borrar las existentes.**


 * AUTOR:** {$creator}

//Esta pagina fue editada {$pagerevisions} veces. La ultima modificación fue realizada por//

//user:{$revisioneditor} el {$revisiondate}//