THEME |
|
METHODOLOGIE | Brainstorming |
Apports méthodologies et théoriques du consultant sur PowerPoint | |
Exercices pratique et débats ; | |
Supports à remettre aux participants | |
DUREE DE LA FORMATION | 4 jours |
OBJECTIFS DE LA FORMATION | Cette formation « VB.NET avancé » vous propose de maîtriser tous les concepts fondamentaux liés au développement des applications (WPF, LINQ, Service Windows ) et à la communication (socket, service, WCF, WebServices). |
CONTENU | Rappels et compléments sur le Framework .Net |
Synthèse sur l'architecture du Framework .NET | |
La place de VB.NET dans l'architecture globale de .NET | |
Les nouveautés du FrameworkComparaisons de VB.NET avec d'autres langages (Java, C++, ...) | |
Les options de compilations | |
Créer une bibliothèque réutilisable (dll) | |
Performances et mémoire (code non managé) - optimisation VB.NET | |
Comprendre les couches basses de .NET(CLR, assembly, module, ...) | |
Gestion du tas et de la pile par .NET (garbage-collector) | |
Risque et intérêt d'utiliser du code « non managé » | |
Maîtriser les types de données (transtypages) | |
Exemples de code non managé | |
Créer et déployer un service Windows | |
Différences entre un service Windows et une applicationPrésentation de la classe ServiceBase (OnStart, OnStop, OnPause, OnRestart)Création d'un service avec Visual Studio (template Windows Service)Paramétrage du service (CanStop, CanShutdown, ...)Utilisation des threads dans la programmation de servicesDéploiement d'un service Windows avec Visual Studio 2012Vérification du fonctionnement du service dans le Panneau de configurationTRAVAUX PRATIQUESCréer et déployer un service windows.Observer le fonctionnement du service par le journal windows. | |
Multithreading sous .NET | |
Qu'apporte le mutli-threading aux applications?Quelles différences pour le développeur ?Architecture d'un programme multi-threads principal, actif, background, ...)Fonctionnement « normal » d'un programme VB.NET (main)Cycle de vie d'un threadSpécificités techniques de la programmation multi-threads (mémoire, verrou, synchronisation, ...)Les problématiques de synchronisation et de verrous (variables de contrôle, verrous, mutex, semaphoreSlim, join abortExemple d'une file d'attente utilisée par 3 threads (1 producteur et 2 consommateurs)Effectuer des tâches en arrière-plan grâce à un pool de threadsErreurs fréquentes avec les threadsTRAVAUX PRATIQUESMise en place de thread dans un service windows | |
Introduction à la communication sous .NET | |
Synthèse des différents types d'échanges | |
Technologies sous-jacentes dans .NET | |
Présentation des différentes API (socket, web services, WCF, ...) | |
Pourquoi utiliser les delegate dans la programmation réseau ? | |
Services Web ASP.Net | |
Présentation des web services | |
Le WSDL | |
Méthode SOAP | |
IIS et les sessions pour les états des web services | |
Hébergement et publication | |
Service Web pour requête asynchrone (AJAX) | |
Programmation réseau avec les sockets | |
Rappels sur le vocabulaire réseau (@IP, n°port, TCP, UDP) | |
Quelles différences entre développer « par-dessus » TCP ou UDP ? | |
Qu'est-ce qu'une socket pour le développeur ? | |
Architecture général d'une application réseau multi-threads | |
Les méthodes de la classe Sockets (listen, bind, accept, send, receive, …) | |
Envoi et réception de message (BeginReceive, BeginSend) | |
Exemple de code général côté serveur et côté client | |
Gestion du pool de connexion (multi clients | |
Les adaptations à faire en fonction du domaine d'application | |
TRAVAUX PRATIQUESCréation d'une application clients/serveur. | |
WPF (Windows Presentation Foundation) | |
Pourquoi une nouvelle API d'interface graphique avec WPF ? | |
Ne pas mélanger présentation, traitements, et données (genèse du XAML) | |
Spécificités du développement WPF (Visual Studio, Expression Blend, ...) | |
Les pages et navigation au format web | |
Contrôles de positionnement) | |
Contrôles utilisateurs | |
Présenter et interagir avec les données (Databinding | |
Quelques astuces pour le binding | |
TRAVAUX PRATIQUESCréation d'un gestionnaire de contacts en WPF | |
Créer ses propres contrôles utilisateurs (User Controls) | |
Création d'un gestionnaire d'événements pour un contrôle | |
Les attributs d'un contrôle utilisateur (Category, Browsable, DefaultEvent, ...) | |
Utilisation des contrôles avec un formulaire Windows | |
Validation des entrées des utilisateurs | |
Gestion du glisser/déposer de nos propres contrôles | |
Créer des contrôles dynamiquement | |
Ajouter de fonctionnalités aux contrôles | |
Ajout de prise en charge Design-time pour les contrôles | |
Octroi de licence à un contrôle | |
TRAVAUX PRATIQUESCréer des contrôles WPF et les utiliser dans le gestionnaire de contacts. | |
LINQ (Language Integrated Query) | |
Des requêtes/traitements au-delà des simples bases de données … | |
Comment utiliser LINQ dans un programme VB.NET ? | |
Manipuler des collections d'objets avec LINQ (LINQ to Object) | |
Gérer des documents XML avec LINQ (LINQ to XML) | |
Ecriture de requêtes complexes sur des sources XML | |
Gérer le mapping entre les types VB.NET et les enregistrements d'une base (LINQ to SQL) | |
Interroger les données d'un dataset (LINQ to Dataset) | |
Ecrire des requêtes sur un modèle conceptuel (LINQ to Entities)LINQ et les performances | |
TRAVAUX PRATIQUESMise en place des classes métier et d'une basse de données par LINQ to SQL.Manipulation (insertion, modification, selection) des données avec LINQ | |
WCF | |
Architecture orienté Services | |
Les contrats de service | |
Comprendre et utiliser les points de terminaison | |
Configuration et hébergement d'un serviceService bidirectionnel | |
Créer un service WCF sans serveur | |
TRAVAUX PRATIQUESCréation d'un chat en WCF | |
POPULATION CIBLE | Cette formation VB.NET avancé s'adresse aux développeurs d'application d'entreprise expérimentés ainsi qu'aux chefs de projet. |
PRE-REQUIS | Bonne connaissance d'au moins un langage .NET (C# ou VB.net). Avoir suivi la formation Visual Basic .NET (VB2560) est un bon pré-requis à cette formation |
RESULTAT ATTENDU | |
ANIMATEUR |