DAM2 Programación de servicios y procesos

Duración: 63 horas.
Profesor: Diego García.

1. Programación multiproceso:

  • Ejecutables. Procesos. Servicios.
  • Estados de un proceso.
  • Hilos.
  • Programación concurrente. Ámbitos de aplicación.
  • Programación paralela y distribuida. Diferencias. Ventajas e inconvenientes.
  • Comunicación entre procesos.
  • Gestión de procesos. Comandos y herramientas.
  • Sincronización entre procesos.
  • Programación de aplicaciones multiproceso.

2. Programación multihilo:

  • Recursos compartidos por los hilos.
  • Estados de un hilo. Cambios de estado.
  • Elementos relacionados con la programación de hilos. Librerías y clases.
  • Gestión de hilos. Creación, inicio y finalización.
  • Mecanismos para la compartición de información entre hilos.
  • Sincronización de hilos.
  • Prioridades de los hilos. Gestión de prioridades.
  • Programación de aplicaciones multihilo.

3. Programación de comunicaciones en red:

  • Comunicación entre aplicaciones. Protocolos estándar de comunicación en red a nivel de red y de transporte.
  • Roles cliente y servidor. Funciones.
  • Elementos de programación de aplicaciones en red. Librerías. Funciones y objetos de las librerías.
  • Sockets. Función, tipos y características.
  • Creación de sockets.
  • Enlazado y establecimiento de conexiones.
  • Utilización de sockets para la transmisión y recepción de información.
  • Programación de aplicaciones cliente y servidor.
  • Utilización de hilos en la programación de aplicaciones en red.

4. Generación de servicios en red:

  • Protocolos estándar de comunicación en red a nivel de aplicación (telnet, ftp, http, pop3, smtp, entre otros).
  • Librerías de clases y componentes. Funciones y objetos de las librerías.
  • Utilización de objetos predefinidos.
  • Establecimiento y finalización de conexiones.
  • Transmisión de información.
  • Programación de aplicaciones cliente.
  • Programación de servidores. Disponibilidad de los servicios.
  • Implementación de comunicaciones simultáneas.

5. Utilización de técnicas de programación segura:

  • Prácticas de programación segura.
  • Criptografía de clave pública y clave privada.
  • Principales aplicaciones de la criptografía.
  • Protocolos criptográficos.
  • Política de seguridad. Control de acceso a las aplicaciones. Usuarios y roles.
  • Programación de mecanismos de control de acceso.
  • Encriptación de información.
  • Protocolos seguros de comunicaciones. Sockets seguros.
  • Programación de aplicaciones con comunicaciones seguras.