SISTEMAS DE INFORMACIÓN DISTRIBUIDOS

PROGRAMA 2005-2006


Centro: ESCUELA POLITÉCNICA SUPERIOR DE ALMERÍA 
Estudios: INGENIERÍA TÉCNICA EN INFORMÁTICA
Asignatura: SISTEMAS DE INFORMACIÓN DISTRIBUIDOS
Ciclo: 1 
Curso: 3 
Cuatrimestre: 2 
Carácter: OPTATIVA 
Créditos teóricos: 3 
Créditos prácticos.: 3 
Profesor: LUIS IRIBARNE (Teoria) y Francisco Dominguez Vega (Practicas)
Area: LENGUAJES Y SISTEMAS INFORMÁTICOS 
_______________________________________________________________________ 
 

PROGRAMA DE TEORÍA

Capítulo 1.  El modelo Cliente/Servidor.
          1.1   Fundamentos de un entorno cliente/servidor.
          1.2   Propiedades de un entorno cliente/servidor.
                    1.2.1  Flexible.
                    1.2.2  Adaptable.
                    1.2.3  Mantenencia.
                    1.2.4  Reutilizable.
                    1.2.5  Inmediato.
                    1.2.6  Interoperable.
                    1.2.7  Escalable.
          1.3  Objetivos de un entorno cliente/servidor.
                    1.3.1  Localización transparente.
                    1.3.2  Recursos compartidos.
                    1.3.3  Escalabilidad de la aplicación.
                    1.3.4  Interoperabilidad.
          1.4  Atributos de una aplicación cliente/servidor.
                    1.4.1  Independencia de funciones.
                    1.4.2  Portabilidad.
                    1.4.3  Operación síncrona/asíncrona.
          1.5  Arquitecturas cliente/servidor.
                    1.5.1  Arquitecturas monolíticas.
                    1.5.2  Arquitecturas a dos niveles (2-tier).
                    1.5.3  Arquitecturas a tres niveles (3-tier).
                    1.5.4  Arquitecturas multinivel (N-tier).
          1.6  Modelos para la distribución de aplicaciones.
                    1.6.1  Presentación distribuida.
                    1.6.2  Datos distribuidos.
                    1.6.3  Funciones distribuidas.
          1.7  Características de un sistema C/S.
          1.8  Sistemas distribuidos abiertos.
          1.9  Normas y recomendaciones de estandarización.
                    1.9.1  El comité ISO/CEI.
                    1.9.2  El comité ITU-T.
                    1.9.3  La organización OMG.
                    1.9.4  El proceso de estandarización.
          1.10  Bibliografía del capítulo.

Capítulo 2. Fundamentos de la programación distribuida.
          2.1  Introducción.
          2.2  Propiedades de los algoritmos distribuidos.
          2.3  Migración de procesos en entornos distribuidos.
          2.4  La técnica RPC (Remote Procedure Call).
                    2.4.1  Ventajas e inconvenientes.
                    2.4.2  La transferencia de control.
                    2.4.3  Transferencia de datos.
          2.5 Tratamiento MCD en un SID.
                    2.5.1  Ventajas de una MCD.
                    2.5.2  Algoritmos de una MCD.
          2.6  Distribución de los datos.
          2.7  El modelo DCE (Distributed Computation Environment).
                    2.7.1  Características del modelo.
                    2.7.2  Los servicios de DCE.
                    2.7.3  El sistema RPC de DCE.
                    2.7.4  El lenguaje de definición de interfaces (IDL) de DCE.
                    2.7.5  Un ejemplo de aplicación basada en DCE.
          2.8  Middleware de un sistema de información distribuido.
                    2.8.1  Message-Oriented Middleware (MOM).
                    2.8.2  Object Request Broker (ORB).
                    2.8.3  Comparativa CORBA, DCOM y RMI.
          2.9  Bibliografía del capítulo.

Capítulo 3. Técnicas para el desarrollo de SID.
          3.1  Introducción.
                    3.2.1  Diseño orientado a objetos.
                    3.2.2  Lenguajes de programación orientados a objetos.
                    3.2.3  CORBA (Common Object Request Broker Architecture).
                    3.2.4  DCOM (Distributed Component Object Model).
                    3.2.5  RMI (Remote Method Invocation).
                    3.2.6  Comparación de CORBA-DCOM-RMI.
          3.3  Tecnología basada en Web.
                    3.3.1  Servidores Web.
                    3.3.2  Active Server Pages (ASP).
                    3.3.3  Java Server Pages (JSP) y Servlets.
                    3.3.4  SGML: XML y Esquemas.
                    3.3.5  Servicios Webs basados en XML: SOAP, UDDI, WSDL y ebXML.
                    3.3.6  CORBA, DCOM y RMI en Web.
          3.4  Ingeniería del software basada en componentes distribuidos.
                    3.4.1  Definición de componente.
                    3.4.2  Interfaces. Definición sintáctica de un componente (IDL).
                    3.4.3  Comportamiento. Definición semática de un componente.
                    3.4.4  Especificación de componentes: comportamiento + protocolos.
                    3.4.5  Protocolos. Interconexión entre componentes.
                    3.4.6  Ingeniería del software basada en componentes para los SID.
          3.5  Caso estudio: microsoft.com.
          3.6  Métodos formales usados para el desarrollo de sistemas SID.
          3.7  Bibliografía del capítulo.

Capítulo 4.  Sistemas Multiagente.
          4.1  Introducción.
          4.2  Sistemas distribuidos vs Sistemas multiagente.
                    4.2.1  La inteligencia artificial distribuida (IAD).
                    4.2.2  Componentes de un SRDP.
                    4.2.3  Los SRDP/SMA en los sistemas de información distribuidos.
                    4.2.4  Algunas propiedades de un SMA.
          4.3  Modalidades de ejecución de los agentes.
                    4.3.1  Modalidad local.
                    4.3.2  Modalidad centralizada.
                    4.3.3  Modalidad descentralizada.
                    4.3.4  Modalidad distribuida.
          4.4  Principios del funcionamiento de un agente.
                    4.4.1  El conocimiento.
                    4.4.2  La experiencia.
          4.5  Campos de aplicación de los agentes.
          4.6  Un ejemplo de un sistema distribuido basado en sistemas de agentes.
                    4.6.1  Descripción del entorno de trabajo del sistema.
                    4.6.2  Arquitectura general del sistema SRDP/SMA.
                    4.6.3  Ciclo de ejecución del sistema.
                    4.6.4  El Espacio de Trabajo (ET).
                    4.6.5  El Generador del plan (GP).
                    4.6.6  El Optimizador del plan (OP). Algoritmo de optimización.
                    4.6.7  El distribuidor de planes.
                    4.6.8  El componente Habilitador de Agentes (HA).
          4.7  Los agentes.
          4.8  Bibliografía del capítulo.
 

PROGRAMA DE PRÁCTICAS

En estas prácticas se introducen a las nociones técnicas básicas para la puesta en marcha de un sistema distribuido que utiliza y aglutina diferentes tecnologías distribuidas, como el servidor web Jakarta, programación Servlet, programación CORBA, intercambio de datos en XML y programación básica en Java. La práctica se compone de cinco módulos guiados por Internet, donde el alumno puede realizar el supuesto práctico con facilidad, adecuado a la carga docente práctica asignada (3 créditos, 30 horas). Consultar en Laboratorio de Prácitcas de Sistemas de Información Distribuidos


NORMAS

La asignatura se contempla como docencia teórico-práctica. Las clases de teoría sirven de apoyo a las clases prácticas. En lo que sigue se exponen las normas de la asignatura:

    1. En las clases de teoría se explicarán conceptos teorico-prácticos directamente relacionados con los ejercicios de prácticas. Estos conceptos se explicarán en teoría y no se volverán a repetir en prácticas.
    2. Las prácticas se pueden hacer individuales o en equipos de dos personas (no más).
    3. Las asistencia a prácticas es obligatoria. Si no se puede asistir será estrictamente por motivos de trabajo, debiendo en tal caso facilitar un justificante firmado del responsable del trabajo. En este caso, el alumno deberá: (a) presentarse al examen oficial de la asignatura y (b) entregar y exponer las prácticas correctamente. La exposición de las practicas para estos alumnos será unos dias antes del examen.
    4. Para aprobar la asignatura es necesario aprobar las prácticas con una nota superior a 5 puntos.
    5. En el caso de prácticas suspensas o no entregadas en la fecha establecida en su momento por el profesor, se seguirán los siguientes criterios.
      • Si el alumno ha asistido durante el curso a las practicas, podrá presentar y exponer las practicas en la siguiente convocatorias (en caso de que decida presentarse). En tal caso, la presentación y exposición ser realizará el mismo dia de la convocatoria oficial de examen. Será necesario presentarse al examen oficial.
      • Para alumnos que no han podido asistir a practicas pero que han justificando debidamente su ausencia por motivos de trabajo, podrán entregar las prácticas en la siguiente convocatoria en las mismas condiciones anteriores.
      • En el caso de alumnos que no han asistido a las prácticas NO se permitirá la entrega de las prácticas en la siguiente convocatoria, debiendo matricularse de nuevo en el curso académico siguiente (si desean obtener los créditos de esta asignatura).
    6. Las tres mejores prácticas (equipos o individuales) recibirán una bonificación de 1, 0.75 y 0.5 puntos sobre la nota final.
    7. Prevalecerán las mejores actividades (teorico-prácticas) individuales a las realizadas por equipo (si las hubiere).
    8. A lo largo del cuatrimestre en clase de teoria se propondrán pruebas de seguimiento (en casa). Estas pruebas tendrán caracter obligatorio para todos los alumnos. La entrega y devolución de estas pruebas se establecerán por el profesor a lo largo del curso.
    9. Las pruebas de seguimiento serán individuales.
    10. Un alumno podrá superar la asignatura aprobando las prácticas y las pruebas de seguimiento.
    11. Los alumnos suspensos o no presentados en la convocatoria, y que deseen presentarse en la siguiente, deberán entgregar todos las pruebas de seguimiento propuestas a lo largo del cuatrimestre, y cumplir los requisitos 4 y 5.
    12. La asignatura se complementa fuertemente con el recurso de Aula Virtual como apoyo a la docencia. Este sitio web está disponible para todos los alumnos y es accesible a partir del momento de matriculación en esta asignatura.
    13. Debe existir un compromiso por parte del alumno en hacer uso del aula virtual, desde donde existirá una comunicación directa alumno-profesor, ademas de las tutorias y clases presenciales.
    14. Se pide al alumno que haga uso de este recurso web. El contacto por correo con el profesor se realizará a través del correo del aula virtual, y no desde el correo personal de éste (no garantizandose una respuesta en tal caso).
    15. Se pide al alumno que haga uso del FORO y CHAT para la comunicación con otros alumnos para debatir, exponer dudas, conceptos o inquietudes que no han quedado claras en las clases de teoria o de prácticas.

BIBLIOGRAFÍA

Bibliografía básica

  • L. Iribarne y R. Ayala. (2002) Sistemas de Informacion Distribuidos. Servicio de Publicaciones de la Universidad de Almería. ISBN:  84-8240-522-5.
  • G. Coulouris, J. Dollimore and T. Kindberg. (2003) Sistemas Distribuidos. 3ra edición. Addison Wesley. ISBN: 84-7829-049-4.
  • A.S. Tanenbaum and M. Van Steen. (2001) Distributed Systems. Principles and Paradigms. Prentice-Hall. ISBN: 0130888931.

Bibliografía complementatia

  • V. Chopra et al. (2001) Professional XML Web Service. Wrox Press Inc. ISBN: 1861005091.
  • A. Griffith. (2002) Java, XML and JAXP. Wiley. ISBN: 0-471-20907-4.
  • M. Floyd. (2000) Creación de sitios web con XML. Prentice Hall. ISBN: 84-8322-259-0.
  • H. Maruyama, K. Tamura, N. Uramoto. (2000) Creación de sitios web con XML y Java. Prentice Hall. ISBN: 84-8322-242-6.
  • J. Heaton. (2002) Programming Spiders, Bots and Aggregators in Java. Sybex International. ISBN: 0782140408.
  • R. Orfali, D. Harkey and J. Edwards. (2000) Cliente/Servidor: Guía de supervivencia, 2da edición. McGraw-Hill. ISBN: 9701017609.
  • G. Glass. (2001) Web Services: Building Blocks for Distributed Systems. ISBN: 0130662569.


© Luis Iribarne, 2006
Departamento de Lenguajes y Computación
Universidad de Almería (Spain)

Design for 1024 x 768 resolutions

Valid HTML 4.01 Transitional