OOW y JavaOne Brasil 2016 – Día 2

Mis notas del segundo día de conferencias

Esta es la segunda entrada de una serie de 3 respecto a lo que sucedió en Oracle Open World y JavaOne en Brasil. Visita este enlace para leer la primera. En el segundo día de conferencias pude asistir a las siguientes charlas:

  • Java SE 8 or Java EE Developers
    En esta sesión David Delabasse nos mostró algunas de las nuevas características de Java SE 8 usables en aplicaciones Java EE 7, entre las que se encuentran: Repeatable annotations, Lambdas, Streams, Date and Time API… El poder repetir anotaciones me pareció importante tanto para poder escribir código más limpio como para poder, por ejemplo, realizar varias validaciones sobre el mismo target usando Bean Validation API. Algo importante a tener en cuenta es no usar Streams paralelos en Java EE ya que estos usan ForkJoin y trataría de usar toda la capacidad de procesamiento de tu servidor. Se recomienda proteger el servidor estableciendo la propiedad java.util.concurrent.ForkJoinPool.common.parallelism con el valor 1, lo que quiere decir que ForkJoin solo podrá usar un core.
  • Unit/Integration Tests of Java Apps using Docker, maven and NetBeans
    Aunque el nombre y descripción de esta sesión se encuentran en inglés, la charla fue dada en portugués… Este es un tema que se discutió luego con el equipo organizador, pues es una barrera para quienes no hablamos portugués. En esta sesión se hizo una rápida comparación entre Docker y Máquinas virtuales para que todos entendiéramos fácilmente el concepto. Luego se nos mostró la serie de pasos para la instalación de Docker y como mediante algunos plugins de maven, se logra ejecutar las pruebas en contenedores.
  • Http/2 comes to Java
    En esta sesión David Delabasse nos mostró el por qué es importante contar con una nueva versión del protocolo, dado que éste fue concebido en un momento muy diferente al que estamos viviendo en la actualidad. Se explicó las mejoras que tendrá el protocolo en su versión 2 (8 en total) y cuales de ellas se expondrán por medio de la API de Servlets 4:
    Server push -> Brinda la posibilidad de que el servidor realice varias respuestas a la misma petición del usuario.
    Upgrade from 1.1 -> Brinda la posibilidad de cambiar de versión una petición que viene de HTP 1.1.
    Es importante entender que los cambios suceden a nivel de protocolo, por lo que para el desarrollador muchos de estos cambios son transparentes. Por ejemplo, actualmente HTTP hace un uso muy malo de TCP ya que es posible que use muchas conexiones TCP para una petición, pero en la nueva versión se usará la misma conexión TCP para brindar toda la respuesta a la petición del usuario, mejorando considerablemente los tiempos de respuesta. Lo anterior ocurre a nivel de protocolo y no debemos hacer nada adicional en nuestros desarrollos para conseguirlo.
  • Step by Step high availability with Docker and JavaEE
    Tuvimos la oportunidad de asistir a esta charla del “JavaMan” Bruno Souza, quién nos mostró como se puede lograr la alta disponibilidad de aplicaciones Java EE usando Docker. Un resúmen de la charla y el paso a paso puede ser encontrado en este artículo publicado por él mismo.

El resto del tiempo la pasé en el Java Hub conversando con otros desarrolladores Java y viendo las entrevistas de NightHacking.org, que es un espacio en el Java Hub donde se hacen entrevistas cortas a los conferencistas y asistentes del JavaOne.

A medio día almorzamos una comida típica Brasileña llamada Feijoada, muy deliciosa y una gran oportunidad de conocer más de la cultura gastronomica de este país. En la noche, cena con algunas personas de la comunidad Java de Brasil, estaba delicioso el Pirarucu :)

feijoada