What is Cloud Computing?

  • Cloud is just a metaphor for the internet, when we say cloud, we are just referring to internet.
  • In the simplest terms, cloud computing means storing and accessing data and programs over the Internet instead of our local computer’s hard drive.
  • The phrase cloud computing means “a type of Internet-based computing” where different services — such as servers, storage and applications — are delivered to an organization’s computers and devices through the Internet.
  • Cloud Computing refer to a variety of services available over the Internet that deliver computing functionality on the service provider’s infrastructure.
  • Cloud platform hide the complexity and details of the underlying infrastructure from users and applications by providing very simple graphical interface or API (Applications Programming Interface).
  • The Cloud platform provides on demand services that are always on, anywhere, anytime and anyplace

Why are businesses moving to cloud?

In traditional hosting, a software company has to deal with licensing costs, protection of data, frequent upgrades to latest technologies, maintenance and up gradation of hardware and most important finding the right skillsets at the right time.

Visit for Complete Training and Tutorial: Microsoft Azure Tutorial

N-Tire Architecture

Tier usually means the physical deployment computer.
  • Layer usually means Logic software component or Logical separation of code which may or may not run in same process or same machine.
  • Tier are places where Layers are deployed and executed.
  • Layer and tier may or may not exactly match each other. Each layer may run in an individual tier. However, multiple layers may also be able to run in one tier.

Types of Layers:

1.Presentation Layer: Desktop UI, Web Page or Mobile App

2.ApplicationLayer: Business Logic and Data Validations. Also called as Middle Layer

3.DataLayer: External datasource like Sql Server, Oracle,

Types of Tier’s:

1.  1-Tier: All the 3 layers are in same process running in one machine. Embeded database like MS-Access, dbase etc are supposed to be used
2.  2-Tier: Either presentation layer and application layer will run in one computer or application layer and data layer can only run in one computer.

3.  3-Tier: Its the simplest case of N-Tier architecture. All three layers will run in three separate computers.

4.  N-Tier: 3 or more tiers architecture. Some layers in 3-tier architecture can be broken into many layers eg: Application Layer = Business Layer + Persistance Layer. This is ideal implemented for Web Based application.

Overview of Each Layer:

1.Client layer: this layer is involved with users directly. There may be several different types of clients coexisting, such as WPF, Window form, HTML web page, Mobile App etc.

2.Client presenter layer: contains the presentation logic needed by clients, such as ASP.NET in IIS web server.

3.Business layer: handles and encapsulates all of business domains and logics; also called domain layer. Can be implemented using WCF.

4.Persistence layer or DAL: Handles the read/write of the business data to the data layer.

5.Data layer: the external data source, such as a SQL Server or Oracle database.

Advantage of N-Tier architecture: Better Scalability, Finer security control, Better fault tolerance ability, independent tier upgrading without affecting other tiers, friendly and efficient development, friendly maintenance and better reusability.

We should differ the following two cases:

a) All layers run in one process of a computer: 1 tier architecture

b) All layers run in different processes of a computer = N-Tier architecture but deployed in just 1 host.

N-Tier – Architecture (Logical Separation)


  • Tables, Views, Indexes and other database schema
  • Stored Procedures, Triggers implementing logic pertaining to data in the tables.


  • A utility class provided by Microsoft encapsulating the functionality of binding ADO.NET objects for communicating with SQL – Server.

Data Objects:

  • These objects are mostly mapped to the database tables. The columns of the table are represented as fields in these objects.
  • These objects are also responsible for validating data in the properties encapsulating the field members.
  • Here we can additional properties whose value will be dependent on other fields of the same object.

Data Access Objects (DAO):

  • These are objects used for performing Create, Retrieve, Update & Delete (CRUD) operations over the database schema.
  • This class mostly encapsulates the Stored Procedures in the database.
  • The methods here are generally static and they either get input as parameter or return output in the form Data objects.
  • These objects can also handle database specific exceptions and throw them as application specific exceptions.

Business Objects:

  • These objects shield all the complex logic of the business from the presentation tier.
  • They may use one or more DAO objects for performing CRUD operations in the database.
  • Business objects if required should start Transactions.
  • For every action one new method can be added to this class.

Presentation Tier:

  • GUI of the application – Interactivity with the end user.
  • Validation of data entered in various controls.
  • Handle exceptions and prompt the user about the same.
Learn C# and ASP.NET Online

C# OOPs Overview

Class:A class is a template / skeleton / blueprint for creating an object.
1. What is Object?
2. What is NOT Object?
3. Definition: An Object is an entity that has Properties for identifying its State, Methods for Behavior and Events for depicting the Change of State.
4. Data associated at any given instance of time is the state of an object.
5. Every object will different from other objects either by state or behavior.
6. Object has a lifetime – It’s created, used and destroyed.Object Oriented Application: It’s a collection of related objects, communicating with each other, exchanging messages with each other in a controlled environment as per the rules of the business.Component: A ready to use third party object can be called as a Component. It can be replaced without any changes in the application. A component is generally used by a programmer as an object.Loosely coupled objects are better than tightly coupled objects i.e. the lesser the information given to other objects the better it is as the objects are loosely coupled the dependencies are less and stronger security.Every object-oriented language should have three features:

  • Encapsulation
  • Inheritance
  • Polymorphism

Encapsulation: Binding of data and behavior i.e. functionality of an object within a secured and controlled environment is encapsulation.


1. Data Hiding / Abstraction.
2. Implementation Abstraction
3. Makes the class simpler to use.
4. Loose Coupling


  • The Process of acquiring the existing functionality of the parent and with new added features and functionality by a child object is called inheritance.
  • The advantages of inheritance are Generalization, Extensibility and Reusability.
  • For example: A calculator is a generalized form of mathematical operations where as a Scientific calculator is an Extended and Specific form.

Some more examples of Inheritance

  • Car is a Vehicle
  • Faculty is a Person
  • Student is a Person
  • Mango is a Fruit
  • Chair is a Furniture
  • Scientific Calculator is a Calculator

Kinds of Relationship between objects:

a. is a – Depicts Inheritance – Two Classes must be related.
b. has a – Depicts Containment – Two Classes must be related
c. type of / instance of – A class and object is related.
  • “Poly” means “many” and “morph” means “form”.
  • An object in different forms and in each form it exhibits the same functionality but implemented in different ways.
  • A parent class variable taking the form of child class objects and using this variable invoking the functionality of object this variable has actually taken the form (either of the child class object) 
  • A Teacher can take a form of Sport Teacher or Language Teacher and in both the forms it has the functionality Teach, but the implementation of Teach varies in both the objects and depends.
  • Vehicle – Car or Scooter – Drive
  • Phone – Mobile Phone or Landline Phone – Speak
  • Database – Oracle or Sql Server – Write
  • Figure – Circle or Square – Area
Learn C# Online Tutorial in 4 Days 27 Modules