5 de marzo de 2004

Breve Reseña sobre los conceptos de Cliente-Servidor

Autor: Antonio Muñoz de Burgos y Caravaca

En definitiva, no hay que confundir el termino "cliente-servidor" en su relación a una aplicación o a un motor de DB, es más, tampoco hay que confundir (no digo que sea tu caso) la palabra "servidor" con lo siguiente, que mi DB vFoxPro o la que fuera este un servidor, poco tiene que ver con lo que es una arquitectura cliente-servidor, tampoco hay que confundir que por el mero caso que utilice un proveedor para conectar a una DB, tengo una aplicación C/S o que la DB es C/S.



Y ahora intentaré de la forma más simple conceptuar cliente-servidor.

(1) Porque hablamos de una aplicación C/S, el requisito base, es porque hay algún modulo (componente) de programación que se encarga de servir algo de forma eficiente y que tiene la capacidad de ejecutarlo en cualquier sitio "menos en el cliente" en resumidas cuentas se ejecuta y se procesa en un servidor o n-Servidores y no en el cliente y no pasa por medio del sistema de comunicación (LAN,WAN,etc) información que no se corresponda con el resultado de lo solicitado.

(2) Porque hablamos de una DB C/S, el concepto es el mismo pero que se encuentra de forma "explicita" en el propio motor de DB.

Básicamente y hablando en un sentido estricto, el PC cliente solicita a otro PC servidor (ordenador anfitrión) que se ejecute una tarea especifica.

El programa cliente cumple dos funciones distintas: por lado debe de ser capaz de gestionar la comunicación con el servidor, solicita un servicio y recibe los datos enviados por el anfitrión. Por otro lado maneja el interfaz (la capa de presentación) con el usuario.

El PC anfitrión (Servidor) básicamente sólo tiene que encargarse de atender la solicitud, procesarla y enviarla de la forma más eficiente, e incluso puede delegar partes en otros servidor que ha su vez tendrán básicamente la misma función.

Se puede ver que el concepto es tan válido para el punto (1) y (2).

La diferencia del punto (2) en cuanto a MSDE, SQL-Server, Oracle con motores de DB como puede ser vFoxPro, Access, es que las primeras tienen de forma "explicita" la capacidad de servir en base al concepto dado.

(1) Puedo tener una aplicación vFoxPro C/S:
Respuesta: SI

(2) La DB de vFoxPro es C/S:
Respuesta: NO

(3) Puedo realizar una aplicación vFoxPro C/S contra una DB vFoxPro:
Respuesta: SI

(4) En este caso puedo tener una DB vFoxPro con capacidad C/S, por medio de un proveedor:
Respuesta: NO

(5) Puedo hacer que mi DB vFoxPro sea C/S:
Respuesta: SI
Es necesario crear un componente que se encargue de dicha función, por sí solo nunca.
El componente debe de ser capaz de recibir solicitudes.
Si realmente necesitas esto, probablemente la mejor opción es dar un salto y utilizar DB que de forma explicita sean C/S.

(6) El componente lo puedo crear exclusivamente en vFoxPro.
Respuesta: SI

(7)Si no me quiero crear un componente, puedo utilizar otras herramientas.
Respuesta: SI
Pero tendrías que utilizar servicios Web, por lo menos las que conozco, se basan en eso.

(8) Puedo tener una aplicación vFoxPro C/S contra DB vFoxPro y que pueda ser accedida por medio de Internet, por redireccionamiento de IP
Respuesta: SI
Creando un componente de escucha y cumpliendo el punto (5)

(9) Según el punto (8) puedo hacer una aplicación C/S y que funcione con redireccionamiento IP, esto solo es posible por medio de una aplicación Web, por ejemplo utilizando IIS, Apache, AFP, WC, etc.
Respuesta: NO, no es necesario utilizar servicios Web, para crear una aplicación C/S en vFoxPro y funcione por medio de una conexión como puede ser Internet.

(10) Entonces puedo saltarme el punto (9)
Respuesta: SI

(11) Entonces como lo hago.
Creando un componente ver el punto (8)

Un ejemplo claro de aplicación C/S en los terminos a lo que nos hemos estado refiriendo es eMans Server, que en su funcionamiento "no" utiliza IIS, Apache, o cualquier otro producto similar o de tipo Web.

La aplicación eMans Server, es una aplicación totalmente distinta y poco tiene que ver con el concepto de mi Web eMans, los caminos de desarrollo son totalmente distintos, la primera eMans Server (es una aplicación C/S con cliente pesado) y mi Web eMans (es una aplicación Web), aunque ambas son aplicaciones C/S.

La Web eMans necesita apollarse en IIS, mientras que eMans Server "no"

Bueno, no aburro más al personal, creo que de este mensaje saldrán unos pocos de K., pero todo sea por la patria ;-))

Saludos,

Antonio Muñoz de Burgos

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.