Desventajas de las arquitecturas de la n-capas:
Pone más carga en la red, debido a una mayor cantidad
de tráfico de la red.
Es mucho más difícil programar y probar el
software que en arquitectura de dos niveles porque tienen que
comunicarse más dispositivos para terminar la
transacción de un usuario.
Ventajas
Centralización del control: los accesos, recursos y
la integridad de los datos son controlados por el servidor de
forma que un programa cliente defectuoso o no autorizado no
pueda dañar el sistema. Esta centralización
también facilita la tarea de poner al día datos
u otros recursos (mejor que en las redes P2P).Escalabilidad: se puede aumentar la capacidad de clientes
y servidores por separado. Cualquier elemento puede ser
aumentado (o mejorado) en cualquier momento, o se pueden
añadir nuevos nodos a la red (clientes y/o
servidores).Fácil mantenimiento: al estar distribuidas las
funciones y responsabilidades entre varios ordenadores
independientes, es posible reemplazar, reparar, actualizar, o
incluso trasladar un servidor, mientras que sus clientes no
se verán afectados por ese cambio (o se
afectarán mínimamente). Esta independencia de
los cambios también se conoce como
encapsulación.Existen tecnologías, suficientemente desarrolladas,
diseñadas para el paradigma de C/S que aseguran la
seguridad en las transacciones, la amigabilidad del interfaz,
y la facilidad de empleo.
Desventajas
La congestión del tráfico ha sido siempre un
problema en el paradigma de C/S. Cuando una gran cantidad de
clientes envían peticiones simultaneas al mismo
servidor, puede ser que cause muchos problemas para
éste (a mayor número de clientes, más
problemas para el servidor). Al contrario, en las redes P2P
como cada nodo en la red hace también de servidor,
cuantos más nodos hay, mejor es el ancho de banda que
se tiene.El paradigma de C/S clásico no tiene la robustez de
una red P2P. Cuando un servidor está
caído, las peticiones de los clientes no
pueden ser satisfechas. En la mayor parte de redes P2P, los
recursos están generalmente distribuidos en varios
nodos de la red. Aunque algunos salgan o abandonen la
descarga; otros pueden todavía acabar de descargar
consiguiendo datos del resto de los nodos en la red.El software y el hardware de un servidor son generalmente
muy determinantes. Un hardware regular de un ordenador
personal puede no poder servir a cierta cantidad de clientes.
Normalmente se necesita software y hardware
específico, sobre todo en el lado del servidor, para
satisfacer el trabajo. Por supuesto, esto aumentará el
coste.El cliente no dispone de los recursos que puedan existir
en el servidor. Por ejemplo, si la aplicación es una
Web, no podemos escribir en el disco duro del cliente o
imprimir directamente sobre las impresoras sin sacar antes la
ventana previa de impresión de los navegadores.
Dirección
Los métodos de
dirección en ambientes del servidor de
cliente se pueden
describir como sigue:
Dirección del proceso de la máquina: la
dirección se divide como proceso@máquina. Por
lo tanto 56@453 indicaría el proceso 56 en la
computadora 453.Servidor de nombres: los servidores de nombres tienen un
índice de todos los nombres y direcciones de
servidores en el dominio relevante.Localización de Paquetes: Los mensajes de
difusión se envían a todas las computadoras en
el sistema distribuido para determinar la dirección de
la computadora de la destinación.Comerciante: Un comerciante es un sistema que pone en un
índice todos los servicios disponibles en un sistema
distribuido. Una computadora que requiere un servicio
particular comprobará con el servicio que negocia para
saber si existe la dirección de una computadora que
proporciona tal servicio.
Ejemplos
Visitar un sitio web es un buen
ejemplo de la arquitectura
cliente/servidor. El servidor web sirve las páginas
web al navegador (el cliente). La mayoría de los
servicios de
Internet son tipo de servidores. Por
ejemplo, si estás leyendo este artículo en
Wikipedia, la computadora
y el navegador web serían considerados un cliente, y las
computadoras,
las bases de datos, y
los usos que componen Wikipedia serían considerados el
servidor. Cuando tu navegador web solicita un artículo
particular de Wikipedia, el servidor de Wikipedia encuentra toda
la información requerida para exhibir el
artículo en la base de datos
de Wikipedia, la monta en una página web
considerada como interfaz gráfica, y la envía de
nuevo a tu navegador web.
Otro ejemplo seria un juego online,
el numero de servidores depende del juego pero supongamos que
tienen 2, cuando tu lo descargas y lo instalas tienes un cliente,
si tienes solo un computador en
casa y juegan 3 personas, existen un cliente, 3 usuarios y 2
servidores pero depende de ti a cual te conectas, si cada uno
instala el juego en sus propios ordenadores, serian 3 clientes, 3
usuarios y 2 servidores.
Cooperación cliente-servidor
Chained Server
En esta clasificación de servidores se encuentran
aquellos que de vez en cuando se comportan como clientes, ya sea
de manera efímera o por mucho tiempo.
Temporal
Son servidores que por motivos de gestión
o para ejecutar cierta parte del proceso de
transacción, se comportan como clientes ya sea para
solicitar la información requerida al servidor
correspondiente o simplemente como un enlace hacia el "destino"
de la petición. Sólo realiza la transacción
solicitada y vuelve a su estado normal
una vez terminada la misma. Ejem: serv
Largo Plazo
Aquellos en los cuales realiza varias transacciones del por
mucho más tiempo que la anterior, y se orienta más
a la aplicación para la que fue dirigida.ejem: serv. de
WEB, etc.
Multiple Server
Para que un proceso se realice de la mejor manera, es
preferible utilizar terminales distintos realizando la misma
tarea, a centralizar los recursos y que
con más hardware/software se realice la misma
tarea. Con la ejecución de múltiples servidores el
procesamiento es más rápido, el tiempo de respuesta
es descentralizado y se incrementa la confiabilidad.
Cooperación de procesos
paralelos
El mismo proceso se ejecuta simultáneamente (sistemas
redundantes).
Cooperación de base de datos
Si se requiere de cierta información ya existente, por
qué crearla de nuevo, simplemente interactúa y
aprovecha la información ya creada
Aplicación
distribuida
Una aplicación con distintos componentes que se
ejecutan en entornos separados, normalmente en diferentes
plataformas conectadas a través de una red. Las típicas
aplicaciones distribuidas son de dos niveles (cliente-servidor),
tres niveles (cliente-middleware-servidor) y multinivel.
== Componentes de una aplicación distribuida
==
Una aplicación distribuida que sigue el modelo
cliente-servidor tiene los siguientes componentes:
Lado servidor: Programa que se ejecuta en un
computador que está conectado a una red. Esta a la
escucha en un puerto, esperando las peticiones de los
clientes; por ejemplo, un servidor Web escucha en el puerto
80. Un computador que ejecuta un servidor de
aplicación necesita estar conectado a la red para
responder a las peticiones de los clientes.Lado cliente: Programa que ejecuta el usuario de la
aplicación. El cliente hace sus peticiones al servidor
a través de la red. Por ejemplo, un navegador Web.Protocolo de aplicación para la
comunicación entre el cliente y el servidor. El
protocolo define el tipo de mensajes intercambiados; por
ejemplo, el protocolo de la capa de aplicación de la
Web, HTTP, define el formato y la secuencia de los mensajes
transmitidos entre el navegador y el servidor Web.Formato de los mensajes que se intercambian,
algunas veces forma parte del servicio; por ejemplo, en el
correo electrónico se define el formato de los
mensajes electrónicos.
No encontrando ningún buen ejemplo acerca de
aplicaciones distribuidas (suponiendo que utilicé todos
los lugares mejor y más conocidos), me dediqué a
desarrollar el que presenta Microsoft en
su sitio, bastante bien explicado y en español,
por suerte. Finalmente, ya desarrollado y bien probado que
trabaja correctamente lo apliqué en mis propios
diseños tomándolo como plantilla y sinceramente me
estoy ahorrando un buen poco de tiempo al haber ya iniciado una
aplicación basada inicialmente en este esquema. Tal vez ya
muchos, así como yo, habrán experimentado con este
tutorial de Microsoft, pero no está demás para
aquellos que no lo entendieron bien o que nunca lo ubicaron.
El asunto, para hacerlo fácil, consiste en un bastante
sencillo servicio web
(Web Service), una interfaz Windows y una
interfaz Web, el MSDE y la base de datos Pubs. Se ve bastante
simple y así es, pero lo interesante es que puede ser
tomado como base para ir agregándole más
funcionabilidad y complejidad.
En el ejemplo que se acompaña está todo
construido y solo bastará instalar, considerando que el
web.zip se instala en inetPubwwwroot o en cualquier
discodirectorio. El segundo, ejemplo.zip se instala en cualquier
directorio. Hay que reconfigurar el IIS para el servicio web y la
aplicación web; esto se hace entrando al administrador del
IIS y bajo Seguridad de
Directorios desactivar Ingreso Anónimo y activar
Autenticación de Windows Integrada. También hay que
considerar que el servicio y aplicación web deben ser
configurados en el IIS como sitios virtuales.
Se ha utilizado la base de datos PUBs operando con MSDE, la
versión 2003. Para quienes no tengan Pubs.MDF se incluye
pubs.sql en el zip,
para poder generar
la base.
Solamente probado bajo localhost, no vía http
externamente, aunque debería operar correctamente.
Aplicación en
internet
Dinamismo e interacción para su Sitio Web
Desarrollamos continuamente aplicaciones especiales para
añadir dinamismo y funcionalidad a los sitios web de
nuestros clientes. Contamos con una gran colección de
aplicaciones que pueden ser instaladas en su servidor, o podemos
desarrollar su aplicación a la medida.
Aplicaciones sin costo:
Panel de controlSu empresa obtiene
el control total de
su propio servidor virtual a través de un panel de control
que le permitirá:
Crear / administrar sus propias cuentas de
correo electrónicoCrear listas de correo
Bloquear spam (correo no deseado)
Accesar a sus estadísticas de
visitasProteger directorios privados con claves
Administrar archivos
Realizar copias de seguridad
Y mucho más…
WebMailInstalamos en su servidor virtual nuestra
aplicación de WebMail con la cual usted y sus empleados
podrán accesar a su correo
electrónico desde cualquier computadora
como si fuera Yahoo o Hotmail. Incluye además una libreta
de direcciones, calendarios memos y recordatorio de tareas.
Módulo de edición
El módulo de edición
le permitirá mantener su sitio web actualizado sin
necesidad de conocer nada sobre diseño
y programación en Internet. Usted podrá
editar sus páginas web existentes modificando textos,
imágenes, cambiando formatos, etc. Esta
sencilla aplicación funciona como si estuviera utilizando
un procesador de
palabras como Word.
FormMail Clone
Esta aplicación es especial para crear formularios en su
sitio web. Se ha programado de tal forma que impida a spammers o
personas con malas intenciones utilizarlo para enviar correos
masivos que consuman su ancho de banda o puedan dar lugar a la
suspensión de su cuenta.
Aplicaciones con costo de
instalación:
Módulo de novedades y promociones
El módulo de novedades le permite agregar nuevo
contenido a su sitio Web sin necesidad de conocer nada sobre
programación. Mantenga a sus visitantes informados
ofreciéndoles información sobre sus nuevos productos o
servicios,
ofertas, comunicados de prensa,
concursos, etc…
Catálogo electrónico
Configuramos en su servidor un poderoso catálogo
electrónico con el que podrá mostrar sus productos
en ilimitadas categorías, con fotografías y
detalles de cada uno de ellos.
Estas son algunas de sus
características:
– Manejo de productos y servicios ilimitados-
Categorías ilimitadas- Motor de
búsqueda incorporado- Fotografías de los productos-
Registro de
clientes- Manejo de inventario–
Multi-lingüe y multi monedas- Reporte de ventas–
Fácil de administrar a través de la web
Puede ser conectado a un servicio de cobros en línea
para convertirse en carretilla de compras y
realizar ventas en línea
Módulo de banners
Usted puede colocar anuncios rotatorios en su sitio web, para
lo cual necesita un software que le permita manejarlos y
monitorearlos. Podemos instalar esta aplicación en su
servidor para que pueda anunciar sus ofertas, productos o cobrar
a terceros por aparecer en su sitio.
Galería de fotografías
Publicar sus fotografías en una forma ordenada por
"galerías" es muy sencillo con nuestra aplicación
PhotoGallery, con el que puede mostrar sus fotografías
agrupadas por categorías con vistas en miniatura y
agrandarlas, e incluso colocar descripciones para cada
galería y fotografía.
Foros de discusiones
Convierta su sitio en una comunidad en
Internet con un foro de
discusiones donde sus usuarios puedan dejar mensajes que sean
respondidos por su staff o por otros usuarios de su sitio.
Aplicaciones a la medida
Desde sencillas calculadoras hasta complejas aplicaciones con
bases de datos, nuestros programadores pueden desarrollar
aplicaciones a la medida para su empresa. Algunos ejemplos de
aplicaciones especiales que hemos desarrollado son:
Sistemas de control de ingreso de personal y
visitas a empresasTrackers para determinar la
localización de pedidos, furgones, etcSistema de lotería en línea
Sistema de reservaciones en línea para
hoteles, rentadoras de autos, etc.Sistema para administración de
documentos
Autor:
Thealancito
Página anterior | Volver al principio del trabajo | Página siguiente |