Programación de Servicios y Procesos

Módulo de 3 horas semanales.

Contenidos:

  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.