ACHIEVING FOUNDATIONAL ARCHITECTURE IN JAVA: A REAL-WORLD HANDBOOK