Our world is a kind of system. We need to understand this to be able to manage it. Imagine that it is similar with building a web applications architecture - you should know the context necessary to create the system.
The topic we are discussing today occupies an honorable place in software development - this is obviously the architecture of web applications. The article aims to help non-technical people better understand the technical side of the company and improve communication with programmers.
Web applications architecture in detail
Most people, even not closely connected with the IT industry, have a basic idea of how web application architecture works. Application front end sends a request to the application back -end, which in turn sends them to the database and executes the business logic and then returns the response to the front end.
On the server side ( back- end) we have an application or a set of applications connected to the Internet or cloud. The two components that define the backend are web servers and databases.
The web server is easy to understand but also complicated. The web server process is all that responds to an HTTP request and returns a file to it. Using a web server, a programmer can create a static page that does nothing but presents information.
The second part of the backend is the database. Each semi-intelligent www server uses a database that maintains something. The database is not necessarily related to internet technologies. For example, hospitals store physician and patient data in a file system. This is an offline database. Not every database needs a web server, but 99% of projects with a web server require a database.
In most cases, the server and database are on different computers, but they have their own connection, which ensures higher performance and optimal use of space.
Back end is a system of connected computers that communicate with each other. In real web applications, the backend is not limited to the server and database. There are over 30 processes running in the back office of the application. If you press the "Buy" button on Etsy , the order will go not only to the web server and database, but also to 50 computers processing your request. It goes to the payment system, inventory, security, notifications to inform the supplier to start preparing the order.
The background process occurs when you need more time to process your request. The website is fast, but sometimes it takes longer to load. Background processing eliminates user waiting time. Copes with things that physically take more time, such as crushing numbers, processing huge amounts of data.
The second process is buffering. In the most basic use case- you receive a request from the www server and it goes to the database that responds. However, getting to the database can be a costly task, especially if the same request is sent 100 times. Therefore, you can cache the answer to let the client know faster. Remember the basic idea of cache - faster and easier access to questions, doubts and situations that often occur.
Usually the front-end or client side is easier to conceptualize than back- end. Front-end is any type of code that works on the client side. For example, the client opens the Chrome browser used to watch video.
The main premise of the Internet is the client-server relationship, in which clients send requests to the server. Let's illustrate the architecture of web applications using normal offline activities. Imagine going to a restaurant and ordering a steak. You are a customer and the restaurant is a server. You order a steak and the restaurant responds with a meal. Back -end is a restaurant and front-end is a customer.
Remember that front-end and back -end always combine. When you ask the developer for a change, the change will be made on both sides.
Connection between backend and interface
Let's return to the basic model: the front-end application is something that we work with and that sends requests to back -end processes .
An older way of running Internet applications would be a process that back -end would render all HTML and return it back to the front end that displays the data. All HTML rendered in the backend is returned in response. The browser only needs to display it.
Many applications now use the newer model in which the back -end does not return HTML but data. The front-end is responsible for generating all HTML tags. But the web application mixes both models in which the backend can correspond to 50% of the page in HTML, and the front end renders the rest.
As non-tech, however, you shouldn't think of all the technology you work with as a magic black box. The best thing you can do to strengthen communication with programmers is to understand what responsibilities are placed on different parts of the technical system.
► If you have additional questions about the architecture of web applications architecture, we will be happy to answer them. Contact us and get a free consultation.