Introducción:
El objetivo del curso es aportar a los alumnos en las técnicas de optimización de la máquina virtual de Java opensource, así como en el conocimiento profundo del heap de memoria y del uso que hace el GC del mismo para obtener el máximo rendimiento de las aplicaciones desarrolladas con esta plataforma..Objetivos:
Al finalizar el curso los alumnos podrán:Conocer las best-practices asociadas al desarrollo con Java OpenSource
Poder obtener el máximo rendimiento de cada uno de los componentes utilizados en el proyecto.
Hacer uso de un conjunto de herramientas para monitorizar y hacer tunning.
Crear aplicaciones incorporando el tunning dentro del ciclo de desarrollo de software.
Desarrollar aplicaciones con criterios de calidad basados en las expectativas de los usuarios.
Identificar de forma correcta los cuellos de botella que se pueden producir en diferentes áreas de la aplicación.
Gestionar y planificar la trazabilidad de las tareas de optimización y tunning.
Dirigido a:
Ingenieros y desarrolladores que deseen conocer las técnicas de optimización y tunning más adecuadas según el contexto de desarrollo y tipo de aplicación.Requisitos previos:
Los alumnos necesitan haber trabajado con Java OpenSource y algún entorno de desarrollo integrado.Profesorado:
Contamos con un equipo de instructores altamente cualificados que combinan la actividad formativa con el desarrollo de su actividad profesional como expertos en el campo de las TIC. Profesionales certificados por los principales fabricantes del sector capaces de transferir de forma amena y entendedora los conceptos técnicos más abstractos. Los formadores disponen de diferentes niveles de certificación en Java.Documentación:
Cada alumno recibirá un ejemplar de la Documentación oficial elaborada por netmind.Certificación:
Todos los alumnos que finalicen con éxito el curso recibirán un certificado de asistencia emitido por netmind.Contenidos:
Introducción
1.1 Concepto de rendimiento y tunning.
1.2 Modelo de ejecución por capas.
1.3 Los frameworks web MVC.
1.4 Percepción del rendimiento.
1.5 Metodologías de gestión del rendimiento: APM.
1.6 El coste del error.
1.7 Estrategias de tunning.
1.8 Topología del sistema.
Herramientas de perfilado
2.1 Concepto del profiling de aplicaciones.
2.2 Necesidades de profiling en Java.
2.3 Conociendo el heap y como actúa.
2.4 Monitorización del heap, uso de herramientas.
2.5 Localizando cuellos de botella en llamadas y cpu.
Optimizando el JDK
3.1 El garbaggecollector, configuración y tipos.
3.2 El recolector Parallel.
3.3 El recolector Parallelcompacting.
3.4 El recolector Concurrent Mark-Sweep (CMS).
3.5 El HotSpot según ergonómico.
3.6 Conociendo la arquitectura de un servidor Java EE.
3.7 Afinando el rendimiento de un servidor de aplicaciones.
3.8 Checklist de técnicas de tunning.
Best-practices en Java
4.1 Introducción a las best-practices.
4.2 Best-practices en el lenguaje: Strings, exceptions…
4.3 Best-practices en la capa web: Presentación y control.
4.4 Best-practices en la capa de negocio: Serialización, inyección…
4.5 Best-practices en la capa de negocio: Enterprise Javabeans.
Bucles y recursividad
5.1 Técnicas en el uso de bucles y tipos de bucles.
5.2 Consideraciones sobre sistemas de logging.
5.3 Consideraciones sobre el framework collections.
5.4 Ordenación eficiente de elementos.
5.5 Algoritmos adecuados en cada caso.
5.6 Interfaces de Collections en Java.
Programación concurrente y dstribuida
6.1 Best-practices con threads.
6.2 Prevenir la saturación al sincronizar.
6.3 Factores que afectan al rendimiento general.
6.4 Estrategias en el uso de threads.
6.5 Optimización en el uso del caudal.
6.6 Recomendaciones en la serialización de objetos.
6.7 Optimización en las comunicaciones.
Cuándo y cómo optimizar
7.1 ¿Qué debemos optimizar y cuando?
7.2 Definir un plan de tunning.
7.3 Definir y obtener métricas.
7.4 Stress de componentes del sistema.
7.5 Técnicas de medición según el escenario.
Optimizarhard y plataforma JEE
8.1 Optimizar cada capa: red, RAM, Hardware, S.O., BBDD…
8.2 Uso de cachés y poolings.
8.3 Balanceo de carga y clustering.
8.4 Monitorización JMX.
Referencias.
Contactar