IFC_B_0490 Programación de servicios y procesos

140 Horas
ONLINE
El desarrollo de software moderno exige dominar la ejecución simultánea de procesos e hilos para construir aplicaciones eficientes y escalables. Con este Certificado de Competencia aprenderás a programar aplicaciones multiproceso y multihilo, a gestionar mecanismos de comunicación entre procesos y a aplicar las librerías específicas de los lenguajes de programación más demandados. Adquirirás las competencias técnicas que el mercado tecnológico busca en perfiles especializados en programación de sistemas y servicios de alto rendimiento. Da el paso que necesitas para consolidarte como profesional del desarrollo de software avanzado.
IFC_B_0490 Programación de servicios y procesos Ampliar
GR_450254-2601

UNIDAD DIDÁCTICA 1. PROGRAMACIÓN MULTIPROCESO

  1. Conceptos de ejecutables, procesos y servicios
  2. Estados de un proceso y su ciclo de vida
  3. Planificación de procesos por el sistema operativo
  4. Diferencias entre programación concurrente, paralela y distribuida
  5. Concepto de hilo de ejecución y relación con el proceso
  6. Herramientas de monitorización y gestión de procesos
  7. Clases y métodos para la creación de subprocesos
  8. Comunicación e intercambio de información entre procesos
  9. Sincronización entre procesos
  10. Obtención del valor devuelto por los subprocesos
  11. Programación de aplicaciones multiproceso
  12. Prueba y depuración de aplicaciones multiproceso
  13. Documentación de aplicaciones multiproceso

UNIDAD DIDÁCTICA 2. PROGRAMACIÓN MULTIHILO

  1. Contexto de ejecución de los hilos
  2. Identificación de escenarios para el uso de hilos
  3. Librerías y clases para la programación multihilo
  4. Creación, inicio y finalización de hilos
  5. Estados de un hilo y transiciones de estado
  6. Gestión y control de hilos de ejecución
  7. Establecimiento y control de prioridades entre hilos
  8. Compartición de información y recursos entre hilos
  9. Problemas derivados de la compartición de información
  10. Mecanismos de exclusión mutua y bloqueos
  11. Técnicas avanzadas de sincronización de hilos
  12. Programación de aplicaciones multihilo complejas
  13. Patrones de diseño multihilo (Productores-Consumidores)
  14. Depuración de problemas de concurrencia
  15. Documentación de aplicaciones concurrentes

UNIDAD DIDÁCTICA 3. PROGRAMACIÓN DE MECANISMOS DE COMUNICACIONES

  1. Modelos de comunicación entre aplicaciones
  2. Arquitectura de aplicaciones distribuidas
  3. Definición de los roles cliente y servidor
  4. Librerías y clases para la comunicación en red
  5. Concepto de socket, tipos y características
  6. Creación y configuración de sockets
  7. Enlazado de sockets y establecimiento de conexiones
  8. Transmisión de información mediante sockets
  9. Recepción de información mediante sockets
  10. Desarrollo de aplicaciones cliente
  11. Desarrollo de aplicaciones servidor
  12. Implementación de comunicaciones simultáneas mediante hilos
  13. Depuración y prueba de aplicaciones en red

UNIDAD DIDÁCTICA 4. PROGRAMACIÓN DE SERVICIOS DE RED

  1. Protocolos estándar de comunicación en red
  2. Ventajas de la utilización de protocolos estándar
  3. Conceptos fundamentales de servicios web
  4. Librerías de clases y componentes para servicios de red
  5. Programación y configuración de servidores
  6. Mecanismos de establecimiento de conexiones
  7. Procesamiento y transmisión de información en el servicio
  8. Cierre y finalización de conexiones
  9. Implementación de comunicaciones simultáneas
  10. Gestión de peticiones concurrentes en el servidor
  11. Creación y uso de aplicaciones clientes para el servicio
  12. Herramientas y técnicas de monitorización del servicio
  13. Evaluación y verificación de la disponibilidad del servicio
  14. Identificación y resolución de cuellos de botella
  15. Depuración y documentación del servicio en red

UNIDAD DIDÁCTICA 5. TÉCNICAS DE PROGRAMACIÓN SEGURA

  1. Identificación de vulnerabilidades en el desarrollo de software
  2. Principios y prácticas de programación segura
  3. Conceptos básicos de criptografía y sus aplicaciones
  4. Criptografía de clave pública y clave privada
  5. Algoritmos hash y firmas digitales
  6. Principales protocolos criptográficos
  7. Definición e implantación de políticas de seguridad
  8. Esquemas de seguridad basados en roles
  9. Programación de mecanismos de control de acceso
  10. Encriptación y protección de información almacenada
  11. Protocolos seguros de comunicaciones (SSL/TLS)
  12. Métodos para asegurar la información transmitida en red
  13. Desarrollo de aplicaciones con comunicaciones seguras
  14. Pruebas de seguridad y auditoría de código
  15. Depuración y documentación de medidas de seguridad
  • Duración: 140 horas