This article is one of a three part series introducing basic web (application) development concepts

Introduction to Web Dev
Learn to Code

Here, I'll introduce three sets of very important and common concepts found throughout web development

(side comment - in nearly every field and discipline, such rote definitions always get way more ephemeral/fuzzy the longer you do it and the higher up you go - what's important are the concepts not memorizing terms)

Core Concepts

Web Application: a client-server software application in which the client (or user interface) runs in a web browser.

Application Server: a server on which a web application runs. Users make requests to the server – the server responds by serving the correct web page using models, views, and controllers.


(an implementation pattern utilizing the concepts of models, views, and controllers)

Models: the data to be displayed (and how it’s organized, as well as structured after getting picked up from the database or other sources) in the view or handled by logic routed by the controller.

Views: what gets displayed (to the user, etc.).

Controllers: determines what gets displayed and what logic is executed based on request or specified need. Why the asterix and not a C in the title? We'll get to that another time.

Service Layer Architecture

(the separation of a web application into areas of concern)

Data Layer: source of data and information. The “heart and soul” of the application. Often a database or databases.

Domain Layer: structures and organizes data layer information into information usable by the service layer. Contains non-persisted data (data that has not been sent to database) using models. Service layer logic operates on domain entities and are persisted intelligently (as need be only) to the data layer using an ORM.

Service Layer: the business logic of the web application - where the controllers are located plus all the associated logic.

Presentation Layer: what the user manipulates through their client (meaning here, a browser on a device). The view, the UI.

See It

(it probably looks a bit mangled - my apologies - check it out in its natural habitat below)