José Fernán Martínez    


Sistemas Distribuidos    (TEORÍA - LABORATORIO)

 (Inicio)

OBJETIVOS DOCENTES:

  • Estudiar los aspectos fundamentales de diseño de sistemas distribuidos, y de las tecnologías y arquitecturas que los soportan.

  • Adquirir la capacidad de diseñar y la habilidad de desarrollar objetos distribuidos basados en diferentes tecnologías de comunicación, algunas de ellas específicamente diseñadas para dar soporte a objetos distribuidos, observando las ventajas e inconvenientes que presenta cada tecnología.

  • Mencionar la necesidad de controlar otros aspectos inherentes a los sistemas distribuidos (coordinación temporal, sincronización o fiabilidad).

PROGRAMA:

TEMA 1.-  INTRODUCCIÓN

1.1.- Evolución, definición y características

1.2.- Modelos arquitectónicos. Modelo cliente/servidor

1.3.- Objetos distribuidos

TEMA 2.- OBJETOS DISTRIBUIDOS MEDIANTE MECANISMOS DE COMUNICACIÓN ENTRE PROCESOS.

2.1.- Nivel de transporte

2.1.1.- Descripción, creación, dominios, nombrado, tipos

2.1.2.- Interfaz de socket en lenguaje C

2.1.3.- Uso de TCP/IP en JAVA: Socket

2.1.4.- Objetos distribuidos comunicados mediante TCP/IP

2.2.- RPC/XDR

2.2.1.- Conceptos

2.2.2.- Representación externa de datos XDR

2.2.3.- ONC RPC

2.2.3.1.- Protocolo RPC

2.2.3.2.- Interfaz de un servicio RPC

2.2.3.3.- Lenguaje de descripción de interfaz RPC y generación automática

2.2.3.4.- Servicio de nombres

2.2.4.- Otros aspectos: seguridad, fiabilidad

2.2.5.- Objetos distribuidos comunicados mediante RPC/XDR

TEMA 3.- ARQUITECTURAS PARA OBJETOS DISTRIBUIDOS.

3.1.- RMI

3.1.1.- Características y arquitectura.

3.2.2.- Interfaz de un servicio RMI.

3.2.3.- Servicio de nombres (registro).

3.2.4.- Desarrollo de servicios RMI en JAVA

3.2.- Arquitectura CORBA

3.2.1.- Introducción. Evolución.

3.2.2.- Arquitectura

3.2.2.1.- Objetos CORBA de aplicación

3.2.2.2.- Servicios

3.2.2.3.- Facilidades

3.2.2.4.- ORB

3.2.2.5.- Protocolos entre ORB: GIOP/IIOP

3.2.2.6.- Código generado automáticamente (stub/skeleton). Objetos sirvientes (servant). Objetos referencia

3.2.2.7.- Adaptadores de objetos. POA. Políticas

3.2.3.- Invocación/recepción dinámicas

3.2.4.- Lenguaje de definición de interfaces IDL

3.2.5.- Servicio de nombres.

3.2.6.- Otros detalles de interés (objetos persistentes/temporales,…).

3.2.7.- Construcción de objetos CORBA en JAVA.

TEMA 4.- SERVICIOS WEB: OBJETOS DISTRIBUIDOS MEDIANTE TECNOLOGÍAS WEB.

4.1.- SOAP

4.2.- Introducción a WSDL, XML, UDDI.

4.3.- Construcción de servicios web en JAVA.

PRÁCTICAS DE LABORATORIO:

En las prácticas se intenta, en los casos en que resulta posible, continuar evolucionando las aplicaciones orientadas a objetos construidas en Programación III.

Práctica 1.- Objeto distribuido comunicado mediante TCP/IP

Práctica 2.- Objeto distribuido comunicado mediante RPC

Práctica 3.- Objeto distribuido basado en RMI

Práctica 4.- Objeto distribuido basado en CORBA

Práctica 5.- Servicio Web basado en SOAP

EVALUACIÓN:

Las normas de evaluación de la asignatura serán conformes a la normativa general del Departamento. Las mencionadas normas se harán públicas en los medios correspondientes antes del comienzo del curso académico, una vez que hayan sido aprobadas por el Consejo de Departamento.

Dado el carácter eminentemente práctico de esta asignatura y siguiendo las líneas generales antes citadas, la evaluación de la presente asignatura se matiza en:

1-      Para poder presentarse al examen final de la asignatura,  el laboratorio debe tener la calificación de REALIZADO.

2-      Aquellos estudiantes que no aprueben el examen final de la asignatura, tendrán como NO SUPERADO el laboratorio.

 BIBLIOGRAFÍA:

  • Sistemas distribuidos, conceptos y diseño. G.F.Coulouris, J.Dollimore,T.Kindberg. (Addison-Wesley, 2001 --3ª ed.)

  • Distributed systems S.J.Mullender. (Addison-Wesley, 1993 --2ª ed--)

  • Concurrent programming, principles and practice. G.A.Andrews. (The benjamin/cumming publishing company, 1991).

  • ONC RPC/XDR. http://www.distinct.com/rpc/rpc.htm

  • RMI documentation. http://java.sun.com/products/jdk/rmi/index.html

  • The CORBA reference guide, understanding the Common Object Request Broker Architecture. A.Pope. (Addison-Wesley, 1998)

  • CORBA: documents and specifications. http://www.omg.org/technology/documents.index.htm

  • Client/server programming with JAVA and CORBA.  R.Orfali, D.Harley. (John Wiley & Sons, 1998 --2º edition--).

  • SOAP. http://www.w3.org/TR/soap

  • JAVA distributed computing.  J.Farley. (O'Reilly, 1998)

  • JAVA network programming. E.R.Harold  (Prentice-Hall, 2000 --2ªed--)

  • Transaction processing, concepts and techniques. J.Gray, A.Reuter. (Morgan Kaufman, 1993).

  • Advanced programming in the Unix environment. W.R. Stevens.  (Addison-Wesley, 1992)

PÁGINA WEB:

Acceso al sitio Web de Sistemas Distribuidos 

 (Inicio)


( Página Actualizad por José Fernán Martínez Ortega 25/02/2010 )