Writing – Software Documentation – Special Meaning of “Business” in Software Design2 min read
Did you know that for software developers the word “business” (as in “business requirements,” “business layer,” or “business specs”) has a meaning totally different than its regular everyday connotation?
For a software engineer, a “business layer” has nothing to do with selling goods and services and making money or running a real business; but everything to do with the way an “3-tier client-server architecture” is structured.
More specifically, a “business layer” is the intermediary layer between the “client” layer (or, the “front-end” or the Graphic User Interface (GUI), that is, whatever you see and interact with on a computer screen) and the “back-end” or the “server” layer.
When you click a link on a web page, for example, you are at the “front end” and you are the “client.”
The “business layer,” or the “traffic cop” in between, takes that click command and sends it to the “back end.”
If, for example, what you have requested for is a web page, the business layer tells the web server to find that page.
And when the page is found, again the business layer delivers it to your screen.
If what you have clicked on the screen is a button for finding the price of a book (for example), the business layer sends the “question” to the database in the back end. The price figure obtained from the DB (database) server is sent back to your screen after passing through the “business layer.”
A “business” layer is called such because the rules according to which it plays “traffic cop” to the incoming and outgoing signals vary from one business to another. A construction company, for example, would need a different set of interactions between its front and back ends than (let’s say) a dentist or a flower shop.
That’s why “business specs” or “business requirements” also vary from one business to another because they all need their inputs (from the “client” layer) interact differently with their web-servers or data-base servers (at the “server” layer).