Sei sulla pagina 1di 7

Curso: Implementacin de base de datos SQL Server 2008

1 Arquitectura Cliente/Servidor
Cuando nos dirigimos a un cajero automtico para efectuar un retiro estamos haciendo uso de una aplicacin cliente/servidor. El cajero automtico es una pequea PC que ejecuta una aplicacin, llamada la aplicacin cliente, que enva los datos de nuestra tarjeta a una aplicacin conocida como la aplicacin servidor que es la que verifica la validez de la tarjeta contrastndola con la data almacenada en un servidor de bases de datos.

De modo similar, cuando nos matriculamos en ISIL mediante la matrcula asistida, hacemos uso de una aplicacin cliente alojada en la mquina en la que estamos sentados. Esta aplicacin enva nuestros datos a un servidor, donde la data es verificada y registrada para validar la matrcula.

Definicin de cliente/servidor
Podemos definir el modelo cliente/servidor analizndolo desde el punto de vista del hardware, y desde el punto de vista del software. Si pensamos en el software diremos que tenemos una aplicacin cliente que solicita un servicio de una aplicacin servidor. Desde el punto de vista del hardware diremos que una computadora es cliente cuando est ejecutando una aplicacin cliente, y es servidor cuando ejecuta una aplicacin servidor.

La divisin entre cliente y servidor no implica necesariamente una divisin fsica. Ambas aplicaciones el cliente y el servidor - pueden residir en la misma computadora, y de hecho, en gran parte de este curso trabajaremos con ambas en la misma computadora.

Elementos software de una aplicacin cliente/servidor Los elementos que componen una aplicacin cliente/servidor son:

Los datos La presentacin La lgica de negocios

Curso: Implementacin de base de datos SQL Server 2008

Los datos Son los elementos en bruto que describen la realidad de una organizacin empresa. Se almacenan en un servidor de bases de datos.

La presentacin Conocida tambin como la interfaz de usuario es el conjunto de elementos que se presenta al usuario en la pantalla de un monitor de cualquier otro dispositivo de entrada/salida como, por ejemplo, la pantalla de un telfono celular, y que le permite interactuar con la aplicacin.

La lgica de negocios Es el conjunto de reglas, especfico a la organizacin empresa, que gobierna los procedimientos que ella ejecuta. Determina la manera en que la organizacin empresa lleva a cabo sus actividades. Dependiendo del lugar en el que se coloca la lgica de negocios dentro de la aplicacin se presentan diferentes esquemas cliente/servidor:

Cliente/servidor de 2-capas Cliente/servidor de 3-capas (N-capas) El modelo Internet Cliente/servidor de 2-capas

En este esquema cliente/servidor, la lgica de negocios se coloca junto con la presentacin en la mquina del usuario, dentro de la base de datos en el servidor, se distribuye entre la presentacin y la base de datos.

Curso: Implementacin de base de datos SQL Server 2008

Cuando toda la lgica de negocios se encuentra en el cliente decimos que la aplicacin es monoltica y del tipo "cliente inteligente" (todos los procesos se ejecutan en el cliente), y el servidor solo trabaja como un depsito de datos. En este caso, la presentacin y la lgica de negocios forman una unidad indivisible.

Cuando toda la lgica de negocios se encuentra en la base de datos implementada en forma de procedimientos almacenados decimos que la aplicacin es del tipo "servidor inteligente". En este caso, todos los procesos se llevan a cabo en el servidor, y el cliente solo es un intermediario para la captura y presentacin de los datos.

Por lo general, la lgica de negocios se distribuye entre el cliente y el servidor. En el cliente se programan procedimientos que ejecutan la validacin y preparacin inicial de los datos, de modo tal que stos lleguen al servidor ya validados. En el servidor se ejecutan los procesos complejos de negocios programando los procedimientos almacenados que son los que procesan la data.

Consideraciones

El modelo cliente/servidor de 2-capas del tipo "cliente inteligente" es el ms sencillo de implementar y es similar a las aplicaciones monolticas programadas para los sistemas mainframe. El modelo del tipo "cliente inteligente" es de mantenimiento ms complejo. Si una regla de negocios cambia, se debe cambiar el cdigo respectivo en los programas, volver a compilar y crear el ejecutable, y luego distribuir la nueva versin en las mquinas de todos los usuarios. El modelo cliente/servidor de 2-capas del tipo "servidor inteligente" requiere que los desarrolladores conozcan la programacin de la base de datos para codificar los procedimientos almacenados y definir las transacciones. En el modelo del tipo "servidor inteligente", si no se disean mecanismos para validar la data en el cliente se corre el riesgo de que por la red viaje data no validada que ser rechazada por los procesos del servidor, generando trfico en la red. La mejor alternativa es distribuir la lgica de negocios entre el cliente y el servidor. En el cliente se prepara la data, y en el servidor se la procesa.

Curso: Implementacin de base de datos SQL Server 2008

Cliente/servidor de 3-capas (N-capas)

En este esquema, parte de la lgica de negocios se separa de la base de datos implementando los objetos de negocios o componentes.

La separacin entre servidor de bases de datos y servidor de aplicaciones no es necesariamente una separacin fsica en dos mquinas; ambos servidores pueden residir en la misma computadora.

Consideraciones

El modelo cliente/servidor de 3-capas es ms complejo para implementar ya que requiere mayor anlisis para el diseo adecuado de los objetos de negocios. Como ventaja podemos mencionar que el mantenimiento de la aplicacin es ms sencillo ya que si una regla de negocios cambia solo debemos cambiar modificar el objeto de negocios (componente) correspondiente. Otra ventaja consiste en que el objeto de negocios puede ser utilizado por todas las aplicaciones que lo requieran, no solamente por la aplicacin para la que dise especficamente. El modelo se puede extender a N-capas cuando la base de datos y los objetos de negocios se distribuyen en varios servidores.

Curso: Implementacin de base de datos SQL Server 2008

El modelo Internet

En este esquema aparece un nuevo elemento, el servidor Web. Este almacena la presentacin en forma de pginas HTML y pginas Web dinmicas (ASP, PHP CGI). El cliente solo necesita el navegador browser y una conexin a Internet.

La lgica de negocios en el servidor Web puede no hacer uso de los objetos de negocios en el servidor de aplicaciones.

Productos basados en SQL ANSI.


SQL (Structured Query Language Lenguaje de Consulta Estructurado) es un lenguaje de manejo de datos creado por IBM en los aos sesenta para facilitar a los usuarios el acceso a los datos almacenados en las computadoras centrales. Antes de la aparicin de SQL los usuarios dependan mucho de la prontitud con la que el equipo de programacin desarrollaba los aplicativos de acceso y mantenimiento de datos. La sintaxis de SQL es muy cercana al ingls coloquial por lo que su uso es muy sencillo y se hizo popular muy rpidamente.

El lenguaje fue adoptado por otros fabricantes de productos de bases de datos, por lo que fue necesario definir un estndar de modo tal que no se tuvieran diferentes "dialectos" del lenguaje. Este estndar se conoce como SQL-ANSI.
5

Curso: Implementacin de base de datos SQL Server 2008

En la actualidad existe en el mercado muchos productos basados en el estndar SQL ANSI: PL/SQL de Oracle, SQL Server de Microsoft, System 11 de Sybase, DB2 de IBM, etc. Todos los fabricantes disean su producto SQL basndose en el estndar ANSI, pero cada uno le aade extensiones propias (mejoras o aadidos al lenguaje) para satisfacer los requerimientos particulares de sus clientes.

El producto de Microsoft, SQL Server, emplea un lenguaje basado en el estndar que Microsoft ha nombrado como Transact-SQL.

Papel de SQL en el modelo cliente/servidor.


En el modelo cliente/servidor las aplicaciones se pueden desarrollar en cualquier lenguaje de programacin para aplicaciones cliente, tales como Visual Basic, PowerBuilder, Delphi, Java, JavaScript, VBScript, etc. La base de datos SQL puede ser de cualquier fabricante: IBM, Microsoft, Sybase, Oracle, etc.

Acceso de las aplicaciones cliente a las bases de datos.


Para que la aplicacin cliente, independientemente de en qu lenguaje se ha desarrollado, pueda acceder a la base de datos y manipular los datos, independientemente del fabricante del motor de datos, se requiere de una API de base

Curso: Implementacin de base de datos SQL Server 2008

de datos que proporcione un conjunto de funciones y procedimientos que interacta con el motor de base de datos. Las APIs ms utilizadas en el mercado son: ODBC (Open DataBase Conectivity) y OLE DB.

ODBC y OLE DB proveen de un conjunto de drivers especficos a los diferentes productos de bases de datos del mercado. Es as, que si una aplicacin PowerBuilder debe interactuar con una base de datos Oracle, podemos utilizar ODBC con el driver ODBC para Oracle.

Potrebbero piacerti anche