Systèmes répartis et .NET/C#

Frank Singhoff

Sommaire




Exercice 1 : exemple d'un programme C# sous Visual Studio

L'objectif de cet exercice est de vous montrer comment créer une solution Visual studio 2015 pour réaliser des programmes simples en C#.

Avec Visual studio, un logiciel est structuré selon 2 concepts:



Pour créer votre première solution:


Exercice 2 : programmation C#

Dans cet exercice, on expérimente l'environnement de développement Visual Studio ainsi que C#.
Pour une brève introduction à C#: voir ici.

Pour une information plus détaillée voir ici plutôt.

Question 1



Question 2

Modifier votre mise en oeuvre afin qu'il soit possible de gérer plusieurs mémoires. Une mémoire est instanciée à la demande de l'utilisateur. Ces mémoires doivent être stockées dans un tableau. Elles peuvent être instanciées à la demande de l'utilisateur par exemple. Chaque mémoire a un nom unique permettant de la référencer par l'utilisateur. Avant chaque calcul, il sera donc nécessaire de demander à l'utilisateur le nom de la calculatrice sur laquelle le calcul doit être effectué.


Exercice 3 : exemple d'un objet répartis avec .NET



L'objectif de cet exercice est de vous montrer comment mettre en place un objet réparti avec .NET/C#

On vous demande de construire une solution avec 3 projets:

  1. Un projet Bibliothèque de classe comportant l'interface de l'objet réparti. Cette interface est stockée dans ce fichier.
  2. Un projet Application console pour le serveur, qui comporte 1) l' implantation de l'objet 2) la mise en place du service.
  3. Un projet Application console pour le client constitué d'un seul fichier..
  4. Une référence au projet comportant l'interface doit être réalisée dans le client et dans le serveur. Par ailleurs, client et serveur doivent également référencer le composant .NET System.Runtime.Remoting.


Générez les exécutables, puis testez les. Les exécutables sont stockés dans le répertoire de la solution. Répondez aux questions suivantes :
  1. Quel est le nom de l'interface décrivant objet accessible à distance ?
  2. Quel est le nom de la classe qui implante l'interface ci-dessus ? Comment est il possible de savoir que cette classe va permettre d'instancier des objets répartis ?
  3. Où se situe l'instantiation de l'objet ? Où se situe l'instantiation de la souche ?



Exercice 4 : programmation d'objets répartis avec .NET



Question 1 :

On cherche à implanter un serveur .NET Remoting simple, qui héberge un unique objet.

namespace Banque
{    
        public interface ICompte
        {
            double lire_solde();
            string lire_titulaire();
            int lire_numero();

            void debiter(double montant);
            void crediter(double montant);
        }
}