portugués
Chino
Fox Pages Server (FPS) es un servidor HTTP, HTTPS y FastCGI multiproceso para Visual FoxPro.
Con Fox Pages Server puede desarrollar, depurar y distribuir aplicaciones y contenido web mediante Visual FoxPro.
Fox Pages Server no permite que el código de Visual FoxPro se ejecute en Internet. Es por esto que es necesario conocer el lenguaje y herramientas de desarrollo para internet que se utilizarán, por ejemplo: HTML, CSS, Javascript, JQuery, Dojo etc.
Fox Pages Server se puede utilizar en combinación con la plataforma boa. De esta manera puede crear aplicaciones web sin ningún conocimiento de un lenguaje de desarrollo web. El servidor Fox Pages se comunica con BOA.
Microsoft Visual Fox Pro 9.0
Fox Pages Server se distribuye en dos modos: modo de desarrollo y modo de distribución.
En este modo, el servidor funciona por defecto en singlethread, por lo que es posible utilizar Visual FoxPro para el desarrollo de páginas FXP. El modo de desarrollo requiere tener instalado Visual FoxPro.
En este modo, el servidor funciona en multiproceso, lo que proporciona una ganancia de procesamiento extrema. El modo de distribución requiere tener instalado el tiempo de ejecución de Visual FoxPro.
En los modos de desarrollo y distribución, cualquier error se registra en tablas en la carpeta LOGS, lo que permite la detección y el seguimiento de errores.
No intente realizar el procedimiento de instalación en modo de desarrollo e implementación en la misma computadora. Si esto es necesario, ejecute el archivo install.bat desde el modo de distribución, ya que registrará los componentes y también creará el servicio de Windows. Configure el modo de desarrollo para usar una IP o puerto distinto del modo de distribución.
La depuración de Visual FoxPro sólo funcionará en modo de desarrollo porque es imposible mostrar ninguna interfaz cuando el código se ejecuta en una DLL multiproceso. Cualquier intento generará errores o congelará el hilo.
No se recomienda dejar los archivos .HTML con su .FXP compilados en la misma carpeta del servidor, se pueden descargar si se cambia la extensión en el navegador web.
Fox Pages utiliza el puerto 80 por defecto para HTTP, por lo que antes de iniciar es necesario detener cualquier servicio que esté utilizando el puerto 80 (IIS, Apache, etc.) o cambiar el puerto utilizado en el programa HTTP.PRG ubicado en la carpeta SERVERS en el modo, o en el campo PUERTO de la tabla SERVERS.DBF ubicada en la carpeta DATOS en modo distribución.
Otros protocolos siguen el mismo procedimiento.
La base de datos FPS.DBC ubicada en la carpeta DATA almacena la configuración de los servidores. La documentación de las tablas y sus respectivos campos se puede encontrar en el archivo FPS.HTML. La relación entre las tablas se puede ver en la imagen FPS.JPG.
Los servidores son responsables de las conexiones de los clientes (IE, Chrome, Firefox, etc) y servidores (NGinX, etc).
Cada servidor se ejecuta en un hilo separado y puede, según la configuración del número de IP, escuchar en el mismo puerto. En caso de conflictos de números IP y puertos, el primer servidor configurado recibirá las conexiones.
Configure los servidores agregando, modificando o eliminando registros en la tabla SERVERS.DBF.
Cada protocolo tiene como valor predeterminado un puerto específico:
FastCGI se usa generalmente en la comunicación entre servidores, no hay un puerto predeterminado.
Los sitios establecen una relación entre un HOSTNAME (por ejemplo, www.example.com) con la carpeta donde se encuentran los archivos del sitio (por ejemplo, c:sitesexample), y configura su página de inicio (por ejemplo, index.fxp, index.php, index .html, etc.).
Configure los sitios agregando, modificando o eliminando registros en la tabla SITES.DBF.
Si el campo HOSTNAME se completa con "*", todos los HOSTNAMES estarán relacionados con la misma carpeta.
En esta misma tabla configuramos las redirecciones rellenando el campo REDIRECT con la dirección completa de la redirección. Esta característica es muy útil cuando necesitamos, por ejemplo, redirigir conexiones no seguras (HTTP) a un servidor seguro (HTTPS), esto se hace por ejemplo completando el campo REDIRECT del sitio www.example.com desde el servidor inseguro. (HTTP) con "https://www.example.com", la dirección del sitio seguro (HTTPS).
Las puertas de enlace se utilizan para enviar solicitudes a otras herramientas de desarrollo. PHP ha sido el único probado hasta ahora, mientras que cualquier herramienta que admita FastCGI debe ser compatible.
Configure las puertas de enlace agregando, modificando o eliminando registros en la tabla GATEWAYS.DBF.
El único protocolo admitido es FastCGI.
Las puertas de enlace funcionan de manera similar a los Sitios, estableciendo una relación entre un NOMBRE DE HOST (por ejemplo, www.example.com) con la carpeta donde se encuentran los archivos del sitio (por ejemplo, c:sitesexample). La diferencia radica en el hecho de que el contenido del campo URI (por ejemplo, ".php") debe estar incluido en el URI de solicitud para que se envíe a la puerta de enlace.
Según estos criterios, Fox Pages Server transforma la solicitud HTTP en una solicitud FastCGI y la envía al servidor configurado. Luego, la respuesta FastCGI se transforma en una respuesta HTTP y se envía al cliente.
Las solicitudes que no cumplan con los criterios serán procesadas por el servidor HTTP, por lo que para cada puerta de enlace se debe configurar un sitio.
No todas las carpetas y archivos contenidos en un sitio deben ser accesibles. Bases de datos, tablas y programas son algunos ejemplos.
Fox Pages Server cuenta con el sistema de control de acceso que permite el acceso autorizado o bloqueo completo de las carpetas del sitio.
El control de acceso se configura agregando, modificando o eliminando registros de las tablas REALMS.DBF, USERS.DBF y REALMUSER.DBF.
La tabla REALM.DBF establece la configuración de acceso a las carpetas del sitio.
La tabla USERS.DBF define los usuarios que tendrán acceso a las carpetas.
La tabla REALMUSER.DBF enumera los usuarios con carpetas.
Es un mecanismo del navegador que evita que un origen (dominio) acceda a recursos en una fuente distinta (otro dominio) sin autorización.
Configure autorizaciones agregando, modificando o eliminando registros en la tabla CORS.DBF.
Ingrese el sitio que otorgará la autorización en el campo SITIO. Este campo está relacionado con la tabla SITES.DBF.
Ingrese el origen (dominio autorizado) en el campo ORIGEN, si se completa con "*" se permitirá cualquier origen.
Ingrese el recurso en el campo URI, si se completa con "*", se permitirá cualquier rechazo.
Los campos GET, POST, PUT, DELETE, HEAD y OPTIONS determinan qué métodos están permitidos.
El campo HEADER debe completarse con los encabezados HTTP permitidos. Deberán delimitarse con una coma seguida de un espacio.
Fox Pages Server se puede configurar para usarse a través de otros servidores web utilizando el protocolo FastCGI.
El archivo nginx.conf ubicado en la carpeta NGINX es una plantilla de configuración para el servidor NGinX. Copie este archivo a la carpeta CONF donde está instalado NGinX y configure el parámetro ROOT con la ruta completa de la carpeta de archivos del sitio.
Para configurar Fox Pages Server para utilizar el protocolo FastCGI, complete el campo TIPO de la tabla SERVERS.DBF con "FCGI".
Como toda la información requerida para el procesamiento de la solicitud debe ser proporcionada por el servidor web, no es necesario configurar sitios, puertas de enlace o seguridad.
Después de iniciar el servidor, utilice cualquier navegador escribiendo la dirección del servidor configurado (por ejemplo, http://localhost, https://localhost).
Para ingresar al sitio de demostración existen dos cuentas, una para el cliente y otra para el representante.
La cuenta del cliente accede al área de clientes. Para acceder, utilice el correo electrónico [email protected] y la contraseña 123456.
La cuenta del representante inicia una solicitud de registro de clientes y pedidos. Para acceder utilice el correo electrónico [email protected] y la contraseña 123456.
Una página dinámica utiliza un lenguaje de programación del lado del servidor en el desarrollo de un sitio web o aplicación de Internet.
Fox Server Pages permite desarrollar estas páginas utilizando los recursos de páginas estáticas de desarrollo (por ejemplo, HTML, CSS, Javascript) con funciones de programación de Visual Fox Pro (por ejemplo, programación en lenguaje de consola, base de datos).
En Fox Pages Server, una página HTML se convierte en un archivo de programa PRG y se compila en un archivo FXP compilado, por lo que el procesamiento de la página es extremadamente rápido y no tiene las limitaciones de usar otro intérprete.
En el proceso de compilación solo se procesará el código entre las etiquetas <FPS>
y </FPS>
, el resto se enviará como contenido estático.
Un ejemplo de contenido estático.
<HTML>
Hello World
</HTML>
Resultado:
Hola Mundo
Un ejemplo de un programa como contenido estático debido a la falta de etiquetas <FPS>
y </FPS>
.
<HTML>
for nCounter = 1 to 3
Hello World
next
</HTML>
Resultado:
para lnCounter = 1 a 3
Hola Mundo
próximo
Un ejemplo usando las etiquetas <t>
y <e>
, ellas son las encargadas de enviar textos y expresiones estáticas.
<HTML>
<FPS>
cWorld = "World"
for nCounter = 1 to 3
<t>Hello </t><e>cWorld</e><br>
next
</FPS>
</HTML>
Resultado:
Hola Mundo
Hola Mundo
Hola Mundo
Un ejemplo utilizando otras etiquetas HTML de programación combinada. Se envía cada línea que comienza con una etiqueta HTML o con la etiqueta <t>
.
<HTML>
<FPS>
<b>Begin</b><br><br>
cWorld = "World"
for nCounter = 1 to 3
<b><t>Hello </t><e>cWorld</e></b><br>
next
<br>
<t>End</t>
</FPS>
</HTML>
Resultado:
Comenzar
Hola Mundo
Hola Mundo
Hola Mundo
Fin
REST (Transferencia de estado representacional) es un estilo arquitectónico que defiende que las aplicaciones web deben usar HTTP como se pretendía originalmente, donde las solicitudes GET, PUT, POST y DELETE deben usarse para consultas, cambios, creación y eliminación, respectivamente.
Fox Pages Server procesa una solicitud como REST siempre que el encabezado Aceptar sea "application/json" o "application/xml".
Se pueden encontrar más detalles en la aplicación disponible en el sitio de demostración al iniciar sesión con la cuenta de representante.
Con Fox Pages Server puede crear una API REST para atender las solicitudes de la plataforma BOA. Puede crear una aplicación web completa en Visual Foxpro. Fox Server Pages responderá a las solicitudes enviadas por BOA. Los datos que se envían entre Fox Server Pages y BOA son cadenas JSON fáciles de entender.
Después de configurar sus páginas de Visual Fox, puede probar el poder de esta combinación. Inicie la demostración en https://www.BOA-platform.com o mediante este enlace directo: http://demo.boa-platform.com. Cuando aparezca la pantalla de inicio de sesión, puede utilizar lo siguiente:
Usuario: es
Contraseña: en01
URL del servidor API: http://localhost/boa. Este es su servidor local de Fox Pages.
Consulte la carpeta demo/boa para ver el código fuente de muestra.
Para la compatibilidad con el protocolo FastCGI, se ha cambiado el procesamiento de las propiedades de los objetos de solicitud y respuesta.
En la versión 2.0, a los encabezados con guiones (por ejemplo, Accept-Encoding) se les eliminó el guión (por ejemplo, AcceptEnconding). En la versión 3.0, estos guiones se cambian para subrayar (por ejemplo, Accept_Encoding).
Fox Pages Server es un software gratuito y de código abierto. La licencia se encuentra en el archivo LICENCIA.
El componente utilizado para las conexiones es la Socketwrench de la empresa Catalyst Development Corporation (www.sockettools.com).
Este componente se distribuye en las versiones gratuita y comercial. La versión gratuita no admite conexiones seguras (SSL/TLS).
La versión de desarrollo de Fox Pages Server está configurada para utilizar la versión gratuita de SocketWrench. Esto será una limitación sólo si se requiere el uso de conexiones seguras en el entorno de desarrollo.
Para utilizar la versión comercial de SocketWrench debe adquirir una licencia, ya que Fox Pages Server no incluye esta licencia.
La configuración de la versión utilizada, libre o comercial, o la versión de SocketWrench, se encuentra ubicada en el archivo FOXPAGES.H de la carpeta CORE, de la siguiente manera:
//LLAVE DE VASO
#DEFINIR USEFREEVERSION
#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.6"
//Llave de enchufe 8
//#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.8"
//#DEFINE CSWSOCK_LICENSE_KEY "INSERTE AQUÍ SU LICENCIA DE EJECUCIÓN"
//SocketWrench 9
//#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.9"
//#DEFINE CSWSOCK_LICENSE_KEY "INSERTE AQUÍ SU LICENCIA DE EJECUCIÓN"
Debe volver a compilar el proyecto después de cambiar esta configuración.
Subprocesos múltiples - VFP2C32T.FLL - Christian Ehlscheid
Compresión - VFPCompresión - Craig Boyd
Cifrado - VFPCifrado - Craig Boyd
JSON Parser - Versión de biblioteca modificada - Craig Boyd
Enchufes - Llave de vaso - Desarrollo de catalizadores
Si este proyecto es útil para usted, considere una donación.