Professional Documents
Culture Documents
Macrocompetencia:
Desarrollar sistemas informáticos aplicando el enfoque sistémico para proponer alternativas
de solución a los problemas de las organizaciones.
Unidad de competencia:
Analizar los requerimientos de los sistemas informáticos para diseñar software de acuerdo
a las necesidades del usuario utilizando normas, estándares y metodologías vigentes.
Instrucciones:
Objetivos:
Fundamentación Teórica
Los servicios permitirán usar todos los recursos técnicos y el sistema distribuido resultante
no será nada más, ni nada menos, que un conjunto de servicios que interoperan entre ellos
colaborando para cumplir los objetivos que se han establecido para el sistema.
Los sistemas distribuidos que se diseñen y construyan deben estar alineados con los
objetivos de negocio de la empresa, aumentar la eficacia y eficiencia operacional de la
compañía y permitir el mayor rendimiento con el menor coste en las estructuras informáticas
que dan soporte.
No olvide nunca estos tres puntos. El objetivo es siempre alinear tecnología y
negocio.
El sistema resultante debe ser adaptable, ofrecer el rendimiento necesario con el coste más
barato que seamos capaces de conseguir.
Con este objetivo final, empezamos nuestro viaje para el cual le voy a pedir un esfuerzo.
Las tecnologías llegan, se consolidan o desaparecen, y al final mueren. Y siempre con
facilidad y rapidez.
Pero las estrategias, las tácticas y las técnicas de diseño tienen un ciclo de vida mucho más
lento y robusto. Y están por encima de las tecnologías en que se implementan. Intente
poner en su mochila solo las primeras. Este es un viaje por el mundo del diseño de sistemas
distribuidos, no sus técnicas de implementación, aunque haremos las necesarias salidas a
ese mundo cuando sea necesario.
El objetivo fundamental de cualquier sistema distribuido será aportar valor añadido. Y para
empezar eficientemente el camino conviene organizar de alguna forma todos los factores
que intervienen. La forma de hacerlo es proponer una Arquitectura de Empresa,
conocida también por EA desde su nombre en inglés, Enterprise Architecture.
Es en este último aspecto por el que nos conviene acercarnos a ella. Sus contenidos son
prerrequisitos que los sistemas distribuidos deberán cumplir. Es de aquí donde se origina el
Plan Estratégico Distribuido de la Compañía, donde se registrarán todos los
prerrequisitos de desarrollo y gestión que los sistemas distribuidos de la compañía deberán
seguir y cumplir. Veremos que este documento se utilizará en la segunda parte dedicada al
diseño, como base de muchas decisiones a tomar durante el desarrollo del sistema
distribuido.
Los primeros ordenadores en el mundo de los negocios aparecen a partir de 1958 y abarcan
una generación evolutiva que llega hasta mediados de los 60.
Básicamente, es una generación formada por ordenadores con muy poca capacidad de
almacenamiento externo, programados artesanalmente.
A principios de los 80 se produce un otro hecho crucial: aparecen los primeros PC’s de IBM.
Poca gente cree el ellos hasta el punto que la única persona que apuesta por desarrollar un
sistema operativo estándar para la nueva generación de hardware es un desconocido Sr.
Bill Gates.
Analicemos el problema. En el fondo, para acceder a los datos corporativos desde un PC,
hay que establecer una comunicación entre dos programas, uno en el lado del PC y el otro
en el lado del HOST.
Y para poder comunicarse dos programas es obvio que necesitan intercambiarse mensajes.
En esos momentos los modelos de comunicación entre dos programas ya estaban
estudiados y se utilizaban ampliamente. Entre todos los modelos posibles, se decide escoger
el modelo de comunicación Cliente/Servidor que se caracteriza por la existencia de un
mensaje de dos pasos, petición y respuesta.
En C/S, las dos máquinas que soportan a cliente y servidor pueden estar funcionando
perfectamente y fallar el transportista. El cliente deberá analizar que puede hacer para
recuperar y/o suplir la caída del servicio. Esta idea es el fundamento de una etapa nueva en
el diseño: el análisis de consistencia.
El sistema operativo, y como veremos más adelante, cambio su concepción inicial ligada a
una máquina física y se convierte en un concepto de red. Windows, su Office y sus
estándares se imponen masivamente.
A finales de los 90, y para intentar acabar con ese dominio de los sistemas operativos de
Microsoft, una serie de compañías intentan buscar una vía alternativa y realizan una fuerte
apuesta por Internet, una plataforma que ya existía desde hacía mucho tiempo.
Aparecen las primeras Web’s y en un tiempo record el sistema se generaliza. En una primera
etapa sin interacción con la plataforma local y con aplicaciones para colocar información de
todo tipo en la Red y de venta de productos.
Servicios.
La evolución supone la confirmación de que el diseño de las aplicaciones distribuidas está
basado en servicios, independientemente de donde se obtengan y que técnicas se usen
para ello.
Los servicios dan datos y procesos especializados proveídos por servidores o agentes.
El diseño distribuido obtendrá y utilizará los servicios en muchísimas ocasiones por técnicas
cliente / servidor.
Internet ha potenciado y generalizado enormemente el uso de esos servicios aportando
soluciones nuevas, que, combinadas con las ya existentes, permiten crear mejores
Aplicaciones Distribuidas.
La generalización de los dispositivos móviles, teléfonos y PDA’s, ha abierto otra vía con
aplicación a partes del sistema distribuido donde hasta entonces era difícil o imposible
proporcionar funcionalidad i/o datos.
Las técnicas de diseño, no de implementación, serán muy parecidas en entornos de Sistema
Operativo y de Internet.
Entre las principales ventajas de los sistemas distribuidos con respecto a las
computadoras centralizadas se encuentran:
Economía: Los microprocesadores ofrecen una mejor relación precio/ rendimiento que las
computadoras centrales.
Velocidad: Un sistema distribuido puede tener mayor poder de cómputo que una
computadora centralizada individual.
Distribución inherente: Implica que un sistema distribuido puede emplear aplicaciones
instaladas en computadoras remotas.
Confiabilidad: El sistema es consistente, aun si una computadora del sistema deja de
funcionar.
Crecimiento proporcional: Cada vez que se requiera mayor poder de cómputo en el sistema,
solo se pueden adicionar los incrementos de cómputo requeridos.
A pesar de los diferentes beneficios que introducen los sistemas distribuidos, todavía existen
diferentes retos que deben ser resueltos como los siguientes [Coulouris et al., 2001]:
• Software: Gran parte del software para sistemas distribuidos está aún en desarrollo.
• Redes: Los problemas de transmisión en las redes de comunicación todavía son frecuentes
en la transferencia de grandes volúmenes de datos (por ejemplo, multimedia).
• Seguridad: Se necesitan mejores esquemas de protección para mejorar el acceso a
información confidencial o secreta.
• Tolerancia a fallas: Las fallas operativas y de componentes aún son frecuentes.
Bibliografía