A Software is like a Cake.
5 Layers of Software
Every Developer Should Have Cake
Hello, I am Richard. As a programmer, I’m enthusiastic about developing software. This includes both the building process and learning how to improve it. “Software is like a 5-layer cake.”
Each of the five software layers contributes value at different times and in different ways. In this article, I’ll explain what each of the layers is in charge of in the simplest way possible.
- Hosting:(Where data is stored)
The act of storing and serving content over the Internet is referred to as hosting. In this case, hosts are servers that store all of your data, files, images, and databases." Web hosting" is one of the most common types of hosting services.
The goal of web hosting is to provide a physical server that can be connected to the Internet and host websites. Web hosting allows you to access your websites from anywhere you have an Internet connection because it provides the space where all of your websites are stored and hosted. Hosting can be accomplished in a variety of ways. You can, for example, host your website on a dedicated server or a virtual private server too.
2. Database: (How data is Stored)
A database is a collection of data that is organized for easy access and management. A database management system (DBMS) is designed to let users access and modify the data stored in a database.
There are five major layers to a database:
- The physical layer is the innermost layer, and it deals with how data is stored on discs, tapes, or any other type of permanent media.
- The second layer is known as the file management layer, and it is responsible for organizing files into databases and directories.
- The logical layer is the third layer, and it deals with how data is identified and grouped into records and fields.
- The fourth database level is known as the application programming interface or API level, and it deals with how applications interact with databases.
- The external level is the topmost layer of the database, and it deals with how applications or end-users interact with databases.
3. Logic Layer: (How data is processed)
The logic layer is the most important component of an application. It is the layer responsible for data processing. It is divided into two sections: input and output.
Turing’s machine is a straightforward representation of any computer system, consisting of a central processing unit (CPU) and a memory unit. The memory stores data (information), and the CPU retrieves and executes instructions based on that data.
Inputs can be a keyboard, mouse, touch screen, or something similar, which interact with the software and generate outputs for the user via a graphics card, monitor, or speaker.
The software can be embedded in hardware or run on a computer’s operating system. Higher-level software is typically run on an operating system such as Windows, Linux, or Android, among others.
4. API: (How data is communicated)
In a nutshell, an API (application programming interface) is a set of rules that allows the software to communicate with one another. APIs, in fact, are what power much of the Internet.
You are using an API when you use Facebook, Google, or Yahoo! An API enables different systems to communicate and share data with one another. The benefit of this is that a programmer can create a programme once and have it work on many websites, rather than having to write a new programme for every website they want to use.
The more websites that are created and the number of APIs that are available, the easier it is for programmers to create applications that make sense of all the data that is available.
In the most basic terms: APIs are the means by which two pieces of computer software communicate with one another. An API does not have a single definition. They take many forms, but they all share a few characteristics: APIs can have both inputs and outputs. If a developer wants to use an API, they must first get data into it, such as through its inputs. They also require a way to extract information from it, i.e. its outputs. This input-output system is critical for developing computer programmes that can efficiently access APIs.
5. User Interface (UI: How data is presented)
A user interface, or UI, is how people interact with a device or software application. Its purpose is to communicate the presence of various elements known as controls and to display information about their status. It includes the methods for users to operate, control, and receive feedback from an application. The user interface receives input from the user either directly (e.g., buttons, keyboards) or indirectly through other devices such as a motion-sensing controller (e.g., Microsoft Kinect) or a computer mouse.
After that, when the UI is ready. Then there’s the UX(user experience). Users determine whether a UX is good or bad.
Hopefully, this post has helped you understand the various software layers. I did my best to explain it as simply as possible. I’m new to Medium, and if you’re new to my articles, welcome. Consider following my Medium account for daily technology-related articles. I’ll be posting more stories about BRAINS (Blockchain, Robotics, AI and Network Security).
You can also check out my blog on my website: https://richardwarepam.tech/blogs/