# Programmeren in ASP.net 2.0 N-Tier Tutorial/Visual Studio Solution
## Een lege Solution maken

* Start Visual Studio 2005
* Selecteer File > New > Project
* Bij projecttypes selecteer je Other Project Types > Visual Studio Solutions
* Selecteer Blank Solution
* Vul bij Name de naam van het project "MessageBoard" in.
* Vul bij Location het gewenste pad voor het project in. Ik kies voor c:\Apps
* Klik OK. Visual Studio zal automatisch een submap maken met de naam van het project.
Natuurlijk kan je zelf een eigen naam kiezen voor je project. Zorg er dan voor dat je overal de juiste verwijzingen legt voor de rest van de tutorial.

## De N-tier-werkwijze

Kort samengevat is een N-tier-werkwijze bedoeld om bepaalde functioneel verschillende delen van een project van elkaar af te schermen. De websitelaag zal bijvoorbeeld nooit rechtstreeks een query mogen uitvoeren en zo eventuele security en controles ontwijken.
In ons project hebben we de volgende lagen nodig:
| Data Tier | Dit is geen fysieke laag in ons project. De Data Tier staat voor onze SQL Server-database, de plaats waar de gegevens bewaard worden. |
| Data Access Tier | Deze laag zal de communicatie verzorgen tussen ons project en de database. In deze laag kunnen SQL-query's opgeslagen worden of stored procedures aangeroepen worden. Als later naar een ander soort databank overgeschakeld zou worden, dan moet alleen deze laag aangepast worden. |
| Business Tier | De Business Tier verzorgt de communicatie tussen de Presentation Tier en de Data Access Tier. In deze laag kunnen ook controles uitgevoerd worden op data voor ze de Presentation Tier bereiken. In ons project dient de Business Tier als buffer tussen de Presentation Tier en de Data Access Tier. |
| Presentation Tier | Deze laag brengt de data zichtbaar naar de gebruiker. Deze laag kan verschillende vormen van presentatie bevatten. Winforms, webforms, PDA, WAP, ... In ons project werken we met een ASP.net-website. |
In sommige projecten werkt men met WebServices. Deze laag zal zich dan tussen de Business Tier en de Presentation Tier bevinden. Als je met WebServices werkt, dan kan je zelfs Java, PHP en alle andere talen die WebServices ondersteunen gebruiken als Presentation Tier.

## De eerste lagen of tiers toevoegen

* Selecteer File > Add > New Project
* Selecteer bij Visual C# de template Class Library
* Tik als projectnaam "MessageBoard.DataAccess".
* Indien je File > New > Project gekozen had, zorg ervoor dat Add to Solution geselecteerd staat bij Solution.
* Klik OK
* Verwijder Class1.cs
Probeer zo veel mogelijk de projecten van je solution te laten beginnen met de naam van de solution. In ons geval is dit MessageBoard. Dit is nodig omdat Visual Studio van onze projecten namespaces maakt. Op die manier heb je een eenvoudig en consistent systeem om later met de verschillende klasses in het project te communiceren.
* Voeg nu Class Libraries "MessageBoard.Business.Services" en "MessageBoard.Common" toe op dezelfde manier.

## Presentation tier

* File > Add > New Website
* Selecteer ASP.NET Web Site
* Selecteer Language Visual C#
* Tik of browse naar de locatie van de map "c:\APPS\MessageBoard\MessageBoard.Presentation.Website". Op deze manier wordt het webproject aangemaakt binnen de map van onze Solution. In ons voorbeeld is de solution file opgeslaan onder c:\Apps\MessageBoard. Pas de locatie aan als dit niet het geval is.

## Even controleren

De Solution in Visual Studio zou er nu zo moeten uit zien:
De mappenstructuur zou er nu zo moeten uit zien:
Ga verder naar Stap 2: Data Laag