Juan Pavón Mestras
Departamento de Sistemas Informáticos y Programación
Universidad Complutense de Madrid
jpavon@sip.ucm.es
Objetivos
La proliferación de servicios de información ofrecidos sobre redes de comunicación, ha hecho que los aspectos de computación distribuida sean cada vez más importantes. La elección de un modelo de software distribuido, y la plataforma de desarrollo e implantación asociada, tendrá una gran relevancia en la productividad y eficacia de la solución implantada.
Este curso pretende introducir al alumno en la programación de sistemas distribuidos de acuerdo a arquitecturas de tipo cliente-servidor. Se trata de ver distintos modos de distribuir el software y para ello se plantean modelos basados en comunicaciones mediante sockets, RPC, CORBA y Java RMI, y también de ejecución remota, representado por los paradigmas de Java y agentes móviles. Al final, se discute la idoneidad de cada uno de estos planteamientos para la resolución de los problemas que plantea la creación, implantación y gestión de nuevos servicios distribuidos en redes tanto corporativas como públicas (por ejemplo, Internet).
Conceptos fundamentales a tratar son el nivel de acoplamiento entre componentes de un programa distribuido, la importancia de la fiabilidad y la seguridad, las restricciones de tiempo real, y otros factores que determinan la calidad del sistema distribuido tales como escalabilidad y extensibilidad. Se considerarán también los aspectos de ingeniería de software asociados, tales como la reusabilidad de los componentes en un entorno distribuido.
Asimismo, se procurará información sobre la disponibilidad de determinados entornos de desarrollo comerciales y de libre distribución, para la realización de aplicaciones en sistemas distribuidos, especialmente utilizando CORBA y Java.
Contenido
Se pretende que el curso tenga un carácter eminentemente práctico. Por ello se ha elegido utilizar un lenguaje de programación de fácil instalación y utilización como es Java, que permite realizar ejercicios de programación con sockets, invocación de métodos remota (RMI), y CORBA.
La estructura del curso es la siguiente:
Para sacar el máximo provecho al curso es muy recomendable tener conocimientos y experiencia en programación. El conocimiento de un lenguaje orientado a objetos como C++ o Java será de gran ayuda.
También es conveniente un conocimiento básico de la arquitectura y protocolos utilizados en Internet, especialmente TCP/IP.
El disertante
Juan Pavón Mestras obtuvo el grado de Doctor en Informática por la Universidad Politécnica de Madrid en 1988, y desde 1997 es Profesor Titular del Departamento de Sistemas Informáticos y Programación de la Universidad Complutense de Madrid. Ha trabajado durante diez años en empresas del sector de las telecomunicaciones en España (Alcatel SESA), Estados Unidos (Bellcore), y Francia (Alcatel CIT), especialmente en el desarrollo de arquitecturas de sistemas distribuidos y servicios multimedia sobre redes de banda ancha.
Sus líneas de investigación actuales son el desarrollo de herramientas de ayuda al diseño y programación en CORBA, patrones de diseño orientado a objetos en aplicaciones distribuidas, y sistemas de agentes móviles.
Juan Pavón Mestras es co-editor de las revistas IEEE Communication Surveys y del Journal of Networks and Systems Management. Tiene varias publicaciones en revistas de IEEE y ACM. Ha impartido 2 tutoriales sobre TINA en congresos de IFIP/IEEE, y presentado alrededor de 20 artículos en congresos internacionales. Es miembro de ACM.
Este curso se dictará en castellano