Programación de servicios y procesos

Este módulo profesional proporciona la base imprescindible para desarrollar aplicaciones seguras en entornos de red. A lo largo del curso, se profundiza en el uso de las capacidades del sistema operativo para gestionar procesos e hilos, en la creación de aplicaciones compuestas por múltiples procesos concurrentes y en el desarrollo de soluciones capaces de comunicarse y ofrecer servicios a través de la red. Además, se presta especial atención a la incorporación de mecanismos de seguridad durante todo el ciclo de desarrollo.

RA1: Desarrolla aplicaciones compuestas por varios procesos reconociendo y aplicando principios de programación paralela.

Criterios de evaluación:

  • a) Se han reconocido las características de la programación concurrente y sus ámbitos de aplicación.
  • b) Se han identificado las diferencias entre programación paralela y programación distribuida, sus ventajas e inconvenientes.
  • c) Se han analizado las características de los procesos y de su ejecución por el sistema operativo.
  • d) Se han caracterizado los hilos de ejecución y descrito su relación con los procesos.
  • e) Se han utilizado clases para programar aplicaciones que crean subprocesos.
  • f) Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados.
  • g) Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo.
  • h) Se han depurado y documentado las aplicaciones desarrolladas.

RA2: Desarrolla aplicaciones compuestas por varios hilos de ejecución analizando y aplicando librerías específicas del lenguaje de programación.

Criterios de evaluación:

  • a) Se han identificado situaciones en las que resulte útil la utilización de varios hilos en un programa.
  • b) Se han reconocido los mecanismos para crear, iniciar y analizar hilos.
  • c) Se han programado aplicaciones que implementen varios hilos.
  • d) Se han identificado los posibles estados de ejecución de un hilo y programado aplicaciones que los gestionen.
  • e) Se han utilizado mecanismos para compartir información entre varios hilos de un mismo proceso.
  • f) Se han desarrollado programas formados por varios hilos sincronizados mediante técnicas específicas.
  • g) Se ha establecido y controlado la prioridad de cada uno de los hilos de ejecución.
  • h) Se han depurado y documentado los programas desarrollados.

RA3: Programa mecanismos de comunicación en red empleando sockets y analizando el escenario de ejecución.

Criterios de evaluación:

  • a) Se han identificado escenarios que precisan establecer comunicación en red entre varias aplicaciones.
  • b) Se han identificado los roles de cliente y de servidor y sus funciones asociadas.
  • c) Se han reconocido librerías y mecanismos del lenguaje de programación que permiten programar aplicaciones en red.
  • d) Se ha analizado el concepto de socket, sus tipos y características.
  • e) Se han utilizado sockets para programar una aplicación cliente que se comunique con un servidor.
  • f) Se ha desarrollado una aplicación servidor en red y verificado su funcionamiento.
  • g) Se han desarrollado aplicaciones que utilizan sockets para intercambiar información.
  • h) Se han utilizado hilos para implementar los procedimientos de las aplicaciones relativos a la comunicación en red.

RA4: Desarrolla aplicaciones que ofrecen servicios en red, utilizando librerías de clases y aplicando criterios de eficiencia y disponibilidad.

Criterios de evaluación:

  • a) Se han analizado librerías que permitan implementar protocolos estándar de comunicación en red.
  • b) Se han programado clientes de protocolos estándar de comunicaciones y verificado su funcionamiento.
  • c) Se han desarrollado y probado servicios de comunicación en red.
  • d) Se han analizado los requerimientos necesarios para crear servicios capaces de gestionar varios clientes concurrentes.
  • e) Se han incorporado mecanismos para posibilitar la comunicación simultánea de varios clientes con el servicio.
  • f) Se ha verificado la disponibilidad del servicio.
  • g) Se han depurado y documentado las aplicaciones desarrolladas.

RA5: Protege las aplicaciones y los datos definiendo y aplicando criterios de seguridad en el acceso, almacenamiento y transmisión de la información.

Criterios de evaluación:

  • a) Se han identificado y aplicado principios y prácticas de programación segura.
  • b) Se han analizado las principales técnicas y prácticas criptográficas.
  • c) Se han definido e implantado políticas de seguridad para limitar y controlar el acceso de los usuarios a las aplicaciones desarrolladas.
  • d) Se han utilizado esquemas de seguridad basados en roles.
  • e) Se han empleado algoritmos criptográficos para proteger el acceso a la información almacenada.
  • f) Se han identificado métodos para asegurar la información transmitida.
  • g) Se han desarrollado aplicaciones que utilicen sockets seguros para la transmisión de información.
  • h) Se han depurado y documentado las aplicaciones desarrolladas.