Skip to content

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

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.

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.
  1. 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.
  2. 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.
  3. Registru comercial CMDB (ServiceNow etc.). Respins: cost, suveranitate a datelor, supra-dimensionat pentru catalogul GStack, greu de expus ca API guvernamental standard.

Pozitive

  • Un singur loc autoritar; consumatorii citesc după code stabil.
  • 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).
  • Model: ../../GRegistry.jdl
  • Design: ../platform_design.md §1–§2
  • Domeniu: ../rsi_domain.md