FoxCarlos
| ¿Internet:nuevas formas de publicar
tus tablas Fox ? Por
Alberto Rodriguez La publicación de información en Internet sigue siendo uno de los temas de actualidad. Ya no es la publicación estática sino la forma de transmitir la información guardada en las Bases de Datos a Internet de una forma fácil y asequible. En el número de Septiembre de 1996 de FoxPress ya se publicó una forma de mostrar información sacada de tablas .DBF usando NT 4.0 e Internet Information Server 2.0 En ese artículo se mostraba una foma válida de publicitar información en Internet y que era el sistema que en esencia se utilizaba en esta pagina. La tecnología que se usaba se basaba en invocar a ficheros planos .IDC que recogían consultas de órdenes SQL que invocaban al ISAPI y posteriormente según unas plantillas que se guardaban en ficheros con la extensión .HTX se devolvía la información resultante al browser que la había solicitado Desde aquel número las cosas han evolucionado y se puede decir que aquella tecnología ha quedado ya obsoleta. En este número nos proponemos mostrar la forma de publicitar información en Internet usando la tecnología de Páginas de Servidor Activo (Active Server Pages), que vienen con el IIS 3.0 y utilizando dos técnicas: la primera, con el novedoso ActiveX Data Object (ADO), y la segunda acudiendo a OLE Para más adelante quedará otra forma de mostrar información en Internet como es el uso del FOXISAPI.DLL Las Páginas Activas Microsoft ha introducido con la versión 3.0 del IIS un nuevo concepto llamado Páginas Activas, Pero, ¿qué son estas páginas? ¿Son realmente activas? Hagamos un poco de historia: Páginas de Contenido Estático En un principio las páginas tenían un contenido estático, es decir, debías cambiar manualmente el contenido de las páginas para que se pudiera mostrar un tipo diferente de información. En este modelo estático un browser usa el protocolo Hypertext Transport Protocol (HTTP) para solicitar una página HTML a un servidor Web. El Servidor recibe la petición y envía una página HTML al browser, que interpreta y muestra la página. Este modelo, aunque es válido, facilita una forma limitada de interactuar con la página Web ya que se debe cambiar manualmente la página HTML para poder modificar el contenido. Páginas HTML dinámicas Se consiguieron mediante el uso de gateways tales como el Common Gateway Interface (CGI), el Internet Server Application Programming Interface (ISAPI), etc... De esta manera un browser puede enviar una petición HTTP a una aplicación, que en realidad es un ejecutable, más que intentar dialogar con un archivo estático de formato HTML. El servidor ejecuta la aplicación, que lee los datos que se le solicitan y responde creando una página HTML con los datos solicitados. Esta nueva página HTML que se crea en ese momento se envía al browser. El problema de estos sistemas es que esos programas son difíciles de crear y cambiar. Los programas de tipo gateway no están integrados en las páginas HTML y requieren un proceso de creación diferente a los archivos HTML. Servidor Activo de Páginas Los Servidores Activos de Páginas son en realidad una colección de extensiones que se añaden al servidor HTTP y que hace que el código Visual Basic Script y Java Script de las páginas HTML sea traducido íntegramente a formato HTML. Al recibir una petición, el Servidor HTTP toma el fichero que tiene la extensión .ASP, comprueba si tiene algún tipo de código Visual Basic Script o Java Script y lo traduce a HTML, de forma que el código que entrega al browser es puro código HTML. El código Visual Basic Script o JavaScript no viajaría por la red sino sólo el código HTML. Un ejemplo de lo anterior es: Antes (con el IIS 2.0), si teníamos en la máquina servidor un fichero con el siguiente código: <HTML> este mismo código viajaría por la red, y si el cliente remoto mira en la opción View/Source(Ver/Fuente) del Explorer se le mostraría exactamente el mismo código que tenemos en nuestro fichero. El browser lo ejecutaría como hasta ahora. El problema que se presenta es que si el browser es Netscape no entendería el código Visual Basic Script. Con las páginas Activas, tenemos el mismo código fuente. Pero si el Servidor de HTTP comprueba que el fichero tiene la extensión .ASP traducirá todo el código VB Script o JavaScript a formato HTML. En nuestro ejemplo, traduciría el anterior código y entregaría el que se trascribe a continuación. Mirando en el Explorer (opción Ver/Fuente) pasaríamos a tener: <HTML> <FONT SIZE=4>Hello World</FONT><BR> <FONT SIZE=5>Hello World</FONT><BR> <FONT SIZE=6>Hello World</FONT><BR> <FONT SIZE=7>Hello World</FONT><BR> <BR> ActiveX Data Objects Una vez entendido lo que son las Páginas Activas, vamos a ver la forma de usar ActiveX Data Objects en un Servidor de Páginas Activas (ASP) para acceder a datos en una Base de Datos de Visual FoxPro. Requerimientos: Para poder probar los ejemplos que vamos a mostrar se necesita:
Paso a Paso
4. A continuación, con cualquier editor o con el FrontPage97 creamos una página HTML que guardaremos con la extensión .ASP en el directorio IIS/wwwroot/scripts: <HTML>
%> <%= RS("company_name") %> Loop </BODY> El resultado lo veremos en el Explorer escribiendo la dirección: HTTP:// <nombre del Servidor HTTP>/Scripts/ejemp1.asp Y ya está. En el ejemplo anterior hemos definido de forma visual el Origen de Datos y luego lo hemos invocado. Otra forma de trabajar es definir el origen de datos desde dentro del código VB Script de la siguiente manera: Contenido de la
página ASP <%@ LANGUAGE="VBSCRIPT" %> <% Set Conn =
Server.CreateObject("ADODB.connection") Conn.Open ConnStr 'Esto puede ser un datasource o
una cadena de conexión "Products.English_Name,Products.Unit_Price, " + _ "Products.Quantity_In_Unit from
Tastrade!Products" <P> <% RS.MoveNext En este ejemplo hemos usado los objetos del ADO llamados:
Para más información sobre el uso de esos objetos me remito a la documentación Usando OLE para mostrar información en Internet Visual FoxPro 5.0 es un servidor OLE, lo que quiere decir que puede ser invocado por cualquier cliente OLE para pedirle información. Esta petición se puede hacer incluso faltaría más a través de Internet. La poderosa orden createobject() nos permite crear una instancia de la aplicación tanto en la máquina cliente como en un Servidor de nuestra red local como en Internet. Desde cualquier aplicación cliente OLE podemos crear una instancia de VFP 5.0 con la orden: CREATEOBJECT(VisualFoxPro.application) y cambiar propiedades e invocar métodos. El siguiente código: x1 = ; CreateObject("VisualFoxPro.Application") ? x1.application.name nos devolvería: Visual FoxPro Pero no sólo VFP es un Servidor OLE sino que las aplicaciones que nosotros realicemos también serán si así lo especificamos Servidoras OLE. El siguiente código que ya apareció en un número anterior de FoxPress nos permite crear un Servidor OLE: DEFINE CLASS persona AS CUSTOM OLEPUBLIC
ENDDEFINE Una vez compilado y autoregistrado, desde la ventana de órdenes del cliente se podría escribir: ox = CREATE ("prueba.personas") que nos devolvería la palabra Pepe En el ejemplo que se va a mostrar se trata de usar esta técnica para publicitar los datos de una Tabla en Internet. Paso a Paso
<HTML> Nota: es especialmente importante la línea: SET DEFAULT TO C:\TMP Ya que cuando se registra en Windows el Servidor OLE queda por defecto en el directorio System32. Espero que estos dos sistemas nos faciliten la forma de mostrar los datos de Internet.
Alberto Rodríguez es socio de Fox Software, S.L. y se puede entrar en contacto con él en alb@fpress.com |
| [Previous] | Como usar el MScomm32.ocx en el envio de datos por Fax-Modem |
| [Up] | Documentos |
| [Home] | Home Page |
| [Mail] | Send EMail to FoxCarlos |
Gracias por visitar esta Pagina
Last modified on Tuesday 6 de June de 2000