Un programa de xBaseWebsite en lugar de ser un archivo prg, se utiliza la extensión xba. Los archivos xba pueden ser híbridos en el aspecto que pueden contener HTML en su mayoria o bien xBase en su mayoría. Esto no límita que puedan mezclarse HTML y xBASE en repetidas ocasiones durante el código.
La estructura básica de un programa es en sí el script que puede ser llamado desde el navegador por ejemplo:
http://www.xbase.com.mx/login.xba
xBaseWebsite se encargará de ejecutar solo ese script, pero también puede ejecutar otros de manera automática si estuvieran presente, con la idea de facilitar la programación al evitar lo repetitivo de la misma y reusar código.
Por ejemplo, todo buen programa de xBaseWebsite contiene un archivo autoexec.prg que fué planeado con el fin de mantener código puro xBase que se encarga de sentar el entorno de programación para todos los scripts de ese mismo directorio. Usualmente en el se ubica la apertura de bases de datos, verificación de índices y autenticación de usuarios. Teniendo esto concentrado en dicho programa, se reducen los scripts xba de tamaño de manera importante.
También se cuenta con dos scripts/programas/html llamados header y footer. Estos forman el ambiente visual de tal forma que el sistema tenga una interfase constante a lo largo de todo el sistema.
En resumen, al correr un archivo xba se ejecutan los siguientes scripts o programas si existen:
autoexec.prg (ejecución)
funcion.prg (carga)
lib.prg (carga)
kernel.prg carga)
header.xba | header.htm (ejecución)
scriptt.xba (ejecución del script definitdo en la URL)
footer.xba | footer.htm (ejecución)
El primer bloque de archivos prg se encargan de establecer el entorno y dejar cargadas en memoria las funciones y procedimientos que se utilizarán por todo el sistema.
El bloque posterior de header , script y footer se encargan de la visualización de la información con la generación de HTMLs
Sin embargo también los prg pueden generar la interfase, y los xba podrían también hacer operaciones de configuración de entorno, pero por cuestiones de depuración no es recomendable y esta estructura obliga a un control preciso de la información especialmente cuando se trabaja en grupos de programadores.