Scientific Engineering of Distributed Java Applications (Springer Berlin Heidelberg, 2020)