APPLICATION

CLIENT-SERVEUR EN JAVA

 

Sujet

Le but de ce miniprojet est de faire une application qui permettrait de consulter l'états des alarmes d'une maison par internet. Les données relatives aux capteurs seraient stockées dans une base de données contenue sur un serveur WEB. Une application client permettrait d'exploiter ces données afin de connaître l'état de la maison et de commander par exemple des actionneurs de présence manuellement. De plus l'application serveur doit tester les données acquises afin d'envoyer un message d'alarme court sur un téléphone mobile grâce à l'envoie d'un mail.

Spécifications Fonctionnelles

Rôle du serveur

L'application serveur contiendra deux structures :

Automate

L'automate génère des valeurs aléatoires à intervalles de temps réguliers pour les différents états des capteurs et stocke ces données dans une base de données (tables).Il simule une carte d'acquisition qui prendrait tous les états des différents capteurs du système d'alarme. Cet automate sera implémentée comme une application serveur.

L'application serveur

Elle gère la base de données contenant tous les états des capteurs et la date de l'échantillon afin de permettre d'afficher un historique et de faire des sélections ou des tris selon les capteurs. Cette base de données est donc stockée sur le serveur. Elle communique avec l'automate qui envoie le données et les stocke dans sa base. Elle communique aussi avec un client afin de lui envoyer les données à la demande de l'application et d'exécuter les différentes commandes de l'application. Elle doit aussi être capable d'interpréter des alarmes urgente et envoyer un mini message sur un téléphone mobile en envoyant un e-mail grâce au numéro du mobile.

Rôle du client

Cette application client permet d'interroger la base de données à partir d'internet. Elle afficherait la maison et l'état des capteurs sur une interface graphique adéquate. Elle afficherait aussi l'historique des états. Elle doit aussi permettre d'actionner des actionneurs branché sur le serveur.

 

 Spécifications fonctionnelles

L'application cliente contient une interface graphique représentant la maison.Lorsque cette dernière est lancée ,elle se connecte au serveur sur lequel est "branché" un automate virtuel simulant des infraction et déclenche ainsi des niveaux 1 sur ces sorties numériques.
   

Problèmes abordés lors du miniprojet

 Processus /Thread.

                                    Etreinte fatale.
                                    Simulation de cycle.
                                    Problemes d'exception.
                                    Sérialization.
                                    Division du temps processeur.
                                    Pas véritable concurence des processus.
 

 Réseau.

                            RMI

                                            Mise en oeuvre facile.
                                            Temps de connection important.
                                            Transparence du fonctionnement.
                                            Problème de package.
 

                            RMI simulé

                                            Ouverture fermeture de flux.
                                            Flux croisé.
                                            Ouverture fermeture de socket.
 

Lancement des applications

 

 Version RMI

        Localisation :répertoire rmi.
 

 Le Client

                    Localisation : répertoire rmi/client.

                    Compilation
                        javac Client.java

                    Fichiers nécéssaires :      Client.class
                                                            Automate_std_stub.class
                                                            Automate.class
 
                    ainsi que le répertoire gui contenant le package gui et le sous répertoire images.

                     Exécution
                        java Client
 

 Le Serveur

                    Localisation : répertoire rmi/client.
                    Compilation
                        javac Serveur.java
                        rmic Automate_std (création du skelette et du stub)

                    Fichiers nécéssaires :    Serveur.class
                                                          Automate_std_skel.class
                                                          Automate.class
                                                          Automate_std.class
                                                          Capteur.class
                                                          Capteur_std.class

                    Exécution
                        start rmiregistry &1099.
                        java Serveur &
 

Version RMI Simulé

        Localisation :répertoire socket.
 

 Le Client

                    Localisation : répertoire socket/client.

                    Compilation
                        javac Client.java

                    Fichiers nécéssaires :      Client.class
                                                            Automate_std_stub.class
                                                            Automate.class
 
                    ainsi que le répertoire gui contenant le package gui et le sous répertoire images.

                     Exécution
                        java Client
 

 Le Serveur

                    Localisation : répertoire rmi/client.
                    Compilation
                        javac Serveur.java
                        javac Automate_std_stub.java
                        javac Automate_std_skel.java

                    Fichiers nécéssaires :    Serveur.class
                                                          Automate_std_skel.class
                                                          Automate.class
                                                          Automate_std.class
                                                          Capteur.class
                                                          Capteur_std.class

                    Exécution
                        java Serveur &
 

Sources

 RMI

                    Interface

                            Capteur
                            Automate
 

                    Implementation

                            Capteur_std
                            Automate_std
                            Client
                            Serveur

 RMI Simulé

                    Interface

                            Capteur
                            Automate
 

                    Implementation

                            Capteur_std
                            Automate_std
                            Client
                            Serveur
                            Automate_std_stub
                            Automate_std_skel

 

Retour au debut de la page
Télécharger les sources aux format zip
Retour au menu principal