# Termes et conventions communs utilisés

L’équipe de l’Architecture de RĂ©fĂ©rence a utilisĂ© des termes et conventions communs tout au long de la conception et la documentation du modĂšle d’Architecture de RĂ©fĂ©rence Mojaloop 2.0.

Veuillez utiliser cette liste pour vous familiariser avec des termes qui pourraient vous sembler inconnus ou oubliĂ©s. La liste contient Ă©galement des rĂ©fĂ©rences Ă  des articles et documents tiers disponibles dans la section “Pour aller plus loin” de ce document.

Convention/Terme Description
Acteurs Participant humain ou systĂšme externe Ă  un Cas d’Utilisation. Tous les Cas d’Utilisation sont initiĂ©s par des Acteurs.
BC Bounded Context : Un Contexte BornĂ© est un composant du Design-Driven Development et contient gĂ©nĂ©ralement un ou plusieurs sous-domaines. Les Contextes BornĂ©s sont des entitĂ©s de l’Espace Solution (Solution Space), et contiennent une solution unique applicable Ă  un ou plusieurs sous-domaines.

(Pour plus d’informations, voir : Vue d’ensemble de l’Architecture inspirĂ©e du DDD dans l’aperçu de l’Espace Solution, ou notre section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence)
UC Cas d’Utilisation: Liste d’actions ou d’étapes dĂ©crivant les interactions entre un Acteur (humain ou systĂšme externe) et un systĂšme pour atteindre un objectif particulier. Un exemple dans Mojaloop serait : “Effectuer un transfert avec confirmation du bĂ©nĂ©ficiaire”.

(Pour plus d’informations, voir l’article WikipĂ©dia “Use Case” citĂ© dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
Sync Communications synchrones, unidirectionnelles ou bidirectionnelles, faisant partie du processus initial. ReprĂ©sentĂ©es par une ligne pleine dans les schĂ©mas UC. UtilisĂ©es gĂ©nĂ©ralement pour les Messages devant impĂ©rativement figurer dans le workflow d’un UC pour assurer son exĂ©cution correcte. Exemple : une messagerie synchrone du BC Transferts vers le BC Gestion du Cycle de Vie des Participants pour obtenir des donnĂ©es Participant non prĂ©sentes en cache lors d’une demande de transfert.
Async Communications asynchrones, unidirectionnelles ou bidirectionnelles, ne faisant pas partie du processus initial. SignalĂ©es par une ligne pointillĂ©e dans les schĂ©mas UC. UtilisĂ©es principalement pour les ÉvĂ©nements qui signalent qu’une action a eu lieu : c’est immuable et ne changera pas, comme les rapports de rappel (callback).
POST UtilisĂ© pour crĂ©er de nouvelles ressources. Plus prĂ©cisĂ©ment, pour crĂ©er des ressources subordonnĂ©es Ă  une autre (ex. ressource “parent”). En d'autres termes (IOW), lors de la crĂ©ation d'une nouvelle ressource, on fait un POST sur le parent, le service l’associe au parent, lui attribue un identifiant (URI de la nouvelle ressource), etc. En cas de succĂšs, le systĂšme renvoie un en-tĂȘte Location avec le lien de la ressource créée (HTTP 201).

(Pour plus d’informations, voir la rĂ©fĂ©rence “Restful API Tutor” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
GET UtilisĂ© pour lire (ou rĂ©cupĂ©rer) la reprĂ©sentation d’une ressource. En cas de succĂšs “normal”, GET retourne une reprĂ©sentation XML ou JSON et le code de rĂ©ponse HTTP 200 (OK). En cas d’erreur, renvoie gĂ©nĂ©ralement un 404 (NOT FOUND) ou un 400 (BAD REQUEST).

(Pour plus d’informations, voir la rĂ©fĂ©rence “Restful API Tutor” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
PUT UtilisĂ© pour mettre Ă  jour une ressource connue, en effectuant un PUT sur l'URI d'une ressource connue avec le corps de requĂȘte contenant la reprĂ©sentation nouvellement mise Ă  jour de la ressource d'origine. Dans certains cas, PUT peut Ă©galement servir Ă  crĂ©er de nouvelles ressources, mais en raison de la complexitĂ©, ce n'est pas recommandĂ© (il faut utiliser POST Ă  la place).

(Pour plus d’informations, voir la rĂ©fĂ©rence “Restful API Tutor” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
200 (OK) Code HTTP indiquant “SuccĂšs”. La requĂȘte a abouti. L’information retournĂ©e avec le code de statut dĂ©pend gĂ©nĂ©ralement de la mĂ©thode employĂ©e dans la requĂȘte : pour POST, la rĂ©ponse dĂ©crit le rĂ©sultat ; pour GET, la ressource demandĂ©e ; pour PUT, une rĂ©ponse similaire Ă  POST.

(Pour plus d’informations, voir la rĂ©fĂ©rence “Restful API Tutor” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
201 (Created) Code HTTP indiquant “CrĂ©Ă©â€ ou “traitĂ©e”. La ressource demandĂ©e a Ă©tĂ© créée, consultable via l’URI renvoyĂ©e dans la rĂ©ponse. Si la ressource ne peut ĂȘtre créée immĂ©diatement, le serveur retourne un 202 (Accepted).

(Pour plus d’informations, voir la rĂ©fĂ©rence “Restful API Tutor” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
202 (Accepted) Code HTTP indiquant que la requĂȘte a Ă©tĂ© acceptĂ©e pour traitement, mais n’est pas terminĂ©e. Elle peut ou non ĂȘtre traitĂ©e selon l’état du systĂšme. L’opĂ©ration Ă©tant asynchrone, il n’y a pas non plus de mĂ©canisme pour renvoyer le code de statut quelle que soit l’issue de l’opĂ©ration. La rĂ©ponse 202 est dĂ©libĂ©rĂ©ment non-engageante pour permettre Ă  une requĂȘte d’ĂȘtre traitĂ©e sans exiger que l’agent reste connectĂ© jusqu’à ce qu’elle le soit. La rĂ©ponse doit donner un Ă©tat du systĂšme, Ă©ventuellement un lien vers une plateforme de suivi ou une estimation du moment d’exĂ©cution.

(Pour plus d’informations, voir la rĂ©fĂ©rence “Restful API Tutor” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
OHS Open Host Service : Documentation des mĂ©thodes Ă  utiliser pour intĂ©grer des systĂšmes aval Ă  une plateforme amont existante sans nĂ©cessiter de modifications. Apporte gĂ©nĂ©ralement le support de multiples types de clients, sans se focaliser sur aucun : c’est au systĂšme aval de comprendre la documentation publiĂ©e par l’amont. OHS et PL sont couramment associĂ©s par les plateformes amont.

Actuellement utilisĂ© dans les entitĂ©s suivantes : API externe FSPIOP, API externe ISO, Notifications & Alertes BC, API externe PISP ML, API externe PISP ISO, Scheduling BC, Transfers & Transactions BC, Quoting BC, Accounts & Balances BC, Settlements BC, Gestion du Cycle de Vie du Participant, Account Lookup & Discovery BC.

(Pour plus d’informations, voir la rĂ©fĂ©rence “Strategic Domain-Driven Design” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document)
PL Published Language : Proche parent de l’Open Host Service et souvent utilisĂ© conjointement. PL utilise un langage documentĂ©, par exemple XML, pour les opĂ©rations d’entrĂ©e/sortie de base pour lesquelles il est utilisĂ©. Aucun environnement ou bibliothĂšque spĂ©cifique n’est requis, tant que le langage publiĂ© est respectĂ©. Le Published Language n’est pas exclusif aux web services : on peut par exemple dĂ©poser un fichier dans un dossier, dĂ©clenchant ainsi une opĂ©ration qui le stocke Ă  un emplacement spĂ©cifiĂ© par l'application.

Actuellement utilisĂ© dans les entitĂ©s suivantes : API externe FSPIOP ; API externe ISO.

(Pour plus d’informations, voir la rĂ©fĂ©rence “Strategic Domain-Driven Design” dans la section Pour aller plus loin : Articles et Documents de RĂ©fĂ©rence de ce document))