architecture .net

17
Institut Supérieur des Etudes Technologiques De Rades Architecture .NET Réalisé par: Nefzaoui Lobna Rekik Shourouk Année Universitaire 2013-2014

Upload: institut-superieur-des-etudes-technologiques-de-rades

Post on 03-Jul-2015

138 views

Category:

Technology


7 download

DESCRIPTION

Réalisé par: Nefzaoui Lobna Rekik Shourouk

TRANSCRIPT

Page 1: Architecture  .net

Institut Supérieur des Etudes Technologiques De Rades

Architecture .NET

Réalisé par:

Nefzaoui Lobna

Rekik Shourouk

Année Universitaire 2013-2014

Page 2: Architecture  .net

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

Page 3: Architecture  .net

• 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

Page 4: Architecture  .net

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…

MSILMetadataResources

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

Page 5: Architecture  .net

• 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

Page 6: Architecture  .net

Framework Class Library (FCL)

6

Les composants du framework .NET

Page 7: Architecture  .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

Page 8: Architecture  .net

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ésentationClient 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

Page 9: Architecture  .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

Page 10: Architecture  .net

10

Principe de Séparation des couches avec .NET

Page 11: Architecture  .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

Page 12: Architecture  .net

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

Page 13: Architecture  .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

Page 14: Architecture  .net

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

Page 15: Architecture  .net

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

Page 16: Architecture  .net

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

Page 17: Architecture  .net

17