Que tal seguidores, en esta oportunidad tuve la oportunidad de asistir al evento
Oracle GroundBreakers Tour 2019 América Latina - Perú, antes conocido como el
Oracle Technology Tour (OTN tour) , realizado en la Universidad de Lima el miércoles 28 de agosto del 2019.
El evento fue publicado en la pagina de
PEOUG http://www.peoug.org/ogbtour2019/ , donde actualmente han colocado un vídeo y fotos del evento. La agenda del evento lo han retirado pero lo pueden descargar desde:
https://docs.google.com/viewerng/viewer?url=http%3A%2F%2Fwww.peoug.org%2Fwp-content%2Fuploads%2F2019%2F08%2FOGB_Tour_2019_Agenda.pdf&hl=es&urp=gmail_link
Bien, la primer charla a la cual asistí, fue la de Alexi Lopez (
Java Champion - Java Tools & Frameworks) con el tema
Microservicios para desarrolladores JEE, en el cual hablo sobre
Microprofile,
específicamente sobre la versión 3.x y su compatibilidad con
JAVA EE8, así como
ciertas mejoras que trae consigo en comparación con su versión anterior,como son la adopción de
health check y
metrics
version 2.0, el cual te ofrece información mas precisa de la salud de tus
microservicios, los cuales muchas veces dependen de otros
microservicios o recursos externos (Base de datos por ejemplo), entre otras nuevas características que comparto en las referencias bibliográficas. Para los amantes de
Spring Boot, dejo como tarea para el lector hacer un
benchmarking con
Spring Admin o
Spring Actuator.
Luego comento sobre la integración con
Prometheus, una herramienta de monitoreo Open Source capaz de leer las métricas y mostrar estadísticas en un entorno mas intuitivo. Dejo un ejemplo de integración en los links de la referencias bibliográficas.
Luego otro punto que menciono que me pareció interesante, fue sobre la
economía de las APIS, haciendo referencia, que ya es una tendencia y que muchas empresas ya la ven como un negocio, exponiendo sus
APIS para que puedan ser consumidos por otras aplicaciones o usuarios finales, para que finalmente, luego de un determinado uso, se pague según la cantidad de usuarios que la consuman.
Luego realizo un pequeño tutorial, con
microprofile sobre
PayaraMicro, una versión minimalista de
Payara Server, cuyo tamaño es de solo 70 MB.
Finalmente hablo sobre las ventajas de usar
Oracle Application Container Cloud y
Developer Cloud Service ambos servicios en la nube de
Oracle Cloud (también llamados
PAAS - Plataform as a Service), el primero mas parecido a una infraestructura como servicio
lightweight donde puedes desplegar desde aplicaciones basadas en plataforma
JAVA SE como muchas otras mas. Y la segunda orientada mas a la integración y despliegue continuo de aplicaciones entre otras características, para los amantes de
AZURE, parecido a
AZURE DEVOPS. Dejo algunos links de tutoriales en las referencias bibliográficas.
|
Oracle Application Container Cloud |
|
Developer Cloud Service |
Otra charla que me pareció interesante, fue la de Monica Godoy (
Oracle Forms & APEX Developer) juntamente con Alexis Sanchez (
Java Champion - Java Tools & Frameworks), con el tema
Oracle APEX como frontend para tu Java backend, básicamente Alexis desarrollo unos APIS Rest usando donde uso tecnologías como JAX-RS, CDI (
Contexts and Depedency Inyection), Hibernate/JPA, Payara micro, para luego crear un
Uber JAR para empaquetar tanto la aplicación como las dependencias, listo para ser desplegado en
Oracle Application Container Cloud. Finalmente, Monica explico, mediante una demo, la características de
Oracle APEX posee para crear aplicaciones escalables, seguras, rápidas y de bajo costo. La demo consistía en que a partir de los endpoints creados por Alexis, puedas crear regiones CRUD en cuestión de minutos. Tutoriales y documentación al respecto lo pueden encontrar en
https://apex.oracle.com/es/.
Otro punto interesante que menciono, fue sobre
ApiAry de Oracle, una plataforma colaborativa para documentar
APIS, del estilo de swagger, raml o blueprint, incluso diría con algunas características adicionales interesantes, también cuenta con un plan
free para los que quieran probarla,
mas detalle lo pueden encontrar en :
https://apiary.io/
Otra charla que me pareció interesante fue la de Cecilia Pereira (
Sales Engineer SOLA - QUEST SOFTWARE) con el tema
Administre su entorno de BD en devops, protegiendo sus datos sensibles, y digo interesante por la novedad de aplicar la tendencia
Devops ya no solamente en un ambiente de desarrollo de software sino también en un ambiente de administración de Base de Datos. Comento, y era de esperarse, sobre
Toad Devops Toolkit de Oracle como una de las herramientas que te ayuden a lograr ello, la cual se integra muy bien con otras herramientas de integración y despliegue continuo como son
Jenkins,
Bamboo o
Team Foundation Server. Cabe aclarar, que este es un concepto nuevo, y seguramente sera una tendencia que no tardara en volverse una practica, habrá que ver como las empresas responden y se adaptan a ello, ya que hablamos que la data sea la misma en todos los entornos. Otras herramientas
Open Source que también realizan lo mismo son
Liquidbase y
Flyway, para los que quieren tener variedad al elegir que herramienta usar.
Bien siguiendo con las charlas, otra que me pareció interesante fue la de Alexis Lopez (
Java Champion - Java Tools & Frameworks) y Jose Diaz (
Java Champion) con el tema
Java continua siendo libre, y es que nos aclararon sobre la tendencia en cuanto a los próximos lanzamientos de
JAVA SE y si el soporte dejara de ser gratuito. Bueno nos afirmaron que las actualizaciones gratuitas finalizaron con
JAVA SE 8 (ya estaba enterado de aquello) y que posterior a ello implicaría un costo su uso en un entorno de producción si se opta por adquirir cada actualización (
release) que se vaya lanzando.
Otro punto a considerar es la periodicidad (semestral) con la que dichas versiones se vienen lanzando, comparado con versiones anteriores (en la que esperabas como mínimo 3 años). Incluso hace unos días a la fecha de escribir el presente post, fue lanzado la versión
JAVA SE 13, la que pueden descargar de la pagina oficial de
ORACLE.
La recomendación que nos hicieron es que trabajemos con la versión que tenga
LTS (
Long Term Support), que considera un soporte extendido, a pesar que nuevas versiones puedan ser lanzadas. Pero tranquilo también hay alternativas como
OpenJDK con licencia
GPL, el cual ofrece soporte y actualizaciones gratuitas de diferentes empresas como Amazon, Azul, RedHat entre otras, sin embargo con algunas limitaciones, pero digamos que ya es algo.
Con respecto a
Java Web Start y
JavaFX, no es desconocido que
Oracle les quitara el soporte, aunado a eso que se ha anunciado que serán removidos de la distribución lanzada con
JAVA SE 11, por lo que es conveniente considerar otras alternativas a ello, para la primera podríamos considerar
IceTea-Web o
karakun como opciones interesantes, y para la segunda
OpenJFX llegaría al rescate.
La penúltima charla a la cual asistí fue la de Jose Diaz (
Java Champion) con el tema
Microprofile y Quarkus para Arquitecturas de Microservicios, en cual menciono las ventajas al considerar otros
frameworks alternativos a
Spring Boot o
TomEE para la implementacion de microservicios, el
framework que menciono fue
Quarkus.
Quarkus ofrece significativas ventajas en cuanto al consumo de memoria RAM y
startUpTime.
Incluso realizo una demo, donde integrado con
GraalVM (Maquina virtual poliglota) lo hace una opción interesante a considerar. Les dejo el link del código fuente de la demo, para que lo puedan clonar
https://github.com/joedayz/quarkus-persons
Finalmente, como ultima charla, Jose Diaz (
Java Champion) con el tema
Despliegue de aplicaciones en kubernetes con Herramienta Devops en Multinube, nos comento en la charla que actualmente en Farmacias Peruanas, lugar donde labora, utilizan Azure Devops, dicha herramienta esta compuesta por Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans y Azure Artifacts, de los cuales actualmente utilizan los 3 primeros, pero ya estaban pensando adquirir todas las funcionalidades.
Nos explico mediante un ejemplo, en una campaña realizada para Inkafarma, que tan practico es actualizar la pagina web de Inkafarma, y que en minutos se vea el cambio en producción, mostrando el entorno visual, e intuitivo con las que cuenta las herramientas de
Azure Devops. Otra cosa que me pareció interesante es que no te amarra con aplicaciones desplegadas solo en Windows Azure, sino que puedes integrarlo con otros proveedores en la nube como
GCD (
Google Cloud Plattform) o
IBM Cloud, incluso con entornos OnPremise.
Actualmente, podemos usar
Azure Devops gratuitamente con el plan básico, que incluye hasta 5 usuarios como máximo y las 3 primeras herramientas, mas de eso requiere un costo de suscripción. Seria interesante, poder utilizar este tipo de herramienta que como se expuso es versátil y trabaja bajo un enfoque ágil.
Conclusiones
En general, me pareció un evento bien organizado, donde el contenido de cada charla, estuvo alineado a los avances y demanda actual del mercado, en lo que respecto a tecnología de productos Java y Oracle. Los ponentes también de altísimo nivel, dando la talla a este evento que se realiza cada año, en varias ciudades del mundo.
Finalmente, como reflexión, nos queda siempre estar al tanto sobre las novedades del mundo tecnológico y analizar sobre alternativas a cada producto y/o herramienta que usemos, que quizás no sean tan conocidas, pero que definitivamente tendrán un impacto significativo en cuanto al consumo de recursos que usemos y al valor agregado que le demos al negocio.
Fotos del evento:
Referencias Bibliográficas
https://jaxenter.com/microprofile-3-0-arrives-with-some-breaking-api-changes-159267.html
https://blog.payara.fish/announcing-the-release-of-eclipse-microprofile-3.0
https://blog.payara.fish/consuming-microprofile-metrics-with-prometheus
https://www.ttandem.com/blog/la-economia-de-las-apis-ya-esta-aqui/
https://docs.payara.fish/documentation/microprofile/
https://www.oracle.com/technetwork/es/articles/cloudcomp/oracle-application-container-cloud-3402775-esa.html#intro
https://docs.oracle.com/en/cloud/paas/developer-cloud/csdcs/use-projects.html#GUID-3E4D9A4B-315C-4761-B518-108D04C50CC5
https://apex.oracle.com/es/learn/tutorials/
https://www.javiergarzas.com/2014/10/y-que-pasa-con-la-integracion-continua-de-bases-de-datos.html
https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html
https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244
https://www.aspera.com/en/blog/oracle-will-charge-for-java-starting-in-2019/
https://karakun.com/openwebstart/
https://shadow-soft.com/openjdk-support/
https://www.baeldung.com/quarkus-io
https://medium.com/@Gladiator444/quarkus-io-moving-from-200mb-to-1mb-10-seconds-to-100-milliseconds-bc0889a3050
https://brunobat.com/2019/03/12/tomee-vs-spring-boot-vs-quarkus/