Cuadro Comparativo
Enviado por FADM94 • 10 de Marzo de 2015 • 1.583 Palabras (7 Páginas) • 228 Visitas
Cuadro comparativo Cliente-Servidor
Cliente-Servidor 2 capas VENTAJAS DESVENTAJAS
1. Aplicaciones cliente ricas en contenido y rápidas: el hecho de tener todo, menos los datos, en la propia aplicación hace que, disponiendo de un puesto cliente con el hardware adecuado, todo en la aplicación fluya con rapidez (siempre que los datos estén disponibles). Las operaciones que se realizan sobre los datos son instantáneas (no hay que esperar a que lo haga otro servidor y esperar su respuesta). Por ejemplo, si recordáis al principio de internet cuando las páginas web tenían, digamos, un desplegable de provincias y ciudades (donde las ciudades dependen del contenido de la provincia), cuando pinchabas una provincia, la página web llamaba al servidor, éste obtenía las ciudades relacionadas con la provincia y devolvía la página nuevamente para seleccionar la ciudad. Esto era, obviamente, hiperlento. La otra posibilidad era tener un código javascript (capa de negocio) que ya tuviese todos los valores de provincias y ciudades grabadas y, en ese caso, todo era instantáneo. A cambio, la página era mucho más pesada de cargar (cliente rico o pesado). La velocidad de ejecución del javascript dependía en este caso de la potencia del cliente.
2. Actualizaciones independientes: diferentes clientes pueden tener versiones diferentes de la aplicación a la vez funcionando, lo cual sirve, por ejemplo, para actualizar sólo una parte de todos tus clientes, a modo de conejillos de indias, y ver si lo nuevo realmente funciona en real.
3. Fácil escalabilidad en los clientes: es muy fácil añadir nuevos clientes, ya que sólo van a necesitar una conexión para obtener los datos, lo cual no incrementa en mucho las necesidades del servidor. Ahora bien, si la aplicación precisa continuamente de datos del servidor, lógicamente éste se verá sobrecargado muy rápidamente conforme crece el número de clientes.
4. Servidor normal: ya que sólo se va a encargar de los datos, aún siendo estos muy importantes, no es preciso un súper-servidor para tener esos datos disponibles. La CPU apenas va a estar ocupada, sólo va a ser necesaria para el gestor de la BD. Eso sí, el sistema de discos es aquí crítico. 1. Los clientes deben tener ciertos requisitos de hardware: evidentemente, el hecho de que los cálculos se realicen siempre en el cliente obliga a que el hardware pueda llevarlos a cabo con solvencia. Todos recordaréis los “requisitos mínimos” que suelen pedir los programas para instalarse.
2. Instalaciones de los clientes engorrosas: hay que ir cliente a cliente instalando la aplicación, al menos la primera vez, ya que suele traer muchos ficheros de los que depende (baste ver una clásica instalación de Visual Basic para darse cuenta). Las famosas DLLs de las que dependen muchos programas son parte causante de esto. Una vez hecho esto, y si no se añaden nuevas dependencias al programa, las actualizaciones son más fáciles (habitualmente, copiar un único archivo).
3. Red de la empresa congestionada: suele haber mucha información, sobre todo resultados de consultas SQL, fluyendo por la red, desde el servidor a cada cliente y viceversa. Esto no es así (en realidad depende) con las tres capas, ya que ahí solo fluyen los resultados a mostrar en pantalla, mientras que en tecnología cliente-servidor cada cálculo necesita de unos datos que son pedidos y llevados al cliente, para efectuar sus operaciones (muchas veces son muchos datos, como por ejemplo, obtener la lista del todos los clientes o productos, y hacer operaciones con ellos). El hecho de que las operaciones se realicen en el cliente implica que si para obtener, por ejemplo, el resultado de compras+ventas-devoluciones necesito obtener esos datos cada vez y calcularlos en el cliente, las tres informaciones van hasta el cliente, realiza la operación y envía el resultado para ser grabado. Si estas mismas operaciones se hacen en el servidor, nada viaja por la red, salvo el resultado.
Cliente-Servidor 3 capas
1. Aplicaciones cliente ligeras: ya vimos algunas de sus ventajas en los clientes ligeros, a saber: actualizaciones automáticas (siempre que no sean de la interfaz), requerimientos mínimos del cliente, instalaciones sencillas, red poco cargada. El programador en este caso tan sólo debe preocuparse del aspecto gráfico de la misma y de llamar/recibir a los eventos que el usuario puede disparar.
2. Modelo de procesos independiente: si algo está mal, si queremos añadir funcionalidades, nuevos cálculos, … cualquier cosa que el programador quiera hacer la puede hacer y actualizar sin interferir apenas con los usuarios o con la BD. Una vez que todo esté
...