Skip to main content

Layered architecture of a modern web application - Analyzing needs of CMS

 Layered architecture of a modern web application discussed nowadays, in any framework



Throughout my entire career, I have searched for the word design and architecture, and I am talking about Application Design in Software Development.
Today I am going to discuss one same thing with you.
When design a web applications solution architecture, the aspects are commonly Performance, Scalability, Cost effective and Robust.
Now performance and scalability comes with layers in an application. A web application serving a particular requirement. And a specific feature which you can break down from the requirement, obviously asks for a feature, and that is scalability. Think about a shopping cart feature, and it requires to be scalable in terms of number of end users interreacting at any specific time.
We generally think about how the feature can be scalable enough and then comes the obvious factor which is layers. A layer can be a hosting solution, a framework, a third party solution like sending mail in bulk..and so on.
Now adding layers can have many diversions. And obviously it depends on the application you are building. So to limit, I will talk about Web applications, and more specifically websites.
Websites generally having contents, media, user data collection campaigns, structured data, and different type of animations.
Now a well accepted concept in web development is to put all contents and media and the configurations like categorizations to store in database.
This requires a RDBMS database, which slows down the data fetching, because of integrity and constraints and join queries. Here many debates are possible and some of you may not agree with me here, but think about a perspective: a content or a structured content is static in nature until it's being edited.
My thoughts are to keep content and configuration/structure of contents in files, or in NoSQL. Another point of debate indeed.
However you have to manage this content anyhow, even those are files. Here JSON or Markdown have major role, as those are structured data. And a CMS kind of application should know how to control these files.
Media should be in CDN, and should seek a download time window when requested by user.
Your consumer input are now the only data, that you need to secure. Hence any paid service you can procure.
So layers are:
a static html javascript build site with hybrid nature to - call APIs
- a CMS to handle structured data
- paid API service
Hola, I am wrapping this discussion now, however not ending this. Please share your thoughts and inputs.

#layeredarchitecture #Architecture #architecturedesign #contentmanagement

Comments

Popular posts from this blog

Once before lockdown

It was the end of March 2020, and I was a little scared. I had a production movement planned, and for team integration, I must be present in the office. It’s a story of that day, which is nearly 1.5 months earlier, the Covid-19 lockdown already declared. And some of my colleagues decided to reach very early in the morning, finish everything, and then come back home. I was at the bus stop; few buses were coming and all of those will not go till the end destination. I unknowingly, almost step inside a bus, and the conductor ceased me, asking where I wanted to go. I got a kick and he told me that he’ll not go till SEZ area, and he warned me about the lockdown condition. With a half an hour waiting, thanks to God, I took a bus and got terrified just when I was in the middle of the crowd, I saw, mostly half of them had their masks on. I was getting more scared and already started remembering God. One of the Lady sitting in the front seat was talking to her mother, asking that br

SimpleSAML Installation in Windows Apache

Say you want to install SimpleSAMLphp in windows Apache/Xampp. Let me tell you what I did so far: I have downloaded latest stable version from  https://simplesamlphp.org/download  and placed the unzipped file in Apache folder, i.e. C:\Apache24\simplesamlphp directory contains composer.json. I have downloaded dependencies as well. Now when I am going to setup the vhost as shows in the site 6. Configuring Apache section as <VirtualHost *:80 > ServerName localhost DocumentRoot C:/Apache24/htdocs <VirtualHost *:80 > ServerName service.example.com DocumentRoot C:/Apache24/service.example.com Alias /simplesaml C:/Apache24/simplesamlphp/www Changed the config file Now I faced the problem: I am unable to open the Alias in browser. And running httpd.exe in browser shows error about the example.com does not exist. Later I found that I was doing some mistake... I am going to add one vhost, rather in Windows Xampp, t

An introduction to Doctrine - ORM framework - How to install & what are the usage: draft

Today we are going to discuss a very popular database encapsulation wrapper framework ( used to be known as O bject R elational M apping ). This has been evolved on Apr 2006, and name was zYne-. Finally Doctrine released with its own name and with 1.0.0 stable release on Sep 1, 2008. Now what is Doctrine, if we want to discuss on it, below are the best points to describe it: It's an Object Relational Mapper framework Persistence and transnational property of an entity object in PHP is quite transparent Using this framework the database layer can be completely isolated. It uses a Data mapper pattern , so the actual business logic is completely isolated from Database entities persistence The implementation is done by a specific Query Language ( D octrine Q uery L anguage), which similar to SQL but some object oriented idiom is in it Install doctrine to your project:  You need doctrine/orm and doctrine/doctrine-bundle and those be installed via below composer commands compo