![]() |
![]() |
Productos | Soporte | Búsqueda | Inicio de microsoft.com | |
![]() |
![]() | ||
Inicio de TechNet | CD Rom en línea | Eventos y entrenamiento | Downloads | Países | |
Crear una
solución de recuperación y acceso a datos basada en Web
Soluciones de Microsoft TechNet para la educación
Julio del 2000
Estas notas para soluciones describen los métodos existentes para crear y distribuir soluciones de recuperación de datos basadas en Web mediante Microsoft® SQL Server, páginas Active Server e Internet Explorer.
Las aplicaciones Web, que combinan la eficacia de las aplicaciones cliente-servidor con la independencia de la plataforma, suponen un avance significativo en el campo de la tecnología de la información. Las notas para soluciones de este mes analizan la forma en que las instituciones educativas pueden crear herramientas de búsqueda Web simples pero eficaces (mediante páginas Active Server) para recuperar y tener acceso a datos basados en SQL Server™ a través de una interfaz Web.
Aplicaciones de datos basadas en Web | |
![]() |
El Web se ha convertido en un entorno clave para desarrollar aplicaciones cliente-servidor. Gracias a la unión de HTML con componentes, servicios y secuencias de comandos de servidor, los programadores pueden crear aplicaciones basadas en Web con todo tipo de características para las intranets e Internet.
La distribución de aplicaciones basadas en Web proporciona varias ventajas técnicas y tácticas, como:
La incorporación del acceso directo a bases de datos en las aplicaciones Web proporciona ventajas adicionales:
Componentes de una aplicación de datos basada en Web | |
![]() |
Las aplicaciones de datos basadas en Web constan de
cuatro elementos:
Una página Active Server es, simplemente, una página HTML estándar en la que se ha incrustado directamente el código de secuencia de comandos. Los programadores Web pueden usar el código de secuencia de comandos incrustado para implementar la lógica empresarial de acuerdo con el código HTML. Además, también pueden utilizarlo para tener acceso a lógica incrustada en componentes externos o para conectar directamente con una base de datos. Cuando un explorador solicita una página Active Server, el motor de secuencias de comandos ejecuta la secuencia de comandos incrustada en el servidor y los resultados se combinan dinámicamente con el código HTML antes de que el documento se devuelva al explorador.
Una aplicación ASP es un conjunto de páginas Active Server, junto con componentes y páginas HTML requeridos por la aplicación
Por ejemplo, la Guía de diseño y distribución en Internet de SQL Server es una página Active Server que incluye varios menús de exploración. El sencillo bloque de código de secuencia de comandos incluido a continuación se incrusta en el código fuente HTML de la página. Si el menú se expande, este bloque inserta un signo menos delante del nombre del menú; en caso contrario, inserta un signo más para indicar que el menú no está expandido.
<!-- Inicio: Código Java
Script -->
<SCRIPT
LANGUAGE="JavaScript">
<!--//
function
tier1Menu(objMenu,objImage) {
if (objMenu.style.display == "none")
{
objMenu.style.display = "";
objImage.src =
"/technet/images/minus.gif";
}
else
objMenu.style.display =
"none";
objImage.src =
"/technet/images/plus.gif";
}
}
//-->
</SCRIPT>
<!--
Fin: Código Java Script -->
Los proveedores OLE DB son los motores o servicios de acceso a datos, y los componentes de lógica empresarial que dichas aplicaciones pueden utilizar en un entorno basado en componentes con un elevado grado de interoperabilidad. Las interfaces OLE DB encapsulan varios servicios de administración de datos, lo que permite a las aplicaciones tener acceso a los datos con independencia de su origen.
Active Data Objects (ADO) es una interfaz de programación de alto nivel que los programadores de aplicaciones pueden utilizar para tener acceso a los orígenes de datos OLE DB. Mediante ADO es posible transferir una colección de registros entre clientes y servidores en la forma de un conjunto de registros. Los conjuntos de registros se pueden emplear para transferir resultados de consultas del servidor al cliente y registros actualizados del cliente al servidor.
Los componentes ActiveX® Server dotan a las páginas Active Server de gran parte de su eficacia. Los componentes ActiveX Server mejoran la eficacia de las páginas Active Server, ya que fomentan la reutilización y la extensibilidad del código, con lo que se reducen el costo y el tiempo de desarrollo. Cada componente incluye varias funciones de acceso público que otros componentes pueden localizar y usar. Los componentes básicos e intrínsecos ofrecen por sí mismos una gran variedad de servicios a los autores de secuencias de comandos, desde la administración de sesiones al acceso a bases de datos. Muchas de estas funciones son extremadamente difíciles de implementar, por lo que la posibilidad de hacer referencia a ellas fácilmente desde dentro de una página HTML representa un enorme ahorro en tiempo de desarrollo.
Asimismo, los componentes ActiveX Server ofrecen a los programadores de aplicaciones Web una nueva forma de concebir la creación de páginas HTML. Los componentes ActiveX Server proporcionan objetos que superan el ámbito de cada página HTML, lo que posibilita la coordinación entre ellas. Esto es lo que realmente distingue a una aplicación basada en Web de un sitio Web estático: la capacidad de organizar un conjunto de páginas HTML, comunicadas entre sí mediante secuencias de comandos, de modo que constituyan una aplicación unida.
Internet Information Server. En su forma más básica, los servidores Web del tipo IIS son servicios que reciben solicitudes de información, en la forma de direcciones URL, de los exploradores y devuelven páginas HTML. A medida que los sitios Web han aumentado su tamaño y el contenido dinámico se ha popularizado, la funcionalidad de los servidores Web ha extendido su alcance más allá de atender solicitudes HTTP. IIS, por ejemplo, ofrece funciones para la administración y publicación de sitios, seguridad y comunicación de base de datos, además de los servicios HTTP, FTP y gopher.
SQL Server. Con el aumento de la demanda de contenido Web dinámico, SQL Server se ha convertido en una herramienta esencial para el desarrollo de aplicaciones basadas en Web. Parte de su utilidad se basa en las mismas características que lo convierten en un eficaz servicio para el desarrollo de aplicaciones cliente-servidor. Además, SQL Server incorpora una funcionalidad especialmente valiosa para los programadores de aplicaciones Web. Entre las ventajas que ofrece, se incluyen:
Además de estas ventajas, IIS y SQL Server están estrechamente integrados entre sí y con Windows NT® y Windows® 2000 Server. IIS y SQL Server se han diseñado para aprovechar las características de seguridad, análisis de rendimiento y registro de sucesos de Windows NT y Windows 2000. Además, el Conector de bases de datos Internet (IDC, Internet Database Connector) y las páginas Active Server agilizan el acceso a SQL Server desde IIS. Esta cohesión permite al programador centrarse en la funcionalidad de la aplicación, en lugar de tener que desarrollar rutas de comunicación entre el sistema operativo, el servidor Web y la base de datos.
Selección del hardware, el software y las herramientas de desarrollo adecuadas | |
![]() |
Antes de embarcarse en el desarrollo de aplicaciones Web, debe tener en cuenta los requisitos funcionales del proyecto, como la definición del comportamiento previsto de la aplicación, y los requisitos no funcionales del sistema, como son la localización del hardware, el software y las herramientas de desarrollo de servidor necesarias para desarrollar y distribuir correctamente la aplicación.
Esta sección resume los requisitos que ha de considerar. Para obtener un análisis más detallado acerca de estos temas, consulte la Guía de diseño y distribución en Internet de SQL Server
Es importante considerar globalmente los requisitos de hardware previstos del sitio. Para determinar la configuración de hardware adecuada, tenga en cuenta las cuestiones siguientes:
Las respuestas a estas preguntas afectan a la elección del tipo de conexión a Internet, la CPU, la memoria y los subsistemas de disco. Asimismo, es necesario establecer mecanismos de seguridad para la red interna existente a fin de proteger la información confidencial del mundo exterior. Los servidores proxy y los servidores de seguridad resultan útiles a la hora de administrar el acceso de los usuarios.
Es esencial elegir herramientas diseñadas específicamente para desarrollar aplicaciones Web con un componente de base de datos.
Elegir una metodología de diseño | |
![]() |
El proceso general de diseño y desarrollo de una aplicación basada en Web no es muy diferente del de cualquier producto de software. El diseño de una aplicación Web gira alrededor de tres áreas fundamentales:
Las aplicaciones Web incorporan un conjunto único de tareas de desarrollo. Dichas tareas incluyen la implementación de código de secuencia de comandos a fin de establecer interfaces con componentes de servidor, como la base de datos o los componentes ActiveX Server, y, en algunos casos, implementar también los componentes personalizados.
La seguridad tiene una importancia primordial durante el proceso de distribución. Al controlar el acceso a un sitio, los administradores deben tener en cuenta qué usuarios podrán o no tener acceso al sitio y quién podrá tener acceso al sitio y modificar su contenido. Los servidores de seguridad suelen utilizarse para proteger las intranets de escuelas o campus universitarios de usuarios desconocidos con acceso a los sitios Internet públicos de un campus; la autenticación mediante desafío y respuesta de Windows NT resulta útil para restringir el acceso a áreas con contenido confidencial en intranets corporativas. En lo que respecta a la modificación de contenido, Microsoft FrontPage®, Visual InterDev y SQL Server ofrecen derechos de acceso configurables por el administrador.
Aplicaciones basadas en Web de recuperación y acceso a datos | |
![]() |
Para ilustrar las estrategias y metodologías presentadas en este documento, veamos un ejemplo de solución basada en Web: Aggie Search es un sistema de búsqueda de alojamiento fuera del campus de la universidad A&M de Texas. Aggie Search permite a los alumnos buscar opciones de alojamiento y compañeros de habitación mediante una interfaz de usuario basada en Web.
El Departamento del alumno (DSL, Department of Student Life) de la universidad había integrado una solución de software limitada para ayudar a los alumnos que viven fuera del campus a buscar alojamiento y compañeros de habitación. Con vistas a definir una solución más completa para cubrir las necesidades de alojamiento fuera del campus, la universidad se comprometió a desarrollar un sistema que permitiera dar cabida a un número de usuarios que fuera aumentando paulatinamente.
El personal del proyecto de la universidad se puso en contacto con Applied Computing Services Inc., un proveedor de soluciones local de Microsoft, para que les ayudara a desarrollar la aplicación Aggie Search. Como paso inicial, el equipo definió un conjunto de requisitos funcionales del proyecto:
Además, el equipo definió los siguientes requisitos técnicos:
Las soluciones de Microsoft han sido durante mucho tiempo las soluciones preferidas de la universidad, por lo que Aggie Search se basó en Microsoft Windows NT Server e Internet Information Server y se desarrolló mediante VBScript, COM y Páginas Active Server. El motor de la base de datos es Microsoft SQL Server 7.0.
El equipo diseñó Aggie Search como un programa de cinco módulos que reflejara los requisitos funcionales que se articularon durante el inicio del proyecto:
Por ejemplo, el módulo de administración incorpora una interfaz de usuario parecida a un asistente que los administradores pueden utilizar para agregar o actualizar información relativa a los complejos de apartamentos.
Si su explorador no admite marcos incrustados, haga clic aquí para ver el contenido en
una página independiente.
En pantallas posteriores, el asistente guía al administrador por un proceso en el que se agrega información adicional: la dirección del complejo de apartamentos, su propietario o administrador, los distintos servicios y el plano predeterminado de los apartamentos del complejo.
Los códigos para buscar y modificar datos en esta solución se crean mediante páginas Active Server y su formato de estilo de secuencias de comandos. El siguiente ejemplo es un extracto de una de las llamadas de función de la aplicación:
'*********************************************************************************
function
EditPerson(ID, FirstName, MiddleName, LastName, Phone, Mobile, _
Pager,
Email, Connection, NeedsReview)
'*********************************************************************************
'fin
:Agregar o modificar un registro entblPerson.
'Parámetros :ID - pers_PK
' FirstName - pers_Name_First
' MiddleName - pers_Name_Middle
'
LastName - pers_Name_Last
' Phone - pers_PhoneNum
' Mobile -
pers_MobileNum
' Pager - pers_BeeperNum
' Email - pers_EmailAddress
' Connection - un objeto ADO Connection
' utilizado para tener acceso a
la base de datos
' NeedsReview - valor booleano que se usa
' para
determinar si
' marcar el registro para revisar.
' True = Review. False
= No Review.
'Devuelve : Devuelve la clave principal del registro que
'
se agregó o modificó.
'Calls (non-system) : ninguno
'Called by
(non-system): Las páginas emitidas en la aplicación.
'Databases Accessed :
La base de datos a la que tiene acceso ADO
' Connection object
(Connection).
'History : Created 19990601 JMH
'Comments : El
parámetro "ID" debe ser igual a
' 0 si se trata de una adición a la
tabla.
' El parámetro "Connection" debe ser una
' conexión *OPEN*
válida.
' NeedsReview se pasa por byref. Esto es necesario
' porque este
procedimiento
' cambiará su valor según la lógica
interna.
'*********************************************************************************
'-----
quitar espacios adicionales
FirstName = trim(firstname)
MiddleName =
trim(middlename)
LastName = trim(lastname)
Phone = trim(phone)
Mobile = trim(mobile)
Pager = trim(pager)
Email = trim(email)
'-----
dim rsPerson un objeto Recordset de ADO que contendrá
' un
registro de la tabla Person (tblPerson)
'----- crear y abrir el conjunto
de registros
set rsPerson = server.CreateObject("ADODB.Recordset")
rsPerson.Open "Select * from tblPerson where pers_PK =
" &
ID,connection,adOpenStatic,adLockOptimistic, adCmdText
'-----
if ID = 0
then
'estamos agregando un registro
rsPerson.AddNew
end if
'comprobamos que tenemos el registro
if (rsPerson.BOF and
rsPerson.EOF) and ID <> 0 then
'falló con lo que se devuelve el
identificador 0
EditPerson = 0
else
'correcto así que modificamos
'----- se debe comprobar si estos campos han cambiado
' si han
cambiado, el registro debe
' marcarse para revisar
if FirstName = ""
then
FirstName = Null
end if
rsPerson("pers_Name_First") = FirstName
if (rsPerson("pers_Name_First").OriginalValue <> FirstName)
or (ID
= 0) then
NeedsReview = true
end if
if MiddleName = "" then
MiddleName = Null
end if
rsPerson("pers_Name_Middle") = MiddleName
if (rsPerson("pers_Name_Middle").OriginalValue <> MiddleName)
or
(ID = 0) then
NeedsReview = true
end if
if LastName = "" then
LastName = Null
end if
rsPerson("pers_Name_Last") = LastName
if
(rsPerson("pers_Name_Last").OriginalValue <> LastName)
or (ID = 0) then
NeedsReview = true
end if
if Phone = "" then
Phone = Null
end if
rsPerson("pers_PhoneNum") = Phone
if
(rsPerson("pers_PhoneNum").OriginalValue <> Phone)
or (ID = 0) then
NeedsReview = true
end if
if Mobile = "" then
Mobile = Null
end if
rsPerson("pers_MobileNum") = Mobile
if
(rsPerson("pers_MobileNum").OriginalValue <> Mobile)
or (ID = 0) then
NeedsReview = true
end if
if Pager = "" then
Pager = Null
end if
rsPerson("pers_BeeperNum") = Pager
if
(rsPerson("pers_BeeperNum").OriginalValue <> Pager)
or (ID = 0) then
NeedsReview = true
end if
if Email = "" then
Email = Null
end if
rsPerson("pers_EmailAddress") = Email
if
(rsPerson("pers_EmailAddress").OriginalValue <> Email)
or (ID = 0) then
NeedsReview = true
end if
'-----
'actualizar y cerrar el
conjunto de registros
rsPerson.Update
rsPerson.Close
'-----
devolver la clave principal del registro
if ID = 0 then
'recuperar la
clave principal mediante la variable @@IDENTITY
' La variable @@IDENTITY
contiene el campo Identity
' del último registro insertado en esta conexión.
rsPerson.Open "Select @@IDENTITY As ID from
tblPerson",
connection,adOpenForwardOnly,adLockReadOnly,adCmdText
EditPerson
= rsPerson("ID")
rsPerson.Close
else
EditPerson = ID
end if
'-----
end if
'limpiar el conjunto de registros
Set adsChild
= Nothing
end function
'*********************************************************************************
De forma similar, cada alumno puede usar el asistente para buscar alojamiento con el fin de indicar sus preferencias.
Si su explorador no admite marcos incrustados, haga clic aquí para ver el contenido en
una página independiente.
Aggie Search usa esta información para sugerir posibles compañeros de habitación con preferencias compatibles.
La base de datos de Aggie Search está organizada en tres tablas de gran tamaño para compañeros de habitación, apartamentos y otras unidades de alojamiento (véase la figura 1). Un conjunto de 21 tablas de búsqueda permite a los usuarios realizar búsquedas muy específicas; por ejemplo, pueden localizar compañeros de habitación en función de sus horarios, actividades sociales y hábitos de limpieza, y unidades de alojamiento en función de la disponibilidad de patios, pistas de tenis y la conformidad con Americans with Disabilities Act (consulte la figura 2 para ver los nombres y descripciones de las tablas de la base de datos). Una tabla de búsqueda es una tabla "asistente" que emplea palabras clave para administrar los datos de su tabla principal.
Los usuarios (alumnos que buscan compañeros de habitación y caseros que desean incluir las unidades disponibles en la lista) tienen acceso al sitio a través del Web y agregan sus datos a las páginas Active Server. Los revisores del Departamento del alumno examinan todos los días las entradas de la base de datos propuestas para garantizar que cumplen las normas del campus y, a continuación, las páginas Active Server se transfieren a la base de datos de SQL Server mediante Active Data Objects (ADO) integrados en el sistema.
Para facilitar el mantenimiento y las actualizaciones de datos, la mayor parte de las páginas Web de Aggie Search usan datos almacenados en tablas de búsqueda. En el asistente para buscar alojamiento, todos los campos (cuadros desplegables) emplean tablas de búsqueda, excepto las listas de dos valores estándar, como Sí/No o Hombre/Mujer.
Si su explorador no admite marcos incrustados, haga clic aquí para ver el contenido en
una página independiente.
Figura 1 Diagrama de la base de datos de Aggie Search
Si su explorador no admite marcos incrustados, haga clic aquí para ver el contenido en
una página independiente.
Figura 2 Tablas de la base de datos de Aggie Search
Recursos | |
![]() |
La Guía de diseño y distribución en Internet de SQL Server analiza el ciclo de vida del proyecto de una aplicación de base de datos basada en Web, desde la especificación de requisitos al mantenimiento posterior a la distribución.
La guía para revisores de SQL Server 7.0 (SQL Server 7.0 Reviewer's Guide) resalta las características nuevas más importantes de Microsoft SQL Server 7.0.
El artículo acerca de la creación de herramientas de búsqueda basadas en Web, de Andrew Peterson, que se publicó en SQL Server Magazine, proporciona otro ejemplo de cómo crear páginas Web útiles para la recuperación y el acceso a datos. El diseño y los ejemplos de código pueden resultar de interés.
El Centro de tecnología SQL de Microsoft TechNet proporciona recursos que le permitirán distribuir, mantener y proporcionar asistencia técnica de Microsoft SQL Server. TechNet incluye un servicio de suscripción por CD disponible en Microsoft que contiene la información técnica más reciente, controladores y correcciones suplementarias, utilidades, notas del producto, Service Packs, kits de recursos y otras muchas herramientas esenciales para instalar y proporcionar asistencia técnica para los productos de Microsoft. El sitio Web de TechNet contiene amplia información acerca del diseño, evaluación, distribución, mantenimiento y asistencia técnica de diversos sistemas de tecnología de la información.
El Manual del administrador de Microsoft SQL Server suministra información esencial mediante la que podrá configurar SQL Server a fin de obtener un rendimiento óptimo para una aplicación de software o una configuración de hardware dada.
El Kit de recursos de Internet Information Server, disponible en Microsoft Press, trata todos los aspectos del uso de IIS 4.0, incluido el desarrollo de aplicaciones Web, y contiene un apéndice acerca de los estándares ASP.
El capítulo 13 relativo a los componentes y la arquitectura de las aplicaciones Web, de Professional Active Server Pages 3.0, publicado por Wrox Press, analiza los componentes de servidor y cómo usarlos al diseñar aplicaciones basadas en Web.
El artículo acerca de conceptos básicos de ADO y ASP,, de Michael Otey, proporciona detalles acerca de cómo usar las páginas Active Server con ActiveX Data Objects.
El artículo acerca del diseño de ASP presenta información que le ayudará a planear el desarrollo y la administración de aplicaciones ASP seguras, bien organizadas y fáciles de comprender.
Microsoft Developer Network (MSDN) es un recurso muy completo que comprende todas las tecnologías de desarrollo de Microsoft, incluido ASP.
La información contenida en este documento, incluidas las direcciones URL y las referencias a otros sitios Web de Internet, está sujeta a modificaciones sin previo aviso. A menos que se indique lo contrario, los nombres de las compañías, productos, personas, personajes y datos mencionados son ficticios. No se pretende indicar, ni debe deducirse ninguna asociación con compañías, organizaciones, productos, personas o eventos reales. Es responsabilidad del usuario el cumplimiento de todas las leyes de derechos de autor u otros derechos de propiedad industrial o intelectual aplicables. Ninguna parte de este documento puede ser reproducida, almacenada o introducida en un sistema de recuperación, o transmitida de ninguna forma, ni por ningún medio (ya sea electrónico, mecánico, por fotocopia, grabación o de otra manera) con ningún propósito, sin la previa autorización por escrito de Microsoft Corporation, sin que ello suponga ninguna limitación a los derechos de propiedad industrial o intelectual.
Microsoft puede ser titular de patentes, solicitudes de patentes, marcas, derechos de autor u otros derechos de propiedad industrial o intelectual sobre el contenido de este documento. La entrega de este documento no le otorga a usted ninguna licencia sobre dichas patentes, marcas, derechos de autor u otros derechos de propiedad industrial o intelectual, a menos que ello se prevea en un contrato por escrito de licencia de Microsoft.
© 2000, Microsoft Corporation. Reservados todos los derechos.
Microsoft, ActiveX, FrontPage, Visual Basic, Visual InterDev, Windows y Windows NT son marcas comerciales o marcas registradas de Microsoft Corporation en Estados Unidos y en otros países. Otros nombres de productos, compañías o denominaciones sociales aquí mencionados pueden ser marcas comerciales de sus respectivos propietarios.
® 2001 Microsoft Corporation. Última
Actualización: Octubre 15, 2001 Todos los derechos reservados. Aviso Legal |