Está en la página 1de 31

Arquitectura Cliente-Servidor

Marco FLORES mfloresr@uni.edu.pe

Permite pasar del uso de terminales tontas al uso de computadoras con una determinada capacidad de procesamiento

Modelos de computacin
Computacin centralizada. Computacin cliente-servidor.

Computacin centralizada
Las aplicaciones corren en el mainframe, este recibe los requerimientos de las terminales, los procesa y los presenta en la pantalla del terminal. No existe mayor cordinacin entre el mainframe y la terminal.

Computacin ClienteServidor
El trabajo de procesar los datos es compartido entre el cliente y el servidor. Existe una estrecha relacin entre los clientes que solicitan los servicios y los servidores que los proporcionan.

El proceso Cliente-Servidor
El cliente requiere los datos. El requerimiento es traducido a un lenguaje de consultas como SQL. El requerimiento SQL es enviado al servidor a travs de la red. El servidor busca los datos en los computadores que contienen los datos. El registro requerido es devuelto al cliente. Los datos son presentados al usuario.

Componentes de un ambiente Cliente-Servidor


La aplicacin, tambien conocida como el cliente o front end, y El servidor, tambien conodico como back end.

El cliente
Presenta una interface al usuario. Le da un formato al requerimiento de datos. Muestra los datos recibidos desde el servidor.

Herramientas front end


Herramientas de consulta.Hacen uso de consultas predefinidas y reportes prediseados. Aplicaciones de usuario. Por ejemplo, Excel permite el acceso a datos back end. Herramientas de desarrollo. Permiten el desarrollo de clientes front end, es el caso de Visual Basic.

El servidor
Generalmente, dedicado al almacenamiento y procesamiento de los datos. Recibe los requerimientos estructurados del cliente, los procesa y devuelve los resultados al cliente a travs de la red. El procesamiento back end incluye el ordenamiento de datos, la extraccin de datos y devolucin de resultados al

Procedimientos almacenados (stored procedures)


Rutinas cortas preprocesadas que residen en el servidor y pueden ser usadas por todos los clientes. Reducen el trfico en la red y ahorran el espacio de disco y memoria de los clientes.

Diseo de un sistema Cliente-Servidor

Etapas de diseo
Etapa Etapa Etapa Etapa Conceptual. Lgica. Fsica. Futura.

Etapa Conceptual
En esta etapa se desarrollan los escenarios de uso. El nfasis es puesto en la resolucin de un problema especfico y la propuesta de una solucin acorde a los requerimientos de los

Etapa Lgica
En la etapa lgica se derivan los objetos y sus servicios necesarios. Conduce a la evaluacin de diferentes opciones fsicas y a la propuesta final que se le har al equipo de desarrollo.

Etapa Fsica
En esta etapa se asignan los objetos y sus servicios a componentes fsicos. Los componentes fsicos se corresponden en todo momento con los objetos lgicos. Se considera la mejora de la infraestructura y la tecnologa, para reducir riesgos y acortar el

Etapa Futura
Es esta etapa se consideran los futuros escenarios del negocio y se planifica las actividades que estn por venir.

Consideraciones en el cliente y en el servidor


Debe ser posible correr la aplicacin en el servidor. Las aplicaciones de usuario deben incluir un juego de componentes clientes. Los componentes del servidor debe incluir los archivos ejecutables, libreras y cualquier otro archivo que necesite ser

Clientes inteligentes
Ejecutan los servicios de presentacin y la lgica del negocio. El servidor acta como una base de datos.

Servidores inteligentes
Son aquellos que realizan los servicios de presentacin y las reglas del negocio. La lgica del negocio esta escrita en stored procedures y se almacenan dentro de la

Soluciones Multi-tier

La interface del usuario, las reglas del negocio y las bases de datos residen en forma separada. Tres son las categoras de servicios en una solucin multitier: servicios de datos, servicios de procesamiento y servicios de usuario.

Desarrollo de aplicaciones Cliente-Servidor

Bases de datos relacionales


Es un conjunto de tablas cuyas columnas representan las diferentes informaciones a manejar y las filas, los diferentes elementos representados. Las filas se denominan registros, y las columnas, campos.

Una tabla
Descripcin Procesador P-200 SIMM 32 Mb - 72cont. Cantidad 30 65 Precio 29000 23000

Una tabla es una coleccin de datos acerca de un tema especfico. Una tabla organiza datos en filas (llamadas registros) y columnas (llamadas campos).

Enlaces entre tablas


Permite encontrar informaciones de una tabla a partir de las informaciones de otra, permitiendo as almacenarlas una sola vez. Para enlazar una tabla con otra, es necesario por lo menos un campo comn que determine de forma nica un registro de la segunda. Esto es lo que denominamos clave.

Manipulacin de bases de datos

Tradicionalmente se usan Sistemas de Gestin de Bases de Datos SGBD, actualmente tenemos:

Las vistas

Son conjuntos de campos que cumplen una condicin dada y son visualizados o usados para la creacin de otros campos.

Las consultas
Para acceder a las diferentes informaciones (los datos) en las bases, emitimos consultas. Usando un lenguaje de consultas, como SQL, solamente la consulta se transmite al servidor que debe tratarla y posteriormente devolver el

Los ndices
Un ndice recupera el orden de los registros de una tabla, segn ciertos criterios. As, cuando se aade un registro, basta con actualizar el ndice que slo comprende nmeros sin tocar el orden de la propia tabla cuyos registros pueden ocupar mucho ms espacio y sera pues ms

Microsoft SQL Server

Es un sistema de administracin de bases de datos relacionales escalable y de alto desempeo para redes que usan Windows NT.

Caractersticas ofrecidas a los desarrolladores


Stored Procedures Transact-SQL Triggers Cursores en el lado del servidor