Portada  |  Formación  |  Consultoría  |  E-Commerce  |  Boletín Nosotros 
 

   IntSight's Server Explorer
 Ahorre tiempo y migrañas con este asistente para Delphi 6 y Delphi 7.
   Boletines técnicos
 Los nueve últimos boletines reunidos en un fichero PDF. Si no se ha suscrito todavía, ¡ya es tiempo!


   Delphi
     Cursos a distancia
     Cursos presenciales

   C#
     Cursos a distancia
     Cursos presenciales


   La Cara Oculta de C#
   La Cara Oculta de Delphi 6

   IntSight's Server Explorer

 
 

PROGRAMACION CON WEBSNAP EN DELPHI 6/7

El objetivo de este curso es el estudio de WebSnap, un sistema de desarrollo de aplicaciones para Internet basado en el uso de scripting en el servidor, y en el acceso desde el lenguaje de scripts a objetos adaptadores escritos en Delphi que representan el modelo de negocio.

Duración del curso

El curso se impartirá en un total de 24 horas.

Requisitos para el seguimiento

El seguimiento del curso puede hacerse con Delphi 6 o Delphi 7, aunque recomendamos esta última versión.

PROGRAMACION CON WEBSNAP

  • Windows Scripting Host
  • El WSH es el motor que utiliza internamente WebSnap para implementar el tratamiento de scripts. Se puede acceder al WSH a través de un control ActiveX, y permite añadir soporte de scripts para cualquier aplicación, del tipo que sea.

  • WebSnap: arquitectura general
  • Conozca los motivos tras el diseño de WebSnap, y compare su forma de trabajo con otros sistemas equivalentes.

  • Distribución de peticiones
  • WebSnap soporta varios tipos de peticiones: entre ellas, las peticiones de páginas, similares a las de WebBroker, y las peticiones de acciones, un subconjunto de peticiones con reglas bien definidas, que en la mayoría de los casos son lanzadas y tratadas automáticamente por el motor de WebSnap.

  • Módulos de páginas y módulos de aplicación
  • Una aplicación WebSnap consiste en una serie de módulos de páginas y un módulo central de aplicación. Estos módulos se instancian normalmente por mediación de una caché, y van asociados a contextos de petición independientes.

  • Servicios de WebSnap
  • La funcionalidad de WebSnap se puede agrupar en varios servicios. Algunos de ellos son de implementación obligatoria, aunque algunos de los opcionales, como el servicio de localización de ficheros pueden simplificar mucho el desarrollo y mantenimiento de aplicaciones para WebSnap.

  • Generadores de contenido
  • WebSnap una gran variedad de sistemas de generación de contenido, comenzando por las etiquetas transparentes compatibles con WebBroker y terminando con la generación basada en XML/XSLT. Pero no todo el monte es orégano...

  • Adaptadores
  • El núcleo del desarrollo en WebSnap consiste en definir adaptadores que encapsulan la funcionalidad de la aplicación, para luego acceder a ellos desde scripts.

  • Campos y acciones
  • Cada adaptador debe definir sus campos y acciones. El concepto más difícil de entender en WebSnap es precisamente la acción.

  • Acciones y formularios
  • El diseño de acciones y campos va íntimamente ligado al diseño de formularios que actúan sobre la información ubicada en el lado servidor.

  • Acceso a adaptadores desde script
  • El acceso a los adaptadores puede implementarse mediante JScript o VBScript. Hay unas reglas básicas en estos lenguajes que es conveniente conocer.

  • Generación de código automática para adaptadores: pros y contras
  • El componente TAdapterPageProducer puede generar automáticamente código en JScript para la presentación de la página. Esto es muy útil para los primeros pasos del desarrollo, pero pronto se tropieza con las limitaciones del mecanismo. También hay consideraciones importantes que plantearse sobre el mantenimiento de aplicaciones basadas en TAdapterPageProducer.

  • Campos con listas de valores, y de selección múltiple
  • No todos los campos de adaptador son iguales. Hay diferencias en los tipos de valores que representan, y en su presentación visual posterior.

  • Campos de tipo fichero: cómo enviar ficheros a un servidor
  • El tipo más exótico de campo de adaptador es el que permite la subida de ficheros hacia un sitio de Internet. Estos campos están relacionados también con el almacenamiento y presentación de imágenes, y otros tipos de contenidos binarios.

  • Servicios de sesiones
  • WebSnap mantiene la continuidad de las peticiones de un usuario por medio de cookies. El mantenimiento de sesiones se complementa con un servicio implícito de variables de sesión, que se implementa mediante estructuras de datos almacenadas en memoria.

  • Propagación de valores a través de páginas
  • Con ayuda de las variables de sesión, podemos establecer valores y propiedades a los que podemos acceder desde cualquier página de la aplicación.

  • Extensiones al servicio de sesiones
  • Como casi todo aspecto de WebSnap, también es posible hacer mejoras y extensiones al mecanismo original de manejo de sesiones.

  • Iteración en adaptadores
  • Aunque la mayoría de los ejemplos de WebSnap utilizan adaptadores para representar registros independientes, también pueden utilizarse para representar colecciones.

  • Paginación
  • Si el número total de registro de un adaptador con soporte para iteración es razonable, podemos implementar un sistema de paginación muy sencillo pero útil. Aprenda a utilizarlo, y conozca sus limitaciones.

  • Adaptadores para conjuntos de datos
  • No obstante, el tipo de adaptador más socorrido es el TDataSetAdapter, que permite acceder desde script a conjuntos de datos simples, o en relación maestro/detalles.

  • Rejillas
  • La forma más inmediata y espectacular de mostrar el contenido de un adaptador de conjuntos de datos, es utilizar rejillas HTML generadas por medio de TAdapterPageProducer. Estas rejillas pueden luego ser modificadas en el código script, y esta técnica es un ejercicio recomendable para familiarizarnos con el uso de adaptadores desde JScript.

  • Integración de consultas sobre bases de datos
  • Para medir la potencia o facilidad de uso de una herramienta, es aconsejable programar con ella la operación que necesitaremos con mayor probabilidad. En el caso de las aplicaciones para bases de datos a través de Internet, la piedra de toque es la búsqueda y navegación mediante consultas. ¿Cómo se puede pasar un parámetro a una consulta, o incluso generar la consulta completa, para luego visualizar los resultados?

  • Paginación de consultas
  • Podemos utilizar el sistema predefinido de paginación para dividir el resultado de una consulta en páginas, pero sólo si se trata de un número pequeño de filas...

  • Paginación eficiente
  • Para resultados de consultas más grandes, tenemos que implementar nuestro propio mecanismo de paginación.

  • Modos de adaptador
  • Un adaptador puede diseñarse como una máquina de estados. El estado de un adaptador se conoce técnicamente como modo, y puede influir en la interpretación de acciones o en la presentación visual del contenido del adaptador.

  • Edición en conjuntos de datos
  • Precisamente, el mejor ejemplo de uso de los modos de adaptador es la implementación de la edición sobre conjuntos de datos.

  • Identificación y autenticación de usuarios
  • Otro de los puntos fuertes de WebSnap es la sencillez con que se implementan los servicios de identificación de usuarios. Presentamos en primer lugar el mecanismo ofrecido por omisión, basado en listas de usuarios almacenadas en memoria, y que hace uso del servicio de sesiones de WebSnap.

  • Permisos de acceso para acciones
  • Una vez que podemos identificar al usuario, podemos controlar los permisos de acceso a determinadas acciones de adaptadores.

  • Permisos de acceso para páginas
  • Sin embargo, para establecer permisos diferenciados de acceso a páginas hay que realizar modificaciones en el código fuente de la página, en vez de implementarse por medio de propiedades, que sería lo esperable.

  • Extensiones al servicio de identificación de usuarios
  • El mecanismo básico de identificación ofrecido por WebSnap almacena la lista de usuarios y permisos en memoria. Lo más frecuente, sin embargo, es que esta información resida en una base de datos.

  • Plantillas
  • Podemos registrar plantillas de código script de modo que el asistente para la creación de páginas de WebSnap pueda reconocerlas y utilizarlas.