Les Rencontres Visual Basic Lille, 25 Novembre 2004

Slides:



Advertisements
Présentations similaires
Rick Claus Conseiller professionnel en TI Microsoft Canada Rodney Buike Conseillère professionnelle en TI Microsoft Canada
Advertisements

Pierre Lagarde Relation technique développeur Grégory Renard [Rédo] Responsable Développement Wygwam.
Les technologies décisionnelles et le portail
Les Web Services Schéma Directeur des Espaces numériques de Travail
Module 5 : Implémentation de l'impression
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
Nos Partenaires Rencontres ASP.NET : Développement Rapide dApplications Web.
Agenda de la journée 10h00 : La place dASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide dapplications Web en ASP.NET 12h00 : Construire.
Le programme Evolution
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Les Excel Services de Office 2007
Conclusion Rencontres ASP.NET : Développement Rapide dApplications Web.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Automatisation de Tâches Scenarios
Rencontres Windows Forms
Les Web Services Schéma Directeur des Espaces numériques de Travail
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Microsoft Office Groove Le contexte Une utilisation des postes de travail en très grande évolution chez les professionnels. Des lieux de travail.
Introduction aux fonctions de gestion de contenu Web dans Microsoft Office SharePoint Server 2007.
Appels de fonctions natives sous C#
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Le Grid Computing Par Frédéric ARLHAC & Jérôme MATTERA.
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
1.NET, bilan et perspective – Univ-Bordeaux - vendredi 18 novembre 2005.NET, bilan et perspectives François MERAND Responsable groupe architectes Division.
Introduction à la POO: Les classes vs les objets
Cours Visual Basic pour Application
Etude des Technologies du Web services
Programmation orientée objet
XML-Family Web Services Description Language W.S.D.L.
Eric Vernié - Microsoft Yann Faure - Bewise Etude de cas FMStocks 2000.
Module 1 : Préparation de l'administration d'un serveur
« Les Mercredis du développement » Retour dexpérience / Framework de dév. Présenté par Grégory Renard [Rédo] Responsable Développement.
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Développement Rapide dApplications Web avec.NET « Mon premier site »
Programmation Approche composants Ing5 SI
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
Les instructions PHP pour l'accès à une base de données MySql
Le Travail Collaboratif ...
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Présentation 1. Consumer/Soho Small BusinessMidsize Business CorporateEnterprise Windows Home Server 1-4 employés 1-4 PCs 1-4 employés 1-4 PCs 5-49 employés.
Introduction au paradigme orienté-objet (suite)
Microsoft .NET.
PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Agenda de la journée 10h00 : La place d’ASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide d’applications Web en ASP.NET 12h00 : Construire.
Agenda de la journée 10h00 : La place d’ASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide d’applications Web en ASP.NET 12h00 : Construire.
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
‘‘Open Data base Connectivity‘‘
Visio. Copyright© 2012 Microsoft CorporationConfidentiel Les défis pour l'entreprise Environnement complexe Explosion du volume de données Un monde plus.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Introduction au développement Office 2007
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
.NET Plateforme, framework, produits Bernard Fedotoff (Pdg) Stéphane Vancauwenberghe (Consultant)
Introduction à la plateforme .NET
Mastère Professionnel Systèmes de Communication et Réseaux
Dyalog.Net Peter Donnelly Managing Director Dyadic Systems Toronto 30/10/2002.
Code Contracts Gilles TOURREAU - MVP C# Architecte .NET / Formateur
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Héritage Conception par Objet et programmation Java
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Installation du PGI – CEGID
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
Transcription de la présentation:

Les Rencontres Visual Basic Lille, 25 Novembre 2004 Alain Le Hegarat, Responsable Marketing Développeurs alainle@microsoft.com, 066440 4577 Éric Vernié, Relation technique Développeurs ericv@microsoft.com Franck Ella, Ingénieur Support Technique (Accès aux données)

Les Rencontres Visual Basic Nantes, 7 Décembre 2004 Nicolas Clerc Micropole-Univers nclerc@micropole-univers.com Lucas, Responsable Marketing Développeurs lucasr@microsoft.com Éric Vernié, Relation technique Développeurs ericv@microsoft.com Axel Guerrier, Ingénieur Support Technique (Accès aux Données)

HP Partenaire du tour Visual Basic Intégrateur des technologies Microsoft : Plus de 10M de postes Windows 2000/XP déployés Plus de 13M de postes MS Exchange 2000/2003 déployés Services de support Microsoft Développement conjoint de solutions verticales : HP OpenBank – Banque HP CBI.NET – Industrie HP ISM.NET – Telecom Centre d’expertise et de benchmarks dédiés Microsoft Un portfolio de solutions pour une infrastructure Microsoft étendue Serveurs 32 et 64 bits Stockage NAS, SAN Postes de travail… Windows Mobile Phone Edition Windows XP Edition Tablette PC

LearningTree, partenaire du tour Visual Basic Des cursus cohérents pour : C eux qui sont nouveaux dans le développement logiciel Les programmeurs existants qui transfèrent leurs compétences issues d’autres disciplines de programmation sous Windows Des questions / réponses par stage pour vérifier l’adéquation du besoin au stage proposé Les avantages de Learning Tree Indépendance par rapport aux technologies Des formateurs experts avec une expérience de terrain Jeu Concours gagnez une formation .NET chez Learning Tree Tirage au sort à 16h00

Visual Basic .NET 2003 initiation Permet la création de projet WinForm, WebForm et comprend l’assistant de migration VB6 vers VB .NET Ne permet pas la création d’applications Web Forms Mobile ou la création de “User Control” ou “Class Library” Vous permet aussi de Bénéficier du support VS .NET Pro au prix de la mise à jour

Découvrez la nouvelle génération d’environnement de développement pour les Professionnels à prix spécial ! Visual Studio .NET 2003 offre un environnement de développement complet et intégré pour créer, déboguer et déployer des applications pour Microsoft Windows, le Web et les périphériques mobiles. Le nouveau Microsoft® Visual Studio .NET 2003 Professional Edition spéciale offre toute la productivité de Visual Studio .NET 2003 Professional et inclut également: Windows Server™ 2003 Standard Edition* SQL Server™ 2000 Developer Edition* Les outils Microsoft Visual Studio Tools pour Microsoft Office System – utilisez la puissance du .NET Framework pour écrire du code destiné à des applications Microsoft Word 2003 et Microsoft Excel 2003 Le CD des labs .NET – pour s’auto former sur les technologies de développement .NET. Un livre de formation à ASP .NET. Faites la mise à jour à partir d’outils Microsoft ou applications concurrentes VS .NET 2003 Ed Spéciale……… 927 €HT** Mise à Jour……………..……..……632 € HT ** * Licences de test et de developpement ** prix moyen estimés Utilisez Visual Studio .NET Professional 2003 Edition spéciale pour • Créer rapidement des applications Web • Augmenter votre productivité pour tout type d’application • Augmenter la performance de vos applications Pour en savoir plus vous pouvez consulter le site http://www.microsoft.com/france/vstudio/

http://www.microsoft.com/france/msdn/abonnements Visual Studio .NET Les abonnements MSDN Soyez toujours à la pointe des derniers développements en cours Les abonnements MSDN donnent accès à l'intégralité des produits et ressources dont les développeurs professionnels ont besoin pour résoudre n'importe quelle problématique de développement, y compris les derniers outils de développement, systèmes d'exploitation et serveurs d'entreprise, ainsi que les applications de productivité personnelle, comme Office 2003 et Visio, la librairie MSDN et un accès au support technique, en fonction du niveau d'abonnement. Ces abonnements sont devenus un service primordial pour les développeurs leur fournissant un accès prioritaire à plus de 1000 produits mis à jour par DVD, CD ou téléchargements comprenant les derniers outils, plates-formes et technologies serveur * A chaque version de Visual Studio .NET (à partir de la version Pro) correspond une version d'abonnement MSDN. Visual Studio .NET est disponible au téléchargement sur le site réservé aux abonnés MSDN Visual Studio .NET inclus* MSDN Library Abonnement 210 € HT** Mise à jour 105 € HT** MSDN Operating System 797 € HT** Mise à jour 576 € HT** MSDN Professional 1368 € HT** Mise à jour 985 € HT** MSDN Enterprise 2562 € HT** Mise à jour 1775 € HT** MSDN Universal 3263 € HT** Mise à jour 2285 € HT** Pour en savoir plus vous pouvez consulter le site http://www.microsoft.com/france/msdn/abonnements ** Prix moyen éstimés

Pourquoi êtes-vous important ? Visual Basic est dans nos gênes ! Vous êtes 30 000 développeurs Visual Basic en France fédérés par des communautés : vbfrance.com et vb.developpez.com Les idées reçues « VB.NET est mort, vive C# » « .NET n’a pas de valeur ajoutée, et c’est compliqué » « .NET c’est que de la programmation objet » « Je n’ai pas le temps » Nous avons mal communiqué « Mon chef ne veut pas passer à .NET, il n’a pas le budget » Visual Basic est quasiment aussi utilisé sur la plate forme .NET que C# 6/7 Millions dans le monde !

Visual Basic pour des missions critiques Le CHU de Grenoble adopte une architecture orientée services Depuis 15 ans, le CHU de Grenoble a toujours suivi l'évolution des technologies Microsoft. Il est ainsi passé en douceur d'une architecture client-serveur VC++ à Visual Basic 6, puis d'ASP à Microsoft .NET. A chaque évolution technologique, les développements antérieurs ont été réutilisés pour construire progressivement une architecture orientée services. Prochaine étape : le partage du dossier médical. SG Corporate & Investment Banking : « Nous réalisons aujourd'hui en une heure, des calculs que nous ne pouvions tout simplement pas effectuer auparavant, faute de ressources et de temps ».» : 250 utilisateurs, dont 120 traders, disponibilité 24x7, 800000 paramètres pour une calculatrice financière temps réel connectée à des flux externes et solution « grid » sur 80 serveurs Enfin, sachez que en plus 3 ans, de nombreux développeurs, de nombreuses entreprises ont construit des applications qui reposent sur la technologie .NET, y compris ASP.NET, pour tout type d’applications, des plus modestes au plus stratégique. La journée est consacrée à montrer comment développer facilement et rapidement des applications Web. Et c’est vrai, que nos produits de permettent de faire facilement et rapidement les choses simples et moins simples. Mais c’est quelques référence illustre également que la plateforme .NET est tout à fait approrpiée pour des projets « critique » avec de fortes contraintes de montée en charge, de fiabilité, etc. On finira la journée par un panel de sites Web d’entreprises de toutes tailles, qui ont choisi de s’exposer sur le Web avec la technologie ASP.NET, mais sachez que .NET s’adapte à tous les types de projets, du plus simple au plus sophistiqué. GEAC adopte une architecture Web pour son ERP GEAC, 5ème éditeur mondial de progiciels de gestion intégrée (ou ERP) propose ses nouveaux modules Paie, Comptabilité et Ressources humaines en architecture Web. Pour développer sa nouvelle offre, GEAC a retenu la plate-forme ASP .NET. Objectif : réduire les temps et les coûts de développements tout en assurant la fiabilité et la pérennité de sa solution et convertir ses développeurs AS 400 à Visual Basic .NET.

VB.NET Construire une application avec VB.NET Construire une application simple en VB.NET Toutes les nouvelles possibilités de développement d’applications Programmation d’applications d’entreprises Les apports de la plate-forme .NET pour les développeurs VB Le développement d’une application VB.NET en utilisant l’architecture n-tiers Interopérabilité avec l’existant Migration d’une application existante vers VB.NET Échanges avec nous 3 parties dans cette présentation : Vous donner envie de manipuler VB.NET et vous faire une idée par vous-même. Développer des applications en utilisant des techniques modernes. Venir nous rencontrer et nous parler de vos problématiques et échanger avec nous.

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Démonstration VB.NET Démonstration Fonctionnelle Commentaires : Idées a faire passer Transition :

VB.NET Interface riche « look and feel XP» Interface de type MDI Utilisation de l’accès aux données ACCESS Utilisation du moteur graphique (GDI+) Utilisation de contrôles riches Commentaires : C’est une application que l’on va faire évoluer d’un point de vue de l’architecture car aujourd’hui elle n’a pas été conçu pour évoluer de manière satisfaisante. A peu près tous les deux mois nous essaierons sur notre site d’y apporter des modifications

VB.NET Appel à un composant externe (WEB service) Liaison avec Office 2003 Client mobile Base de données locale SQL CE

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

VB.NET Démonstration Démonstration Construire un Formulaire d’authentification Commentaires : Idées a faire passer Transition : :

Windows forms Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript® J# Visual Studio® .NET

Les Windows Forms Intégration à Microsoft .NET Framework Qu'est-ce que les « Windows Form »? Un Framework pour créer des applications riches tirant parties de Microsoft .NET et des APIs Win32® Une architecture pour créer des contrôles Un développement de type « RAD » Intégration à Microsoft .NET Framework Appel simple à des Services Web Intégration avec la couche « d’accès aux données » Commentaires : Idées a faire passer Transition : :

Les Windows Forms VB 6 VB.NET Outil RAD Programmation événementiel Contrôles personnalisés Agrégation Héritage visuelle Nouvelles fonctionnalités Nouveaux contrôles Thèmes Windows XP Etc… Nouvelles fonctionnalités Ancrage Docking Nouveaux contrôles Aperçu avant impression Partager facilement des écrans Etc.. Différences entre les contrôles VB 6.0 et VB.NET http://msdn.microsoft.com/vbasic/technical/upgrade/differences.asp

Les Windows Forms Un ensemble riche de composants Contrôles standard Label, LinkLabel, TextBox, RadioButton, Checkbox, GroupBox, Panel, ListBox, CheckedListBox, ComboBox, Button, Menu, Panel PictureBox, MaskedEdit, Up-Down, Scrollbar, Splitter, Tooltip, Menus, Help, PropertyGrid Fenêtres de dialogues RichEdit Contrôles avancés Progress Bar, Status Bar, Toolbar, ListView, TreeView,Tab Control,DateTime Picker, Calendar,Tooltip, Trackbar,ImageList Contrôles liés à l’Accès aux données DataGrid, ErrorProvider

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Démonstration VB.NET Démonstration Utilisation des assistants DataForm Commentaires :

L’accès et la manipulation de données Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript® J# Visual Studio® .NET Commentaires : Idées a faire passer Transition : :

ADO.NET… Une évolution plus qu’une révolution… Même philosophie que ADO, mais modèle différent Meilleure montée en charge Le mode déconnecté est le facteur clé Peut-être utilisé par tous les langages de la plate-forme .NET

ADO Architecture : 2 Modes Commentaires : Idées a faire passer Transition : : Mode déconnecté Dataset qui cache les données sans maintient de la connexion Mode Connecté Managed Provider Accès physique à la base

Démonstration VB.NET Démonstration Ventes par catègories avec ADO.NET Commentaires :

Correspondance entre ADO.NET et XML Managed Provider DataReader Command Connection Sync Controls, Designers, Code-gen, etc DataSet XmlReader XmlText- Reader XmlNode- XSL/T, X-Path, Validation, etc XmlData- Document DataAdapter Commentaires : Idées a faire passer Transition : :

Démonstration VB.NET Démonstration Création objet ADO via Code Commentaires :

ADO.NET ADO ADO.NET Fournisseurs OLEDB Fournisseurs Managés Recordset DataSet /DataTable connexion commande XML natif Migration du code et des concepts http://msdn.microsoft.com/library/en-us/dnadonet/html/adocnet4.asp http://msdn.microsoft.com/msdnmag/issues/04/07/DataPoints/toc.asp

VB.NET Agenda de la matinée Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Résumé des changements dans Visual Basic.NET Gestion structurée des exceptions Les types de données Syntaxe de déclaration Mots-clés supprimés UDTs sont désormais des structures Mots-clés remplacés par le Framework .NET

Gestion structurée des exceptions Try, Catch, Finally Vous pouvez "Throw" une exception – équivalent à Err.Raise "On Error Goto" est encore supportée L’objet Err est encore disponible Il dépend de classes « Exception » qui contiennent l’information sur l’erreur

Gestion structurée des exceptions Exemple: interception A noter le mot clé finally

Démonstration VB.NET Démonstration gestion d’erreur Globale Commentaires :

Changements dans les types de données Integer devient Short Long devient Integer Le nouveau Long est une valeur 64-bit Currency devient Decimal Variant devient Object La chaîne de caractères fixe n’est pas un type de base.

Changement dans la syntaxe de déclaration Plusieurs déclarations sur la même ligne impliquent le même type Valeur initiale supportée

Changements dans la déclaration des tableaux Utilisez Dim pour la déclaration initiale des tableaux – Redim pour modifier la taille seulement. Valeurs initiales pour les tableaux Option base toujours égal zéro

Mots-clés retirés Ces mots-clés sont retirés et ne sont plus supportés : GOSUB DefType (comme DefInt, DefStr, etc.) On x GoTo Let Option Base 0 | 1 VarPtr ObjPtr StrPtr Comme Visual Basic s’appuie désormais entièrement sur la plate-forme .NET, certain mots clés n’ont plus de raisons d’être.

Les alternatives .NET Un certain nombre de mots-clés VB ont une alternative dans la librairie .NET RSet, LSet PadRight, PadLeft dans System.String Rnd, Randomize Voir System.Random Les mots clefs ont été principalement remplacer par des librairies .net Le réflexe à avoir, c’est de vérifier si dans le Fx, il n’existe pas l’équivalent.

VB.NET Démonstration Trim Rtrim, etc Et OrElse andAlso Commentaires :

Divers changements Syntaxes raccourcies : +=, -+, *=, etc. Pas de chargement implicite d’une form (une form n’est rien d’autre qu’une classe comme une autre)

Divers changements Utilisez systématiquement des parenthèses pour les méthodes et fonctions Les paramètres sont ByVal par défaut Visibilité des variables au niveau des blocks

VB.NET PAUSE

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Service WEB Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript® J# Visual Studio® .NET

Un Service Web, c’est quoi ? Aujourd’hui nous avons : Des applications, composants, librairies … ObjetMetier.DLL Méthode CalculerTVA(byval param as integer, …) En VB6 si je veux accéder à CalculerTVA Ajout d’une référence à ObjetMetier.DLL Set obj = new ObjetMetier obj.CalculerTVA(param,…) La mécanique est cachée (protocole, données) c’est du RPC/COM/TLB. ObjetMetier.dll me rend un service le calcul de la TVA.

Services Web XML Exposer les services de ObjetMetier.dll (CalculerTVA) au travers : Protocole et format de données Standards du W3C Échanges standards XML (SOAP) via HTTP

Un Service Web, c’est quoi ? Un service Web est une « unité logique applicative » accessible en utilisant les protocoles standard d’Internet Caractéristiques : Réutilisable Indépendamment de la plate-forme (UNIX, Windows, …) l’implémentation (VB, C#, Java, …) l’architecture sous-jacente (.NET, J2EE, …)

Un Service Web, c’est quoi ? Ce sont des «librairies» fournissant des données et des services à d’autres applications Combinent les meilleurs aspects du développement à base de composant et du Web La base de la «vision» .NET

Quel service me proposes-tu et quel est le format d’appel? Concepts Contrat SOAP** Quel service me proposes-tu et quel est le format d’appel? Voici mon contrat (WSDL)* XML décrivant CalculerTVA() Client Serveur SOAP/XML J’ai compris comment invoquer ton service et je t’envoie un document XML représentant ma requête HTTP=RPC SOAP=COM WSDL=TLB SOAP/XML J’ai exécuté ta requête et je te retourne le résultat

Services Web XML Indépendants des implémentations techniques, syntaxes et OS Savoir « analyser » du XML

Démonstration VB.NET Consommer un service Web sur une autre plateforme Démonstration Créez un service Web Vente par catégories

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Windows forms Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript® J# Visual Studio® .NET

Problème de fond des Utilisateurs Contrôle et accès permanent à l’information Fax Appels Mobiles E-mail Messagerie vocale Pagers Messages instantanés Réseau Mobile Adaptation du contenu en fonction du contexte … et de la localisation MSReader & eBook

.NET et les nouveaux périphériques Visual Studio.NET .NET Framework Web pages code Mobile Web Browser .NET Compact Framework

Compact Framework Fonctionnalités supportées Common Base Classes IO, collections, reflection, math, drawing Connectivity Networking, HTTP classes, calling XML Web services Data Access ADO.NET, SQL Server CE, SQL Server XML XmlDocument, XmlReader/Writer Windows Forms

VB.NET Démonstration Démonstration Application Mobile

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Visual Tools for Office Utiliser VB.NET et la puissance du Framework .NET pour étendre office Utiliser l’environnement de développement de Visual Studio .NET Bénéficier de la richesse en objet du Framework dans vos applications Office

VB.NET Démonstration Démonstration Application Office

VB.NET Agenda Construire une application simple en VB.NET Ma première application VB.NET Développement d’interfaces « clients riches » L’accès et la manipulation de données Les changements dans le langage Toutes les nouvelles possibilités de développement d’applications Développement d’un service web Développement d’interfaces pour périphériques mobile Développement pour Office 2003 Développement d’interfaces WEB Commentaires : Idées a faire passer Transition : :

Développement WEB Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript® J# Visual Studio® .NET

Windows Operating System Architecture ASP.NET Web Clients ASP.NET Apps IIS Framework.NET Windows Operating System

Évolution des ASP Objectifs: Simplifier, structurer le développement Indépendance vis à vis des langages Séparation du code et de la représentation Déploiement simplifié Supporter différents types de clients S’appuyer sur le Framework.NET Améliorer la haute disponibilité Assurer la montée en charge dans des fermes de serveurs WEB

Modèle d’exécution ASP.NET Parser Moteur ASPX Fichier classe Code- behind Fichier classe généré de la page Générer ASPX File Requête Fichier ASPX Instancier Requête Classe de la page Instanciation, traitement et rendu ASP.NET compile à la demande le code en fonction des dépendances du code source (comme NMAKE) Le code ASP.NET est toujours compilé dans un assembly avant son exécution ASP.NET compile les fichiers .ASPX une fois et cache la DLL résultant Si le fichier source est plus récent que la DLL cachée, une nouvelle compilation a lieu et la DLL résultat est, à son tour, cachée Si le fichier source n’est pas plus récent que la DLL cachée, on utilise la DLL cachée On utilise des « copies mirroir » des DLL pour traiter les requêtes existantes en utilisant l’ancien code Cette page montre comment le moteur CLR ASP fonctionne quand l’utilisateur visite une page. Quand l’utilisatur demande une page depuis un navigateur ou une application, le fichier ASPX est parsé par le moteur ASPX. Ce moteur génère un fichier classe pour la page qui est traîté (compilé) par le CLR avant que la sortie soit affichée. Ces informations compilés sont persistées (sauvegardées) sur un disque. De telle façon que la prochaine fois que l’utilisateur visitera la page, le code exécuté sera le code compilé sauvegardé sur disque. Le fichier n’est pas recompilé tant qu’un changement n’est pas intervenu. Le fichier code-behind ASPX est compilé en une seule DLL. Ceci peut constituer un problème pour le développement en groupe, dans le cas où différents développeurs construisent des pages pour la même DLL. Il est donc préférable de travailler en local en utilisant régulièrement un mécanisme de synchronisation afin de permettre un travail en groupe efficace. Ensuite, tous les développeurs construisent pour le même Web. La DLL en question est un objet fortement typé. L’environnement CLR requiert moins d’effort de codage de votre part car Visual Studio .NET pre-remplit plus d’informations de base dans vos pages Web ASP.NET lors de la création de votre projet. La séparation du code de l’application des balises HTML et de la présentation permet de mieux visualiser son environnement de programmation et donc d’être plus efficace. 1/ Le « pager » Parse et transforme en fichier source en langage cible (target language) 2/ Ce fichier est ensuite compilé en MSIL et stocké par défaut dans C:\WINNT\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files Configuration de ce chemin dans web.config 3/ Stocké en cache 4/ Recompilé si modification du source ou fichier dépendant tel que web.config ou global.asax Processus coûteux Choix entre 2 types de compilation Préservation Evite une recompilation lorsque IIS ou l’appDomain redémarre. Conserve les assembly compilées dans Temporary ASP .NET Files directory. Si les assemblies et les fichiers dépendants inchangées alors pas de recompilation (contrôle par un fichier hash). The DLL’s that we generate have auto-generated names that look like xxxxxxxx.dll (e.g. oxahun2t.dll). The idea of preservation is to keep these DLL’s across app domain restart, in order to avoid having to recompile them every time. In order to do this, we need to keep track of what DLL is used for what page. To do this, we create a .xml file that has a name derived from the name of the page we compiled. E.g. suppose we are compiling a page named MyPage.aspx. Its corresponding data file will have a name like MyPage.aspx.2d53e27.xml. The cryptic number in the name (here 2d53e27) is a hash code of the virtual directory that MyPage.aspx lives in. This is needed because there can be multiple files with the same name in different directories Batching Lors de la demande d’une page, toutes les pages du répertoire sont recompilées. En cas d’erreur de parsing, le fichier est skipped et la compilation continue (‘Parse error: a syntax error detected by the ASP.NET parser. E.g. a malformed <%@ … %> tag would cause such error). En cas d’erreur de compilation, la compilation est annulée. The main purpose of this feature is to reduce the amount of time spent doing compilations, and to reduce the memory footprint of the code we compile. These goals are achieved using two different techniques, both of which are addressed in this spec: Preservation and Batching. The idea of Preservation is to avoid having to recompile all the pages every time IIS is restarted (or more precisely every time the appdomain is restarted), which is what was previously happening. Instead, we preserve the compiled binaries in the codegen directory, along with some files that contain information about them (e.g. what files the binary depends on). The idea of Batching is to compile multiple pages at the same time, instead of compiling each of them individually (as was the case until recently). This reduces the overall time spent doing compilations. It also creates many less binaries, which ends up greatly reducing the memory used by the loaded assemblies (since there is a significant price for each loaded assembly, not matter how small it is). Réponse Réponse

ASP.NET Différenciation entre la représentation et le traitement. Code behind Contrôle serveur Même modèle que les Windows forms Performances Les pages sont compilées pas interprétées VB.NET vs VBscript

Démonstration VB.NET Tour ASP.NET http://www.microsoft.com/france/asp.net/default.mspx 07 – Application WEB Consommation de l’objet venteParCategories.dll

VB.NET Pause (rapide)

VB.NET Construire une application avec VB.NET Construire une application simple en VB.NET Toutes les nouvelles possibilités de développement d’applications Programmation d’applications d’entreprises Les apports de la plate-forme .NET pour les développeurs VB Le développement d’une application VB.NET en utilisant l’architecture n-tiers intéropérabilité avec l’existant Migration d’une application existante vers VB.NET Commentaires : Idées a faire passer Transition : :

VB.NET Agenda VB et l’objet Principe de l’architecture .NET La Programmation Orientée Objet pourquoi ? Principe de l’architecture .NET L’intéropérabilité Migration de l’existant. Rencontrez-nous.

La programmation Orientée Objet Pourquoi ? Maîtrise de la complexité Fiabilité des applications Réutilisation du code Confort de développement Maintenabilité des applications • Maîtriser la complexité Les logiciels Modernes sont interactifs et composés de nombreux éléments, les programmes doivent posséder un nombre croissant de fonctionnalités dû à l’apparition de nouveaux domaines applicatifs. La décomposition en niveaux d’abstraction de plus en plus détaillés est une solution à ce problème. • Construire un logiciel Fiable et robuste La fiabilité d’un logiciel dépend de sa correction et de sa robustesse. Un logiciel est correct si il réalise les fonctionnalités incluses dans les spécifications. Un logiciel est robuste si il sait gérer raisonnablement les situations de fonctionnement exceptionnel. (Il ferme les fichiers ouverts avant de s’arrêter) • Pouvoir réutiliser du code C’est la capacité d’utiliser le plus possible des fonctionnalités déjà développées • Assurez un confort de développement Le confort de développement, dépend de la facilité de prototypage et la lisibilité du code en cours de développement. • Assurez une bonne Maintenabilité Inclut, la facilité de débogage, la flexibilité c'est-à-dire sa capacité à pouvoir changer son implémentation facilement. Il ne faut pas se voiler la face, la programmation orientée Objet nous permettra plus facilement d’atteindre ces objectifs. Mais est-ce que cela veut dire que les développeurs Visual Basic ont attendu les bras croisés pour développer des applications qui tiennent compte de ces objectifs? La Programmation Orientée Objet nous permettra d’atteindre plus simplement ces objectifs

Méthodes à suivre Décomposition logique Modularité Abstraction Masquage de données Encapsulation de données Réutilisation Décomposition logique : Consiste a subdiviser un problème complexe en sous-ensemble plus petits et plus simples. Modularité : Consiste à décomposer le programme en entités indépendantes décrites par des interfaces bien définies Abstraction de données : consiste à définir un type de données par ses fonctionnalités plutôt que par son implémentation. L’avantage de cette approche, c’est que l’on peut continuer à modifier l’implémentation interne du module. On améliore également la maintenabilité L’encapsulation de l’information consiste a séparer l’implémentation de l’interface. On place les données et l’implémentation dans une même coquille et on limite l’accessibilité aux données par l’interface. On masque les détails qui ne sont pas indispensable, on simplifie l’accès à l’information La réutilisation du code permet de réutiliser le même code de manière analogue dans des situations différentes Polymorphisme: : Rugbyman : le poing dans la gueule.

VB 6 vs VB.NET VB 6 VB.NET Décomposition Sub/Function Modularité ObjetMetier.dll Abstraction Interface* Class abstraite/Interface Masquage de données Public/Private/Friend Public/Private/Friend/Protected Encapsulation de données Class Réutilisation Agrégation Inherits (Héritage) Polymorphisme Implements Implements/Inherits Qu’est-ce qu’un objet ? Une entité physique du monde réel Un concept Caractérisé par : Son état Son Comportement Conceptuellement les objets interagissent les uns avec les autres, en envoyant et en recevant des messages. En pratique, envoyer un message, c’est appeler une fonction spécifique d’un objet. Les objets répondent aux messages en exécutant les fonctions membres correspondantes (que l’on appelle aussi méthodes) Type de données Abstraits. L’état des objets est implémenté au travers des données membres (variable globale) Leur comportement est implémenté au travers des fonctions membres (en général des appels de fonctions) Mais L’état peut être complètement décrit en terme de comportement. Le résultat est un type de données abstrait Abstraction : On peut passer d’une implémentation à l’autre sans modifier l’interface en quoi que ce soit. Masquage de l’information Moyen de protéger les données Un support total de l’abstraction des données nécessite des mécanismes de masquage de l’information au niveau du langage C’est un allié précieux lorsqu’il faut véirifier l’exactitude du code Encapsulation Mécanisme inclus dans les langages oriéntés objets qui favorise l’approche en boite noire, plutôt que de compter sur la rigueur du programmeur Supportés en VB grâce au mécanisme de classes Qu’est-ce qu’une classe C’est la description des caractéristiques communes à un ensemble d’objet Une moto et une voiture sont : Des objets différents mais Ils ont la même interface et la même implémentation Les classes combinent : les données membres (attributs) techniquement parlant ce sont des variables globales qui doivent être privées: Par exemple le Nombre de roues les fonctions membres (méthodes) : Par exemple démarrer Héritage : La capacité donnée à une classe d’hériter du comportement et/ou de l’implémentation d’une autre classe Polymorphisme : La capacité donnée à différent objets de répondre différemment au même message Un mécanisme fourni dans les langages de programmation plutôt qu’une astuce de progammation * Interface COM, masquée dans Visual Basic 6.00

Via paramètre optional de type variant Substitution de méthode** VB 6 vs VB.NET (suite..) VB 6 VB.NET Constructeur Initialize* New() Destructeur Terminate Finalize Surcharge Via paramètre optional de type variant Oui Substitution de méthode** Non Sous classe *Pas de passage de paramètres possible **La classe dérivée modifie le comportement de la méthode

Les objets Qu’est-ce qu’un objet ? Un objet est caractérisé par : Une entité physique du monde réel Un employé Un objet est caractérisé par : Son état Nom, Prénom, Age (Propriétés) Son comportement, ses actions CreerEmail() (méthode) CalculerSalaire() (méthode)

Je peux avoir différents types d’employés CDD Nom/Prenom/Age CreerEmail() CalculerSalaire() CDI Nom/Prenom/Age CreerEmail() CalculerSalaire() Stagiaire Nom/Prenom/Age CreerEmail() CalculerSalaire() FairePhotocopies() ;-) Intérimaire Nom/Prenom/Age CreerEmail() CalculerSalaire() Autres Nom/Prenom/Age CreerEmail() CalculerSalaire() Comment l’implémenter ?

Comment l’implémenter ? Dupliquer toutes les fonctions dans des objets séparés ? Écrire un gros objet avec un drapeau précisant le type (CDI, CDD, Stagiaire ….) ? Si j’ai un bug dans une méthode, je dois vérifier pour tous les autres méthodes dupliquées

Nous sommes tous d’accord Pour dire que CDI, CDD, Stagiaire, etc… Sont des employés Avec des caractéristiques communes Non/Prénom/Age CreerEmail() Des caractéristiques différentes CalculerSalaire() Autres…

On va utiliser l’héritage Employe Stagiaire CDI CDD Chef On va utiliser l’héritage

VB.NET Démonstration Demo VB6 et VB.net

Les fonctionnalités “Objet” dans VB.NET Namespaces Constructeurs paramétrables Plus de : “Instanciation puis affectation” Classes avec des membres statics Surcharges de méthodes (mais pas d’opérateurs)

Les fonctionnalités “Objet” dans VB.NET Une seule manière d’instancier: New Héritage Inherits redéfinition de méthodes et propriétés

Changement de syntaxe Plus de propriétés par défaut Les fichiers sources peuvent contenir une ou plusieurs classes Nouvelle syntaxe pour les propriétés Dans la déclaration des propriétés pas dans l’utilisation

Namespaces Une hiérarchie logique de classes Un namespace + nom des classes forment un nom unique pour ces classes Mot clé “Imports” utilisé pour faire référence aux namespaces Les namespaces peuvent être éclatés entre plusieurs modules

Structure d’une classe en Visual Basic .NET

Les propriétés

Surcharge de méthodes Une classe peut contenir plus d’une méthode portant le même nom Chacune d’elles doit être déclarées avec une liste d’argument unique

Surcharge de méthodes

Constructeurs Class_Initialize  Sub New « Sub New » peut prendre des paramètres qui seront alors demandés à l’instanciation Les constructeurs comme les méthodes et propriétés peuvent être surchargés

Constructeurs

Héritage en Visual Basic .NET L’héritage était absent des versions précédentes Visual Basic .NET inclut l’héritage car tout le framework .NET est basé dessus

Rappel rapide sur l’héritage Avantages de l’héritage Accroît les possibilités de réutilisation du code Simplification de la maintenance Les nouvelles fonctionnalités de la classe de base sont automatiquement disponibles aux sous-classes

Les mots-clés de l’héritage Inherits – Hérite d’une classe de base NotInheritable – Empêche une classe d’être héritée Overrides – Utilisé sur une méthode d’une sous-classe pour redéfinir l’implémentation de cette fonction dans la classe de base

Les mots-clés de l’héritage Overridable – Utilisé sur un membre de la classe de base pour indiquer qu’il peut être redéfini par les sous-classes (par défaut, le membre est « non-overridable ») MyBase – Utilisé pour faire une référence à la classe de base MustInherit – Permet de rendre une classe « Ininstanciable ». Obligation d’hériter MustOverride – Indique qu’une méthode de la classe de base DOIT être redéfinie

Les propriétés par défaut sont parties Résout le problème de l’ambiguïté en VB6 txtNom1 = txtNom2 doit être distingué de Set txtNom1 = txtNom2 Puisqu’il n’y a plus d’ambiguïté possible, Set a été supprimé

VB.NET VB et l’objet Principe de l’architecture .NET La Programmation Orientée Objet pourquoi ? Principe de l’architecture .NET L’intéropérabilité Migration de l’existant. Rencontrez-nous. KEY MESSAGE: Session prerequisites. SLIDE BUILDS: None SLIDE SCRIPT: This session assumes that you have some knowledge of Visual Basic 6, Visual Basic .NET, C#, or C++ and that you have a minimal understanding of the differences between Visual Basic 6 and Visual Basic .NET. SLIDE TRANSITION: So why this presentation? ADDITIONAL INFORMATION FOR PRESENTER:

Unification du développement .NET Framework RAD, Héritage, contrôle et performance, WebDynamic et WebServices ASP Stateless, mélange de code/HTML VB Forms RAD, Composition, Délégation Héritage, Contrôle, performance MFC/ATL Windows API

Démarrer avec .NET Framework, Langages et outils Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript® J# Visual Studio® .NET

Démarrer avec .NET Framework, Langages et outils VB C++ C# JScript J# Visual Studio .NET Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System

Common Langage Runtime Threads Interoperabilité COM Vérification des Types Exceptions Sécurité Debuggeur Compilation IL Gestionnaire De code Garbage Collector Class Loader

Développement DEVELOPMENT Compiler Assembly Source code C# J# VB Cobol public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Compiler public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Source code C# J# VB Cobol … MSIL Metadata Resources

Global Assembly Cache (GAC) Application Directory Déploiement Compiler Assembly DEVELOPMENT C# J# VB.NET C++ Cobol … MSIL Metadata Resources public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Source code Assembly DEVELOPMENT DEPLOYMENT Global Assembly Cache (GAC) Install Setup Copy Browser Application Directory Download Cache

Exécution DEPLOYMENT DEVELOPMENT EXECUTION Assembly on Target Machine Application Directory Setup Copy Browser Download Cache DEPLOYMENT Global Assembly Cache (GAC) Assembly on Target Machine Install Policy <security> <mscorlib> <configuration> <?xml version="1.0" encoding="utf-8" ?> <policy> version="1" <CodeGroup class="UnionCodeGroup" <PolicyLevel version="1"> PermissionSetName="Nothing" Description="Code group grants no permissio ns and forms the root of the code group tree."> Name="All_Code" <IMembershipCondition clas s="AllMembershipCondition" version="1"/> PermissionSetName="FullTrust" EXECUTION IL to Native Compiler Class Loader Security Assembly Loader Garbage Collection Native .exe + GC table Code Manager Exception Manager Thread Support COM Interop Debug Engine

Démarrer avec .NET Framework, Langages, et outils VB C++ C# JScript J# Visual Studio .NET Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System

Libraries des classes de bases System System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization SessionState Caching Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Printing System.Windows.Forms Design ComponentModel

Démarrer avec .NET Framework, Langages et outils VB.NET C++ C# JScript J# Visual Studio .NET Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System

Unification des syntaxes Common Language Specification VB C++ C# J# … Le développeur est indépendant du langage Tous les langages accèdent aux services fournis par la CLR Commun Langage Spécification (CLS) Spécification d’écriture des compilateurs « syntaxiques » Chaque langage utilise et étend le framework .NET Les langages .NET sont neutres. Déposé à L’ECMA

Pourquoi une nouvelle plateforme ? Modèle de programmation cohérent Modèle de programmation simplifié Résoudre ‘l’Enfer des dlls’ Déploiement simplifié Utilisation de nombreuses plateformes Intégration de nombreux langages Réutilisation simplifiée du code

Pourquoi une nouvelle plateforme ? Gestion de la mémoire automatique Vérification des types Pas de débordement tampon, casts invalides, variables non initialisées Debugging/Profiling avancés Gestion d’erreurs cohérente Sécurité Interopérabilité Exécution côte à côte

VB.NET Démonstration Deploiement simplifier

Pourquoi une nouvelle plateforme ? Facilite le développement en couches

.NET et le modèle en couches Couche Présentation Windows Form WebForm Office mobile Couche Métier Assemblies .NET Application COM+ Services Web XML Couche Données ADO.NET Support XML Mon.exe Browser Internet Intranet XML Windows Form Web Form Présentation Tiers WebServices Business Tiers Data Tiers Data Communication: WebService HTTP Remoting(http,tcp…) COM+ (dcom)

VB.NET Démonstration Création d’un composant Enterprise

VB.NET PAUSE

C’est beau tout cela mais mon existant j’en fais quoi ?

VB.NET Agenda VB et l’objet Principe de l’architecture .NET La Programmation Orientée Objet cela veut dire quoi ? Les fonctionnalités objet de VB.NET Principe de l’architecture .NET L’intéropérabilité avec l’existant Migration de l’existant Venez à notre rencontre

Appelez l’existant Appel de composants existant Appel de composants COM Appel d’API win32

COM Interop 2 manières Utilisation d’un composant COM depuis .NET .NET Object COM Object RCW IUnknown IDispatch Utilisation d’un composant .NET depuis COM COM Object CCW .NET Object IUnknown IDispatch

Com Interop .NET vers COM COM vers .NET Runtime callable wrapper Crée via Visual Studio® .NET Crée via tlbimp.exe Primary interop assembly Transparent pour .net mais on a un composant COM. COM vers .NET COM Callable Wrapper Création d’une assembly dans Visual Studio .NET Exporte une Type library via tlbexp.exe Déploiement dans le Monde COM regasm.exe Désavantage du monde COM (régression)

Com Interop .NET vers COM Rentré dans le monde COM GUID, CLSID, etc. Registre Windows Les problèmes de déploiements lorsqu’on utilise COM depuis .NET sont toujours là ! Runtime callable wrapper Crée via Visual Studio® .NET Crée via tlbimp.exe Primary interop assembly Marshal.ReleaseComObject()

COM Interop .NET vers COM/Considérations RCW Crée et se lie à l’objet COM Consomme les interfaces COM et en construit des versions « Managées » Translate et Marshall les données Gère la durée de vie des objets COM utilisés ERREUR COM HRESULT  .NET exceptions Il est important de garder à l’esprit : Data types (variants, ...) Le nom des Méthodes Primary Interop Assemblies (PIA) ...

Com Interop COM vers .NET COM Callable Wrapper Création d’une assembly dans Visual Studio .NET Exporte une Type library via tlbexp.exe Déploiement dans le Monde COM Global Assembly Cache (GAC) regasm.exe

COM Interop COM vers .NET/Considérations CCW Crée et se lie à l’objet managé Synthétise d’importante interface COM (telles que IUnknown et IDispatch) Marshal et translate les données Gère la durée de vie des composants .NET .NET exceptions  values COM HRESULT Gardez à l’esprit Data types (variants, ...) Constructeur Déploiement ...

COM Interop Considérations des Performances Par défaut on a le wrapper COM/.NET Verbeux Beaucoup d’échange On rajoute une couche avec le RCW Si Problème de performance Écrire son propre Wrapper (office) Limiter les appels et échanges Attention au type de données (recordset…)

VB.NET Démonstration Interop

Interopérabilité API Win32 Travailler avec les DLL Win32/64 Déclaration et importation d’une fonction depuis une dll… Déclaration de la signature de la fonction API Windows Toute autre DLL WIN32 Mot clé « Declare » ou Attribut <DllImport>

VB.NET Agenda VB et l’objet Principe de l’architecture .NET La Programmation Orientée Objet cela veut dire quoi ? Les fonctionnalités objet de VB.NET Principe de l’architecture .NET L’intéropérabilité avec l’existant Migration de l’existant Restez pour nous rencontrer 

Dois-je convertir mon application en VB.NET ? NON Mode maintenance: pas évolutive Pas de soucis Déploiement Performances Pas le temps, ni le budget OUI Tirer profit des capacités du Framework .NET Tirer profit des capacités de Visual Basic .NET Je dois faire évoluer mon application Limite du support de Visual Basic 6.00

Oui je veux la convertir en VB.NET Dois-je migrer ? Assistant de migration Ne migre pas tous les projets (rdo, dao, contrôles … ) Gros projets Expérience terrain a montré les limites (80*20) Demande encore du travail de développement et du Testing Ou passer en douceur ? Remise à plat de l’architecture L’application n’est pas encore achevée Les apports de .NET résolvent des problèmes importants (versioning, déploiements Xcopy, redéploiements à chaud sur IIS, performances ASP .NET, productivité WebForms et Windows Forms, Support XML et Services Web…)

Passer à .NET en douceur Approche Horizontale ou Verticale ? Approche Verticale Approche Horizontale Tier Présentation Forme VB Forme VB Tier Métier SQL Server Tier Données

Mise à niveau d’applications Ne pas commencer par convertir des projets de taille importante Se familiariser avec .NET Utiliser des outils (CodeAdvisor), Visual Expert (Novalys) Ne pas convertir l’ensemble de l’application. « Diviser pour conquérir » [Message] Si dans un monde parfait on a développé en mode « Componentisation » VB.NET RCW VB.NET (web service, remoting,…) RCW VB Migration Migration

Et moi dois-je passer à VB.NET ? OUI Comment me former en douceur ? Par quoi dois-je commencer ? Quels sont les écueils à éviter ? Ou trouver de l’information ? Trop d’information tue l’information

Comment débuter avec .NET Pour bien débuter ne pas s’attaquer à des projets trop gros dés le départ. Il faut y aller étape par étape. Se familiariser avec les nouveautés du langage et de l’IDE Exemple : Imprimer les nouveaux mots clés et regarder l’aide http://localhost/quickstart/howto Classes de Base Apprentissage de la plate-forme Architecture Nouveautés (delegate, event, multi-threading, sécurité etc..) Bonnes pratiques du développement Programmation Orientée Objet Performances Modèles de conception (Design pattern)

Vous n’êtes pas seul Les bons réflexes à avoir. http://www.microsoft.com/france/vbasic/ Les liens sur les sites communautaires Les exemples et Vidéos du tour VB.NET Les LABS VB.NET ADO.NET ASP.NET J’attends vos remarques et suggestions (email : frvbnet@microsoft.com) Venez nous retrouver sur les news groups Microsoft Démonstration Les sites de communautés Française http://vb.developpez.com/ bidou nous a préparé un super article qui vulgarise la Programation Orientée Objet, n’hésitez pas à y jeter un coup d’oeil. http://www.vbfrance.com/ (code-source) Nix vous attend, venez poster vos codes http://www.c2i.fr Richard Clarck http://www.labo-dotnet.com/ Patrice Lamarche

VB.NET Venez nous voir

Microsoft Votre potentiel, notre passion

Visual Basic.NET 2005 Plus de productivité (RAD) Plus de puissance Plus de RAD !!! Encore plus de puissance !! Les solutions Whidbey My : Qui n’a pas écrit sa propre bibliothèque ? Fragment de codes réutilisables Simplification de l’IDE Assistant des Exceptions EnC, Immediate windows, Etc.. Dynamiser l’IDE :