Schedule – Java

I Code Java Conference 2019

08:00

Registration

09:00 - 12:00

Implementing Microservices with Eclipse MicroProfile

In this workshop, you will learn about the MicroProfile programming model for developing microservice applications. Although MicroProfile is currently based on Java EE technologies, the expectation is that this will evolve to using the corresponding Jakarta EE technologies. We will go through the APIs and implementations for: * Externalized Configuration * Fault Tolerance * Health Checks * Application Metrics * Security * Open API * Open Tracing * Client API You will learn how to run your applications in available implementations from different vendors.

Ivar Grimstad | Principal Consultant
& Phillip Kruger | Senior Solution Architect

12:00

Break

13:00 - 16:00

Azure 101 Hands on lab

Some of them are the best Developers are now in a difficult position: they need to improve their skills as fast as possible, because cloud computing is basically changing their jobs. Join me for a workshop that introduces Azure in a hands-on lab format.The workshop is aimed at developers, team leaders and architects regardless of the software projects they are involved in and is intended to create an understanding of where, when and how to use this paradigm in development engagements.The workshop will introduce Azure as a platform for building and hosting web systems and services in the cloud.Attendees will get the opportunity to test what was learned by configuring and building Azure based services.

Rory Preddy | Azure Audience Developer

08:00

Registration

08:45

Welcome Message

09:00 - 10:00

Duke goes Serverless

Serverless, Functions as a Service and Cloud Functions are all different names for the same thing. All cloud providers offer solutions for running functions in a most programming languages, Java being one of them. This session will give you an understanding of the serverless concept and the implications of implementing your functions in Java. Different FaaS options will be presented and demoed with special focus on the Fn project and the newly announced Oracle Functions. The session is a mix of slides and live code demos.

Ivar Grimstad | Principal Consultant

10:00

Sponsors Session

10:40

Tea break

11:00 - 11:35

Docker & Java: What I wish I had been told

Containers are nowadays more than a cool new tool to play with. They simply revolutionized the way we develop, architect and ship our softwares and become part of our day to day operations. On the other hand, Java has been around for more than 2 decades now, dominating the entreprise world. Both advocate the "RUN anywhere" principal! But, is it that easy ? No! Your perfect working local container, will, most probably fail on production because of MEMORY &/or CPU issues, since jvm apps assume they OWN the server they are running on.In this session, will look at the gotchas of running JVM apps in containers & how to avoid costly pitfalls. What updates Java 10 brought to the table to improve container awareness. What are the issues related to prior versions and how to address each one of them to avoid the mess.We will also highlight some tricks to obtain smaller images & best practices while writing your DockerFiles, showcase some plugins to helps none containers expert to integrate docker in their development process. We’ll finally introduce the concept of "Distroless" Docker Images and how to benefit from it.

Mohammed Aboullaite | Deputy CTO

11:35 - 12:10

Writing better APIs with MicroProfile GraphQL

“GraphQL is a data query language developed internally by Facebook in 2012 before being publicly released in 2015. It provides an alternative to REST and ad-hoc web service architectures.” In this talk, we will * Go through the basics of GraphQL * Discuss the differences with REST * Go through a basic example in Java. We will look at the following GraphQL concepts: * Query * Fragment and Named * Filtering * Variables * Mutation * Error Handling * Introspections

Phillip Kruger | Senior Solution Architect

12:15

Lunch

13:05 - 13:40

Let’s Chat! With JAX-RS and Server Sent Events

Server Sent Events are a powerful part of JAX-RS 2.1. They enable lightweight event notifications over HTTP - perfect for microservices. In this session we will look at a simple chat room example using SSEs in Java and JavaScript with the JAX-RS 2.1 APIs. Come on in! Let's chat!

Andrew Mc Cright | Web Services Architect

13:40 - 14:15

Did you know, a diverse team is 35% more likely to produce above-average results?

From the science behind why diversity boosts performance, to why having just one woman on your project team is more of a problem than you might think, this talk takes a closer look at the realities of inequality in our industry, how each one of us has a role to play in the solution and what we should be doing to move our industry forward.

Claire Wood | Leader

14:20

Sponsors Session

15:05

Tea break

15:20 - 15:55

Jenkins X: Progressive Delivery for Kubernetes

Jenkins X is an open source CI/CD platform for Kubernetes based on Jenkins. It enables CI/CD-as-code using Jenkins Pipelines and automated deployments pull requests using Skaffold, Helm and other popular tools. We will demo how to use Jenkins X on any Kubernetes cluster for fully automated CI/CD and Progressive Delivery using Canaries.

Carlos Sanchez | Software Automation

15:55

Q&A Speaker Panel

08:00

Registration

08:45

Welcome Message

09:00 - 10:00

Quarkus

Java, Turbocharged. Over the last twenty years, there has been a paradigm shift in software development: from meticulously planned release cycles to an experimental way of working in which lead times are becoming shorter and shorter.How can Java ever keep up with this trend when we have Docker containers that are several hundred megabytes in size, with warm-up times of ten minutes or longer? In this talk, I'll introduce you to Quarkus, which allows us to create super small, super fast Java containers! This will give us better possibilities for scaling up and down - which can be a game-changer, especially in a serverless environment. It will also provide the shortest possible lead times, as well as a much better use of cloud performance with the added bonus of lower costs.

Marcus Biel | Director of Customer Experience

10:00 - 10:35

From Development to Production: Deploying Java and Scala Applications to Kubernetes

So you’ve built your Java or Scala application ...… now what? Akka / Spring Boot / PlayFramework / Lagom make developing production quality microservices easy, but rapidly iterating on these services and then orchestrating and deploying them can be a challenge. This talk will focus on ways to leverage Kubernetes to build a smooth and repeatable path from the creation of a microservice on a developer’s workstation up through to a production environment managed by Kubernetes in the cloud or on-premise datacenter.

Daniel Ochieng Olanga | Head of Engineering

10:40

Tea break

11:00 - 11:35

Programming for accessibility

Have you ever heard “You have to be this tall to operate a mobile phone?”. Programming for diversity serves as an unquestionable indicator that your software embraces and cares about your users’ safety and comfort. Join me on a thought-provoking look at how you can program for accessibility.

Rory Preddy | Azure Audience Developer

11:35 - 12:10

Java for GUIs – from AWT to Now

We will take a trip down memory lane: from AWT & Swing to Eclipse SWT & RCP to the latest Java GUI frameworks for desktop and mobile, like JavaFX and CodeNameOne. We will explore the current state of creating cross-platform GUI applications using Java, and also look at some handy examples from the Griffon framework and CodeNameOne.

Herman Lintvelt | Founder

12:15

Lunch

13:05 - 13:40

Code Review: Doom’s original source code and what it can still teach us today.

1993’s Doom is undoubtedly the biggest 3D FPS of it’s time. Programmer John Carmack was able to get the hardware of the day to do things never thought possible – but how did he do it? This deep dive into the original source code of Doom teaches us lessons we can still apply today.

Gerard de Jong |

14:20 - 15:05

My Java Azure whirlwind ride

Azure has so many services and so many APIs to communicate with them. This is my experience with Azure with Java and Azure Kubernetes Service (AKS).I will give real world samples on tackling specific use cases.

Richard Kolb | DevOps Developer

15:05

Tea break

15:20 - 15:55

The Future of Java is Today

With the introduction of the Java SE six-month release cadence, Oracle is able to deliver innovation faster than ever to developers. The pipeline of new technical investments has never been greater. In this talk new features for the Java language and platform will be shared including coverage on future projects

Sharat Chander | Senior Director of Java product management and developer affairs

15:55

Q&A Speaker Panel