Dynamic distribution of Java applications