Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Java para Administradores de Sistemas to your Wishlist.

Add to Wishlist

Java para Administradores de Sistemas

Todo lo que un Administrador de Sistemas debería saber sobre la plataforma Java y sus componentes
4.1 (60 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
297 students enrolled
Last updated 6/2016
Spanish
$10 $40 75% off
19 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 12.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
Comprender la estructura de la plataforma Java y su funcionamiento interno.
Entender el funcionamiento de las tecnologías más relevantes en las aplicaciones empresariales Java.
Monitorizar sistemas Java para entender y cuantificar su comportamiento real y las causas que lo provocan.
Optimizar sistemas ejecutándose en Java para lograr las mejores prestaciones.
Conocer las arquitecturas de despliegue Java más empleadas a nivel empresarial.
View Curriculum
Requirements
  • Deben tener nociones básicas de administración de sistemas.
  • No es necesario saber programar en Java, aunque ayudará tener ciertas nociones básicas de programación para entender algunos ejemplos.
  • Disponer de un ordenador con Java instalado por si quiere reproducir algunos ejemplos.
Description

En este curso pretendemos enseñar a los Administradores de Sistemas todo lo que deberían conocer sobre Java para hacer un buen despliegue, monitorización y optimización de aplicaciones en esta plataforma.

Pero tranquilo, no es un curso de programación (ni tienes que saber programar). ¡No tenemos intención reconvertir a los administradores de sistemas en programadores!

Lo que queremos es que los administradores de sistemas entiendan qué es la Java y cómo funcionan los diferentes componentes que forman parte en las aplicaciones que despliegan día a día.

Veremos aspectos como:

  • La plataforma Java.

  • Las tecnologías que intervienen en las aplicaciones Web en Java.

  • Los tipos y características de los servidores de aplicaciones en Java.

  • El acceso a las fuentes de datos (bases de datos, transacciones, servicios de directorio).

  • La estructura y gestión de la memoria, y el mecanismo del Garbage Collector.

  • Monitorización y rendimiento de aplicaciones Java.

  • Logging de aplicaciones.
Who is the target audience?
  • Administradores de sistemas que trabajen con entornos Java y deseen conocer el funcionamiento de esta platafoma.
  • NO ES UN CURSO DE PROGRAMACIÓN, pero los desarrolladores pueden conocer Java desde el punto de vista de un administrador de sistemas: cómo se despliegan sus aplicaciones, las monitorizan y mantienen.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 122 Lectures Collapse All 122 Lectures 12:27:20
+
0. Presentación del Curso
1 Lecture 03:04

Hola:

Bienvenidos al curso de Java para Administradores de Sistemas.

Como sabes, Java es una de las plataformas más utilizadas en el mundo de las aplicaciones empresariales. A día de hoy, muchos de los grandes sistemas corporativos están realizados con esta tecnología.

Así mismo Java es uno de los lenguajes más populares y demandados entre los programadores, según el índice TIOBE…. ¿Pero qué conocen de Java los administradores de sistemas?

En este curso pretendemos reducir la distancia que hay en el mundo Java entre los programadores y los administradores de sistemas.

Pero tranquilo, no es un curso de programación. No tenemos intención reconvertir a los administradores de sistemas en programadores…

Lo que queremos es que los administradores de sistemas entiendan qué es Java y cómo funcionan los diferentes componentes que forman parte en las aplicaciones que despliegan día a día.

De este modo los administradores de sistemas podrán entender cómo optimizar las características de la infraestructura de los servidores, o estarán más preparados para aportar soluciones ante las incidencias.


Resumen del contenido

En el primer módulo comenzaremos con una introducción a la plataforma Java. Hablaremos del lenguaje y la plataforma, la máquina virtual, tipos de empaquetados que se producen o tipos de aplicaciones.

En el segundo módulo trataremos la relación de Java con las aplicaciones de Internet: veremos los componentes que se emplean para poder crear aplicaciones Web, tales como los servlets, JSP. También introduciremos el concepto de los frameworks modelo vista controlador

En el tercer módulo hablaremos de contenedores de aplicaciones en Java y arquitecturas de ejecución: proxies con Apache, clusters de tomcat, incluso algunas nuevas herramientas para la automatización del despliegue de aplicaciones como por ejemplo Docker.

El cuarto módulo lo hemos dedicado al acceso a Base de datos desde Java, con el protocolo JDBC, Datasources o transacciones y servicios de directorio.

La gestión de la memoria en Java protagoniza el quinto módulo. Veremos cómo está la memoria estructurada y dividida en zonas y los mecanismos del garbage collector, así como su impacto en el rendimiento y herramientas para el análisis de la memoria.

En el sexto módulo hablaremos sobre la monitorización y el rendimiento. Veremos el protocolo que utiliza Java para transmitir el estado de sus componentes, y veremos las herramientas existentes en la actualidad, desde las consolas de monitorización que vienen con el JDK hasta las nuevas herramientas de análisis tipo AppDynamics o New Relic.

Finalmente, en el séptimo módulo veremos las trazas o logging en Java. Qué tipos de frameworks de trazas existen en java y las características de cada uno. También veremos otros aspectos como el cambio de configuración en caliente o los principales mensajes que se pueden encontrar en un log y su explicación.

Preview 03:04
+
1. Introducción a Java
9 Lectures 01:09:07

En este primer capítulo de introducción a Java vamos a explicar qué es Java y cómo se divide en JRE+JDK. Veremos tanto sus principales características como sus distintos componentes, módulos y versiones. Así podrás hacer una idea básica de esta plataforma.

Preview 10:01

En este tema vamos a ver una introducción con algo más de detalle a la máquina virtual de Java o JVM: Veremos sus principales componentes internos para así tener una noción básica de su funcionamiento. También trataremos la posibilidad de ejecutar otros lenguajes, y veremos más detalladamente el proceso de ejecución.

Java Virtual Machine (JVM)
11:44

En esta lección vamos a ver las diferentes formas en las que se distribuye Java gracias a su arquitectura modular. Veremos desde las versiones normales, hasta otras empresariales, introduciendo el nuevo enfoque modular que inicia Java 8 con sus Compact Profiles y que continúa Java 9 con el proyecto Jigsaw.

Distribuciones
06:43

En este tema vamos a ver brevemente la historia y la evolución de Java, guiada por los JSR y en el Java Community Process (JSP), y que lo han convertido uno de los lenguajes y plataformas más relevantes de nuestro tiempo.

La evolución de Java
04:57

En este tema vamos a tratar el tema del empaquetado de código en Java, que es una forma de compactar y distribuir las aplicaciones, facilitando la labor de despliegue y la especificación de dependencias. Veremos tanto el empaquetado Java básico (.jar) como los dedicados a web (.war) y aplicaciones empresariales (.ear)

Empaquetado
08:32

Java, al ser un lenguaje orientado a objetos se basa en instancias de clases que contienen el código. Para cargar estas clases se utiliza un mecanismo particular de la plataforma llamados ClassLoaders. Veremos su funcionamiento y la importancia que tienen en la plataforma.

Classloaders
06:27

En esta lección vamos a ver una clasificación básica  de los tipos de aplicaciones que se pueden desarrollar en Java, así podremos ubicar, dentro del ecosistema Java, las aplicaciones sobre las que trabajamos: stand-alone, Web, Applets, Empresariales, JavaFX...

Tipos de aplicaciones Java
14:42

En este vídeo veremos cómo crear una aplicación Java sencilla utilizando el entorno de desarrollo "Eclipse", cómo ejecutarla, y también empaquetarla en un ficheros distribuíble de tipo .jar

Demo 1: “Hola Mundo” en Java (.JAR)
02:36

En este video vamos a ver cómo se crea una aplicación web sencilla en Java utilizando servlets, que son la piedra angular sobre la que se basan todas las aplicaciones en Web de Java. Crearemos un paquete de tipo .war y lo desplegaremos en un contenedor de servlets clásico como es Tomcat.

Demo 2: Creación de Servlet en Webapp
03:25

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Introducción a Java
25 questions
+
2. Java en Aplicaciones Web
23 Lectures 02:29:24

Las aplicaciones Web, sea cual sea la tecnología que utilicen, deben utilizar un protocolo para comunicarse con los clientes y entre ellas. Este protocolo es HTTP. Vamos a ver de qué trata para poder entender el papel de Java en este tipo de aplicaciones.

Protocolo HTTP. Revisión.
15:08

En esta lección vamos a ver unas primeras nociones sobre las páginas web dinámicas, que son fundamentales para entender cómo Java aporta valor a la hora de crear aplicaciones basadas en tecnologías Web.

Conceptos de páginas dinámicas
05:55

Las aplicaciones Web escritas en Java necesitan de un entorno de ejecución. Este entorno de ejecución no puede ser el de un servidor Web estándar que sirve recursos estáticos como Apache, sino que es un tipo de servidor especial llamado Contenedor de aplicaciones. Vamos a ver una breve introducción a este tipo de servidores.

Contenedores de aplicaciones. Introducción
02:43

Los contenedores de servlets utilizan un descriptor de despliegue para saber cómo tienen que operar con los  servlets de la aplicación y otros elementos como filtros y listeners. Este fichero está estandarizado en la API Servlet en forma de web.xml. En esta lección vamos a ver una introducción al contenido de este descriptor de despliegue.

Descriptor de despliegue: web.xml
02:52

Los servlets son la piedra angular de la tecnología de Java para la creación de aplicaciones Web. Están organizados en dos niveles: los genéricos y los dependientes del protocolo HTTP. En esta lección veremos los servlets genéricos

Servlets. Introducción a los Servlets Genéricos
03:30

Cuando se trabaja con servlets para el desarrollo de aplicaciones Web se emplea una implementación del servlet genérico específica para HTTP. En esta lección vamos a ver cómo es un servlet de tipo HTTP, su modelo de ejecución y la relación con el request y el response del protocolo HTTP.

Servlets HTTP. Ejecución. Request y Response
10:00

Dentro de los request que hace un usuario a una aplicación Web, destacan dos tipos principalmente: Las peticiones de tipo get y las de tipo post. Vamos a ver en esa lección las diferencias entre una y otra, y cómo le afectan a los servlets de tipo HTTP.

Servlets. Get VS Post
04:46

El modelo de servlets tiene un ciclo de vida que gobierna su comportamiento desde que se arranca el contenedor de servlets hasta que se dejan de usar, pasando claro está, por la recepción de las peticiones. Vamos a ver en esta lección las características de este ciclo de vida.

Servlets. Ciclo de Vida
04:06

Los servlets de tipo HTTP no viven aisladamente en el contenedor de servlets. Existe una configuración que describe cómo tiene que ser su despliegue y qué valores iniciales se le asignan para poder dar el servicio para el que fueron creados. Éstos son los puntos que trataremos en esta lección.

Servlets. Despliegue y Configuración
04:14

Los servlets son el punto de entrada para hacer aplicaciones Web en Java, pero desde luego que no son los ideales para tareas complejas. Tienen sus ventajas y sus inconvenientes, que veremos en esta lección.

Servlets. Ventajas y Desventajas
01:20

En esta lección vamos a ver una introducción a JSP o Java Server Pages, que es una tecnología de Java para el desarrollo de aplicaciones Web, y que combina HTML con código Java. Está basado en los servlets como veremos.

JSP. Introducción
04:36

En esta lección vamos a ver los componentes básicos que utilizan para crear páginas JSP.

JSP. Sintáxis y Contenido Básico
05:05

Una de las posibilidades más importantes de JSP es la posibilidad de facilitar el desarrollo en base a etiquetas propias del lenguaje y librerías, reduciendo la cantidad de código Java que es necesario escribir para muchas funcionalidades. Lo veremos en esta lección.

JSP. Etiquetas y librerías de Etiquetas
04:48

Las páginas JSP deben poder comunicarse con otros componentes que el contenedor de servlets utiliza para modelar el protocolo HTTP tal y como se hacía con los servlets. En esta lección vamos a ver las referencias a estos recursos en forma de variables implícitas y las directivas que se pueden usar en JSP para extender sus posibilidades.

JSP. Variables implícitas y Directivas
05:43

Las aplicaciones empresariales actuales están construidas sobre la base de los Servlets y las páginas JSP, pero utilizando frameworks mucho más complejos. Estos frameworks están basados en el patrón MVC o Modelo Vista Controlador. Vamos a ver una introducción a esta arquitectura de aplicaciones.

MVC. Introducción
07:30

En esta lección vamos a ver en detalle los componentes del patrón Modelo Vista Controlador o MVC, y que es el más utilizado para el desarrollo de aplicaciones Web, y en general para las aplicaciones que tienen interacción compleja con el usuario final.

MVC. Modelo + Vista + Controlador
11:44

Los contextos son otra de las piezas fundamentales para las aplicaciones Web en todas las arquitecturas y tecnologías. Java también los utiliza, y sobre ellos se modela gran parte de la funcionalidad de los frameworks. Vamos a ver cuáles son y qué se puede hacer con ellos.

MVC. Contextos
09:03

El patrón MVC es seguido por la mayoría de los frameworks de aplicaciones Web en cualquier lenguaje, y cómo no, también por Java. En esta lección vamos a hacer un breve repaso por los frameworks más relevantes.

MVC. Frameworks más importantes
08:13

Dentro del esquema de las aplicaciones Web en Java, además de los servlets, no podemos dejar pasar por alto un componente muy útil que permite realizar operaciones previas al procesamiento del request y el response. En esta lección vamos a ver qué son los filtros en aplicaciones Web Java, para qué se pueden usar y cómo se crean y configuran.

Filtros
09:36

Otro elemento de la arquitectura básica de Java en Web, además de los servlets y los filtros son los listeners. Vamos a ver qué son y cómo se utilizan.

Listeners
04:09

En este vídeo veremos cómo se crean las páginas de tipo JSP, su sintáxis, librerías de tags y scriptlets de código.

Demo 1: Páginas JSP
10:26

En este vídeo veremos ejemplos de la funcionalidad que nos brindan los filtros y listeners, ilustrándolo con una pequeña aplicación de Login.

Demo 2: Filtros y Listeners
08:25

En este vídeo haremos uso de Maven y SpringMVC para crear una pequeña aplicación web de ejemplo que nos sirva para introducirnos en la arquitectura de Spring.

Demo 3: Spring MVC
05:32

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Java en Aplicaciones Web
46 questions
+
3. Despliegue en servidores
32 Lectures 03:23:59

En esta lección vamos a tratar la distinción entre los tres tipos fundamentales de servidores que están involucrados en la  distribución de las aplicaciones Web: estáticos, contenedores de servlets y servidores de aplicaciones.

Tipos de Contenedores de Aplicaciones
11:56

El servidor más sencillo para las aplicaciones Web desarrolladas en Java es un Contenedor de Servlets, y el más popular es Apache Tomcat, que será el que veamos en esta lección.

Tomcat. Introducción
04:21

En esta lección vamos a ver cómo podemos instalar Tomcat y comprender las variables de entorno que utiliza, así como su particular modo de establecer el classpath para acceder a las clases Java que ejecuta.

Tomcat. Instalacion, Variables de Entorno y Classpath
11:51

En los entornos en los que se requiere de alto rendimiento y disponibilidad es común contar con varias instancias de Tomcat que se ejecutan en modo cluster. En este caso Apache actúa como puerta de entrada y balanceador. Vamos a ver de qué se trata todo este sistema en esta lección.

Tomcat en Cluster con Apache
12:39

En este vídeo vamos a hacer un repaso de los principales problemas que suelen surgir en Tomcat a la hora de poner en funcionamiento las aplicaciones Web.

Tomcat. Problemas Comunes I
11:20

En esta lección continuaremos viendo los problemas más comunes que nos podemos encontrar a la hora de tratar con el contenedor de servlets Tomcat, y que suelen repetirse en otros servidores de aplicaciones. Nos centraremos especialmente en problemas relacionados con la memoria, que son excepciones en tiempo de ejecución.

Tomcat. Problemas Comunes II
09:12

En este vídeo veremos cómo se instala y se pone en marcha el contenedor de servlets Tomcat 7 de forma manual usando wget con un vídeo de demostración práctico.

Demo 1: Instalación Básica de Tomcat - WGET
02:00

En este vídeo veremos como se instala y se pone en marcha el contenedor de servlets Tomcat 7 a través del gestor de paquetes APT que incluyen los servidores de tipo linux Debian.

Demo 2: Instalación Básica de Tomcat - APT-GET
02:15

En este vídeo de demostración veremos cómo se construye una arquitectura básica de clustering de servidores Tomcat detrás de un servidor web Apache a modo de proxy.

Demo 3: Instalación de un Cluster de Tomcat con Apache
08:03

En este tema vamos a presentar algunos de los contenedores de aplicaciones (bien contenedores de Servlets o bien servidores de aplicaciones) más utilizados en el mundo Java.

Otros Contenedores. Introducción
04:23

Jetty es una de las alternativas más populares a Tomcat ya que se sitúan en el mismo nivel: como contenedores de Servlets. Además destaca por su capacidad de innovación y de implementación de las últimas evoluciones de las especificaciones de Java. Vamos a ver sus principales características.

Otros Contenedores. Eclipse Jetty
04:16

Tomcat es un contenedor de servlets que no dispone de las capacidades de Java Enterprise Edition (Java EE) que pueden tener los servidores de aplicaciones más potentes. Existe una distribución llamada TomEE que complementa a Tomcat con módulos de JEE y una interfaz de gestión que lo asemeja a otras soluciones más completas, incluso comerciales. Vamos a repasar sus características en este vídeo.

Otros Contenedores. Apache TomEE
04:49

WildFly es la alternativa de código abierto con más recorrido a los servidores de aplicaciones comerciales. Es el nuevo nombre del clásico JBoss Application Server (AS). Vamos a ver sus características principales en esta lección.

Otros Contenedores. JBoss Wildfly
03:04

A grandes problemas grandes soluciones. Este parece ser el lema de la suite de Oracle para soluciones empresariales de alto calado, donde su servidor Weblogic Server juega un papel importante. Vamos a ver sus principales características en esta lección.

Otros Contenedores. Oracle Weblogic Server
03:32

Otra de las soluciones comerciales para grandes sistemas es el conocido IBM Websphere Application Server o más conocido como WAS. Vamos a ver sus características principales en esta lección.

Otro Contenedores. IBM WebSphere Application Server (WAS)
04:31

En este vídeo vamos a ver un cuadro resumen de las características de los servidores de aplicaciones Java vistos con anterioridad.

Otros Servidores. Resumen de Características
00:57

En este vídeo veremos un screencast de la instalación del servidor de aplicaciones JBoss Wildfly, principal alternativa a los servidores de Oracle e IBM.

Demo 4: Instalación básica del servidor Wildfly
02:45

Es bastante común que los servidores de aplicaciones no ejecuten una única aplicación sino varias de forma simultánea. De hecho es posible que una gran aplicación Web esté dividida en sub-aplicaciones que pueden o no compartir librerías. En este tema vamos a ver cómo los servidores de aplicaciones en Java se las arreglan para gestionar diferentes aplicaciones Web de forma paralela.

Despliegue de Múltiples Aplicaciones
10:01

El concepto de sesión es uno de los mecanismos más importantes a la hora de la interacción entre los usuarios y los servidores. Vamos a ver en esta lección las particularidades de las sesiones en los servidores de aplicaciones.

Sesión .Introducción
03:10

La sesión es un mecanismo imprescindible par las aplicaciones Web actuales ya que almacena los datos del cliente en el servidor. Pero en los entornos reales de producción suelen existir clusters con varios servidores, lo que requiere tener especial cuidado en el tratamiento de la memoria. En esta lección vamos a ver los mecanismos de tratamiento de sesiones en servidores en cluster, tomando al servidor Tomcat como ejemplo.

Sesión. Clúster de servidores y sesión: Mecanismos y Gestión en Tomcat
12:38

En esta lección veremos el modo que tiene Tomcat para configurar las diferentes estrategias para  gestionar la sesión distribuida cuando opera en un cluster de servidores.

Sesión. Configuración en Tomcat
03:58


Después del boom en la industria que produjo la virtualización de máquinas, empleadas como entornos de producción, una nueva tecnología de virtualización ligera ha emergido en los últimos tiempos, que parece ser el nuevo paso en entornos de este tipo. En esta lección veremos qué es Docker y sobre qué conceptos se asienta, así como las posibles arquitecturas que se pueden diseñar con ello.

Nuevos sistemas de despliegue: Software Containers. Docker
12:15

En la actualidad suele ser requisito que las comunicaciones con las aplicaciones tengan que ir cifradas para proteger estas informaciones. En esta lección vamos a ver qué son los certificados y cómo se gestionan con el keytool de Java.

Certificados y el Keytool de Java
08:50

En este vídeo veremos las diferentes opciones que se nos presenta en un cluster de Tomcats para mantener la afinidad de sesión de los usuarios.

Preview 06:50

En este vídeo veremos como implementar un canal seguro de comunicación entre las instancias de un cluster de Tomcats con SSL.

Demo 6: Clúster de Tomcats sobre SSL
07:01

En esta lección vamos a ver uno de los primeros puntos que se deben considerar a la hora de configurar un servidor que se ejecuta con el sistema operativo Unix o Linux. No es otro que los descriptores de ficheros.

Ajustes de Configuración: File Descriptors del Sistema Operativo
03:32

En cualquier arquitectura, lo común es que existan unos servidores Apache que actúen como proxy o puerta de entrada al sistema completo. Por tanto las conexiones a estos servidores Apache son vitales. En esta lección veremos las diferencias entre los módulos que Apache utiliza para procesar las peticiones de los clientes.

Ajustes de Configuración: Conexiones en Apache: módulos MPM
05:06

En esta lección vamos a ver otro parámetro importante en Apache, sobre todo cuando actúa como frontal de una gran arquitectura. No es otro que el KeepAlive de las conexiones HTTP.

Ajustes de Configuración: Conexiones en Apache: KeepAlive
04:42

Una de las partes más importantes de una arquitectura es la base de datos, donde reside la información con la que se trabaja. También es fuente de problemas para la carga de la aplicación completa. Vamos a ver algunos consejos de interés.

Ajustes de Configuración: Impacto de Bases de Datos en la carga de la Arquitectu
04:45

En esta lección vamos a ver un concepto básico a la hora de establecer los parámetros de configuración de la red en una arquitectura compleja, como son los tiempos de time out.

Ajustes de Configuración: Tiempos de TimeOut
04:55

En esta lección vamos a ver un ejemplo en el que implementamos una arquitectura de servidores Tomcat y Apache para cubrir unas necesidades típicas que pueden darse en un caso real. Vamos a verlo en detalle.

Ejemplo: Infraestructura de Apache y Tomcat en DMZ
07:01

En esta demostración veremos como operar con las herramientas que Docker pone a nuestra disposición: desde descargar imágenes oficiales a desplegar nuestras propias aplicaciones haciendo uso de varios contenedores.

Demo 7: Docker
07:21

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Despliegue en Servidores
42 questions
+
4. Acceso a Datos
17 Lectures 01:28:22

Una de las partes más importantes de una aplicación empresarial es la base de datos. Naturalmente Java cuenta con tecnologías para poder conectarse a estos repositorios de información. Vamos a ver una primera aproximación a la tecnología JDBC.

Especificación JDBC. Introducción
03:16

Una de las partes fundamentales de la tecnología JDBC de acceso a base de dato es  el driver JDBC, que es el que canaliza la comunicación con la base de datos y permite a Java adaptarse a diferentes sistemas de gestión de bases de datos. Vamos a ver sus detalles. en este video.

Especificación JDBC. Driver
05:39

Los drivers JDBC son un componente complejo que tiene una misión complicada: hacer de puente entre la base de datos y el API de JDBC. Como se enfrenta a diferentes escenarios, existen tipos de drivers para cada situación. Vamos a ver los que son.

Especificación JDBC. Tipos de Driver
07:32

Además del driver de JDBC, el otro componente necesario y fundamental es la API, que es lo que utiliza el desarrollador para poder programar funcionalidades que se conectan a la base de datos.

Especificación JDBC. Composición de la API
05:11

Aunque el modo inicial de obtener una conexión a una base de datos es a través del DriverManager,a lo largo del tiempo se ha demostrado que tiene una serie de problemas, por lo que se crearon los Datasource como Alternativa. Vamos a verlos en detalle.

Datasource
08:08

En el siguiente vídeo veremos cómo se debe registrar y utilizar un DataSource en el contenedor de servlets Tomcat 7 para su uso dentro de una aplicación Java.

Demo 1: Uso de un DataSource en Tomcat
02:47

En el este vídeo veremos cómo se debe registrar y utilizar un DataSource en el servidor de aplicaciones WildFly para su uso dentro de una aplicación Java.

Demo 2: Uso de un DataSource en WildFly
05:15

Uno de los mecanismos fundamentales para gestionar las conexiones en las aplicaciones empresariales son los pool de conexiones. Vamos a ver de qué tratan y cómo nos pueden ayudar.

Pool de Conexiones
07:06

En el siguiente vídeo veremos las opciones de configuración básicas concernientes a recursos externos que nos permite manipular Tomcat 7 para solucionar problemas de conectividad con, en este caso, un DataSource.

Demo 3: Configuración del Pool de conexiones en Tomcat
03:00

En las aplicaciones empresariales es común que el acceso a datos esté formado por operaciones complejas agrupadas en conjuntos de tareas que deben realizarse de forma simultánea. Esto se lleva a cabo a través de las transacciones. Vamos a ver una introducción a los conceptos básicos.

Gestión de Transacciones - JTA: Introducción a las Transacciones
05:12

En esta lección veremos los dos tipos de transacciones con respecto a los recursos que involucran: las transacciones locales y las transacciones distribuidas. 

Gestión de Transacciones - JTA. Transacciones Locales VS Distribuidas
03:31

Java proporciona una tecnología para el manejo de transacciones en sus aplicaciones. Se trata de JTA y su API. Vamos a ver sus principales características.

Gestión de Transacciones - JTA. JTA API
02:40

Las transacciones distribuidas necesitan un mecanismo que coordine todas las operaciones individuales que se ejecutan sobre los diferentes recursos. El mecanismo más utilizado es el Two Phase Commit. En este vídeo veremos en qué consiste.

Gestión de Transacciones - JTA. Two-phase commit
04:34

Una de las características más importantes de las transacciones es el aislamiento. Este aislamiento tiene diferentes niveles, lo que posibilita que exista o no cierto grado de concurrencia en la ejecución. En esta lección vamos a ver los niveles de aislamiento y el impacto sobre la concurrencia.

Gestión de Transacciones - JTA. Aislamiento y Concurrencia
04:21

Los servicios de directorio permiten definir recursos a nivel global en una arquitectura completa como es la de las aplicaciones empresariales, lo que permite un diseño más limpio y menos acoplado. Vamos a ver en esta lección una introducción a los conceptos básicos para entender cómo Java implementa esta tecnología.

JNDI y definición de recursos a nivel global. Introducción
05:03

Java Permite utilizar su implementación del sistema de nombres y directorio, llamado, JNDI. Es importante para las aplicaciones que involucran diferentes componentes porque actúa a modo de pegamento que permite unirlos para formar una aplicación completa. Vamos a ver en este vídeo los puntos más importantes de su especificación.

JNDI y definición de recursos a nivel global. Servicio de Directorio en Java (JN
13:24

En este vídeo veremos cómo se registran nuevos contextos JNDI de forma programática desde Java, así como el acceso a los mismos.

Demo 4: JNDI y definición de recursos a nivel global
01:43

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Acceso a Datos
39 questions
+
5. Gestión de memoria en Java
17 Lectures 01:30:43


Una de las características esenciales de todo lenguaje de programación y de Java en particular, es la gestión de la memoria. En esta lección veremos  una introducción a las características principales de la gestión de la memoria en Java, que lo hacen tan especial.

La gestión de memoria en Java. Introducción
08:56

La memoria es un recurso fundamental con el que tienen que trabajar las aplicaciones. La máquina virtual de Java (JVM) presenta una forma particular de distribuir la memoria abstrayendo al programa en ejecución de la memoria real de la máquina física. Vamos a ver en esta lección cómo Java realiza la distribución de esta memoria.

Estructura de memoria. Distribución de la memoria
07:35

Java es una plataforma en constante evolución, tanto en el lenguaje como en la estructura. En esta lección vamos a tratar un hito en la forma de gestionar la memoria que sucedió en la versión Java 8: el paso de un modelo con PermGen a un modelo con Metaspaces, que le permite ser más flexible.

Estructura de memoria. Permgen y Metaspaces
03:56

Para que el mecanismo de garbage collector pueda actuar correctamente, Java organiza los objetos en memoria en diferentes zonas dependiendo de la logevidad de los objetos en memoria. Estas zonas son los espacios de generaciones. En esta lección veremos de qué tratan.

Estructura de memoria. Espacios de Generaciones
05:11

En este vídeo se verán las diferentes configuraciones que se pueden aplicar a las máquinas virtuales de Java para la gestión de la memoria.

Estructura de memoria. Configuración
04:36

El Garbage Collector es el mecanismo fundamental que interviene en la gestión de la memoria en Java. En este vídeo veremos una primera aproximación a las razones de su exitencia y funcionamiento.

Garbage Collector. Introducción
03:49

El Garbage Collector es un mecanismo complejo que actúa sobre las diferentes zonas de la memoria de Java, por lo que realmente existen diferentes tipos especializados en cada área. En esta lección vamos a ver la hipótesis de distribución de la memoria sobre la que se sustentan y la tipología teórica de los garbage collectors con las características que hay que tener en cuenta para elegir uno u otro tipo.

Garbage Collector. Memoria y Tipos
08:23

Las características y tipos de Garbage Collector deben ser implementados en las diferentes distribuciones de la máquina virtual de Java. Estas implementaciones están basadas en algoritmos concretos. Vamos a ver los tipos generales y la implementación de la máquina virtual "Hotspot" de Oracle.

Garbage Collector. Algoritmos e Implementaciones
10:04

La máquina virtual de Java (JVM) permite la configuración de múltiples aspectos para la ejecución de los programas en Java. Esto incluye la configuración del tipo de garbage collector y sus principales características. Vamos a ver los parámetros más relevantes en esta lección.

Garbage Collector. Configuración
03:06

La configuración de los parámetros de la máquina virtual, como el Garbage Collector y la memoria deberían estar basados en evidencias empíricas y razonadas. Estas evidencias se obtienen gracias a la monitorización, que será el tema principal de este vídeo.

Monitorización e Impacto en el Rendimiento. Introducción a la Monitorización
04:40

Los ajustes que se realicen en el entorno en el que se ejecuta la aplicación impactan en el rendimiento de la aplicación. Dependiendo de la tipología de la aplicación, el rendimiento puede ser más o menos crítico. En este vídeo trataremos el rendimiento.

Monitorización e Impacto en el Rendimiento. Rendimiento
03:47

En esta lección veremos cómo se puede monitorizar el comportamiento del Garbage Collector a través de las trazas que deja en sus ejecuciones. 

Monitorización e Impacto en el Rendimiento. Trazas del Garbage Collector
02:49

Además de los eventos del Garbage Collector y su impacto en el rendimiento, debemos vigilar el comportamiento de las diferentes zonas de memoria. Se realiza a través de herramientas específicas que se conectan a la máquina virtual de Java. Vamos a ver sus principales características en este vídeo.

Monitorización e Impacto en el Rendimiento. Herramientas de Análisis de Memoria
04:06

En este vídeo utilizaremos la herramienta HPJmeter para analizar a posteriori y comparar, las trazas de ejecución de los diferentes Garbage Collectors de la JVM.

Demo 1: Análisis del Garbage Collector con HPJMeter
04:57

En este vídeo haremos uso de la herramienta VisualVM contenida dentro del JDK que, junto con el plugin VisualGC, nos permite realizar un análisis del comportamiento de la JVM en ejecución, centrándonos especialmente en la gestión de la memoria y en el funcionamiento del Garbage Collector.

Demo 2: Análisis de rendimiento y memoria con VisualVM
03:40

En este vídeo usaremos la clásica herramienta de monitorización de la JVM, JConsole para mostrar sus capacidades de análisis de rendimiento.

Demo 3: Análisis de rendimiento y memoria con JConsole
02:07

En este vídeo mostraremos una parte de todas las capacidades que tienen las herramientas Java Mission Control (JMC) y Java Flight Recorder (JFR) para llevar a cabo exhaustivas operaciones de monitorización y profiling de aplicaciones Java.

Demo 4: Análisis de rendimiento con Java Mission Control y Java Flight Recorder
09:01

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Gestión de Memoria en Java
36 questions
+
6. Monitorización y rendimiento
8 Lectures 56:23

En esta lección vamos a ver una introducción a JMX que es el framework de Java para las labores de monitorización, gestión y rendimiento. La mayoría de las aplicaciones actuales de monitorización y control están basadas en este estándard.

JMX. Introducción
02:46

En esta lección vamos a ver la estructura interna de JMX, cómo se organizan los componentes de monitorización y cómo se exponen a las capas externas para poder ser consultados.

JMX. Estructura
06:08

En esta lección vamos a ver cómo se debe configurar las máquinas virtuales de Java (JVM) para poder ser monitorizadas en remoto desde otros dispositivos, interfiriendo así mínimamente en la observación.

JMX. Monitorización Remota
02:22

En esta lección veremos cómo nos ayuda JMX a poder monitorizar las máquinas virtuales de Java, y cómo existen productos, como las consolas, que facilitan al usuario el proceso de la monitorización.

JMX. Monitorización JVM y Consolas
05:48

En esta lección vamos a hacer un repaso a los parámetros más comunes que se pueden ajustar en la máquina virtual de Java (JVM). Estos parámetros nos ayudarán a optimizar el uso de los recursos para ejecutar las aplicaciones. Algunos de ellos son específicos de determinados componentes vitales como la gestión de la memoria o del garbage collector.

Parámetros de configuración de la JVM
10:53

En este vídeo definiremos un plan de pruebas sencillo sobre una aplicación creada para la ocasión para mostrar las capacidades básicas del Apache Jmeter, y así comprender cómo se pueden simular diferentes cargas de trabajo sobre las aplicaciones. Será fundamental para poder realizar un proceso de monitorización.

Demo 1: Plan de pruebas de carga con JMeter
06:28

En este vídeo se muestran algunas de las capacidades de la herramienta de monitorización AppDynamics, que junto con New Relic son los nuevos exponentes de la monitorizacion APM, que nos permite detectar fácilmente problemas en la ejecución que de otro modo nos podrían llevar días en descubrir.

Demo 2: Uso de AppDynamics
13:10

En este vídeo usaremos el servicio de monitorizacion de tipo APM como es New Relic para monitorizar la aplicación de ejemplo. Emplearemos Apache JMeter para crear carga sobre los componentes.

Demo 3: Uso de New Relic
08:48

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Monitorización y Rendimiento
17 questions
+
7. Logging
15 Lectures 01:26:18

En cualquier aplicación es interesante conocer qué está sucediendo en la ejecución, sin tener que estar acudiendo a detalles a nivel de  máquina virtual (JVM). Es una práctica común intercalar instrucciones de código que van informando del estado de la ejecución de las aplicaciones, generando un log. En esta lección vamos a ver una introducción al concepto de sistema de logging o de trazas.

Introducción a las trazas en Java
03:58

En cualquier aplicación siempre es interesante saber qué está sucediendo en la ejecución sin tener que estar acudiendo a detalles a nivel de  máquina virtual. Es una práctica común intercalar instrucciones de código que van informando del estado de la ejecución de las aplicaciones, generando un log. En esta lección vamos a ver una introducción a los sistemas de logging y los requisitos que deben cumplir.

Introducción a las trazas en Java. Requisitos de un buen sistema de trazas
07:24

En Java existen diferentes alternativas para incorporar trazas a las aplicaciones, agrupadas en frameworks e interfaces de Logging. En esta lección vamos a ver una rápida introducción al panorama actual en este campo.

Frameworks e Interfaces. Introducción
02:57

En esta lección vamos a ver la estructura típica de un framework de logging y haremos un repaso de las características de los más relevantes actualmente en Java.

Frameworks e Interfaces. Frameworks en Java
08:31

Dentro de los frameworks disponibles para la gestión de trazas en Java el más novedoso es Log4J versión 2. En esta lección vamos a ver sus características internas y cómo utilizarlo.

Frameworks e Interfaces. Log4J 2.x
03:42

Los frameworks de logging acaban condicionando el código fuente de las aplicaicones que los utilizan. Para evitar esto se crearon las interfaces de loging.  En esta lección veremos qué son y qué relación guardan con los frameworks de logging.

Frameworks e Interfaces. Interfaces de Logging
04:48

En esta lección vamos a ver la recomendación actual de tecnologías que se deberían seguir en cualquier aplicación escrita en Java hoy en día.

Frameworks e Interfaces. Recomendación de Arquitectura de Logging
01:17

El Logging es una actividad de apoyo para los desarrolladores y administradores de sistemas que manejan las aplicaciones. Esto quiere decir que debe adaptarse a las circunstancias que requiere su uso con el menor impacto posible. Por tanto es muy importante poder cambiar la configuración del framework de logging en caliente, para poder activar el nivel máximo cuando se quiera detectar un problema y dejarlo en un nivel mínimo cuando no sea necesario, sin que el servidor se vea afectado por este cambio.

Configuración en Caliente. Introducción
04:05

Realizar el cambio de las características del sistema de logging no es complicado en Java con la ayuda de las herramientas adecuadas. Vamos a ver algunas de las alternativas que podemos seguir para realizar esta operación.

Configuración en Caliente. Modos de implementación
06:18

En este video veremos un ejemplo de uso básico del framework de logging log4j2, además de las capacidades de modificación de MBeans “en caliente” o en ejecución.

Demo 1: Configuración en caliente de un Logger
02:20

Como todas las tecnologías, los sistema de loggin pueden tener un mal rendimiento si no se utilizan correctamente. En esta lección vamos a ver algunos de los problemas más comunes que se suelen presentar a la hora de utilizar e implantar un sistema de logging.

Logging: Problemas Comunes I
07:46

Este vídeo es una continuación a los problemas más comunes que nos podemos encontrar a la hora de revisar la implantación de un sistema de logging en Java.

Logging: Problemas Comunes II
15:32

En esta lección vamos a ver brevemente el mecanismo de captura de excepciones y mensajes de error para entender el origen de la información de los errores que aparecen en los logs del servidor cuando hay problemas.

Errores comunes en el Log. Excepciones y Mensajes
05:11

En esta lección vamos a hacer un repaso a los errores más comunes que se suelen encontrar los logs de las aplicaciones. Es imposible hacer un  listado con todos los que se puede uno encontrar en su vida profesional, porque dependen de situaciones y tecnologías, pero al menos veremos algunos habituales que nos ayudarán a interpretar sus mensajes.

Errores comunes en el Log I
06:59

En las siguientes diapositivas vamos a hacer una breve presentación de algunas excepciones representativas que suelen suceder en programas Java.No se trata de verlas todas porque es imposible, máxime cuando se pueden crear nuevas excepciones, y los frameworks más utilizados contienen las suyas específicas, pero sí de dar una idea de cómo Java se comporta frente a sucesos más o menos habituales.

Errores comunes en el Log II
05:30

Test de autoevaluación de conocimientos sobre el tema.

Test del Tema: Logging
17 questions
About the Instructor
4.0 Average rating
99 Reviews
613 Students
4 Courses
Instructor de Autentia

Autentia nace en 2003 con la intención de cimentar un sector del desarrollo de apasionados por lo que hacen, de artesanos del software con gran disciplina colectiva y ampliamente motivados, que desarrollen de acuerdo a los principios del Agilismo y la formación continua.

Como demostramos a diario con la grabación de charlas técnicas, realizando auditorías tanto a equipos como a clientes, o en nuestro portal adictosaltrabajo, nuestro leit motiv enfatiza en compartir conocimiento. De esta necesidad nace Autentia University, donde la formación se concilie con el tiempo del que disponga el usuario.

Nos apasiona el conocimiento y el saber hacer. Por ello apoyamos junto a una serie de empresas la creación de un nuevo ecosistema del sector.

Report Abuse