Three-Tier and MVC implementations are becoming more popular for Ektron customers.
Many developers hear MVC and Three-Tier used interchangeably and may assume they are the same thing. This is not the case, and the information below should assist in evaluating those options more clearly.
This article points out differences between MVC and Three-Tier architecture, and how they relate to current Ektron product.
Before describing the differences and Ektron relevancy, it is important to have a simple definition to a complex subject.
What is Three-Tier?
It is a method of abstracting an application into separate tiers or layers, so that each layer performs a specific responsibility for the application.
- Presentation logic - the user interface (UI), which displays data to the user and accepts user input. In a web application, this part receives the HTTP request and returns the HTML response.
- Business logic - handles data validation, business rules, and task-specific behavior.
- Data Access logic - communicates with the database by constructing SQL queries and executing them via the relevant API.
What is MVC?
The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts: the model, the view, and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm:
Input --> Processing --> Output
Controller --> Model --> View
Differences in Architecture
Upon hearing that the application has been split into three areas of responsibility, many developers assume that the both architectures have the same responsibilities. While there are similarities, there are some important differences:
- The View and Controller both fit into the Presentation layer.
- Although the Model and Business layers seem to be identical, the MVC pattern does not have a separate component which is dedicated to data access.
The image below illustrates the point and was taken from here.
Now that you have a basic idea of the architectures, the information below should point you in the right direction in regards to what Ektron offers in these solutions.
Out-of-the box, Ektron supports Three-Tier implementations after 8.5 versions. For more information, please review the product documentation here.
For MVC, our developers have put together a sample in 8.6 versions. Please click here for more information.
There are special considerations in developing in either environment, because the standard Ektron solution is a Web form solution. With that in mind, the best route for any development is to use the Ektron Framework APIs. For more information on the framework please click here.