La licence utilisée pour tous les articles MoBlo est CC BY-NC-ND 4.0

Revenir à l'Introduction

Revenir au diagramme Population Map

3. Global Architecture (GA), "l'Architecture Globale"

Lorsque les différents acteurs sont définis, il est nécessaire de définir l'Architecture Globale. Cette architecture permet de définir comment chaque "application" interagit avec la BlockChain. Cela permet, ainsi, de présenter, de façon explicite, les services externes à mettre en place.

3.1. Eléments d'architecture

Trouvez ci-dessous les éléments qui permettent de définir l'architecture globale. :

Elément de diagramme Description
BlockChain : Représentation de la BlockChain qui regroupe l'ensemble des noeuds d'une même BlockChain.
Service Externe : Représentation d'un service externe qui a besoin d'accéder aux informations contenues dans le BlockChain.
Application : Application utilisée par un utilisateur de la BlockChain.
Lien : Lien entre le noeud(wallet) et l'utilisateur.

3.2. Le diagramme GA pour le use case Bibliothèque

Dans le cas de la Bibliothèque, chaque Bibliothèque a un intérêt à être directement connectée à la BlockChain.

Les Lecteurs n'ont, par contre, aucune raison de devoir installer ou configurer quoique ce soit sur leur système. Il est donc nécessaire de mettre en place un portail qui leur permet d'accéder au service. Une autre raison de mettre en place le portail est le manque d'intérêt pour les Lecteurs de posséder toutes les données de la BlockChain.

Note : la mise en place d'un wallet "léger", c'est-à-dire ne possédant que les transactions propres au wallet, peut être présenté comme un service externe. Toutes les BlockChain ne le proposent pas.

Les Autres présentés dans le diagramme Population Map n'ont pas le droit de se connecter à la BlockChain, le portail mis en place doit donc posséder un accès limité.

En plus des acteurs présentés dans le diagramme PM, la mise en place de batches-scripts peut être nécessaire (pour créer et envoyer des notifications de retard par mail aux Lecteurs par exemple ou pour gérer les listes de livres devant être envoyés d'une Bibliothèque à l'autre).

Figure 3-1 – GA - Bibliothèque

La figure présente les 3 noeuds ayant des droits d'action sur la BlockChain. La Bibliothèque Centrale (CL) et les Bibliothèques secondaires (L) sont directement connectées à la BlockChain. Les Lecteurs utilisent un portail pour communiquer avec la BlockChain. Les Batches utilisent l'adresse de la Bibliothèque Centrale pour accéder à la BlockChain.

3.3. Diagramme GA pour le use case Forum

Le but du Forum est de se séparer de tout outil web habituel (gardons en tête que la BlockChain reste synchronisée par le réseau). Mis à part l'envoi et la réception de transactions, il n'y a aucun cas particulier à identifier. Le Forum possède un mur de publication qui a pour finalité de rester ouvert à la lecture à tous.

Figure 3-2 - GA - Forum

3.4. Cas particuliers : Batches & SmartContract

Un Batch est considéré comme un service extérieur. Il est positionné à l'extérieur de la BlockChain et il utilise l'adresse présente sur un wallet de la BlockChain. Le wallet appartient à un acteur de la BlockChain qui peut être clairement identifié, même dans le cas d'une adresse multisignée.

Figure 3-3 - GA - Batch

Un SmartContract est un "script" positionné au milieu de la BlockChain. Publier un SmartContract dans la BlockChain renvoie l'adresse du SmartContract dans la BlockChain. Un SmartContract peut donc être représenté comme une simple adresse avec un libellé pour indiquer qu'il s'agit d'un SmartContract.

Figure 3-4 - GA - SmartContract

Note : le diagramme GA a pour finalité de donner une représentation de l'architecture. Le contenu, au sens algorithmique, du Batch ou du SmartContract n'a pas à être défini par ce diagramme.

3.4. Cas particulier : Multi-Signature

Dans le cas particulier des adresses multisignées, le diagramme GA permet de définir ou redéfinir explicitement les clés publiques concernées.

Figure 3-5 - GA - MultiSig

La figure illustre qu'Alice utilise une de ces adresses pour signer les transactions d'une adresse multisignée (M1) et son autre adresse pour signer les transactions effectuées avec l'autre adresse multisignée (M2).

Les libellés, ajoutés au niveau des adresses mutlisignées, permettent de les distinguer ultérieurement.

3.6. Cas Particulier : Les Canaux (Channels)

Plusieurs BlockChains définissent des Canaux comme des parties fermées d'une BlockChain. On peut donner des droits particuliers à un Canal et donner d'autres droits à un autre. Jamais un Canal n'est inclus dans un autre Canal. Dans le diagramme GA, cela peut être représenté comme différentes BlockChain, chaque BlockChain avec ses propres droits.

Aller au diagramme de Unit Definition

results matching ""

    No results matching ""