UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR ARQUITECTURAS CLIENTE/SERVIDOR MODELAJE LÓGICO CON TABLAS DE DECISIÓN Material diseñado y elaborado por: Prof. Luis Eduardo Mendoza M. Material revisado por: Prof. María A. Pérez de Ovalles UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS • La primera diferencia que tienen los sistemas distribuidos con los sistemas centralizados, radica en que como el sistema está distribuido en dos o más localidades, varios aspectos de diseño deben ser considerados, tales como: confiabilidad, disponibilidad y sobrevivencia del sistema cuando sea implementado. • Para crear diseños efectivos, es necesario conocer y entender las características de las arquitecturas comúnmente usadas para soportar los sistemas distribuidos y compartir datos. • Hay que decidir si se quiere particionar los datos y el procesamiento a lo largo de varias localidades. • Las capacidades y los aspectos relacionados con las tecnologías que pueden ser usadas para upsize, downsize y, distribuir SI y datos, son fundamentales para entender como migrar de diseños y aplicaciones centralizadas a ambientes de computación distribuidos y multiproceso. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS Cuando se diseñan sistemas distribuidos, debe generarse documentación que consolide la información a considerar cuando se implemente físicamente el sistema diseñado. Los tipos de informaciones que deben ser consideradas cuando se implementa un sistema distribuido son: 1) Descripción de la localidad (para cada una). Información geográfica, localización física, información de la infraestructura, características del personal (entrenamiento, Habilidades, etc.), otros. 2) Descripción del uso de los datos (para cada localidad). Elementos de datos usados, elementos de datos creados, elementos de datos actualizados, elementos de datos eliminados. 3) Descripción de los Procesos del Negocio (para cada localidad). Lista de los procesos y descripción de los procesos. 4) Contraste de las alternativas de arquitectura del SI para la localidad, los datos y los procesos necesarios (para cada localidad). Pros y contras del soporte tecnológico, pros y contras de la ausencia de red -sistema local-, pros y contras de distintas configuraciones de distribución, otros pros y contras. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS BASE DE DATOS DISTRIBUIDA. Una única base de datos lógica que es esparcida físicamente a través de las computadoras ubicadas en múltiples localidades, conectadas por un enlace de comunicación de datos. VENTAJAS Y DESVENTAJAS DE LAS BASES DE DATOS DISTRIBUIDAS VENTAJAS DESVENTAJAS Incrementa la confiabilidad del sistema debido a la redundancia Costo y complejidad del software, dado que se requiere un software más complejo para ambientes distribuidos Control local de los datos, lo que tiene a promover mejoras en la integridad y la administración de los datos Mayor procesamiento para intercambiar mensajes entre las localidades Crecimiento modular de las aplicaciones y las bases de datos sin interrupciones para los usuarios existentes Integridad de los datos, dado que es más difícil controlar por las múltiples y dispersas copias de los datos Bajos costos de comunicación por la reducción del tráfico Baja velocidad de respuesta si los datos y la aplicación no están distribuidos apropiadamente de acuerdo con su uso Alta velocidad de respuesta dado que la mayoría de las aplicaciones usan datos locales SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL MODELO SERVIDOR DE ARCHIVO Un dispositivo maneja las operaciones con los archivos y es compartido por cada PC cliente conectado a la red. LIMITACIONES DEL SERVIDOR DE ARCHIVOS 1) Excesivo movimiento de lados. 2) Es necesario contar con una poderosa estación de trabajo para el cliente. 3) Requiere control descentralizado de los datos. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR • ARQUITECTURA CLIENTE/SERVIDOR. Un ambiente computacional basado en una red (LAN o WAN) en la que un servidor central de base de datos, o un “motor” o “dispositivo”, maneja todos los comandos de base de datos enviados a él desde las estaciones de trabajo cliente, y aplicaciones de programas en cada cliente concentran las funciones de interfaz con el usuario. • “MOTOR” DE BASE DE DATOS (Database engine). La parte (back-end) del sistema de base de datos cliente/servidor que se encuenra en el servidor y provee el procesamiento de la base de datos y comparte las funciones de acceso. • CLIENTE. La parte (front-end) del sistema de base de datos cliente/servidor que provee la interfaz del usuario y las funciones de manipulación de datos. • INTERFAZ DE PROGRAMA DE APLICACIÓN (Application Program Interface -API-). Software que le permite a una plataforma de desarrollo programas específicos front-end comunicarse con un “motor” de base de datos particular, cuando las partes fornt-end y back-end no han sido construidas para ser compatibles. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR Entre los beneficios al adoptar una arquitectura cliente/servidor, están: 1) Permite a las compañías apalancarse en los beneficios de la tecnología de la microcomputación. Actualmente, las estaciones de trabajo tienen gran capacidad de computo a una fracción del costo de los mainframes. 2) Permite mayor procesamiento de información en el sitio donde ésta es generada, mejorando los tiempos de respuesta y reduciendo el tráfico en la red. 3) Facilita el uso de interfaces gráficas para los usuarios y permite el trabajo con aplicaciones de presentaciones visuales en las estaciones de trabajo. 4) Permite y promueve la utilización de sistemas abiertos. En la arquitectura cliente/servidor sólo se transfieren (del servidor) los datos requeridos después de una petición de un cliente. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR SELECCIONANDO ENTRE SERVIDORES DE ARCHIVOS Y ARQUITECTURAS CLIENTE/SERVIDOR Tanto los servidores de archivos como las arquitecturas cliente/servidor usan computadoras personales y estaciones de trabajo, y están interconectadas usando redes LAN o WAN. Sin embargo, presentan grandes diferencias. ALGUNAS DIFERENCIAS ENTRE LOS SERVIDORES DE ARCHIVOS Y LAS ARQUITECTURAS CLIENTE/SERVIDOR CARACTERÍSTICA SERVIDOR DE ARCHIVOS CLIENTE/SERVIDOR Procesamiento Sólo el cliente Ambos (cliente y servidor) Acceso de datos concurrente Bajo – Manejado por cada cliente Alto – Manejado por el servidor Uso de la red Transferencia de grandes archivos y datos Transferencia eficiente de datos Seguridad e integridad de la base de datos Bajo – Manejado por cada cliente Alto – Manejado por el servidor Mantenimiento del software Bajo – El software cambia sólo en el servidor Mixto – Algunas partes deben ser elaboradas para cada cliente Flexibilidad del sistema de SW y el HW Cliente y servidor desconectados y pueden ser mezclados Necesario para obtener una gran coordinación entre el cliente y el servidor SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR Existe una clara tendencia en el diseño físico de sistemas, de moverse desde sistemas centrales mainframe y aplicaciones individuales en PC, hacia algunas formas de sistemas que distribuyen los datos y el procesamiento a través de múltiples computadoras. Actualmente muchas organizaciones están incursionando en los ambientes cliente/servidor, teniendo éxito en sus esfuerzos con la tecnología existente. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR FORMAS AVANZADAS DE ARQUITECTURAS CLIENTE/SERVIDOR Las distintas arquitecturas cliente/servidor presentan variaciones acerca de cómo son distribuidas las diferentes funciones de las aplicaciones de sistemas entre el cliente y el servidor, sobre la base de los conceptos de los tres (3) componentes generales de cualquier SI: 1) GERENCIA DE LOS DATOS. Funciones que gerencian todas las interacciones entre el SW y los archivos y las bases de datos, incluyendo recuperación/consulta, actualización, seguridad y control de concurrencia. 2) GERENCIA DE LA PRESENTACIÓN. Funciones que gerencian la interfaz entre los usuarios del sistema y el SW, incluyendo la visualización e impresión de formas y reportes, y la posibilidad de validar entradas del sistema. 3) ANÁLISIS DE LOS DATOS (LÓGICA DE LA APLICACIÓN). Funciones que transforman entradas en salidas, incluyendo desde simples sumas hasta complejos modelos matemáticos como el análisis de regresión. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR FORMAS AVANZADAS DE ARQUITECTURAS CLIENTE/SERVIDOR Las diferentes arquitecturas cliente/servidor distribuyen, o particionan, cada una de las funciones descritas anteriormente, entre las computadoras cliente y servidor, y cada vez más, en una tercera computadora llamada servidor de aplicación. • SERVIDOR DE APLICACIÓN. Un servidor de cómputo donde residen principalmente las funciones de análisis de datos. Se ha convertido en uso común, el usar tres (3) o más computadoras distintas en muchas arquitecturas cliente/servidor novedosas, apareciendo dos (2) nuevos términos: • CLIENTE/SERVIDOR DE TRES CAPAS. Avanzada arquitectura cliente/servidor en la que se combinan tres aplicaciones lógicas distintas -los datos, la presentación y el análisis, para crear un SI. • MIDDLEWARE. Una combinación de HW, SW y tecnologías de comunicación que soporta los datos, la presentación y el análisis, en un ambiente cliente/servidor de tres capas. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR FORMAS AVANZADAS DE ARQUITECTURAS CLIENTE/SERVIDOR Existen tres (3) razones primordiales para la creación de las arquitecturas cliente/servidor de tres capas: (Stevens, 1996) 1) Las aplicaciones pueden ser particionadas de una manera que se ajuste a las necesidades computacionales de la organización. 2) Dado que la mayoría de la lógica está contenida en el servidor de aplicaciones, realizar cambios globales, o personalizar procesos para usuarios individuales, es relativamente fácil. 3) Dado que la lógica está separada de la interfaz del usuario, es sumamente fácil cambiar uno, o ambos, sin acarrear mayores esfuerzos en mantenimiento. La combinación de estos beneficios -partición de las aplicaciones, fácil personalización y fácil mantenimiento- están conduciendo a muchas organizaciones a adoptar la alternativa de tres capas como un estándar de la computación cliente/servidor. SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR PRESENTACIÓN DISTRIBUIDA En esta arquitectura la tecnología se conoce como “pantallas enmascaradas”, en donde el cliente le da forma a los datos que son manejados en el servidor, en forma de reportes o formas. El tráfico de la red sólo se limita a un pase de datos que ya vienen preparados. FUNCIÓN CLIENTE SERVIDOR Datos Todos Lógica Toda Presentación SISTEMAS DE INFORMACIÓN II Los datos son presentados en forma gráfica, enmascarados Organiza los datos para ser presentados al cliente en tecnologías gráficas TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR PRESENTACIÓN REMOTA Esta arquitectura coloca todas las funciones de presentación de los datos en el cliente de forma que el cliente es el que tiene toda la responsabilidad del formateo de los datos. Exige menos mantenimiento si la forma de los reportes o las pantallas no cambia. Aumenta el tráfico de la red con relación a la anterior, en virtud que el cliente debe interactuar más con el servidor para recibir todos los datos necesarios. FUNCIÓN CLIENTE SERVIDOR Datos Todos Lógica Toda Presentación SISTEMAS DE INFORMACIÓN II Los datos que resultan del análisis en el servidor son formateados y presentados por el cliente TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR GERENCIA DE DATOS REMOTA Todo el SW del cliente tiene la responsabilidad del SI, a excepción de la gerencia de los datos. Esta arquitectura es la más conocida como cliente/servidor. Presenta un mayor tráfico de red, ya que se le solicita al servidor los datos para presentar y para analizar; esto hace que el análisis dependa del cliente, lo cual permite el uso de hojas de cálculo en éste. FUNCIÓN CLIENTE Todos Datos Lógica Toma los datos del servidor para hacer el análisis (lógica) Presentación Toda SISTEMAS DE INFORMACIÓN II SERVIDOR TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR FUNCIÓN DISTRIBUIDA Esta arquitectura divide las funciones de análisis (lógica) entre el cliente y el servidor, dejando toda la gerencia de la presentación en el cliente y la gerencia de los datos en el servidor. Esta arquitectura permite que la lógica se reparta en función de la relación costo/beneficio. Estos ambientes son muy complejos. FUNCIÓN CLIENTE Todos Datos Lógica Datos seleccionados del servidor son recuperados y analizados Presentación Toda SISTEMAS DE INFORMACIÓN II SERVIDOR Datos seleccionados del servidor son recuperados y analizados, luego son transmitidos TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR BASE DE DATOS DISTRIBUIDA Esta arquitectura le asigna al cliente toda la funcionalidad: la presentación y la lógica, a excepción de los datos, los cuales son repartidos entre el cliente y el servidor; esto permite una ubicación óptima de los datos. Aparece el concepto de particionamiento vertical y horizontal de los datos. FUNCIÓN CLIENTE SERVIDOR Datos Gerencia local de los Gerencia de datos datos compartidos en el servidor Lógica Los datos son recuperados del cliente y del servidor para su análisis Presentación Toda SISTEMAS DE INFORMACIÓN II TEORÍA UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ARQUITECTURAS CLIENTE/SERVIDOR PROCESAMIENTO DISTRIBUIDO Combina lo mejor de las bases de datos distribuidas y de las funciones distribuidas, repartiéndolas entre el cliente y el servidor, y dejando la responsabilidad de la presentación al cliente. Es un ambiente altamente complejo, pero optimiza el uso de la red. FUNCIÓN CLIENTE SERVIDOR Datos Gerencia local de los datos Gerencia de datos compartidos en el servidor Lógica Los datos son recuperados del cliente y del servidor para su análisis Los datos son recuperados del servidor para su análisis, después son enviados al cliente para terminar el análisis Presentación Toda SISTEMAS DE INFORMACIÓN II TEORÍA