jueves, 5 de febrero de 2015

Actividad #5

Tipos de arquitectura
Centralizado
La arquitectura centralizada es la más clásica. En ella, el SGBD está implantado en una sola plataforma u ordenador desde donde se gestiona directamente, de modo centralizado, la totalidad de los recursos. Se basa en tecnologías sencillas, muy experimentadas y de gran robustez. También son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora.
Características de las bases de datos centralizadas.
  • Se almacena completamente en una localidad central.
  • No posee múltiples elementos de procesamiento ni mecanismos de intercomunicación como las bases de datos distribuidas.
  • Los componentes de las bases de datos centralizadas son: los datos, el software de gestión de bases de datos y los dispositivos de almacenamiento secundario asociados.
  • El problema de seguridad es fácil de manejar en estos sistemas de bases de datos.

Cliente/servidor
Es un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes.
Cada cliente tiene un servidor directo al cual hace sus peticiones. La comunicación entre los servidores ejecuta las transacciones y peticiones de los usuarios y esta es transparente para ellos.

Entre las principales características de la arquitectura cliente/servidor se pueden destacar las siguientes:
  • El servidor presenta a todos sus clientes una interfaz única y bien definida.
  • El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.
  • El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
  • Los cambios en el servidor implican pocos o ningún cambio en el cliente.

Esta arquitectura se puede clasificar en cinco niveles, según las funciones que asumen el cliente y el servidor:
Primer nivel:
el cliente asume parte de las funciones de presentación de la aplicación,  ya que en el servidor aún hay programas que se dedican a ese tipo de tareas. Dicha distribución se realiza mediante el uso de productos para el "maquillaje" de las pantallas del mainframe3. Esta técnica no exige el cambio en las aplicaciones orientadas a terminales, pero dificulta su mantenimiento. Además, el servidor ejecuta todos los procesos y almacena la totalidad de los datos
Segundo nivel:
la aplicación está soportada directamente por el servidor, excepto la presentación que es totalmente remota y reside en el cliente. Los terminales del cliente soportan la captura de datos, incluyendo una validación parcial de los mismos y una presentación de las consultas
Tercer nivel:
 La lógica de los procesos se divide entre los distintos componentes del cliente y del servidor. El diseñador de la aplicación debe definir los servicios y las interfaces del sistema de información de forma que los papeles de cliente y servidor sean intercambiables, excepto en el control de los datos que es responsabilidad exclusiva del servidor. En este tipo de situaciones se dice que hay un proceso distribuido o cooperativo.
Cuarto nivel:
El cliente realiza tanto las funciones de presentación como los procesos. Por su parte, el servidor almacena y gestiona los datos que permanecen en una base de datos centralizada. En esta situación se dice que hay una gestión de datos remota.
Quinto nivel:
El reparto de tareas es como en el anterior y además el gestor de base de datos divide sus componentes entre el cliente y el servidor. Las interfaces entre ambos están dentro de las funciones del gestor de datos y, por lo tanto, no tienen impacto en el desarrollo de las aplicaciones. En este nivel se da lo que se conoce como bases de datos distribuidas.





TIPOS DE ARQUITECTURA CLIENTE-SERVIDOR:

ARQUITECTURA DE 2 CAPAS:

La arquitectura cliente/ servidor tradicional es una solución de 2 capas. La arquitectura de 2 capas consta de tres componentes distribuidos en dos capas: cliente (solicitante de servicios) y servidor (proveedor de servicios). Los tres componentes son:
- Interfaz de usuario.
- Gestión del procesamiento.
- Gestión de la base de datos.



Hay 2 tipos de arquitecturas cliente servidor de dos capas:

·         Clientes obesos (thick clients): La mayor parte de la lógica de la aplicación (gestión del procesamiento) reside junto a la lógica de la presentación (interfaz de usuario) en el cliente, con la porción de acceso a datos en el servidor.

·         Clientes delgados (thin clients): solo la lógica de la presentación reside en el cliente, con el acceso a datos y la mayoría de la lógica de la aplicación en el servidor.

Es posible que un servidor funcione como cliente de otro servidor. Esto es conocido como diseño de dos capas encadenado.

Limitaciones:
·         El número usuarios máximo es de 100. Más allá de este número de usuarios se excede la capacidad de procesamiento.
·         No hay independencia entre la interfaz de usuario y los tratamientos, lo que hace delicada la evolución de las aplicaciones.
·         Dificultad de relocalizar las capas de tratamiento consumidoras de cálculo.
·         Reutilización delicada del programa desarrollado bajo esta arquitectura.

ARQUITECTURA DE 3 CAPAS:

La tercera capa (servidor intermedio) está entre el interfaz de usuario (cliente) y el gestor de datos (servidor). La capa intermedia proporciona gestión del procesamiento y en ella se ejecutan las reglas y lógica de procesamiento. Permite cientos de usuarios (en comparación con sólo 100 usuarios de la arquitectura de 2 capas). La arquitectura de 3 capas es usada cuando se necesita un diseño cliente / servidor que proporcione, en comparación con la arquitectura de 2 capas, incrementar el rendimiento, flexibilidad, mantenibilidad, reusabilidad y escalabilidad mientras se esconde la complejidad del procesamiento distribuido al usuario.


Limitaciones:

Construir una arquitectura de 3 capas es una tarea complicada. Las herramientas de programación que soportan el diseño de arquitecturas de 3 capas no proporcionan todos los servicios deseados que se necesitan para soportar un ambiente de computación distribuida. Un problema potencial en el diseño de arquitecturas de 3 capas es que la separación de la interfaz gráfica de usuario, la lógica de gestión de procesamiento y la lógica de datos no es siempre obvia. Algunas lógicas de procesamiento de transacciones pueden aparecer en las 3 capas. La ubicación de una función particular en una capa u otra debería basarse en criterios como los siguientes:

  • Facilidad de desarrollo y comprobación.
  • Facilidad de administración.
  • Escalabilidad de los servidores.
  • Funcionamiento (incluyendo procesamiento y carga de la red).


Bases de datos distribuidas

Una Base de Datos Distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autónomo lo cual indica que puede realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si los datos estuvieran.

Las características de las bases de las bases de datos son las siguientes:
Autonomía Local: Los sitios distribuido deben ser autónomos, es decir que todas las operaciones en un sitio dado se controlan en ese sitio.
 No dependencia de un sitio central: No debe de haber dependencia de un sitio central para obtener un servicio.
Operación Continua: Nunca debería apagarse para que se pueda realizar alguna función, como añadir un nuevo sitio.
 Independencia con respecto a la localización: No debe de ser necesario que los usuarios sepan dónde están almacenados físicamente los datos, sino que más el usuario lo debe de ver como si solo existiera un sitio local
Independencia con respecto a la fragmentación: La fragmentación es deseable por razones de desempeño, los datos, pueden almacenarse en la localidad donde se utilizan con mayor frecuencia de manera que la mayor parte de las operaciones sean sólo locales y se reduzca el tráfico en la red.

Independencia de réplica: Si una relación dada (es decir, un fragmento dado de una relación) se puede presentar en el nivel físico mediante varias copias almacenadas o réplicas, en muchos sitios distintos.




No hay comentarios:

Publicar un comentario