Whether you’re looking at the constrained devices that make for the „things“ of the IoT, gateways that connect them to the Internet, or backend servers, there’s a lot that one needs to build for creating end-to-end IoT solutions. We will look at the typical software features that are specific to IoT, and see what’s available in the Java and open source ecosystem to implement them.