La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les Rencontres Visual Basic Lille, 25 Novembre 2004 Alain Le Hegarat, Responsable Marketing Développeurs 066440.

Présentations similaires


Présentation au sujet: "Les Rencontres Visual Basic Lille, 25 Novembre 2004 Alain Le Hegarat, Responsable Marketing Développeurs 066440."— Transcription de la présentation:

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

2 Les Rencontres Visual Basic Nantes, 7 Décembre 2004 Nicolas Clerc Micropole-Univers Lucas, Responsable Marketing Éric Vernié, Relation technique Développeurs Axel Guerrier, Ingénieur Support Technique (Accès aux Données)

3 HP Partenaire du tour Visual Basic Intégrateur des technologies Microsoft : 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 : Développement conjoint de solutions verticales : –HP OpenBank – Banque –HP CBI.NET – Industrie –HP ISM.NET – Telecom Centre dexpertise et de benchmarks dédiés Microsoft Centre dexpertise et de benchmarks dédiés Microsoft Un portfolio de solutions pour une infrastructure Microsoft étendue 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

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

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

6 Découvrez la nouvelle génération denvironnement 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 sauto former sur les technologies de développement.NET. Un livre de formation à ASP.NET. Utilisez Visual Studio.NET Professional 2003 Edition spéciale pour Créer rapidement des applications Web Augmenter votre productivité pour tout type dapplication Augmenter la performance de vos applications Faites la mise à jour à partir doutils Microsoft ou applications concurrentes * Licences de test et de developpement ** prix moyen estimés Pour en savoir plus vous pouvez consulter le site VS.NET 2003 Ed Spéciale……… 927 HT** Mise à Jour……………..……..…… 632 HT **

7 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 Visual Studio.NET inclus* * 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 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 ** Prix moyen éstimés

8 Pourquoi êtes-vous important ? Visual Basic est dans nos gênes ! Visual Basic est dans nos gênes ! Vous êtes développeurs Visual Basic en France fédérés par des communautés : vbfrance.com et vb.developpez.com Vous êtes 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 Les idées reçues –« VB.NET est mort, vive C# » –«.NET na pas de valeur ajoutée, et cest compliqué » –«.NET cest que de la programmation objet » –« Je nai pas le temps » Nous avons mal communiqué Nous avons mal communiqué –« VB.NET est mort, vive C# » –« Mon chef ne veut pas passer à.NET, il na pas le budget » –Visual Basic est quasiment aussi utilisé sur la plate forme.NET que C#

9 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. Visual Basic pour des missions critiques « 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 ». 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, paramètres pour une calculatrice financière temps réel connectée à des flux externes et solution « grid » sur 80 serveurs 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.

10 VB.NET Construire une application avec VB.NET Construire une application avec VB.NET –Construire une application simple en VB.NET –Toutes les nouvelles possibilités de développement dapplications Programmation dapplications dentreprises Programmation dapplications dentreprises –Les apports de la plate-forme.NET pour les développeurs VB –Le développement dune application VB.NET en utilisant larchitecture n-tiers –Interopérabilité avec lexistant –Migration dune application existante vers VB.NET Échanges avec nous Échanges avec nous

11 VB.NET Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

12 VB.NETDémonstration

13 Interface riche « look and feel XP» Interface riche « look and feel XP» Interface de type MDI Interface de type MDI Utilisation de laccès aux données Utilisation de laccès aux données –ACCESS Utilisation du moteur graphique (GDI+) Utilisation du moteur graphique (GDI+) Utilisation de contrôles riches Utilisation de contrôles riches VB.NET VB.NET

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

15 Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

16 VB.NET VB.NETDémonstration

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

18 Les Windows Forms Qu'est-ce que les « Windows Form »? 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 Intégration à Microsoft.NET Framework –Appel simple à des Services Web –Intégration avec la couche « daccès aux données »

19 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… Différences entre les contrôles VB 6.0 et VB.NET

20 Les Windows Forms Un ensemble riche de composants 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 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 Progress Bar, Status Bar, Toolbar, ListView, TreeView,Tab Control,DateTime Picker, Calendar,Tooltip, Trackbar,ImageList –Contrôles liés à lAccès aux données DataGrid, ErrorProvider DataGrid, ErrorProvider

21 VB.NET VB.NET Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

22 VB.NET VB.NETDémonstration

23 Laccè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 WindowsForms Common Language Specification VBC++C# JScript JScript ®J# Visual Studio.NET Visual Studio ®.NET

24 ADO.NET… Une évolution plus quune révolution… Une évolution plus quune révolution… –Même philosophie que ADO, mais modèle différent Meilleure montée en charge 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 Peut-être utilisé par tous les langages de la plate-forme.NET

25 ADO Architecture : 2 Modes Mode déconnecté Mode déconnecté –Dataset qui cache les données sans maintient de la connexion Mode Connecté Mode Connecté –Managed Provider –Accès physique à la base

26 VB.NET VB.NETDémonstration

27 ADO.NET et XML Managed Provider DataReader Command Connection Sync Controls, Designers, Code-gen, etc DataSet XmlReader XmlText-ReaderXmlNode-Reader XSL/T, X-Path, Validation, etc XmlData- Document DataAdapter Correspondance entre ADO.NET et XML

28 VB.NET VB.NETDémonstration

29 ADO.NETADOADO.NET Fournisseurs OLEDB Fournisseurs Managés Recordset DataSet /DataTable connexionconnexion commandecommande XML natif Migration du code et des concepts

30 VB.NET VB.NET Agenda de la matinée Agenda de la matinée –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

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

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

33 Gestion structurée des exceptions Exemple: interception

34 VB.NET VB.NETDémonstration

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

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

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

38 Mots-clés retirés Ces mots-clés sont retirés et ne sont plus supporté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

39 Les alternatives.NET Un certain nombre de mots-clés VB ont une alternative dans la librairie.NET Un certain nombre de mots-clés VB ont une alternative dans la librairie.NET RSet, LSet RSet, LSet –PadRight, PadLeft dans System.String Rnd, Randomize Rnd, Randomize –Voir System.Random

40 VB.NET VB.NETDémonstration

41 Divers changements Syntaxes raccourcies : +=, -+, *=, etc. Syntaxes raccourcies : +=, -+, *=, etc. Pas de chargement implicite dune form (une form nest rien dautre quune classe comme une autre) Pas de chargement implicite dune form (une form nest rien dautre quune classe comme une autre)

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

43 VB.NET VB.NETPAUSE

44 Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

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

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

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

48 Un service Web est une « unité logique applicative » accessible en utilisant les protocoles standard dInternet Un service Web est une « unité logique applicative » accessible en utilisant les protocoles standard dInternet Caractéristiques : Caractéristiques : –Réutilisable –Indépendamment de la plate-forme (UNIX, Windows, …) la plate-forme (UNIX, Windows, …) limplémentation (VB, C#, Java, …) limplémentation (VB, C#, Java, …) larchitecture sous-jacente (.NET, J2EE, …) larchitecture sous-jacente (.NET, J2EE, …) Un Service Web, cest quoi ?

49 Ce sont des «librairies» fournissant des données et des services à dautres applications Ce sont des «librairies» fournissant des données et des services à dautres applications Combinent les meilleurs aspects du développement à base de composant et du Web Combinent les meilleurs aspects du développement à base de composant et du Web La base de la «vision».NET La base de la «vision».NET

50 Concepts ClientServeur Quel service me proposes-tu et quel est le format dappel? Contrat SOAP** Contrat SOAP** Voici mon contrat (WSDL)* XML décrivant CalculerTVA() SOAP/XML Jai compris comment invoquer ton service et je tenvoie un document XML représentant ma requête SOAP/XML Jai exécuté ta requête et je te retourne le résultat

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

52 VB.NET VB.NETDémonstration

53 Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

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

55 Problème de fond des Utilisateurs Contrôle et accès permanent à linformation Adaptation du contenu en fonction du contexte … et de la localisation RéseauMobileRéseauMobile Messagesinstantanés Fax AppelsMobiles Pagers Messagerievocale MSReader & eBook

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

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

58 VB.NET VB.NETDémonstration

59 Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

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

61 VB.NET VB.NETDémonstration

62 Agenda Agenda –Construire une application simple en VB.NET Ma première application VB.NET Ma première application VB.NET Développement dinterfaces « clients riches » Développement dinterfaces « clients riches » Laccès et la manipulation de données Laccès et la manipulation de données Les changements dans le langage Les changements dans le langage –Toutes les nouvelles possibilités de développement dapplications Développement dun service web Développement dun service web Développement dinterfaces pour périphériques mobile Développement dinterfaces pour périphériques mobile Développement pour Office 2003 Développement pour Office 2003 Développement dinterfaces WEB Développement dinterfaces WEB

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

64 Architecture ASP.NET Web Clients IISASP.NET Apps Framework.NET Windows Operating System

65 Évolution des ASP Objectifs: 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 –Sappuyer sur le Framework.NET –Améliorer la haute disponibilité –Assurer la montée en charge dans des fermes de serveurs WEB

66 Réponse Réponse Classe de la page Instanciation, traitement et rendu Modèle dexécution ASP.NET Fichier classe généré de la pageGénérer Instancier Parser MoteurASPX ASPX File Requête Requête Fichierclasse Code- behind Fichier ASPX

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

68 VB.NET VB.NETDémonstration Tour ASP.NET

69 VB.NET VB.NET Pause ( rapide )

70 VB.NET VB.NET Construire une application avec VB.NET Construire une application avec VB.NET –Construire une application simple en VB.NET –Toutes les nouvelles possibilités de développement dapplications Programmation dapplications dentreprises Programmation dapplications dentreprises –Les apports de la plate-forme.NET pour les développeurs VB –Le développement dune application VB.NET en utilisant larchitecture n-tiers –intéropérabilité avec lexistant –Migration dune application existante vers VB.NET

71 VB.NET Agenda Agenda VB et lobjet VB et lobjet La Programmation Orientée Objet pourquoi ? La Programmation Orientée Objet pourquoi ? –Principe de larchitecture.NET –Lintéropérabilité –Migration de lexistant. –Rencontrez-nous.

72 La programmation Orientée Objet Pourquoi ? Maîtrise de la complexité Maîtrise de la complexité Fiabilité des applications Fiabilité des applications Réutilisation du code Réutilisation du code Confort de développement Confort de développement Maintenabilité des applications Maintenabilité des applications La Programmation Orientée Objet nous permettra datteindre plus simplement ces objectifs

73 Méthodes à suivre Décomposition logique Décomposition logique Modularité Modularité Abstraction Abstraction Masquage de données Masquage de données Encapsulation de données Encapsulation de données Réutilisation Réutilisation

74 VB 6 vs VB.NET VB 6 VB.NET DécompositionSub/FunctionSub/Function ModularitéObjetMetier.dllObjetMetier.dll AbstractionInterface* Class abstraite/Interface Masquage de données Public/Private/FriendPublic/Private/Friend/Protected Encapsulation de données ClassClass RéutilisationAgrégation Inherits (Héritage) PolymorphismeImplementsImplements/Inherits * Interface COM, masquée dans Visual Basic 6.00

75 VB 6 vs VB.NET (suite..) VB 6 VB.NET ConstructeurInitialize*New() DestructeurTerminateFinalize Surcharge Via paramètre optional de type variant Oui Substitution de méthode** NonOui Sous classe NonOui *Pas de passage de paramètres possible **La classe dérivée modifie le comportement de la méthode

76 Les objets Quest-ce quun objet ? Quest-ce quun objet ? –Une entité physique du monde réel Un employé Un employé Un objet est caractérisé par : Un objet est caractérisé par : –Son état Nom, Prénom, Age (Propriétés) Nom, Prénom, Age (Propriétés) –Son comportement, ses actions Creer ()(méthode) Creer ()(méthode) CalculerSalaire()(méthode) CalculerSalaire()(méthode)

77 Je peux avoir différents types demployés CDI CDI –Nom/Prenom/Age –Creer () –CalculerSalaire() CDD CDD –Nom/Prenom/Age –Creer () –CalculerSalaire() Stagiaire Stagiaire –Nom/Prenom/Age –Creer () –CalculerSalaire() –FairePhotocopies() ;-) Autres Autres –Nom/Prenom/Age –Creer () –CalculerSalaire() Intérimaire Intérimaire –Nom/Prenom/Age –Creer () –CalculerSalaire() Comment limplémenter ?

78 Dupliquer toutes les fonctions dans des objets séparés ? Dupliquer toutes les fonctions dans des objets séparés ? Écrire un gros objet avec un drapeau précisant le type (CDI, CDD, Stagiaire ….) ? Écrire un gros objet avec un drapeau précisant le type (CDI, CDD, Stagiaire ….) ?

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

80 Employe CDI CDD Stagiaire Chef On va utiliser lhéritage

81 VB.NET VB.NETDémonstration

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

83 Une seule manière dinstancier: New Une seule manière dinstancier: New Héritage Héritage – Inherits –redéfinition de méthodes et propriétés Les fonctionnalités Objet dans VB.NET

84 Changement de syntaxe Plus de propriétés par défaut Plus de propriétés par défaut Les fichiers sources peuvent contenir une ou plusieurs classes Les fichiers sources peuvent contenir une ou plusieurs classes Nouvelle syntaxe pour les propriétés Nouvelle syntaxe pour les propriétés

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

86 Structure dune classe en Visual Basic.NET

87 Les propriétés

88 Surcharge de méthodes Une classe peut contenir plus dune méthode portant le même nom Une classe peut contenir plus dune méthode portant le même nom Chacune delles doit être déclarées avec une liste dargument unique Chacune delles doit être déclarées avec une liste dargument unique

89 Surcharge de méthodes

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

91 Constructeurs

92 Héritage en Visual Basic.NET Lhéritage était absent des versions précédentes Lhéritage était absent des versions précédentes Visual Basic.NET inclut lhéritage car tout le framework.NET est basé dessus Visual Basic.NET inclut lhéritage car tout le framework.NET est basé dessus

93 Rappel rapide sur lhéritage Avantages de lhéritage Avantages de lhé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

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

95 Les mots-clés de lhéritage Overridable – Utilisé sur un membre de la classe de base pour indiquer quil peut être redéfini par les sous-classes (par défaut, le membre est « non- overridable ») Overridable – Utilisé sur un membre de la classe de base pour indiquer quil 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 MyBase – Utilisé pour faire une référence à la classe de base MustInherit – Permet de rendre une classe « Ininstanciable ». Obligation dhériter MustInherit – Permet de rendre une classe « Ininstanciable ». Obligation dhériter MustOverride – Indique quune méthode de la classe de base DOIT être redéfinie MustOverride – Indique quune méthode de la classe de base DOIT être redéfinie

96 Les propriétés par défaut sont parties Résout le problème de lambiguïté en VB6 txtNom1 = txtNom2 doit être distingué de Set txtNom1 = txtNom2 Résout le problème de lambiguïté en VB6 txtNom1 = txtNom2 doit être distingué de Set txtNom1 = txtNom2 Puisquil ny a plus dambiguïté possible, Set a été supprimé Puisquil ny a plus dambiguïté possible, Set a été supprimé

97 VB.NET –VB et lobjet La Programmation Orientée Objet pourquoi ? La Programmation Orientée Objet pourquoi ? –Principe de larchitecture.NET –Lintéropérabilité –Migration de lexistant. –Rencontrez-nous.

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

99 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 WindowsForms Common Language Specification VBC++C# JScript JScript ®J# Visual Studio.NET Visual Studio ®.NET

100 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 WindowsForms Common Language Specification VBC++C#JScriptJ# Visual Studio.NET

101 Common Langage Runtime Class Loader Compilation IL Gestionnaire De code Garbage Collector SécuritéDebuggeurVérification des TypesExceptionsThreadsInteroperabilité COM

102 Compiler AssemblyDéveloppementDEVELOPMENT C#J#VBCobol… MSILMetadataResources public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } Source code

103 Compiler AssemblyDEVELOPMENTC#J#VB.NETC++Cobol… MSILMetadataResources public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } Source code Application Directory Global Assembly Cache (GAC) DéploiementAssemblyDEVELOPMENTDEPLOYMENT SetupCopyBrowser Download Cache Install

104 Debug Engine IL to Native Compiler Application Directory SetupCopyBrowser Download Cache Global Assembly Cache (GAC) Assembly on Target Machine ExécutionAssemblyDEVELOPMENTDEPLOYMENT Install EXECUTION AssemblyLoader Security Class Loader Native.exe + GC table Code Manager Garbage Collection Exception Manager Thread Support COM Interop Policy

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

106 Libraries des classes de bases System System.DataSystem.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 Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

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

108 Unification des syntaxes Le développeur est indépendant du langage Le développeur est indépendant du langage –Tous les langages accèdent aux services fournis par la CLR Commun Langage Spécification (CLS) 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é à LECMA Common Language Specification VBC++C#J#…

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

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

111 VB.NETDémonstration

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

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

114 VB.NETDémonstration

115 VB.NETPAUSE

116 Cest beau tout cela mais mon existant jen fais quoi ?

117 VB.NET Agenda Agenda –VB et lobjet La Programmation Orientée Objet cela veut dire quoi ? La Programmation Orientée Objet cela veut dire quoi ? Les fonctionnalités objet de VB.NET Les fonctionnalités objet de VB.NET –Principe de larchitecture.NET –Lintéropérabilité avec lexistant –Migration de lexistant –Venez à notre rencontre

118 Appelez lexistant Appel de composants existant – –Appel de composants COM – –Appel dAPI win32

119 COM Interop 2 manières Utilisation dun composant COM depuis.NET Utilisation dun composant COM depuis.NET.NET Object COM Object RCW IUnknown IDispatch Utilisation dun composant.NET depuis COM Utilisation dun composant.NET depuis COM COM Object CCW.NET Object IUnknown IDispatch

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

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

122 COM Interop.NET vers COM/Considérations RCW RCW –Crée et se lie à lobjet 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 à lesprit : Il est important de garder à lesprit : –Data types (variants,...) –Le nom des Méthodes –Primary Interop Assemblies (PIA) –...

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

124 COM Interop COM vers.NET /Considérations CCW CCW –Crée et se lie à lobjet managé –Synthétise dimportante 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 à lesprit Gardez à lesprit –Data types (variants,...) –Constructeur –Déploiement –...

125 COM Interop Considérations des Performances Par défaut on a le wrapper COM/.NET 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 Si Problème de performance –Écrire son propre Wrapper (office) –Limiter les appels et échanges –Attention au type de données (recordset…)

126 VB.NETDémonstration

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

128 VB.NET Agenda Agenda –VB et lobjet La Programmation Orientée Objet cela veut dire quoi ? La Programmation Orientée Objet cela veut dire quoi ? Les fonctionnalités objet de VB.NET Les fonctionnalités objet de VB.NET –Principe de larchitecture.NET –Lintéropérabilité avec lexistant –Migration de lexistant –Restez pour nous rencontrer –Restez pour nous rencontrer

129 Dois-je convertir mon application en VB.NET ? NON NON –Mode maintenance: pas évolutive –Pas de soucis Déploiement Déploiement Performances Performances Pas le temps, ni le budget Pas le temps, ni le budget OUI 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

130 Oui je veux la convertir en VB.NET –Dois-je migrer ? Assistant de migration 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 larchitecture Remise à plat de larchitecture Lapplication nest pas encore achevée Lapplication nest 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…) 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…)

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

132 Mise à niveau dapplications Ne pas commencer par convertir des projets de taille importante Ne pas commencer par convertir des projets de taille importante –Se familiariser avec.NET –Utiliser des outils (CodeAdvisor), Visual Expert (Novalys) Ne pas convertir lensemble de lapplication. « Diviser pour conquérir » Ne pas convertir lensemble de lapplication. « Diviser pour conquérir » VB Migration VB.NET RCW VB.NET (web service, remoting,…) RCW VB.NET RCW Migration

133 Et moi dois-je passer à VB.NET ? OUI OUI –Comment me former en douceur ? –Par quoi dois-je commencer ? –Quels sont les écueils à éviter ? –Ou trouver de linformation ? Trop dinformation tue linformation Trop dinformation tue linformation

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

135 Vous nêtes pas seul Les bons réflexes à avoir. Les bons réflexes à avoir. –Les liens sur les sites communautaires –Les exemples et Vidéos du tour VB.NET –Les LABS VB.NET VB.NET ADO.NET ADO.NET ASP.NET ASP.NET –Jattends vos remarques et suggestions ( Venez nous retrouver sur les news groups Microsoft Venez nous retrouver sur les news groups Microsoft Démonstration Démonstration Les sites de communautés Française Les sites de communautés Française –bidou nous a préparé un super article qui vulgarise la Programation Orientée Objet, nhésitez pas à y jeter un coup doeil. (code-source) (code-source) –Nix vous attend, venez poster vos codes –Richard Clarck –Patrice Lamarche

136

137 VB.NET Venez nous voir

138 Microsoft Votre potentiel, notre passion

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


Télécharger ppt "Les Rencontres Visual Basic Lille, 25 Novembre 2004 Alain Le Hegarat, Responsable Marketing Développeurs 066440."

Présentations similaires


Annonces Google