You are on page 1of 16

AMBIENTES DISTRIBUIDOS

DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS I UNIDAD

PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS


Tarea I Qu es un ambiente distribuido? Es una coleccin de computadoras separadas fsicamente y conectados entre si por una red de comunicaciones distribuida, cada mquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema. Para qu sirve el Ambiente Distribuido? Ofrece grandes ventajas a usuarios. Las primera de ellas es que se adecuan a un concepto comn en la vida de los seres humanos. El hombre comparte informacin y recursos sin necesidad de complejos protocolos de comunicacin u otros requerimientos

Tarea II 1. Evolucin de la aplicacin Informtica Es un programa informtico diseado como herramienta para permitir a usuarios realizar uno o diversos tipos de trabajo. Las Aplicaciones Informticas surgieron del uso del sistema informtico propiamente dicho aumenta el valor de sus activos y agilizar el trabajo gracias a la automatizacin de procesos informticos. 2. Cmo surgi el Ambiente Distribuido?

Gisela Santos Hernndez

Surgi de la necesidad de tener redes dinmicas, es decir que las redes no se limitaran a sus sistemas diseados para servir a usuarios geogrficamente dispersos.

Tarea III 1. Que son los escenarios de utilizacin de las aplicaciones distribuidas? Es una descripcin parcial y concreta del comportamiento del un sistema en una determinada situacin. Es parcial por que, no necesita describir todas las caractersticas de las entidades involucradas, solo se describen aquello que est relacionado con un comportamiento particular del sistema analizado.

2. Problemas comunes distribuida?

en el

desarrollo

y uso

de

aplicaciones

Disponibilidad de los servidores Acceso a los sistemas de manera remota Posibilidad de que pueden ser vistos (pero no accesados) por muchas personas Capacidad de los equipos donde se almacenan las fuentes

Gisela Santos Hernndez

AMBIENTES DISTRIBUIDOS
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS II UNIDAD

ARQUITECTURA DE APLICACIONES DISTRIBUIDAS


Tarea I 1. Qu es la Arquitectura? Es un entramado de componentes funcionales que aprovechando diferentes estndares, convencionales, reglas y procesos permite integrar una amplia gama de productos y servicios informticos de manera que puedan ser utilizados eficazmente dentro de la organizacin. 2. Qu es una Arquitectura en un Ambiente Distribuido? Proporciona un concepto holstico que abra de construirse y describa la estructura y la organizacin de los componentes del SW y sus propiedades y la conexin entre ellos. 3. En qu consiste la capa de interfaz de usuario: Es el medio con que el usuario puede comunicarse con una maquina, un equipo o una computadora y comprende todos los puntos de contacto entre el usuario y el equipo, normalmente suelen ser fciles de entender y fciles de accionar.

Tarea II

Gisela Santos Hernndez

1. Qu es la integracin de sistemas heredados? Puede definirse como la reutilizacin de sistemas y aplicaciones heredados existentemente, que se logra mediante la integracin con aplicaciones corporativas desarrolladas recientemente. Brinda un mtodo no intrusivo para reutilizar aplicaciones crticas que residen en sistemas heredados, como un sistema mainframe a AS/400. 2. Qu es la Distribucin de Elementos de una aplicacin en ambientes distribuidos? Distribucin: Necesidad de Distribuir Heterogeneidad: Diversidad de componentes Cooperacin: integracin de elementos y formas de trabajo

Tarea III

1. Qu son los servicios de Arquitectura de Web? Que son componentes que se ejecutan en un equipo separado lgicamente del que ejecuta el portal. A este equipo independiente se le denomina servidor remoto. La arquitectura de los servicios Web permite que varios tipos de servicios remotos (fuentes de autenticacin, rastreadores de contenido, bsquedas federadas entrantes, portales y fuentes de perfil) compartan un servidor remoto lgico, facilitando la gestin de los equipos que componen el portal. 2. Que son los servicios de BD? Es un programa que provee servicios de base de datos a otros programas u otras computadoras, como es definido por el modelo cliente-servidor. Tambin puede hacer referencia a aquellas computadoras (servidores) dedicadas a ejecutar esos programas, prestando el servicio. 3. Qu son los servicios de aplicaciones?

Gisela Santos Hernndez

Son un mecanismo estndar para manejar los cambios al estado de un sistema distribuido. Proveen un modelo para controlar el acceso concurrente a los datos y para manejar fallas. 4. Qu son los servicios de Transacciones?

Son un mecanismo estndar para manejar los cambios al sistema distribuido. Proveen un modelo para controlar el acceso concurrente a los datos y para manejar fallas coherentes al cmputo distribuido 5. Qu son los servicios de S.O? Es el conjunto de todos los servicios ofrecidos por el sistema operativos constituyen la interfaz del S.O, una solicitud depende de uno o mas parmetros, el primer parmetro es el tipo del servicio requerido, los restantes dependen del tipo de servicio. Los servicios del S.O se solicitan desde el cdigo del programa. 6. Qu son los servicios de Firewall? Permite o deniega una comunicacin, el firewall examina el tipo de servicio al que corresponda, como pueden ser el web, el correo dependiendo el servicio al firewall decide si lo permite o no.

III UNIDAD

DISEO DE APLICACIONES DISTRIBUIDAS


Tarea I

1. Qu es el Diseo? Se define como el proceso previo de configuracin mental, pre -figuracin, en la bsqueda de una solucin en cualquier campo.

Gisela Santos Hernndez

2. Qu es la Implementacin? Es la realizacin de una aplicacin, o la ejecucin de un plan, idea, modelo cientfico, estndar algoritmo o poltica. 3. Qu es el diseo e implementacin de BD? Conjunto de actividades que resultan en un esquema conceptual de alto nivel de una base de datos independiente al SF gestor (SGBD), partiendo de especificaciones de requerimientos

IV UNIDAD IMPLEMENTACIN DE PROCESAMIENTO DE DATOS


TAREA I

Diseo e implementacin del manejo de datos.

Se decide la arquitectura de la aplicacin y se determina qu componentes son objetos locales y cules deberan ser accesibles remotamente. Este paso incluye.

1. Definir las interfaces remotas. 2. Implementar los objetos remotos. 3. Implementar los clientes.

Diseo

El diseo del sistema de informacin describe el plan general o el modelo que se propone para ese sistema. Contiene todas las especificaciones que le dan forma y estructura al sistema. Durante la etapa de diseo, el desarrollador debe trasformar los requisitos del sistema en una estructura de alto nivel, identificando sus componentes principales y sus relaciones, tal como las ver el usuario, este diseo se denomina diseo global. El diseo global muestra lo que la solucin

Gisela Santos Hernndez

har, describe sus entradas y salidas, las funciones de procesamiento, los modelos de datos y controles.Luego de esta etapa se aborda el diseo detallado, que produce las especificaciones reales para el hardware, el software y las bases de datos fsicas. El diseo detallado trasforma un diseo abstracto en un sistema de funciones e interacciones entre personas y mquinas.

Implementacin

Programacin: lo que sigue en el proceso de desarrollo es traducir las especificaciones de la solucin en un sistema informtico operativo, para ello se traducen las especificaciones del sistema en cdigo de programas. Luego de escritos los programas, es necesario llevar a cabo pruebas para certificar que el sistema produce resultados correctos. Se comienza probando cada programa por separado, luego el funcionamiento del sistema como un todo. Para, por ltimo proponer su instalacin y realizar la ltima prueba, en el escenario de operaciones, por los usuarios.

Implantacin

Este proceso es el de instalacin definitiva del software en el escenario en el que ser utilizado. Este proceso, involucra un perodo de conversin del sistema viejo a sistema nuevo. Este proceso de conversin, se puede abordar de diferentes maneras: 1. En paralelo, se utilizan ambos sistemas durante un tiempo hasta que todos estn seguros de que el nuevo funciona correctamente. 2. Directo, se reemplaza el sistema viejo por el nuevo en un da determinado, 3. Prueba piloto, se implanta el sistema en un rea y luego se va hacia las dems, por etapas o simultneamente, 4. Por fases, se introduce por funciones. La adopcin de un diseo distribuido de aplicaciones empresariales, aumenta la reusabilidad, reduce la cantidad de recursos, y los costes necesarios de desarrollo y mantenimiento. Este nuevo enfoque de diseo pone en manos de los desarrolladores no solo la funcionalidad que demandan las aplicaciones, sino tambin la seguridad, rapidez y flexibilidad.

V UNIDAD

Gisela Santos Hernndez

IMPLEMENTACIN DE INTERFAZ DE USUARIO


Tarea I

1. Qu es la programacin lado cliente? Tiene como principal ventaja que la ejecucin de la aplicacin de delega al cliente, con lo cual se evita recargar al servidor de trabajo 2. Qu es la programacin lado Servidor? Es una tecnologa que consiste en el procesamiento de una peticin de un usuario mediante la interpretacin de un script en el servidor web para generar paginas HTML dinmicamente como respuesta.

3. Qu es el lenguaje de Marcado? es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen informacin adicional acerca de la estructura del texto o su presentacin. El lenguaje de marcas ms extendido es el HTML, fundamento del Word Wide Web. Los lenguajes de marcado suelen confundirse con lenguajes de programacin.

UNIDAD VI

INTEGRACIN APLICACIONES DISTRIBUIDAS

6.1 ASIGNACIN PARTES APLICACIN Dependiendo de la forma de interaccin entre las partes, tenemos distintos modelos de aplicaciones:

Gisela Santos Hernndez

Orientado a los mensajes. Redes entre iguales (p2p), computacin en malla (Grid). Cliente/Servidor

Orientado a los mensajes.- Para aplicaciones que pueden tolerar cierto nivel de independencia frente al tiempo de las respuestas. Los mensajes se intercambian mediante colas de mensajes. Al no comunicarse directamente, los programas pueden estar ocupados, no disponibles o simplemente no ejecutndose cuando se produce la comunicacin. Redes entre iguales (p2p), computacin en malla (Grid).- Todos los miembros del sistema son iguales. No hay tareas predefinidas entre ellos. Comparten recursos: disco (emule, kazaa, edonkey, etc) o CPU (seti@home) Cliente/Servidor.- Las aplicaciones se dividen en dos partes: una de ellas (cliente) inicia la comunicacin con una peticin y la otra (servidor) responde a esa peticin. El servidor se ha tenido que ejecutar antes que el cliente y normalmente suministra un servicio. Tipos de servicios Un servidor es una pieza de software que espera por peticiones de clientes, las procesa y enva el resultado al cliente. Entre cliente y servidor se utiliza el modelo de comunicacin peticin/respuesta. El servidor ha sido activado siempre antes que el cliente y espera pasivamente por las solicitudes de servicio. Un servicio es cualquier tarea que el cliente pueda invocar de manera independiente. Un servidor puede suministrar mltiples servicios.

Ejemplo: Servidor de ficheros. Crear fichero Borrar fichero Leer fichero

Tipos de servicios

Gisela Santos Hernndez

Dependiendo de la implementacin podemos distinguir dos tipos de servicios: 1. Idempotente.- Cuando dos peticiones con los mismos datos de entrada generan exactamente el mismo valor de salida. 2. El servicio no mantiene ninguna informacin de estado sobre los clientes que contactan con l. Todas las peticiones son iguales. 3. No idempotente.- Cuando dos peticiones con los mismos datos de entrada pueden generar valores de salida distintos. 4. El servicio suele mantener informacin de estado sobre los clientes que contactan con l para mejorar la eficiencia del servicio. El servicio reconoce a los clientes.

6.2 Distribucin Aplicacin


La distribucin refiere a la construccin de software por partes, a las cuales les son asignadas un conjunto especfico de responsabilidades dentro de un sistema. Que es una aplicacin distribuida Es una aplicacin con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a travs de una red Una aplicacin distribuida sera una pieza de software que se ejecuta en mquinas distintas, concurrentemente, cada una de las partes se comunica con las otras y puede realizar un trabajo o tarea.

Distribucin de Recursos
Cada aplicacin considera el nodo local como una cache de los recursos disponibles en todo el sistema distribuido. En el caso de aplicaciones centralizadas, stas se limitan a utilizar dicha cache ignorando la ubicacin de los recursos (pensando que son locales). En cambio, las distribuidas pueden solicitar la asignacin de recursos en las ubicaciones que deseen y controlar la revocacin de tal modo que se mantengan en el nodo local (en la cache) los recursos convenientes (revocando primero aquellos recursos que sea ms barato traer al nodo local, y no aquellos que sea costoso volver a obtener debido a su ubicacin u otros factores). En este sentido es crucial que el kernel permita a las aplicaciones escoger las unidades de recurso que han de revocarse, de otro modo el sistema escogera l mismo las unidades a revocar y ello sin tener una idea exacta de para qu se emplea cada una de ellas.

Gisela Santos Hernndez

Sorprendentemente, en un DAMN, no hay un nico modelo de distribucin de recursos. El kernel permite que peticiones locales al sistema puedan operar con recursos remotos, eso es todo lo que hace. Por un lado, una aplicacin centralizada se puede distribuir ``automticamente'' interponiendo entre ella y el sistema un algoritmo distribuido de asignacin y revocacin de recursos. De este modo la distribucin ser como sigue: Ante una peticin de recursos, el algoritmo de asignacin puede solicitar recursos remotos (o locales) al kernel. La aplicacin realizar peticiones al sistema empleando dichos recursos de manera transparente. Sean stos locales o remotos, el kernel atender las peticiones. Ante una eventual revocacin, el algoritmo de revocacin empleado puede optar por eliminar primero los recursos que sean ms baratos'' en trminos de posicin y uso. Por otro lado, una aplicacin distribuida puede emplear algoritmos especficos de asignacin y revocacin sin necesidad de conformarse con un algoritmo general que funcione bien en el caso medio. Un posible modelo para implementar estos algoritmos de asignacin y revocacin podra ser el campo computacional [163], donde las relaciones entre distintos objetos se tienen en cuenta para crear, destruir y migrar objetos. Por ltimo, conviene dejar claro que en un DAMN no slo se distribuyen las IPCs, esto es, no slo se permiten interacciones entre elementos en distintos nodos. Para cualquier servicio del sistema, la operacin se procesa en el nodo local tanto como sea posible. Cuando el sistema ve que el recurso es remoto es la propia implementacin del servicio la que contacta con el nodo remoto usando protocolos especficos de cada aplicacin (esto es, realizando una up-call). Esto no es lo mismo que emplear una IPC distribuida que alcanza un ncleo remoto sin que el local se entere de ello. Si se distribuyen slo las IPCs podemos tener problemas en el uso de referencias a memoria de usuario en las llamadas al sistema (una referencia local no es vlida en el nodo remoto). Estas pueden ocasionar mensajes extra en la red o el envi de datos innecesarios. A modo de ejemplo, la siguiente figura muestra (a) cmo las aplicaciones utilizan la distribucin del sistema en kernels centralizados convencionales con IPC distribuida (como en el caso de Mach con un netmsgserver que extiende la IPC de Mach a la red) y (b) cmo pueden emplear su propia distribucin en un DAMN.

Gisela Santos Hernndez

Figure: Distribucin del sistema en kernels (a) y DAMNs (b). En la figura se aprecian varios procesos de usuario (crculos) que efectan llamadas a servicios del sistema (lnea continua) y a servicios de un proceso remoto (lnea discontinua). En el caso de un kernel tradicional todos los procesos de usuario se ven obligados a utilizar un mismo protocolo de transporte. En un DAMN cada aplicacin puede utilizar su propio transporte (un servicio de datagramas, uno orientado a conexin, con o sin cifrado, etc.). Lo que es ms, en el caso de la llamada al sistema, un kernel tradicional no permite llamadas al sistema desde otros nodos. Es el propio kernel el que, imponiendo su modelo de distribucin, utiliza el sistema de transporte para permitir que sus abstracciones utilicen recursos remotos (como denota la separacin en varios tramos del camino de la llamada al sistema en la figura). En un DAMN el sistema se limita a encaminar aquellas peticiones dirigidas a recursos remotos al servidor especificado por la aplicacin involucrada. Esto afecta tanto a las llamadas a servicios del sistema como a los mensajes de aplicacin dirigidos a otros procesos de usuario.

6.3 Instalacin de Componentes


Un componente es un elemento de software que encapsula una serie de funcionalidades. Un componente es una unidad independiente, que puede ser utilizado en conjunto con otros componentes para formar un sistema ms complejo.

Gisela Santos Hernndez

Instalar los componentes software de acuerdo con el anlisis de los requerimientos de informacin y la tecnologa del equipo, utilizando los manuales del fabricante que garantice su funcionamiento y las necesidades del cliente.

Ejecutar el mantenimiento fsico interno y externo de los equipos de cmputo y las tarjetas aplicando las tcnicas e insumos apropiados para garantizar su estado de operacin segn manuales y procedimientos establecidos. Verificar el estado de operacin del equipo aplicando herramientas de software legales segn el manual de procedimientos de la empresa y respondiendo a las necesidades del cliente Una aplicacin con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a travs de una red. Las tpicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (clientemiddleware-servidor) y multinivel.

Una aplicacin con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a travs de una red. Las tpicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (clientemiddleware-servidor) y multinivel. Componentes de una aplicacin distribuida Una aplicacin distribuida que sigue el modelo cliente-servidor tiene los siguientes componentes: Lado servidor: Programa que se ejecuta en un computador que est conectado a una red. Esta a la escucha en un puerto, esperando las peticiones de los clientes; por ejemplo, un servidor Web escucha en el puerto 80. Un computador que ejecuta un servidor de aplicacin necesita estar conectado a la red para responder a las peticiones de los clientes. Lado cliente: Programa que ejecuta el usuario de la aplicacin. El cliente hace sus peticiones al servidor a travs de la red. Por ejemplo, un navegador Web. Protocolo de aplicacin para la comunicacin entre el cliente y el servidor. El protocolo define el tipo de mensajes intercambiados; por ejemplo, el protocolo de la capa de aplicacin de la Web, HTTP, define el formato y la

Gisela Santos Hernndez

secuencia de los mensajes transmitidos entre el navegador y el servidor Web. Formato de los mensajes que se intercambian, algunas veces forma parte del servicio; por ejemplo, en el correo electrnico se define el formato de los mensajes electrnicos.

6.4 Configuracin de Componentes.

Los componentes de acceso a datos normalmente necesitan lo siguiente: o Necesitan tener la capacidad de asignar nombres de orgenes de datos lgicos a parmetros de la conexin fsica (por ejemplo, para asignar la base de datos "Ventas" a una cadena de conexin real). o Si los componentes de acceso a datos realizan un enrutamiento dinmico de datos, necesitar contar con datos de configuracin que expresen los parmetros (por ejemplo, regin del cliente), algoritmos (por ejemplo, hash) y destinos del enrutamiento (por ejemplo, cadenas de conexin para las bases de datos). Es comn incluir la lgica del enrutamiento dinmico de datos en un componente de utilidad distinto.

6.5 Configuracin de Aplicacin.


Los componentes de proceso de usuario generalmente requieren los siguientes valores de configuracin: 1. Informacin de la ubicacin para llegar a los componentes de procesos empresariales y los componentes de acceso a datos. 2. Datos de conexin (como una cadena de conexin o una ruta de archivo) para el recurso que controla los datos de procesos de usuario persistentes para procesos de larga ejecucin

6.6 Evaluar desempeo.


La evaluacin de desempeo puede ser uno de los procesos que satisfacen una necesidad

1. Un sistema de indicadores permite que el usuario disee sus propios indicadores acerca del comportamiento de ciertas variables que desee

Gisela Santos Hernndez

monitorear en la empresa. El propsito de los indicadores es evaluar el desempeo financiero, operacional y de produccin de la empresa. Caractersticas de los indicadores
o o o o o o

Deben tener validez. Posibles de ser verificados. Deben estar dentro del contexto. Sensibles y especficos a la realidad. Eficaces en sus fines y metas. Oportunos en el tiempo.

6.7 Optimizacin del desempeo.


Los tres conceptos clave para el anlisis y optimizacin del desempeo de la red son los siguientes: Cuellos de botella Lneas bsicas Mejores prcticas Cuellos de botella: Es el punto en el sistema que limita el throughput de datos, que es una cantidad de datos que pueden fluir a travs de la red. La herramienta principal de monitoreo de desempeo de Windows 2000 server de Microsoft se llama simplemente performance. [rendimiento].Performance puede monitorear casi todos los componentes de hardware y software de un servidor Windows 2000 server. Lneas bsicas Las mediciones de las lneas bsicas debern incluir las siguientes estadsticas: Procesador Sistema subsistema de disco red longitud de la cola de la red. 1. El primer paso para determinar cuan eficiente una red se est desempeando involucra comparar diversas mediciones en las mismas mediciones tomadas en un momento anterior. 2. Este punto de comparacin se llama lnea bsica, que es el nivel de desempeo aceptable cuando el sistema est manejando una carga de trabajo tpica. Software de monitoreo de red

Gisela Santos Hernndez

El monitoreo de red que viene con el Windows NT y Windows 2000 es una herramienta funcional y til para llevar a cabo un anlisis de protocolo de rutina. Network monitor puede usarse para mostrarse los frames individuales de datos capturados. Los productos sniffer permiten un filtrado sofisticado basado en la concordancia de patrones, direccin IP/IPX. etc. Medicin del desempeo de la red La revisin de los sistemas a menudo incluye su vigilancia, lo que se denomina medicin del desempeo de monitoreo de la red. Debe vigilarse de cerca el nmero de errores encontrados, la cantidad de memoria necesaria, el tiempo de procesamiento o de CPU requerido y otros aspectos. Si un sistema especfico no funciona como se espera, habr que modificarlo o desarrollar o adquirir un nuevo sistema. En algunos casos, se han creado productos de software especializados, cuya nica funcin es vigilar el desempeo del monitoreo de la red Los productos para el desempeo de sistemas se han desarrollado para medir todos los componentes de un sistema de informacin computarizado, lo que abarca el hardware, software, bases de datos, telecomunicaciones y redes. Cuando se usan en forma correcta, estos productos permiten localizar de manera rpida y eficaz problemas reales o potenciales de la red. La medicin del desempeo del monitoreo de la red es, de hecho, la tarea final del desarrollo de los sistemas de redes. El resultado de este proceso puede hacer que el grupo de desarrollo regrese de nuevo al comienzo del ciclo de vida de desarrollo, donde el proceso se inicia una vez ms. Una manera de reducir los riesgos de seguridad es tener rutinas de control en el sistema operativo para permitir o no el acceso a un usuario. Estas rutinas interactan con los programas de usuario y con los archivos del sistema. De esta manera, cuando un usuario desea realizar una operacin con un archivo, las rutinas determinan si se niega o no el acceso y en caso de que el mismo fuera permitido devuelven los resultados del proceso. Los productos desarrollados para medir todos los componentes de un sistema de monitoreo en la red basado en computadoras, incluidos el hardware, software, bases de datos, telecomunicaciones y redes.

Gisela Santos Hernndez

You might also like