Contenidos
Módulo 0490: Programación de servicios y procesos
Duración 80 horas
B1. Programación multiproceso:
- Ejecutables. Procesos. Servicios.
- Estados de un proceso. Planificación de procesos.
- Hilos.
- Programación concurrente.
- Programación paralela y distribuida.
- Comunicación entre procesos.
- Gestión de procesos. Herramientas de monitorización.
- Sincronización entre procesos.
- Programación de aplicaciones multiproceso.
B2. Programación multihilo:
- Contexto de ejecución de los hilos. Recursos compartidos.
- Estados de un hilo. Cambios de estado.
- Librerías y clases.
- Gestión de hilos. Prioridades.
- Sincronización de hilos.
- Compartición de información entre hilos. Problemas.
- Programación de aplicaciones multihilo.
B3. Programación de comunicaciones en red:
- Comunicación entre aplicaciones. Modelos.
- Roles cliente y servidor.
- Librerías y clases.
- Sockets. Tipos. 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 para la implementación de comunicaciones simultáneas con el servidor.
B4. Generación de servicios en red:
- Protocolos estándar de comunicación en red a nivel de aplicación. Ventajas de su utilización.
- Servicios web.
- Librerías de clases y componentes.
- Programación de servidores.
- Establecimiento y finalización de conexiones.
- Transmisión de información.
- Implementación de comunicaciones simultáneas.
- Utilización de aplicaciones clientes.
- Monitorización del servicio. Herramientas.
B5. 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. Roles.
- Programación de mecanismos de control de acceso.
- Encriptación de información.
- Protocolos seguros de comunicaciones.
- Programación de aplicaciones con comunicaciones seguras.
Resultados de aprendizaje (RA)
- RA1. Desarrolla aplicaciones compuestas por varios procesos reconociendo y aplicando principios de programación paralela.
- RA2. Desarrolla aplicaciones compuestas por varios hilos de ejecución analizando y aplicando librerías específicas del lenguaje de programación.
- RA3. Programa mecanismos de comunicación en red empleando sockets y analizando el escenario de ejecución.
- RA4. Desarrolla aplicaciones que ofrecen servicios en red, utilizando librerías de clases y aplicando criterios de eficiencia y disponibilidad.
- RA5. Protege las aplicaciones y los datos definiendo y aplicando criterios de seguridad en el acceso, almacenamiento y transmisión de la información.