Volver
|
Escuela Técnica Superior de Informática
Universidad Autónoma de Madrid
Sistemas Informáticos II
Temario detallado de la asignatura
Tema 1. Introducción a los sistemas Cliente / Servidor
- ¿Qué son los sistemas Cliente / Servidor? Características básicas.
- Modelos de aplicaciones Cliente / Servidor: Clientes Pesados, Servidores
Pesados, Aplicaciones 2-tier, 3-tier, n-tier.
- Clientes. Modelos de clientes.
- Servidores. Tipos de servidores.
- Middleware. Definición y estructura.
- Tipos principales de servidores en sistemas Cliente / Servidor.
- Modelos de sistemas Cliente / Servidor, atendiendo a la distribución de
los módulos clientes, servidores y middleware.
Tema 2. Soporte de comunicaciones en sistemas Cliente / Servidor
- Network Operating System, NOS. Funciones y modo de operación.
Transparencia.
- Elementos del NOS. Breve descripción de cada uno de ellos.
- Comunicación Peer-to-Peer. Enumerar algunas interfaces de
programación y dar las características básicas de cada una.
- Comunicación Peer-to-Peer mediante sockets. Servicios
orientados a conexión y no orientados a conexión.
- Remote Procedure Calls (RPC). Descripción del esquema de proceso de
una llamada RPC.
- Problemas de transparencia en Remote Procedure Calls (RPC).
- Comunicación entre procesos mediante colas de mensajes. Características,
modelos y entornos en los que es adecuado.
- Elementos básicos y estructura de un gestor de colas.
- Principales tipos de colas definidas por MQSeries. Breve descripción y
aplicación práctica.
- Descripción del proceso de envío de mensajes entre dos sistemas
comunicados mediante gestores de colas de mensajes.
- Comparación entre los procedimientos de comunicación entre procesos
mediante colas de mensajes y RPCs.
- Servicios de directorio del NOS. Uso, estructuras y breve descripción de
estándares.
- Servicios de tiempo del NOS.
- Cifrado con algoritmos de clave secreta. Intercambio seguro de claves.
- Cifrado con algoritmos de clave pública. Descripción del método.
- Reconocimiento de la identidad de usuarios empleando algoritmos de cifrado
de clave pública.
- Firma digital. Generación y empleo como autenticación de documentos.
- Certificados digitales.
- Funcionamiento básico de Kerberos.
Tema 3. Diseño de sistemas Cliente / Servidor
- Metodología de desarrollo de aplicaciones Cliente / Servidor. Proceso,
modelos, técnicas.
- Localización de los datos en sistemas Cliente / Servidor. Estrategias de
distribución.
- Modelización. Intensidad de tráfico y factor de servicio. Teorema de
Little. Diagrama genérico de un sistema de colas.
- Procesos de Poisson.
- Modelo M/M/1.
- Modelo M/M/m.
- Modelo M/M/m/m.
- Modelo M/M/1/m.
- Aproximación a distribuciones exponenciales.
- Redes de colas.
- Rendimiento de una red.
- Disponibilidad. Definición, método de estimación y parámetros empleados en
su evaluación.
- Fiabilidad. Tasa de fallos.
- Fallos en equipos físicos y en programas. Modelos, similitudes y
diferencias.
- Mantenibilidad.
- Disponibilidad en asociaciones de componentes (serie, paralelo). Diagramas
de disponibilidad.
- Mecanismos para mejorar la disponibilidad de un sistema.
Tema 4. Servidores de transacciones
- Invariantes de un sistema y estados consistentes. Ejemplos.
- Definición de transacciones. Distintos enfoques.
- Tipos de acciones ejecutables en una transacción. Reglas para su
ejecución.
- Propiedades de las transacciones.
- Transacciones planas, en pasos y distribuidas. Características.
- Limitaciones transacciones planas. Modelos alternativos para su solución.
- Elementos de un sistema de proceso transaccional. Descripción básica de
cada uno de ellos y sus funciones.
- Operativa detallada Two-Phase Commit.
- Clientes en un sistema de proceso transaccional. Distintos modelos.
- Monitores TP. Descripción y características principales. Arquitecturas.
- Implementación de la gestión de procesos en Monitores TP.
- RPCs transaccionales. Comparación con RPCs tradicionales y extensiones que
ofrecen sobre ellos. Ejemplo de operación.
- Aislamiento. Definiciones y leyes básicas para el control de la
concurrencia.
- Relaciones de dependencia entre transacciones. Formas de dependencias
entre transacciones.
- Tipos de violaciones del aislamiento y relaciones de dependencia entre las
transacciones afectadas.
- Bloqueo (Lock). Transacciones bien formadas y en dos fases.
Ejemplos.
- Historias legales. Historias equivalentes e historias aisladas. Ejemplos.
- Enunciar los teoremas de la concurrencia. Conclusiones que se derivan de
ellos.
- Grados de aislamiento. Comparación de las funcionalidades que cubre cada
uno de ellos.
- Abrazo mortal (Deadlock). Detección por grafo de esperas. Ejemplo.
- Estándares en gestión de transacciones. El modelo X/Open DTP.
Tema 5. Servidores de bases de datos
- Definir los conceptos Data Base, Relational Data Base, Data Base
Management System, Relational Data Base Manager System, Structured Query
Language. Explicar sus relaciones.
- Distintas arquitecturas DBMS: Descripción, características y ventajas e
inconvenientes de cada una.
- Arquitectura de un sistema Cliente / Servidor modelo DBMS. Componentes y
protocolos.
- Tipos básicos de APIs para DBMS. Describir sus características,
compararlos y nombrar algunos de los estándares más utilizados.
- Formats and Protocols (FAPs) en DBMS. Qué son, interoperabilidad de
DBMS mediante FAP común. Nombrar algunos de los estándares más utilizados.
- Niveles de operaciones definidos por la arquitectura Distributed
Relational Data Access, DRDA
- Procedimientos almacenados, disparadores y reglas: Qué son, modo de
funcionamiento, tipos y comparación con las llamadas SQL remotas.
- Proceso de transacciones ligero (TP-Lite). Su comparación con el
proceso de transacciones tradicional o pesado (TP-Heavy).
- Comparar las características de los métodos de programación de
aplicaciones DBMS basados en APIs en el cliente con los procedimientos
almacenados en el servidor.
- Gestores de bases de datos distribuidas. Clasificación y modelos de los
utilizados más frecuentemente.
- Data Warehouse. Definición, estructura de los sistemas, descripción
de sus componentes. Proceso de replicación de los datos y modelos del mismo.
- Bases de datos multidimensionales. Concepto y usos.
Tema 6. Servidores de trabajo en grupo (Groupware)
- Definición de Groupware. Comparación con sistemas DMBS.
- Enumerar los principales componentes de un sistema Groupware y dar
una breve descripción de los mismos.
- Gestión de flujo de trabajo en los sistemas Groupware: En qué se
basan, beneficios.
- Gestión de flujo de trabajo en los sistemas Groupware: Modelos,
rutas de flujos de trabajo, distribuciones y uniones.
- Gestión de flujo de trabajo en los sistemas Groupware:
Funcionamiento del sistema y modelos de proceso.
- Gestión de flujo de trabajo en los sistemas Groupware: Workflow
Management Coalition, WfMC. Procesos API que define.
- Correo electrónico en los sistemas Groupware. Estructura. Enumerar
algunos estándares y dar alguna de sus características básicas.
Tema 7. Objetos distribuidos
- Similitudes entre los paradigmas Cliente / Servidor y Programación
Orientada a Objetos.
- Modelo de referencia de la Object Management Architecture.
Definición de los elementos que lo componen.
- Nombrar y describir algunos de los Common Object Services
especificados en la Object Management Architecture.
- Nombrar y describir algunas de las Common Facilities especificadas
en la Object Management Architecture.
- Nombrar y describir algunos de los Domain Interfaces especificados
en la Object Management Architecture.
- Object Frameworks: Descripción y estructura.
- Common Object Request Broker Architecture (CORBA). Estructura y
descripción básica de los elementos que la componen.
- Interfaces de cliente en la Common Object Request Broker Architecture
(CORBA) y elementos de la arquitectura asociados con ella.
- Interfaces de servidor en la Common Object Request Broker Architecture
(CORBA) y elementos de la arquitectura asociados con ella.
- Protocolos Inter-ORB en la Common Object Request Broker Architecture
(CORBA).
- Proceso de invocación estática de objetos CORBA.
- Proceso de invocación dinámica de objetos CORBA.
- Proceso de inicialización de un objeto CORBA.
- Arquitectura DCOM.
Tema 8. Sistemas Cliente-Servidor en Internet
- La World Wide Web. Funcionamiento básico Web hipertexto.
- Uniform Resource Locator, URL: Uso, estructura y diferentes formas.
- Hypertext Transfer Protocol, HTTP: Estructura de mensajes.
- Standar Generalized Markup Language, SGML: Descripción y
características.
- Hypertext Markup Language, HTML: Estructura de un documento y
sintaxis del lenguaje.
- Funcionamiento básico Web Interactivo.
- Common Gateway Interface, CGI: Definición y métodos de comunicación
entre servidor Web y programas,
- Ventajas e inconvenientes CGI. Mejoras con Web Application Programming
Interfaces e interfaces híbridas.
- Funcionamiento básico Web orientado a objetos: Modelo
cliente-servidor.
- Modelo de programación Java en el servidor: Servlets.
- Modelo de programación Java en el servidor: Java Server Pages
- Enterprise Java Beans.
- Servidores de aplicaciones en World Wide Web.
- Modelo de arquitectura de aplicaciones Web.
Bibliografía
Bibliografía general:
- ORFALI, R., HARKEY, D. y EDWARDS, J., The Essential Client/Server
Survival Guide, Willey, 1999. 3ª ed.
- RENAUD, P., Introduction to Client / Server Systems: A Practical Guide
for Systems Professionals, John Wiley, 1996. 2ª ed.
- TANENBAUM, A., Distributed Systems, Prentice Hall, 2002.
Tema 2:
- TANENBAUM, A., Computer Networks, Prentice-Hall, 1996. 3ª ed.
- STEVENS, R., Unix Network Programming, Prentice-Hall, 1999. 2ª ed.
- BLAKELEY, B., Message & Queuing Using the MQI: Concepts, Analysis,
Design & Implementation, McGraw-Hill, 1995.
Tema 3:
- BERTSEKAS, D. y GALLAGER, R., Data Networks, Upper Saddle River
(NJ), Prentice-Hall, 1992. 2ª ed.
- GROSS, D. y HARRIS, C.M., Fundamentals of Queuing Theory, Wiley,
1998. 3ª Ed.
- KLEINROCK, L., Queuing Systems: Theory, New York, Wiley, 1975.
- KLEINROCK, L., Queuing Systems: Computer applications, New York,
Wiley, 1976.
- LEON-GARCÍA, A, Probability and Random Processes for Electrical
Engineering, Reading (MA), Addison-Wesley, 1994.
- MUSA, J.D., IANNINO, A. y OKUMOTO, K., Software Reliability.
Measurement, Prediction, Application, New York, McGraw-Hill, 1987.
- PAPOULIS, A. y PILLAI, U., Probability, Random Variables and Stocastic
Processes, McGraw-Hill, 2002. 4ª ed.
- Reliasoft, System Reliability Theory & Principles Reference, http://www.weibull.com/systemrelwebcontents.htm
- TANENBAUM, A., Computer Networks, Prentice-Hall, 1984. 2ª ed.
- TANENBAUM, A., Computer Networks, Prentice-Hall, 1996. 3ª ed.
- TANNER, M., Practical Queueing Analysis, McGraw-Hill, 1995.
Tema 4:
- GRAY, J. y REUTER, A., Transaction Processing Concepts and
Techniques, Morgan Kaufmann, 1993.
Tema 5:
- TAMMER, M. y VALDURIEZ, P., Principles of Distributed Database
Systems, Prentice-Hall, 1991.
Tema 7:
- OMG, A Discussion on the Object Management Architecture, Object
Management Group, 1997. (http://www.omg.org/docs/formal/00-06-41.pdf).
- OMG, The Common Object Request Broker Architecture and
Specification, Object Management Group, 1997. Rev. 2.1. (ftp://ftp.omg.org/pub/docs/formal/97-09-01.pdf.gz).
- ORFALI, R., HARKEY, D. y EDWARDS, J., Instant Corba, Wiley, 1997.
- SIEGEL, J., CORBA: Fundamentals and Programming, Wiley, 1996.
- POPE, A.L., The CORBA Reference Guide, Addison-Wesley, 1998.
Tema 8: