Self-contained systems is an architectural approach, focusing on separation of concerns of independent subsystems to create fully-functional system, based on cooperation of many small applications. For this approach, it is essential for solution to be independent from the other applications.
Solutions capable of making your projects independent from JRE on your users' computers have long since existed in the Java world. But tool capable of doing it without crutches and wheel-recreating has arrived only with Java 9.
We'll talk about Custom Runtime Images, one of the most important features of Java 9, and how to implement it now, when your dependencies are not ready for Java 9 yet.
In this session we'll demonstrate via examples new possibilities of Java 9 for self-contained systems, approach to migration of the applications and how this technology could be implemented for developing command-line tools and deploying of applications in containers.