• The Joy of Functional Programming & The Power and Perils of Parallel Streams

    About the speaker Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects. Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You can reach him by email at [masked] or on twitter at @venkat_s. Session 1: The Joy of Functional Programming It's been around for a long time, but everyone's talking about it all of a sudden. But why and why now? We've been programming in languages like Java for a while, quite well. Now we're asked to change and the languages themselves are changing towards this style of programming. In this keynote, a passionate polyglot programmer and author of _Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions_ will share the reasons we need to make the paradigm shift and the pure joy, the benefits, we will reap from it. Session 2: The Power and Perils of Parallel Streams If streams can be parallel, why not make them parallel all the time?—is a common question from developers getting introduced to Java 8 streams. In this talk we'll take on three separate topics. 1. When to consider parallelization and when not to. 2. How to parallelize, how to decide on number of threads, and how to control the threads pool. 3. Learn about some common mistakes people make when using parallel streams. The goal of this talk is for us to learn when and how to make good use of parallel streams.

  • A strategy for the new Java Lifecycle & Comparing performance of Java Frameworks

    Session 1: A support strategy for the new Java Lifecycle Miguel Pereira is going to present us this session. Miguel is Product Manager at Feedzai. In this role he helps Feedzai building a product with strong foundations and where concepts like scalability, performance or resilience play an important role. Miguel has past experience in different areas from delivery to R&D for large telecom companies. Miguel is a passionate for technology in general, enjoys photography and he is always ready to learn more. Session abstract: Java is one of the most popular programming languages in current use. With recent changes to Oracle JDK distributions and support, there has been considerable uncertainty about its future. Oracle decided that from Java 11 onwards there will not be any free Long Term Support (LTS) for any Java version any longer. In addition to this change, Java now has a release cycle of 6 months (since Java 9). This greatly impacts how each version is supported. Oracle's goal is to push Java forward with more pace and to focus on new innovations. At the same time still enabling organizations who wish to remain on legacy versions to do so via its commercial support option. The associated problem is that developers and users will continually need to upgrade their Java version every 6 months - which is not always feasible. The Feedzai technology stack uses Java extensively. Thus, we want to guarantee that those changes do not create disruptions to our customers. This presentation is focused on the different steps we are taking in order to guarantee a smooth transition for our clients, from discovery until rollout to production. Session 2: Comparing performance of Java Frameworks Bruno Baptista, Is a well versed Java and Open Source technology developer and Tech Lead Engineer at Talkdesk. With over 10 years as an enterprise level engineer, is an Apache TomEE contributor, Microprofile.io committer, JUG organizer in Coimbra, co-founder of Cork JUG in Ireland and co-founder and organizer of the JNation.pt conference. Spring Boot and Jakarta EE/Java EE have been the frameworks of choice to develop services in Enterprise Java. Recently, a new player jumped in, Quarkus. Made by Red Hat, It uses a short list of common libraries, including Microprofile. It's tailored for GraalVM & OpenJDK HotSpot and promises exceptional startup performance. The presentation will show the same application developed on the 3 platforms. It will feature Apache TomEE, Spring Boot and Quarkus to highlight the main differences between them regarding development, deployment and performance.

  • Lightweight Enterprise Java with MicroProfile and GraalVM

    Instituto Superior Técnico

    We are glad to announce our first meetup with Roberto Cortez who is a passionate Java Developer and Java Champion with more than 10 years of experience. He is involved within the Open Source Community to help other individuals spread the knowledge about Java technologies. He is a regular speaker at conferences like JavaOne, Devoxx, JFokus, and others, leads the Coimbra JUG, JNation conference and enjoys writing blog posts. Roberto is going to present us two very interesting sessions: Lightweight Enterprise Java with MicroProfile I laugh at people that tell me that Java is slow, heavyweight and cumbersome. Maybe it was true when we had EJB2. I will prove to you that we can develop Enterprise Applications with just a few lines of code that can run in a Raspberry PI. If it runs in a PI, I think we can safely say it would run anywhere! To be able to do it, I’m going to use a new platform called Microprofile. Microprofile optimizes Enterprise Java for a Microservices Architecture and delivers application portability across multiple runtimes. You can use a subset of the Java specifications to develop Microprofile applications, with JAX-RS, CDI, and JSON-P and later evolve it with Config, OpenAPI, Metrics, Tracing and JWTs. Join me for this live coding session and help me spread the word that Java is actually great for the Enterprise. GraalVM and MicroProfile: A Polyglot Microservices Solution Microservices need to support many programming languages, requiring both a language-agnostic network protocol and a polyglot runtime environment. In addition, microservices written in one language may need to use APIs written in some other language. Using the MicroProfile conference sample architecture implemented as a polyglot solution (Java, JavaScript, Python) on GraalVM, this presentation demonstrates how MicroProfile JWT, MicroProfile Metrics, MicroProfile Rest Client, MicroProfile Health Check, and more can provide architecture-level interoperability across concerns. Attendees interested in creating a polyglot solution on GraalVM compatible with MicroProfile will get a demo-heavy introduction with occasional dives into the code and leave with read-to-run samples in GitHub. Don't forget to join the meetup and answer the RSVP, there will be some raffles to the inscribed attendees.