Inicio | Artículos | Vb | Introduccion a la arquitectura clienteservidor
Introduccion a la arquitectura Cliente/Servidor
Publicado el Lunes 19 de septiembre de 2005 a las 21:28:06 por Mugutu
Lecturas
Es un sistema informático en el que las tareas se distribuyen entre diferentes aplicaciones. Es decir, en vez de construir una sola aplicación en la que se contemple la realización de todos los trabajos, estos trabajos se realizan por varias aplicaciones que incluso pueden ejecutarse en máquinas diferentes.
Existen dos tipos de aplicaciones:
· La aplicación servidora que suele realizar las tareas de mas trabajo y consumo de recursos.
· La aplicación cliente que se encarga fundamentalmente de hacer peticiones de datos a la aplicación servidora.
Los sistemas cliente/servidor se suelen ejecutar en máquinas distintas: una máquina en la que se ejecuta la aplicación servidora y otra u otras en la que se ejecuta la aplicación cliente. Por eso, tendremos que disponer de un PC potente para la aplicación servidora y varios PCs domésticos donde se ejecute la aplicación cliente.
VENTAJAS
1.- Los desarrollos son mucho más cortos.
2.- Mayor duración de las aplicaciones.
3.- Es posible reconfigurar el servidor o los clientes sin la necesidad de alterar los programas que constituyen la aplicación.
4.- Aumento de rendimiento y reducción de gastos, debido a que la aplicación se puede redistribuir por distintas máquinas.
COMPOSICIÓN
La aplicación cliente es la que interactúa con el usuario y consta de:
· Interfaz gráfica.
· Se realizan validaciones de datos de entrada.
· Se realizan las peticiones de datos a las aplicaciones servidoras.
· Verifica la lógica del negocio.
La aplicación servidora, normalmente es un sistema gestor de bb.dd. que se caracteriza por:
· Administra la bb.dd.
· Verifica la integridad de la bb.dd.
· Gestiona la seguridad de la bb.dd.
· Ejecuta parte de la lógica de la aplicación.
· Responde a las peticiones de las aplicaciones clientes.
RED DE COMUNICACIÓN
Es todo aquel conjunto de elementos basados en hardware y software que permite establecer un enlace entre los clientes y los servidores. Para ello son necesarios los protocolos de comunicación entre equipos (TCP/IP) o los RPC (Remote Procedure Call), también por medio de Sockets y correo electrónico.
Características de la comunicación:
1. A través de este medio el cliente debe localizar e iniciar la comunicación con el servidor.
2. No se utiliza la metodología de compartición de archivos ya que todos los accesos se llevan a cabo a través de peticiones por medio de comunicación.
REGLAS DE NEGOCIO (LÓGICA DEL NEGOCIO)
Todas las aplicaciones c/s desarrollan tareas repetitivas de una manera automática sobre características de una determinada empresa. De esta manera, estas aplicaciones se deben de ceñir a la realidad de negocio de la empresa de forma que no haya situaciones imposibles, como, por ejemplo, que se intente vender un producto a un cliente que no exista o que la fecha de compra de un articulo sea anterior a la fecha de oferta del mismo.
ARQUITECTURA C/S DE 2, 3 O MÁS CAPAS
Hoy en día es necesario que se haga un exhaustivo análisis de necesidades del negocio para las empresas. Este problema se resuelve mediante la creación de aplicaciones de 2, 3 o más capas.
- Aplicaciones de 2 capas.
Tenemos un ordenador de sobremesa que trabaja como cliente y un servidor de red donde se aloja el sistema gestor de bb.dd.
DISPARADORES
En este tipo de arquitectura la lógica del negocio reside en el PC cliente pero tiene que estar implementada en el servidor mediante los llamados disparadores o procedimientos almacenados. Estas aplicaciones son sencillas pero tienen inconvenientes:
1. No es posible cambiar de escala, es decir, cuando las necesidades de una empresa requieren para su solución añadir más ordenadores en este tipo de aplicación no es posible hacerlo puesto que siempre se restringe a dos ordenadores.
2. Las reglas de negocio no son independientes de los datos ni de la aplicación cliente, de forma que no se pueden reutilizar en futuras necesidades de nuevas aplicaciones para la empresa.
3. Las aplicaciones cliente realmente se comunican directamente con la fuente de datos, y lo suelen hacer de una forma automática, esto hace que en el cliente haya un gran consumo de recursos.
- Aplicaciones de 3 capas.
Persiguen la posibilidad de partir las aplicaciones. Esto se lleva a cabo mediante la división del código en componentes lógicos generalmente utilizando el modelo COM (modelo de objetos componentes). Estos componentes han de perseguir el modelo de servicios, que sugiere que los componentes se puedan agrupar en 3 capas: capa o servicios de usuario, capa o servicio de negocio o regla de negocio, capa o servicio de datos. Si se sigue este modelo cada componente se puede implementar en máquinas distintas. Las ventajas de este modelo son:
1. Los componentes que se crean se pueden reutilizar en posteriores aplicaciones por lo que el tiempo en su desarrollo se aprovecha.
2. Como es posible que los componentes de la aplicación se puedan ejecutar en diferentes máquinas, podemos distribuirlos según las necesidades en máquinas más potentes por lo que aumenta el rendimiento general de estas aplicaciones.
3. Se puede subdividir una aplicación compleja en partes mucho más sencillas de entender y gestionar.
4. Cuando existen necesidades de mantenimiento, las modificaciones a realizar se hacen solamente sobre determinados componentes, permaneciendo los restantes intactos por lo que el mantenimiento es más fácil.
· MODELO DE OBJETOS COMPONENTES (COM)
COM es una arquitectura general para la generación de componentes software, se preocupa de cómo deben interactuar los componentes entre sí. ActiveX se ocupa de la implementación de estos componentes, es decir, de la estructura física del COM
Objetivos:
1.Que los desarrolladores pudiesen crear componentes únicos que pudiesen trabajar de forma conjunta, independientemente del creador de los mismos, los componentes saben como trabajar en conjunto.
2. El componente que se está utilizando se puede modificar sin ningún tipo de efecto en las aplicaciones que lo utilizan.
3. Los componentes se pueden crear con cualquier lenguaje de programación.
4. Los componentes se pueden ejecutar en procesos o fuera de procesos de una manera transparente al desarrollador.
Un servidor en proceso es aquel que se ejecuta en el mismo espacio de direcciones de memoria que la aplicaciones clientes. Estos componentes suelen estar encapsulados en una DLL.
Un servidor fuera de proceso es aquel que se ejecuta en un espacio de direcciones de memoria diferente al de las aplicaciones cliente, por lo que el componente puede estar en la misma máquina.
En el entorno de desarrollo de Visual Basic estos componentes se consiguen mediante los proyectos ACTIVEX.EXE y ACTIVEX.DLL .
DCOM: es un protocolo que permite que las aplicaciones realicen llamadas a procedimientos remotos (RPCs) orientados a objetos en entornos de sistemas distribuidos. A través de este protocolo los componentes se pueden comunicar incluso por medio de http, el protocolo de hipertexto de Internet. DCOM permite organizar y clasificar datos entre los componentes, gestionar niveles de seguridad de cliente y de servidor y controlar las versiones de interfaces por medio de identificadores únicos y universales.
COMO IMPLEMENTAR LA ARQUITECTURA CLIENTE/SERVIDOR
En el entorno de desarrollo Visual Basic existe la posibilidad de crear diferentes objetos: DLL ACTIVEX, EXE ACTIVEX, CONTROLES ACTIVEX Y DOCUMENTOS ACTIVEX. Los más utilizados son los dos primeros y para definirse hay que tener en cuenta una serie de características de los mismos:
1. Las DLL son más rápidas en la carga que los componentes EXE.
2. En la carga de componentes EXE hay que tener en cuenta el tráfico de red con lo que su lentitud puede aumentar.
3. Las DLL, al ejecutarse en el mismo espacio de memoria que la aplicación cliente que lo llama, cuando se produce un error en la DLL puede bloquear también la ejecución de la aplicación cliente, es decir, no hay un control preciso de errores.
4. Los EXE, sin embargo, como se ejecutan en diferentes espacios de memoria, cuando se produce un error en uno de estos componentes no se bloquea la ejecución de la aplicación cliente.
Para la implementación de la arquitectura cliente/servidor de tres capas se suele utilizar alguna de estas cuatro formas:
1.Servidor único: todos los componentes deben de estar distribuidos entre un servidor de red y las máquinas clientes.
Dado que todos los componentes deben de ser compartidos, estos van a residir en el servidor de red, además, en este reside el sistema gestor de bb.dd. Las aplicaciones cliente, es decir, los componentes del servicio de usuario van a residir en cada máquina cliente.
2.Servidor de aplicación: se utilizan dos servidores conectados en red: un servidor de datos en el que reside el sistema gestor de base de datos, con todos los procedimientos almacenados y disparadores adecuados. Y, por otro lado, un servidor de negocio que está destinado a la ubicación de todos los componentes de negocio compartido, e incluso se pueden alojar todos los componentes de cualquier tipo que sean compartidos.
3. Servidor de transacciones: se caracteriza por la existencia de dos tipos de servidores: servidores de componentes, que son servidores de red en donde residen los componentes, es lo que en el caso anterior denominamos servidor de negocio. También hay servidores de transacciones que se caracteriza por ser otro servidor de red con los siguientes objetivos:
- Pasar una referencia de estos servidores a las aplicaciones que lo soliciten.
- Dar por cerrada la referencia al servidor ACTIVEX cuando termine su uso.
- Validar el uso de componentes para la gestión de seguridad.
- Gestionar la participación de los componentes en las transacciones.
4. Servidor Web: se caracteriza por la existencia en la máquina cliente de una aplicación estándar que suele ser un navegador, que tiene la capacidad de descargar componentes bajo demanda. Cuando se trabaja con Internet lo lógico es descargar el componente en el cliente con la menor carga posible por parte del servidor dada la particularidad de que nunca están aseguradas sin las conexiones ni el ancho de banda.
Sin embargo, cuando la aplicación corre en una Intranet todo depende de la potencia de los ordenadores clientes, la de los servidores y del ancho de banda disponible.
por favos necesito una investigacion acerca de todo l que es cliente servidor y los sistemas operativos. un programa servidor
s.o.
servicios basicos
servicios extendidos
escalabilidad
superservidores y multiprocesamientos
favor es urgente como para ayer.
millon gracias
Por favor, alguién sabe como hacer un servidor de transacciones?? Si alguién tiene por favor envíeme, no importa el lenguaje en donde se haya creado. ferchop0203@hotmail.com
[BOLSA DE TRABAJO]
Estas buscando trabajo, te gusta la programación y tienes conocimientos en PHP, JavaScript, Mysql, HTML entonces te podría interesar esta propuesta laboral. Clic aquí para ver puesto.