WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en oeuvre d'un système distribué pour l'identification et le suivi du casier judiciaire

( Télécharger le fichier original )
par Juslin TSHIAMUA MUDIKOLELE
Université pédagogique nationale - Licence 2016
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

V.3. Configuration de la réplication

Dans la théorie, nous avons signifié l'importance de la réplication. De ce fait, nous allons ici configurer la réplication par la configuration d'un serveur de publication et d'un autre d'abonnement.

La base de données étant déjà mise en place, il est question de spécifier le type de réplication à configurer. Pour notre cas, nous avons choisi d'appliquer une réplication symétrique synchrone. Le choix est porté sur ce type de réplication vu l'importance du service qui doit être rendu en vue d'assumer le suivi du casier judiciaire en continu. Le fait est que les données pour chaque individu devront être mises à jour dans différents sites une fois celles-ci publiées.

V.3.1. Publication

Pour se faire, nous avons, parmi les quatre types de publication présents dans SQL Serveur 2008 R2, choisi le mode de publication de fusion pour lequel le serveur de publication et les Abonnés peuvent mettre à jour les données publiées de manière indépendante, une fois que les Abonnées ont reçu le cliché instantané initial des données à publier.

Figure 33: Assistant d'une nouvelle publication

Figure 34: Finalisation de la publication

V.3.2. Abonnement

Nous allons créer un nouvel abonnement après avoir créé une publication. Cet abonnement se fait en mode pull ; celui-ci permet aux esclaves d'être actifs en demandant chaque fois au maitre s'il y a des mises à jour disponibles. Ci-dessous, le choix de la publication à répliquer et le mode de réplication est en continu.

Nous voyons sur la figure suivante, un récapitulatif du processus de la création de notre abonnement.

Figure 35: Finalisation de l'abonnement

V.4. Extrait de code source

V.4.1. Interface Metier

packagemetier;

importgui.People;

importjava.util.List;

/**

*

* @author Jusciamua

*/

public interface AllActivities

{

public voidaddPeople(People pp);

public void identPeople();

public void compareGararits();

public List<People>listPeople();

public List<People>peopleMC(String mc);

public List<Adresses>listeProvince();

public List<Adresses>provVille(String mc);

public List<Adresses>listeVille();

public List<Adresses>villeRech(String mc);

public List<Adresses>listeCommune();

public List<Adresses>listeQuartier();

public List<Adresses>listeAvenue();

}

V.4.2. Class Activité Implémentant l'interface métier

packagemetier;

importgui.People;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.ArrayList;

importjava.util.List;

importjavax.swing.JOptionPane;

importstaticmetier.ConnexionServeur.cnx;

/**

*

* @author Jusciamua

*/

public class AllActivitiesImplimplementsAllActivities

{

@Override

public void addPeople(People pp) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public List<People>listPeople() {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public List<People>peopleMC(String mc) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public List<Adresses>listeProvince()

{

List<Adresses> province=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from province")) {

ResultSet res=ps.executeQuery();

while(res.next()){

Adressesprov=new Adresses();

prov.setProv(res.getString(2));

province.add(prov);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

return province;

}

@Override

public List<Adresses>villeRech(String mc)

{

List<Adresses>ville=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from ville where id_prov like ?"))

{

ps.setString(1, "%"+mc+"%");

ResultSet res=ps.executeQuery();

while(res.next())

{

Adressesvil=new Adresses();

vil.setVille(res.getString(2));

ville.add(vil);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

return ville;

}

@Override

public List<Adresses>listeCommune()

{

List<Adresses> commune=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from commune")) {

ResultSet res=ps.executeQuery();

while(res.next()){

Adresses com=new Adresses();

com.setComm(res.getString(2));

commune.add(com);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

return commune;

}

@Override

public List<Adresses>listeQuartier() {

List<Adresses> quartier=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from quartier"))

{

ResultSet res=ps.executeQuery();

while(res.next())

{

Adresses quart=new Adresses();

quart.setQuart(res.getString(2));

quartier.add(quart);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

return quartier;

}

@Override

public List<Adresses>provVille(String mc)

{

List<Adresses>ville=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from ville where id_prov like ?"))

{

ps.setString(1, "%"+mc+"%");

ResultSet res=ps.executeQuery();

while(res.next())

{

Adressesvil=new Adresses();

vil.setVille(res.getString(2));

ville.add(vil);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

returnville;

}

@Override

public List<Adresses>listeVille()

{

List<Adresses>ville=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from Ville")) {

ResultSet res=ps.executeQuery();

while(res.next()){

Adresses vil=new Adresses();

vil.setVille(res.getString(2));

ville.add(vil);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

returnville;

}

@Override

public List<Adresses>listeAvenue()

{

List<Adresses> avenue=new ArrayList<>(); //diamond inference

try

{

try (PreparedStatementps = cnx.prepareStatement("select * from avenue")) {

ResultSet res=ps.executeQuery();

while(res.next()){

Adressesav=new Adresses();

av.setAven(res.getString(2));

avenue.add(av);

}

ps.close();

}

}catch(SQLException e){JOptionPane.showMessageDialog(null, e.getMessage());}

return avenue;

}

@Override

public void identPeople() {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public void compareGararits() {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

}

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille