Está en la página 1de 5

Universidad Autónoma

del Estado de México

Unidad Académica
Profesional Tianguistenco

Ingeniería de Software
3.2 Arquitectura de sistemas distribuidos.
Perez Reyes Josue

Segundo Parcial

Fecha: 01/10/2021
¿Qué son?
Son piezas de software que sirven para coordinar las acciones de varias
computadoras. Esta coordinación se logra mediante el intercambio de trozos de
datos que transmiten información.
• Componentes: Unidad modular con interfaces bien definidas y Unidad
modular con interfaces bien definidas y proporcionadas.
• Conector: Mecanismo que media comunicación, coordinación o cooperación
entre componentes.
• Recurso: Cualquier entidad hardware o software.
• Nodo: Término genérico usado para representar cualquier dispositivo.
• Proceso: Instancia de un programa en ejecución.
• Cliente: Un consumidor de información.
• Servidor: Un proveedor de información.
Objetivo Fundamental: Compartir recursos.
• Objetivo Secundario: conectar usuarios remotos a recursos remotos de
manera abierta y “escalable”.
1. Abierta: No hay restricciones en el tipo de recursos y componentes
que forman el sistema. Los componentes están abiertos a
interacciones continuas con otros componentes.
2. Escalable: El sistema puede acomodar fácilmente incrementos en el
número de usuarios y recursos.
Arquitectura: Es la abstracción de un sistema, en el que se representa su
estructura, sus propiedades externas “visibles” y la relación entre componentes
“Arquitecturas Distribuidas” hace referencia a “una serie de procedimientos,
políticas y requerimientos aplicados a la construcción de un sistema distribuido”.
• Arquitectura en capas: Un componente en una determinada capa puede
llamar a componentes en la capa inmediata inferior.
• Arquitectura basada en objetos: Cada objeto corresponde a lo que hemos
definido como componente, y estos componentes están conectados
mediante un mecanismo RPC.
• Arquitectura centrada en Datos: Evolucionan en torno a la idea de que los
procesos se comunican a través de un repositorio o medio común.
Características:
1. Compatibilidad
2. Tolerancia de Fallos
3. Middleware
4. API
5. Concurrencia
6. Transparencia
7. No depende de los Componentes
8. Apertura
9. Carencia de reloj Global
Tipos de Arquitecturas:
• Arquitecturas Multinivel: Sus componentes están organizados en capas: Un
componente del nivel Li puede llamar componentes del nivel más bajo Li-1,
pero en sentido contrario. El control generalmente fluye de nivel a nivel.
• Arquitectura basada en Objetos: Cada objeto es un componente. Estos
componentes son conectados a través de un mecanismo de llamada de
procedimientos remoto. Esta arquitectura de software corresponde a la
arquitectura cliente/servidor Esta y la de multicapas son las más utilizadas.
• Arquitecturas centralizadas en Datos: Se basa en la idea que los procesos
se comunican a través de un repositorio a través de un repositorio común.
• Arquitecturas basadas en Eventos: Se basa en la idea que los procesos se
comunican a través de un repositorio.
• Shared data spaces: Combinación de arquitecturas basadas en eventos con
la de centralizadas en datos eventos con la de centralizadas en datos.
• Arquitecturas centralizadas:
1. Arquitectura cliente-servidor: Cliente – Proceso que quiere acceder a
datos, usar recursos o realizar operaciones en un dispositivo diferente.
Servidor – Proceso que administra datos o cualquier otro tipo de
recurso y que es capaz de hacerlos disponibles a otros procesos que
están en otros dispositivos. Interacción – Enviar
• Arquitecturas descentralizadas:
1. Arquitectura de igual a igual: Asume que cada computadora tiene
capacidades similares y que ninguna máquina está dedicada a servir
a las demás. Un ejemplo de esto es un conjunto de
microcomputadoras en una pequeña oficina.
• Arquitecturas de varios Niveles: Un servidor al realizar sus tareas puede
contactar a otro servidor de diferente tipo.
• Arquitecturas de Multiprocesador: Un sistema operativo podría iniciar
automáticamente procesos en computadoras inactivas e incluso migrar
procesos a sistemas con una mayor cantidad de ciclos disponibles de CPU.
• Arquitecturas de Sistemas Distribuidos: El objetivo de este tipo de
arquitecturas es no etiquetar un cliente o un servidor, sino que el sistema se
vea como un conjunto de objetos.
• Arquitecturas de Sistemas orientadas a Servicios: Es un estilo de arquitectura
de tecnologías de información que permite integrar el negocio como un
conjunto de servicios interrelacionados (tareas repetitivas de trabajo una
infraestructura virtualizada para aprovechar una variedad de servicios en la
nube.
Tipos de Sistemas Distribuidos:
• Computación en Cluster: Conectadas a través de una red de área local de
alta velocidad. Se usa frecuentemente para la programación en paralelo
• Computación en Red: Se compone de nodos con marcadas diferencias en
hardware y tecnología de red.
• Computación en la Nube: Es un conjunto de recursos virtualizados alojados
en el centro de datos de un proveedor de la nube. Los clientes pueden
establecer una infraestructura virtualizada para aprovechar una variedad de
servicios en la nube.
Arquitectura de Aplicaciones: Le permiten al usuario adecuar las aplicaciones a
sus necesidades y se puede presentar que algunas funciones son muy comunes en
todas las aplicaciones.
a) Sistemas de Procesamiento de Datos: Se realiza procesamiento de lotes de
datos, los cuales ingresan a un sistema, el sistema realiza un procesamiento
y genera unos datos transformados.
b) Sistemas de Procesamientos de Transacciones: Radica en que las
transacciones fueron diseñadas para procesar la petición de solicitud de
información en la base de datos y posteriormente se actualiza la información
en la base de datos.
c) Sistemas de Procesamiento de Eventos: La principal función de estos
sistemas es responder a eventos que se generen en todo el sistema o por
parte de la interfaz del usuario.
d) Sistemas de Procesamiento de Lenguajes: Están conformados por
procesadores de lenguaje natural o artificial, mediante los cuales se cuenta
con una entrada y a partir de ella se genera una salida representada en el
lenguaje escogido.
Máquina virtual ERLANG: Erlang es un lenguaje funcional que tiene una gran
semántica para la concurrencia, distribución y tolerancia a fallas. Este modelo
funciona teniendo muchos procesos aislados, todos con la capacidad de
comunicarse entre sí a través de un sistema incorporado de transmisión de
mensajes. La máquina virtual de Erlang se puede conectar a otras máquinas
virtuales que se encuentren en diferentes lugares.
BitTorrent: Es uno de los protocolos más utilizados para transferir archivos grandes
en la web. La idea principal es facilitar la transferencia de archivos entre diferentes
pares en la red sin tener que pasar por un servidor principal. Al usar un cliente
BitTorrent, se puede conectar a múltiples computadoras en todo el mundo para
descargar un archivo. Una computadora que actúa como coordinadora ayuda a
mostrar los nodos en la red que tienen el archivo que se desea.
Importancia de una Arquitectura Distribuida: El rendimiento de los ordenadores
para realizar procesamiento de datos y almacenar información va relacionado con
sus prestaciones de hardware y con el software que utilicen.
En que casos es Recomendable la Arquitectura Distribuida:
• Aplicaciones comerciales como software bancarias o sistemas de gestión de
grandes empresas tipo SAP o aplicaciones CRM.
• Servicios en la nube como correo electrónico.
• Sistemas informáticos complejos que incluyan base de datos distribuidas,

Actividad:

También podría gustarte