Vous êtes sur la page 1sur 38

Module Architecture des SI I (.

NET)
UP Architecture des SI
Equipe DotNet

Chapitre 1 : Introduction à .NET


Plan

Introduction au Framework
1

.Net Framework
2
.Net Core
3

.Net Core & .Net Framework


4
.Net Core VS .Net Framework
5

Outil de développement
6

7 Architecture n-tiers / multi-couches

2
- Qu'est-ce qu'un Framework ?

• Un Framework est un espace de travail modulaire.


C'est un ensemble d’outils ( bibliothèques, logiciels)
et de conventions permettant le développement
rapide d’applications.

3
.NET Framework, c’est quoi ?

• .NET Framework est un framework Microsoft utilisé


par les systèmes Windows qui permet de réaliser
tout type d’application dans l’environnement Windows
et tous les navigateurs web.
• Il fournit un certain nombre d’outils comme ADO.NET
permettant l’accès aux données et respecte la norme
Common Langage Infrastructure (CLI) qui décrit
l’environnement d’exécution des codes de
programmes.
• Plateforme multi-langages(C#, VB.NET, C++ ...)
• Un modèle de programmation unifié
4
Architecture du .Net Framework

5
Common Language Specification

CLS est une normalisation qui doit être respecté et implémenté par
tout langage de programmation

CLS s’intéresse à la normalisation d’un certain nombre de


fonctionnalité : exemple la manière d’implémenter les types de
données, les classes, les délégués, la gestion des événements,
etc ...

6
CLS

CLS a pour objectif de garantir l’interopérabilité entre les


langages .NET.

En effet, deux langages conformes à la CLS peuvent


facilement échanger des données entre eux (ils implémentent
au bas niveau de la même manière ces données).

Il est possible par exemple de créer une classe dans un


langage conforme à la CLS qui hérite d’une autre classe
définie dans un autre langage conforme à la CLS. 7
La bibliothèque de classes

•La bibliothèque de classes fournit une collection complète et


orientée objet d’API et de Type.
•Elle fournit des types pour les chaînes, les dates, les nombres, etc.

•Elle fournit toutes classes permetant de développer d’applications

(Accès aux données, programmation réseau, développement


d’interfaces graphiques, développement Web, fonctions
mathématiques, manipulation des chaînes, des dates, etc).

8
Common Language Runtime (CLR)

CLR est un environnement d’exécution commun pour tous les


langages .NET.
Il fournit des services tels que :
La gestion de la mémoire (à travers le Garbage
Collector GC). La gestion des exceptions.
La gestion des threads.
L’interopérabilité entre plusieurs langages.
Le chargement dynamique des modules à
exécuter. La compilation vers un code
machine natif
La portabilité
Common Language Runtime (CLR)
Avantages

• Sécurité de l’exécution des programmes.


• Grâce à la gestion des exceptions et à la gestion
automatique de la mémoire.
• Interopérabilité de programmes écrits dans différents
langages.
• Tous les langages qui supportent le .NET
compilent vers un même code intermédiaire ⇒
Possibilité de faire communiquer des programmes
écrits dans des langages différents.
Evolution du .NET Framework

.NET
V4.7

2017
.NET Core, c’est quoi ?

• .NET Core est un framework libre et open source


multiplateforme à hautes performances destiné pour
les systèmes d'exploitation Windows, macOS et
Linux.
• Il comprend CoreCLR, un environnement d’exécution
complet de CLR, la machine virtuelle qui gère
l'exécution des programmes .NET.
Evolution du .NET Core
.Net Framework & .Net Core
.Net Framework VS .Net Core
.Net Framework VS .Net Core
Compatibilité – .NET Standard

.NET Framework et .NET Core ne sont pas compatibles,


En effet, si vous essayez d’incorporer une librairie .NET Core
dans un projet .NET Framework, ce dernier refusera
l’intégration.

Pour palier à cela, Microsoft a ajouté le .NET Standard, qui


permet une compatibilité partielle entre les deux frameworks.

17
.NET Framework VS .NET Core :
pourquoi utiliser l’un ou l’autre ?

Le choix de l’un ou l’autre des frameworks doit être fait en


fonction de plusieurs critères.

1- En fonction du projet à développer


Pour commencer, il faut s’intéresser à la solution que vous
vous apprêtez à développer. Est-ce un client lourd
(WinForm, ou WPF) ou un service (WCF) ou alors est-ce
que ce projet est un site web ou bien un REST API ? Si le
développement porte sur un client lourd ou un service,
alors le choix qui s’impose à vous est le .NET Framework.

18
.NET Framework VS .NET Core :
pourquoi utiliser l’un ou l’autre ?

2- En fonction de votre SI
D’autre part, votre SI est-il davantage tourné vers Windows
Server ou Linux dans le cadre d’un projet web ? C’est un autre
critère qui permet dans le cas de Linux de ne plus se poser la
question : .NET Core.

3- En fonction du gestionnaire de conteneur


Pour finir, si vous utilisez un gestionnaire de conteneur (type
Docker), partez sur .NET Core car les noyaux des conteneurs
sont basés sur Linux.
Le future : .NET Core
Pourquoi DotNet Core

Un nouveau framework open source et multiplateforme pour


créer des applications Web modernes basées sur le cloud ,
✔Modulaire - Basé sur le package NuGet
✔Optimisé pour le cloud et les conteneurs -Mémoire plus
petite ‘footprint’
✔Open-Source avec contributions – même les docs
✔Rapide! - 8x plus rapide que Node ; 3x plus rapide que GO
✔Cross-Platform -Windows, Mac, Linux
✔Choix d'outils et d'éditeurs - Tout éditeur de texte avec CLI,
ou Visual Studio

21
Outils de développement

Visual Studio .NET est l’outil de Microsoft pour le


développement de logiciels Windows.

Visual Studio fournit un environnement de développement


intégré (IDE) permettant aux développeurs de créer des
applications Windows autonomes, des sites Web
interactifs, des applications Web et des services Web
s’exécutant sur n’importe quelle plate-forme prenant en
charge .NET.

22
Installation de l’environnement 1

Veuillez choisir les charges de travail comme indiqué ci-dessous : PS pour le module
linguistique, choisissez anglais (pour une meilleure lecture des exceptions)

23
Installation de l’environnement 2

24
Exemples de Templates 1

25
Exemples de Templates 2

26
Processus de compilation

Le processus de compilation se fait


en deux phases :
1 La première phase est réalisée

par des compilateurs de


2 langage.

La deuxième phase se fait


par JIT.
Processus de compilation

28
Architecture N-Tiers/Multi-Couches

29
Différence entre
Couche logique et tiers physique

Le tier est une unité physique, où le code s’exécute.


Exemple : client, serveur d’applications, serveur de
base de données ;
La couche est une unité logique, comment organiser le
code qui peut ou non s’exécuter dans le même
processus ou sur la même machine.
Les tiers sont des endroits où les couches sont
déployées et exécutées.
Chaque couche peut s’exécuter dans un tier individuel.
Cependant, plusieurs couches peuvent également être en
mesure de s’exécuter dans un seul tier.
30
Les types des couches

Couche de présentation : Desktop UI, Web Page


ou Mobile App.

Couche d’application : Logique métier et


validation des données. Aussi appelé couche
intermédiaire,

Couche de données : gére le stockage


des données d’une application, comme Sql
Server, Oracle
31
Aperçu de chaque couche

Couche de présentation : contient la logique de présentation


requise par les clients, tels que Windows Form, page Web
HTML, application mobile, etc.
Couche métier : gère et encapsule tous les domaines
d’activité et les logiques ; également appelé couche de
domaine.
Couche de persistance ou DAL : Gère la lecture / écriture
des données métiers dans la couche de données
Couche de données : gére le stockage des données
d’une application, telle que SQL Server ou Oracle
Data Base.
32
Architecture logique multi-couches
Architecture de notre application

33
Les types des Tiers

1 - Tier : les 3 couches sont dans le même processus


s’exécutant sur une seule machine.

34
Les types des Tiers

2 - Tiers : le premier tier contient la couche de présentation et


la couche d’application et le deuxieme tier contient la couche
de données.

35
Les types des Tiers

3 - Tiers : c’est le cas le plus simple de l’architecture N-Tier.


Les trois couches representent trois tries différents.

36
Les types des Tiers

N - Tiers : Architecture à 3 tiers ou plus. Certaines couches


de l’architecture à 3 tiers peuvent être divisées en plusieurs
couches, par exemple : couche application = couche métier
+ couche de persistance. Ceci est idéalement implémenté
pour une application Web.

37
Architecture physique n-tiers
Architecture de notre application

38

Vous aimerez peut-être aussi