Presentacion SOFTWARE DE DISTRIBUIDO

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 14

18.

INGENIERÍA DE
SOFTWARE DE
DISTRIBUIDO
LUIS ENRIQUE NOVAL
INGENIERÍA DE SOFTWARE
DISTRIBUIDO
• Son sistemas que implican muchas computadoras y se presentan al usuario
como un solo sistema coherente. A diferencia de los sistemas centralizados, los
componentes de los sistemas distribuidos se ejecutan en diferentes
computadoras que se comunican a través de una red. Los sistemas distribuidos
tienen ventajas como compartir recursos, ser abiertos, permitir la concurrencia,
ser escalables y tolerantes a fallos. Sin embargo, también presentan conflictos
específicos que deben considerarse al diseñarlos, como la complejidad de las
interacciones entre los componentes y la infraestructura del sistema, y la
impredecibilidad en su respuesta.
CONTENIDO

18.1 • Conflictos de los sistemas distribuidos

18.2 • Computación cliente-servidor

• Patrones arquitectónicos para sistemas


18.3 distribuidos

18.4 • Software como servicio


18.1 CONFLICTOS DE LOS SISTEMAS
DISTRIBUIDOS
• Los sistemas distribuidos son más complejos que los sistemas que funcionan en
un solo procesador, ya que no tienen un modelo descendente de control. Los
nodos que entregan funcionalidad son sistemas independientes sin una sola
autoridad encargada de ellos. La red que los conecta es un sistema de gestión
independiente y complejo que no puede controlarse por los propietarios de los
sistemas que usan la red. Por lo tanto, la operación de los sistemas distribuidos
es impredecible y debe ser considerada por el diseñador del sistema.
CONFLICTOS MAS IMPORTANTES EN LA
INGENIERÍA DE SOFTWARE DE DISTRIBUCIÓN

Transparencia
• En este tipo de sistemas, es importante que los usuarios puedan acceder y comprender el
funcionamiento de la red, así como la forma en que se están procesando y almacenando sus
datos.

• La apertura es importante porque permite a los usuarios confiar en el sistema y comprender

Apertura cómo funciona. También permite a los desarrolladores identificar y solucionar problemas más
fácilmente

• Es una característica importante en la ingeniería de software


Escalabilidad distribuido, ya que permite que los sistemas puedan manejar
grandes cantidades de datos y usuarios de manera eficiente.
CONFLICTOS MAS IMPORTANTES EN LA
INGENIERÍA DE SOFTWARE DE DISTRIBUCIÓN

• Es un factor crítico en la ingeniería de software distribuido. La naturaleza


Seguridad descentralizada de los sistemas distribuidos puede hacer que sea más
difícil garantizar la seguridad de los datos y las comunicaciones.

Calidad de • es una parte crucial de la ingeniería de software distribuido. Debido a la


naturaleza compleja de estos sistemas, es importante que se preste

servicio
atención a la transparencia, accesibilidad, escalabilidad y seguridad en el
diseño y desarrollo de software distribuido.

Gestión de
• En estos sistemas, las fallas pueden ocurrir en cualquier punto del sistema
y pueden tener un impacto significativo en la disponibilidad y el
desempeño del sistema. Para manejar estas fallas, los ingenieros de
fallas software deben diseñar sistemas que sean resistentes a fallas y capaces de
recuperarse rápidamente cuando se produzcan.
18.1.1 MODELOS DE INTERACCIÓN
• Existen dos tipos de interacción entre las computadoras: la interacción
procedimental y la interacción basada en mensajes. La primera se refiere a una
computadora que solicita un servicio ofrecido por otra computadora y espera la
entrega del mismo. Mientras que la segunda implica que la computadora emisora
defina la información en un mensaje y lo envíe a otra computadora. En general, la
interacción basada en mensajes transmite más información en una sola interacción
que la solicitud de un procedimiento a otra máquina. La diferencia entre ambas se
puede ilustrar con la analogía de hacer un pedido en un restaurante, donde se
realiza una serie de interacciones sincrónicas procedimentales con el camarero y
luego se comunica el pedido completo al personal de cocina como un mensaje.
18.1.2 MIDDLEWARE
• Dado que los componentes en un sistema distribuido pueden ser
muy diferentes entre sí, el middleware actúa como una capa que se
encuentra entre el sistema operativo y los programas de aplicación.
El middleware es un software que puede gestionar estas diversas
partes y garantizar que puedan comunicarse e intercambiar datos.
Se implementa como un conjunto de librerías, que se instalan en
cada computadora distribuida, además de un sistema de tiempo en
operación para gestionar las comunicaciones.
18.2 COMPUTACIÓN
CLIENTE-SERVIDOR
• El acceso a los sistemas distribuidos a través de Internet se organiza
típicamente como sistemas cliente-servidor. En este modelo, el usuario
interactúa con un programa local que a su vez interactúa con un programa
remoto que proporciona servicios como acceso a páginas web. Este modelo
no está limitado a aplicaciones distribuidas en múltiples máquinas, sino que
también se puede utilizar como modelo de interacción lógica en una sola
computadora.
18.3 PATRONES ARQUITECTÓNICOS
PARA SISTEMAS DISTRIBUIDOS
• El acceso a los sistemas distribuidos a través de Internet se organiza
típicamente como sistemas cliente-servidor. En este modelo, el usuario
interactúa con un programa local que a su vez interactúa con un programa
remoto que proporciona servicios como acceso a páginas web. Este modelo
no está limitado a aplicaciones distribuidas en múltiples máquinas, sino que
también se puede utilizar como modelo de interacción lógica en una sola
computadora.
ESTILOS ARQUITECTÓNICOS

• En esta arquitectura, los componentes del sistema se dividen en dos categorías:


Arquitectura maestro- el maestro o servidor y los esclavos o clientes. El maestro es responsable de
esclavo coordinar y administrar los recursos del sistema, mientras que los esclavos
solicitan servicios o recursos al maestro.

• En esta arquitectura, el cliente se encarga de solicitar servicios o recursos al


Arquitectura cliente- servidor, mientras que el servidor se encarga de coordinar y gestionar los
servidor de dos niveles recursos del sistema. El cliente y el servidor pueden estar en diferentes
máquinas, lo que permite una mayor flexibilidad y escalabilidad del sistema.

• En esta arquitectura, los clientes interactúan directamente con una capa de


Arquitectura cliente- presentación, que se comunica con una capa de aplicación a través de una
interfaz de aplicación. Esta capa de aplicación, también conocida como "lógica
servidor multinivel de negocio", se comunica con una capa de datos para acceder y manipular
información almacenada en una base de datos.
ESTILOS ARQUITECTÓNICOS

Arquitectura
de • Se refiere a la forma en que los diferentes componentes de un sistema
distribuido se comunican y trabajan juntos. Existen diferentes arquitecturas que

componentes
se pueden utilizar para construir sistemas distribuidos, incluyendo la
arquitectura Maestro-Esclavo y la arquitectura Cliente-Servidor.

distribuidos.
Arquitectura
• En esta arquitectura, todos los nodos tienen la misma capacidad y pueden
actuar tanto como clientes como servidores. En lugar de depender de servidores
centrales, los nodos en una red P2P colaboran entre sí para proporcionar

peer-to-peer servicios y recursos.


18.4 SOFTWARE COMO SERVICIO

• Es un modelo de distribución de software en el que una empresa proporciona


acceso a su software a través de Internet. En el contexto de la ingeniería de
software distribuido, SaaS puede ser utilizado como una arquitectura para
distribuir software a través de múltiples dispositivos y ubicaciones
geográficas.
CONCLUSIÓN
• La ingeniería de software distribuido es una disciplina de la informática
que se enfoca en el desarrollo de sistemas de software que se ejecutan
en múltiples dispositivos conectados a través de una red. Estos sistemas
se utilizan en una variedad de aplicaciones, desde aplicaciones web
hasta sistemas de control de tráfico aéreo. Al utilizar la ingeniería de
software distribuido, se puede garantizar la eficiencia y calidad
operativa de un sistema crítico, lo que puede tener un impacto positivo
en la forma en que se desarrollan sitios web y otras aplicaciones

También podría gustarte