ADR-001 — GRegistry ca sursă unică de adevăr (RSI), microserviciu API-first
- Status: Acceptat
- Data: 2026-07-07
- Componentă: Arhitectură globală GRegistry
- Decidenți: Arhitect platformă GStack, teamlead
Context
Section titled “Context”Platforma GStack cuprinde zeci de sisteme informaționale — blocuri CORE (GPass, GSign, GPay, GConnect), sisteme aplicative (Cancelarie, Interdicții, GDocs), servicii PaaS (GLog, GStorage, GNotify) și infrastructură (GSSO, GMonitor, GVault). Astăzi informația despre „ce sisteme există, cine le deține, în ce stare sunt, ce medii au și ce dependențe” este împrăștiată în tabele Excel, wiki-uri și minte-umană. Consumatorii platformei — GPortal (portalul public), GLog, GStorage, GMonitor — au nevoie de un catalog unic, autoritar și interogabil.
Decizie
Section titled “Decizie”GRegistry este Registrul Sistemelor Informaționale (RSI) — sursa unică de adevăr
pentru catalogul de sisteme al platformei GStack. Entitatea centrală InformationSystem
(cu code ca cheie stabilă de join pentru consumatori) este înregistrarea pe care o
citesc toate celelalte sisteme.
Se implementează ca microserviciu JHipster API-first:
applicationType microservice,packageName md.gov.gregistry,serverPort 8085;- fără client integrat (
clientFramework no) — API-ul este produsul principal (vezi ADR-007 pentru UI); - PostgreSQL, MapStruct DTO, strat de servicii, Liquibase, ehcache;
- toate entitățile expuse prin DTO — entitățile nu ies niciodată din stratul de servicii.
Alternative considerate
Section titled “Alternative considerate”- Un modul în interiorul GPortal. Respins: ar cupla catalogul de sursă de adevăr de un singur consumator; celelalte sisteme (GLog, GMonitor) ar depinde de GPortal.
- Fișier de configurare versionat (YAML în Git) citit de fiecare sistem. Respins: nu suportă flux de aprobare, audit, interogare filtrată sau stare live a mediilor.
- Registru comercial CMDB (ServiceNow etc.). Respins: cost, suveranitate a datelor, supra-dimensionat pentru catalogul GStack, greu de expus ca API guvernamental standard.
Consecințe
Section titled “Consecințe”Pozitive
- Un singur loc autoritar; consumatorii citesc după
codestabil. - Model curat de layering JHipster; regenerabil din JDL.
- API-first ⇒ integrare uniformă (GovStack API standard, vezi ADR-006).
Negative / riscuri
- GRegistry devine dependență critică de platformă ⇒ necesită SLA și disponibilitate ridicată (catalog citit de mulți).
- Fără client integrat ⇒ efort separat de frontend (acceptat, ADR-007).
Legături
Section titled “Legături”- Model:
../../GRegistry.jdl - Design:
../platform_design.md §1–§2 - Domeniu:
../rsi_domain.md