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

How to Create Groups & Users in Acive Directory

Creating a group in Active Directory:
 Start Administrative ToolsActive Directory Users and Computers
 Right click on domain name  New  Group  Group Name : DevelopersGroup Scope: Domain LocalOK
 Similarly create Moderator group, Faculty group and Students group

To Create Users in Active Directory:
 Start Administrative ToolsActive Directory Users and Computers
 Right click on domain name  New  User  First Name : Faculty1User Logon : Faculty1NEXTPassword: abc@123 Select user cannot change password Select password never expiresNEXTFINISH
 Similarly create other users: Faculty2, Mod1, Mod2, Stud1, Stud2, Stud3, Stud4.

To Associate User to a Specific Group:
Right click on User NamePropertiesMember ofAddAdvancedFind NowSelect Group NameOKOK
We also create another user “SCAdmin” for whom we give access at a higher level so we don’t associate this user to any other group.

Configuring Internet Explorer to prompt Username and Password
Internet ExplorerToolsInternet OptionsSecurityLocal InternetCustom Level[under user authentication] Prompt for Username and PasswordOK