• HackDay Hispano: Cómo contribuir en proyectos Open Source

    Oficinas de Liferay

    Grupos de usuarios de Java de España y Latinoamérica nos unimos nuevamente en otra sesión de Hackdays de la Comunidad Hispana, como hemos estado haciendo peiódicamente desde noviembre del 2017 para compartir conocimiento utilizando los dos lenguajes que más nos gustan, Java y el Español. En esta ocasión, desde el Caribe el grupo de usuarios la República Dominicana Java Dominicano será el encargado de moderar nuestro sexto encuentro titulado: Cómo contribuir en proyectos open source. En esta sesión hablaremos sobre cómo contribuir al código abierto: herramientas, medios, proceso, recomendaciones y más. Trabajaremos paso a paso para que los asistentes puedan llegar a tener su primer contribución al proyecto Apache TomEE, teniendo así la experiencia completa de un contribuidor del Open Source. ## Requisitos: - Tener una cuenta de github - Tener git instalado y configurado correctamente con su cuenta de github - Tener Java 8 instalado. Si tienes ambiente Linux o OsX puedes utilizar el administrador de versiones de Java http://sdkman.io - Tener Apache Maven >= 3.3.9 instalado # Presentadores: Carlos Camacho Twitter: https://twitter.com/ccamachog Carlos es Co-Líder de la comunidad Java de la República Dominicana Java Dominicano, Ingeniero Telemático, Evangelista Java, Profesor de la Pontificia Universidad Católica María Madre, miembro FCLD, Linux User, Android, Esposo, Padre, Amigo, Konoha, Dark Side, Nintendo. :-) César Hernández Twitter: https://twitter.com/cesarHgt César es Senior Software Engineer en Tomitribe con experiencia en Aplicaciones Enterprise Java. Acreedor de reconocimientos internacionales como Java Champion y Ducke's Choice award y participe de varios proyectos e iniciativas Open Source, Contribuidor para Apache TomEE, Eclipse MicroProfile y Committer para Eclipse JakartaEE, profesor y orador público. Cuando César está lejos de una computadora, le gusta pasar tiempo con su familia, viajar y tocar música con la Java Community Band, The Null Pointers. Sigue a Cesar en https://twitter.com/CesarHgt Daniel Diaz Twitter: https://twitter.com/DanielDiasJava Daniel es un desarrollador Java EE, le gusta compartir, aprender nuevos conocimientos de java y Java EE con las comunidades. Coordinador de la comunidades Java de Brazil SouJava, miembro del JCP, contribuidor de JSR 354 (Money and Currency API) , JSR-371 (MVC 1.0), JSR-382 (Configuration API 1.0) y Expert Group JSR-385 (Units of Measurement 2.0), actualmente es un contribuidor activo del proyecto Apache TomEE. David Blevins Twitter: https://twitter.com/dblevins David es es el Fundador del proyecto Apache TomEE, contribudor veterano de Java EE Open Source, ha implementando y definido especificaciones por más de 15 años tratando de hacer Java EE simple, testeable, y liviano como Java SE. Co-Fundador de Open EJB, Gerónimo y TomEE. Miembro de Eclipse Microprofile, Jakarta EE PMC, JCP Executive Committee, Java EE Expert Group. Rael Garcia Twitter: https://twitter.com/raelga Rael es Site Reliability Engineer en CAPSiDE, miembro del proyecto Kubernetes, fundador el grupo de usuarios Cloud Native Barcelona (cloudnative.barcelona) y CNCF Community Speaker. En Kubernetes es approver para el contenido en castellano en sig-docs, parte del equipo organizativo de los New Contributors Summits y colaborador en los grupos de experiencia de contribuidores, usabilidad y CLI. - rael.io

    14
  • JVM Tuning: Lo que debes saber antes de subir a producción

    Oficinas de Liferay

    Antes del descanso veraniego, volvemos con una última charla sobre rendimiento y ajuste de la JVM, de la mano de Eduardo Sánchez Contreras, que nos propone el tema de la siguiente manera: "Ya tienes tu aplicación lista, pasando todos los tests unitarios y de integración. ¿Subimos ya a producción? Antes nos vendría bien poder detectar los futuros problemas de memoria y rendimiento. En esta charla hablaremos de distintos tipos de tests de carga. Explicaremos de qué manera se compila el código en la JVM, cómo se organiza la memoria internamente y cómo funciona el Garbage Collector. Mostraremos cómo detectar los memory leaks y cuellos de botella más comunes empleando herramientas como Eclipse Memory Analyzer Tool y Java Flight Recorder, siempre con ejemplos prácticos." Desde luego, la charla es muy útil y algo que todos deberíamos tener en cuenta dado que construimos software que, en algún momento, pasaremos a producción y querremos que tenga un rendimiento adecuado. ¡Te esperamos!

    10
  • How to Participate in the Future of Java && Functional Reactive with Core Java

    En el mes de Mayo tendremos una interesantísima sesión doble: Tendremos el gran privilegio de recibir a Heather VanCura, la presidenta del Java Community Process Program (JCP Program), para lo que probablemente sea una de las charlas más enfocadas en Java y la comunidad del JUG. Será una oportunidad ideal para conocer y hablar de Java y de la plataforma y cómo la comunidad (y tú como miembro de ella) puedes contribuir y participar en su futuro. Por otro lado, coincide también en Madrid en esta fecha Sven Ruppert, Developer Advocate de @Vaadin y uno de los Groundbreakers, que nos hablará de "Functional Reactive with Core Java" Os dejamos la descripción de la charlas y de la bio de Heather: # How to Participate in the Future of Java This session will explore how Java development has been brought into the open and many of the shifts in the Java community over the past year, Several Java developer efforts have brought open source development processes and new levels of transparency and participation into their communities. Learn about the latest Java innovations to the Java SE Platform - Java SE 10, 11, 12 and beyond. Since the initiation of efforts to expand the developer participation in the Java community, Java standards development is more open that it ever has been. Learn how to take part in the Java developer community and the upcoming changes to Java - you can participate as an individual, corporation, or nonprofit such as a Java user group (JUG). This session answers questions about why and how to participate in the evolution of the Java platform. You will also learn about the global Adoption programs and how you can participate in contributing to the future of Java. ## Heather VanCura ### Director and Chairperson of the JCP Program Heather VanCura is the Director and Chairperson of the JCP Program. In her role she is responsible for the chairing the Executive Committee, and providing overall leadership of the community. Heather oversees the JCP.org web site, JSR management, community building, events, marketing, communications, and growth of the membership. She is also a contributor and leader of the community driven Adopt-a-JSR programs. In 2014, Heather became Spec Lead for the ongoing JCP.Next efforts through JSR 364 and JSR 387. Heather is passionate about Java and developer communities. She enjoys trying new sports and fitness activities in her free time. # Functional Reactive with Core Java There are a lot of reactive frameworks in the field, some with functional languages for the JVM. However, Java gives you both. But how you could combine this and use this without adding the next big framework to your project? We will have a Core Java journey to explore a lot of excellent possibilities based on the JDK. ## Sven Ruppert Java coder since 1996, Oracle @groundbreakers, Developer Advocate @Vaadin and Speaker, Helping developers world-wide to grow their business.

    6
  • Introduction to Java based blockchain smart contracts framework (Jelurida)

    Java has been crucial for the worldwide web. Some would argue it is at the heart of it along with HTML and CSS. The programming language that is traditional and useful in creating highly interactive webpages, it is also now useful in making simple or advanced smart contracts and it is number 2 after C++ for most of the rankings also for blockchains. Most existing blockchain smart contract frameworks use their own DSL and proprietary tools making them much less accessible for developers and thus locking anyone who develops solutions on top of them into an esoteric tool chain. In this lecture we will present a blockchain contracts framework developed in pure Java and deployed into standard Java JRE. The talk will cover the topics: - Quick intro to blockchain primitives: - Transactions - Blocks - Miners - Consensus - proof of work - proof of stake - smart contracts We will then deep dive into existing challenges to blockchain contracts design - Stateful contracts - Metering contract execution - Smart contracts security concerns Next we review how our Java based lightweight contracts framework solves these challenges - Stateless contracts support parallelism - Custom class loaders for securely storing and loading blockchain contracts - Utilizing the Java security model for sandbox execution of contracts - Verification of deployed contracts against the contract original source code - Verification of contract execution using multi-signature accounts - Oracle (of delphi) contracts And finally demo the technology and discuss some real-world use cases - Sample smart contract - Unit test a smart contract - Smart contract deployment and execution - Use cases

  • Modern Identity Management (in the Era of Serverless and Microservices)

    En esta ocasión, tenemos la suerte de recibir la visita desde Guatemala de Mercedes Wysss, con una experiencia de más de seis años en desarrollo backend, frontend y Android, y actualmente CTO de PRoduactivity, Mercedes Wyss es ingeniera de software con más de siete años de experiencia en el desarrollo backend, frontend y Android utilizando Java y Kotlin. Actualmente, es CTO en Produactivity, una startup con base en Guatemala. Anteriormente organizaba reuniones en el Grupo de Usuarios de Java de Guatemala de 2012 a 2016. Ahora lleva dos años y medio centrándose en aumentar la participación de las mujeres en STEAM al dirigir un Capítulo de JDuchess en Guatemala y es la líder de una comunidad de Google (Devs + 502) . Ella es Oracle Groundbreaker Ambassador y Auth0 ambassador, también tiene un Duke´s Choice en Extensión Educativo. Mercedes nos hablará en esta charla de la gestión de seguridad e identidad en Microservicios y entornos Serverless. El abstract que nos ha enviado: If you believe that Identity Management (IdM) is just related with the Authentication and Authorization processes, this is a talk for you. IdM is an umbrella term for all of the core logic around identity. That means manage provisioning (assigning identities to user), account management (maintaining those identities), identity governance (assigning them to groups and roles and adjusting permissions as needed), authentication, authorization, identity federation (ensuring users can use the same identification data to access resources on related domains). A login is more than a Single Sign On, we can use Passwordless, Federated Identity (FB, GitHub), Multifactor Authentication. The main purpose of this talk is gain an in-depth knowledge of those terms, in addition explore some PaaS, that can help to achieve all that in our projects easier and faster.

    9
  • Reactive for the impatient

    Oficinas de Liferay

    Recibimos la visita de otro JUG leader, en esta ocasión Mary Grygleski desde Chicago Java Users Group (CJUG). Con una amplia experiencia trabajando en sistemas reactivos, nos hablará de la construcción de sistemas reactivos con Java. ## About this talk. As Java is an object-oriented language that inherently supports the imperative programming style, asynchronicity presents a challenge that can turn the code into nightmare. One way to deal with the complexity of asynchronicity is to introduce reactivity onto the coding level (reactive programming), and/or to handle it on the design and architecture level (reactive systems design). This talk presents to the audience a few of the major Java-based reactive frameworks and toolkits in the market today, such as RxJava, Spring Reactor, Akka, and Vet.x. It will start by going over the basic tenets of reactive systems, and some examples of the problems that these systems aim to solve. It will discuss the 2 most commonly used Java frameworks for implementing reactive coding - RxJava and Spring Reactor, and will show some code samples. It will then bring the audience to the next level of "reactivity' by introducing 2 reactive frameworks - Akka and Vert.x, which are usually used for implementing reactive microservices. It will draw some comparisons between these 2 frameworks and cite some real-life examples of their usages. The takeaways for the audience will be an understanding of the key differences between reactive programming versus reactive systems, and the strength and weaknesses of each of the surveyed frameworks. ## About the speaker: Mary Grygleski Mary is currently a Java Developer Advocate for IBM's Digital Business Group, specializing in Reactive Java systems. She has been riding the software tech waves since 1989, starting with Unix and C, then set sail for Java, open source, and web in the new Millennium, and now venturing into reactive, mobile, and the DevOps space. In her previous incarnations, she worked for several technology product companies in the Route 128 Boston Technology Corridor as well the San Francisco Bay Area. She now resides in the Greater Chicago area, and is an Executive Board member and the Director of Meetings for the Chicago Java Users Group (CJUG). Mary continues to be amazed by how software innovations can dramatically transform our lives. She can't wait to see what the next tech wave will be like.

    2
  • Escribir y publicar tus plugins de Gradle “made easy”

    Oficinas de Zooplus

    Gradle se ha consolidado como herramienta de facto para construir y desplegar nuestros artefactos, igualando, si no superando, al propio Maven. Su DSL nos permite hacer cosas que con Maven eran un dolor y sin embargo con Gradle nos basta un editor de texto. Pero, como dijo Tio Ben, “un gran poder conlleva una gran responsabilidad” y esto implica que deberías aplicar DRY a tus builds En esta charla veremos qué cosas hay que tener en cuenta para crear un plugin de Gradle que pueda ser usado en nuestros proyectos e incluso cómo subirlo al repositorio público de Gradle para que pueda ser usado por la comunidad. Como caso práctico crearemos un plugin desde cero a puro golpe de consola y si el tiempo lo permite, veremos el código de algunos de los plugins que he publicado en estos últimos meses desde un simple ‘hello’ hasta una integración con Google Drive ## Sobre el ponente After several years as developer, I decided to create my own company and offer my services in the self-service environment (ATMs and kiosks). During several years I run an unipersonal company offering services as technical leader to innovate and promote customers processes. I believe in the Open Source Spirit and, as such, I have created several projects open source projects: puravida-asciidoctor-extensions, puravida-asciidoctor-themes and Groogle. I am also the main responsible for the 101-scripts blog about Groovy my prefered language

    4
  • Introducción a GraalVM

    Oficinas de Liferay

    GraalVM es una nueva tecnología creada por Oracle para la JVM que la convierte en una máquina virtual "universal", pudiendo ejecutar código de JS, Python, Ruby, C, C++ o R. Jerónimo nos hará una introducción a GraalVM: - como reemplazo del compilador JIT de Java - para generar ejecutables ultrarápidos de Java sin necesitar la JRE - para ejecutar otros lenguajes sobre la JVM, contándonos sus bondades y sus actuales limitaciones. - interoperar entre diferentes lenguajes Sobre el ponente: Jerónimo López lleva 16 años ganándose la vida como desarrollador, 13 de ellos entorno a tecnologías Java. Declarado troll de Javascript y PHP, es uno de los pesados coordinadores de MadridJUG. Actualmente trabaja en Nextail repartiendo ropa por todo el mundo.

    9
  • HackDay Com. Hispana: Monolitos, Microlitos, Microservicios con Java/Jakarta EE

    Nos volvemos a juntar los Grupos de usuarios de Java de España y Latinoamérica bajo la iniciativa de "Comunidad Hispana" para una nueva convocatoria de otro HackDay. En este caso, desde Suramérica el grupo de usuarios EcuadorJUG será el encargado de orientar nuestra 5ª sesión: Monolitos, Microlitos, Microservicios usando Java / Jakarta EE En la era que estamos de contenedores, cloud y muchas herramientas que escoger en el momento de crear nuevas aplicaciones o evolucionar las que tenemos; presentamos tips y hacemos énfasis en patrones y prácticas elementales que aplican en nuestro día a día de desarrollo de aplicaciones empresariales. A traves de este taller de 2 horas vamos a crear una aplicación desde cero pasando de un Monolito a Microlitos y finalmente a Microservicios. ## Requisitos: Trae tu laptop o mac para disfrutar practicando durante la sesión técnicas. Si puedes, estaría bien que tengas preparada tu máquina con los siguientes - Open JDK 8 - Maven - Tu IDE favorito - Un servidor de aplicaciones o distribución de Microprofile en este caso para el taller vamos a utilizar OpenLiberty (https://openliberty.io) - Docker ## Qué usaremos: Aprenderás a ejecutar y actualizar una aplicación simple basada en servicios REST y desplegada en un servidor Open Liberty. Usaremos Maven a lo largo del desarrollo del taller para crear, implementar e interactuar con la instancia del servidor en ejecución. ### Open Liberty Open Liberty es un servidor de aplicaciones diseñado para la nube. Es pequeño, ligero y diseñado pensando en el desarrollo de aplicaciones nativas de la nube. Soporta todas las APIs de MicroProfile y Jakarta EE (Java EE). También se despliega en todas las principales plataformas de nube, incluyendo Docker, Kubernetes y Cloud Foundry. ### Maven Maven es una herramienta de automatización de la construcción que proporciona una forma eficiente de desarrollar aplicaciones Java. Usando Maven, vamos construir nuestros servicios. A continuación, realizará la configuración del servidor y los cambios de código y verá cómo los recoge un servidor en ejecución. También explorará cómo empaquetar su aplicación con el tiempo de ejecución del servidor para que se pueda implementar en cualquier lugar de una sola vez. Finalmente, empaquetaremos la aplicación junto con la configuración del servidor en una imagen Docker y la ejecutará como un contenedor. # Presentadores: Alberto Salazar es Java Champion, Oracle Groundbreaker Ambassador, Auth0 Ambassador, Lider y fundador del Grupo de Usuarios Java del Ecuador y Javaday Ecuador, miembro asociado del Java Community Process y entrenador/evangelizador de Java en el tiempo de Sun Microsystems. Hace 10 años fundó una compañía en Latinoamérica y por mas de 17 años ha entregado soluciones principalmente desarrolladas en Java desde sistemas militares a soluciones bancarias. Co autor del libro "Software Architecture with Spring 5.0". Finalmente Alberto ha participado varios años como orador frecuente en conferencias de clase mundial como: Oracle CodeOne, Voxxed Days, JavaOne, Oracle Code, Redhat Summit, CamelOne, Oracle Developer Tour Latam, Oracle OTN y localmente en las sesiones de Grupos de Usuarios Java. Twitter:https://twitter.com/betosalazar Kleber Ayala; es un arquitecto de software con mas de 17 años de experiencia, apache committer, co fundador del Grupo de Usuarios Java del Ecuador y de la conferencia Javaday Ecuador. Twitter: https://twitter.com/keal_

    5