Sunday, November 17, 2019

What is 3-tier architecture of Web Development

What is 3-tier architecture in Web Development?

In this design of web development with 3-tier architecture, the entire structure of the Web Application has been divided into three wide range of chambers, to split the entire system with crystal clear separation, based on certain crucial functionalities.

What are those 3 layers?

  1. Presentation Layer
  2. Business Logic Layer
  3. Data Access Layer
This below image gives an overview of the 3-tier architecture:



Presentation Layer

This layer incorporates rendering/generating the layout of the web application or in other words, the user interface, as seen by the user. You can associate the presentation layer with the word "View". The Visual appearance of any web application depends on, how deep the Presentation layer is given importance. The significant technologies used are HTML, CSS and Javascript. When latest frameworks of Javascript are used, the appearance becomes more attractive and in turn pulls the user to choose the application, when there are multiple web apps of similar domain are in business. Front End Developers are responsible to create an awesome vivid appearance of the application.

Business Logic Layer

The term Business Logic itself implies, what this particular layer is made up of. When raw data is returned from the database, there needs to be some logic implied over the data, based on the need of the business. And this can be done with some key coding languages like Python, Java etc, or even with scripting languages like PHP, Perl etc

Data Access Layer

This layer is exclusively responsible for the database manipulation. It consists of programs/codes that enables the access of data from the database. An easy relative example of Data access layer code is, Stored Procedures written in SQL to access the data in the way its needed.

Significant benefits of the 3-tier architecture
  • The Security is enhanced, as the client i.e browser doesn't have direct connection with the Data Access Layer
  • Each tier can be maintained and upgraded independently.
  • The Corporates can easily hire people with wide knowledge in each tier, so that the application's necessary development work can be handled effectively.

Friday, July 12, 2019

3 essential types of javascript functions demonstrated with examples

In any scripting or programming language, functions play a major role in the construction of simpler to complex programs. In Javascript there are three types of functions, based on the way it is structured as well as on the kind of usage.

What are the those three essential functions?
  • Named Functions
  • Anonymous functions
  • Immediately invoked functions
I am going to present simple code here that can be written in all the three kinds of functions mentioned above. Below is a simple code to print the input name, the given number of times.
Here comes the,

Named Functions

//Function Definition
function printNamenTimes(name,n)
{
for (i = 0; i < n; i++)
{
  console.log(name);
}
}
//Function Call
printNamenTimes("Apple",10);

A Named Function as the name implies, has a name associated with it in the definition of the function and the function can be called easily with its name along with the arguments passed to it, whenever we need it in the program. This is a very straightforward way of constructing a function in Javascript.

Useful: When we need to call a function many times within a particular script.

Lets see the next one... 

Anonymous Functions

//Function Definition
var nameprinting = function(name,n)
{
for (i = 0; i < n; i++)
{
  console.log(name);
}
}
//Function Call
nameprinting("Orange",10);

Anonymous functions as the name indicates are anonymous and it has no name identification.
As you can see the function expression is assigned to a variable named "nameprinting"
and the variable is considered and called as a function, as it holds the function expression withing itself.

Useful: This form of function is mostly used when the function has single instance usage in the entire script.

Immediately invoked functions

//Function Definition
var nameprinting = (function(name,n)
{
for (i = 0; i < n; i++)
{
  console.log(name);
}
return name;
})("Grapes",10);

//printing the variable returns value "Grapes"


console.log(nameprinting);


The structure of the immediately invoked function, is in a way that the parameters are passed in the function expression itself. In immediately invoked functions, the browser executes the function immediately after getting into the function. The variable "nameprinting" which has got initially the function expression, eventually stores the return value of the function within itself and can be used outside the function expression.

IIFE(Immediately Invoked Function Expression) is a very powerful function pattern, that can be used in more complex javascript programs, which is out of the scope of this particular post, and will be covered separately.