13
DISCA / UPV Departament d’Informàtica de Sistemes i Computadors Universitat Politècnica de València Joan Vila Diseño y Aplicaciones de Sistemas Distribuidos Programa de la asignatura

DyA de Sistemas Distribuidos

  • Upload
    lamdang

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DyA de Sistemas Distribuidos

DISCA / UPV Departament d’Informàtica de Sistemes i Computadors

Universitat Politècnica de València

Joan Vila

Diseño y Aplicaciones deSistemas Distribuidos

Programa de la asignatura

Page 2: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

2

DYA de Sistemas Distribuidos

Profesorado– Este curso ha sido preparado por:

Joan Vila i Carbó– Catedrático de Universidad– Área de Arquitectura y Tecnología de Computadores

José Simó Ten– Profesor Titular de Universidad– Área de Arquitectura y Tecnología de Computadores

Page 3: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

3

DYA de Sistemas Distribuidos

Objetivos– Conocer y adquirir destreza en los entornos y herramientas actuales para

desarrollo de aplicaciones distribuidas. Java, CORBA, XML, SOAP

– Proporcionar la capacidad para el diseño de aplicaciones distribuidas, describiendo los compromisos más notables. Escalabilidad, Seguridad, Movilidad de código...

– Conocer las arquitecturas que dan soporte a las aplicaciones distribuidas. Middleware, Servicios Web

Page 4: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

4

DYA de Sistemas Distribuidos

Programa de teoría

– 1.- Introducción / Introducción a Java 2

– 2.- Comunicación (I): del C/S al modelo de objetos 3

– 3.- Comunicación (II): grupos 1

– 4.- Tecnologías web 3

– 5.- Seguridad 2– 6.- Replicación y caching 1

– Proyecto Final 1

Sesionesde teoría

Page 5: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

5

DYA de Sistemas Distribuidos

Contenidos

1. Introducción Conceptos básicos Evolución de las arquitecturas Java Básico (pr1)

2. Comunicación (i): del C/S al modelo de objetos

Comunicación C/S RPC’s El modelo de objetos distribuido

Sockets en Java (pr2) Java-RMI (pr3) CORBA (pr4)

3. Comunicación (ii):grupos

Gestión de componentes de un grupo Protocolos de difusión

Sockets multicast (pr5)

4. Tecnología web HTTP, HTML, XML Estructura de las aplicaciones web. CGI’s Servicios web

Applets (pr6) Servlets (pr7) SOAP (pr8)

5. Seguridad Criptografía Firmas digitales Protocolo SSL

Firmas digitales en Java y stunnel (pr9)

6. Replicación y caching Replicación vs caching Seriabilidad vs corrreción DNS

Tema Teoría Herramientas prácticas

Page 6: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

6

Programa de prácticas

Parte I: Java y CORBA (5/6 sesiones)– P1: Hola Java!

Clases, objetos, interfaces, threads

– P2: La aplicación echo con sockets Sockets y Threads

– P3: La aplicación echo con RMI RMI (2 partes: paso por referencia, paso por valor)

– P4: La aplicación echo con CORBA Clases CORBA en Java. Servicio de nombres

– P5: Difusión a grupos Sockets multicast. Serialización de objetos Gestión de grupos Esqueleto para el proyecto final

Page 7: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

7

Programa de prácticas

Parte II: Java y la web (4 sesiones)– P6: Un cliente de echo con Applets

Applets– P7: Un servidor de echo con Servlets

Clases CORBA en Java– P8: Servicios Web

SOAP, Axis– P9: Seguridad

Firmas digitales en Java, stunnel

Page 8: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

8

Programa de prácticas

Parte III: Proyecto final 1 (4 sesiones)– Diseño de una aplicación distribuida en Java

La agencia de robots

Page 9: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

9

Programa de prácticas

Parte III: Proyecto final 2 (4 sesiones)– Diseño de una aplicación distribuida en Java

Monitor para control de tráfico aéreo

Simuladorde

escenarios

MonitorRadar Procesamiento

Page 10: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

10

Bibliografia

M. L. Liu– Computación Distribuida. Fundamentos y Aplicaciones.

– Pearson/ Addison Wesley

G. Coulouris, J. Dollimore, T. Kindberg– Distributed Systems. Concepts and Design

– Addison Wesley, 3ª edición.

W. Emmerich– Enginnering Distributed Objects

– Wiley 2000.

M. Campione, K. Walrath– The Java Tutorial: Object Oriented Programming for the Internet (Tomo 2)

– Addison Wesley Java Series, 3ª edición.

– http://java.sun.com

Page 11: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

11

Software de prácticas

Eclipse IDE for Java EE Developers (162 MB) v3.4 (Ganymede)

– Linux, Windows, Mac OS X

– http://www.eclipse.org

Plugins eclipse– RMI plugin de Genady

http://www.genady.net/rmi/v20

– CORBA plugin ORB Studio 7 http://www.orbzone.com

– VE: Visual Editor http://www.soyatec.org/update/Ganymede/org.eclipse.ve_1.4.0.v20080528.zip

– WTP: Web Tool Platforms (incluido en IDE Java EE) Axis (SOAP), Jakarta Tomcat, Xerces (parser XML)

– FatJar plugin http://fjep.sourceforge.net

Page 12: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

12

Software de prácticas

Documentación Java de Sun– API: JSDK 1.5.x-doc

– Tutorial

Soporte CORBA– ORBStudio

Page 13: DyA de Sistemas Distribuidos

DYA

Dis

eño

Y A

plic

acio

nes

de

Sist

emas

Dis

trib

uido

s

13

Recursos de la asignatura

Curso OCW de la asignatura:– Los siguientes recursos están disponibles:

Presentación de la asignatura (pdf) Teoría

– Presentaciones/apuntes (pdf) Prácticas

– Boletín de prácticas (pdf)– Enunciados de prácticas en línea (pdf)– Ficheros de apoyo a las prácticas (zip)

Software y manuales– Manuales en línea– Descargas de software– Enlaces a software