Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Log Management Module with the Blockchain Techn...

Log Management Module with the Blockchain Technology (Slides)

Avatar for Saifeddine Essid

Saifeddine Essid

June 23, 2019
Tweet

More Decks by Saifeddine Essid

Other Decks in Research

Transcript

  1. TABLE DES MATIÈRES CONTEXTE DU PROJET Présentation du contexte du

    projet 01 ARCHITECTURE GÉNÉRALE Architecture générale du projet 03 ÉTUDES COMPARATIVES Comparaison entre les bases de données et les réseaux Blockchain 02 RÉALISATION Réalisation du projet 04 2
  2. NOTRE MISSION • Sécuriser l’endroit de conservation des données et

    assurer leur traçabilité • Adopter la solution d’un réseau Blockchain BLOCKCHAIN 4
  3. ÉTUDES COMPARATIVES BASE DE DONNÉES BLOCKCHAIN Serveur centralisé Contrôle centralisé

    Informations récentes Stockage rapide Vulnérable au piratage Réseaux P2P Contrôle décentralisé Historique d’informations Stockage tardif Imperméable au piratage 5
  4. SOLUTIONS OPENCHAIN Un système distribué et open source pour l'émission

    et la gestion d'actifs numériques. MULTICHAIN Une plate-forme open-source, basée sur la blockchain de bitcoin, pour les transactions financières multi-actifs. BIGCHAINDB Adopte une base de données avec les caractéristiques d’une Blockchain comme l'immutabilité et le contrôle décentralisé. 6
  5. 8

  6. NIVEAUX DE MATURITÉ 0 1 2 3 NIVEAU 0 Différents

    end-points pour chaque service NIVEAU 1 Différents end-points pour chaque ressource NIVEAU 2 Variation des verbes HTTP pour le même end-point NIVEAU 3 Ajout des Hypermedia Controls 10 /nodes/{{public_ip}} /events/{{event_name}} /nodeService /eventService DELETE /nodes/{{node_id}} PUT /nodes/{{node_id}}
  7. DÉVELOPPEMENT PILOTÉ PAR LES TESTS 2 Vérifier que le test

    échoue 11 1 (Ré)écrire le test 3 Apporter un changement minimal 4 Vérifier que les tests passent 5 Remanier le code 5’ Mettre à jour les tests en échec 5’ Corriger les régressions Réalisation du contrat défini par le test Réalignement de la conception avec les besoins
  8. CLASSES DE TEST 12 HomeControllerTest.java ErrorControllerTest.java EventControllerTest.java NodeControllerTest.java StreamControllerTest.java EventControllerUnitTest.java

    NodeControllerUnitTest.java StreamControllerUnitTest.java EventServiceUnitTest.java NodeServiceUnitTest.java StreamServiceUnitTest.java UserServiceUnitTest.java EventRepositoryUnitTest.java NodeRepositoryUnitTest.java StreamRepositoryUnitTest.java UserRepositoryUnitTest.java ApplicationUnitTest.java
  9. API Doté d’une API de réflexion faisant un couplage très

    faible entre la partie backend et la partie frontend, afin d’assurer mieux la maintenabilité du projet. 15
  10. 97.5% COUVERTURE Une application avec 0 Bugs et 0 Code

    Smells avec une couverture de test qui arrive à 97,5%. 18