[Éric Commelin]

 Développement,  Formation &  Conseil.

# .Net,  Développement système & réseau &  Web.

Formation communication entre applications avec .Net, 4 jours

Comprendre et maîtriser les différents moyens de communication entre application


Résumé

Ce cours vous permettra d'appréhender les possibilités de communication du framework .Net et de choisir l'API la plus adaptée.

Il traite des API bas niveau comme les Sockets jusqu'aux API haut niveau des services Web en passant par .Net Remoting et les WCF (Windows Communication Foundations).


Contenu

Les sockets
Les services Web ASP.NET
.NET Remoting
WCF

Objectifs pédagogiques

Cette formation vous permettra de comprendre les points clé des multiples framework de communication mis à disposition par .Net.

Avec les sockets, vous saurez réaliser des applications bas niveau performantes (multithread, multiclient) pouvant s'adaptées à tous les protocoles applicatifs.

Avec les ASP.Net Web Service, vous réaliserez rapidement des services Web standard simples.

Avec .Net remoting, vous distribuerez (ou pas !) de manière transparente les composants de votre application sur plusieurs machines.

Avec WCF, vous configurerez vos services Web pour qu'ils respectent les dernières normes de communication évoluées des standards WS-* du W3C.

Pré-requis

Bonnes connaissances de C# ou VB.NET.

Connaissances de base des mécanismes de fonctionnement .NET, des réseaux et de l'architecture Windows.

Participants

Développeurs désirant faire les bons choix et les bonnes mises en oeuvre en matière de communication entre applications et tirer partie des frameworks de .Net.


Détails de la formation...

Avantages et inconvénients des différents API de communication

Quelques mots sur les API historiques et modernes : Sockets, Named Pipes, MSMQ, DCOM, COM+, .Net Remoting, Web Services

Prérequis - plus ou moins rapides rappels en fonction du public

Principes de SOA.
Réflexion, métadonnées et attributs.
Sérialisation des données.
Programmation et synchronisation multithread.
Services Windows, principes et installation.

Communication réseau avec les sockets

Utilisation directe des sockets TCP et UDP.
Architectures monothread - monoclient, monothread - multiclient et multiclient -multithread.
Client/serveur TCP et UDP. Classe UdpClient.
Les classes WebClient, WebRequest, WebResponse. Gestion synchrone et asynchrone. Proxy.
Travaux pratiques : Réalisation d'un client et d'un serveur multiclient et multithreads. Réalisation d'un client http.

Services Web basiques

Architecture : principe et fonctionnement.
Web Services et couche métier.
Services web à état : session & header SOAP.
Sécurité et fiabilité des données persistantes.
Architectures de communication asynchrone.
Protocoles de sérialisation SOAP et JSON.
Travaux pratiques : Développement de services basiques d'accès aux données. Utilisation d'un client lourd Windows et d'un client Ajax JavaScript depuis une page HTML.

.NET Remoting

Architecture : principe et fonctionnement.
Objets à distance : manipulation des types marshal by ref et marshal by value.
Déporter des objets via le fichier de configuration.
Gestion de la durée de vie des objets, mise en oeuvre de sponsors.
Sérialisation et sécurité.
Passage de délégués par .Net Remoting.
Utilisation des call contexts.
Sécurisation des canaux de communication.
Travaux pratiques : Réaliser un serveur de "chat" et de clients lourds Windows.

WCF

ABC de WCF.
Contrats et types de service, liaisons et hôtes.
Endpoints et behaviors.
Fichiers de configuration et SvcConfigEditor.
Contrats, sérialisation et types communs.
Sessions.
Transactions DTC et WS-Atomic Transactions.
Messages à sens unique.
Communications asynchrones.
Sécurité de message et de transport.
Authentification windows ou applicative.
Usurpation d'identité.
Gérer des rappels.
Gérer des événements.
Les différents types d'hébergement.
Travaux pratiques : Remplacement d'un serveur de Service Web par un serveur WCF, réutilisation des clients existants sans modification, ajout de points de teminaison et de fonctionnalitas non-standards mais plus performants. Ajout de clients .Net tirant partie des nouvautés.