Beruflich Dokumente
Kultur Dokumente
1
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Edición 1.0
2
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
El modelo Cliente-Servidor
Definición
La tecnología Cliente-Servidor es el procesamiento cooperativo de la información
por medio de un conjunto de procesadores, en el cual múltiples clientes,
distribuidos geográficamente, solicitan requerimientos a uno o más servidores
centrales. Desde el punto de vista funcional, se puede definir la computación
Cliente-Servidor como una arquitectura distribuida que permite a los usuarios
finales obtener acceso a la información en forma transparente aun en entornos
multiplataforma.
La idea es tratar a una computadora como un instrumento, que por sí sola pueda
realizar muchas tareas, pero con la consideración de que realice aquellas que son
mas adecuadas a sus características. Si esto se aplica tanto a clientes como
servidores se entiende que la forma más estándar de aplicación y uso de sistemas
clientes/servidores es mediante la explotación de las PC a través de interfaces
gráficas de usuario; mientras que la administración de datos y su seguridad e
integridad se deja a cargo de computadoras centrales tipo mainframe.
ü Se establece una relación entre procesos distintos, los cuales pueden ser
ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo
largo de la red.
3
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
ü Los clientes corresponden a procesos activos en cuanto a que son éstos lo que
hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter
pasivo ya que esperan las peticiones de los clientes.
4
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Cliente
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes
puntos:
5
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Servidor
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes
puntos:
Middleware
6
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Capa de Datos
Capa de Negocios
Capa de Presentación
Es la interfaz que usa el Cliente para acceder a la aplicación, está compuesta por
los formularios, sistemas de menús, diálogos, cajas de herramienta.
Las tres capas están relacionadas unas con otras, la capa de Presentación recibirá
la petición del Cliente, se la envía a la capa de Negocios para que procese la
petición, luego accede a la capa de Datos para generar un resultado.
J La distribución de estas capas en el Servidor o en el Cliente, dará origen a los distintos modelos que
a continuación se describe.
7
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Una de las más comunes y discutidas distinciones entre las diferentes arquitecturas
Cliente-Servidor se basan en la idea de planos (tier), la cual es una variación sobre
la división o clasificación por tamaño de componentes (clientes grandes y
servidores amplios). Esto se debe a que se trata de definir el modo en que las
prestaciones funcionales de la aplicación serán asignadas, y en que proporción,
tanto al cliente como al servidor. Dichas prestaciones se deben agrupar entre los
tres componentes clásicos para Cliente-Servidor: interfaz de usuario, lógica de
negocios y los datos compartidos, cada uno de los cuales corresponde a un plano.
Dentro de esta categoría tenemos las aplicaciones en dos planos (two-tier), tres
planos (three-tier) y multi planos (multi-tier).
Cliente inteligente
8
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
En este esquema el cliente envía mensajes con solicitudes SQL al servidor de bases
de datos y el resultado de cada instrucción SQL es devuelto por la red, no
importando si son uno, diez, cien o mil registros. Es el mismo cliente quien debe
procesar todos los registros que le fueron devueltos por el servidor de base de
datos, según el requerimiento que él mismo hizo. Esto hace que este tipo de
estructura se adecue a los requerimientos de aplicaciones orientadas a los sistemas
de apoyo y gestión, pero resultan inadecuados para los sistemas críticos en que se
requieran bajos tiempos de respuesta.
Ventajas:
Desventajas:
9
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Ventajas:
Desventajas:
10
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Ventajas:
ü Los lenguajes sobre los cuales se desarrollan las aplicaciones son estándares lo
que hace más exportables las aplicaciones entre plataformas.
11
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Desventajas:
12
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Implementando Cliente-Servidor
J En ésta primera entrega nos ocuparemos del desarrollo de Vistas Remotas, las siguientes técnicas
estarán disponibles en la siguiente edición de éste libro.
13
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Visual FoxPro incluye una herramienta mediante la cual puede migrar una
aplicación de escritorio al entorno Cliente-Servidor, tal procedimiento se conoce
como Upsizing a SQL Server. Mediante este procedimiento fácilmente se migra la
Base de Datos al Servidor, las Vistas Locales automáticamente se convertirán en
Vistas remotas, asi mismo por cada una de las tablas se generán Vistas Remotas.
J El uso de vistas locales en el diseño de una aplicación facilita el proceso de Upsizing, una vez
concluida, no tendrá que modificar absolutamente nada.
14
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Preparando el Servidor
3. Haga click en el botón derecho del mouse sobre la opción Bases de Datos y elija
la opción Nueva Base de Datos.
15
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
16
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Una vez que pulse el botón Aceptar se habrá creado los archivos correspondientes
para estos dispositivos.
17
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Preparando el Cliente
J Si su aplicación accede directamente a las tablas, no se preocupe, tambien puede migrar a Cliente
Servidor, solo que finalizado el proceso deberá realizar algunos ajustes.
18
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
ü DSN de usuario, podrá ser usado solo por el usuario que lo creó
ü DSN de sistema podrá ser usado por cualquier usuario de esa PC
ü DSN de archivo generará un archivo el que luego podrá trasladarse como
archivo con extensión DSN a otra PC.
19
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
20
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
21
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
J Un DSN de Usuario, puede ser usado solo por el usuario que lo ha definido, el DSN de Sistema, está
disponible para cualquier usuario, el DSN de Archivo es transportable.
22
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Efectuando el Upsizing
A veces el proceso de upsizing es interrumpido por un problema de red, del
servidor o por la aplicación, dado que este proceso efectúa cambios irreversibles en
la Aplicación, conviene mantener una copia de la Aplicación.
3. Visual FoxPro, presenta dos Asistentes para Upsizing, una hacia SQL Server y
otra hacia Oracle. En nuestro caso elegiremos Asistente para upsizing SQL
Server.
23
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
24
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
25
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
9. Revise los atributos que tendrán las tablas en el Servidor, asi mismo indique los
cambios que se realizarán en la Aplicación, por ejemplo si por cada Vista Local
se creará una Remota, si por cada tabla DBF se obtendrá una Vista Remota.
10. Por ultimo haga click en el botón Finalizar y ejecute la aplicación, está
funcionando en Cliente-Servidor.
26
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
27
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Por el lado del Cliente en la Base de Datos PCVentas se habrá creado un conjunto
de Vistas Remotas, las tablas que en ella figura ya no serán necesarias, así que
puede removerlas.
28
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Optimizando la Aplicación
Las Vistas Remotas recogen los datos del Servidor, para recién ser procesadas en el
Cliente, siendo por esta razón no son tan adecuadas.
29
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Procedimientos Almacenados
En un modelo multicapa, conviene que ciertas acciones deban realizarse en el
Servidor, las ligadas a datos. El Servidor manipula los datos actuales, que envuelve
búsquedas de registros, añadir, actualizar y borrar registros. Mientras que el cliente
controla la lógica, diciendo al Servidor qué hacer y en qué orden lo debe de hacer.
Visual FoxPro le dice al Servidor qué Procedimiento Almacenado debe ejecutar pero
no sabe qué es lo que hay en cada uno de los Procedimientos Almacenados. Visual
FoxPro solo sabe, y de hecho, sólo necesita saber, si los Procedimientos
Almacenados funcionan.
30
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Implementación
31
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
32
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Uso de Parámetros
Los Parámetros son el medio por el cual se enviará datos del Cliente al
Procedimiento Almacenado o viceversa.
Parámetros de entrada
Parámetros de salida
33
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
A continuación se expone las distintas técnicas que se puede usar para acceder a
los objetos del Servidor desde el Cliente.
34
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Vistas Remotas
A diferencias de las Vistas Locales, las Vistas Remotas toman como origen de datos
una Fuente de Datos externa a la cual se accede mediante controladores ODBC.
Ventajas
Desventajas
ü El resultado generador por una Vista puede resultar mas lento que las otras
tecnicas.
ü Las Vistas Remotas no puede ejecutar objetos distintos a las tablas como los
Procedimientos Almacenados y Consultas del Servidor.
35
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Un ejemplo
Veamos un ejemplo de Vista Remota, obtendremos los datos de un determinado
Cliente
1. Sobre la Base de Datos PCVentas haga click derecho y señale Nueva Vista
Remota.
4. Será necesario definir un parámetro de tipo carácter para el código del Cliente,
al que llamaremos codCliente
36
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
CodCliente = “C13”
USE Farmacia!vrCliente
BROWSE
37
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
J Respecto al diseño de formularios, deberá tener en cuenta las mismas consideraciones señaladas en
el uso de Vistas Locales, puede revisar dicho teme en nuestro libro Fundamentos de programación en
Visual FoxPro, www.LibrosDigitales.NET
L Si usará funciones en el diseño de sus Vistas Remotas, deberá usar las correspondientes en SQL
Server.
El cuadro siguiente muestra las funciones SQL Server homólogas a las de Visual
FoxPro:
38
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Ventajas
Desventajas
39
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Conectándose al Servidor
Este metodo hace uso de un DSN, asumiremos el creado al principio del capitulo:
dsnPcVentas
La función que permite definir una conexión se llama SQLCONNECT(), ésta función
devuelve un número. Si el número es –1 es por que no se logro establecer la
conexión satisfactoriamente, caso contrario el numero generado identificará la
conexión.
Por ejemplo:
? n
40
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Usemos una conexión para realizar todas nuestra operaciones con el Servidor, en el
momento que no sea necesario puede remover la conexión mediante la función:
SQLDISCONNECT(Conexión)
Por ejemplo:
SQLDISCONNECT(n)
codCliente = “C01”
cSQL = “SELECT * FROM Cliente WHERE IdCliente = ?codCliente”
SQLEXEC(n, cSQL, “cCliente”)
SELECT cCliente
BROWSE
41
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
42
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
La función SQLEXEC() se puede usar para enviar no solo órdenes SQL tales como
Insert y Update, sino también puede usar para decir a SQL Server que ejecute un
procedimiento almacenado.
SQLEXEC(n,”EXEC spTotalVentas”)
43
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Puede que le resulte más cómodo usar la otra forma, al menos cuando se presenta
parámetros de salida, veamos el resto de casos:
nSuma = 0
X = 7
Y = 5
SQLEXEC(n,”{CALL spSuma(X, Y,?@nSuma)}”)
? nSuma
44
Aplicaciones Cliente-Servidor e Internet con Visual FoxPro, SQL Server y ASP
Próxima Entrega
Edición 1.1
Dentro de una semana
45