Anderson, Greenspun, and Grumet's "Software Engineering for Internet Applications: Software Structure"

Read this article.