I’ve been thinking a lot lately about the roles various APIs play in our system architecture, and why it’s important to understand those distinctions. Most of the APIs that power carmax.com fill one (or more) of four basic roles: Data Access Layer Business Logic Layer Server-Driven UI Backend For Frontend In this article, I’ll talk about what each of those is and how we use them.