
"Creación de aplicaciones Web rápidas" incide doblemente en la rapidez. Eso es porque es posible crear sofisticadas aplicaciones Web orientadas a base de datos con CSP más rápidamente que con cualquier solución tradicional, y además porque la base de datos incorporada de Caché es la más rápida del mundo, capaz de dar soporte a sistemas con decenas de miles de usuarios simultáneos.
Hay muchas formas de escribir aplicaciones Web con Caché, incluyendo todos los métodos tradicionales que utilizan SQL para acceder a la base de datos. En este capítulo vamos a describir otra solución más directa denominada CSP.
CSP es una tecnología que se proporciona como parte del Servidor de Aplicaciones de Caché. Es el medio más rápido para que las aplicaciones de Caché interactúen con la Web y proporciona:
CSP soporta HTML, XML y otros "lenguajes de marcas" orientados a la Web.
CSP no es una herramienta de diseño Web, aunque se puede utilizar con ellas. Mientras las herramientas de diseño Web generalmente se concentran sólo en la producción de HTML estático, CSP va más allá del aspecto de las páginas para facilitar el desarrollo de la lógica de la aplicación. También proporciona la configuración que permite la ejecución rápida del código en el Servidor de Aplicaciones de Caché.
CSP da soporte a un potente entorno de programación por procedimientos, de modo que las aplicaciones se pueden escribir con un nivel de sofisticación y precisión que supera las posibilidades de las tecnologías centradas en la generación de aplicaciones. También soporta el desarrollo rápido mediante su arquitectura de clases, que produce "bloques de construcción" de código que se pueden combinar y que, mediante el uso de asistentes, pueden producir con rapidez versiones sencillas de código parametrizado. El resultado es la capacidad de desarrollar rápidamente aplicaciones Web muy sofisticadas.
Las ventajas de CachéLa programación orientada a objetos por procedimientos más los Asistentes de Caché dan como resultado el desarrollo rápido de aplicaciones sofisticadas de base de datos basadas en navegador. |
Estas son algunas de las características de Caché Server Pages:
Todo esto es tecnología avanzada, pero no tiene porqué ser difícil utilizarla. Nos hemos centrado en que el uso de CSP sea fácil, haciendo que todas estas posibilidades trabajen de forma automática para el usuario. Nuestra filosofía es la potencia mediante la simplicidad; la complejidad debe resolverse en nuestra implementación, no en su programación.
Tecnologías Web tradicionales
En la tecnología Web tradicional, se envía una solicitud al servidor Web y el servidor Web recupera un archivo secuencial de HTML y lo envía de vuelta al navegador. Cuando las aplicaciones incluyen datos variables, el desarrollo se complica y los programadores normalmente utilizan CGI (Common Gateway Interface), con lenguajes como Perl o tcl, en el servidor Web y realizan consultas SQL y solicitudes de procedimientos almacenados a la base de datos. Como entorno de programación, esto deja mucho que desear, y la ejecución (especialmente con gran número de usuarios) puede ser completamente ineficaz a medida que el servidor Web se sobrecarga.
Con CGI, cada solicitud del navegador crea habitualmente otro proceso. Para evitar esta sobrecarga, los programadores a veces enlazan el código de la aplicación directamente con el servidor Web, con un desafortunado efecto secundario: un error de ese código puede provocar la caída del servidor.
Páginas de servidor dinámicas
CSP utiliza una solución distinta para la programación y la ejecución: Tecnología de páginas de servidor dinámicas. El contenido (HTML, XML, hojas de estilo, imágenes y de otro tipo) se genera por programación en tiempo de ejecución en el Servidor de Aplicaciones de Caché, en lugar de proceder de archivos secuenciales, lo que permite mucha más flexibilidad al responder a las solicitudes de las páginas.
La mayoría del código de la aplicación se ejecuta en el Servidor de Aplicaciones de Caché, que puede estar o no en el mismo ordenador que el servidor Web. Parte del código (normalmente JavaScript o Java) se puede ejecutar en el navegador, generalmente para dar soporte a operaciones como validación de datos, aplicar formato de nuevo o llamar al código del servidor.
Con esta solución, no hay porqué crear procesos para cada solicitud del navegador (como se hace en la solución CGI tradicional), lo que aumenta el rendimiento. Y como el código de la aplicación no está enlazado con el servidor Web, un error de la aplicación no provoca la caída del servidor.
Sesiones – El modelo de ejecución
Todo el proceso relacionado con las páginas de un solo navegador se considera parte de una sesión, desde la primera solicitud del navegador hasta que la aplicación termine o se produzca un error de tiempo de espera (timeout). Cuando el servidor Web recibe una solicitud de página (URL) con la extensión de archivo ".csp", esa solicitud se envía (mediante una fina capa de código Caché asociada al servidor Web) al Servidor de Aplicaciones de Caché adecuado, que puede estar en un ordenador distinto.
Cuando el Servidor de Aplicaciones de Caché recibe la solicitud, determina si ya existe una sesión abierta para ese navegador. Si no es así, se inicia una automáticamente. A continuación, Caché ejecuta el código de aplicación asociado a esa página concreta, llevando a cabo las acciones solicitadas por el usuario y creando mediante programación el contenido HTML, XML, de imagen o de otro tipo que se envía de vuelta al navegador.
Una sesión finaliza cuando se asigna un valor a la propiedad del objeto Session que la termina. Las aplicaciones que se ejecutan sin información de estado pueden elegir terminar la sesión en cada página.
Conservación del estado
Uno de los retos a los que se enfrentan los desarrolladores es la inherente carencia de estado que la Web tiene por naturaleza, ya que no existe una forma sencilla de retener en el servidor la información de una petición a otra. Las aplicaciones normalmente envían al navegador toda la información de estado que necesitan retener, ya sea en URLs o en campos de formulario ocultos. No es una técnica muy efectiva para las aplicaciones más complejas, que pueden recurrir a guardar datos temporalmente en archivos o bases de datos. Desafortunadamente, esto supone una carga significativa sobre el servidor y hace que la programación sea considerablemente más difícil.
El modelo de sesión de Caché permite a Caché conservar de forma automática y eficaz los datos entre llamadas de un navegador. CSP proporciona un objeto Session que contiene la información general de la sesión y propiedades que permiten al programador controlar diversas características de la sesión. La aplicación puede almacenar en el objeto Session sus propios datos, que se conservan automáticamente entre una solicitud y la siguiente.
La aplicación determina en qué medida se conserva el estado estableciendo la propiedad Preserve del objeto Session en 0 o en 1. (El valor por defecto es 0, y se puede modificar dinámicamente en tiempo de ejecución).
Un valor de 0 permite la partición lógica de todos los datos conservados y que varias sesiones compartan un solo proceso, pero conserva el estado en menor medida. Un valor de 1 resulta más sencillo para el programador y proporciona una gama más amplia de posibilidades, a costa de utilizar más recursos del servidor.
El objeto Request
CSP proporciona automáticamente varios objetos además del objeto Session con el fin de ayudar al programador a procesar la página. Uno de éstos es el objeto Request. Cuando se recibe una página, se decodifica la URL y su contenido se sitúa en el objeto Request. El objeto Request contiene todos los pares nombre/valor y los datos del formulario, además de otra información de utilidad. Por ejemplo, se podría obtener el valor del nombre "FilmID" mediante el código:
%request.Data(”FilmID”,1) | // el 1 indica que deseamos el 1er valor de este nombre | |
| // en caso de que este nombre tenga varios valores |
Las ventajas de CachéAl conservar automáticamente la información de estado en el servidor, el tráfico de red y la carga sobre el servidor son menores, ya que la aplicación no tiene que seguir archivando y accediendo a los datos en cada solicitud de página. Y programar la aplicación es más sencillo. El uso de Páginas de servidor dinámicas y del Servidor de Aplicaciones de Caché aporta mayor flexibilidad a la hora de responder a las solicitudes, ejecución más rápida sin riesgo de que los errores de la aplicación provoquen la caída del servidor Web y un entorno de programación más productivo. |
Caché Technology Guide