Schedule – Java

I Code Java Conference 2020

09:00 - 09:30

Keynote: 7 Latest language changes every Java developer should know

Evolution has always been in the Java DNA, and according to Darwin, "It is neither the strongest nor the most intelligent that survives. It is the one that is most adaptable to change". Join this session to stay ahead of the curve as Java adapts to the changing technology landscape and becomes more relevant than ever. The audience will take away why, how, and where to use these language modifications that will transform your everyday coding experience. You'll see for yourself if it is worthwhile adopting all these new features.

Mala Gupta | Developer Advocate

09:40 - 10:10

Developing the Apache Way- No Jerks Allowed!

Half of the top ten downloaded Open Source products are Apache projects, thousands of enterprise solutions are built on Apache build tools with more forming the foundation of today’s global computing. With hundreds of solo contributors, no technical directive, no hierarchy, how does it all happen?

Eddy Kioi | Cloud Architect

10:20 - 10:50

Simplify State management with Spring Boot HATEOAS and KFSM

This talk will guide you on how to use KFSM to improve your HATEOAS based API to simplify the UI developer experience

Corneil du Plessis | Chief Software Architect



11:30 - 12:00

From procedural to OOP design

We will explore the subject of building Eclipse MicroProfile based Applications, employing an OOP design for the business logic. Definitely we will start with the motivation and then we will talk about some of the challenges people find to come up with an OOP design and to actually make it work. We are going to look at some strategies, patterns to make it work and to give the code more meaning. This is not some cheap talk. We will be looking at code as we walk through the Journey.

Mário Júnior | Head Of Software Development

12:10 - 12:40

Effective Java with Groovy & Kotlin – How Languages Influence Adoption of Good Practices

I walk you through code examples highlighting the Groovy and Kotlin way of implementing the 'Effective Java' suggestions. There are several instances where Groovy and Kotlin take different approaches. As a participant, you walk away appreciating the simplicity with which these JVM languages empower the developers. The talk also provides food for thought - how languages can influence its users to adopt good practices.

Naresha K | Consultant

12:50 - 13:20

An App’s Brief Journey from Source to Image to Cloud – A recipe

Let’s bake a Cloud-Native Spring Boot Cake. First, let’s look at creating our Spring Boot Cake “Base” from secure container images using Cloud Native Build Packs. Then Bind these ingredients to Cloud services like Cosmos DB, Redis, and more. Add a sprinkle of load balancing, log streaming, monitoring, and distributed tracing. Bake in an Azure Spring Cloud Oven which can deliver rolling upgrades and blue-green deployments so that it’s easy to continuously deliver changes. Join me as I show how to easily deploy cloud-native apps and accelerate your digital transformation with the power of Spring Cloud, Cloud-Native Build packs, and the Azure cloud platform.

Rory Preddy | Senior Cloud Advocate



14:00 - 14:30

Build and Deploy Applications to the Cloud

You've setup a project and got it to run on your machine. Now comes the part to deploy, but where, and how? Cloud computing offers the ability to host applications anywhere, anytime. In particular the Oracle Cloud offers a wide range of APIs you can choose from. Particularly from a Java developer’s point of view, the Oracle Cloud Java API is well suited for enabling additional capabilities as plugins to well-known build tools such as Gradle and Maven as well as Java IDEs. In this session, you’ll see what this API is; what capabilities it offers for querying, searching, and deploying to Oracle Cloud; and, finally, a live example of build tools in action.

Andres Almiray | Java/Groovy Developer and Java Champion

14:40 - 15:10

Thirst-Quenching Streams for the Reactive Mind

With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. This encompasses efforts aimed at runtime environments that include JVM and Javascript, as well as network protocols. So how do the various library implementations of Reactive Streams, such as Spring Reactor, Reactive Extension (Rx)'s Observables, and RSocket, stack up against each other? This presentation will go into some details on how streams leverage on the underlying multicore processor to achieve parallelism. It will then explain the push vs the pull streaming model. It will then use a simple use case with code examples to illustrate the different API usages, as well as runtime processing analysis between a few popular Java implementations of Reactive Streams.

Mary Grygleski | Java Developer Advocate



15:50 - 16:20

Java ecosystem stewardship, 25 years of progress in the making

This year Java will celebrate it's 25th birthday. Such an anniversary milestone is no easy feat. Keeping Java a favorite choice for millions of developers has not happened by accident; rather it's through the continual careful stewardship, addressing ongoing challenges and evolving developer expectations, that keeps Java vibrant. Good stewardship doesn’t only mean having a compelling technical roadmap — it also means keeping the community and ecosystem vibrant. Not all of it is obvious and not all rumors are true; this talk will shine a light onto what the Java team at Oracle has done for us (the community and ecosystem), lately, in OpenJDK and beyond. What has Oracle ever done for Java that will keep Java going for the next 25 years and beyond? Come attend to learn how to separate fact from fiction.

Sharat Chander | Director of Java Product Management and Developer Engagement

16:30 - 17:00

The Future of Java & You

Learn about the latest Java innovations being developed through the Java Community Process (JCP) program to be brought to the Java SE Platform through the OpenJDK development efforts – Java SE 14 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 | Java Community Lead

17:10 - 17:40

DevOps for Java Shops

DevOps is great, if you have the people, processes and tools to support it. In this session I’ll highlight the easiest ways for Java developers to work with their IT organizations and partners to deliver their code to the cloud, including the best ways to reliably make updates and maintain production cloud code. The focus is on real-world examples using Linux command line tools, open source tools including Jenkins, and other free SDKs and tools available on GitHub.

Brian Benz | Cloud Advocate