Les Plate-formes.NET et Compact.NET

Documents pareils
Technologies DotNET. Vision de Microsoft

Urbanisation et architecture des systèmes d information

DotNet. Présentation de l'offre

DotNet. Plan. Les outils de développement

Module.NET 3 Les Assemblys.NET

Le Framework.Net. Introduction. Pourquoi.Net?

Impact de Windows XP et.net sur notre industrie

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

Notions fondamentales du langage C# Version 1.0

Comparaison des architectures J2EE et.net

Le framework contient deux éléments principaux : le Common Language Runtime et la bibliothèque de classes du.net Framework.

Le cadre des Web Services Partie 1 : Introduction

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

CAHIER DES CHARGES D IMPLANTATION

Développement logiciel, Technologies.NET

Diminuer les taches administratives, mieux gérer les objectifs, valoriser le travail, mettre à disposition un support de vente de qualité.

Systèmes d'informations historique et mutations

Module 12 : Déploiement d'applications

MSDN Academic Alliance Département SRC Vichy

2010 Catalogue Formation

SEMINAIRES SUR L ADMINISTRATION D UN RESEAU MICROSOFT WINDOWS 2003

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

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

Architectures n-tiers et déploiement d applications Web

Programmation Web Avancée Introduction aux services Web

Mise en œuvre des serveurs d application

AVIS DE VACANCE DE POSTE No. AfCHPR/06/2011 SPECIALISTE DES TECHNOLOGIES DE L INFORMATION ET DE LA COMMUNICATION (P2)

Déployer une application cliente avec le Framework.NET 3.5 Client Profile

Le nouveau Windows Runtime

Développement d une application ASP.NET avec Base de données SQL Server

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

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

À qui s adresse cet ouvrage?

Pré-requis techniques

Burckel Thomas. Formation. Compétences

Le Printemps rajeunit ses listes de mariage en magasin et sur Internet avec Printemps à Deux

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

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Sql Server 2000, 2005, 2008 R2 o T-SQL o Création d'un modèle de données o Full text search o Administration Oracle 9i, Oracle 11g

Création d outils d intégration de données

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Tarif régulièrement remis à jour : puis choisir Infos PRATIC - accord SELECT

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

.NET remoting. Plan. Principes de.net Remoting

Guide d installation de MEGA Desktop Application MEGA 2009 SP4

Configuration système requise

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

Chapitre 2 Rôles et fonctionnalités

Configuration requise Across v6 (Date de mise à jour : 3 novembre 2014)

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Sessions en ligne - QuestionPoint

Catalogue des Formations Techniques

Introduction à Microsoft InfoPath 2010

formations microsoft www www www www aux nouvelles technologies Catalogue 2011 Azure Azure Azure SharePoint 2010 Surface Visual Studio Surface Surface

Administration de systèmes

SQL Server 2005 Quelle édition et quel mode de licence choisir?

Révélateur des talents de demain

Réalisation d une application de gestion Commerciale

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

Configuration Matérielle et Logicielle AGORA V2

LE CENTRE DE RÉFÉRENCE PROFESSIONNELLE TIC DE BRUXELLES TAKE I.T. EASY FORMATION TECHNIQUES IT & WEB POUR INFORMATICIENS

Dieter Spielberg DMS GmbH FileDirector 2.0. Enterprise & SBE. Guide d Installation

MOBILITE. Nomadio, le dialer d entreprise. Datasheet

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

WorkflowGen 6.0 Guide de mise à jour

FOIRE AUX QUESTIONS ACT! 2009

CHEF DE PROJET & ARCHITECTE.NET SAMIR BENFARES FORMATION LANGUE COMPÉTENCES TECHNIQUES CERTIFICATION

ClariLog - Asset View Suite

Les Architectures Orientées Services (SOA)

Linux embarqué: une alternative à Windows CE?

Cours 3 : L'ordinateur

Reporting Services - Administration

3 niveaux de prix en fonction du nombre de points A partir de 5 licences A partir de 500 points

Sécurisation d une application ASP.NET

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Recommandations techniques

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Guide des licences Microsoft Windows Server 2008 Pour le Groupe Logiciel

Guide d installation de MySQL

Compétences fonctionnelles et techniques

Module BD et sites WEB

Automation Engine 10. Plates-formes prises en charge

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

< Atelier 1 /> Démarrer une application web

Lionel BRULEY. Consultant/Formateur SharePoint. Formation. Domaines techniques

Sydonia. Direction des technologies et des services de l information. Guide d'installation de la suite Sydonia Nom de fichier :

LA RECONNAISSANCE VOCALE INTEGREE

SPÉCIFICATIONS TECHNIQUES

Rapport Final. Gilberto Matos 31 mai 2007 version 0.7

Manuel d installation

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Groupe Eyrolles, 2004, ISBN :

TECHNOLOGIE SOFTWARE DU FUTUR. Logiciel de gestion d entreprise pour le Web

La technologie Java Card TM

La double authentification dans SharePoint 2007

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Transcription:

Les Plate-formes.NET et Compact.NET Jean-Yves Tigli, tigli@polytech.unice.fr http://www.tigli.fr Polytech Nice Sophia Antipolis SI5 Master IFI Université de Nice Sophia Antipolis 1

Un survol de.net Introduction Services Web Le framework Le C.L.R (Common Language Runtime) Les formulaires Windows Les formulaires Web L accès aux données (ADO.NET) Les langages 2

Une vision (celle de Bill & Co) de l évolution des technologies du Web.NET C est quoi Des sites Web offrent des services Web qui coopèrent De nouveaux terminaux complètent les PCs Les IHM deviennent adaptable et personnalisable Respect a priori des standards du Web 3

Une vision (celle de Bill & Co) de l évolution des technologies du Web Une plate-forme qui supporte cette vision.net Framework et Visual Studio.NET.NET Enterprise Servers.NET C est quoi Base de données, messages, Intégration, proxy, sécurité, mobilité, gestion du contenu, orchestration des services,.net Building Block Services Passport et.net My Services ( Hailstorm ) Objectif : rendre la construction d applications Web aisées (par assemblage de Web services) 4

Une vision (celle de Bill & Co) de l évolution des technologies du Web Une plate-forme qui supporte cette vision.net C est quoi Un modèle pour offrir des services (et faire du business) Les applications sont des services Abonnement à des services Référencement d applications 5

La plate-forme.net Clients Applications Web Form Web Service Protocoles: HTTP, HTML, XML, SOAP, UDDI.NET Framework Windows / Linux / MacOS X Outils : Visual Studio.NET, Notepad Your Internal Web Service.NET Foundation Web Services Third-Party Web Services.NET Enterprise Servers 6

Services Web Une évolution du Web Des composants applicatifs accessibles à partir des standards du Web Le cœur de l architecture.net Offrir des services à l aide du Web Construit avec les standards actuels HTTP, XML, SOAP, UDDI, WSDL, HTML, XML HTML HTML HTML, XML Generation 1 Static HTML Generation 2 Web Applications Generation 3 Web Services 7

Le framework.net Un ensemble de technologies pour développer et utiliser des composants : Formulaires Web Services Web Applications Windows Des outils pour développer des applications Développement Mise au point Déploiement Maintenance VB C++ C# Common Language Specification ASP.NET: Web Services and Web Forms JScript ADO.NET: Data and XML Common Language Runtime Windows Forms.NET Framework Base Classes Visual Studio.NET 8

La plateforme.net Win32 C++ VB COM DCOM Intégration en mémoire Intégration entre machine CLR XML HTTP 9

La plateforme.net Common Language Interface CLI = IL + bibliothèque ECMA Common Language Runtime (CLR) NT 4 Windows Vista Pocket PC Free BSD Linux 200 et XP Implémentées par Microsoft 10

Le.Net Framework Entre le langage intermédiaire (IL) et le machine virtuelle (CLR) se trouvent les classes du.net Framework Ces classes sont accessibles par tous les langages puisque accessibles depuis l IL Une partie de ces classes ont été intégrées dans les spécifications du CLR Modèle d objet commun Types unifiés Meta-Data Modèle d exception commun Intermediate Language (IL) Accessible depuis tous les langages Base Classes Common Language Runtime (CLR) 11

ECMA 334 CLI Standards ECMA 335 12

Le framework.net Les classes du framework 13

Services Description Discovery Protocols Caching Configuration OLEDB Design Collections Configuration Diagnostics Globalization System.Web System.Data UI HtmlControls WebControls Security SessionState SQL SQLTypes IO Net Reflection Resources Le framework.net Les classes du framework System Form MessageBox Drawing2D Imaging XSLT XPath Security ServiceProcess Text Threading System.Windows.Forms Button ListControl System.Drawing Printing Text System.Xml Serialization Runtime InteropServices Remoting Serialization 14

Common Language Runtime Développement de services Permettre une interopérabilité entre les langages Buts Augmenter la productivité (chacun écrit dans le langage qu il maîtrise, le plus adapté, ) Services déploiement Simple, sûr Gestion des versions NO MORE DLL HELL Services à l exécution Performance Extensibilité Sûreté et disponibilité Sécurité 15

Common Language Runtime Compilation Source Code Assembly C++, C#, VB or any.net language Compilateur csc.exe or vbc.exe DLL or EXE 16

Common Language Runtime Assemblies Assembly : archive Unité logique de déploiement Contient Manifest, Metadata, MSIL and ressources Manifest Metadata à propos des composants présent dans un assembly (version, types, dépendences, etc.) Type Metadata Définition complète de tous les types présent dans l assembly : attributs, méthodes, paramètres, ressources Microsoft Intermediate Language (MSIL, IL) Tous les langages sont compilés en IL (managed code) IL est toujours compilé en code natif avant exécution (JIT compiler) Ressources.bmp,.jpg 17

Common Language Runtime Modèle d exécution Source code VB Compiler C# Compiler C++ Compiler MSIL Assembly Assembly Assembly Ngen Common Language Runtime JIT Compiler Native code Managed Code CLR Services Managed Code CLR Managed Code Unmanaged Code Operating System Services 18

Common Language Runtime Gestion du Code Conversion du code MSIL en natif Chargement et exécution du managed code Création et gestion des metadata Contrôle des types Insertion et exécution des politiques de sécurité Gestion mémoire Services Gestion multi-langage des exceptions Interopérabilité entre les objets du framework.net et les objets COM et les DLLs Win32 Liaison tardive Services pour les développeurs (profiling, debugging, etc.) 19

Common Language Runtime et ses implémentations Framework.Net est suffisant pour programmer, c est la version officielle pas accès aux sources ROTOR est une implémentation Microsoft de la technologie.net http://msdn.microsoft.com/sscli implémentation complète de standard ISO/ECMA (c est un sur ensemble de la norme) Fonctionne avec FreeBSD, Mac OS X et Windows XP (License de type BSD) 100% du code source est disponible Il n y a pas d implémentation correcte de ROTOR pour Linux Ximian : MONO est un projet indépendant http://www.go-mono.org compatibilité avec les produits.net fonctionne sur Linux (licence GPL) actuellement : C#, JIT très efficace, pas d IDE DotGNU : Portable.Net http://www.southern-storm.com.au/portable_net.html implémentation du standard ISO/ECMA fonctionne sous GNU/Linux, c est un projet GNU mais aussi sous Windows, Solaris, NetBSD, FreeBSD, and MacOS X. le runtime a été testé sur les processeurs x86, PowerPC, ARM, Sparc, PARISC, s309, Alpha, and IA-64 Actuellement : C#, pas de JIT, de nombreux outils 20

Languages C# Nouveau langage créé pour.net Evolution de C++ (comme Java) Concepts clés : Composants orientés Tout est objet Soumis à l ECMA pour standardisation Utilise les classes du framework.net Les types non signés de C# ne sont pas conformes au CLS 21

HTTP Des informations complémentaires? http://msdn2.microsoft.com/en-us/library/aa767734.aspx HTTP Essentials, Stephen Thomas, 2001, Wiley, ISBN 0471-39823-3 Cookies http://msdn2.microsoft.com/en-us/library/ms970174.aspx MIME http://www.ufaq.org/navcom/mime_tutorial.html http://www.irvine.com/~mime/ Networks http://msdn.microsoft.com/library/periodic/period99/ntp99b3.htm 22

XML http://msdn.microsoft.com/xml/default.asp http://www.w3.org/xml/ Des informations complémentaires? Essential XML, Don Box, Aaron Skonnard, John Lam, Addison Wesley, 2000, ISBN 0-201-70914-7.NET http://www.microsoft.com/net/ http://msdn.microsoft.com/net/ http://www.gotdotnet.com msnews.microsoft.com news server microsoft.public.dotnet.general newsgroup 23

Du framework.net au compact framework.net Jean-Yves Tigli, tigli@polytech.unice.fr http://www.tigli.fr Polytech Nice Sophia Antipolis SI5 Master IFI Université de Nice Sophia Antipolis 24

Plan 1. Présentation 2. Comparaison avec le Framework.NET a. Ressemblances avec le Framework.NET b. Différences avec le Framework.NET 25

Présentation Le Compact Framework.NET est un sous-ensemble de la bibliothèque de classes du Framework.NET, mais contient également des classes spécialement conçues à son intention. Il s'agit d'un environnement indépendant du matériel permettant d'exécuter des programmes sur divers périphériques informatiques à ressources limitées : assistants numériques personnels (PDA, Personal Digital Assistant) tels que le Pocket PC,téléphones mobiles, décodeurs, périphériques informatiques automobiles et périphériques personnalisés intégrés au système d'exploitation Windows CE.NET. 26

Présentation Pour simplifier, on peut dire que le Compact Framework.NET apporte aux périphériques la puissance de développement du Framework.NET. Le Compact Framework.NET offre également les avantages suivants : Exécution de programmes indépendants du matériel et des systèmes d'exploitation Prise en charge de protocoles réseaux courants et connexion transparente avec les services Web XML Performances optimales dans la génération de code natif à l'aide de la compilation juste-à-temps 27

Comparaison avec le Framework.NET Ressemblances avec le Framework.NET Différences avec le Framework.NET 28

Ressemblances avec le Framework.NET Le Compact Framework.NET possède des ressemblances avec le.net Framework. Common Language Runtime Dans les deux infrastructures, les CLR (Common Language Runtime) tirent parti de l'exécution de code managé, de la compilation de code juste-à-temps (JIT, Just In Time) et du garbage collector. Ils prennent en charge la Spécification de langage commun (CLS, Common Language Specification). Assemblies et formats de fichier Dans les deux infrastructures, les applications utilisent les assemblies. 29

Prise en charge de plusieurs langages Ressemblances avec le Framework.NET L'interopérabilité interlangage fait partie intégrante du.net Compact Framework. Visual C# et Visual Basic.NET sont les deux premiers langages pris en charge. Respect des normes La technologie de base implémentée dans les deux infrastructures est conforme à la norme CLI (Common Language Infrastructure) de l'association ECMA (European Computer Manufacturers Association). 30

Différences avec le Framework.NET Il existe beaucoup de différences entre le Compact Framework.NET et le Framework.NET COM interop et fonctions de rappel Le Compact Framework.NET n'assure pas l'interopérabilité (versions 1.0 et 2.0) avec les objets COM, mais vous pouvez utiliser PInvoke (platform invoke) pour accéder à des fonctions DLL natives qui, à leur tour, peuvent appeler des objets COM. Répertoire en cours La fonctionnalité de répertoire en cours est absente sur les périphériques qui exécutent Windows CE.NET ; par conséquent, le.net Compact Framework ne prend pas en charge les méthodes Directory.GetCurrentDirectory et Directory.SetCurrentDirectory. 31

Données Différences avec le Framework.NET Le Compact Framework.NET fournit une implémentation de sous-ensemble de ADO.NET et inclut le fournisseur de données SQL Server CE.NET. L'espace de noms System.Data.OleDb n'est pas pris en charge. Tableaux Au contraire de certains langages, le Common Language Runtime ne prend pas en charge les limites inférieures autres que zéro et lève une exception MissingMethodException si le premier élément d'un tableau n'est pas zéro. 32

ASP.NET Différences avec le Framework.NET Le Compact Framework.NET est essentiellement une plateforme de client élaboré et ne prend pas en charge ASP.NET. Assemblys et GAC (Global Assembly Cache) Dans les version 1.0 et 2.0, le.net Compact Framework ne prend pas en charge les assemblies composés de plusieurs modules, mais prend en charge les assemblies satellites. Classes Le.NET Compact Framework prend en charge un sousensemble de la Bibliothèque de classes.net Framework. 33

Différences avec le Framework.NET Types de données et précision en virgule flottante Seule Math.Round(double a) est prise en charge ; Math.Round(double a, double b) n'est pas prise en charge. Délégués Les délégués asynchrones, en particulier les méthodes BeginInvoke et EndInvoke, ne sont pas pris en charge. Événements Le.NET Compact Framework prend en charge les événements GotFocus et LostFocus, mais non les événements Activated et Deactivated. 34

Installation et fichiers CAB Différences avec le Framework.NET Vous pouvez utiliser des fichiers CAB et créer des applications MSI pour distribuer vos applications. Test des performances Le.NET Compact Framework ne prend en charge ni le profilage de code, ni le fichier Perfmon.exe du Moniteur système. Réflexion Le.NET Framework ne prend pas en charge l'espace de noms System.Reflection.Emit. 35

Sérialisation Différences avec le Framework.NET Pour des raisons de taille et de performances, le.net Compact Framework ne prend en charge ni la sérialisation binaire à l'aide de BinaryFormatter, ni la sérialisation SOAP à l'aide de SoapFormatter. Minuteries Les méthodes Timer.Start et Timer.Stop ne sont pas prises en charge, mais vous pouvez démarrer et arrêter une minuterie en affectant à la propriété Timer.Enabled la valeur true or false. 36