Vous êtes sur la page 1sur 8

NOMBRE DE LA MATERIA: INGENIERIA DE SOFTWARE

NOMBRE DEL PROFESOR: CALDERON SEGURA


YESSICA YASMIN

FECHA: 03/09/2019

Tipos de arquitecturas en sistemas distribuidos

Introducción
Las habilidades de la industria del software tienen que ver con la rapidez y
confiabilidad para entregar soluciones que sean escalables, con alta disponibilidad
y basados en tecnología de Internet.
Para ser exitosos, estos sistemas deben también integrarse con aplicaciones y
datos propietarios; por lo tanto, deben estar disponibles a través de diferentes
comunidades y organizaciones (incluyendo empleados, socios de negocios y
clientes) y con la habilidad de funcionar en un amplio rango de dispositivos.

Arquitecturas Multinivel
En ingeniería de software, la arquitectura multinivel (a menudo denominada
arquitectura de n niveles) o arquitectura multicapa es una arquitectura cliente-
servidor en la que las funciones de presentación, procesamiento de aplicaciones y
gestión de datos están físicamente separadas. El uso más extendido de la
arquitectura multinivel es la arquitectura de tres niveles.
La arquitectura de la aplicación N-nivel proporciona un modelo mediante el cual
los desarrolladores pueden crear aplicaciones flexibles y reutilizables. Al segregar
una aplicación en niveles, los desarrolladores adquieren la opción de modificar o
agregar una capa específica, en lugar de reelaborar toda la aplicación. Una
arquitectura de tres niveles generalmente se compone de un nivel de
presentación, un nivel de lógica de dominio y un nivel de almacenamiento de
datos.
Si bien los conceptos de capa y nivel a menudo se usan indistintamente, un punto
de vista bastante común es que de hecho hay una diferencia. Esta vista sostiene
que una capa es un mecanismo de estructuración lógica para los elementos que
componen la solución de software, mientras que un nivel es un mecanismo de
estructuración física para la infraestructura del sistema.

Arquitecturas basadas en objetos


La arquitectura basada en objetos es un concepto importante para desarrollar el
software. Es un paradigma de diseño basado en la división de responsabilidades
para una aplicación o sistema en objetos individuales reutilizables y
autosuficientes. El enfoque popular del diseño orientado a objetos es ver un
sistema de software como una colección de entidades conocidas como objetos.
La arquitectura basada en objetos ve un sistema como una serie de objetos
cooperantes, en lugar de un conjunto de rutinas o instrucciones de procedimiento.
Es una metodología importante para el desarrollo de cualquier software.

Arquitectura centralizada en datos

En la arquitectura centrada en datos, los datos son centralizados y otros


componentes los modifican con frecuencia. El objetivo principal de este estilo es
lograr la integralidad de los datos. La arquitectura centrada en datos consta de
diferentes componentes que se comunican a través de repositorios de datos
compartidos. Los componentes acceden a una estructura de datos compartida y
son relativamente independientes, ya que interactúan solo a través del almacén de
datos.
Los ejemplos más conocidos de la arquitectura centrada en datos es una
arquitectura de base de datos, en la que el esquema de base de datos común se
crea con el protocolo de definición de datos, por ejemplo, un conjunto de tablas
relacionadas con campos y tipos de datos en un RDBMS.
Otro ejemplo de arquitecturas centradas en datos es la arquitectura web que tiene
un esquema de datos común (es decir, meta estructura de la Web) y sigue el
modelo de datos hipermedia y los procesos se comunican mediante el uso de
servicios de datos compartidos basados en la web.
Hay dos tipos de componentes:
1. Una estructura de datos central o almacén de datos o repositorio de datos,
que es responsable de proporcionar almacenamiento de datos permanente.
Representa el estado actual.
2. Un descriptor de acceso a datos o una colección de componentes
independientes que operan en el almacén central de datos, realizan
cálculos y pueden retrasar los resultados.

Arquitectura basada en eventos

La arquitectura basada en eventos (EDA) es un paradigma de arquitectura de


software que promueve la producción, detección, consumo y reacción a eventos.
Un evento se puede definir como "un cambio significativo en el estado". Por
ejemplo, cuando un consumidor compra un automóvil, el estado del automóvil
cambia de "en venta" a "vendido". La arquitectura del sistema de un concesionario
de automóviles puede tratar este cambio de estado como un evento cuya
ocurrencia puede darse a conocer a otras aplicaciones dentro de la arquitectura.
Desde una perspectiva formal, lo que se produce, publica, propaga, detecta o
consume es un mensaje (típicamente asíncrono) llamado notificación de evento, y
no el evento en sí, que es el cambio de estado que desencadenó la emisión del
mensaje. Los eventos no viajan, simplemente ocurren. Sin embargo, el término
evento a menudo se usa metonímicamente para denotar el mensaje de
notificación en sí, lo que puede generar cierta confusión. Esto se debe a que las
arquitecturas controladas por eventos a menudo se diseñan sobre arquitecturas
controladas por mensajes, donde dicho patrón de comunicación requiere que una
de las entradas sea solo texto, el mensaje, para diferenciar cómo se debe manejar
cada comunicación.
Este patrón arquitectónico puede aplicarse mediante el diseño e implementación
de aplicaciones y sistemas que transmiten eventos entre componentes y servicios
de software acoplados libremente. Un sistema controlado por eventos
generalmente consta de emisores de eventos (o agentes), consumidores de
eventos (o sumideros) y canales de eventos. Los emisores tienen la
responsabilidad de detectar, reunir y transferir eventos.
Un emisor de eventos no conoce a los consumidores del evento, ni siquiera sabe
si existe un consumidor, y en caso de que exista, no sabe cómo se usa o procesa
el evento. Los sumideros tienen la responsabilidad de aplicar una reacción tan
pronto como se presente un evento. La reacción podría o no ser completamente
provista por el sumidero. Por ejemplo, el sumidero podría tener la responsabilidad
de filtrar, transformar y reenviar el evento a otro componente o podría proporcionar
una reacción autónoma a dicho evento. Los canales de eventos son conductos en
los que los eventos se transmiten desde los emisores de eventos hasta los
consumidores de eventos. El conocimiento de la distribución correcta de eventos
está presente exclusivamente dentro del canal de eventos.

Arquitectura de sistemas

La arquitectura de sistemas o arquitectura de sistemas es el modelo conceptual


que define la estructura, el comportamiento y más vistas de un sistema. Una
descripción de arquitectura es una descripción formal y una representación de un
sistema, organizada de una manera que respalde el razonamiento sobre las
estructuras y comportamientos de los sistemas. sistema.
Una arquitectura de sistema puede consistir en componentes del sistema y los
subsistemas desarrollados, que trabajarán juntos para implementar el sistema
general. Se han realizado esfuerzos para formalizar lenguajes para describir la
arquitectura del sistema; en conjunto, estos se denominan lenguajes de
descripción de arquitectura (ADL).
Varias organizaciones pueden definir la arquitectura de sistemas de diferentes
maneras, que incluyen:
 La organización fundamental de un sistema, incorporada en sus
componentes, sus relaciones entre sí y con el medio ambiente, y los
principios que rigen su diseño y evolución.

 Una representación de un sistema, que incluye un mapeo de funcionalidad


en componentes de hardware y software, un mapeo de la arquitectura de
software en la arquitectura de hardware, y la interacción humana con estos
componentes.
 Una disposición asignada de elementos físicos que proporciona la solución
de diseño para un producto de consumo o proceso de ciclo de vida
destinado a satisfacer los requisitos de la arquitectura funcional y la línea de
base de requisitos.

Arquitectura Centralizada
Una arquitectura centralizada implica la disponibilidad de una o algunas entidades
que tienen control sobre toda la red. Tenga en cuenta que un enfoque centralizado
generalmente significa conectividad de un salto a todos los miembros de la red,
pero, en el contexto de los sistemas integrados de corto alcance, generalmente se
realiza a través de una red de múltiples tiendas. Desde el punto de vista de la
seguridad, esta entidad centralizada necesita monitorear la seguridad de toda la
red. La tarea más importante con esta arquitectura es, si es necesario, generar y
distribuir claves de seguridad a todos los miembros a través de un canal seguro
por pares establecido con cada miembro. En general, este requisito podría ser
demasiado estricto para los sistemas integrados de múltiples tiendas, ya que un
servidor central de claves debe estar continuamente disponible y presente en cada
subconjunto posible de un grupo para admitir la operación continua en caso de
particiones de red arbitrarias. La disponibilidad continua puede abordarse
utilizando técnicas de replicación y tolerantes a fallas; desafortunadamente, el
problema de la omnipresencia es difícil de resolver de manera escalable y
eficiente.

Arquitectura cliente servidor


La arquitectura cliente-servidor es un sistema de arquitectura compartida donde se
dividen muchas cargas de cliente-servidor. La arquitectura cliente-servidor es un
sistema de recursos centralizado donde el servidor contiene todos los recursos. El
servidor recibe numerosas actuaciones en su borde para compartir recursos con
sus clientes cuando se le solicite. El cliente y el servidor pueden estar en el mismo
o en una red. El servidor es profundamente estable y escalable para devolver
respuestas a los clientes. Esta arquitectura está orientada al servicio, lo que
significa que el servicio al cliente no se interrumpirá. La arquitectura cliente-
servidor atenúa el tráfico de red respondiendo a las consultas de los clientes en
lugar de una transferencia completa de archivos. Restaura el servidor de archivos
con el servidor de la base de datos.

Las computadoras del cliente implementan un enlace para permitir que un usuario
de la computadora solicite servicios del servidor y para representar los resultados
que el servidor devuelve. Los servidores esperan que aparezcan las solicitudes de
los clientes y luego las devuelven. Un servidor generalmente proporciona una
interfaz simple estandarizada a los clientes para evitar una confusión de
hardware / software. Los clientes están ubicados en lugares de trabajo o en
máquinas personales, al mismo tiempo, los servidores estarán ubicados en algún
lugar poderoso de la red. Esta arquitectura es útil principalmente cuando los
clientes y el servidor tienen tareas separadas que realizan rutinariamente. Muchos
clientes pueden obtener la información del servidor al mismo tiempo, y también
una computadora cliente puede ejecutar otras tareas, por ejemplo, enviar correos
electrónicos.
Fuentes

 Fowler, Martin (2012) " Patrones de arquitectura de aplicaciones


empresariales " (traducción). Estados unidos: Addison Wesley. Vista parcial
del documento original.
 Kai Qian, Xiang Fu, Lixin Tao, Chong-wei Xu (2009). “Arquitectura y diseño
de software iluminados” (traducción). Estados unidos: Jones and Bartlett
Publishersh. Vista parcial del documento original.
 Nenad Medvidovic and Richard N. Taylor (2000). "Un marco de clasificación
y comparación para lenguajes de descripción de arquitectura de software".
Estados Unidos. Vista parcial del documento original.

Vous aimerez peut-être aussi