Introduction
- Présentation des différentes API.
- La réflexion pour les communications : rôle et présentation de l'API.
- La sérialisation pour les communications.
Les sockets
- Le protocole TCP/IP, communications mode stream et mode datagram.
- Traitement multiclient monothread à l'aide de Select et multithread à l'aide du pool de threads.
- Les NetworkStreams.
Travaux pratiques
Réalisation d'un serveur pouvant gérer la connexion simultanée de multiples clients.
Les services Web ASP.NET
- Notion de contrat WSLD et génération de proxies avec WSDL.exe et Visual Studio.
- Services Web avec état à l'aide de la Session.
- En-têtes SOAP.
- Authentification ASP.Net et application aux en-têtes SOAP.
- Les communications asynchrones et le cas particulier des pages ASP.NET.
Travaux pratiques
Réalisation d'un service Web accessible uniquement aux clients authentifiés. Gestion d'un contexte de client par un en-tête SOAP personnalisé. Réalisation d'une interrogation parallèle de multiples services Web de manière asynchrone.
.NET Remoting
- Objets sérialisés ou accessibles à distance. Notions de stub et de proxy. Types de canaux.
- Configuration par programmation / par fichier.
- Gestion de la durée de vie des objets par sponsors.
- Sécurité par cryptage et authentification des clients.
- Rôle des CallContexts.
- Problèmes de synchronisation liés aux Windows Forms.
Travaux pratiques
Réalisation d'un client et d'un serveur simple. Réalisation d'un serveur chat et de clients de type Windows Forms (gestion de problèmes de synchronisation).
WCF
- Principe et problématiques des architectures orientées services (SOA).
- Comprendre l'architecture WCF en vue d'unifier les techniques de communications.
- Créer et implémenter un contrat de service.
- Programmation et configuration des points de terminaison.
- Configuration et hébergement du service.
- Utilisation de sessions.
- Echanges synchrones et asynchrones.
- Mécanismes de sécurité et de transaction.
Travaux pratiques
Réalisation d'un client Windows et d'un serveur simple, avec différentes combinaisons de configuration des échanges côté client et côté serveur.