Tema 1. Administración básica de sistemas operativos GNU/Linux (Debian): Instalación del sistema operativo. Archivos y directorios. Usuario root. Configuración del arranque del sistema operativo. Herramientas básicas de administración.
Tema 2. Administración avanzada de sistemas operativos GNU/Linux (Debian) (I): Sistema de ficheros y gestión de discos. Administración del software. Gestión de las comunicaciones. Configuración y Administración de las interfaces de Red, Interconexión TCP/IP.
Tema 3. Administración avanzada de sistemas operativos GNU/Linux (Debian) (II): Shell. Variables. Estructura de la línea de comandos. Metacaracteres. Creación de nuevos comandos. Argumentos y parámetros en los comandos. La salida de programas como argumentos. Ampliación del redireccionamiento de E/S. Iteración en los programas de Shell. Filtros en el Shell: el comando grep. Edición de flujos y ficheros mediante sed. El lenguaje de manejo y proceso de patrones awk.
Tema 4. Optimización de sistemas operativos GNU/Linux (Debian): Seguridad. Ajustando el rendimiento. Parametrización de límites de recursos.
Tema 5. Servidor web Apache Linux: Instalación y configuración. El módulo PHP: instalación y configuración; despliegue de aplicaciones.
Tema 6. Servidores de aplicaciones en entornos Linux (I): Tomcat: Instalación, configuración y administración. Herramientas de administración. Despliegue de aplicaciones.
Tema 7. Servidores de aplicaciones en entornos Linux (II): Jboss EAP: Instalación, configuración y administración. Servidores en modo standalone y en modo domain. Herramientas de administración: la consola. Despliegue de aplicaciones.
Tema 8. Servidores de aplicaciones en entornos Linux (III): Weblogic: Instalación, configuración y administración. Dominios de Weblogic: Admin Server; NodeManager; Managed Server. Herramientas de administración. Despliegue de aplicaciones.
Tema 9. SQL: Lenguaje de definición de datos (DDL). Lenguaje de manipulación de datos (DML). Lenguaje de control de datos (DCL).
Tema 10. ORACLE DB: Conceptos básicos. Creación, configuración, explotación y borrado de una Base de datos. Estructuras de Datos Relacional. Estructuras de almacenamiento. Gestión de Usuarios. Backup y Restore. Oracle Real Application Clusters. Multitenant. Seguridad. Monitorización y optimización del rendimiento.
Tema 11. PL/SQL: Introducción, Ventajas, Creación de Bloques. Estructuras de programación. Cursores. Manejo de Excepciones. Procedimientos, Funciones y Paquetes. Disparadores.
Tema 12. MySQL: Conceptos básicos. Instalación. Administración. Seguridad. Optimización. Replicación. Creación, configuración, explotación y borrado de una Base de datos.
Tema 13. Testing: Pruebas de software. Fundamentos de las pruebas de software. Pruebas unitarias. Pruebas de integración. Pruebas de sistema (funcionales y no funcionales: pruebas de carga, estrés, seguridad, usabilidad, etc.), pruebas de implantación, pruebas de aceptación,
pruebas de regresión. Técnicas de pruebas estáticas y dinámicas (caja blanca, caja
negra, técnicas basadas en la experiencia). Herramientas de pruebas. Diseño orientado por las pruebas (TDD).
Tema 14. Sistema de Control de Versiones: Origen e historia. Sistemas centralizados. Sistemas distribuidos. Git. Plataforma de repositorios GitLab.
Tema 15. Arquitectura del Software: Conceptos básicos. Patrones arquitectónicos. Arquitectura en capas. Arquitectura cliente-servidor. Sistemas distribuidos. Backend-Frontend. Arquitectura hexagonal. Arquitectura limpia.
Tema 16. Arquitectura de microservicios: Conceptos, características y beneficios. Comparativa entre arquitecturas monolíticas y de microservicios en el desarrollo de software.
Tema 17. Diseño de microservicios: Descomposición de sistemas monolíticos, patrones y técnicas. Protocolos, mecanismos comunicación, integración y sincronización.
Tema 18. Seguridad en APIs y servicios web: Protección de APIs, autenticación y autorización, encriptación, protección contra ataques.
Tema 19.Tecnologías de programación Front: HTML5, CSS3, JavaScript, AJAX, XML, JSON, TypeScript.
Tema 20. Frameworks de desarrollo: Front: Booststrap, Jquery, Angular, NodeJS.
Tema 21. JAVA: Introducción al lenguaje Java. Objetos. El flujo del programa. Inicialización y limpieza. Ocultación de la implementación. Reutilización. Polimorfismo. Interfaces y clases
internas. Almacenamiento de objetos. Manejo de errores con excepciones.
Tema 22. La arquitectura Java EE: características de funcionamiento y elementos constitutivos.
Tema 23. Spring Framework: Características y ventajas, arquitectura y módulos principales (Spring Core, Spring MVC, Spring Data, Spring Security).