Introdución al Servidor de Aplicaciones iPlanet

iPlanet Application Server proporciona un soporte robusto para los estándards J2EE. Para casi virtualmente cualquier nivel de desarrollo y despliegue, tenemos los interfaces característicos y las funcionalidades de iPlanet Application Server que cumplen con la especificación J2EE. Además, iPlanet Application Server proporciona capacidades claves adicionales a través de servicios como el balance de carga, el control de fallos, y una alta disponibilidad aplicada a estos mismo estándards J2EE. Por ejemplo, iPlanet Application Server ofrece servicios de balance de carga a través de JavaServer Pages y servlets.

Basado en una estrategia de "herramientas abiertas", el desarrollo de aplicaciones para la plataforma iPlanet Application Server puede realizarse con varias opciones de herramientas, incluyendo:

  • iPlanet Application Builder ofrece un desarrollo basado en wizards y una integración perfecta con el servidor de aplicaciones.
  • Soporte para Forte for Java, Enterprise Edition caracterízando el desarrolo de clases enterprise por capacidades del equipo de desarrollo, incluyendo depuración distribuida.
  • Productos de terceras partes, como WebGain VisualCafe, IBM VisualAge, Macromedia Dreamweaver, e Inprise JBuilder conectan con la arquitectura de iPlanet Application Server para una integración perfecta.
  • La solución iPlanet Application Server incluye la habilidad de procesar negocios automáticamente a través de lógica de negocios J2EE y lógica de negocios legacy/enterprise. iPlanet Process Manager es una solución práctica basada en Web para diseñar, desplegar y contolar procesos de negocio sobre el iPlanet Application Server.

Para una integración completa con multiples sistemas de información, iPlanet Application Server incluye Unified Integration Framework y Enterprise Connectors que extienden y los datos para entornos ERP, como IBM CICS, BEA Tuxedo, SAP R/3, y PeopleSoft, en servicios Web dinámicos.

. Nuevas Características

iPlanet Application Server 6.0 proporciona mejoras significantes frente a versiones anteriores del producto, Esto incluye una total compatiblidad con los APIs y especificaciones de la plataforma Java 2, Enterprise Edition (J2EE), mejoras de rendimiento, escalibilidad y eficienda, y mejoras en la manejabilidad y administración. La plataforma iPlanet Application Server proporciona un nuevo marco para la integración que simplifica y acelera el desarrollo de aplicaciones que integran múltiples sistemas de información, incluyendo SAP R/3, CICS, Tuxedo, y PeopleSoft. La familia de productos incluyen una suite de herramientas de clases enterprise, así como soporte para las herramientas de despliegue y desarrollo líderes de la industria. iPlanet Application Server es compatible con versiones anteriores de iPlanet Application Server.

. Compatiblidad Certificada con Java 2 Enterprise Edition

Las características de iPlanet Application Server 6.0 soportan un amplio rango de estándards industriales, incluyendo Java 2 Platform, Enterprise Edition (J2EE) y está certificado con el Compliance Test Suite (CTS). J2EE proporciona una fundación completa y segura y describe un rico conjunto de estándards de seguridad, desarrollo, despliegue, reutilización de código y portabilidad que permite a las empresas crear aplicaciones que sean portables e independientes del vendedor. J2EE consta de los siguientes componentes y APIs:

  • Enterprise JavaBeans (EJB) 1.1. La arquitectura de componentes del lado del servidor de la plataforma J2EE. EJB permite un desarrollo rápido y simplificado de aplicaciones protables Java, distribuidas transacionales y seguras.
  • JavaServer Pages (JSP) 1.1. La tecnología JavaServer Pages proporciona una forma simplificada y rápida de crear componentes web. Esta tecnología permite un desarrollo rápido de aplicaciones basadas en web que son independientes de la plataforma y del servidor.
  • Java Servlets 2.2. Proporciona a los desarrolladores web un mecanismo simple y consistente para exntender la funcionalidad de un servidor web y para acceder a sistemas de negocio existentes.
  • JDBC 2.0 (Core and Standard Extensions, y Optional Package 2.0). Proporciona acceso virtualmente a cualquier fuente de datos tabulada desde el lenguaje Java. Proporciona conectividad DBMS con un amplio rango de bases de datos SQL, y ahora, con el nuevo API JDBC, también proporciona acceso a otras fuentes de datos tabuladas como hojas de cálculo o ficheros planos.
  • Java Transaction API (JTA) 1.0. Especifica los interfaces Java estándards entre los controladores de transaciones y las partes implicadas en un sistema de transación distribuida: el controlador del recursos, el servidor de aplicaciones y las aplicaciones transacionales.
  • Java Naming and Directory Interface (JNDI) 1.2. Funciona en concierto con otras tecnologías J2EE para orgranizar y localizar componentes en un entorno de ordenadores distribuidos.
  • RMI-IIOP 1.0.1 Remote Method Invocation (RMI) over Internet Inter-Orb Protocol (IIOP). Ofrece capacidades de cálculo distribuido compatibles con Common Object Request Broker Architecture (CORBA) a la plataforma Java y al Java Development Kit (JDK) 1.2. Esto permite a los clientes poderosos como las aplicaciones solitarias Java comunicar directamente con el servidor de aplicaciones.
  • Java Message Service (JMS) 1.0.2. Proporciona un conjunto de interfaces estándards del lenguaje Java para sistemas de mensajería empresariales, frecuentemente llamado capa orientada al mensaje. Estos interfaces están implementados por productos llamados proveedores JMS. El API JMS y el marco de trabajo del proveedor permiten el desarrollo de aplicaciones portables basadas en mensajes en el lenguaje Java.
  • JavaMailTM 1.1. Proporciona un conjunto de clases abstractas que modelan un sistema de correo. El API proporciona un marco de trabajo independiente de la plataforma y del protocolo para construir aplicaciones de e-mail y aplicaciones de mensajería basadas en la tecnología Java.
  • JavaBeansTM Activation Framework (JAF) 1.0. Permite a los desarrolladores aprovecharse de los servicios estándards para determinar el tipo de un trozo de dato arbitrario, encapsula el acceso a él, descubre las operaciones disponible sobre él, y ejemplariza el bean apropiado para realizar dichas operaciones. Por ejemplo, si un navegador obtuviera una imagen JPEG, este marco de trabajo permitiría al navegador identificar el stream de datos como una imagen JPEG, y partiendo de este tipo, el navegador podría localizar y ejemplarizar un objeto que pudiera manipular o mostrar la imagen.
  • Extensible Markup Language (XML). XML se usa como el estándard para describir todos los Descriptores de Despliegue J2EE. iPlanet Application Server usa XML para ensamblaje y despliegue de aplicaciones.

Otros estándards incluidos:

  • CORBA 2.3 permite la interoperabilidad entre plataformas.
  • HTML es el lenguaje universal de la Web.
  • LDAP (Lightweight Directory Access Protocol) permite acceder a directorios de gran escala, proporcionando autenticación y control de acceso.
  • SNMP proporciona un interface que nos permite monitorizar el estado mediante sistemas de control de redes.
  • IMAP/POP3 son los protocolos estándard para correo electrónico.
  • XA es un estándard para transaciones en bases de datos distribuidas.

. Mejoras J2EE

Más que ser compatible con el estándard J2EE, iPlanet Application Server mejora las funcionalidades de la especificación J2EE en:

  • La disponibilidad general se mejora con el control de fallos para los componentes clave de J2EE:
    • Control de fallos de EJB con estado.
    • Control de fallo de clientes ricos.
  • Balance de carga de clientes ricos sobre RMI-IIOP.
  • Balance de carga JSP -- las JSPs ahora tienen GUIDs:
    • Los GUIDs identifican únicamente a cada proceso JSP. Esto permite hacer balance de carga a las JSP, de forma similar a los Servlets.
    • Esto también permite hacer caché de resultados JSP.
    • Hay un soporte continuado para JSPs sin GUIDs, como JSPs no registrados.
  • Hay una herramienta de conversión proporcionada para traducir páginas JSP 0.92 (Netscape Application Server 4.0) a JSP 1.1.
  • El caché de páginas JSP -- las llamadas a páginas JSP son almacenadas, proporcionado una funcionalidad similar al resultado del caché en NAS 4.0.
  • JMS Connection Pooling y User Mapping — Los almacenes de conexiones mejoran el rendimiento y la eficiencia de las aplicaciones iPlanet Application Server usando JMS mediante la creación y control de almacenes de conexiones desde el iPlanet Application Server a un producto compatible con mensajería JMS. El mapeo de usuarios acelera el desarrollo de aplicaciones en iPlanet Application Server y facilita la administración y el soporte -- autentificando a nivel de aplicación web, a usuarios, grupos, y roles autorizados por el proveedor de mensajería compatible JMS.
  • Hay una mejora de rendimiento para JSPs composicionales.
  • Soporte para extensión de librerías de etiquetas JSP 1.1.

. Mejoras en el Rendimiento, Escalabilidad y Eficiencia

iPlanet Application Server proporciona una arquitectura de quinta generación con un rendimiento probado, una escalabilidad y eficiencia líderes en sites de comercio electrónicos. Para clientes que requieren una alta integridad de transacines y continuos tiempos de marcha, iPlanet Application Server elimina los puntos de fallo a través del control de fallos en cada nivel de entorno de despligue J2EE, incluyendo JavaServer Pages, Java Servlets, y JavaBeans Enterprise. iPlanet Application Server también asegura que la información del usuario y los datos de la aplicación no se perderán durante el fallo distribuyendo la información de estado y de sesión de una transación en varios servidores.

Las características de iPlanet Application Server mejoran las capacidades de balance de carga — los administradores pueden asignar caracteristicas como números de CPUs y velocidades de CPU para determinar cómo puede balancear las peticiones el servidor. iPlanet Application Server soporta balance de carga entre CPUs dentro de un servidor multiprocesador, y proporciona capacidades de balance de carga a través de procesos J2EE. iPlanet Application Server también proporciona balance de carga basado en el tiempo de respuesta y en la carga del servidor. El balance de carga también está disponible para procesos JSP, y clientes ricos.

iPlanet Application Server proporciona características de alto rendimiento incluyendo caché y almacén de conexiones, caché de resultados, streaming de datos, comunicaciones de servidor Web optimizadas, y una arquitectura multi-thread y multiprocesador. iPlanet Application Server también proporciona particionado de aplicaciones para asegurar que la lógica de la aplicación se ejecuta en el servidor con más capacidad. iPlanet Application Server también mejora las características de rendimiento con servicios Web y Directorio. Por ejemplo, las características de conectividad de alto rendimiento de esta versión con los productos iPlanet Web Server e iPlanet Directory Server.

iPlanet Application Server integra el monitor de transaciones Encina como característica principal del rendimiento óptimo del servidor, eficacia y manejabilidad. Este monitor proporciona eficiencia para transaciones distribuidas.

Muchos componentes iPlanet Application Server, incluyendo JSPs y las aplicaciones, pueden desplegarse sin apagar los servidores importantes. Esto proporciona una máxima disponibilidad y sigue ofreciendo funcionalidades de aplicación actualizadas.

Reaccionar antes "sucesos no planeados" es el requerimiento más crítico para plataformas de comercio electrónico sobre Internet donde la demanda puede multiplicarse por cientos de miles de usuarios cada noche. iPlanet Application Server proporciona un requerimiendo de rendimiento superior para reaccionar a este alto volumen permitiendo que las compañías escalen sus aplicaciones a través de múltiples CPUs dento de un servidor hardware físico, así como a través de múltiples máquinas.

. Herramientas de Desarrollo y Despliegue de Clases Enterprise

iPlanet Application Server soporta el entorno de programación Java para el desarrollo de nuevas aplicaciones, así como las aplicaciones existentes de Netscape Application Server 4.0 C++. Sin embargo, las aplicaciones Java son más fáciles de desarrollar y de mantener, porque se aprovechan del modelo de aplicación basado en estándards.

Los desarrolladores de aplicaciones pueden elegir entre varias herramientas para construir aplicaciones. Estas herramientas pueden ir desde sencillos editores de texto, pasando por editores visuales de Java y HTML, hasta entornos de desarrollo integrados (IDEs). El marco de trabajo workbench de iPlanet Application Server permite una aproximación mejor -- los desarrolladores pueden elegir la herramienta de desarrollo que prefieran para crear aplicaciones para iPlanet Application Server.

Las herramientas incluyen iPlanet Application Builder y iPlanet Extension Builder. Estas herramientas están fuertemente integradas con iPlanet Application Server pero están empaquetadas separadamente.

iPlanet Application Builder

iPlanet Application Builder es una herramietna de desarrollo de aplicaciones Internet diseñada para simplificar la creación de aplicaciones enterprise multi-capa que se ejecutan sobre iPlanet Application Server. iPlanet Application Builder un entorno de desarrollo Web intuitivo y productivo que permite a los desarrolladores aprovechar, la preconstrucción de aplicación y los servicios de infraestrcutura del Servidor de Aplicaciones. Dirigiendo el modelo de aplicación distribuida multi-capa de iPlanet Application Server, iPlanet Application Builder permite a los desarrolladores construir rápidamente aplicaciones Web sofisticadas y de negocios críticos. iPlanet Application Builder también interopera con herramientas de terceras partes como WebGain VisualAge, Inprise JBuilder, y Macromedia Dreameaver.

Herramientas de Terceras Partes

Está disponible Forte for Java Enterprise Edition para clientes que tienen grandes equipos de desarrolladores (10-200), y trabajan desde un gran almacen de componentes reutilizables. Forte for Java tiene fuertes capacidades de versionado, haciendolo ideal para entornos donde es necesario manejar y controlar los cambios frecuentes de una aplicación.

iPlanet Application Server también soporta el mapeo sofisticado de media capa Object to Relational (OR). CocoBase, de Thought, Inc., proporciona un repositorio dinámico basado en herramientas de mapeo Object to Relational que ofrecen Container Managed Persistence (CMP) y Bean Managed Persistence.

. Mejoras de Control y Administración

iPlanet Application Server facilita el control de aplicaciones proporcionando facilidades de control integradas.

iPlanet Application Server Administration Tool

iPlanet Application Server Administration Tool (iASAT) controla una o más máquinas o aplicaciones iAS. iASAT es una aplicación Java con entorno de usuario gráfico que controla tareas como la configuración del rendimiento, parámetros de balance de carga y configuración de dispositivos. iASAT permite las siguientes capacidades:

  • Control remoto de múltiples servidores y aplicaciones distribuidas.
  • Despliegue y escalado dinámico de aplicaciones.
  • Ajuste del rendimiento y optimización del entorno servidor.

El control y el ajuste implican tareas como ajustar los threads de conexiones a bases de datos, ajustar los parámetros del balance de carga, configurar servidores Web y roles de control:

  • Log de eventos y análisis de fallos.
  • Características de seguridad incluyendo la vista y control de los roles de seguridad.
  • Características del control de transaciones para transaciones locales o globales.
  • Características de control de aplicaciones para aplicaciones J2EE.

Control Dinámico de Aplicaciones

La arquitectura de iPlanet Application Server permite que aplicaciones divididas se ejecuten incluso si fallan uno o más servidores. En una configuración de balance de carga de servidor, la lógica de la aplicación puede estar replicada en varios servidores. Si un servidor falla, el módulo de balance de carga dirige automáticamente la solicitud a otros servidores disponibles, así se evita el fallo de la aplicación.

Como la arquitectura de iPlanet Application Server promueve las aplicaciones de alta disponibilidad, los administradoes de servidores pueden usar iPlanet Application Server Administrator para realizar varias tareas en tiempo real, sin interrumpir la operación de las aplicaciones. Estas tareas incluyen:

  • Monitorizar, reconfigurar o reemplazar servidores.
  • intercambiar o actualizar componentes de aplicación.

iAS Deployment Tool

Características de la Herramienta de Despliegue de iPlanet Application Server:

  • Soporta la creación y despliegue (y edición XML mejorada) de módulos J2EE.
  • Soporta ensamblaje para J2EE y despliegue automático para aplicaciónes y componentes J2EE. Configuración de roles de seguridad, autentificación para la aplicación, y uniones en LDAP.

iAS Installation Tool

La herramienta de instalación de iPlanet Application proporciona cuatro tipos de opciones de instalación:

  • Express, proporciona la instalación más rápida. La mayoría de los parámetros de configuración se seleccionan por defecto.
  • Typical, la instalación permite al administrador sobreescribir algunos de los parámetros de configuración por defecto.
  • Custom, ofrece una instalación completa. Los administradores pueden configurar las bases de datos, las transaciones, y los procesos y conexiones del servidor.
  • Silent es un proceso de instalación no interactivo. Una vez que el administrador ha determinado los parámetros óptimos para un tipo de servidor dado, esto se pueden reutilizar para configurar rápidamente instalaciones adicionales.

Log de Eventos y Análisis de Fallos

iPlanet Application Server proporciona facilidades para hacer un log de las solicitudes desde servidores web y log a nivel de sistema y a nivel de aplicación sobre iPlanet Application Servers. Para aplicaciones desplegadas, el administrador del sistema puede usar logs contemporáneos para ayudar en el análisis de fallos y detectar intentos de rupturas de seguridad.

El log de eventos ocurre de múltiples formas en un iPlanet Application Server:

  • Los desarrolladores de aplicaciones peuden activar el log en su lógica de aplicación para ayudar en el análisis de fallos. Por ejemplo, una aplicación puede enviar mensajes como "Transaction succeeded" o "Transaction failed" en tiempo de ejecución dependiendo de las condiciones o eventos.
  • Los adminstradores del sistema pueden activar automáticamente el log de eventos para grabar mensajes generados por la carga dinámica de módulos (DLMs) y la ejecución de aplicaciones.
  • Los administradores del sistema pueden activar el log de solicitudes HTTP para grebar y monitorizar las solicitudes recibidas por un servidor Web. Los administradores pueden especificar el log, breve, normal o detallado. Si el log está activado, iPlanet Application Server graba información sobre la solicitud HTTP en una base de datos destino especicada. Los administradores podrán entonces analizar los logs, generar infomes personalizados, etc. El log de solicitudes HTTP requieres los conectores Web NSAPI o ISAPI.

Soporte de Herramientas de Control de Terceras Partes

iPlanet Application Server proporciona la habilidad de ser monitorizado y controlado mediante agentes SNMP como HP OpenView. SNMP es un protocolo usado para intercambiar datos sobre sistemas y estados y actividad de redes.

iPlanet Application Server almacena variables pertencientes al control de red en un árbol conocido como management information base (MIB) del servidor. A través de este MIB, iPlanet Application Server expone sus información de control principal a herramientas de terceras partes que ejecutan SNMP. Como resultado, iPlanet Application Server puede integrarse con herramientas de control de servidores enterprise, permitendo otras soluciones para la administración remota.

. Integración con iPlanet Directory Server e iPlanet Web Server

iPlanet Application Server incluye versiones de tiempo de ejecución de iPlanet Directory Server e iPlanet Web Server, Enterprise Edition.

iPlanet Directory Server

iPlanet Directory Server, que viene junto con iPlanet Application Server, es una implementación de iPlanet's del protocolo LDAP.iPlanet Application Server usa iPlanet Directory Server no sólo para almacenar los datos de configuración de iPlanet Application Server sino también como un respositorio central para información de usuarios y grupos. Esto significa que los datos administrativos para todos las instalaciones de iPlanet Application Server pueden centralizarse en un lugar. iPlanet Directory Server monitoriza y actualiza automáticamento los clusters o apliaciones iPlanet Application Server. Esta característica puede reducir la administración y asegurar que están cargadas las aplicaciones más recientes.

El iPlanet Application Server Administrator actúa como un cliente LDAP y puede acceder a la información sobre usuarios y grupos. Como resultado de esta integración con LDAP, iPlanet Application Server proporciona control unificado de usuarios, grupos y roles a través de la empresa.

iPlanet Web Server

El plug-in iPlanet Web Server para iPlanet Application Server proporciona mejoras de rendimiento sobre otras plataformas de servidores Web; iPlanet Web Server soporta los estándards servlet y Java ServerPages, permitiendo particionar las aplicaciones J2EE para mejorar el rendimiento, las capacidades de carga y el servidor de control de fallos de componentes.

. Características Clave

. Modelo de Aplicación

Un modelo de aplicación es la división conceptual de una aplicación de software en componentes funcionales. El modelo de aplicación de iPlanet Application Server promueve la reutilización de código y el despliegue rápido de aplicaciones.

El modelo de aplicación de iPlanet Application Server divide una aplicación en múltiples capas: presentación, lógica de negocios, y accesos a datos. La presentación se separa para distinguir la distribución de la página y la presentación lógica. Los acceso a datos se refieren tanto a bases de datos como a otras fuentes de datos.

El modelo de aplicación iPlanet Application Server está orientado al componente. Para aplicaciones Java, el modelo de aplicación ha sido mejorado para cumplir completamente con el estándard J2EE.

La siguiente tabla lista los componentes principales que componen las funciones de una aplicacion en el entorno de iPlanet Application Server:

Funcionalidad en la Aplicación Componentes de Aplicación
Presentación lógica Servlets
Distribución de la página JavaServer Pages
Lógica de negocios Enterprise JavaBeans
Accesos a bases de datos Enterprise JavaBeans usando JDBC; ficheros de consulta
Acceso a otras fuentes Connectores, JMS

. Componentes de Aplicación Estándards de la Industria

Para desarrollar aplicaciones Java, nosotros recomendamos usar componentes estándard siempre que sea posible. Estos componentes basados en estándards incluyen servlets, JavaServer Pages (JSPs), y Enterprise JavaBeans (EJBs), descritos aquí::

  • Los Servlets son clases Java que definen la lógica y la navegación de la página. Los servlets también soportan la creación o invocación de componentes de negocio.
  • Las JSPs son páginas de navegador web escritas en una combinación de HTML, etiquetas JSP y Java.
  • Los EJBs encapsulan las reglas y las entidades de negocio de una aplicación.

Además, los componentes de aplicación pueden invocar a llamadas JDBC. JDBC es un API estándard para conectividad de bases de datos.

. Alta Escalabilidad

iPlanet Application Server tiene una arquitectura escalable. Esto significa que las aplicaciones se pueden construir para conseguir las necesidades de despliegui incial. Luego las aplicaciones pueden escalarse según va creciendo el negocio.

El escalado de la aplicación se consigue de dos formas: añadiendo más servidores a un cluster de servidores, o añadiendo más CPUs a un sistema multi-CPU. La lógica de la aplicación puede entonces desplegarse en los nuevos servidores. Los desarrolladores no necesitan modificar nada en la lógica de la aplicación según crezca la base de usuarios.

Además, las tareas de la aplicación se pueden asignar dinámicamente al servidor que pueda procesar más eficientemente la solicitud. Esto se consigue mediante el particionado de la aplicación o el balance de carga dinámico.

. Particionar Aplicaciones

La arquitectura iPlanet Application Server soporta particionado de aplicaciones, lo que permite que la lógica esté distribuida entre varios servidores según se escala la aplicación para acomodar cargas pesadas. Usando la Herramietna de Administración de iPlanet Application Server, los administradores del sistema pueden dividir una aplicación en áreas funcionales.

Por ejemplo, en una aplicación de catálogo online, la lógica de la aplicación para el proesamiento de pedidos, el control de inventarios, y el procesamiento de chequeo pueden residir en diferentes servidores. Sin importar como se dividen y distribuyen las aplicaciones, la aplicación funciona como una única unidad coherente.

La lógica de la aplicación también se puede agrupar en grupos donde cada grupo consta de operaciones relacionadas. Por ejemplo, un grupo podría contener toda la lógica asociada con el procesamiento de pedidos. Cada componente de aplicación puede pertenecer a uno o más grupos. Las aplicaciones también pueden compartir la lógica entre ellas.

Los administradores del sistema pueden desplegar estos grupos de objetos lógicos de aplicación localmente o globalmente a través de servidores de aplicación de estas formas:

  • La porciones de una aplicación podrían residir únicamente en diferentes iPlanet Application Servers, aún así se ejecutarían como una sóla aplicación. De esta forma, la lógica de la aplicación se podría almacenar en el servidor que pueda ejecutarla más eficientemente. Por ejemplo, la lógica de aplicación de datos intensivos se puede ejecutar en el servidor que este más cercano a la fuente de datos para evitar latencias asociadas con el acceso remoto a datos.
  • Para aplicaciones de balance de cargas, el mismo grupo de objetos lógicos de aplicación se pueden almacenar en varios servidores. Esto permite a una aplicación ejecutar la lógica más eficientemente en el servidor que tenga más recursos disponibles.
  • Las aplicaciones podrían compartir dinámicamente ciertos objetos de lógica de aplicación. Por ejemplo, todas las aplicaciones de una red podrían compartir la misma lógica de aplicación para login y autentificación de usuarios o para la autorización de tarjetas de crédito.
  • El particionado de aplicaciones le da a los administadores de sistemas una tremenda flexibilidad para escalar y ajustar el rendimiento de las aplicaciones. Además, tener los componentes de una aplicación almacenados en varios servidores nos ayuda a asegurar una alta disponibilidad de la aplicación en el caso de una caída de servidor.

. Balance de Carga Dinámico

En un entorno con varias instalaciones de iPlanet Application Server, las solicitudes entrantes primero pasan a través del sistema de balance de carga. Este sistema dirige la solicitud al servidor que mejor pueda procesarla. iPlanet Application Server podría ofrecer muchos métodos de balance de carga, incluyendo carga del servidor, tiempo de respuesta, y los round robin y weighted round robin. Esto se cubren en más detalle en la sección de Administración. Los administradores pueden elegir entre estos mecanismos de balance de carga, así como ajustar los parámetros según sea apropiado.

. Alto Rendimiento

iPlanet Application Server es un servidor de aplicaciones de alto rendimiento, multi-thread y multiprocesador. iPlanet Application Server puede manejar un alto número de solicitudes concurrentes, conexiones a bases de datos, y sesión, y proporcionar un alto rendimiento incluso bajo cargas elevadas.

Además de la arquitectura de alto rendimiento, iPlanet Application Server ofrece muchas características que mejoran la eficiencia.

iPlanet Application Server ofrece alto rendimiento entre servidores web, que no sean máquinas iPlanet Application Server, y fuentes de datos finales heterogéneas a través de estas características:

Caché de JSP

iPlanet Application Server 6.0 proporciona una nueva característica llamada JSP Caching, que nos ayuda en el desarrollo de JSPs composicionales. Esto proporciona funcionalidades para cachear JSPs dentro del motor Java, haciendo posible tener un JSP master que incluya múltiples JSPs (similar a una página portal), cada una de la cuales puede ser cacheada usando diferentes criterios de caché. El caché JSP es además del caché del resultado.

Caché de Resultado

iPlanet Application Server mejora el rendimiento de la aplicación cacheando los resultados de la ejecución lógica de una aplicación. Los desarrolladores pueden opcionalmente activar esta característica en sus aplicaciones.

Si el caché está activado, iPlanet Application Server graba los parámetros de entrada lógicos de la aplicación y los resultados en el caché. La siguiente vez que iPlanet Application Server ejecute la misma solicitud, el servidor primero chequea el caché para determinar si los parámetros de entrada corresponden con la entrada del caché. Si corresponden, el servidor recupera los resultados desde el caché en vez de ejecutar de nuevo la solicitud. El caché de resultados es especialmente efectivo para solicitudes de grandes cantidades de datos que implican un gran tiempo de proceso y para lógicas de aplicaciones accedidas muy frecuentemente.

iPlanet Application Server tiene la habilidad de cachear los resultados de un servlet para asegurarse de que las siguientes llamadas al mismo servlet son más rápidas. iPlanet Application Server cachea los resultados de una solicitud (por ejemplo, la ejecución de un servlet) durante una cantidad de tiempo específica, por eso si sucede otra llamada para los datos, puede sólo devolver los datos cacheados en vez de tener que realizar de nuevo toda la operación.

Caché de Conexiones a Bases de Datos

Para mejorar el rendimeinto, iPlanet Application Server cachea las conexiones a bases de datos usadas más comunmente, las conexiones existentes son reutilizadas en vez de reestablecerlas cada vez. El caché de conexiones evita la sobrecarga implicita en la creación de nuevas conexiones a bases de datos por cada solicitud.

Los desarrolladores de aplicaciones pueden activar el caché de conexiones a bases de datos en su lógica de aplicación. En tiempo de ejecución, cuando una solicitud crea una nueva conexión a una base de datos, iPlanet Application Server almacena la conexión en el caché. Cuando la solicitud ha terminado de usar la conexión, ésta se marca como libre en el caché. Si se hace una nueva conexión con la misma base datos por el mismo usuario, iPlanet Application Server primero chequea el caché y usa una conexión libre existente en vez de crear una nueva. Si la conexión liberada permanece sin utilizar durante un periodo de tiempo especificado, es liberada por el servidor.

Los adminitradores de sistemas pueden usar la Herramienta de Administración de iPlanet Application Server para especificar la configuración para el caché de conexiones con bases de datos del servidor, como el número incial de conexiones en el caché y el límite de tiempo para liberarlas, etc.

Usando iPlanet Application Server Administration, los administradores del sistema puedan monitorizar el rendimiento del servidor y ajustar el número de conexiones disponibles en el caché. Esto nos asegura un ratio óptimo de conexiones almacenadas y recursos del sistema.

Data Streaming

iPlanet Application Server proporciona facilidades de streaming de datos. Esto mejora el rendimiento permitiendo que el usuario empiece a ver los resultados pronto, en vez de tener que esperar a que se haya procesado completamente la operación. Los desarrolladores de aplicaciones pueden controlar explícitamente que datos son enviados, o permitir al sistema que lo haga automáticamente.

El Streaming es especialmente útil para grandes conjuntos de datos que implican grandes consultas. Por ejemplo, supongamos que un usuario solicita un lista de precios que contiene 10.000 ítems. La aplicación puede procesar la consulta y mostrar los ítems al usuario según vayan estándo disponibles, por ejemplo 40 cada vez (normalmente una vista de una página completa), en vez de esperar hasta que se hayan recuperado los 10.000 ítems de la base de datos.

Capacidades Multi-Thread

iPlanet Application Server soporta las capacidades multi-thread del sistema operativo del host. Una aplicación puede optimizar el rendimiento procesando solicitudes en varios threads, lo que maximiza la utilización de recursos de la CPU.

Los desarrolladores de aplicaciones se aprovechan automáticamente del multi-thread en sus aplicaciones. Además, los desarrolladores pueden ejecutar operaciones de bases de datos, como consultas, inserciones, actualizaciones, borrados, etc, asíncronámente. Las operaciones asíncronas permiten a una aplicación hacer otro trabajo durante una operación que consume mucho tiempo, como una gran consulta, ejecutándose en segundo plano.

Los administradores del sistema pueden usar la herramienta de administración de iPlanet Application Server para especificar la configuración para multi-thread, de esta forma:

  • Número mínimo y máximo de threads para manejar una solicitud.
  • Número mínimo y máximo de threads para manejar solicitudes asíncronas a bases de datos.

Normalmente, los administradores monitorizarán el rendimiento del servidor y ajustarán el número de threads disponibles para conseguir un ratio óptimo entre threads y recursos del sistema.

Comunicaciones Optimizadas con Servidores Web

iPlanet Application Server optimiza el rendimiento de la aplicación a través de una alta integración con servidores Web. Esta integración ocurre usando Web Connector Plug-ins y los oyentes correspondientes. iPlanet Application Server soporta NSAPI, ISAPI, y CGI optimizado para iPlanet, Microsoft, y servidores Web compatibles con CGI, respectivamente.

. Control de Sesión y de Estado

iPlanet Application Server soporta las capacidades de control de estado y de sesión requeridas por las aplicaciones basadas en Web. iPlanet Application Server proporciona varias clases e interfaces que los desarrolladores de aplicaciones pueden usar para mantener la información de estado y de la sesión de usuario.

La información de estado y de sesión se almacena en cada servidor de un entorno distribuido.Por ejemplo, una aplicación pueden mostrar una pantalla de login, pidiéndole al usuario que introduzca un nombre de usuario y una passwowrd, luego esta información es grabada en un objeto session. Después la aplicación usa la misma información para hacer login en varias bases de datos son pedirle al usuario que lo teclee de nuevo.

De forma similar, en una aplicación de compra online, un objeto session puede almacenar la lista de productos seleccionados para comprar (como cantidad, precio, etc.) y variales persistentes (como el número total de pedidos que se están ejecutando).

El control de estado y de sesión es especialmente importante para aplicaciones que tienen operaciones complejas, multi-paso. En un entorno donde la lógica de la aplicación está dividida por diferentes servidores, los administradores del sistema pueden usar la herramienta de administración de iPlanet Application Server para designar opcionalmetne un solo servidor para que actúe como el repositorio central para toda la información de estado. Como en versiones anteriores, iAS mantiene y replica la información de sesión de usuario y la información de estado de las aplicaciones distribuidas.

. Alta Disponibilidad

Muchas aplicaciones empresariales deben estar accesibles (disponibles) 24 hotas al día, 7 días a la semana, iPlanet Application Server proporciona una solución altamente disponible y eficaz a través del uso del balance de carga y del control de fallos dinámicos (también llamdo recuperación de fallos).

iPlanet Application Server nos permite distribuir todas las partes de una aplicación entre varios servidores. Como resultado, si un servidor se cae, los otros servidores pueden continuar manejando las solicitudes. iPlanet Application Server minimiza el tiempo de paro proporcionando un reinicio automático de aplicaciones. Además, iPlanet Application Server mantiene y replica la información de sesión de usuario y la información de estado de las aplicaciones distribuidas. La información se mantiene mientras que haya más de una instalación de iPlanet Application Server se esté ejecutando además del servidor que cayó.

Los desarrolladores no necesitan preocuparse de construir características de recuperación y escalabilidad en sus aplicaciones. Las aplicaciones heredan estas características simplemente siendo hospedadas en el entorno de ejecución.

iPlanet Application Server 6.0 tiene un conjunto de capacidades de control de fallos que mejroan la disponibilidad de la aplicación. Estas incluyen:

  • Stateful session bean failover. Un bean de sesión implementa la lógica de negocio. Por ejemplo, un bean podría contener los contenidos de una tarjeta de compra online. Si hay un problema fatal inesperado con el servidor, el bean cae sobre otro servidor, y el usuario continúa donde se quedó. El soporte del control de fallos para beans de sesión es una característica de valor añadido de iPlanet Application Server. Los programas J2EE no necesitan ninguna modificación para soportar esta característica de control de fallos de iPlanet Application Server.
  • Rich Client failover El Rich Client Corba Executive Service (CXS) actúa como un puente entre clientes Rich que usan el protocolo IIOP y los EJBs sobre motores Java de iPlanet Application Server. Si se cae el servidor CXS dentro de iPlanet Application Server, el estado de todos los objetos puente de todos los EJBs será restaurado como antes del crash.

. Seguridad

iPlanet Application Server soporta todos los requerimientos de seguridad de J2EE, incluida la autentificación basada en rol, autentificación de certificados y autentificación basada en formularios.

iPlanet Application Server proporciona comunicación segura entre servidores Web y soporta SSL, HTTPS, y autentificación "desafío-respuesta" de los clientes. Para pasar el espacio de seguridad entre navegadores y fuentes de datos, iPlanet Application Server soporta autentificación de usuarios, cookies, y controles de acceso a bases de datos para el control seguro de operaciones transacionales. Incluso el log y el seguimiento permiten la detección de, y la protección contra, accesos no autorizados.

Seguridad Usando Listas de Control de Acceso

iPlanet Application Server 6.0 también proporciona Listas de Control de Acceso (ACL) para seguridad. En este modelo, las aplicaciones seguras dependen de dos tipos de validación:

Autentificamos a los usuarios comparando un nombre de usuario y una password proporcionadas por el usuario con un nombre de usuario y la password almacenadas en el servidor de directorio usando LDAP. La autentificación se mantienen en la sesión de usuario y permanece disponible hasta que la sesión expira o el usuario sale. Los componentes pueden recuperar la identidad para asegurarse de que el llamador es auténtico.

Podemos crear componentes seguros configurando listas de control de acceso que definen permisos concedidos a usuarios y grupos específicos. Estas listan también están almacenadas en el Servidor de Directorio usando LDAP. Los componentes pueden comprobar los usuarios que pertenecen a estos grupos.

El siguiente diagrama muestra los pasos básicos en el modelo de seguridad:

  • Primero, la aplicación establece una sesión para el usuario, y solicita que el usuario suminsitre un nombre de usario y una password.
  • Un servlet autentifica el nombre de usuario y la password comparándolos con los valores en el Servidor de Directorio, y luego "deja entrar al usuario" autentificando la sesión de usuario.
  • El contexto del servidor, una vista programática del estado del servidor, reconoce la sesión autentificada controlando un objeto identity para los componentes. Los componentes pueden comprobar la autenticidad examinando esta identity.
  • Adicionalmente, los componentes pueden comprobar directamente la indentidad para ver si tiene permisos para realizar ciertas tareas. Estos permisos están definidos en una lista de control de acceso, que reside en el Servidor de Directorio.
  • Si el usuario sale o expira la sesión, el contexto no puede suministrar ya la identity, por eso falla la autentificación para cualquier solicitud que requiera seguridad.

La identidad se pueden usar para determinar si un usuario o grupo es miembro de un cierto "rol", por eso este flujo de aplicación puede ser controlado basándose en una función de usuario en el paradigma de la aplicación. Por ejemplo, si parte de nuestra aplicación está restringida a usuarios de pago, esos clientes pueden estar asociados con un grupo llamado PayingCustomers. Entonces podremos escribir nuestros componentes para que realicen tareas basándose en si un usuario es miembro de ese grupo.

Adicionalmente, cada componente puede tener una lista de control de acceso que define los permisos dados a varios usuarios o grupos con respecto a ese componente. Definimos los permisos y los usuarios/grupos a los que se aplican en la Herramienta de Administración de iPlanet Application Server o en ficheros de configuración de componentes. Por ejemplo, un EJB que representa una base de datos de empleados puede contener una ACL especificando los miembros del grupo Employee que sólo pueden leer datos, mientras que los miembros del grupo Manager también pueden actualizar datos.

. JMS - Java Message Server

JavaTM Message Service (JMS) 1.0.2 proporciona un conjunto de interfaces estándards del lenguaje Java para Enterprise Messaging Systems, frecuentemente llamados Message Oriented Middleware. Estos interfaces están implementados por productos llamados Proveedores JMS. El API JMS y el marco de trabajo provider permiten el desarrollo de aplicaciones portables basadas en mensajes, en el lenguaje Java.

JMS proporciona almacenes de conexiones y mapeos de usuarios:

  • El Connection Pooling mejora el rendimiento y la eficiencia de aplicaciones iAS usando JMS mediante la creación y control de almacenes de conexiones desde iAS hacia productos de mensajería compatibles con JMS.
  • El Mapeo de usuarios acelera el desarrollo de aplicaciones iAS y facilita la administración soportando el sencillo mapeo de usuarios autentificados a nivel de aplicación web para usuarios, grupos y roles autorizados por el proveedor de mensajería compatible JMS.

. Próxima Generación de Aplicaciones XML

iPlanet Application Server proporciona completo soporte para construir la próxima generación de aplicaciones verticales usando XML. iAS está empaquetado con el analizador XML de Apache (Xerces) y el procesador XSL (Xalan). Las ricas capacidades de generación y validación permiten que el analizador Xerces-J sea usado para:

  • Aplicaciones verticales avanzadas que usan XML como su formato de datos.
  • Valdiación instantánea para crear editores XML.
  • Crear y mantener la integridad de datos de negocios electrónicos expresados en XML.
  • Internacionalización de aplicacioens XML.
  • Crear XML que tenga cuidado con lo Servidores Web

Xerces proporciona un excelente análisis y generación de XML. Cumple los estándards W3C XML, Esquema XML y DOM (Nivel 1 y 2), así como el estándard "de hecho" SAX (versión 2) para analizadores Java de validación completa. El analizador Xerces está basado en componentes, es modular y puede configurarse fácilmente.

Los documetos XML se convierten a HTML, texto y otros tipos de documentos XML usando el procesador XSL, Xalan. Xalan-j versión 1.0,1 cumple las recomendaciones para el "Java W3C Recommendations for XSL Transformations (XSLT) " y el "XML Path Language (XPath)".

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.