+ All Categories
Home > Documents > sistdistr

sistdistr

Date post: 07-Mar-2016
Category:
Upload: jonathan-chapman
View: 215 times
Download: 0 times
Share this document with a friend
Description:
BUEN TRABAJAO

of 38

Transcript
  • 21/2/2002Sistemas distribuidos*Sistemas DistribuidosIngeniera del Software IIIGabriel Buades Febrero 2.002

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*ndiceDefinicin y conceptoClasificacin de sistemas distribuidosAspectos referentes al proceso de ingenieraCaso particular: aplicaciones WebAspectos relativos al coste

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Definicin y conceptoUn sistema distribuido es aquel en el que dos o ms mquinas colaboran para la obtencin de un resultado. En todo sistema distribuido se establecen una o varias comunicaciones siguiendo un protocolo prefijado mediante un esquema cliente-servidor.

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Definicin y conceptoEn un esquema cliente-servidor, se denomina cliente la mquina que solicita un determinado servicio y se denomina servidor la mquina que lo proporciona. El servicio puede ser la ejecucin de un determinado algortimo, el acceso a determinado banco de informacin o el acceso a un dispositivo hardware.

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Definicin y conceptoPor extensin, se puede aplicar el esquema cliente-servidor dentro de una misma mquina, donde el proceso servidor y el proceso cliente son dos procesos independientes que corren dentro de la misma instancia de sistema operativo.Es por tanto un elemento primordial para que haya un sistema distribuido, la presencia de un medio fsico de comunicacin entre ambas mquinas, y ser la naturaleza de este medio la que marque en muchos casos la viabilidad del sistema.

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*ClasificacinSe clasifican los sistemas cliente servidor de acuerdo al nivel de abstraccin del servicio que se ofrece. Se distinguen tres componentes bsicos de software:Interaccin con el usuarioLgica de AplicacinRepositorio de datos

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Clasificacin1. Representacin distribuida. La interaccin con el usuario se realiza bsicamente en el servidor. El cliente hace de pasarela, de sistema de acceo a los elementos hardware pantalla y teclado.

    Base de datosLgica de aplicacinInterface de usuarioTerminal fsico

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Clasificacin2. Representacin remota. Los datos se envan sin formatear, y es el cliente el responsable de formatear los datos y realizar las acciones de interaccin con el usuario. En este caso, la aplicacin y la base de datos se encuentran en el servidor

    Base de datosLgica de aplicacinInterface avanzado de usuarioTerminal inteligenteIntarface bsico de usuario

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Clasificacin3. Lgica distribuida. En el cliente se llevan a cabo la interaccin con el usuario y la parte ms trivial de la lgica de la aplicacin. En este caso, se llevan a cabo controles bsicos de rango de campos, campos obligatorios, etc, mientras que el grueso de la lgica permanece en el servidor.

    Base de datosLgica de aplicacinOrdenador de sobremesaLgica bsica de aplicacinInterface de usuario

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Clasificacin4. Gestin remota de datos. Tanto la interaccin con el usuario como la aplicacin residen en el cilente, siendo el servidor el depositario de los datos.

    Base de datos

    Ordenador de sobremesaLgica de aplicacinInterface de usuario

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Clasificacin5. B.D. Distribuidas. El cliente debe conocer la topologa de la red, as como la disposicin y ubicacin de los datos. En este caso, se delega parte de la gestin de base de datos a los clientes.

    Base de datosOrdenador de sobremesaDistribucin de datosLgica de aplicacinInterface de usuarioBase de datos

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*ClasificacinCliente servidor a tres niveles (three tier). La aplicacin se distribuye en los tres niveles: aplicacin, datos e interface de usuarioBase de datosOrdenador de sobremesaInterface de usuarioLgica de aplicacin

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Ejemplos

    Sistemas distribuidos

    Ejemplo

    Clasificacin

    Ancho de banda

    Mquina cliente

    Mquina servidor

    Aplicacin Clipper sobre servidor archivos Windows NT

    Aplicacin Windows sobre BBDD Cliente-Servidor

    Servidor Web pginas estticas

    Aplicacin Web dinmica contra B.D. externa

  • 21/2/2002Sistemas distribuidos*Ejemplos

    Sistemas distribuidos

    Ejemplo

    Clasificacin

    Ancho de banda

    Mquina cliente

    Mquina servidor

    Aplicacin Clipper sobre servidor archivos Windows NT

    Acceso remota a datos

    Mb/s

    Altas prestaciones

    Bajas prestaciones

    Aplicacin Windows sobre BBDD Cliente-Servidor

    Acceso remota a datos

    Kb/s

    Altas prestaciones

    Altas prestaciones

    Servidor Web pginas estticas

    Representacin remota

    Kb/s

    Altas prestaciones

    Bajas prestaciones

    Aplicacin Web dinmica

    Representacin remota / Lgca distribuida

    Kb/s

    Altas prestaciones

    Altas prestaciones

  • 21/2/2002Sistemas distribuidos*Ejemplos

    Sistemas distribuidos

    Ejemplo

    Clasificacin

    Ancho de banda

    Mquina cliente

    Mquina servidor

    Correo internet SMTP/POP3

    Aplicacin X 11

    Telnet

    Telnet 5250

    Applet Java que convierte Euros a Pesetas

    Teleproceso bancario

  • 21/2/2002Sistemas distribuidos*Ejemplos

    Sistemas distribuidos

    Ejemplo

    Clasificacin

    Ancho de banda

    Mquina cliente

    Mquina servidor

    Correo internet SMTP/POP3

    BBDD Distribuidas

    Bajo (Kb/s)

    Bajas

    Bajas

    Aplicacin X 11

    Representacin distribuida

    Ancho (Mb/s)

    Bajas

    Altas

    Telnet

    Representacin distribuida

    Bajo (Kb/s)

    Bajas

    Bajas

    Telnet 5250

    Representacin remota

    Bajo (Kb/s)

    Bajas

    Bajas

    Applet Java que convierte Euros a Pesetas

    Ninguna

    Teleproceso bancario

    BBDD Distribuidas

    Bajo (Kb/s)

    Altas

    Altas

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuenta en el proceso de ingenieraProtocolos de comunicaciones:Son ms importantes que la propia arquitectura distribuida o centralizada. Un buen protocolo permite que se pueda pasar, sin un coste adicional de rediseo o codificacin, de una arquitectura centralizada a una distribuida, y viceversa:PipesRPCSQL RemotoHTTPX11Otros

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuentaMiddleware. Es la herramienta o conjunto de herramientas que nos permitiran gestionar y coordinar los mecanismos de comunicacin.Independiza el servicio y su implementacin, del S.O. y protocolos de comunicacionesPermite la convivencia de distintos servicios en una misma mquinaModelo tradicional: Monitor de teleprocesoCICS, Tuxedo, EncinaModelo OO: CORBA

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuentaFase de anlisis:Prcticamente no hay diferencias respecto a un S.I. tradicionalSe debe definir la poltica de empresa: fat client o fat server.Se debe definir el coste en comunicaciones que puede asumir la organizacin.

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuentaFase de diseoEl diseo de entidades, en raras ocasiones se vern stas afectadasAparecern nuevos conjuntos de datos en los DFDs. No se trata de nuevas entidades, sino de informacin que debe viajar entre nodosRespecto al diseo de tablas, se debe especificar su implementacin:Desde qu nodos debe ser accesibleQu nivel de acceso se precisa desde cada uno de ellosCmo implementarlo

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuentaImplementacin BB.DD. DistribuidasNo hay entornos puramente distribuidos. Debe analizarse, tabla a tabla, qu distribuir, qu centralizar y cmo hacerlo:Tabla nicaTablas con rplica simtrica on-lineTablas con rplica simtrica off-line **Tabla maestra ms copias instantneasTabla maestra ms copias instantneas actualizables **Especial atencin a las secuencias !!Especial atencn a los conflictos de rplica (**)

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuentaDiseo de procesosSe debern tener en cuenta, no tan slo los procesos de rplica y su periodicidad, sino el ancho de banda que consuman, mxime si implican tarificacin por paquetes trasnmitidos:Pipes y sockets -> Aproximacin analticaMiddleware -> Informacin a transmitir + Sobrecoste en ancho de banda + Sobrecoste en tiempo de procesoProtocolos propietarios (SQL) -> Recurrir a benchmarks o referencias del fabricanteAnalizados los consumos de ancho de banda y tiempo estimado de proceso, se deber replantear la idoneidad de ubicacin de cada procesoExtremar las pruebas cuando se requiera disear e implementar protocolos de comunicacin

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Aspectos a tener en cuentaFase de pruebas. Debido a la complejidad del sistema, sern necesarias varias fases:Pruebas de funcionalidad de la aplicacin. Se puede llevar a cabo sobre mquinas de desarrollo y estaciones de trabajo de forma paralelaPruebas de carga del servidorPruebas de integridad de datos. Son especialmente importantes en el caso de bases de datos distribuidasPruebas transaccionalesPruebas de red

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Desarrollos WebCaso particular de desarrollo cliente servidor con representacin remota, en la cual disponemos de un protocolo standard: HTTP y un middleware denominado WebServer.Cada pgina puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representacin remota.Se dispone de un lenguaje standard de definicin y formateo de pginas: HTML

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Desarrollos WebIncrustacin de la lgica de aplicacin en el servidor Web:CGI: Common Gateware InterfaceCada peticin HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un resultado. Cada proceso corresponde a una transaccin.Es flexible, ideal para pequeas aplicaciones de uso reducidoNo escala adecuadamentePlug-insCada peticin HTTP es resuelta por el componente adecuada, dentro del mismo proceso del Web-Server.Mejor rendimientoCompromete la seguridad y fiabilidad del servidor WebServidor especializadoFacilidad de desarrolloBuen rendimientoRigidez de configuracin

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Desarrollos WebTipos de plug-insHTML incrustado en cdigoSe centran en la lgicaSon fcilmente de optimizablesEjemplos: servlets, Perl, PythonCdigo incrustado en HTMLSe centran en el interface de usuarioSon fciles de crear y modificarNo requieren grandes formalismosNo necesitan una gran formacinEjemplos: ASP, JSP, PHP

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Desarrollo WebEsquema aplicado a Apache y PHPNavegadorApachePlug-in PHPPrograma ejecutableHTTPParmetrosprocesoBase de datosPgina PHP

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Nuevos tipos de dispositivosDispositivos que acceden hoy a internet:Internet Explorer, Netscape, Set Top Box, Mviles WAP, PDAs Palm Pilot, Windows CE, ...Previsiones para los prximos aos:2.002 el 50% de las transacciones habituales se podrn realizar desde dispositivos mviles2.003 el 80% de los usuarios realizarn algn tipo de transaccin desde dispositivos mviles2.004 los se querrn realizar el 100% de las transacciones desde dispositivos mviles2.005 Se esperan ms de 1.000 millones de usuarios mviles de internet

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Nuevos tipos de dispositivosProblema a resolver:Necesidad de adaptar el interface de usuario a cada tipo de dispositivoMedidas a tomar:Separar la lgica de aplicacin del interface de usuarioUtilizar mtodos estndar de comunicacin entre la lgica de aplicacin y el interface de usuarioUso de herramientas que permitan adaptar rpidamente las aplicaciones a los nuevos tipos de dispositivos que irn apareciendo

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Nuevos tipos de dispositivosTendencia actualNavegadorWeb ServerPginas HTMLServidor AplicacionesLgica de negocioDatosInterface de usuarioGestor comunicacionesUsuarioMvilWAP ServerPginas WMLSQLXML--Wml binariohttp

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Nuevos tipos de dispositivosVariante de los fabricantes BBDDNavegadorWeb ServerPginas HTMLLgica de negocioDatosInterface de usuarioGestor comunicacionesUsuarioMvilWAP ServerPginas WMLXML--Wml binariohttp

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Nuevos tipos de dispositivosVariante de los fabricantes pasarelasNavegadorWeb ServerPginas HTMLLgica de negocioDatosInterface de usuarioGestor comunicacionesUsuarioMvilWAP ServerReglas de traduccin WMLSQL--Wml binariohttpInterface de usuario

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Estndares de mercadoEstrategia JavaNavegadorWeb ServerLgica de negocioDatosGestor comunicacionesUsuarioMvilWAP ServerWml binariohttpInterface de usuarioPginas JSP / Servlets / Java BeansEnterprise Java BeansSQLRMI--

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Estndares de mercadoEstrategia .NETNavegadorWeb ServerLgica de negocioDatosGestor comunicacionesUsuarioMvilWAP ServerWml binariohttpInterface de usuarioPginas ASPOBJECTO COM +SQLXML--Visual Basic

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Problemas no resueltosLa gestin de la sesin de usuario es todava hoy deficiente, debido en parte a la naturaleza del protocolo httpLa maleabilidad del interface de usuario es muy limitada si no se quiere sacrificar la portabilidadLa encadenacin entre pantallas se realiza de forma artesana. Las herramientas no permiten implementar pantallas recursivas ni fcilmente reutilizables

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Estrategia a seguirValorar la durabilidad temporal de las tecnologas a aplicarSeparar, en el diseo e implentacin de la aplicacin, las capas de lgica de aplicacin e interface de usuarioPrestar mucha atencin a los nuevos tipos de dispositivosExaminar con lupa los atajos ofrecidos por los fabricantes

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Costes sistema distribuidoElementos a valorar:Coste de las comunicaciones: Valorar alternativas presentadas por los nuevos proveedores de telecomunicaciones. No descartar el tirar lneas propiasEvaluar el coste adicional en hardware, software y gestin que implica una arquitectura distribuida. Si las comunicaciones lo permiten, saldr ms rentable una arquitectura centralizadaEl impacto de los protocolos de comunicaciones ser vital en el desglose posterior de costes. Se deben dedicar todos los esfuerzos necesarios para evaluar cul es el protocolo ptimo.

    Sistemas distribuidos

  • 21/2/2002Sistemas distribuidos*Costes sistema distribuidoElementos a valorar:Se ha de tener en cuenta que plantear un sistema distribuido implica la aparicin de numerosos problemas que antes no estaban presentes. Estos problemas se deben resolver mediante tecnologa, productos, organizacin y mtodo.Un sistema bien distribuido puede suponer un pequeo ahorro de costes de gestin y mantenimientoUn sistema mal distribuido puede comprometer la validez de la informacin del sistema

    Sistemas distribuidos