Java Architect Questions