versión 6.5 (Modificado)
Ejemplo en modo contextual
Esta sección presenta un ejemplo simple de publicación de una base de datos en modo contextual. Este modo automático puede ser utilizado particularmente para los servidores de Intranet. Esto ilustra los principios básicos de funcionamiento del servidor Web de 4D.
La estructura de esta base es simple: la base tiene una tabla, un formulario de entrada, un formulario de salida y una barra de menús. La página de inicio es personalizada. La base es publicada como un servidor Web.
1. Conexión al servidor Web
Conéctese al servidor Web abriendo la base en un navegador Web. Obtendrá la siguiente página de inicio:
2. Visualizar y navegar por los registros
Haga clic en el enlace de texto Listar registros existentes. Se presenta el equivalente de visualización de una selección 4D en la Web:
En este punto, puede navegar por los registros de acuerdo a su conveniencia. Después haga clic en el botón Fin y regrese a la página de inicio del sitio Web.
3. Añadir registros
En la página de inicio del sitio Web, haga clic en el enlace de texto Añadir registros para mostrar el equivalente Web del registro 4D en la Web:
Puede añadir tantos registros como quiera. Cuando temine, haga clic en el botón Cancelar (el que tiene la X roja) para volver a la página de inicio del sitio Web.
4. Listar o añadir registros en el menú principal
En la página de inicio, haga clic en el botón Ir a la barra de menús principal, obtendrá el equivalente Web de la barra de menús personalizada de 4D:
En este punto, puede hacer clic en un comando de menú para ver o añadir registros: los métodos 4D asociados a estos comandos de menú son los mismos utilizados que fueron utilizados desde la página de inicio.
5. Terminar la conexión
Cuando termine, salga de su navegador. 4D terminará la conexión Web tan pronto como transcurra el tiempo de espera antes de la desconexión.
Inicialización de una conexión Web en modo contextual
Cada vez que un navegador Web se conecte a una base 4D publicada como un servidor Web en modo contextual, 4D realiza las siguientes acciones:
Ejecuta el método de base On Web Authentication, si existe.
Si este método devuelve True o no existe, se ejecuta el método de base On Web Connection, si existe.
Si no existe este método de base o si el método ha terminado su ejecución, 4D muestra la página de inicio por defecto definida en las Preferencias, si la hay.
Si no se ha definido ninguna página de inicio, 4D muestra la barra de menús actual (por defecto, la barra de menús #1), si existe.
Si no hay página de inicio por defecto ni barra de menú definida en la base, 4D muestra una página Web por defecto que indica: "Esta base no ha sido configurada aún para la Web".
El siguiente diagrama resume estas acciones:
El método de base On Web connection puede llamar todo método de proyecto o todo formulario definido en la base, así como también páginas HTML. El método de base puede administrar toda la sesión.
Una conexión Web a 4D o 4D Server no es igual a una conexión cliente/servidor. El protocolo HTTP, que soporta HTML y la Web, no es un protocolo basado en la sesión; es un protocolo basado en la petición. En cliente/servidor, usted se conecta, trabaja en una sesión y luego se desconecta del servidor. Con HTTP, cada vez que realice una acción que necesite la atención o una acción del servidor Web, se envía una petición al servidor. En resumen, una petición HTTP puede considerarse como una secuencia "conexión+petición+tiempo de respueta+desconexión."
En modo contextual, para mantener una sesión cliente/servidor por intermedio de HTTP, por defecto 4D mantiene, por medio de una codificación transparente de los URLs, un contexto que identifica de manera única a su conexión Web y al mismo tiempo asocia la conexión al proceso 4D que la administra. Sin embargo, en este modo 4D no puede terminar una sesión de peticiones Web de la misma manera que una sesión cliente/servidor estándar. Esa es la razón por la que la terminación de las sesiones cliente/servidor se maneja por medio de un sistema de temporización. El proceso 4D que administra la conexión Web termina después de no detectar actividad por un periodo de tiempo igual al tiempo de espera definido en las propiedades.
Base de datos y servidor Web a la vez
Una sesión de servidor Web 4D puede ser administrada con la ayuda de barras de menús, formularios y métodos 4D en modo contextual. En el ejemplo anterior, la visualización y la adición de registros se realizó por intermedio de métodos y formularios 4D simples. Si no hubiéramos incluido una página de inicio HTML, la barra de menús #1 se hubiera mostrado durante la conexión Web.
Si eliminamos la página de inicio HTML, construyendo un servidor Web que soporte las transacciones de la base cliente/servidor consiste en crear una base 4D en Windows o Macintosh, para uno o múltiples usuarios. Los siguientes pasos explican el proceso de creación de la base de ejemplo de esta manera.
Esta es la estructura de la base de ejemplo:
Se crean los formularios de entrada y salida para trabajar con los registros.
Para trabajar con los menús personalizados y administrar las conexiones Web, se crea la barra de menús #1.
Se escriben los siguientes dos métodos de proyecto.
` Método de proyecto M_AÑADIR_REGISTROS C_TEXT($1) ` Este parámetro DEBE declarase explícitamente Repeat ADD RECORD ([Clientes]) Until (OK=0)
` Método de proyecto M_LISTAR_REGISTROS C_TEXT($1) ` Este parámetro DEBE declarase explícitamente ALL RECORDS ([Clientes]) MODIFY SELECTION([Clientes])
El atributo "Iniciar un nuevo proceso" se asocia a cada método en el editor de menús.
El servidor Web inicia en modo contextual y se define una página de inicio por defecto en las Preferencias de la base:
La página de inicio contiene dos enlaces, "Añadir registros" y "Listar registros existentes," que disparan la ejecución de los métodos de proyecto 4D M_AÑADIR_REGISTROS y M_LISTAR_REGISTROS por intermedio de sus URLs. La convención es bastante simple: todo objeto HTML puede asociarse a un método de proyecto de su base por el URL "/4DMETHOD/Nombre_de_su_método". El atributo Disponible vía 4DACTION, 4D METHOD y 4D SCRIPT debe estar asociado con cada método llamado utilizando 4DMETHOD:
Una vez definidos estos enlaces, 4D ejecuta el método de proyecto especificado después de la palabra clave /4DMETHOD/ cuando un navegador Web devuelve el URL. Luego, cuando se completa el método de proyecto, usted regresa a la página HTML que disparó su ejecución. Note que el método de proyecto puede por si mismo mostrar formularios 4D, otras páginas HTML, etc.
Su sitio Web 4D puede ser un sistema basado totalmente en 4D o una combinación de formularios 4D y de páginas HTML. Si utiliza páginas HTML en su base 4D, se beneficia de los dos entornos de desarrollo: 4D y HTML. Recuerde, no tiene que utilizar páginas HTML si no quiere.
La página de inicio HTML en este ejemplo incluye un botón utilizado para enviar un registro. Hay tres tipos de botones HTML: normal, submit, y reset.
Normal - Un botón "normal puede atribuirse a un URL que haga referencia a un método 4D utilizando la palabra clave /4DMETHOD/. Los botones "normal" se utilizan para navegar.
Submit - Los botones "submit" envían el formulario con los valores introducidos por el usuario (si los hay) al servidor Web. Son útiles para gestionar la entrada de datos a partir de páginas HTML cuando no se utilizan formularios 4D estándar.
Reset - los botones "reset" no son muy útiles dentro de un desarrollo 4D: borran los valores introducidos por el usuario en un formulario y no envía ninguna petición al servidor.
Durante la integración de páginas HTML en 4D, por lo general usted utilizará los botones de tipo "normal" o "submit". El código del botón de la página de inicio es el siguiente: INPUT TYPE="SUBMIT" NAME="/4DMETHOD/GO_MAIN_MENUBAR"
Para generar el envío del formulario HTML del lado del servidor Web 4D, debe especificar la acción POST para el método 4D que será ejecutado por 4D después del envío del formulario.
Para hacer esto, debe contener la línea FORM ACTION="/4DMETHOD/IR_BARRA_MENU_PRINCIPAL" METHOD="POST"
El método de proyecto IR_BARRA_MENU_PRINCIPAL es el siguiente:
SET HOME PAGE("")
En este ejemplo, este método tiene un sólo propósito, salir de la página de inicio por defecto mostrada en el navegador Web y luego enviar la barra de menús actual. 4D muestra entonces la barra de menús #1 de su base.
¡Eso es todo!
En menos de cinco minutos, usted ha creado una base 4D que se utiliza localmente o como servidor Web que puede publicar en su red de Intranet o en Internet.
Ver también
SEND HTML FILE, SET WEB DISPLAY LIMITS, SET WEB TIMEOUT, START WEB SERVER, STOP WEB SERVER.