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:
- 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.
- Las
prácticas se pueden hacer individuales o en equipos de dos
personas (no más).
- 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.
- Para
aprobar la asignatura es necesario aprobar las prácticas con una
nota superior a 5 puntos.
- 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).
- 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.
- Prevalecerán las mejores actividades
(teorico-prácticas) individuales a las realizadas por equipo (si
las hubiere).
- 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.
- Las
pruebas de seguimiento serán individuales.
- Un
alumno podrá superar la asignatura aprobando las
prácticas y las pruebas de seguimiento.
- 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.
- 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.
- 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.
- 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).
- 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