Sunteți pe pagina 1din 14

El Tao de la

programacin distribuida

Da y noche, luz y sombra


Todo junto, todo separado
Algoritmo y comunicacin
Programa por partes, ensambla despus

Da y Noche

Dividid el problema en tareas o etapas

Comunicacin RMI entre dos procesos

Algoritmo en una nica mquina

Combinacin de algoritmo y RMI en 2 mquinas

Paso a 3 mquinas, depuracin de errores o


situaciones imprevistas o rebuscadas

Todo lleva su tiempo


Planifica

Todo lleva su tiempo

Las prcticas en entornos distribuidos llevan su


tiempo
Parte fundamental del trabajo de un ingeniero
es aprender a planificar

Dejarlo para la ltima semana no es planificar


Probarlo en casa y dejar las pruebas en el
laboratorio para el ltimo da no es planificar
Programar por corazonadas o impulsos no es
planificar

Acepta tus errores y aprende de ellos


Lee las excepciones, asla los errores

Acepta tus errores

Las excepciones en Java son muy descriptivas

En Internet hay mil foros con tu excepcin favorita

En el FAQ vamos poniendo las ms frecuentes

En shell, los errores pueden ser ms crpticos

Probar las rdenes una por una antes de hacer


scripts

Siempre que haya un error raro:

Aislarlo hasta comprender perfectamente qu falla,


cundo y dnde.

Es fcil meditar en lo alto de la montaa


Pero para entender el mundo tambin debes
bajar a la bulliciosa ciudad

Es cmodo programar en tu porttil


La maestra llega si programas en cualquier sitio

Bajar a la bulliciosa ciudad

En casa funcionaba no es una excusa

Tu casa es un entorno cerrado, con una


configuracin conocida y trfico generalmente bajo
Un sistema distribuido debe amoldarse a la
configuracin de red real disponible
Tambin debe ser tolerante a las distintas
situaciones que se dan en redes reales

Cambios de componentes, trfico alto, mquinas con


distintas velocidades, bugs ...

Disfrutar del mundo es una bendicin


Despedirse de l tambin

Arrancar procesos es fcil


kill -9 tambin

Salir del mundo

Los recursos del aula son limitados

No lo dejes todo para el ltimo da


Finaliza ordenadamente todos tus procesos con
cada ejecucin
No utilices ms ordenadores de los necesarios

No programes en distribuido hasta que no tengas el


algoritmo funcionando decentemente en local
Una vez lo tengas, prueba la comunicacin slo con dos
ordenadores
Luego prueba el algoritmo con dos en distintas
situaciones
Por ltimo, haz las pruebas finales con tres

Todo vuelve a nacer


Reutiliza

Todo vuelve a nacer

La comunicacin va RMI es exactamente igual


en todas las prcticas
Muchos conceptos (sincronizacin, espera
ocupada, seccin crtica, paso de mensajes) se
repiten
Si esta vez no ha salido, se pueden volver a
entregar en 2 convocatoria antes de la fecha
del examen de recuperacin

Inspirado por The Tao of Programming de


Geoffrey James (1987)

http://en.wikipedia.org/wiki/The_Tao_of_Programming

S-ar putea să vă placă și