Sistemas Abiertos

Cabe diferenciar entre un sistema distribuido y un sistema abierto. Un sistema distribuido es aquel cuyos componentes están localizados en diferentes máquinas distribuidas en red y se comunican y coordinan mediante paso de mensajes. En cambio, un sistema abierto, es aquel en que los protocolos o especificaciones son públicos, estandarizados y permiten diferentes implementaciones interoperables entre sí. Es decir, definiendo un protocolo estándar podremos comunicar los componentes del sistema o sistemas distintos sin importarnos la arquitectura, el sistema operativo o el lenguaje de programación.

Todo esto plantea una serie de desafios que deberemos tener en cuenta a la hora de diseñar un sistema abierto. Podrían ser los siguientes:

  1. La compartición de recursos
  2. La transparencia
  3. La escalabilidad
  4. El tratamiento de fallos
  5. La concurrencia

Uno de los más importantes y que se diversifica en varios tipos es la transparencia. Por ejemplo, la transparencia de acceso, tendríamos que poder acceder a recursos locales y remotos de manera idéntica. Deberíamos poder diseñar sistemas escalables que permitiesen a la vez aumentar el número de componentes y también el número de clientes sin cambiar la estructura del sistema ni los algoritmos de aplicación. Deberíamos poder ocultar los fallos de manera que clientes y aplicaciones pudieran finalizar sus tareas a pesar de fallos de hardware y software y, todo esto, permitiendo la concurrencia dejando que varios procesos operen sobre recursos compartidos sin intereferencia mutua. En este caso hablaríamos de un sistema abierto ideal.

Los sistemas abiertos usan protocolos a nivel de aplicación como es el caso de FTP, SMTP, HTTP, … entonces, ¿Cómo conseguimos sistemas con diferentes plataformas interoperar entre ellos? La respuesta es el Middleware.

Middleware

Middleware son los servidos situados por encima del nivel de transporte (TCP/IP) y por debajo del nivel de aplicación (API).

Middleware

También podemos entender como middleware las capas o servicios software que conectan dos aplicaciones remotas y gestionan el envio de mensajes entre ellas. El middleware hace todo el trabajo sucio por así decirlo, nos facilita la vida. Hay diferentes tipos de middleware: Monitores de transacciones (TP Monitors), invocación remota de procedimientos (RPC), brokers de objetos distribuidos (ORB), middleware orientado a mensajes (MOM), gestores de base de datos (DBMS), etc…

Todas estas características de los sistemas abiertos nos obrecen muchísimas oportudidades a la hora de diseñar un modelo arquitectónico. Desde el clásico Cliente-Servidor hasta sistemas más sofisticados.

También existen políticas de los sistemas, como por ejemplo: política PULL y PUSH. En el modelo PULL los clientes se conectan al servidor periodicamente. Este sistema es más eficiente para el servidor pero mucho más costoso hasta el punto de poderse colapsar. El llamado efecto “slashdot” ha provocado algun que otro altercado. Sucede cuando en el sitio slashdot, conocidísimo sitio de noticias, se pública un artículo interesante, entoces, miles, hasta centenares de miles, de usuarios se conectan al servidor al cual hace referencia el artículo provocando un pico de conexiones capaz de colapsar el sistema. Un ejemplo de este modelo es la sindicación (RSS). En el modelo PUSH el servidor avisa a los clientes, el servidor ha de conocer a todos los clientes para poderlos avisar con éxito, es un inconveniente, ya que no siempre los clientes están disponibles, se pueden encontrar tras un firewall o no estar disponibles. Es un ejemplo de modelo PUSH el sistema IRC.

6 respuestas a Sistemas Abiertos

  1. Javier dice:

    Muy buen artículo. Actualmente llevo esa asignatura y la descripción a grandes rasgos que haces me sirve como una guía para seguir investigando sobre este tema (sistemas abiertos).

  2. leibvitz dice:

    Me gusta que te haya gustado. Saludos!😀

  3. hamil dice:

    hey gracias por el articulo yo tambien estoy estudiando para un examen y me sirvio para aclarar dudas gracias!!

  4. fer dice:

    oye.. esto tiene q ver para la materia d analisis y diseño d sistemas?

    • leibvitz dice:

      Hola, aquí se habla sobre las herramientas de diseño y caracteristicas de sistemas de software. Se da una descripció general sobre los sistemas abiertos, pero refiríendose siempre a software.

      Saludos!

  5. Chelias dice:

    Excelente aporte a la comunidad, el conocimiento humano pertenece al Mundo!! xD

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: