Les Rencontres Visual Basic Lille, 25 Novembre 2004 Alain Le Hegarat, Responsable Marketing...
-
Upload
raimond-pichon -
Category
Documents
-
view
111 -
download
3
Transcript of Les Rencontres Visual Basic Lille, 25 Novembre 2004 Alain Le Hegarat, Responsable Marketing...
Les Rencontres Visual Les Rencontres Visual BasicBasic
Nantes, 7 Décembre 2004 Nantes, 7 Décembre 2004 Nicolas Clerc Micropole-Univers Nicolas Clerc Micropole-Univers [email protected]@micropole-univers.comLucas, Responsable Marketing DéveloppeursLucas, Responsable Marketing Développeurslucasrlucasr@@microsoft.commicrosoft.comÉric Vernié, Relation technique DéveloppeursÉric Vernié, Relation technique Dé[email protected]@microsoft.comAxel Guerrier, Ingénieur Support Technique Axel Guerrier, Ingénieur Support Technique (Accès aux Données)(Accès aux Données)
HP Partenaire du tour Visual HP Partenaire du tour Visual BasicBasic• Intégrateur des technologies Microsoft :Intégrateur des technologies Microsoft :
– Plus de 10M de postes Windows 2000/XP déployés Plus de 10M de postes Windows 2000/XP déployés – Plus de 13M de postes MS Exchange 2000/2003 déployésPlus de 13M de postes MS Exchange 2000/2003 déployés– Services de support MicrosoftServices de support Microsoft
• Développement conjoint de solutions verticales :Développement conjoint de solutions verticales :– HP OpenBank – BanqueHP OpenBank – Banque– HP CBI.NET – Industrie HP CBI.NET – Industrie – HP ISM.NET – TelecomHP ISM.NET – Telecom
• Centre d’expertise et de benchmarks dédiés MicrosoftCentre d’expertise et de benchmarks dédiés Microsoft
• Un portfolio de solutions pour une infrastructure Un portfolio de solutions pour une infrastructure Microsoft étendueMicrosoft étendue– Serveurs 32 et 64 bitsServeurs 32 et 64 bits– Stockage NAS, SANStockage NAS, SAN– Postes de travail…Postes de travail…
Windows Mobile Phone EditionWindows XP Edition Tablette PC
LearningTree, pLearningTree, partenaire du artenaire du tour Visual Basictour Visual Basic• Des cursus cohérents pour : Des cursus cohérents pour :
– CC eux qui sont nouveaux dans le développement logicieleux qui sont nouveaux dans le développement logiciel– Les programmeurs existants qui transfèrent leurs compétences Les programmeurs existants qui transfèrent leurs compétences
issues d’autres disciplines de programmation sous Windowsissues d’autres disciplines de programmation sous Windows• Des questions / réponses par stage pour vérifier Des questions / réponses par stage pour vérifier
l’adéquation du besoin au stage proposél’adéquation du besoin au stage proposé
• Les avantages de Learning TreeLes avantages de Learning Tree– Indépendance par rapport aux technologiesIndépendance par rapport aux technologies– Des formateurs experts avec une expérience de terrain Des formateurs experts avec une expérience de terrain
• Jeu ConcoursJeu Concours– gagnez une formation .NET chez Learning Treegagnez une formation .NET chez Learning Tree– Tirage au sort à 16h00Tirage au sort à 16h00
Visual Basic .NET 2003 Visual Basic .NET 2003 initiation initiation • Permet la création de projet WinForm, Permet la création de projet WinForm,
WebForm et comprend l’assistant de WebForm et comprend l’assistant de migration VB6 vers VB .NETmigration VB6 vers VB .NET– Ne permet pas la création d’applications Web Ne permet pas la création d’applications Web
Forms Mobile ou la création de “User Control” Forms Mobile ou la création de “User Control” ou “Class Library”ou “Class Library”
• Vous permet aussi de Vous permet aussi de – Bénéficier du supportBénéficier du support– VS .NET Pro au prix de la mise à jourVS .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.
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
Faites la mise à jour à partir d’outils Microsoft ou applications concurrentes
* Licences de test et de developpement ** prix moyen estimés
Pour en savoir plus vous pouvez consulter le site
http://www.microsoft.com/france/vstudio/
VS .NET 2003 Ed Spéciale……… 927 €HT**
Mise à Jour……………..……..……632 € HT **
Les abonnements MSDNSoyez 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
http://www.microsoft.com/france/msdn/abonnements** Prix moyen éstimés
Pourquoi êtes-vous Pourquoi êtes-vous important ?important ?• Visual Basic est dans nos gênes !Visual Basic est dans nos gênes !• Vous êtes 30 000 développeurs Visual Basic en France fédérés Vous êtes 30 000 développeurs Visual Basic en France fédérés
par des communautés : vbfrance.com et vb.developpez.compar des communautés : vbfrance.com et vb.developpez.com
• Les idées reçuesLes idées reçues– « VB.NET est mort, vive C# »« VB.NET est mort, vive C# »– « .NET n’a pas de valeur ajoutée, et c’est compliqué »« .NET n’a pas de valeur ajoutée, et c’est compliqué »– « .NET c’est que de la programmation objet »« .NET c’est que de la programmation objet »– « Je n’ai pas le temps »« Je n’ai pas le temps »
• Nous avons mal communiquéNous avons mal communiqué– « VB.NET est mort, vive C# »« VB.NET est mort, vive C# »– « Mon chef ne veut pas passer à .NET, il n’a pas le budget »« 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 Visual Basic est quasiment aussi utilisé sur la plate forme .NET que
C#C#
Le CHU de Grenoble adopte une architecture orientée services
Depuis 15 ans, le CHU de Grenoble a toujours suivi l'évolution des Depuis 15 ans, le CHU de Grenoble a toujours suivi l'évolution des technologies Microsoft. Il est ainsi passé en douceur d'une technologies Microsoft. Il est ainsi passé en douceur d'une architecture client-serveur VC++ à Visual Basic 6, puis d'ASP à architecture client-serveur VC++ à Visual Basic 6, puis d'ASP à Microsoft .NET. A chaque évolution technologique, les développements Microsoft .NET. A chaque évolution technologique, les développements antérieurs ont été réutilisés pour construire progressivement une antérieurs ont été réutilisés pour construire progressivement une architecture orientée services. Prochaine étape : le partage du dossier architecture orientée services. Prochaine étape : le partage du dossier médical.médical.
Visual Basic pour des missions Visual Basic pour des missions critiquescritiques
SG Corporate & Investment Banking : « « Nous réalisons Nous réalisons aujourd'hui en une heure, des calculs que nous ne pouvions tout aujourd'hui en une heure, des calculs que nous ne pouvions tout simplement pas effectuer auparavant, faute de ressources et de simplement pas effectuer auparavant, faute de ressources et de tempstemps ». ».» : 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
GEAC adopte une architecture Web pour son ERP
GEAC, 5ème éditeur mondial de progiciels de gestion intégrée (ou ERP) GEAC, 5ème éditeur mondial de progiciels de gestion intégrée (ou ERP) propose ses nouveaux modules Paie, Comptabilité et Ressources propose ses nouveaux modules Paie, Comptabilité et Ressources humaines en architecture Web. Pour développer sa nouvelle offre, humaines en architecture Web. Pour développer sa nouvelle offre, GEAC a retenu la plate-forme ASP .NET. Objectif : réduire les temps et 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 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 pérennité de sa solution et convertir ses développeurs AS 400 à Visual Basic .NET.Basic .NET.
VB.NET VB.NET
• Construire Construire une applicationune application avec VB.NET avec VB.NET – Construire une application simple en VB.NET Construire une application simple en VB.NET – Toutes les Toutes les nouvelles possibilitésnouvelles possibilités de développement de développement
d’applicationsd’applications
• Programmation d’applications d’entreprises Programmation d’applications d’entreprises – Les Les apportsapports de la plate-forme .NET pour les développeurs de la plate-forme .NET pour les développeurs
VBVB– Le développement d’une application VB.NET en utilisant Le développement d’une application VB.NET en utilisant
l’architecture n-tiersl’architecture n-tiers– InteropérabilitéInteropérabilité avec l’existant avec l’existant – Migration d’une Migration d’une application existanteapplication existante vers VB.NET vers VB.NET
• Échanges avec nous Échanges avec nous
VB.NET VB.NET • Agenda Agenda
– Construire une application simple en VB.NETConstruire une application simple en VB.NET•Ma première application VB.NETMa première application VB.NET •Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »•L’accès et la manipulation de donnéesL’accès et la manipulation de données•Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications•Développement d’un service webDéveloppement d’un service web•Développement d’interfaces pour périphériques Développement d’interfaces pour périphériques
mobilemobile•Développement pour Office 2003Développement pour Office 2003•Développement d’interfaces WEB Développement d’interfaces WEB
VB.NET VB.NET
Démonstration Démonstration
•Interface riche « look and feel XP» Interface riche « look and feel XP»
•Interface de type MDIInterface de type MDI
•Utilisation de l’accès aux données Utilisation de l’accès aux données – ACCESSACCESS
•Utilisation du moteur graphique Utilisation du moteur graphique (GDI+)(GDI+)
•Utilisation de contrôles riches Utilisation de contrôles riches
VB.NET VB.NET
•Appel à un composant externe Appel à un composant externe (WEB service)(WEB service)
•Liaison avec Liaison avec Office 2003Office 2003
•Client mobile Client mobile – Base de données locale SQL CEBase de données locale SQL CE
VB.NET VB.NET
VB.NET VB.NET
• Agenda Agenda – Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
VB.NET VB.NET
Démonstration Démonstration
Windows formsWindows forms
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript® J#J#
Visu
al S
tud
ioV
isua
l Stu
dio
® .NE
T .N
ET
Les Windows FormsLes Windows Forms• Qu'est-ce que les « Windows Form »?Qu'est-ce que les « Windows Form »?
– Un Framework pour créer des applications Un Framework pour créer des applications riches tirant parties de Microsoft .NET et riches tirant parties de Microsoft .NET et des APIs des APIs Win32Win32®®
– Une architecture pour créer des contrôles Une architecture pour créer des contrôles – Un développement de type « RAD »Un développement de type « RAD »
• Intégration à Microsoft .NET Intégration à Microsoft .NET FrameworkFramework– Appel simple à des Services WebAppel simple à des Services Web– Intégration avec la couche « d’accès aux Intégration avec la couche « d’accès aux
données »données »
Les Windows FormsLes Windows FormsVB 6VB 6 VB.NETVB.NET
Outil RADOutil RAD Outil RADOutil RAD
Programmation Programmation événementielévénementiel
Programmation Programmation événementielévénementiel
Contrôles personnalisésContrôles personnalisés Contrôles personnalisésContrôles personnalisés
AgrégationAgrégation Héritage visuelleHéritage visuelle
Nouvelles fonctionnalitésNouvelles fonctionnalités
Nouveaux contrôlesNouveaux contrôles
Thèmes Windows XPThèmes Windows XP
Etc…Etc…
Différences entre les contrôles VB 6.0 et VB.NET Différences entre les contrôles VB 6.0 et VB.NET http://msdn.microsoft.com/vbasic/technical/upgrade/
differences.asp
VB.NET VB.NET
• AgendaAgenda– Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
VB.NET VB.NET
Démonstration Démonstration
L’accès et la manipulation de L’accès et la manipulation de donnéesdonnées
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript® J#J#
Visu
al S
tud
ioV
isua
l Stu
dio
® .NE
T .N
ET
ADO.NET…ADO.NET…
• Une évolution plus qu’une Une évolution plus qu’une révolution… révolution… – Même philosophie que ADO, mais Même philosophie que ADO, mais
modèle différentmodèle différent
• Meilleure montée en chargeMeilleure montée en charge– Le mode déconnecté est le facteur cléLe mode déconnecté est le facteur clé
• Peut-être utilisé par tous les Peut-être utilisé par tous les langages de la plate-forme .NETlangages de la plate-forme .NET
ADO Architecture : 2 ModesADO Architecture : 2 Modes
• Mode déconnecté Mode déconnecté – Dataset qui cache les Dataset qui cache les
données sans maintient de la données sans maintient de la connexionconnexion
• Mode ConnectéMode Connecté – Managed ProviderManaged Provider– Accès physique à la baseAccès physique à la base
VB.NET VB.NET
Démonstration Démonstration
ADO.NET et XMLADO.NET et XML
Managed ProviderManaged Provider
DataReaderDataReader
CommandCommand
ConnectionConnection
SyncSync
Controls,Controls,Designers,Designers,
Code-gen, etcCode-gen, etc
DataSetDataSet
XmlReaderXmlReader
XmlText-XmlText-ReaderReader
XmlNode-XmlNode-ReaderReader
XSL/T, X-Path,XSL/T, X-Path,Validation, etcValidation, etc
XmlData-XmlData-DocumentDocument
DataAdapterDataAdapter
Correspondance entre ADO.NET et XML
VB.NET VB.NET
Démonstration Démonstration
ADO.NET ADO.NET ADOADO ADO.NETADO.NET
Fournisseurs OLEDBFournisseurs OLEDB Fournisseurs Fournisseurs ManagésManagés
RecordsetRecordset DataSet /DataTableDataSet /DataTable
connexionconnexion connexionconnexion
commandecommande commandecommande
XML natifXML natif
Migration du code et des conceptshttp://msdn.microsoft.com/library/en-us/dnadonet/html/adocnet4.asp
http://msdn.microsoft.com/msdnmag/issues/04/07/DataPoints/toc.asp
VB.NET VB.NET
• Agenda de la matinéeAgenda de la matinée– Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
Résumé des changements dans Visual Résumé des changements dans Visual Basic.NETBasic.NET
• Gestion structurée des exceptionsGestion structurée des exceptions
• Les types de donnéesLes types de données
• Syntaxe de déclarationSyntaxe de déclaration
• Mots-clés supprimésMots-clés supprimés
• UDTs sont désormais des structuresUDTs sont désormais des structures
• Mots-clés remplacés par le Mots-clés remplacés par le Framework .NETFramework .NET
Gestion structurée des exceptionsGestion structurée des exceptions
• Try, Catch, FinallyTry, Catch, Finally
• Vous pouvez "Vous pouvez "ThrowThrow" une exception – " une exception – équivalent à équivalent à Err.RaiseErr.Raise
• ""On Error GotoOn Error Goto" est encore supportée" est encore supportée
• L’objet L’objet ErrErr est encore disponibleest encore disponible
• Il dépend de classes « Exception » qui Il dépend de classes « Exception » qui contiennent l’information sur l’erreurcontiennent l’information sur l’erreur
Gestion structurée des exceptionsGestion structurée des exceptionsExemple: interceptionExemple: interception
VB.NET VB.NET
Démonstration Démonstration
Changements dans les types de Changements dans les types de donnéesdonnées
• IntegerInteger devient devient ShortShort
• LongLong devient devient IntegerInteger
• Le nouveau Le nouveau LongLong est une valeur 64-bit est une valeur 64-bit
• CurrencyCurrency devient devient DecimalDecimal
• VariantVariant devient devient ObjectObject
• La chaîne de caractères fixe n’est pas La chaîne de caractères fixe n’est pas un type de base.un type de base.
• Plusieurs déclarations sur la même Plusieurs déclarations sur la même ligne impliquent le même typeligne impliquent le même type
• Valeur initiale supportéeValeur initiale supportée
Changement dans la syntaxe de Changement dans la syntaxe de déclarationdéclaration
Changements dans la déclaration des Changements dans la déclaration des tableauxtableaux
• Utilisez Utilisez DimDim pour la déclaration pour la déclaration initiale des tableaux – initiale des tableaux – RedimRedim pour pour modifier la taille seulement.modifier la taille seulement.
• Valeurs initiales pour les tableauxValeurs initiales pour les tableaux
• Option base toujours égal zéroOption base toujours égal zéro
Mots-clés retirésMots-clés retirés• Ces mots-clés sont retirés et ne sont Ces mots-clés sont retirés et ne sont
plus supportés :plus supportés :
– GOSUBGOSUB– DefType (comme DefInt, DefStr, etc.)DefType (comme DefInt, DefStr, etc.)– On x GoToOn x GoTo– LetLet– Option Base 0 | 1Option Base 0 | 1– VarPtrVarPtr– ObjPtrObjPtr– StrPtrStrPtr
Les alternatives .NETLes alternatives .NET
• Un certain nombre de mots-clés VB Un certain nombre de mots-clés VB ont une alternative dans la ont une alternative dans la librairie .NETlibrairie .NET
• RSet, LSetRSet, LSet– PadRight, PadLeft dans PadRight, PadLeft dans System.StringSystem.String
• Rnd, RandomizeRnd, Randomize– Voir Voir System.RandomSystem.Random
VB.NET VB.NET
Démonstration Démonstration
Divers changementsDivers changements
• Syntaxes raccourcies : +=, -+, *=, etc.Syntaxes raccourcies : +=, -+, *=, etc.
• Pas de chargement implicite d’une Pas de chargement implicite d’une form (une form n’est rien d’autre form (une form n’est rien d’autre qu’une classe comme une autre)qu’une classe comme une autre)
Divers changementsDivers changements
• Utilisez systématiquement des Utilisez systématiquement des parenthèses pour les méthodes et parenthèses pour les méthodes et fonctionsfonctions
• Les paramètres sont Les paramètres sont ByValByVal par par défautdéfaut
• Visibilité des variables au niveau des Visibilité des variables au niveau des blocksblocks
VB.NET VB.NET
PAUSEPAUSE
VB.NET VB.NET
• AgendaAgenda– Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
Service WEBService WEB
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript® J#J#V
isua
l Stu
dio
Visu
al S
tud
io
® .NE
T .N
ET
• Aujourd’hui nous avons : Aujourd’hui nous avons : – Des applications, composants, librairies …Des applications, composants, librairies …– ObjetMetier.DLL ObjetMetier.DLL
• Méthode CalculerTVA(byval param as integer, …)Méthode CalculerTVA(byval param as integer, …)
• En VB6 si je veux accéder à CalculerTVAEn VB6 si je veux accéder à CalculerTVA– Ajout d’une référence à ObjetMetier.DLL Ajout d’une référence à ObjetMetier.DLL – Set obj = new ObjetMetierSet obj = new ObjetMetier– obj.CalculerTVA(param,…)obj.CalculerTVA(param,…)
• La mécanique est cachée (protocole, données) La mécanique est cachée (protocole, données) c’est du RPC/COM/TLB.c’est du RPC/COM/TLB.
• ObjetMetier.dll me rend un ObjetMetier.dll me rend un serviceservice le calcul de la le calcul de la TVA. TVA.
Un Service Web, c’est quoi ?Un Service Web, c’est quoi ?Un Service Web, c’est quoi ?Un Service Web, c’est quoi ?
Services Web XMLServices Web XML
•Exposer les services de Exposer les services de ObjetMetier.dll (CalculerTVA) ObjetMetier.dll (CalculerTVA) au travers : au travers : – Protocole et format de données Standards du W3CProtocole et format de données Standards du W3C– Échanges standards XML (SOAP) via HTTPÉchanges standards XML (SOAP) via HTTP
ConceptsConcepts
Client Serveur
Quel service me proposes-tu et quel est le format d’appel? ContratSOAP**
ContratSOAP**
Voici mon contrat (WSDL)*Voici mon contrat (WSDL)*
XML décrivant CalculerTVA()XML décrivant CalculerTVA()
SOAP/XMLSOAP/XML
J’ai compris comment invoquer ton service et je t’envoie un document XML représentant ma requête
SOAP/XMLSOAP/XML
J’ai exécuté ta requête et je te retourne le résultat
Services Web XMLServices Web XML
•Indépendants des Indépendants des implémentations implémentations techniques, syntaxes et techniques, syntaxes et OSOS– Savoir « analyser » du XMLSavoir « analyser » du XML
VB.NET VB.NET
Démonstration Démonstration
VB.NET VB.NET
• Agenda Agenda – Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
Windows formsWindows forms
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript® J#J#
Visu
al S
tud
ioV
isua
l Stu
dio
® .NE
T .N
ET
Problème de fond des UtilisateursProblème de fond des UtilisateursContrôle et accès permanent à l’informationContrôle et accès permanent à l’information
Adaptation du contenu Adaptation du contenu en fonction du en fonction du contexte … et de la contexte … et de la localisationlocalisationRéseauRéseau
MobileMobile
RéseauRéseauMobileMobile
MessagesMessagesinstantanésinstantanés
FaxFaxAppelsAppelsMobilesMobiles
E-mailE-mail PagersPagers Messagerie Messagerie vocalevocale
MSReader MSReader & eBook& eBook
.NET et les nouveaux périphériques.NET et les nouveaux périphériques
codecodeWeb pagesWeb pages
Visual Studio.NETVisual Studio.NET
.NET Framework.NET Framework
Mobile Web Mobile Web BrowserBrowser
.NET Compact.NET CompactFrameworkFramework
Compact FrameworkCompact Framework• Fonctionnalités supportéesFonctionnalités supportées
– Common Base ClassesCommon Base Classes• IO, collections, reflection, math, drawingIO, collections, reflection, math, drawing
– ConnectivityConnectivity•Networking, HTTP classes, calling XML Networking, HTTP classes, calling XML
Web servicesWeb services
– Data AccessData Access•ADO.NET, SQL Server CE, SQL ServerADO.NET, SQL Server CE, SQL Server
– XMLXML•XmlDocument, XmlReader/WriterXmlDocument, XmlReader/Writer
– Windows FormsWindows Forms
VB.NET VB.NET
Démonstration Démonstration
VB.NET VB.NET
• Agenda Agenda – Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
Visual Tools for OfficeVisual Tools for Office
• Utiliser VB.NET et la puissance du Utiliser VB.NET et la puissance du Framework .NET pour étendre officeFramework .NET pour étendre office
• Utiliser l’environnement de Utiliser l’environnement de développement de Visual Studio .NETdéveloppement de Visual Studio .NET
• Bénéficier de la richesse en objet du Bénéficier de la richesse en objet du Framework dans vos applications OfficeFramework dans vos applications Office
VB.NET VB.NET
Démonstration Démonstration
VB.NET VB.NET
• Agenda Agenda – Construire une application simple en VB.NETConstruire une application simple en VB.NET
• Ma première application VB.NET Ma première application VB.NET
• Développement d’interfaces « clients riches »Développement d’interfaces « clients riches »
• L’accès et la manipulation de donnéesL’accès et la manipulation de données
• Les changements dans le langageLes changements dans le langage
– Toutes les nouvelles possibilités de Toutes les nouvelles possibilités de développement d’applicationsdéveloppement d’applications• Développement d’un service webDéveloppement d’un service web
• Développement d’interfaces pour périphériques mobileDéveloppement d’interfaces pour périphériques mobile
• Développement pour Office 2003Développement pour Office 2003
• Développement d’interfaces WEB Développement d’interfaces WEB
Développement WEBDéveloppement WEB
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript® J#J#
Visu
al S
tud
ioV
isua
l Stu
dio
® .NE
T .N
ET
ASP.NETASP.NET
•Différenciation entre la Différenciation entre la représentation et le traitement. représentation et le traitement. – Code behindCode behind– Contrôle serveur Contrôle serveur
•Même modèle que les Windows Même modèle que les Windows forms forms
•PerformancesPerformances– Les pages sont compilées pas Les pages sont compilées pas
interprétéesinterprétées– VB.NET vs VBscriptVB.NET vs VBscript
VB.NET VB.NET
DémonstrationDémonstrationTour ASP.NET Tour ASP.NET
http://www.microsoft.com/france/asp.net/default.mspxhttp://www.microsoft.com/france/asp.net/default.mspx
VB.NET VB.NET
Pause (Pause (rapiderapide) )
VB.NET VB.NET
• Construire Construire une applicationune application avec VB.NET avec VB.NET – Construire une application simple en VB.NET Construire une application simple en VB.NET – Toutes les Toutes les nouvelles possibilitésnouvelles possibilités de de
développement d’applicationsdéveloppement d’applications
• Programmation d’applications d’entreprises Programmation d’applications d’entreprises – Les Les apportsapports de la plate-forme .NET pour les de la plate-forme .NET pour les
développeurs VBdéveloppeurs VB– Le développement d’une application VB.NET en Le développement d’une application VB.NET en
utilisant utilisant l’architecture n-tiersl’architecture n-tiers– intéropérabilitéintéropérabilité avec l’existant avec l’existant – Migration d’une Migration d’une application existanteapplication existante vers vers
VB.NETVB.NET
VB.NET VB.NET
• Agenda Agenda
• VB et l’objet VB et l’objet •La Programmation Orientée Objet pourquoi ?La Programmation Orientée Objet pourquoi ?
– Principe de l’architecture .NET Principe de l’architecture .NET – L’intéropérabilitéL’intéropérabilité– Migration de l’existant.Migration de l’existant.
– Rencontrez-nous.Rencontrez-nous.
La programmation Orientée Objet La programmation Orientée Objet Pourquoi ?Pourquoi ?
• Maîtrise de la complexitéMaîtrise de la complexité
• Fiabilité des applicationsFiabilité des applications
• Réutilisation du codeRéutilisation du code
• Confort de développementConfort de développement
• Maintenabilité des applicationsMaintenabilité des applications
La Programmation Orientée Objet nous permettra
d’atteindre plus simplement ces objectifs
Méthodes à suivreMéthodes à suivre
• Décomposition logiqueDécomposition logique
• ModularitéModularité
• AbstractionAbstraction
• Masquage de donnéesMasquage de données
• Encapsulation de donnéesEncapsulation de données
• RéutilisationRéutilisation
VB 6 vs VB.NETVB 6 vs VB.NETVB 6VB 6 VB.NETVB.NET
DécompositionDécomposition Sub/FunctionSub/Function Sub/FunctionSub/Function
ModularitéModularité ObjetMetier.dllObjetMetier.dll ObjetMetier.dllObjetMetier.dll
AbstractionAbstraction Interface*Interface* Class Class abstraite/Interfacabstraite/Interfac
ee
Masquage de Masquage de donnéesdonnées
Public/Private/Public/Private/FriendFriend
Public/Private/Friend/Public/Private/Friend/ProtectedProtected
Encapsulation de Encapsulation de donnéesdonnées
ClassClass ClassClass
RéutilisationRéutilisation AgrégationAgrégation Inherits (Héritage)Inherits (Héritage)
PolymorphismePolymorphisme ImplementsImplements Implements/InheritsImplements/Inherits* Interface COM, masquée dans Visual Basic 6.00
VB 6 vs VB.NET (suite..)VB 6 vs VB.NET (suite..)VB 6VB 6 VB.NETVB.NET
ConstructeurConstructeur Initialize*Initialize* New()New()
DestructeurDestructeur TerminateTerminate FinalizeFinalize
SurchargeSurcharge Via paramètre Via paramètre optional de type optional de type
variantvariant
OuiOui
Substitution de Substitution de méthode**méthode**
NonNon OuiOui
Sous classeSous classe NonNon OuiOui
*Pas de passage de paramètres possible
**La classe dérivée modifie le comportement de la méthode
Les objetsLes objets• Qu’est-ce qu’un objet ?Qu’est-ce qu’un objet ?
– Une entité physique du monde réelUne entité physique du monde réel•Un employéUn employé
• Un objet est caractérisé par :Un objet est caractérisé par :– Son étatSon état
•Nom, Prénom, Age (Propriétés)Nom, Prénom, Age (Propriétés)
– Son comportement, ses actionsSon comportement, ses actions•CreerEmail()CreerEmail() (méthode)(méthode)
•CalculerSalaire()CalculerSalaire() (méthode)(méthode)
Je peux avoir différents types d’employésJe peux avoir différents types d’employés
• CDICDI– Nom/Prenom/AgeNom/Prenom/Age– CreerEmail()CreerEmail()– CalculerSalaire()CalculerSalaire()
• CDDCDD– Nom/Prenom/AgeNom/Prenom/Age– CreerEmail()CreerEmail()– CalculerSalaire()CalculerSalaire()
• StagiaireStagiaire– Nom/Prenom/AgeNom/Prenom/Age– CreerEmail()CreerEmail()– CalculerSalaire()CalculerSalaire()– FairePhotocopies() ;-)FairePhotocopies() ;-)
• AutresAutres– Nom/Prenom/AgeNom/Prenom/Age– CreerEmail()CreerEmail()– CalculerSalaire()CalculerSalaire()
• IntérimaireIntérimaire– Nom/Prenom/AgeNom/Prenom/Age– CreerEmail()CreerEmail()– CalculerSalaire()CalculerSalaire()
Comment l’implémenter ?Comment l’implémenter ?
Comment l’implémenter ?Comment l’implémenter ?
• Dupliquer toutes les fonctions dans des Dupliquer toutes les fonctions dans des objets séparés ?objets séparés ?
• Écrire un gros objet avec un drapeau Écrire un gros objet avec un drapeau précisant le type (CDI, CDD, Stagiaire précisant le type (CDI, CDD, Stagiaire ….) ?….) ?
Nous sommes tous d’accordNous sommes tous d’accord
• Pour dire que CDI, CDD, Stagiaire, Pour dire que CDI, CDD, Stagiaire, etc…etc…– Sont des employésSont des employés– Avec des caractéristiques communesAvec des caractéristiques communes
•Non/Prénom/AgeNon/Prénom/Age
•CreerEmail()CreerEmail()
– Des caractéristiques différentesDes caractéristiques différentes•CalculerSalaire()CalculerSalaire()
•Autres…Autres…
Employe
CDI
CDD
Stagiaire
Chef
On va utiliser l’héritageOn va utiliser l’héritage
VB.NET VB.NET
Démonstration Démonstration
VB.NET VB.NET
– VB et l’objet VB et l’objet •La Programmation Orientée Objet pourquoi ? La Programmation Orientée Objet pourquoi ?
– Principe de l’architecture .NET Principe de l’architecture .NET – L’intéropérabilitéL’intéropérabilité– Migration de l’existant.Migration de l’existant.
– Rencontrez-nous.Rencontrez-nous.
Unification du développementUnification 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
Démarrer avec .NETDémarrer avec .NET
Framework, Langages et outilsFramework, Langages et outils
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript® J#J#
Visu
al S
tud
ioV
isua
l Stu
dio
® .NE
T .N
ET
Démarrer avec .NETDémarrer avec .NET Framework, Langages et outilsFramework, Langages et outils
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript J#J#V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
Common Langage RuntimeCommon Langage Runtime
Class Loader
CompilationIL
GestionnaireDe code
GarbageCollector
Sécurité Debuggeur
Vérification des Types Exceptions
Threads Interoperabilité COM
CompilerCompiler AssemblyAssemblyAssemblyAssembly
DéveloppementDéveloppement
DEVELOPMENTDEVELOPMENT
C#C#J#J#VBVB
CobolCobol……
MSILMSILMetadataMetadata
ResourcesResources
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 codeSource code
CompilerCompiler AssemblyAssemblyAssemblyAssembly
DEVELOPMENTDEVELOPMENT
C#C#J#J#
VB.NETVB.NETC++C++
CobolCobol……
MSILMSILMetadataMetadata
ResourcesResources
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 codeSource code
ApplicationApplicationDirectoryDirectory
ApplicationApplicationDirectoryDirectory
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
DéploiementDéploiement
AssemblyAssemblyAssemblyAssembly
DEVELOPMENTDEVELOPMENT DEPLOYMENTDEPLOYMENT
SetupSetupCopyCopy
BrowserBrowser
Download Download CacheCache
Download Download CacheCache
InstallInstall
Debug EngineDebug Engine
IL to NativeIL to NativeCompilerCompiler
ApplicationApplicationDirectoryDirectory
ApplicationApplicationDirectoryDirectory
SetupSetupCopyCopy
BrowserBrowser
Download Download CacheCache
Download Download CacheCache
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
GlobalGlobalAssemblyAssembly
Cache (GAC)Cache (GAC)
AssemblyAssemblyon Target on Target MachineMachine
AssemblyAssemblyon Target on Target MachineMachine
ExécutionExécution
AssemblyAssemblyAssemblyAssembly
DEVELOPMENTDEVELOPMENT DEPLOYMENTDEPLOYMENT
InstallInstall
EXECUTIONEXECUTION
AssemblyAssemblyLoaderLoaderSecuritySecurityClass Class
LoaderLoader
Native .exe Native .exe + GC table + GC table Native .exe Native .exe + GC table + GC table
Code Code ManagerManager
Garbage CollectionGarbage Collection
Exception ManagerException Manager
Thread SupportThread Support
COM InteropCOM Interop
Policy<?xml version="1.0" encoding="utf-8" ?><configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissions and forms the root of the code group tree."> <IMembershipCondition class="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript J#J#V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
Démarrer avec .NETDémarrer avec .NET Framework, Langages, et outilsFramework, Langages, et outils
Libraries des classes de basesLibraries des classes de bases
System System
System.DataSystem.Data System.XmlSystem.Xml
System.WebSystem.Web
GlobalizationGlobalization
DiagnosticsDiagnostics
ConfigurationConfiguration
CollectionsCollections
ResourcesResources
ReflectionReflection
NetNet
IOIO
ThreadingThreading
TextText
ServiceProcessServiceProcess
SecuritySecurity
CommonCommon
OleDbOleDb
SQLTypesSQLTypes
SqlClientSqlClient
XPathXPath
XSLTXSLT
RuntimeRuntimeInteropServicesInteropServices
RemotingRemoting
SerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionState
CachingCaching SecuritySecurity
ServicesServicesDescriptionDescription
DiscoveryDiscovery
ProtocolsProtocols
UIUIHtmlControlsHtmlControls
WebControlsWebControls
System.DrawingSystem.Drawing
ImagingImaging
Drawing2DDrawing2D
TextText
PrintingPrinting
System.Windows.FormsSystem.Windows.Forms
DesignDesign ComponentModelComponentModel
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VB.NETVB.NET C++C++ C#C# JScriptJScript J#J#V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
Démarrer avec .NETDémarrer avec .NET Framework, Langages et outilsFramework, Langages et outils
Unification des syntaxesUnification des syntaxes
• Le développeur est indépendant du langageLe développeur est indépendant du langage– Tous les langages accèdent aux services fournis par la CLRTous 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 »Spécification d’écriture des compilateurs « syntaxiques »– Chaque langage utilise et étend le framework .NETChaque langage utilise et étend le framework .NET– Les langages .NET sont neutres.Les langages .NET sont neutres.– Déposé à L’ECMADéposé à L’ECMA
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……
Pourquoi une nouvelle plateforme Pourquoi une nouvelle plateforme ??• Modèle de programmation cohérentModèle de programmation cohérent
• Modèle de programmation simplifiéModèle de programmation simplifié
• Résoudre ‘l’Enfer des dlls’Résoudre ‘l’Enfer des dlls’
• Déploiement simplifiéDéploiement simplifié
• Utilisation de nombreuses plateformesUtilisation de nombreuses plateformes
• Intégration de nombreux langagesIntégration de nombreux langages
• Réutilisation simplifiée du codeRéutilisation simplifiée du code
Pourquoi une nouvelle Pourquoi une nouvelle plateforme ?plateforme ?
• Gestion de la mémoire automatiqueGestion de la mémoire automatique
• Vérification des typesVérification des types– Pas de débordement tampon, casts Pas de débordement tampon, casts
invalides, variables non initialisées invalides, variables non initialisées
• Debugging/Profiling avancésDebugging/Profiling avancés
• Gestion d’erreurs cohérenteGestion d’erreurs cohérente
• SécuritéSécurité
• InteropérabilitéInteropérabilité
• Exécution côte à côteExécution côte à côte
VB.NET VB.NET
Démonstration Démonstration
Pourquoi une nouvelle Pourquoi une nouvelle plateforme ?plateforme ?
• Facilite le développement en couches Facilite le développement en couches
.NET et le modèle en .NET et le modèle en couchescouches
Couche Couche PrésentationPrésentationWindows FormWindows FormWebFormWebFormOfficeOfficemobilemobile
Couche MétierCouche MétierAssemblies .NETAssemblies .NETApplication COM+Application COM+ Services Web Services Web XMLXML
Couche DonnéesCouche DonnéesADO.NETADO.NETSupport XMLSupport XML
Communication:•WebService•HTTP•Remoting(http,tcp…)•COM+ (dcom)
Mon.exe
Browser
InternetIntranet
XML
Windows Form
Web Form
Présentation Tiers
We
bS
ervice
s
Business Tiers Data Tiers
Data
Data
VB.NET VB.NET
Démonstration Démonstration
VB.NET VB.NET
PAUSE PAUSE
C’est beau tout cela mais C’est beau tout cela mais mon existant j’en fais quoi ? mon existant j’en fais quoi ?
VB.NET VB.NET
• Agenda Agenda – VB et l’objetVB et l’objet
•La Programmation Orientée Objet cela veut dire La Programmation Orientée Objet cela veut dire quoi ? quoi ?
•Les fonctionnalités objet de VB.NET Les fonctionnalités objet de VB.NET
– Principe de l’architecture .NET Principe de l’architecture .NET – L’intéropérabilité avec l’existant L’intéropérabilité avec l’existant – Migration de l’existantMigration de l’existant
– Venez à notre rencontreVenez à notre rencontre
Appelez l’existantAppelez l’existant
•Appel de composants existant – Appel de composants COM– Appel d’API win32
COM Interop COM Interop 2 manières2 manières
• Utilisation d’un composant COM depuis .NETUtilisation d’un composant COM depuis .NET
.NET Object
COM Object RCW
IUnknown
IDispatch
• Utilisation d’un composant .NET depuis COMUtilisation d’un composant .NET depuis COM
COM Object CCW
.NET Object
IUnknown
IDispatch
VB.NET VB.NET
Démonstration Démonstration
Interopérabilité API Win32Interopérabilité API Win32
– Déclaration et Déclaration et importation d’une importation d’une fonction depuis une fonction depuis une dll…dll…•Déclaration de la Déclaration de la
signature de la signature de la fonctionfonction
•API WindowsAPI Windows
•Toute autre DLL WIN32Toute autre DLL WIN32
•Mot clé « Declare » ou Mot clé « Declare » ou Attribut <DllImport>Attribut <DllImport>
• Travailler avec les DLL Win32/64Travailler avec les DLL Win32/64
VB.NET VB.NET
• Agenda Agenda – VB et l’objet VB et l’objet
•La Programmation Orientée Objet cela veut dire La Programmation Orientée Objet cela veut dire quoi ? quoi ?
•Les fonctionnalités objet de VB.NET Les fonctionnalités objet de VB.NET
– Principe de l’architecture .NET Principe de l’architecture .NET – L’intéropérabilité avec l’existantL’intéropérabilité avec l’existant– Migration de l’existantMigration de l’existant
– Restez pour nous rencontrer Restez pour nous rencontrer
Dois-je convertir mon application en Dois-je convertir mon application en VB.NET ? VB.NET ?
• NONNON– Mode maintenance: pas évolutive Mode maintenance: pas évolutive – Pas de soucis Pas de soucis
• Déploiement Déploiement • PerformancesPerformances• Pas le temps, ni le budgetPas le temps, ni le budget
• OUIOUI– Tirer profit des capacités du Framework .NETTirer profit des capacités du Framework .NET– Tirer profit des capacités de Visual Basic .NETTirer profit des capacités de Visual Basic .NET– Je dois faire évoluer mon applicationJe dois faire évoluer mon application– Limite du support de Visual Basic 6.00Limite du support de Visual Basic 6.00
Oui je veux la convertir en VB.NETOui je veux la convertir en VB.NET
– Dois-je migrer ?Dois-je migrer ?• Assistant de migration Assistant de migration
– Ne migre pas tous les projets (rdo, dao, contrôles … )Ne migre pas tous les projets (rdo, dao, contrôles … )– Gros projets Gros projets – Expérience terrain a montré les limites (80*20)Expérience terrain a montré les limites (80*20)– Demande encore du travail de développement et du Demande encore du travail de développement et du
TestingTesting
– Ou passer en douceur ?Ou passer en douceur ?
• Remise à plat de l’architectureRemise à plat de l’architecture
• L’application n’est pas encore achevéeL’application n’est pas encore achevée
• Les apports de .NET résolvent des problèmes importants Les apports de .NET résolvent des problèmes importants (versioning, déploiements Xcopy, redéploiements à chaud (versioning, déploiements Xcopy, redéploiements à chaud sur IIS, performances ASP .NET, productivité WebForms et sur IIS, performances ASP .NET, productivité WebForms et Windows Forms, Support XML et Services Web…)Windows Forms, Support XML et Services Web…)
Passer à .NET en douceurPasser à .NET en douceur• Approche Horizontale ou Verticale ?Approche Horizontale ou Verticale ?
FormeFormeVBVB
FormeFormeVBVB
SQL ServerSQL Server
ApprocheApprocheVerticaleVerticale
ApprocheApprocheHorizontaleHorizontale
TierTierPrésentationPrésentation
TierTierMétier Métier
TierTierDonnéesDonnées
Mise à niveau d’applicationsMise à niveau d’applications
• Ne pas commencer par convertir des projets de taille Ne pas commencer par convertir des projets de taille importanteimportante– Se familiariser avec .NETSe familiariser avec .NET– Utiliser des outils (CodeAdvisor), Visual Expert (Novalys)Utiliser des outils (CodeAdvisor), Visual Expert (Novalys)
• Ne pas convertir l’ensemble de l’application. « Diviser pour Ne pas convertir l’ensemble de l’application. « Diviser pour conquérir »conquérir »
VB VB
Migration
VB.NET VB.NET
RCW RCW RCW
VB.NET
VB.NET(web service, remoting,…)
RCW
VB.NET
RCW
Migration
Et moi dois-je passer à Et moi dois-je passer à VB.NET ?VB.NET ?
• OUIOUI– Comment me former en douceur ?Comment me former en douceur ?– Par quoi dois-je commencer ?Par quoi dois-je commencer ?– Quels sont les écueils à éviter ?Quels sont les écueils à éviter ?– Ou trouver de l’information ?Ou trouver de l’information ?
•Trop d’information tue l’informationTrop d’information tue l’information
Comment débuter avec .NETComment débuter avec .NET
• Pour bien débuter ne pas s’attaquer à des projets trop gros Pour bien débuter ne pas s’attaquer à des projets trop gros dés le départ.dés le départ.
• Il faut y aller étape par étape.Il faut y aller étape par étape.
1.1. Se familiariser avec les nouveautés du langage et de l’IDESe familiariser avec les nouveautés du langage et de l’IDE– Exemple : Imprimer les nouveaux mots clés et regarder l’aideExemple : Imprimer les nouveaux mots clés et regarder l’aide– http://localhost/quickstart/howtohttp://localhost/quickstart/howto– Classes de BaseClasses de Base
2.2. Apprentissage de la plate-formeApprentissage de la plate-forme– ArchitectureArchitecture– Nouveautés (delegate, event, multi-threading, sécurité etc..)Nouveautés (delegate, event, multi-threading, sécurité etc..)
3.3. Bonnes pratiques du développementBonnes pratiques du développement– Programmation Orientée ObjetProgrammation Orientée Objet– PerformancesPerformances– Modèles de conception (Design pattern)Modèles de conception (Design pattern)
Vous n’êtes pas seulVous n’êtes pas seul• Les bons réflexes à avoir.Les bons réflexes à avoir.
• http://http://www.microsoft.comwww.microsoft.com//francefrance//vbasicvbasic//– Les liens sur les sites communautairesLes liens sur les sites communautaires– Les exemples et Vidéos du tour VB.NETLes exemples et Vidéos du tour VB.NET– Les LABSLes LABS
• VB.NETVB.NET• ADO.NETADO.NET• ASP.NETASP.NET
– J’attends vos remarques et suggestions (email :J’attends vos remarques et suggestions (email : [email protected] [email protected]))
• Venez nous retrouver sur les news groups MicrosoftVenez nous retrouver sur les news groups Microsoft• DémonstrationDémonstration
• Les sites de communautés FrançaiseLes sites de communautés Française• http://http://vb.developpez.comvb.developpez.com//
– bidou nous a préparé un super article qui vulgarise la Programation Orientée Objet, n’hésitez 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.pas à y jeter un coup d’oeil.
• http://http://www.vbfrance.comwww.vbfrance.com// (code-source) (code-source)– Nix vous attend, venez poster vos codesNix vous attend, venez poster vos codes
• http://www.c2i.frhttp://www.c2i.fr– Richard ClarckRichard Clarck
• http://http://www.labo-dotnet.comwww.labo-dotnet.com//– Patrice LamarchePatrice Lamarche
VB.NET VB.NET
Venez nous voir Venez nous voir
MicrosoftMicrosoftVotre potentiel, notre passionVotre potentiel, notre passion
Visual Basic.NET 2005Visual Basic.NET 2005
• Plus de productivité (RAD)Plus de productivité (RAD)
• Plus de puissancePlus de puissance– Plus de RAD !!!Plus de RAD !!!– Encore plus de puissance !!Encore plus de puissance !!
• Les solutions WhidbeyLes solutions Whidbey– My : Qui n’a pas écrit sa propre My : Qui n’a pas écrit sa propre
bibliothèque ?bibliothèque ?– Fragment de codes réutilisablesFragment de codes réutilisables– Simplification de l’IDESimplification de l’IDE– Assistant des ExceptionsAssistant des Exceptions– EnC, Immediate windows, EnC, Immediate windows, – Etc..Etc..