Caché

Innovará
en
gestión de datos 
y en desarrollo rápido

Creación rápida de aplicaciones web completas con la tecnología InterSystems Zen

Muchas de las aplicaciones actuales ofrecen una interfaz de usuario que se ejecuta en un navegador web. Y muchas de esas interfaces son tan completas y sofisticadas como las de las aplicaciones desplegadas en un escritorio de ordenador. Caché incluye la tecnología InterSystems Zen™, que permite crear aplicaciones de bases de datos web completas en un tiempo récord.

Tecnología CSP

Nuestra tecnología Caché Server Pages (CSP) es la base de Zen y proporciona los mecanismos necesarios para ejecutar aplicaciones web. Algunas de las características de Caché Server Pages son estas

  • Páginas de servidor dinámicas: – Las páginas se crean dinámicamente en el servidor de aplicaciones mediante el código de la aplicación, en lugar de tener un servidor web que simplemente devuelve HTML estático. Las aplicaciones responden rápidamente a distintos tipos de solicitudes y adaptan las páginas resultantes que se envían de vuelta al navegador.
  • Modelo de sesió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 exceda el tiempo de respuesta (timeout).
  • Conservación del estado del servidor: – En una sesión, los datos de la aplicación que están en el servidor (e incluso el contexto completo de la aplicación) se pueden conservar automáticamente en las solicitudes del navegador, facilitando el desarrollo y la ejecución de aplicaciones complejas.
  • Autenticación del usuario: – Puede utilizarse cualquiera de los mecanismos de autenticación de Caché.
  • Encriptado – Caché encripta automáticamente todos los datos de la URL, para ayudar a autentificar las solicitudes y evitar la manipulación. La clave del encriptado se conserva únicamente en el servidor, y sólo es válida para el transcurso de una sesión.

Arquitectura de clases de las páginas Web

Class Architecture Of Web Pages

En Caché, cada página web es un objeto, una instancia de una clase de página que contiene métodos (código) para generar el contenido de la página. Normalmente las clases de página proceden de una clase de página Web estándar denominada “%CSP.Page” que proporciona a cada página varias posibilidades integradas, como la generación de cabeceras y el cifrado. Esta arquitectura de clases facilita el cambio de comportamiento de una aplicación y la utilización de un estilo común. También aporta todas las demás ventajas de la programación de objetos al desarrollo para la Web.

En general, recomendamos que las páginas contengan sólo la lógica de la interfaz. Las reglas de negocio y de la base de datos deben incluirse en clases distintas, de modo que exista una separación clara entre el código de la interfaz de usuario y la lógica de la base de datos, y que sea más fácil añadir interfaces de usuario adicionales más adelante.

Zen y páginas Web basadas en componentes

ZEN proporciona una forma sencilla de crear rápidamente aplicaciones Web complejas con un aspecto visual sofisticado y una interfaz de usuario muy interactiva. ZEN no es 4GL, es una biblioteca completa de componentes de objetos pre-construidos y herramientas de desarrollo basadas en la tecnología CSP y de objetos de InterSystems. ZEN es especialmente apropiado para desarrollar una versión Web de las aplicaciones cliente/servidor creadas originalmente con herramientas como Visual Basic o PowerBuilder.

Los componentes de ZEN permiten una interacción mucho más dinámica. El usuario no está limitado exclusivamente a los mecanismos de “remisión” para enviar valores al servidor. Por ejemplo, con el componente de formulario de ZEN, podrá definir su propia validación personalizada, incluyendo llamadas inmediatas al servidor sin necesidad de tener que solicitar una página y redibujarla a continuación. Para los usuarios, esto representa una forma más natural de introducir los datos.

ZEN utiliza el mecanismo de gestión de sesiones de CSP que proporciona autentificación de usuarios, cifrado de datos y retención de datos de sesión persistentes entre peticiones de páginas. Todas las comunicaciones entre el navegador y el servidor se producen mediante el envío de objetos entre ellos utilizando una versión más sofisticada de la técnica a la que se suele hacer referencia como AJAX (JavaScript asíncrono y XML).

Las páginas basadas en ZEN pueden entremezclarse fácilmente con páginas desarrolladas utilizando otras técnicas de CSP para el desarrollo Web.

¿Qué es un componente de ZEN?

Un componente de ZEN es una definición de clase que especifica el aspecto y comportamiento del componente en la página. La definición de clase de ZEN contiene, en un único documento, la definición completa de un componente, incluidas las hojas de estilo, el código del servidor y el código del cliente.

En tiempo de ejecución, ZEN crea dos objetos de cada componente utilizado en la página. Un objeto en el cliente, que ZEN crea automáticamente como un objeto JavaScript dentro del navegador, y un objeto en el servidor. ZEN gestiona automáticamente el estado de ambos objetos y gestiona el flujo de información entre ellos.

 

Tipos de componentes de ZEN

La biblioteca de ZEN incluye componentes que implementan todos los tipos de controles HTML estándar. Cuadros de entrada, cuadros de texto, botones, casillas de verificación, etc. Estos componentes tienen comportamientos adicionales heredados de la clase de controles de ZEN.

ZEN también incluye un conjunto de componentes más complejos que visualizan datos automáticamente de la base de datos y saben cómo actualizar estos datos dinámicamente en respuesta a los eventos del usuario. Por ejemplo, el potente componente de tabla de ZEN visualiza automáticamente los datos dentro de una tabla HTML utilizando una consulta de la base de datos. El componente de tabla soporta paginado, desplazamiento, clasificación por columnas, filtrado y una gran variedad de estilos. El contenido de la tabla puede renovarse desde el servidor sin necesidad de redibujar toda la página.

Otros componentes de ZEN son:

  • Menús – Se admiten diversos tipos de menús.
  • Grids – Añada a la página Web un comportamiento similar a las hojas de cálculo.
  • Árboles – Los datos se visualizan de forma jerárquica con un control de árbol.
  • Fichas – Un componente de ficha contiene una serie de fichas, cada una de las cuales contiene otros componentes.
  • Chart – A rich set of chart components are implemented using SVG, including line, area, bar, pie, hi-low, and XY charts.
  • Gráficos – Con SVG se implementa un conjunto completo de componentes de gráficos, que incluye gráficos de líneas, áreas, barras, circulares, máximo-mínimo y XY.

Cambio del aspecto de los componentes de la biblioteca de ZEN

Todos los componentes de ZEN disponen de un conjunto de propiedades que controlan el aspecto. Las aplicaciones pueden definir estas propiedades en tiempo de ejecución para cambiar los valores, el aspecto y el comportamiento de los componentes.

El aspecto visual también se controla mediante definiciones de estilos de CSS (Hojas de estilo en cascada) estándar. Puede modificar estos estilos (para cambiar las fuentes, colores, tamaño, etc.) a nivel de aplicación, página o en un componente individual.

Puede crear subclases de los componentes de la biblioteca de ZEN para modificar su aspecto y comportamiento

Creación de nuevos componentes de ZEN

Una de las principales ventajas de ZEN es la facilidad de creación de nuevos componentes.

Cada componente se implementa como una clase. Para crear un nuevo componente: (1) cree una nueva clase de componente, que puede ser una subclase de un componente existente; (2) implemente un método que represente el contenido HTML del componente; (3) defina los métodos del servidor y del cliente que implementan el comportamiento en tiempo de ejecución del componente; y (4) asegúrese de que la clase incluye las definiciones de estilos de CSS necesarias para especificar el aspecto visual del componente.

Cómo localizar una aplicación ZEN a diferentes idiomas

Si se desea, ZEN mantiene automáticamente dentro de una tabla de localización especial un conjunto de todos los valores de texto (títulos, etiquetas, etc.) visualizados por los componentes incorporados en la aplicación. Puede exportar la tabla de localización de la aplicación como un documento XML, traducir los valores a otros idiomas e importar las nuevas tablas.

En tiempo de ejecución, ZEN utiliza los valores de texto basándose en la preferencia de idioma actual del navegador del usuario.

Soporte de SVG

Los SVG (gráficos vectoriales escalables) proporcionan una forma estándar y potente de visualizar datos gráficos dentro de una página Web. ZEN incluye la capacidad de crear componentes gráficos que se representan a sí mismos utilizando SVG e incluye un conjunto completo de componentes pre-construidos basados en SVG

¿Qué navegadores soporta ZEN?

ZEN trabaja con Firefox (v1.5 y superior) e Internet Explorer (v6.0 y superior). En el caso de Firefox, no son necesarios plugins, porque SVG está incorporado. En el caso de Internet Explorer, se necesita el plugin SVG de Adobe si desea utilizar componentes de SVG en ZEN. La biblioteca gestiona las diferencias entre SVG de Firefox e Internet Explorer.

Zen Reports

hammock

Zen incluye un marco ampliable para definir y generar informes personalizados. Un informe Zen (“Zen report”) es un tipo especial de clase Zen que permite especificar informes de bases de datos en XHTML o PDF. Nuestro editor de formato gráfico ofrece un control de programación total sobre el formato y el aspecto de los informes, y permite la inclusión de diagramas y gráficos de Zen (estáticos). Los informes pueden publicarse en un navegador o imprimirse, ya sea en el lado del servidor o en una impresora local. Con los informes de Zen sus aplicaciones de Internet completas pueden reproducir exactamente los informes que los usuarios están acostumbrados a ver, o generar fácilmente nuevos informes útiles.

Las ventajas de Caché

Interfaces Web de usuario completas: Pueden generarse páginas muy interactivas y visualmente sofisticadas cuyo aspecto sea más similar a las aplicaciones cliente/servidor de la GUI que a un formulario de navegador simple y tradicional con un botón enviar. El usuario encuentra el formato interactivo más natural y fácil de usar.

Desarrollo rápido basado en objetos: La utilización de componentes pre-construidos agiliza el desarrollo y lo hace más fácil de modificar en un futuro.

Interfaces de usuario coherentes: La arquitectura basada en componentes facilita la definición y cumplimiento de las directrices de estilo y comportamiento en toda la aplicación.

Generación automática de informes: Los informes se pueden crear e imprimir de forma automática, o enviarse a los navegadores de los usuarios.