Tipos de Diseño Ing. Elizabeth Guerrero V. Tipos de Diseño Tipos de diseño de Procesos: • Centralizado, • Distribuido y • Cooperativo Procesos Centralizados • Un sistema centralizado está formado por un computador central en el que residen todos los datos y tratamientos. • Las aplicaciones en el proceso centralizado residen exclusivamente en la computadora central y al ser invocadas por las terminales, esta se ocupa del proceso y requerimientos del programa. Procesos Distribuidos •Sistemas cuyos componentes hardware y software, que están en computadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. •“un sistema distribuido consiste en una colección de computadoras ligadas por red y equipadas con algún software de implementación distribuida, el cual permite a las máquinas coordinar actividades y compartir los recursos del sistema” Características de los Sistemas Distribuidos • Concurrencia.- Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red. • Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes. • Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando. Características de los sistemas distribuidos Sistemas distribuidos Ventajas Desventajas Economía Software (Existe poco) Velocidad Redes (Saturación) Crecimiento por incrementos Confiabilidad Seguridad Modelos de sistemas distribuidos • Modelo cliente-servidor y el • Modelo basado en objetos. Modelo Cliente-Servidor En el modelo cliente/servidor un programa cliente (quién necesita el servicio) e comunica con un programa servidor (quién ofrece el recurso) para intercambiar información. En muchas ocasiones la máquina cliente juega el mismo rol de servidor y veceversa. A este tipo de comunicación se le conoce como peer to peer, es decir punto a punto. Modelo de objetos Consiste en un conjunto de objetos que encapsulan en una interfaz los métodos solicitados por el cliente. Cuando el cliente solicita un servicio genera un proceso de búsqueda hasta localizar el objeto que concuerde con las características especificadsas por el cliente. Una vez localizado el objeto, se manda una petición de uso y posteriormente el servidor responde proporcionanndo el servicio. En caso de no encontrar algún objeto que satisfaga las necesidades del cliente o por alguna razon externa la búsqueda no fue exitosa se envía el mensaje correspondiente Proceso Cooperativo • El proceso cooperativo es aquél en que dos o más elementos lógicos diferentes interactúan entre sí en la realización de una tarea común. • Es decir, el proceso cooperativo consiste en un conjunto de computadores que ejecutan una misma aplicación (normalmente un host y varios microcomputadores que comparten la ejecución de un proceso global). • Esta arquitectura debe contar con recursos distribuidos: programas, archivos, base de datos, etc. Técnicas • Existen varias técnicas para el procesamiento cooperativo, cada una de ellas aplicable a un cierto tipo de sistema: – Procesamiento front-end. – Pipes. – Llamadas a procedimientos remotos. – Interacciones cliente/servidor. Procesamiento front-end • Se puede escribir un programa en una PC que ejecute una aplicación de un host sin que se modifique el código de la aplicación en el host. • Esto es posible ya que el código del programa en la PC realiza llamadas a una aplicación residente por medio de una interfaz de programas de aplicación (API) • En el procesamiento front-end, la aplicación del host se ejecuta como antes, enviando pantallas de información a la terminal. • El programa de PC lee la pantalla de información del host llamando al API. • Cuando existe información introducida por el usuario, el programa de PC le indica al API que envíe esta información al servidor. Pipes • Las pipes representan un mecanismo orientado a conexión que pasa datos de un proceso a otro. • Las pipes son muy utilizados en sistemas basados en UNIX. • Una tubería de agua común, con agua introduciéndose en un lugar y saliendo en otros lugares, es una buena representación de las pipes de comunicación. • En principio los procesos pueden estar en diferentes máquinas, y se pueden estar ejecutando en diferentes sistemas operativos. Llamadas a procedimientos remotos • El modelo de comunicación basado en llamadas a procedimientos remotos permite a un procedimiento llamar a otro procedimiento que se encuentra en una computadora remota. Esta operación es ejecutada de la misma manera en que se ejecuta una llamada a un procedimiento local. El procedimiento que llama se bloquea hasta que el procedimiento llamado termina y se recibe una respuesta. • Cuando se hace una llamada, se envía un mensaje de solicitud a la computadora remota donde reside el procedimiento, se crea un proceso para ejecutar este procedimiento, y después de que este proceso se completa, se envía un mensaje de respuesta al proceso que realizó la llamada. Iteracciones cliente-servidor • Para solicitar un servicio, un proceso de usuario (conocido como proceso cliente) envía una solicitud al proceso servidor, el cual realiza la tarea y envía de regreso una respuesta. • Debido a la restricción del número de servidores (depende del número de recursos), los clientes compiten por estos servidores. • Diversos sistemas operativos distribuidos existentes y de nuevo diseño proveen diferentes servicios a sus usuarios utilizando servidores. Ventajas • Uso eficiente de los equipos computacionales y descarga de tareas del computador central. • Los procesos cooperativos, pueden adoptar distintas formas prácticas reales. Entre ellas destacan: - El proceso distribuido. - Las bases de datos distribuidas. - El proceso cooperativo, propiamente dicho