• Aucun résultat trouvé

[PDF] Tutoriel avancé de Microsoft Framework .net | Formation informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Tutoriel avancé de Microsoft Framework .net | Formation informatique"

Copied!
14
0
0

Texte intégral

(1)

I - Microsoft Framework .net

La plate-forme Microsoft .NET est une solution complète pour développer, déployer et exécuter des Applications de tous types, y compris des Services Web. Fondée sur des standards de l''industrie (HTTP, XML, SOAP, WSDL), la plate-forme .NET est un moyen simple et puissant d''implémenter la coopération des services logiciels entre eux, quelle que soit leur localisation, leur implémentation technique, qu''ils soient internes ou externes, existants ou à inventer.

La plate-forme Microsoft .NET repose sur le système d''exploitation Windows et est composée du Framework .NET.

I-1 Définition :

Le Framework .NET propose un Modèle de programmation unifié avec la prise en considération des différents types de clients (Web-HTML, Windows, PocketPC) et serveurs (services transactionnels, applications internet/intranet). Le Framework .NET est multi langages avec des langages supporté par Microsoft (VB.NET, C#, C++, J#) et par ses partenaires tels que Microfocus et Cobol, Borland (Delphi), …

Le Framework .NET constitue également une plate-forme de déploiement et d''exécution alliant simplicité de déploiement et de configuration avec une grande fiabilité des applications et des bonnes performances.

I-2 Différenciation de .NET par rapport au marché

Microsoft .NET est la nouvelle génération de plate-forme de développement et d''intégration fondée sur des standards de l''industrie comme XML et les standards associés aux Services Web (SOAP, WSDL, …). Elle permet d''implémenter la coopération des services logiciels entre eux (Service Web), quelle que soit leur localisation, leur implémentation technique, qu''ils soient internes ou externes, existants ou à inventer. La plate-forme .NET comprend un modèle de programmation homogène et des outils de développement multi langages qui accélèrent le développement et l''intégration de Services Web et de tout autre type d''application. Multi langages et intégrants les standards, la plate-forme .NET vous laisse toute liberté de développer dans le langage de votre choix. Enfin, de part son support des standards et son approche moderne, la plate-forme .NET est parfaitement adaptée à la construction d''un architecture orientée services

I-3 Décision fonctionnelle

(2)

• en permettant d'offrir plus rapidement de nouveaux services intégrés et personnalisés à ses clients, elle constitue un instrument de fidélisation et d''exploration de nouveaux marchés

• les possibilités d'intégration universelle de la plate-forme .NET sont également un moyen de faciliter les échanges B2B et de capitaliser sur les solutions existantes pour les faire évoluer à moindre coût vers de nouveaux modèles

• enfin, .NET est la plate-forme d'intégration dynamique qui procure l'agilité nécessaire aux entreprises pour s''adapter en temps réel aux évolutions de son marché

I-4 Décision technique

Microsoft .NET est la nouvelle génération de plate-forme de développement et d''intégration fondée sur des standards de l''industrie comme XML et les standards associés aux Services Web (SOAP, WSDL, …). Elle permet d''implémenter la coopération des services logiciels entre eux (Service Web), quelle que soit leur localisation, leur implémentation technique, qu''ils soient internes ou externes, existants ou à inventer. La plate-forme .NET comprend un modèle de programmation homogène et des outils de développement multi langages qui accélèrent le développement et l''intégration de Services Web et de tout autre type d'application. Multi langages et intégrants les standards, la plate-forme .NET vous laisse toute liberté de développer dans le langage de votre choix. Enfin, de part son support des standards et son approche moderne, la plate-forme .NET est parfaitement adaptée à la construction d''un architecture orientée services.

I-5 Avantages du modèle de programmation et des

outils .NET

Visual Studio.NET et le Framework .NET offrent les avantages suivants :

• Haut niveau d''efficacité et support multi langages pour la création et l''exécution des applications et des Services Web.

• Exécution sécurisée des applications, capacité de monter en charge, hautement performante.

• Prise en charge de nombreux périphériques. Avec Visual Studio.NET et le .NET Compact Framework, les développeurs peuvent utiliser les compétences existantes pour créer des solutions adaptées à une gamme de périphériques étendue.

(3)

II - Framework 2.0 : Avantage

Support du 64-bits

Dorénavant, le framework est capable de compiler des applications tirant profit des plateformes 64-bits, les rendant plus rapide et leur permettant d''utiliser plus de mémoire que les plateformes 32-bits

Utilisation du protocole FTP

L''utilisation du protocole et l'accès aux ressources FTP est maintenant facilité grâce à l''utilisation des classes WebRequest, WebResponse, et WebClient.

Contrôle du réseau

Pour des applications travaillant en collaboration avec le réseau, il est maintenant possible de détecter des changements sur ce dernier grâce à la classe NetworkChange. Vous pourrez ainsi savoir lorsque vous êtes déconnecté, sorti d'une zone wireless ou encore un problème hardware. Egalement l'arrivée de la classe Ping qui permet simplement de pinger une entité du réseau.

Enfin, grâce au namespace System.Net.NetworkInformation, il sera très facile d''obtenir des informations sur la configuration locale (ip, dns, etc)

Les Generics et collection génériques

Comme vu précédemment il est possible de créer des classes génériques mais il également possible d''utiliser de nouvelles classes comme les collections génériques

System.Collections.Generic.

Support SMTP

Grâce aux nouvelles classes System.Net.Mail et System.Net.Mime, il est dorénavant possible d'envoyer un mail depuis n'importe quelle application et ce, en pouvant

personnaliser totalement le mail (un ou plusieurs destinataires, mode d''inclusion, ajout de pièce jointes, encodage, etc).

Support du port série

Principalement grâce à la classe SerialPort, il sera maintenant possible de communiquer très facilement avec le port série de l''ordinateur et ainsi mieux contrôler les périphériques qui lui sont attachés.

(4)

III - Application Web (Client Léger) avec ASP.Net

III-1 ASP.NET 1.x

Le développement des applications Internet/ Intranet à base de la technologie ASP.net offre une organisation en terme d’architecture de l’application comme par exemple la séparation de la présentation et code, et une variété des contrôles serveur qui

permettent la création des interfaces utilisateurs. Parmi ces contrôles, on trouve :

Contrôle Standard : qui permettent soit l’affichage, la saisie des données et le

déclenchement des processus serveur.

Contrôle de données : qui permettent l’accès aux bases de données.

Composants Système : qui permettent l’accès aux ressources Système.

Contrôle de validation

ASP.NET dispose d''une structure de validation puissante qui optimise la tâche vérifiant que les données entrées par l''utilisateur répondent à certains critères. Cependant, la validation client exécutée au niveau du navigateur se base sur le fait que JavaScript est activé sur le client ; vous devez donc également valider des données sur les fonctions du contrôleur, au cas où un utilisateur dispose d''un navigateur ne prenant pas en charge JavaScript (ou sur lequel JavaScript est désactivé). Si votre processus utilisateur dispose d'une fonction de contrôle Validate, appelez-la avant de passer à d''autres pages afin de procéder à une validation ponctuelle.

III-2 ASP.NET 2.0 : Les nouveautés

1. Les modèles pour une harmonisation de la charte graphique du site:

Asp.net 2.0 utilise des modèles aussi connus sous le nom de master page pour gérer les parties communes à toutes les pages du site. Ainsi on a une master page qui est créé avec le bandeau haut et gauche du site, toutes les pages suivantes du site qui utilise cette master page auront un bandeau en haut et à gauche qui sera identique.

2. Les Nouveaux contrôles:

(5)

Contrôles WebForm : Dynamic Image, Image map, Bulleted List, Hidden Field, TreeView, FileUpload, PhoneLink, ContentPager, Wizard, MultiView, View, Substitution.

Contrôles Données : GridView, DetailsViews, FormView, SqlDataSource, AccesDataSource, ObjectDataSource, XmlDataSource.

Contrôles Navigation : SiteMapDataSource, SiteMap, Menu.

Contrôles Authentification : Login, LoginView, PasswordRecovery, LoginStatus, LoginName, CreateUserWizard, ChangePassword.

Contrôles Web Part : WebPartManager, WebPartZone, CatalogZone, DeclarativeCataloguePart, PageCatalogPart, ImportCatalogPart, EditorZone, AppearanceEditorPart, BehaviorEditorPart, LayoutEditorPart, PropertyGridEditorPart, ConnectionsZone, WebPartPageMenu

3. La compilation : la compilation se fait a la volé par défaut il suffit donc de

modifier un fichier CS pour que la modification soit prise en compte de suite.

4. La configuration : La configuration es assisté et la création du fichier web.config

s''en trouve ainsi grandement simplifiée

5. La sécurité : des contrôles dédié a la sécurité font leur apparition et permettent

(6)

III-3 Les prés requis nécessaire pour le déploiement

1. Côté Serveur :

• Système d’exploitation serveur (Windows Server 2003) • Serveur d’application Web (IIS 6)

• Microsoft Framework .net

2. Côté Client :

• Navigateur Web

• Activation des scripts « Javascript » sur le navigateur web (optionnel)

III-4 Déploiement

Les applications Web sont en général déployées sur des serveurs ayant un système d’exploitation Multi-utilisateurs comme par exemple Windows Server, et sont appelées exécutées par les clients via des navigateurs Web (Exemple : Internet Explorer, Netscape, etc.…). Ce qui veut dire que toutes le tâches de déploiement est faites sur le serveur. Déploiement par simple copie. Avec ASP.NET, vous pouvez déployer vos applications Web aussi simplement que de simples pages HTML statiques. Les DLL n'ont plus besoin d''être enregistrées dans la base de registre Windows.

Mise à jour dynamique des pages Web sur un serveur en production. Vous pouvez copier la nouvelle version de vos pages ou composants sur le serveur. Les nouvelles requêtes seront traitées avec la nouvelle version, détectée automatiquement par ASP.NET.. Les requêtes en cours seront exécutées avec l''ancien, conservé le temps nécessaire en mémoire vive.

Cohabitation aisée. Vous n''avez pas besoin de migrer vos applications existantes pour commencer à utiliser ASP.NET. En effet, ASP.NET peut fonctionner en même temps qu'ASP, PHP ou JSP sur un même serveur Web. Vos applications ASP seront toujours traitées par ASP.DLL et les applications ASP.NET par le nouveau moteur ASP.NET. Vous pouvez ensuite migrer vos applications d'un seul bloc, ou page par page. Il est aisé d'utiliser vos composants COM existants depuis un site ASP.NET.

Coût de déploiement

L’architecture est centralisée, c'est-à-dire que le déploiement se fait sur un serveur central, donc le coût est réduit.

(7)

III-5 La gestion de la monté en charge

Batterie de serveurs Web avec logique métier locale

Les batteries de serveurs Web avec une logique métier locale sont des modèles de déploiement courants qui placent tous les composants d'application, à savoir les composants d''interface utilisateur (pages ASP.NET), les composants du processus utilisateur (le cas échéant), les composants métier et les composants d'accès aux données, sur les serveurs Web de la batterie. La possibilité d'accéder aux données depuis la batterie de serveurs Web vous permet d''utiliser des objets d’accès aux données pour accélérer la restitution des données. Ce type de modèle offre les meilleures performances puisque tous les appels de composants sont locaux et seul l'accès aux bases de données est distant, comme illustré à la Figure

III-6 Performances améliorées en ASP.NET

Les performances globales peuvent être mesurées en termes de débit et de temps de réponse. Le débit évalue le volume de travail effectué par l''application au cours d''une période donnée, et le temps de réponse mesure le temps écoulé entre l''envoi d''une requête par un utilisateur ou un processus et l''affichage des résultats de cette requête. Certains facteurs peuvent affecter le débit et le temps de réponse, tels que les performances matérielles, les ressources physiques comme la mémoire, la latence du réseau (temps mis pour transmettre des données sur une liaison réseau) et la conception de l''application. La plupart des problèmes de performances et d'évolutivité peuvent certes être résolus en augmentant les ressources matérielles, mais une application qui n''est pas conçue pour fonctionner de façon optimale ne pourra pratiquement jamais afficher des performances satisfaisantes, quel que soit le matériel que vous lui allouez.

ASP.NET assure la disponibilité permanente des applications Web.

• Code compilé. ASP.NET est bien plus rapide qu''ASP et que les langages de script en général grâce à la compilation et à la mise en cache des pages. Le déploiement reste néanmoins aussi simple qu''avec les pages scriptées, le serveur Web détecte les pages modifiées, et les recompile à la volée. Il n'est jamais nécessaire de redémarrer ou recharger le serveur Web.

(8)

• Gestion du cache serveur. Le cache d''ASP.NET améliore la montée en charge de vos applications. En effet, quand ce mode est activé, la page n'est exécutée qu'une fois, et le résultat est stocké en mémoire. Il est possible de ne cacher que certaines parties d''une page afin de limiter ce qui est exécuté à chaque fois qu''une page est rechargée par un utilisateur.

• Gestion d'état sur les fermes de serveurs. La gestion des sessions permet de partager les informations propres à vos visiteurs entre les différents serveurs de votre ferme.

NB : Des scénarios de calcul seront établis afin de quantifier le débit et temps de réponse spécifique à cette solution, cette opération sera effectuée une fois les interfaces et flux seront définies

III-7 Maintenance

Une application Webform est une application hébergée dans un serveur auquel les utilisateurs vont se connecte. Donc on parle automatiquement d’une seule unité. Alors toutes les mises à jours du système, et les opérations de la sauvegarde, et les améliorations ne concernent que le serveur central.

Coût de la maintenance

(9)

III-8 Sécurité

Authentification et autorisation.

Authentification :

L’authentification est le processus qui consiste à obtenir, puis à valider, les informations d’identification d’un utilisateur, telles que le nom et le mot de passe, par rapport à une autorité quelconque, par exemple une base de données.

Si ces informations sont valides, l’identité qui les a soumises est considérée comme authentifiée. Par exemple, tous les utilisateurs doivent fournir un nom d’utilisateur et un mot de passe chaque fois qu’ils se connectent à un réseau. Les informations sont ensuite validées par rapport à une autorité, telle qu’une base de données ou un serveur de domaine Microsoft Windows®.

Autorisation :

Une fois l’identité authentifiée, le processus d’autorisation détermine si elle peut accéder à une ressource donnée. Le processus d’autorisation limite ces droits d’accès en accordant ou en refusant des permissions spécifiques à une identité authentifiée.

Par exemple, vous pouvez autoriser Robert Lenoir à accéder à l’imprimante couleur, mais pas Michel Renard. De même, vous pouvez autoriser l’accès à l’imprimante couleur aux seuls utilisateurs du groupe Média, et le refuser aux autres.

Méthodes d’authentification ASP.NET

ASP.NET prend en charge trois types de méthodes d’authentification : • Authentification Windows

Avec l’authentification Windows, votre application Web ASP.NET s’appuie sur le système d’exploitation Windows pour authentifier ses utilisateurs. ASP.NET utilise l’authentification Windows en combinaison avec l’authentification IIS.

Avec l’authentification Windows, lorsqu’un utilisateur demande une page Web sécurisée à partir de l’application Web, sa demande est d’abord analysée par IIS. Si ces informations d’identification ne correspondent pas à celles d’un utilisateur autorisé, la demande est rejetée par IIS. Ensuite, l’utilisateur doit introduire son nom et son mot de passe dans le formulaire de connexion. Les informations d’identification sont une nouvelle fois vérifiées par IIS. Si elles sont correctes, IIS transmet la demande d’origine à l’application Web. À partir de là, la page Web sécurisée peut enfin être renvoyée à l’utilisateur.

(10)

Authentification par formulaires

L’authentification par formulaires désigne un système dans lequel les demandes non authentifiées sont redirigées vers un formulaire HTML (Hypertext Markup Language), grâce à la redirection HTTP (Hypertext Transfer Protocol) côté client. L’utilisateur envoie ses informations d’identité par le biais d’un formulaire. Si l’application valide les informations d’identification du formulaire, le système envoie un cookie d’authentification à l’utilisateur. Toute demande ultérieure effectuée par celui-ci contiendra le cookie d’authentification dans ses en-têtes, ce qui permettra à l’utilisateur d’être authentifié.

Authentification Microsoft Passport

L’authentification Passport est un service d’authentification centralisé fourni par Microsoft qui offre aux sites membres une option de connexion unique et des services de profils fondamentaux. Les utilisateurs qui s’inscrivent à Passport sont authentifiés pour accéder à des sites Web au moyen de leur compte Passport unique. Microsoft Passport est un service Web XML qui fait partie intégrante de Microsoft .NET Framework.

Cryptage des données

Lorsque vous saisissez des informations dans un formulaire HTML et que vous envoyez celui-ci à un site Web, les informations sont transmises de votre navigateur au serveur du site Web. Pendant la transmission des informations, les données saisies dans le formulaire peuvent être interceptées et lues.

SSL crypte les informations pendant leur trajet entre le serveur Web et le navigateur. Les informations sont cryptées au moyen d’un algorithme connu publiquement et d’une clé de session.

Le serveur Web génère une clé publique utilisable par n’importe quel client. Le client génère une clé de session et utilise la clé publique pour la coder avant de l’envoyer au serveur Web. Cette clé de session est utilisée pour transférer les données.

Le nombre de bits de la clé de session détermine la force du cryptage. Par défaut, IIS prend en charge une clé de session de 40 bits. Toutefois, vous avez la possibilité de mettre IIS à niveau et d’utiliser une clé de session plus forte, de 128 bits.

(11)

VI - Application Windows (Client Lourd) avec .Net

Une Application Windows (Client Lourd) est composée d’une interface riche (glisser déplacer, onglets, etc.), elle permet d''effectuer un certain nombre de traitements locaux sans l''assistance d'un serveur.

VI -1 Les prés requis nécessaire pour le déploiement

Chaque poste de travail doit avoir les prés requis suivantes :

• Une taille de mémoire suffisante pour l’exécution de l’application. • Un compte utilisateur ayant le pouvoir d’administrateur.

• Microsoft Framework .net

VI -2 Déploiement avec ClickOnce

Disponible depuis la version 2.0 du Framework .NET, ClickOnce est la nouvelle technologie de déploiement (et de mise à jour) d''applications.

Elle se base sur le protocole HTTP pour effectuer les installations ou les mises à jour. Le déploiement d'applications, au moyen d''HTTP, est disponible depuis la version 1.0 du Framework .NET, mais il a subi de nombreuses modifications qui l''ont rendu plus performant

Modèles de déploiement d'applications client lourd appelant des composants distants.

L'un des modèles couramment utilisés pour le déploiement d''applications client complexe sur un intranet intègre des composants distants. Ce modèle se compose d''une batterie d''un seul serveur hébergeant des composants d'accès aux données et des composants métier, avec tous les composants du processus utilisateur et de l'interface utilisateur déployés sur le client, comme illustré à la Figure

(12)

VI-3 Les performances

Dans ce type d’application, les performances dépendent de la capacité de mémoire de la station de travail, et de débit de connexion en cas d’utilisation des composants distants, et encore en cas d’utilisation d’une base de données centrale.

VI-4 Maintenance

La maintenance d’une application client lourd est une responsabilité partagée, l’application est installée sur chaque poste de travail, dans ce cas le responsable du parque informatique doit assurer la mise à jour sur chaque machine.

Coût de la maintenance

Coûteuse en terme de ressources, et d’efforts

VI-5 Sécurité

Sécurité d'accès de code

Chaque application qui cible le Common Language Runtime doit interagir avec le système de sécurité du Runtime. Lorsqu''une application est exécutée, elle est automatiquement évaluée et reçoit un jeu d''autorisations de la part du Runtime. En fonction des autorisations que l'application reçoit, elle fonctionne correctement ou génère une exception de sécurité. Les paramètres de sécurité locaux d'un ordinateur particulier décident finalement des autorisations que le code reçoit. Puisque ces paramètres peuvent varier d''un ordinateur à l''autre, vous ne pouvez jamais être sûr que votre code recevra les autorisations suffisantes pour s''exécuter. Ceci est en opposition avec le monde du développement non managé où vous n''avez pas à vous inquiéter de l''autorisation de votre code.

Sécurité basée sur les rôles

Les applications destinées aux entreprises accordent souvent l'accès aux données et aux ressources en fonction des informations d''authentification fournies par l'utilisateur. Pour cela, elles vérifient en général le rôle de l''utilisateur afin de lui donner accès aux ressources en rapport avec son rôle. Le Common Language Runtime fournit une prise en charge des autorisations basées sur les rôles pour des comptes Windows ou des identités personnalisées.

(13)

V- Evolutivité des applications .net

L’évolutivité d’une application dépend beaucoup plus de son architecture et

l’environnement du développement. Plus le concept est normalisé plus son évolution deviens de plus en plus simple, nous en distinguons dans les deux environnements (ASP.NET/Winform) :

La structuration du code de manière prévisible :

Si vous conservez une cohérence permanente entre vos techniques de codage, cela facilitera la maintenance de votre application. Utilisez une convention normalisée pour les noms d''espaces de noms, de variables, de classes et de constantes, pour les

étendues de tableaux uniformes et les commentaires incorporés.

Isolation les données et les comportements souvent modifiés. Encapsulez la logique et les données devant être souvent modifiées dans des composants séparés

dont la mise à jour est indépendante du reste de l''application. (Architecture 3 tiers).

Approche MCD :

Afin d’anticiper d’autres besoins dans le futur, le Modèle proposé doit impérativement être un modèle relationnel permettant une gestion précise des contraintes d'intégrité et par conséquent la cohérence des données.

VI - Intégration des applications .net

Fondée sur des standards de l’industrie (http, XML, SOAP, WSDL, IIS Remoting), la plate-forme Microsoft.NET est un moyen simple de normaliser la coopération des services logiciels entre eux (services Web XML), quelle que soit leur localisation, leur implémentation technique, qu’ils soient internes ou externes, existants ou à inventer.

VI-1 Intégration avec les systèmes existants

Services Web

L’utilisation d’un Web Service quelconque par un consommateur de données (Client léger / Client lourd) est possible car ce service sait décrire à travers un mode d’emploi comment interagir avec lui : c’est l’objet de la norme WSDL qui est présent dans les deux environnements. Le transport se fait grâce à un standard : SOAP.

IIS Remoting

.NET Remoting donne la possibilité d'héberger des objets distants dans tout type d''application, y compris sous Windows Form, dans un service

Windows géré, une application de console ou le processus de traitement ASP.NET..NET Remoting propose deux canaux de transport : TCP et HTTP. Tous deux permettent à des processus émetteurs et récepteurs arbitraires de communiquer à l''aide de sockets.

(14)

VI-2 Intégration avec applications client (Ms office)

.Net V 1 :

Dans les langages .Net, il est possible de continuer d''utiliser des composants COM sans avoir à réécrire ceux-ci. De même il est aussi possible d''utiliser des composants managés dans un client COM. L'ensemble de ces mécanismes est défini par le terme interop COM. Son avantage dans un environnement client lourd d ou léger est de permettre d’utiliser toute la puissance de .Net pour la réalisation des applications.

.Net V 2.0

La nouvelle version de VS 2005 apporte apporte beaucoup de nouvelles fonctionnalités, dont les plus intéressantes sont :

• Une intégration complète d''Office (Word/Excel) dans l'IDE Visual Studio 2005

• Une facilité de développement (drag & drop, etc...)

Cette intégration dans Visual Studio vous permet d''utiliser toutes les

possibilités de l'IDE (assistants, etc...) pour la réalisation de vos applications. De plus, de part l'utilisation du glisser-déposer, vous avez une rapidité de développement accrue par rapport au développement VBA (Visual Basic for Application).

Références

Documents relatifs

Puisque les équipes dont les membres sont distribués seront de plus en plus utilisées, il importe de se demander quels sont les déterminants de la performance

Passieux, A domain coupling method for finite element digital image correlation with mechanical regularization: Application to multiscale measurements and parallel

ce qui fut une véritable révolution au tout début de cette métallurgie, quand, d'une activité à faible production durant le Chalcolithique et le début de l'âge du Bronze, on passe

We analyze how con- sistently users in the SamKnows deployment achieve their peak performance using the Avg/P 95 metric, which we define as the ratio of the average upload or

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

PLIC signal intensity was normal on both MRIs for the neonates with abnormal early and/or late imaging and a favourable outcome... Early MRI offered better specificity than

C’est effectivement le cas des [e] roman dont le timbre de la voyelle demeure le même pour le provençal, le français du Nord et le français de Marseffle (voir tableau 41). Ce

Il s'agit d'une notion dont on peut dire d'abord qu'elle recouvre un spectre de mesures très larges : la qualification des matières premières qui composent les produits (ainsi,