Acceso a Datos en una Intranet

Uso de IIS y SQL Server

Beny Paúl Córdova Silva

CONTENIDO

ACCESO MEDIANTE WEB A APLICACIONES DE BASES DE DATOS COMERCIALES

Acceso a grandes paquetes de bases de datos Comerciales

Acceso a base de datos de PC

ACCESO A DATOS UTILIZANDO INTERNET INFORMATION SERVER Y SQL SERVER

Qué es Internet Information Server?

¿Qué puede hacer con Internet Information Server?

¿Cómo funciona Internet Information Server?

¿Cómo se usa Internet Information Server?

Escenarios de intranet

PUBLICACIÓN DE INFORMACIÓN EN UNA INTRANET

Sistemas de resolución de nombres

Uso de nombres de equipos con servidores de WINS

Uso de nombres de dominio con servidores DNS

Uso de nombres de dominio y HOSTS

Uso de DHCP en su intranet

Uso de direcciones URL y creación de vínculos HTML para redes tipo intranet

PUBLICACIÓN DE INFORMACIÓN Y DE APLICACIONES

Preparación de información para su publicación

Publicación de aplicaciones dinámicas

PUBLICACIÓN DE INFORMACIÓN Y USO DE UNA BASE DE DATOS

Funcionamiento del Conector de bases de datos de Internet

Instalación de ODBC y creación de los orígenes de datos del sistema

Aprender las características del Conector de bases de datos de Internet

Archivos de extensión (htx) HTML

BIBLIOGRAFIA

ACCESO MEDIANTE WEB A APLICACIONES DE BASES DE DATOS COMERCIALES

Acceso a grandes paquetes de bases de datos Comerciales

El acceso a la base de datos se reduce a dos amplios procesos:

Estos dos procesos son, desde luego, tradicionales para las bases de datos: consultas e informes, entrada de datos. Ya sea que el usuario escriba a mano sus consultas SQL o llene un formulario de consulta o de entrada de datos en pantalla, el objetivo es el mismo: transferir la consulta o los datos nuevos al back-end de la base de datos. De la misma manera, cuando la base de resultados de una consulta o entrada de datos, una aplicación tiene que recibirlos y generar una salida de datos comprensible para el usuario (en pantalla o en papel) o que la máquina pueda leer en algún formato específico.

El acceso mediante web a éstas bases de datos implica exactamente los mismos dos procesos, aunque con algunas diferencias importantes :

Los formularios HTML toman el lugar de la interfaz gráfica del distribuidor de la base de datos, su interfaz gráfica personalizado que le costó mucho trabajo elaborar o sus formularios de entrada de datos basados en texto. De manera similar, los scripts CGI-bin ocupan el lugar de la programación personalizado que usted ha realizado empleando las herramientas de desarrollo del distribuidor de la base de datos, un lenguaje de programación autónomo como el C u otras herramientas personalizadas.

Acceso a bases de datos de PC

Usted puede configurar su servidor Web para que proporcione bases de datos Access completas de la misma forma como proporciona cualquier otro archivo. Los navegadores Web de sus clientes pueden cargar después sus propias copias de Access como aplicación auxiliar para buscar y recuperar datos, y/o para exportarlos a otras aplicaciones de Microsoft.

Es importante señalar que este tipo de acceso de la aplicación auxiliar a una aplicación de base de datos se debe considerar como de sólo lectura, ya que el navegador Web baja una copia temporal de la base de datos al sistema local. Todas las búsquedas hechas por su cliente se llevan a cabo en la copia temporal y cualquier cambio que él trate de realizar no se reflejará en la copia maestra que se encuentra en su servidor Web. Asimismo, las actualizaciones al servidor maestro no se harán extensivas a ningún cliente a menos que éste vuelva a cargar la base de datos desde el servidor Web. Por tanto, tendrá que. limitar las capacidades de este tipo de arreglo para ejecutar consultas, generar reportes y exportar datos desde la aplicación.

Sin embargo, esta limitación se compensa con otras capacidades. Por ejemplo, si su compañía usa otros productos de Microsoft, como Microsoft Office o sus componentes individuales, usted podrá utilizar sus capacidades para mover datos de una aplicación a otra. Por ejemplo, puede importar información de bases de datos Access a Word o Excel (y viceversa).

 

Creación de scripts CGI para Windows

Es posible que también desee desarrollar sus propios scripts CGI para accesar bases de datos desde Windows. Si bien puede utilizar versiones PC de perl, o programación personalizado en C o C++, probablemente deseará hacer sus scripts en Visual Basic (VB). La edición profesional de Visual Basic tiene ganchos integrados para el acceso nativo a las aplicaciones de base de datos en Access, dBASE, Paradox, FoxPro y Btrieve. Además de este acceso directo, VB soporta Conectividad Abierta a Bases de Datos (ODBC, Open Database Connectivity) y los estándares SQL. Varias de las anteriores, además de Lotus Approach, están entre las bases de datos que se pueden accesar a través de ODBC y/o SQL. Por último, el acceso cruzado de VB mediante DDE y OLE de Microsoft permite el acceso a las bases de datos que soportan estos estándares, así como a otras aplicaciones que lo hacen así.

Sin embargo, la creación de scripts CGI-bin en Windows (y en DOS) es problemática, sobre todo porque no hay una forma sencilla de lanzar todas las variables de ambiente que los scripts CGI usan y necesitan, como la de los sistemas UNIX. La mayoría de los enfoques CGI-bin de Windows, provistos con el servidor Web Whttpd escribe información de ambiente en archivos temporales y después la lee cuando se necesita para formatear una salida de datos o alguna otra actividad. Esto es claramente ineficiente y es un argumento para inclinarse por la conservación de las funciones CGI-bin principales de los verdaderos sistemas multitareas, como UNIX o NT.

FoxWeb para acceso a FoxPro

Los usuarios de FoxPro querrán dar un vistazo al nuevo producto llamado FoxWeb. Esta es una herramienta de software que actúa como interfaz entre servidores Web de Windos y programas de FoxPro. FoxWeb supera las limitaciones de otros enfoques CGI-bin de Windows que leen y escriben archivos temporales para pasar variables de ambiente entre los procesos. Funciona como ejecutar en segundo plano, de manera simultánea, múltiples instancias de Visual FoxPro, cada una de las cuales puede manejar interacciones CGI. Las variables de ambiente CGI se colocan en arreglos y objetos de FoxPro para manipularlas. Toda la programación se lleva a cabo en FoxPro, en vez de lenguaje externo de generación de scripts como Perl, de manera que su inversión en la progración FoxPro se puede preservar y afianzar. Incluso es posible almacenar código HTML reutilizable directamente en las bases de datos FoxPro para una fácil recuperación, con capacidades inteligentes de ramificación.

Su fabricante afirma tener acceso bastante más rápido a bases de datos en comparación con las transacciones( de datos ODBC, aunque las aplicaciones de bases de datos ODBC pueden tener acceso a bases de FoxPro, como se indicó antes. FoxWeb requiere la versión 3.0 de Visual FoxPro. FoxWeb incluye características de seguridad de registro de entrada/contrasefia.

WebBase

Otra compañía ofrece WebBase para todas las plataformas Windows de Microsoft. Este paquete es un servidor httpd de 32 bits con ganchos incluidos para accesar bases de datos, sin el uso de scripts CGI. Como servidor Web, WebBase puede proporcionar documentos HTML convencionales en respuesta a solicitudes de navegador Web. Además de esta función, el paquete soporta código SQL incrustado en documentos HTML especiales, los cuales, al ser accesados, pueden conectarse con aplicaciones de bases de datos directamente para ejecutar consultas o comandos de entrada de datos. Las extensiones HTML de WebBase incluyen un lenguaje de macros que presenta construcciones inteligentes para tomar decisiones del tipo si-entonces y ramificación de mayúsculas, así como ciclos forrow y forindex. También se ofrecen varias funciones útiles, como comparación y coincidencia de cadenas, matemáticas, manejo de fechas, etcétera. Estas características permiten las respuestas personalizadas a solicitudes de navegador Web con base en el nombre de usuario, la dirección IP, el tipo de navegador, entre otros.

WebBase permite que el estado de la sesión se mantenga durante toda una sesión del usuario, y tiene seguridad integrada de registro de entrada y contraseña. Las bases de datos soportadas incluyen las plataformas ODBC, como Microsoft Access, Excel y SQLServer, FoxPro, DBASEIII y IV, Paradox y Btrieve, así como servidores de bases de datos UNIX que ejecuten Sybase y Oracle. El paquete también puede buscar archivos de texto por campos como en una base de datos. Aunque WebBase puede funcionar como servidor httpd, usted también puede ejecutar un servidor Web tradicional para un mejor servicio httpd estándar, en la misma computadora o en una diferente, ya que WebBase no provee todas las funciones de los servidores Web de características completas. WebBase se ejecuta en todas las plataformas Intel Windows.

ACCESO A DATOS UTILIZANDO INTERNET INFORMATION SERVER Y SQL SERVER

¿Qué es Internet Information Server?

Microsoft Internet Information Server es un servidor Web que le permite publicar información en una intranet de la organización o en Internet. Internet Information Server transmite la información mediante el Protocolo de transferencia de hipertexto (HTTP). Internet Information Server puede configurarse también para proporcionar servicios de Protocolo de transferencia de archivos (FTP) y gopher. El servicio FTP permite que los usuarios transfieran archivos a y desde su sitio Web. El servicio gopher utiliza un protocolo controlado por menús para encontrar documentos. El protocolo gopher ha quedado en buena parte reemplazado por el protocolo HTTP.

¿Qué puede hacer con Internet Information Server?

Las posibilidades creativas de lo que puede ofrecer en un equipo con Microsoft Internet Information Server son infinitas. Algunos de los usos más comunes son:

¿Cómo funciona Internet Information Server?

Web es fundamentalmente un sistema de peticiones y respuestas. Los exploradores de Web solicitan información enviando una dirección URL a un servidor Web. El servidor Web responde devolviendo una página de Hypertext Markup Language (HTML).

La página HTML puede ser una página estática a la que ya se haya dado formato y esté almacenada en el sitio Web, una página que el servidor crea dinámicamente como respuesta a la información proporcionada por el usuario o una página que presente una lista de los archivos y carpetas disponibles en el sitio Web.

¿Cómo se usa Internet Information Server?

Internet Information Server es lo bastante flexible como para realizar muchas funciones importantes dentro de su organización. Es escalable ya que admite desde un sitio con un único servidor hasta grandes instalaciones con varios servidores. Por ejemplo, www.microsoft.com y www.msn.com están actualmente entre los sitios Web de Internet con más tráfico y ambos usan varios servidores que ejecutan Microsoft Internet Information Server.

Uno de los principales factores que determinan la configuración y el uso de Internet Information Server es el hecho de que lo vayan a usar internamente los empleados dentro de su intranet o de que vaya a estar conectado a Internet.

Los siguientes escenarios se incluyen para ayudarle a comprender el gran número de posibilidades de uso de Internet Information Server.

Escenarios de intranet

Internet Information Server se integra bien en la mayoría de los entornos existentes. Como Internet Information Server integra las capacidades de redes y seguridad de Windows NT, casi siempre podrá agregar el software a equipos existentes y usar las cuentas de usuario ya creadas. No es necesario usar un equipo dedicado para ejecutar Internet Information Server.

Por ejemplo, en un pequeño grupo de trabajo puede agregar Internet Information Server a un servidor de archivos y de impresión existente. El servidor Web del grupo de trabajo puede albergar páginas personales de estilo Web, aplicaciones de grupo de trabajo personalizadas, servir como interfaz para la base de datos del Lenguaje de consulta estructurado (SQL) del grupo de trabajo o utilizar Servicio de acceso remoto (RAS) para otorgar acceso telefónico a los recursos del grupo de trabajo desde sitios lejanos.

 

PUBLICACIÓN DE INFORMACIÓN EN UNA INTRANET

Microsoft Internet Information Server también se puede usar en cualquier red TCP/IP privada para proporcionar archivos y aplicaciones a los usuarios de la red. En esta sección se explica cómo diseñar la publicación en una intranet o red privada. Entre los aspectos que se deben considerar cabe citar los siguientes:

Sistemas de resolución de nombres

Si quiere que los usuarios de su intranet puedan usar nombres sencillos dentro de Internet Explorer al explorar los servidores de Web, tiene que ofrecer un sistema de resolución de nombres a los clientes.

Windows NT Server le ofrece la ventaja de la administración automática de direcciones IP con los métodos de servidores DHCP y WINS para la resolución de nombres que ofrecen los servidores de WINS.

Uso de nombres de equipos con servidores de WINS

Un servidor de WINS es un equipo que tiene instalado Windows NT Server y que ejecuta el software Microsoft TCP/IP y servidor de WINS. Un servidor de WINS mantiene una base de datos que asocia direcciones TCP/IP a nombres de equipos NetBIOS de redes Windows.

Microsoft Internet Information Server usa el software del servidor de WINS para asignar direcciones TCP/IP a nombres de equipos de la red. WINS usa nombres de equipos de redes Microsoft, lo que hace que la resolución de nombres sea más flexible que con DNS. WINS también proporciona una reducción drástica del tráfico de difusiones IP en conjuntos de redes, al tiempo que permite que los equipos cliente encuentren fácilmente sistemas remotos a través de redes de área local o de área extensa. Si usa servidores de WINS en Internet, sus equipos deberán usar direcciones IP de Internet válidas.

Uso de nombres de dominio con servidores DNS

Puede mantener un servidor DNS y los nombres de dominio TCP/IP asignados por Internet. Si piensa conectar su red con Internet, sus direcciones IP y la configuración de encaminamiento de su servidor DNS tienen que ser válidas dentro de Internet.

Uso de nombres de dominio y HOSTS

HOSTS es un simple archivo de texto que traduce nombres de dominio DNS a direcciones IP. Si tiene una red pequeña o que no cambia con frecuencia, puede distribuir un archivo HOSTS a cada equipo de la red. Cada vez que modifique un host tendrá que modificar manualmente los archivos HOSTS.

Uso de DHCP en su intranet

Puede aprovechar las ventajas de la administración automática de direcciones IP que ofrece el servidor de DHCP.

Un servidor de DHCP es un equipo que tiene instalado Windows NT Server y que ejecuta el software Microsoft TCP/IP y servidor de DHCP.

Si usa servidores de DHCP, tiene que usar servidores de WINS para que los clientes dispongan de la resolución automática de nombres a direcciones IP en un entorno de red de área extensa (WAN). Para obtener más información, consulte la documentación de Windows NT Server.

Uso de direcciones URL y creación de vínculos HTML para redes tipo intranet

Cuando se conecta con un servidor o crea archivos y vínculos HTML en su intranet, debe asignar nombres a sus equipos de acuerdo con el sistema de resolución de nombres implementado en su red. Por ejemplo, si en su red usa servidores de WINS, los vínculos usarán nombres de equipos de Windows, como http://ventas1/principal.htm, donde ventas1 es el nombre del equipo que ejecuta Internet Information Server.

PUBLICACIÓN DE INFORMACIÓN Y DE APLICACIONES

Internet Information Server puede publicar tanto información como aplicaciones. Esto quiere decir que su sitio Web puede contener desde páginas estáticas de información hasta aplicaciones interactivas. También puede buscar y extraer información de bases de datos e insertar información en las mismas.

Preparación de información para su publicación

La mayoría de las páginas Web tienen el formato HTML. Los archivos HTML son sencillos archivos de texto ASCII con códigos que indican formatos y vínculos de hipertexto. Las especificaciones de HTML están cambiando constantemente. Probablemente debe revisar las especificaciones de HTML (disponibles en Internet) para diseñar sus páginas HTML.

Diseño de archivos HTML

Para crear y modificar sus archivos HTML puede usar cualquier editor de textos, como el Bloc de notas o Write, pero normalmente encontrará que un editor HTML, como Microsoft FrontPage o Internet Assistant para Microsoft Word, es más fácil de usar.

Para crear archivos HTML, que pueden incluir vínculos con otros archivos del sistema, use un editor HTML o cualquier otro sistema. Si desea incluir imágenes o sonidos, también necesitará el software apropiado para crear y modificar dichos archivos.

Publicación de archivos con formato HTML y otros formatos

Los archivos pueden contener imágenes y sonidos. Puede crear incluso vínculos con archivos de Microsoft Office o con casi cualquier otro formato de archivo. Los usuarios remotos tiene que disponer de la aplicación visora apropiada para poder ver los archivos que no sean HTML. Por ejemplo, si sabe que todos los usuarios remotos disponen de Microsoft Word, puede incluir vínculos con archivos .doc de Microsoft Word. El usuario puede hacer clic en el vínculo y en el equipo del usuario aparecerá el documento de Word.

Una vez que haya creado la información en formato HTML o en otros formatos, puede copiarla al directorio predeterminado InetPub\Wwwroot, o bien puede cambiar el directorio particular predeterminado por el directorio que contenga su información.

Configuración de tipo MIME

Si su sitio Web incluye archivos que están en varios formatos, su equipo debe tener una asociación de Extensión de correo Internet multipropósito (MIME) por cada tipo de archivo. Si en el servidor no hay una asociación MIME para un determinado tipo de archivo, los exploradores no podrán recuperar el archivo. Examine el Registro de configuraciones de Windows NT para ver las asociaciones MIME predeterminadas.

Para configurar asociaciones MIME adicionales, inicie el Editor del Registro (Regedt32.exe) y abra

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\MimeMap

Agregue el valor REG_SZ de la asociación MIME necesaria en su equipo con la siguiente sintaxis:

<tipo MIME>,<extensión de archivo>,<parámetro no usado>,<tipo gopher>

Por ejemplo:

text/html,htm,/unused,1

image/jpeg,jpeg,/unused,5

La cadena asociada con el valor (es decir, el contenido del valor) debe estar en blanco. La entrada predeterminada con la extensión de archivo asterisco (*) es el tipo MIME predeterminado que se usa cuando no existe ninguna asociación MIME. Por ejemplo, para administrar una petición del archivo Current.vgr cuando la extensión .vgr no se ha asociado a un tipo MIME, el equipo usará el tipo MIME especificado para la extensión *, que es el tipo usado para datos binarios. Normalmente, esto hace que los exploradores guarden el archivo en el disco.

Inclusión de otros archivos con la instrucción Include

Puede agregar información repetitiva a un archivo HTML justo antes de enviarlo al usuario. Esta característica es interesante cuando se incluye el mismo texto en todas las páginas HTML, como la información de derechos de autor o un vínculo con la página principal.

El formato de la instrucción Include es la siguiente:

<!--#include file="valor"-->

El valor tiene que contener una ruta relativa o la ruta completa, desde el directorio particular del servicio WWW.

Por ejemplo, para incluir un vínculo con la página principal en todos los documentos HTML:

1. Cree el archivo Linkhome.htm, que contiene los códigos HTML que quiere repetir; por ejemplo, un botón que conduzca a su página principal. El archivo contendría código HTML parecido al siguiente:

<A HREF="/homepage.htm"><IMG SRC="/images/button_h.gif"></A>

2. Use la extensión de archivo .stm al crear las páginas Web (en lugar de .htm o .html).

Notas La extensión .stm informa a Internet Information Server de que en el archivo hay una instrucción Include. Si da un nombre al archivo con una extensión .htm o .html, la instrucción Include se pasará por alto.

La utilización de archivos .stm puede afectar al rendimiento. Por tanto, se recomienda utilizar dicha extensión sólo cuando sea absolutamente necesario.

Sin embargo, en el Registro de Windows NT puede cambiar la extensión .stm predeterminada por cualquier otra extensión, excepto .htm o .html.

3. En cada archivo .stm, use una instrucción include file donde quiera que aparezca la información que se repite. Por ejemplo:

Puede volver a: <!--#include file="/linkhome.htm"--> en cualquier momento

Observe que todas las rutas son relativas al directorio particular de WWW y que pueden incluir directorios virtuales.

Publicación de aplicaciones dinámicas

Una de las características más atractivas de Microsoft Internet Information Server es la posibilidad de desarrollar aplicaciones o archivos de comandos que los usuarios remotos inician haciendo clic en vínculos HTML o completando y enviando un formulario HTML. Usando lenguajes de programación como C o Perl, puede crear aplicaciones o archivos de comandos que se comuniquen con el usuario mediante páginas dinámicas HTML.

Creación de aplicaciones o archivos de comandos

Las aplicaciones o los archivos de comandos interactivos se pueden escribir en casi cualquier lenguaje de programación de 32 bits, como C o Perl, o como archivos de proceso por lotes de Windows NT (que tienen la extensión .bat o .cmd). Al escribir las aplicaciones o los archivos de comandos puede usar una de las dos interfaces compatibles, la Interfaz de programación de aplicaciones de Microsoft Internet Server (ISAPI) o la Interfaz de puerto de enlace o gateway común (CGI). La documentación sobre ISAPI está disponible en Microsoft mediante la suscripción a Microsoft Developer Network (MSDN). En este capítulo se ofrece una introducción a CGI; la documentación sobre CGI está disponible en Internet. Los archivos de proceso por lotes pueden contener cualquier comando válido en el símbolo del sistema.

Las aplicaciones que usan ISAPI se compilan como bibliotecas de vínculos dinámicos (DLL) que el servicio WWW carga al iniciarse. Como los programas residen en memoria, los programas ISAPI son considerablemente más rápidos que las aplicaciones escritas con la especificación CGI.

Perl ISAPI disponible para cargar

Hip, Inc., el distribuidor independiente de software que desarrolla Perl para plataformas Win32, ha desarrollado una versión de Perl que se ejecuta como una aplicación ISAPI. Esto significa que los archivos de comandos de servidor de Perl pueden ejecutarse mucho más deprisa que antes al sacar el máximo partido del modelo de proceso interno de ISAPI. Actualmente, se puede cargar una versión no compatible de ISAPI Perl en http://www.perl.hip.com/. En este sitio WWW también encontrará más información al respecto.

API de Internet Server

ISAPI para Windows NT se puede utilizar para escribir aplicaciones que los usuarios de Web pueden activar completando un formulario HTML o haciendo clic en un vínculo de una página HTML de su sitio Web. La aplicación remota puede aceptar información introducida por el usuario y tratarla de cualquier modo que se pueda programar, y después devolver los resultados en una página HTML o enviar la información a una base de datos.

ISAPI se puede usar para crear aplicaciones que se ejecuten como DLL en su servidor Web. Si ha utilizado archivos de comandos CGI anteriormente, encontrará que las aplicaciones ISAPI tienen un mejor rendimiento porque se cargan en memoria durante la ejecución del servidor. Requieren menos tiempo de espera porque cada petición no inicia un proceso distinto.

Interfaz de puerta de enlace o gateway común

Interfaz de puerta de enlace o gateway común (CGI) es un conjunto de especificaciones para transferir información entre el explorador de un cliente Web, un servidor Web y una aplicación CGI. El explorador de un cliente Web puede iniciar una aplicación CGI completando un formulario HTML o haciendo clic en un vínculo de una página HTML del servidor Web. Como ocurre con ISAPI, la aplicación CGI puede aceptar información escrita por el usuario y tratarla de cualquier modo que se pueda programar, y después devolver los resultados en una página HTML o enviar la información a una base de datos. Como las aplicaciones CGI sencillas a menudo están escritas con lenguajes de archivos de comandos como Perl, a las aplicaciones CGI también se les conoce como "archivos de comandos".

Microsoft Internet Information Server puede usar la mayoría de las aplicaciones de 32 bits que se ejecuten en Windows NT y cumplan las especificaciones CGI.

La siguiente ilustración muestra cómo intercambian información un explorador, un servidor y una aplicación CGI utilizando CGI. El resto de esta sección trata sobre este proceso que consta de cinco partes.

El cliente envía una petición

El explorador de un cliente puede realizar una petición CGI a un servidor mediante uno de estos dos métodos:

GET

El cliente añade los datos a la dirección URL que pasa al servidor.

POST

El cliente envía los datos al servidor mediante el campo de datos de mensajes HTTP, por lo que se pueden superar las limitaciones de espacio inherentes al método GET.

El cliente inicia un proceso CGI haciendo clic en cualquiera de los elementos siguientes de una página HTML:

El servidor recibe la petición

La dirección URL que el explorador del cliente envía al servidor contiene el nombre del archivo de comandos CGI o la aplicación que va a ejecutarse. El servidor compara la extensión del archivo con la clave de registro ScriptMapping del servidor para decidir qué ejecutable debe iniciar. El servidor tiene entradas ScriptMap para archivos .cmd y .bat, que inician Cmd.exe; y para archivos .idc, que inician el Conector de bases de datos de Internet. Para permitir que el servidor inicie un tipo de aplicación CGI sin asignación de extensión, agregue una entrada para dicho tipo de aplicación a la clave del registro. Por ejemplo, para permitir la ejecución de los archivos de comandos de Perl, agregue una entrada similar a la siguiente:

.pl: REG_SZ: C:\RESKIT\PERL\BIN\PERL.EXE %s %s

Donde

 

El servidor pasa la petición a la aplicación

El servidor pasa la información a la aplicación CGI utilizando variables de entorno y, a continuación, inicia la aplicación. Algunas de estas variables están relacionadas con el servidor pero la mayoría vienen del explorador del cliente y tienen relación con el explorador del cliente o con la petición que se está enviando. Para obtener una lista parcial de las variables de entorno, consulte la tabla de variables incluida al final de este capítulo.

La aplicación CGI devuelve los datos al servidor

La aplicación realiza su procesamiento. Si son adecuados, la aplicación escribe los datos en un formato que el cliente pueda recibir en el flujo de salida estándar (STDOUT). La aplicación debe seguir un formato específico a la hora de devolver los datos:

1. La primera o primeras líneas contienen las directivas del servidor, así como el tipo de contenido MIME. Otras directivas del servidor son Location (que el cliente redirige o devuelve a otro documento) y Status.

2. A continuación de las directivas del servidor debe haber una línea en blanco.

3. Los datos que la aplicación devuelve al cliente siguen a la línea en blanco.

 

El servidor devuelve los datos al cliente

El servidor toma los datos que recibe de STDOUT y agrega encabezados HTTP estándar y, a continuación, devuelve el mensaje HTTP al cliente.

CGI e Internet Information Server

El servicio WWW es compatible con la especificación CGI (Interfaz de puerta de enlace o gateway común) estándar. No obstante, debe ser consciente de lo siguiente, exclusivo para la implementación de CGI en Internet Information Server:

Se dará cuenta de que las aplicaciones CGI suelen ser ejecutables independientes en contraste a las aplicaciones ISAPI, que suelen cargarse como DLL y son, por tanto, extensiones del servidor. Por consiguiente, las aplicaciones ISAPI proporcionan mejor rendimiento que las aplicaciones y archivos de comandos CGI.

Consideraciones acerca de la seguridad de los ejecutables

Los ejecutables CGI deben utilizarse con mucho cuidado para evitar posibles riesgos de seguridad para el servidor. Como regla general, sólo debe dar permiso de Ejecución a aquellos directorios virtuales que contengan aplicaciones CGI o ISAPI (API de Internet Server).

Recomendamos encarecidamente que configure la asignación de archivos de comandos, ya que ésta garantiza que se inicie el intérprete correcto (por ejemplo, Cmd.exe) cuando un cliente solicita un archivo ejecutable.

Nota Los archivos ejecutables de CGI también pueden tener las extensiones de archivo .exe o .cgi.

 

Permiso de ejecución para aplicaciones ISAPI

Internet Information Server abre las aplicaciones ISAPI en el contexto de seguridad del usuario que llama. Dicho usuario debe pasar una comprobación de seguridad. Para restringir la ejecución a los usuarios seleccionados, los permisos de NTFS pueden utilizarse con aplicaciones ISAPI, como el Conector de bases de datos de Internet (IDC).

Por ejemplo, para asegurar el IDC sin poner permisos en el archivo .idc, puede otorgar permiso de Ejecución de NTFS para Inetsrv\Httpodbc.dll a los usuarios adecuados. Httpodbc.dll es el nombre de la DLL de la aplicación ISAPI que implementa el IDC. Posteriormente, cada vez que un usuario intente ejecutar el IDC, el servidor comprobará los permisos y sólo se permitirá el acceso a aquellos usuarios que dispongan de permiso de Ejecución.

Nota Tras cargar una aplicación ISAPI, ésta permanece cargada hasta que el servicio WWW se detiene. Una vez que la aplicación ISAPI se ha cargado, Internet Information Server no realiza un seguimiento de los cambios del descriptor de seguridad. Si cambia los permisos para una aplicación ISAPI después de haberse cargado, tendrá que detener y reiniciar el servicio WWW antes de que dicho cambio surta efecto.

Tenga cuidado a la hora de definir las Listas de control de acceso (ACL) del directorio Winnt y sus subdirectorios. Algunas aplicaciones y bases de datos ISAPI requieren acceso a algunos archivos y DLL de estos directorios.

Nota Las DLL de las aplicaciones ISAPI pueden tener la extensión de archivo .dll o .isa.

Asociación de intérpretes con aplicaciones

Como dispone de la flexibilidad para crear aplicaciones en casi cualquier lenguaje de programación, Internet Information Server utiliza la extensión del archivo para determinar el intérprete que se llama para cada aplicación. A continuación se muestran las asociaciones de intérpretes predeterminadas. Para crear asociaciones adicionales, puede usar el Editor del registro de configuraciones.

Extensión Intérprete predeterminado

.bat, .cmd Cmd.exe

.idc Httpodbc.dll

.exe, .com System

PUBLICACIÓN DE INFORMACIÓN Y USO DE UNA BASE DE DATOS

Con el servicio WWW y los controladores ODBC que proporciona Internet Information Server, puede:

Funcionamiento del Conector de bases de datos de Internet

En el siguiente diagrama se muestra conceptualmente el acceso a bases de datos desde Internet Information Server.

Los exploradores de Web (como Internet Explorer o los exploradores de otros fabricantes como Netscape) remiten peticiones al servidor Internet usando HTTP. El servidor Internet responde con un documento en formato HTML. El acceso a las bases de datos se realiza mediante un componente de Internet Information Server llamado Conector de bases de datos de Internet (IDC). El Conector de bases de datos de Internet, Httpodbc.dll, es una DLL ISAPI que utiliza ODBC para tener acceso a las bases de datos.

La siguiente ilustración muestra los componentes de Internet Information Server para conectar con las bases de datos.

 

El IDC utiliza dos tipos de archivos para controlar la forma de acceso a la base de datos y el modo en que se construye la página Web de salida. Dichos archivos son archivos del Conector de bases de datos de Internet (.idc) y archivos de extensión HTML (.htx).

Los archivos del Conector de bases de datos de Internet contienen la información necesaria para conectar con el origen de datos ODBC adecuado y ejecutar la instrucción SQL. Además, contienen el nombre y la ubicación del archivo de extensión HTML.

El archivo de extensión HTML constituye la plantilla para el documento HTML real que se devolverá al explorador de Web cuando el IDC haya combinado su información con la base de datos.

Instalación de ODBC y creación de los orígenes de datos del sistema

Cuando selecciona la opción ODBC durante la instalación, se instalan los componentes de ODBC versión 2.5. Esta versión de ODBC acepta DSN (Nombres de origen de datos) del sistema y es necesaria para utilizar ODBC con Microsoft Internet Information Server.

Los DSN del sistema se introdujeron en la versión 2.5 de ODBC para permitir que los servicios de Windows NT usaran ODBC.

Para instalar los controladores ODBC

1. Si no instaló la opción Administración y controladores ODBC, ejecute el programa de instalación de nuevo haciendo clic en el icono Instalar de Internet Information Server en el grupo de programas Microsoft Internet Server. Necesita el disco compacto de Windows NT Server o un directorio de red que contenga el contenido completo del disco compacto.

2. Haga clic en el botón Aceptar.

3. Haga clic en el botón Agregar/Eliminar.

4. Haga clic en el botón Aceptar.

5. Seleccione la opción Administración y controladores ODBC.

6. Haga clic en el botón Aceptar.

7. Aparecerá el cuadro de diálogo Instalar controladores.

8. Para instalar el controlador de SQL Server, seleccione el controlador SQL Server en el cuadro de lista Controladores ODBC disponibles y haga clic en el botón Aceptar.

El programa de instalación completará la copia de archivos.

Para crear los orígenes de datos del sistema

1. Haga doble clic en el icono Panel de control del grupo de programas Principal del Administrador de programas.

2. Haga doble clic en el icono ODBC.

Aparecerá el cuadro de diálogo Orígenes de datos ODBC.

Puede que en la lista haya otros orígenes de datos si hubiera instalado otros controladores ODBC anteriormente.

3. Elija el botón DSN del sistema.

Importante Asegúrese de hacer clic en dicho botón. El Conector de bases de datos de Internet sólo funciona con DSN del sistema.

Aparecerá el cuadro de diálogo Orígenes de datos del sistema.

4. Haga clic en el botón Agregar.

Aparecerá el cuadro de diálogo Agregar origen de datos.

5. Seleccione un controlador de ODBC en el cuadro de lista y haga clic en Finalizar. Aparecerá un cuadro de diálogo específico para su controlador.

6. Escriba el nombre del origen de datos.

El nombre del origen de datos es un nombre lógico utilizado por ODBC para hacer referencia al controlador y a cualquier otras información necesaria para tener acceso a los datos, como por ejemplo el nombre real del servidor o la ubicación de la base de datos. En los archivos del Conector de bases de datos de Internet, el nombre del origen de datos se utiliza para informar a Internet Information Server acerca de dónde se puede tener acceso a los datos.

Para Microsoft SQL Server, el nombre del servidor, la dirección de red y la biblioteca de red mostrados son específicos de su instalación. Si no sabe lo que tiene que escribir en estos controles, acepte los valores predeterminados. Para conocer los detalles, haga clic en el botón Ayuda y vaya a la sección que describa su red.

7. Haga clic en el botón OK(Aceptar)

Aparecerá otra vez el cuadro de diálogo Orígenes de datos del sistema, pero ahora presentando el nombre del origen de datos.

8. Haga clic en el botón Cerrar para cerrar el cuadro de diálogo Orígenes de datos del sistema.

9. Haga clic en el botón Cerrar para cerrar el cuadro de diálogo Orígenes de datos.

10. Haga clic en el botón Aceptar para terminar la instalación de ODBC y de DSN.

 

1. Internet Information Server.

El explorador de Web es quien envía la dirección URL.

2. Internet Information Server carga Httpodbc.dll y le suministra la información restante de la dirección URL.

Los archivos .Idc se asignan a Httpodbc.dll. Httpodbc.dll se carga y obtiene el nombre del archivo del Conector de bases de datos de Internet (y otros elementos) de la dirección URL pasada a Internet Information Server.

3. Httpodbc.dll lee el archivo del Conector de bases de datos de Internet.

El archivo del Conector de bases de datos de Internet contiene varias entradas con el formato

4. El IDC conecta con el origen de datos ODBC y ejecuta la instrucción SQL contenida en el archivo del Conector de bases de datos de Internet.

Se ha realizado la conexión con el origen de datos ODBC mediante el IDC, que carga el controlador ODBC de SQL Server y se conecta con el servidor especificado en la definición del origen de datos. Una vez realizada la conexión, la instrucción SQL del archivo del Conector de bases de datos de Internet se envía al controlador ODBC de SQL Server, que a su vez la envía a SQL Server.

5. El IDC recopila los datos de la base de datos y los combina en el archivo de extensión HTML.

Tras la ejecución de la instrucción SQL, IDC lee el archivo de extensión HTML especificado en el archivo idc Los archivos de extensión HTML (.htx) contienen etiquetas especiales de HTML utilizadas por IDC para controlar dónde y cómo se combinan los datos devueltos por la instrucción SQL.

 

6. El IDC devuelve el documento combinado a Internet Information Server que, a su vez, lo devuelve al cliente.

Después de que hayan combinado todos los datos en el archivo htx, el documento HTML ya completo se devuelve al cliente.

Descripción del archivo htx

Para devolver los datos al cliente de WWW, el archivo .idc combina el archivo de extensión HTML, .htx, y los datos de ODBC. Tras ello los datos combinados se adjuntan a encabezados HTTP estándar (200 estado OK, tipo de contenido, etc.), pasan al servicio WWW y se devuelven al cliente.

El archivo .htx es un documento HTML con algunas etiquetas adicionales que van entre <%%> o <!--%%-->, que el archivo .idc utiliza para agregar datos dinámicos al documento. El formato HTML del archivo .htx suele dar formato a los datos que se devuelven. Hay seis palabras claves (begindetail, enddetail, if, else, endif y "%z") que controlan la forma en que se combinan los datos de la base de datos y el formato HTML en el archivo .htx. Los nombres de las columnas de la base de datos especifican cuáles son los datos que se devuelven en el documento HTML. Por ejemplo, la línea siguiente de un archivo .htx combina datos de la columna Nombrecorreoelectrónico de todos los registros procesados:

<%begindetail%><%Nombrecorreoelectronico%><%enddetail%>

Las secciones <%begindetail%> y <%enddetail%> delimitan el lugar del documento donde aparecerán las filas devueltas por la base de datos. Las columnas devueltas por la consulta aparecerán rodeadas por <%%>; en este ejemplo son <%au_lname%> y <%ytd_sales%>.

Aprender las características del Conector de bases de datos de Internet

El Conector de bases de datos de Internet tiene varias características que facilitan la creación de páginas Web que contengan datos de una base de datos.

Archivos del Conector de bases de datos de Internet

Los archivos del Conector de bases de datos de Internet contienen la información que se utiliza para tener acceso a la base de datos. La siguiente sección describe las características de los archivos del Conector de bases de datos de Internet.

Parámetros

El ejemplo de la sección anterior sólo muestra el tipo de consulta más sencillo, una consulta que se ha definido completamente en un archivo del Conector de bases de datos de Internet. Aunque este tipo de consulta es útil, pueden crearse páginas Web aún más potentes mediante la utilización de parámetros. Los parámetros son los nombres y valores de los controles del formulario de HTML, como por ejemplo "<INPUT…>", así como los nombres especificados directamente en las direcciones URL. Estos nombres y valores los envían los exploradores de Web y pueden utilizarse en instrucciones SQL del servidor.

 

Campos de los archivos del Conector de bases de datos de Internet (.idc)

En las siguientes tablas aparece una lista con los campos que pueden especificarse en un archivo del Conector de bases de datos de Internet. Observe que los parámetros o las variables del servidor pueden aparecer en cualquier lugar del archivo .idc.

Campos necesarios en un archivo del Conector de bases de datos de Internet (.idc)

Campo Descripción

Datasource El nombre que corresponde al Nombre del origen de datos (DSN) del sistema ODBC que ha creado previamente utilizando el Administrador de ODBC o la herramienta proporcionada con los ejemplos.

Template El nombre del archivo con extensión HTML que da formato a los datos devueltos por esta consulta. Por convención, estos archivos utilizan la extensión .htx.

SQLStatement La instrucción SQL que se va a ejecutar. La instrucción SQL puede contener valores de parámetros, que deben ir entre signos de porcentaje (%), del cliente. En el archivo del Conector de bases de datos de Internet, la instrucción SQL puede ocupar varias líneas. Después del campo SQLStatement, todas las líneas que comiencen con un signo más (+) se considerarán parte del campo SQLStatement. En el mismo archivo pueden aparecer varias instrucciones SQL.

 

Archivos de extensión (htx) HTML

Los archivos de extensión HTML contienen un número de palabras clave que controlan la construcción del documento HTML de salida. Estas palabras clave se explican en las siguientes secciones.

<%begindetail%>, <%enddetail%>

Las palabras clave <%begindetail%>, <%enddetail%> rodean una sección del archivo de extensión HTML donde se combinarán los archivos de salida de la base de datos. Dentro de la sección, los nombres de columna delimitados por <% y %> o <!--%%-->se utilizan para marcar la posición de los datos devueltos por la consulta. También puede hacerse referencia a los nombres de columna desde cualquier parte de un archivo de extensión HTML.

Parámetros de los archivos del Conector de bases de datos de Internet

Es posible tener acceso a archivos del Conector de bases de datos de Internet en el archivo de extensión HTML colocando el prefijo "idc" y un punto delante del nombre del parámetro.

Variables HTTP

Algunas variables de los archivos de extensión HTML pueden proporcionar una gran cantidad de información acerca del entorno y del cliente Web conectado al servidor. Además, estarán disponibles todos los encabezados enviados por el cliente. Para tener acceso a ellos utilizando el Conector de bases de datos de Internet debe convertirlas:

1. Agregue HTTP_ al principio.

2. Convierta todos los guiones en caracteres de subrayado.

3. Convierta todas las letras a mayúsculas.

BIBLIOGRAFIA

Guía práctica para confeccionar una web interna

Tim Evans

1º Edición – 1997

Prectice Hall Hispanoamericana

Al Servati

Lim Bremner

Anthony Iasi

1º Edición – 1998

Mc Graw Hill