0490. Programación de servicios y procesos

Desarrollo de Aplicaciones Multiplataforma (IFC302)
Total: 67 horas
2 hora/semana en 2º
Horario DIURNO
5.0 Créditos ECTS

Resultados de Aprendizaje y Criterios de Evaluación

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

  • 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 compartir información con los subprocesos iniciados.
  • g) Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados.
  • h) Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo.
  • i) Se han depurado y documentado las aplicaciones desarrolladas.

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

  • 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 finalizar 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.
  • i) Se ha analizado el contexto de ejecución de los hilos.
  • j) Se han analizado librerías específicas del lenguaje de programación que permiten la programacióm multihilo.
  • k) Se han reconocido los problemas derivados de la compartición de información entre los hilos de un mismo proceso.

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

  • 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
  • h) información.
  • i) Se han utilizado hilos para posibilitar la comunicación simultánea de varios clientes con el servidor.
  • j) Se han caracterizado los modelos de comunicación más usuales en las arquitecturas de aplicaciones distribuidas.
  • k) Se han depurado y documentado las aplicaciones desarrolladas.

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

  • a) Se han identificado diferentes protocolos estándar de comunicación para la implementación de servicios en red.
  • b) Se han reconocido las ventajas de la utilización de protocolos estándar para la comunicación entre aplicaciones y procesos.
  • c) Se han analizado librerías que permitan implementar servicios en red utilizando protocolos estándar de comunicación.
  • d) Se han desarrollado y probado servicios de comunicación en red.
  • e) Se han utilizado clientes de comunicaciones para verificar el funcionamiento de los servicios.
  • f) Se han incorporado mecanismos para posibilitar la comunicación simultánea de varios clientes con el servicio.
  • g) Se ha verificado la disponibilidad del servicio.
  • h) Se han depurado y documentado las aplicaciones desarrolladas.

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

  • 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 comunicaciones seguras para la transmisión de información.
  • h) Se han depurado y documentado las aplicaciones desarrolladas.