This document describes the multilayered architecture of the eSobi website. It consists of a presentation layer that handles requests and responses, a service locator layer that manages services and data access objects, a business logic layer that contains services, a data access layer for database interaction, a domain object layer for modeling data, and a utility layer. Aspect oriented programming is used to increase modularity by separating cross-cutting concerns like transactions using dynamic proxies.