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

Revenir à l'Introduction

Revenir au diagramme Unit Definition

5. Business Transactions (BT), les "Transactions Métier"

Les parties précédentes donnaient une approche en lien avec l'architecture. Elles donnent les moyens de déterminer la population, l'architecture logicielle et l'architecture des données. Cette partie offre un point de vue plus en lien avec le Métier.

Cette partie présente les transactions qui ont un sens au niveau de la BlockChain. En considérant que la partie technique de la transaction est valide, une transaction peut porter des données dans la BlockChain qui peuvent être utilisées dans des cas non monétaires, donc le jeu de transactions doit être cohérent.

5.1. Modélisation

Chaque transaction possède une origine et une destination. Chaque transaction porte plus ou moins de données.

Figure 5-1 - BT - Transaction Simple

Dans la transaction représentée, Alice envoie à Bob des unités de l'Asset Aj avec un complément de données dk en utilisant la transaction ti.

Figure 5-2 - BT - Transaction MultiSignée

Dans le cas d'une transaction depuis une adresse MultiSignée, l'origine de la transaction peut être indiquée explicitement. Dans la figure qui précède, Alice et Bob envoient à Carol, 10 unités de A5 et 6 unités de A12 en utilisant la transaction tz.

L'identification des transactions prend son importance quand un sens tient dans une succession de transactions, le flux de transactions peut être ainsi identifié. On n'écrit plus tz, mais t1, t2, t3, ...

5.2. Le diagramme BT pour le use case Bibliothèque

La use case Bibliothèque présente un grand nombre de transactions possibles.

Figure 5-3 - BT - Bibliothèque - Inscription

Les Lecteurs utilisent un portail Web pour accéder au système d'information. Ainsi, quand un nouveau Lecteur souhaite s'enregistrer, il peut utiliser le portail Web. Dans la figure qui précède, la flèche est en pointillés pour indiquer qu'il ne s'agit pas d'une transaction de la BlockChain mais d'une action extérieure. La modélisation de telles transactions peut être utile pour décrire complètement le use case et rappeler l'importance du portail Web.

Figure 5-4 - BT - Bibliothèque - Distribution

La Bibliothèque Centrale (CL) crée des Assets et les unités d'Asset. Quand, dans la vraie vie, un livre est envoyé dans une Bibliothèque (L), la Bibliothèque Central (CL) doit envoyer l'unité d'Asset à la Bibliothèque (L).

Figure 5-5 - BT - Bibliothèque - Centralisation

Les livres peuvent être rendus dans n'importe quelle Bibliothèque. Ainsi une Bibliothèque peut stocker, à un moment donné, plusieurs copies d'un même livre. Les livres doivent donc être envoyés à la Bibliothèque Centrale.

La réservation d'un livre particulier peut aussi être la raison d'un tel envoi, par exemple si un livre n'est disponible qu'en un seul exemplaire. Si quelqu'un souhaite le lire, alors le livre doit être transférer d'une Bibliothèque à une autre en passant par la Bibliothèque Centrale.

Books can be returned in any library. Then a library can stored many copies of the same book. The books have to be sent to the Central Library.

Quoiqu'il en soit, la BlockChain indique où est situé le livre disponible.

La transaction précédente est similaire à la centralisation, sauf que, dans ce cas-ci, le livre est envoyé de la Bibliothèque (L) à la Bibliothèque Centrale (CL).

Figure 5-6 - BT - Bibliothèque - Emprunt

Un Lecteur (R) peut emprunter un livre. Le livre est alors pris de la Bibliothèque (Bibliothèque Centrale CL ou une autre Bibliothèque L) et envoyé au Lecteur. La transaction peut porter des informations comme la date de fin de l'emprunt.

Figure 5-7 - BT - Bibliothèque - Retour

Le cycle simple d'un emprunt de livre prend fin avec le retour du livre. Un Lecteur retourne un livre, l'unité (représentant le livre) est renvoyée à la Bibliothèque où le livre est rendu.

A ce niveau-ci de la description, le système est un livre de compte qui permet de savoir, à tout moment, où un livre est situé.

Figure 5-8 - BT - Bibliothèque - Réservation

La figure qui précède est séquentielle, les transactions sont numérotées de façon à indiquer l'ordre qui doit être suivi.

La Réservation d'un livre permet à un Lecteur de demander un livre particulier dans une Bibliothèque particulière. Il faut garder en mémoire que le Lecteur ne peut utiliser que le Portail Web et seule la Bibliothèque Central (CL) peut créer des Assets et des unités d'Asset.

Le Lecteur (R) effectue sa demande de réservation en utilisant le Portail Web. Une unité de l'Asset Réservation (K) est envoyée de la Bibliothèque Centrale (CL) jusqu'à la Bibliothèque (L) destination demandée par le Lecteur. La transaction porte les informations à propos de la Réservation (référence de livre, bibliothèque de destination, ...).

A présent, le système sait que le livre est attendu dans une Bibliothèque en particulier. Soit "Le livre est déjà dans la Bibliothèque" et il n'y a rien à faire. Soit "Le livre est disponible dans une autre Bibliothèque" alors les batches doivent gérer l'envoi la centralisation du livre vers la Bibliothèque Centrale puis la distribution vers la Bibliothèque destination.

Quand le livre est disponible dans la Bibliothèque destination, cette Bibliothèque (L) envoie l'unité de Réservation (K) au Lecteur (R) pour lui notifier que le livre l'attend à la Bibliothèque. A la fin, lorsque le Lecteur (R) vient pour emprunter le livre, l'unité de Réservation (K) est renvoyée à la Bibliothèque Centrale (CL).

Il faut noter que la première étape de la Réservation est fait via le Portail Web. Il y a donc une partie métier à implémenter dans le Portail Web. Dans cette partie, une règle peut spécifier le nombre de Réservation qu'un même Lecteur peut faire au même moment. Mais, cette règle n'apparaît pas dans la modélisation BlockChain.

Figure 5-9 - BT - Bibliothèque - Retard

La dernière partie du cas est la gestion des Retards dans le retour des livres. Les transactions sont créées par les batches qui utilisent l'adresse de la Bibliothèque Centrale (CL) sur la base des informations de réservation. Quand un livre est réservé, la date de fin est spécifiée, le système peut aisément la retrouver et donc retrouver les livres empruntés pour lesquels la date est dépassée.

Dans ce cas, une unité de Retard (D) est envoyée au Lecteur (R) depuis la Bibliothèque Centrale (CL) avec une référence sur le livre qui est en retard.

Quand le Lecteur (R) ramène le livre, il envoie à la Bibliothèque (CL/L) l'unité du Livre (B) et l'unité de Retard (R).

5.3. Le diagramme BT pour le use case BT

Le Forum est un cas beaucoup plus simple limité à deux possibilités : création d'un nouveau sujet et envoi d'un commentaire sur un sujet existant.

Figure 5-10 - BT - Forum - Nouveau Sujet

La création d'un nouveau sujet est définie par la création d'un nouvel Asset. Cela peut être fait par le Créateur du Forum (FC) ou un Editeur (E). Quand un un nouveau sujet est ouvert, la personne qui publie crée un nouvel Asset (Sni) et envoie une unité de l'Asset sur le Mur de Publication. La transaction porte le contenu de la publication qui peut être lu par toute personne ayant la possibilité de se connecter à la BlockChain.

Figure 5-11 - BT - Forum - Commentaire

Le Créateur d'un Asset est le propriétaire de cet Asset. Il est donc le seul à pouvoir créer de nouvelles unités de cet Asset.

Dans le cas du Forum, l'intérêt est de suivre lesSujets et les Commentaires sur les Sujets. C'est pour cette raison qu'un même Asset est utilisé pour le Sujet et les Commentaires sur le Sujet. Pour commenter une publication, les personnes ont besoin de demander une unité de l'Asset au Créateur de la publication.

Une Personne (P) qui souhaite commenter crée une transaction ne contenant que des données. Ces données indiquent quel est le Sujet qui sera commenté ainsi que la transaction précise qui sera commentée. La transaction est envoyée à l'adresse du Créateur du Sujet (FC/E).

Si le Créateur du Sujet décide d'autoriser le commentaire, il envoie à (P) une unité de l'Asset référencée dans la demande de commentaire.

A la fin, (P) peut envoyer son commentaire sur le Mur de Publication en utilisant l'unité d'Asset, en référençant la transaction à commenter et en donnant son commentaire.

Aller à la Conclusion

results matching ""

    No results matching ""