Urbanisation et architecture des systèmes d information



Documents pareils
DotNet. Présentation de l'offre

Technologies DotNET. Vision de Microsoft

DotNet. Plan. Les outils de développement

Comparaison des architectures J2EE et.net

CAHIER DES CHARGES D IMPLANTATION

Le Framework.Net. Introduction. Pourquoi.Net?

Les nouvelles architectures des SI : Etat de l Art

Urbanisme du Système d Information et EAI

Vulgarisation Java EE Java EE, c est quoi?

Module.NET 3 Les Assemblys.NET

Les Architectures Orientées Services (SOA)

Architectures web/bases de données

Module BD et sites WEB

Systèmes d'informations historique et mutations

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Catalogue des Formations Techniques

Chapitre 1 Windows Server

Urbanisation des Systèmes d'information

Mise en œuvre des serveurs d application

Architectures n-tiers Intergiciels à objets et services web

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Compétences fonctionnelles et techniques

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Olivier Deheurles Ingénieur conception et développement.net

Notre Catalogue des Formations IT / 2015

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Administration de systèmes

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Programmation Web Avancée Introduction aux services Web

Introduction à la plateforme J2EE

Technologie des applications client-serveur UE RSX 102. Support de cours Tome 1. Anas ABOU EL KALAM

Groupe Eyrolles, 2004 ISBN :

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Introduction aux «Services Web»

OPC Factory Server- Réglage des paramètres de communication

Point sur les solutions de développement d apps pour les périphériques mobiles

ArcGIS Mobile 9.3. Cédric Pesty Gael Simon. Conférence SIG 2008 Ateliers Techniques. S'il vous plait! Merci d'éteindre vos appareils portables

Logiciel Enterprise Guide Version 1.3 Windows

Virginie!SALAS Janvier!09! NFE107

Le cadre des Web Services Partie 1 : Introduction

FORMATION Offre de Formation - Packaging. Les bonnes pratiques du packaging avec Installshield et AdminStudio. Contact et inscriptions

LA RECONNAISSANCE VOCALE INTEGREE

Environnements de Développement

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Armand PY-PATINEC 2010

Jean-Philippe VIOLET Solutions Architect

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Environnements de développement (intégrés)

Hébergement de sites Web

Catalogue des formations

Compte Rendu d intégration d application

Vérifier la qualité de vos applications logicielle de manière continue

Zimbra. S I A T. T é l : ( ) F a x : ( )

InstallShield 2014 FICHE TECHNIQUE. Création de programmes d installation pour Microsoft Windows

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Curriculum Vitae Francis Morissette Juillet Document confidentiel

Dominic Jobin. Profil. Expérience professionnelle avenue de l Hôtel-de-Ville #606, Montréal (Qc) H2T 2A djobin@gmail.

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Éléments de programmation et introduction à Java

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Cadrage fonctionnel et technique des sites Visa Premier et Infinite. Réalisation des déploiements pour l hébergeur.

Java pour le Web. Cours Java - F. Michel

À qui s adresse cet ouvrage?

La technologie Java Card TM

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

ASP 3.0 Professionnel

Ingénieur Développement Nouvelles Technologies

La reconquête de vos marges de manœuvre

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Évaluation et implémentation des langages

Glossaire Produit, Solution (éventuellt sur Web20) et Services TIC

L art d ordonnancer. avec JobScheduler. François BAYART

Configuration Matérielle et Logicielle AGORA V2

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Sécurisation des architectures traditionnelles et des SOA

Introduction aux. services web 2 / 2

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

SQL Server Installation Center et SQL Server Management Studio

Nouvelles Plateformes Technologiques

NFP111 Systèmes et Applications Réparties

ClariLog - Asset View Suite

Implémentation de Microsoft Windows. - Implémentation de Microsoft Office. Objectifs. Objectifs. Public. Niveau requis. Public.

CORBA. (Common Request Broker Architecture)

Recommandations techniques

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012

Ronan EZANNO. 20 ans d'expérience PowerBuilder.NET

L état de l ART. Évolution récente des technologies. Denis Szalkowski Formateur Consultant

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Exchange 2007 : Améliorations et nouvelles fonctionnalités Atelier 136. Société GRICS

Transcription:

Urbanisation et architecture des systèmes d information Serveurs d applications et plateformes d applications distribuées Généralités David Eudeline eudeline.david@free.fr

Plan du cours Introduction Concepts de base Présentation de.net Présentation de J2EE Comparaison.NET/J2EE Conclusion Partie 1 Partie 2 2006/2007 2

Présentation des Concepts Technologies interapplicatives But des technologies interapplicatives: Dépasser les limites des ORB de type CORBA ou COM/DCOM Capacité de réaction adaptabilité Rapidité de développement et de déploiement Fiabilité et disponibilité Sécurité Évolutivité Intégration des données Modèle d architecture basé sur: Applications multiniveaux Avant 3 tiers, maintenant n-tiers Utilisation de composants logiciels Introduction du concept de conteneur Ensemble de services disponibles lors de l exécution du composant 2006/2007 3

Présentation des Concepts Technologies interapplicatives Pour implémenter ces applications, deux types de plateformes: Serveurs d application: orientés développement Serveurs d EAI: orientés intégration Objectif d un serveur d application: Développement, déploiement et exécution des applications réparties Objectif d un serveur d EAI: Intégration d applications déjà existantes Objectif d une plateforme d applications distribuées Couvrir tous les aspects de l application (les n-tiers) Vision globale de l application 2006/2007 4

Présentation des Concepts positionnement EAI/serveur d appli 2006/2007 5

Serveur d application Services logiciels apportés Services de déploiement Paquetage d application Fournir l application comme un tout Description du déploiement et paramétrage déclaratif Permettre l adaptation à l environnement d exécution Services de sécurité Confidentialité Assurer la confidentialité des données transmises Authentification Identifier les parties en présence Contrôle d accès Limiter l accès aux applications & ressources 2006/2007 6

Serveur d application Services logiciels apportés Services de transport Transports sur des protocoles web: HTTP, FTP, SMTP Transport sur des architectures techniques spécifiques ORB (le plus souvent) ou MOM Services transactionnels Intégration des services des moniteurs transactionnels Qualités supportées: Atomicité Cohérence Intégrité Durabilité 2006/2007 7

Serveur d application Services logiciels apportés Services de qualité de service Service de cache Mémorisation des éléments servant beaucoup Service de load-balancing Répartition de la charge entre plusieurs serveurs Service de clustering Assurer une grande disponibilité en doublant les ressources matérielles Services de sécurité Confidentialité Assurer la confidentialité des données transmises Authentification Identifier les parties en présence Contrôle d accès Limiter l accès aux applications & ressources 2006/2007 8

Présentation des Concepts Notion de framework Framework «Littéralement charpente, ossature. En informatique, désigne le cadre dans lequel va s'insérer une application. En programmation orientée objet, désigne l'infrastructure logicielle qui facilite la conception des applications par l'utilisation de bibliothèques de classes ou de générateurs de programmes.» Deux aspects importants Lors de l exécution: ensemble de l environnement d exécution des applications et services Lors du développement: ensemble des éléments nécessaires pour permettre à un développeur l exploitation de la plateforme 2006/2007 9

Présentation des Concepts Les protagonistes Deux grandes familles d architectures multiniveaux et de serveurs d application: Architecture J2EE standard basé sur le langage JAVA implémentée au sein de serveurs d appli comme BEA WebLogic, IBM WebSphere ou Oracle 9iAS Architecture.NET Architecture & offre produit intimement liées 2006/2007 10

Technologies pré-dotnet COM+ COM+ est l enrichissement de la plateforme middleware Microsoft basée sur COM/DCOM (à partir de 1998) Implémenté dans Windows 2K Regroupe COM, MTS et divers autres services additionnels Facilite la programmation des composants COM COM+ Équilibrage de charge Base de données en mémoire Regroupement d objets (polling) Composants en file d attente (MSMQ) Modèle d événements MTS Services transactionnels Sécurité basée sur les rôles Activation juste à temps DCOM Appels distants Services distribués de composants COM Programmation basée sur les interfaces Services basiques de composants 2006/2007 11

Technologies pré-dotnet Windows DNA Distributed inter-net Applications Regroupement et unification de l ensemble des technologies Microsoft disponibles sur Windows NT4 Option Pack (1997) puis W2K (2000) Avant tout un label marketing Traite tous les aspects de l architecture applicative: Tiers présentation, métier, données Service présentation: Client lourd: application Windows traditionnelles Client léger: IIS+ASP Possibilité d utiliser des composants ActiveX pour enrichir la présentation Services métiers: Service de composants COM+ Service d accès aux données: Accès aux annuaires (Active Directory): ADSI Accès aux bases de données: ADO 2006/2007 12

Technologies pré-dotnet Windows DNA Concurrent de J2EE orienté architecture 3 tiers Subit certaines limitations Absence d un langage de développement objet adapté Héritage lourd à porter des technologies COM Solution extrêmement propriétaire Modèle web très orienté présentation Cette solution est restée dans l ombre du succès des serveurs d application J2EE 2006/2007 13

Urbanisation et architecture des systèmes d information Serveurs d applications et plateformes d applications distribuées DOTNET

Présentation Une approche marketing confuse.net semble partout chez µsoft Microsoft n a pas réussi en interne à réguler l utilisation de l appellation.net De nombreuses technologies ont été rebaptisées.net SQL Server 2000, SharePoint Server 2000, Exchange Server 2000 Le nom.net a été utilisé à partir de 2000, alors que la technologie (le framework) n a été disponible qu en 2002.NET représente la «vision» tout Internet de Microsoft Orientation majeure de l ensemble des produits Microsoft: Web Services, Standards Web, IHM adaptables, terminaux divers A un peu noyé le lancement du framework.net 2006/2007 15

Présentation Nouvelle offre d architecture (janvier 2002) Construite sur un socle commun: le framework dotnet Permet le développement et le déploiement d applications distribuées => Nouvelle plateforme de développement Microsoft Virage technologique majeur pour µsoft A terme, l ensemble des produits Microsoft seront réécrits pour cette plateforme Objectif: concurrencer réellement J2EE Surmonter l échec de la solution Windows DNA.NET est avant tout un produit ( J2EE) 2006/2007 16

Présentation Une architecture n-tiers «standard» Bases de données Systèmes légatairesl Client Léger Applications externes Client Riche 2006/2007 17

Présentation Objectifs avoués de Microsoft 1. Migration de la communauté MS Séduire les développeurs existants 2. Séduire les «javaistes» Points forts de java: gratuité et liberté Propositions Microsoft de logiciels gratuits: Framework.NET redistribuable Framework Software Development Kit 4 compilateurs (C#, VB.NET, C++, JScript) Nombreux outils Documentation riche Équivalent du JDK Sun (marché de l éducation, universités ) Webmatrix Visual sutidio allégé orienté développement WEB MSDE (Microsoft SQL server Desktop Edition): runtime SQL Server 2006/2007 18

Présentation Objectifs avoués de µsoft (suite) 3. Concurrencer LAMP Linux Apache MySQL PHP Fournir des outils «gratuits» pour la réalisation de sites web de petite envergure 4. J# est présenté comme moyen de transition entre J2EE et.net Initiative JUMP (Java User Migration Path) JLCA (Java Language Migration Path) Pas gagné, réactions de la communauté java pas très positives Permet quand même la récupération de ce qui avait été fait en J++ 5. Promouvoir une communauté OpenSource Site GotDotNet (espace de travail collaboratif) Projets OpenSource pour le framework dotnet Portage du framework dotnet sur d autres plateformes (projets mono) Limitation: ne fonctionne bien sûr que sous Windows/IIS 2006/2007 19

Points clé de l architecture Adopter les standards S appuyer sur les standards de l industrie WebServices, XML, DNS, IP, LDAP Abandon des technos propriétaires (COM/DCOM) Publication de la CLI & du C# Soumis à l ECMA But: créer un environnement de développement universel Se débarrasser des casseroles DLL Hell Problèmes de déploiement des DLL et composants COM Hétérogénéité des API Trop nombreuses, de multiples possibilités pour faire la même chose Typées C (gestion de pointeurs, structures) 2006/2007 20

Points clé de l architecture Offrir un ensemble riche de services CLR: machine d exécution ( JVM) FCL: Framework Class Library Collection de classes et de services divers Winforms: développement de clients riches ASP.NET & Webforms: développement d interfaces web WebServices: intégration d applications Enterprise Services: partie «pûrement» serveur d application Remoting: objets distribués SDK:.NET Framework SDK pour développer les applications s exécutant sur la CLR Viser des cibles d exécution et des clients multiples et hétérogènes Clients riches ou légers Clients mobiles (PocketPC, smartphone, Tablet PC) «Clients multicanaux» 2006/2007 21

Points clé de l architecture Visual Studio.NET Framework.NET Serveurs.NET Plateforme.NET Services.NET Périphériques.NET 2006/2007 22

Framework: présentation Les fondations du framework: CLR: Environnement d exécution CLS/CTS: Contrat de service pour les langages et les types C#: langage de développement objet Et aussi C++, VC.NET, J# MSIL: langage intermédiaire JIT: Compilateur à la volée Le framework.net est un environnement de développement et d exploitation 2006/2007 23

Framework: architecture VB.NET C# C++ Autres Common Language Specification Web Forms ASP.NET Web Services Windows Forms Données et XML Framework Class Library Common Language Runtime Common Language Infrastructure 2006/2007 24

Framework: fonctionnement Code Source (C#, C++, VB.NET, J++, Cobol, Smalltalk, Eiffel, etc.) CLS/CTS «Managed Code» (MSIL).NET Framework Libraries.NET Compact Framework Libraries.NET CLR.NET CLR.NET CLR.NET CLR.NET CLR.NET CLR JIT Windows 98/Me NT/2000/XP 2003 Linux (Mono::) Autre 2006/2007 25

Framework: CLR CLR = Common Language Runtime Environnement d exécution des applications.net Principe de machine virtuelle et de code intermédiaire P-code appelé MSIL Atouts du principe de machine virtuelle: Indépendance à l architecture sous-jacente Java: Write Once, Run Anywhere (WORA) Microsoft: Execute on Many Platforms Limité aux PF Windows quand même, mais indépendance quand au processeur Mécanisme de ramasse-miettes Le code est exécuté au sein de la machine virtuelle qui permet le contrôle du cycle de vie des objets Sécurité du code Accès restreint à la machine pour le code Lutte contre les buffer overflow Signature du code (lutte contre les chevaux de Troie et les virus) 2006/2007 26

Framework: CLR Atouts plus spécifiques à la plateforme Support de nombreux langages Support des versions par les assembly Sûreté de typage Programmation simplifiée Les applications.net sont «gérées» par la CLR Code managé Les applications natives s exécutent hors du cadre de la CLR La CLI décrit la manière d implémenter la machine d exécution (déposé à l ECMA et à l ISO) La CLR n est qu une implémentation commerciale de la CLI Possibilité pour un tiers de créer sa propre implémentation Ex: mono pour linux, rotor pour FreeBSD & MacOS (µsoft) 2006/2007 27

Framework: CLR Services de la CLR le chargement (load) et l'exécution contrôlée des programmes, l'isolation des programmes les uns par rapport aux autres, les vérifications de type lors des appels de fonctions, la conversion de code intermédiaire en code natif lors de l'exécution des programmes (opération JIT, Just In Time compiler), l'accès aux méta données (informations sur le code stockées dans l entête PE de l exécutable) pour le déploiement la gestion de la mémoire, la gestion des exceptions, la sécurité, la compatibilité avec les DLL et les modules COM actuels qui s'exécutent en code natif non contrôlé par.net. La gestion des versions 2006/2007 28

Framework: CLS & CTS CLS = Common Language Specification Permet l interopérabilité entre les langages # Les langages doivent fournir un ensemble de possibilités, de constructions qui sont recensées dans un contrat de service dénommé CLS. CLS: plus petit dénominateur commun Force certaines caractéristiques pour les langages: Système de types Approche objet (problématique pour les langages procéduraux comme le C) 41 règles: les CLS Rules Ajout d un langage à.net: Respect de CLS, développement d un compilateur vers MSIL. 2006/2007 29

Framework: CLS & CTS CTS = Common Type System Types communs définis au niveau de la CLR Gère le problème de l échange de types Permet la simplification des échanges entre assembly Mise en correspondance avec les différents types des langages Limitations apportées par CLS&CTS: Assez contraignantes pour les langages Restent limitées aux cas où l on veut exporter des fonctions L impact est lourd pour les langages Les langages.net sont identiques sur le signifié même s ils ont des syntaxes différentes 2006/2007 30

Framework: MSIL MSIL =Microsoft Intermediate Language) Code source compilé sous la forme d un code binaire intermédiaire, indépendant du matériel et du systèmes d exploitation assembleur virtuel Le MSIL est ensuite exécuté dans la CLR Le MSIL est alors traduit en code machine par un compilateur "Juste à temps" (JIT compiler) à la première exécution. Java qui utilise un p-code objet interprété Meilleures performances que Java P-code moins facile à désassembler Spécificités d optimisation de performances: Le code IL est traduit petit à petit au fil du besoin en code natif Le ramasse miettes ne rentre en action que quand un nombre important d objets doivent être détruits Les performances ont été la préoccupation primordiale de Microsoft 2006/2007 31

Framework: compilation en MSIL Source Code C++, C#, VB or any.net language Compilateur csc.exe or vbc.exe Assembly IL DLL or EXE Assembly = DLL «IL» + méta données 2006/2007 32

Framework: Assembly Assembly: DLL contenant du MSIL Deux types d assembly: Assembly de type DLL Assembly de type exécutable Les assembly résolvent les problèmes des DLL & composants COM: Gestion de version, inscription, etc Les assembly sont auto descriptives Juste besoin d un drag&drop pour les installer Les assembly peuvent être signées Protégés contre la modification par un principe de certificat 2006/2007 33

Framework: Assembly Les assembly peuvent être publics ou privés Privés: utilisés uniquement pour une application Sont copiés dans la racine de l application cliente Publics: utilisés par de multiples clients Disposent d un numéro unique Utilisation de l utilitaire strong name (sn.exe) Sont placés dans le «Global Assembly Cache» GAC Sont forcément signés Contenu d un assembly: Metadata dont le manifeste Type metadata: types de données utilisés Code MSIL: l assembly peut être réutilisé par tout langage Ressources: comme pour les programmes windows classiques 2006/2007 34

Framework: Assembly Les assembly peuvent être publics ou privés Privés: utilisés uniquement pour une application Sont copiés dans la racine de l application cliente Publics: utilisés par de multiples clients Disposent d un numéro unique Utilisation de l utilitaire strong name (sn.exe) Sont placés dans le «Global Assembly Cache» GAC Sont forcément signés Contenu d un assembly: Metadata dont le manifeste Manifeste: carte d identité de l assembly Identite unique Liste des fichiers le composant Liste des assembly référencés Permissions Type metadata: types de données utilisés Code MSIL: l assembly peut être réutilisé par tout langage Ressources: comme pour les programmes windows classiques Déploiement: IE peut placer directement des assembly dans le cache 2006/2007 35

Framework Class Library Classes.NET pour le développement Simplicité & cohérence haut niveau d abstraction pérennité Domaine couverts: GUI client lourds Programmes console & services Applications WEB Accès aux données (ADO.NET) Communication entre objets distants Gestion de XML Programmation système (registre, services, threads, journal, réseau, etc ) Le système de classes couvre un large spectre et facilite le développement 2006/2007 36

2006/2007 37 Microsoft.NET Framework Class Library System.Data Design OLEDB SQLTypes SQL System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization System.Xml XPath XSLT Serialization System.Web Configuration SessionState Caching Security Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Form Button MessageBox ListControl

Framework: divers Gestion des erreurs: La gestion des erreurs a été unifiée Tout est géré par exception Modèle de type d exceptions Exceptions propagées par les assembly Exceptions propagées même en mode distribué Gestion effectuée au niveau de la CLR Interopérabilité DLL natives et COM Un assembly peut appeler une dll Avec tous les problèmes inhérents Un assembly peut appeler un composant COM Interopérabilité dans les deux sens 2006/2007 38

Langages.NET est multi-langages : Microsoft fourni plusieurs langages et les compilateurs associés, tels que C++, JScript, VB.NET (alias VB 7) et C# Support de 27 langages VB.NET Reprise de la syntaxe simple de VB Ajout des concepts objets Accès à toutes les fonctionnalités du framework Mais ce n est plus vraiment Visual Basic 2006/2007 39

Langages C# Langage privilégié de la plateforme.net Langage libre de droit (standardisé, ainsi que MSIL, par l ECMA) Évolution du C++ ANSI créé par Anders Hejlsberg, architecte de plusieurs langages et outils chez Borland, dont Delphi A reprit de très nombreux éléments de Java Permet la gestion des composants (attributs) C# est une sorte de synthèse des points forts de C++ et JAVA, avec quelques éléments en plus Approche plus pragmatique que Java sur certains points Java plus figé sur le paradigme objet 2006/2007 40

Langages C++ managé modification de C++ pour supporter.net Nouveau modèle de développement complet Améliore la gestion de la mémoire (pas de new, utilisation du ramasse miettes) Pas de MFC Les applications sont difficilement portables Autres langages: J# (peu d intérêt) Langages tiers: Eiffel, COBOL, PERL, PASCAL, etc 2006/2007 41

Langages Gestion Multi-langages: Les assembly peuvent être créés dans un langage et utilisés dans un autre Tout passe par le MSIL Une classe dotnet peut être étendue dans un autre langage! Gestion du cycle de vie d un projet Gestion multi-langages d un projet peut cependant être compliquée Conclusion: Le langage n a pas d impact sur l écriture Pas de différence flagrantes de performances entre langages 2006/2007 42

Développement clients riches Technologie WinForms: Le client lourd est mort, vive le client riche! Doit concilier les approches client lourd/client léger Pb clients lourds: difficulté d installation, protocole de communication propriétaire Pb clients légers: ergonomie limitée, pas de travail en mode déconnecté Clients riches: Ergonomie de l interface Déploiement sans douleur Interface indépendante de la plateforme Middleware standard Pré-requis: déploiement de l environnement d exécution sur le poste utilisateur Pb de normalisation: XUL est-il l avenir? Permet de construire l interface locale des applications réparties 2006/2007 43

Développement clients riches Principe: Un formulaire (Form) est utilisé pour présenter des informations à l utilisateur Boite de dialogue, Interface simple SDI ou multidocument MDI Interface type explorer Dérivent de System.Windows.Forms.Form Le principe est globalement le même que dans Visual C++ ou Visual Basic Programme de type console: l utilisateur est contraint de suivre le fil du programme défini par l utilisateur Programme de type fenêtré: l utilisateur déclenche de manière asynchrone les évènements qui définissent l application => Les notions d évènements et de délégués du framework sont ici utilisés de manière intensive 2006/2007 44

ASP.NET ASP.NET(ASP+) Amélioration de la technologie ASP qui tire parti de la CLR et de MSIL Compilation des pages (idem JSP) Utilisation des WebForms Problèmes ASP: Mélange dans un même source les descriptions HTML et le script serveur Langage de script limité (VBScript ou JScrip) Interactions clients/serveur mal intégrées 2006/2007 45

ASP.NET ASP.NET permet de créer une application Internet comme si c était une application normale: WebForms Plus de mélange script/html Compilation des pages à la volée=>meilleures performances Notion de «code behind» Codage de la page à l aide d un langage # Extension en.aspx Utilisation des classes APN.NET du framework Interaction avec le serveur web Suivi de session (cookie, URL, BDD) Fourniture de contrôles serveurs (45 intégrés) Présence de contrôles de validation de pages (exécution sur le client ou le serveur) Exécution obligatoire sur IIS, avec le framework.net installé sur le serveur 2006/2007 46

ASP.NET 2006/2007 47

Client Mobile Compact Framework: Sous ensemble du framework.net Destiné aux terminaux mobiles type pocketpc, Tablet PC, SmartPhones Permet un code partagé entre une application Windows et une application mobile Nécessité de prendre en compte quand même certaines limitation (ergonomie, accès aux données) Permet d accéder à toutes les fonctionnalités de la plateforme.net (Accès aux données, Web Services) CLR optimisée pour les terminaux à ressources réduites Taille du framework: 1,5 Mo RAM: 0,5 Mo Taille des applications: 5-100 Ko Émulateur intégré dans VS.NET pour les tests 2006/2007 48

Accès aux données ADO.NET Évolution d ADO (ActiveX Data Object) Met XML au centre des échanges de données Ensemble de classes exposant les services d accès aux données Abstraction du modèle de BDD Notion de fournisseur, utilisant OLEDB, SQL, ODBC Dataset: Modèle XML intermédiaire déconnecté des données Permet de réaliser une sorte de mini BDD locale Très utile dans les environnements répartis avec des tiers pas forcément toujours connectés Gestion des modes connectés/non connectés Définition des «data-adapters» synchronisation automatique sources de données/datasets Possibilité d échanger ces datasets 2006/2007 49

Accès aux données Support complet de XML Le framework contient tout ce qu il faut pour manipuler les données XML XSLT, XLK-Schema, DOM, X-Path, etc DataBinding Faculté de lier automatiquement une source de données et un contrôle WinForm ou WebForm Sérialisation Support pour réaliser une sérialisation/désérialisation facile des objets En XML, binaire ou custom 2006/2007 50

Accès aux données 2006/2007 51

Enterprise Services Partie «serveur d application» au pur sens du terme Capitalisation de Microsoft sur COM+ Nouvelle interface permettant d accéder aux services COM+ Cache les détails de COM Reste en cohérence avec le reste du framework.net Notion de composants.net Tout objet héritant de ServicedComponents devient un composant.net Gestion déclarative => Transparence pour le développeur Seul lien avec COM+: la console d administration 2006/2007 52

Enterprise Services Fonctionnalités proposées Gestion transactionnelle des ressources Plus puissante que celle proposée dans ADO.NET Gestion et activation des ressources en pool Plus fin que celui proposé dans.net Remoting ou Services Web Accès aux sources de données (pooling) Proposé également dans ADO.NET Gestion asynchrone des composants Surcouche à MSMQ orientée composants, plus puissant que ce qui est proposé dans system.messaging L utilisation des Enterprise Services est donc à discuter 2006/2007 53

Web Services Web Services: Communication interapplicative à l aide de protocoles standardisés: XML SOAP (Simple Object Access Protocol) UDDI (Universal Discovery description and Integration) Les services communiquent entre eux en XML SOAP: format XML des messages qui s échangent Sur HTTP, SMTP ou POP WSDL: fichier d interface ( IDL) UDDI: annuaire des services 2006/2007 54

Web Services Implémentation dans.net: Développement d un service Web ASP.NET Utilise IIS pour publier le Service Web Développement en.net remoting Exécution du Service Web dans un composant indépendant Vision «objet»: un Web Service est un objet qui présente une interface d appel à distance Attribut «webmethod» dans le code 2006/2007 55

Web Services 2006/2007 56

Web Services L'objectif de.net framework est de faciliter la conception d'applications et de Services Web: Vision globale Web Services 2006/2007 57

Service de transport.net remoting Remplaçant de la technologie DCOM CLR Object Remoting: appel d objets via le réseau comme si ils étaient locaux Modèle commun masquant les protocoles sous jacents (channel ) TCP/HTTP proposés de base Support d un mécanisme de sérialisation pour transporter les appels (Formatter) SOAP 1.1: sérialisation type service web CLR: Idem mais étendu Binaire: Programmation libre Sécurité intégrée dans le protocole(authentification) Intégré au modèle service Web: Producteur/Consommateur de services Indépendance vis-à-vis de IIS & ASP.NET Il y a forcément un serveur qui l exécute 2006/2007 58

Service de transport Deux types de passages: Par référence (il reste sur le serveur) Les proxy & stubs sont automatiquement générés par la CLR Par valeur (il est sérialisé et recopié vers le client) Trois types d activation d objets distants: Activation côté serveur Single call: créé lors de chaque appel de méthode Singleton: objet créé une seule fois Activation côté client: Durée de vie gérée par la CLR Les paramètres de connexion sont configurés: directement dans le code par des fichiers XML 2006/2007 59

Service de transport Service de transport :.NET remoting 2006/2007 60

Conclusion.NET: Avantage : l'homogénéité de l'architecture utilisation des ressources du système Windows et du Framework.NET performances et intégration de l'outil Visual Studio avec la plate-forme Inconvénient : posséder l'ensemble des produits de la gamme Microsoft.NET dont IIS. 2006/2007 61

Conclusion Vision Microsoft via.net: Un Internet constitué d une infinité d applications Web inter opérables formant un réseau planétaire d échange de services. Ces "Web Services" sont basés sur les protocoles SOAP et XML. Technologie prometteuse mais plus jeune que J2EE Relatif manque de visibilité sur les déploiements.net 2006/2007 62