17:30 Doors open
18:30 Securing the JVM - Neither for fun nor for profit, but do you have a choice?
19:15 Cloud Native, Service-Meshed Java Enterprise With Istio
20:15 7 Principles of Productive Software Developers
About the talks
Securing the JVM
The Java API allows a lot: sending packets over the network, compiling code, etc. If you put an application in an production environment, you need to make sure it doesn’t do more than it’s supposed to do.
Code reviews are good to improve the hardening of an application, but what if the malicious code was planted purposely?
Some code buried in a commit could extract code from binary content, compile it on the fly, and then execute the code in the same JVM run...
By default, the JVM is not secured!
Securing the JVM for a non-trivial application is complex and time-consuming but the risks of not securing it could be disastrous.
In this talk, I’ll show some of the things you could do in an unsecured JVM. I’ll also explain the basics of securing it, and finally demo a working process on how to do it.
Cloud Native, Service-Meshed Java Enterprise With Istio
In enterprise software, we see more and more of the cloud native technologies, especially container orchestration and service meshes, emerging and slowly taking over the market. Developers are facing the challenge which technology to choose to implement microservices for a cloud native setting. Java Enterprise has been used for software solutions for a long time and its APIs are well-established in the ecosystem. However, is it possible to develop cloud native, service-meshed Java Enterprise applications that fulfill concerns such as scalability, resiliency, and telemetry - in an effective, manageable way?
This sessions shows how to implement service-meshed applications using Java EE 8 and MicroProfile. We will develop a mesh of microservices, managed by Kubernetes and Istio. We'll see why especially the Java Enterprise approach fits the concepts behind container orchestration and service meshes well. The session also includes how to integrate the required cross-cutting concerns, such as monitoring, tracing, or resiliency into our applications, where developers have to actively integrate technology themselves and where the platform support us.
7 Principles of Productive Software Developers
When working as a software developer, as well as in any other job, it’s important to be productive and to get things done. You want to focus on what adds value, increase your development speed, and cut out as many of the cumbersome, boring and repetitive tasks as possible.
This session shows seven principles how to accomplish the goal of being more effective and efficient as a Java developer. These principles include technical as well as self-organizational aspects. We'll especially see how we can get the most out of our tools, why the invention of the mouse was a setback in productivity, and which mindsets to follow. This talk is not limited to specific tools or technologies yet it'll provide examples and experiences, and it is brought to you by a German - from the country of efficiency.
About the speakers
Nicolas Fränkel - A Java geek
Sebastian Daschner is a self-employed Java consultant, author and trainer and is enthusiastic about programming and Java (EE). He is the author of the book ‘Architecting Modern Java EE Applications’. Sebastian is participating in the JCP, helping forming the future standards of Java EE, serving in the JAX-RS, JSON-P and Config Expert Groups and collaborating on various open source projects. For his contributions in the Java community and ecosystem he was recognized as a Java Champion, Oracle Developer Champion and double 2016 JavaOne Rockstar. Besides Java, he is also a heavy user cloud native technologies. He evangelizes computer science practices on https://blog.sebastian-daschner.com, his newsletter, and on Twitter via @DaschnerS.