SlideShare une entreprise Scribd logo
Institut Supérieur des Etudes Technologiques De Rades
Architecture .NET
Réalisé par:
Nefzaoui Lobna
Rekik Shourouk
Année Universitaire 2013-2014
Introduction au FrameWork .NET
Les composants du framework .NET
Principe de Séparation des couches
avec .NET
Les apports de .NET
.NET vs J2EE
Conclusion
Plan 2
• La plate-forme .NET Lancée en juin 2000 lors d'une conférence
donnée par Bill Gates et Steve Ballmer.
• Elle a été élaborée en s'appuyant sur une communauté
d'utilisateurs, pour le développement d'applications d'entreprises
multi-niveaux, basées sur des composants.
• Microsoft .NET constitue ainsi la réponse de Microsoft à la plate-
forme J2EE de Sun.
• Le framework .NET est un ensemble de technologies servant de
base pour développement d'applications.
Introduction au FrameWork .NET
3
Le framework .NET comprend notamment :
Un environnement d'exécution :
• un moteur d'exécution, appelé CLR (Common Language
Runtime), permettant de compiler le code source de l'application
en un langage intermédiaire MSIL et agissant telle la machine
virtuelle Java
Compiler Assembly
DEVELOPMENT
C#
J#
VB
Cobol
…
MSIL
Metadata
Resources
public static void Main(String[] args )
{ String usr; FileStream f; StreamWriter w;
try {
usr=Environment.GetEnvironmentVariable("USERNAME");
f=new FileStream(“C:test.txt",FileMode.Create);
w=new StreamWriter(f);
w.WriteLine(usr);
w.Close();
} catch (Exception e){
Console.WriteLine("Exception:"+e.ToString());
}
}
public static void Main(String[] args )
{ String usr; FileStream f; StreamWriter w;
try {
usr=Environment.GetEnvironmentVariable("USERNAME");
f=new FileStream(“C:test.txt",FileMode.Create);
w=new StreamWriter(f);
w.WriteLine(usr);
w.Close();
} catch (Exception e){
Console.WriteLine("Exception:"+e.ToString());
}
}
Source
code
Les composants du framework .NET
4
• un environnement d'exécution d'applications et de services web,
appelé ASP .NET
• un environnement d'exécution d'applications lourdes, appelé
WinForms .
Des services :
sous forme d'un ensemble hiérarchisé de classes appelé
Framework Class Library (FCL).
 Le SDK (Software Development Kit) fournit une implémentation
de ces classes.
Les composants du framework .NET
5
Framework Class Library (FCL)
6
Les composants du framework .NET
Couche Présentation:
La couche de présentation assure la logique de navigation mais
aussi la gestion des droits de l’utilisateur(authentification).
 Aucun traitement n’est à implémenter dans cette couche.
Couche Logique métier:
C’est dans cette couche que l’on retrouve l’ensemble des
traitements d’une application.
Couche d’accès aux données:
Elle se compose souvent d’une ou de plusieurs bases de données
de type SGBDR, SGBDO, LDAP, …
 Cette séparation par couches de responsabilités sert à
découpler au maximum une couche de l'autre afin d'éviter
l'impact d'évolutions futures de l'application.
Principe de Séparation des couches
avec .NET
7
Nous allons commencer par comparer chaque couche de
l’architecture pour étudier la manière dont elles sont implémentées
dans .NET
La couche de présentation
Client lourd .NET (WinForms) :
les WinForms qui sont une surcouche responsable de créer
nativement des contrôles graphiques du type fenêtres, boutons, …
Clients léger ou Web .NET (ASP.NET et WebForms) :
les ASP.NET représentent l’équivalent des JSP avec un modèle de
développement totalement intégré basé sur les WebForms qui
permettent de développer une interface graphique Web
8
Principe de Séparation des couches
avec .NET
La couche de service .NET (ServicedComponent)
La couche de service est la partie de notre architecture contenant
les traitements applicatifs réalisés en se basant sur les API de
servicedComponent
La couche d’accès aux données (ADO.NET)
Microsoft propose ADO.NET pour l’accès aux données. ADO.NET
fonctionne de manière similaire à JDBC avec quelques variantes.
Historiquement, ADO souffre d’un passé quelque peu lourd à porter.
C’est pourquoi, vous trouverez deux types de provider :
- Managed (utilisant les services de la CLR)
- Unmanaged (pour supporter les anciennes versions)
9
Principe de Séparation des couches
avec .NET
10
Principe de Séparation des couches
avec .NET
 .NET supporte la programmation par composants grâce à sa
structure interne.
 Elle supporte la programmation objet
 Elle permet l’intégration multi-langages :
 Elle supporte plus que 51 langages différents.
 Elle permet l’héritage entre les langages.
 Elle assure la disponibilité de toutes les fonctions de la plate-
forme depuis n’importe quel langage.
 Elle est modulaire et extensible
 Elle permet l’unification des modèles de programmation grâce à
l’MSIL (Microsoft Intermediate Language).
Les apports de .NET
11
 Le CLR permet au développeur de ne pas se préoccuper de
certaines choses, surtout concernant la mémoire. Les fuites de
mémoires vont être automatiquement détectées et corrigées par
garbage collector du CLR.
 Elle permet le développement d’applications plus performantes.
* Modèle de programmation unifié
* niveau d’abstraction élevé
* Bibliothèque de classe riche et extensible
* Intégration native des standards Web (HTTP, XML, SOAP, ...)
 Elle assure le déploiement : Les installations sont sans impact et les
problèmes des DLL sont résolus.
 Elle offre un environnement d’exécution robuste et sécurisé.
12
Les apports de .NET
Framework J2EE Framework .NET
Couche présentation:
C’est la face visible de
notre application qui
contient les différents
types de clients, léger
ou lourd
Clients lourds (utilisant une interface
graphique à base de formulaires riches et de
contrôles graphiques complexes )
J2EE propose
plusieurs APIs liées
au client lourd :
Swing et l'AWT
(Abstract Windowing
Toolkit) basées sur
Java 2D
Microsoft propose une
API similaire à
AWT/Swing : les
WinForms
(Windows Forms)
dont la responsabilité
est de créer des
contrôles graphiques
du type fenêtres,
boutons, …
.NET vs J2EE
13
Client léger (représentent les applications
utilisant un navigateur Web comme interface
graphique )
JSP (Java Server
Pages ) en
implémentant un
moteur de pages JSP
et de servlet
compatible J2EE
rende une page JSP
totalement portable
sous divers produits.
ASP.NET :
Représente
l'équivalent des JSP
avec un modèle de
développement
totalement intégré
basé sur les
WebForms.
14
.NET vs J2EE
Couche de service:
C’est la partie de
notre architecture
contenant les
traitements
applicatifs .
EJB Session:
Il s'agit
de composants
spécifiques chargés
des traitements
des données .
ServicedComponent:
Tout comme J2EE, .NET
propose le même ensemble
de services sous
l'appellation de
ServicedComponent. Le
conteneur utilisé dans le
Framework est COM+.
Couche d’accès aux
données:
JDBC:
API d’accès à une
base de données
ADO.NET:
fonctionne de manière
similaire à JDBC .
15
.NET vs J2EE
Les deux environnements (J2EE & .NET) disposent de
mécanismes très similaires pour gérer chaque couche de
l'application. L'important est de savoir utiliser ces services de
manière à découpler au maximum les couches entre elles pour
faciliter la maintenabilité et garantir la réutilisation.
16
Conclusion
17

Contenu connexe

Tendances

Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
Nassim Amine
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
Heithem Abbes
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
ENSET, Université Hassan II Casablanca
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
Lilia Sfaxi
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
Heithem Abbes
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
ENSET, Université Hassan II Casablanca
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
ENSET, Université Hassan II Casablanca
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
ENSET, Université Hassan II Casablanca
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
ENSET, Université Hassan II Casablanca
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
ENSET, Université Hassan II Casablanca
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
AmineMouhout1
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
Lilia Sfaxi
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
Lilia Sfaxi
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
Diagramme d'activité en UML
Diagramme d'activité en UMLDiagramme d'activité en UML
Diagramme d'activité en UML
Mireille Blay-Fornarino
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
Youness Boukouchi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi
 

Tendances (20)

Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Middleware
MiddlewareMiddleware
Middleware
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Diagramme d'activité en UML
Diagramme d'activité en UMLDiagramme d'activité en UML
Diagramme d'activité en UML
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 

Similaire à Architecture .net

Framework .net overview
Framework .net overviewFramework .net overview
Framework .net overview
MarweN Boughattas
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp FrGregory Renard
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
Yassine Badri
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
ENSET, Université Hassan II Casablanca
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adf
Bacely YoroBi
 
Mysql
MysqlMysql
Mysql
ismail1989
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
Abdelouahed Abdou
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
Rachida19
 
Cours architecture
Cours architectureCours architecture
Cours architecture
Abdelaziz Elbaze
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
Ghazouani Mahdi
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Ado.net database access
Ado.net database accessAdo.net database access
Ado.net database access
MarweN Boughattas
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdf
BabacarDIOP48
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
HamdaneAbdelAzizHagg
 
Windev
WindevWindev
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2apratt72
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NET
Bantu Hub
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
YounesOuladSayad1
 

Similaire à Architecture .net (20)

Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
Framework .net overview
Framework .net overviewFramework .net overview
Framework .net overview
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp Fr
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adf
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Mysql
MysqlMysql
Mysql
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Ado.net database access
Ado.net database accessAdo.net database access
Ado.net database access
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdf
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
 
Windev
WindevWindev
Windev
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NET
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 

Plus de Institut supérieur des études technologiques de Radès (8)

Hadoop
HadoopHadoop
Hadoop
 
Base des données réparties
Base des données répartiesBase des données réparties
Base des données réparties
 
Web services
Web servicesWeb services
Web services
 
RIA
RIARIA
RIA
 
Remote method invocation
Remote method invocationRemote method invocation
Remote method invocation
 
Architecture .NET
Architecture .NETArchitecture .NET
Architecture .NET
 
Mécanismes de sécurité(ios & android)
Mécanismes de sécurité(ios & android)Mécanismes de sécurité(ios & android)
Mécanismes de sécurité(ios & android)
 
Interface Definition Language
Interface Definition Language Interface Definition Language
Interface Definition Language
 

Dernier

Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 

Dernier (6)

Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 

Architecture .net

  • 1. Institut Supérieur des Etudes Technologiques De Rades Architecture .NET Réalisé par: Nefzaoui Lobna Rekik Shourouk Année Universitaire 2013-2014
  • 2. Introduction au FrameWork .NET Les composants du framework .NET Principe de Séparation des couches avec .NET Les apports de .NET .NET vs J2EE Conclusion Plan 2
  • 3. • La plate-forme .NET Lancée en juin 2000 lors d'une conférence donnée par Bill Gates et Steve Ballmer. • Elle a été élaborée en s'appuyant sur une communauté d'utilisateurs, pour le développement d'applications d'entreprises multi-niveaux, basées sur des composants. • Microsoft .NET constitue ainsi la réponse de Microsoft à la plate- forme J2EE de Sun. • Le framework .NET est un ensemble de technologies servant de base pour développement d'applications. Introduction au FrameWork .NET 3
  • 4. Le framework .NET comprend notamment : Un environnement d'exécution : • un moteur d'exécution, appelé CLR (Common Language Runtime), permettant de compiler le code source de l'application en un langage intermédiaire MSIL et agissant telle la machine virtuelle Java Compiler Assembly DEVELOPMENT C# J# VB Cobol … MSIL Metadata Resources public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } } public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } } Source code Les composants du framework .NET 4
  • 5. • un environnement d'exécution d'applications et de services web, appelé ASP .NET • un environnement d'exécution d'applications lourdes, appelé WinForms . Des services : sous forme d'un ensemble hiérarchisé de classes appelé Framework Class Library (FCL).  Le SDK (Software Development Kit) fournit une implémentation de ces classes. Les composants du framework .NET 5
  • 6. Framework Class Library (FCL) 6 Les composants du framework .NET
  • 7. Couche Présentation: La couche de présentation assure la logique de navigation mais aussi la gestion des droits de l’utilisateur(authentification).  Aucun traitement n’est à implémenter dans cette couche. Couche Logique métier: C’est dans cette couche que l’on retrouve l’ensemble des traitements d’une application. Couche d’accès aux données: Elle se compose souvent d’une ou de plusieurs bases de données de type SGBDR, SGBDO, LDAP, …  Cette séparation par couches de responsabilités sert à découpler au maximum une couche de l'autre afin d'éviter l'impact d'évolutions futures de l'application. Principe de Séparation des couches avec .NET 7
  • 8. Nous allons commencer par comparer chaque couche de l’architecture pour étudier la manière dont elles sont implémentées dans .NET La couche de présentation Client lourd .NET (WinForms) : les WinForms qui sont une surcouche responsable de créer nativement des contrôles graphiques du type fenêtres, boutons, … Clients léger ou Web .NET (ASP.NET et WebForms) : les ASP.NET représentent l’équivalent des JSP avec un modèle de développement totalement intégré basé sur les WebForms qui permettent de développer une interface graphique Web 8 Principe de Séparation des couches avec .NET
  • 9. La couche de service .NET (ServicedComponent) La couche de service est la partie de notre architecture contenant les traitements applicatifs réalisés en se basant sur les API de servicedComponent La couche d’accès aux données (ADO.NET) Microsoft propose ADO.NET pour l’accès aux données. ADO.NET fonctionne de manière similaire à JDBC avec quelques variantes. Historiquement, ADO souffre d’un passé quelque peu lourd à porter. C’est pourquoi, vous trouverez deux types de provider : - Managed (utilisant les services de la CLR) - Unmanaged (pour supporter les anciennes versions) 9 Principe de Séparation des couches avec .NET
  • 10. 10 Principe de Séparation des couches avec .NET
  • 11.  .NET supporte la programmation par composants grâce à sa structure interne.  Elle supporte la programmation objet  Elle permet l’intégration multi-langages :  Elle supporte plus que 51 langages différents.  Elle permet l’héritage entre les langages.  Elle assure la disponibilité de toutes les fonctions de la plate- forme depuis n’importe quel langage.  Elle est modulaire et extensible  Elle permet l’unification des modèles de programmation grâce à l’MSIL (Microsoft Intermediate Language). Les apports de .NET 11
  • 12.  Le CLR permet au développeur de ne pas se préoccuper de certaines choses, surtout concernant la mémoire. Les fuites de mémoires vont être automatiquement détectées et corrigées par garbage collector du CLR.  Elle permet le développement d’applications plus performantes. * Modèle de programmation unifié * niveau d’abstraction élevé * Bibliothèque de classe riche et extensible * Intégration native des standards Web (HTTP, XML, SOAP, ...)  Elle assure le déploiement : Les installations sont sans impact et les problèmes des DLL sont résolus.  Elle offre un environnement d’exécution robuste et sécurisé. 12 Les apports de .NET
  • 13. Framework J2EE Framework .NET Couche présentation: C’est la face visible de notre application qui contient les différents types de clients, léger ou lourd Clients lourds (utilisant une interface graphique à base de formulaires riches et de contrôles graphiques complexes ) J2EE propose plusieurs APIs liées au client lourd : Swing et l'AWT (Abstract Windowing Toolkit) basées sur Java 2D Microsoft propose une API similaire à AWT/Swing : les WinForms (Windows Forms) dont la responsabilité est de créer des contrôles graphiques du type fenêtres, boutons, … .NET vs J2EE 13
  • 14. Client léger (représentent les applications utilisant un navigateur Web comme interface graphique ) JSP (Java Server Pages ) en implémentant un moteur de pages JSP et de servlet compatible J2EE rende une page JSP totalement portable sous divers produits. ASP.NET : Représente l'équivalent des JSP avec un modèle de développement totalement intégré basé sur les WebForms. 14 .NET vs J2EE
  • 15. Couche de service: C’est la partie de notre architecture contenant les traitements applicatifs . EJB Session: Il s'agit de composants spécifiques chargés des traitements des données . ServicedComponent: Tout comme J2EE, .NET propose le même ensemble de services sous l'appellation de ServicedComponent. Le conteneur utilisé dans le Framework est COM+. Couche d’accès aux données: JDBC: API d’accès à une base de données ADO.NET: fonctionne de manière similaire à JDBC . 15 .NET vs J2EE
  • 16. Les deux environnements (J2EE & .NET) disposent de mécanismes très similaires pour gérer chaque couche de l'application. L'important est de savoir utiliser ces services de manière à découpler au maximum les couches entre elles pour faciliter la maintenabilité et garantir la réutilisation. 16 Conclusion
  • 17. 17