Sari la conținut

Caiet de Sarcini — <Nume Building Block> (PaaS / GovStack BB)

Acest conținut nu este încă disponibil în limba selectată.

Template tender-grade pentru Building Block-uri PaaS (componente de infrastructură reutilizabile: audit, notificări, semnătură, storage etc.), nu pentru aplicații de business. Spre deosebire de template.md (business-only), aici produsul ESTE tehnic, deci secțiunile tehnice se scriu, nu doar se moștenesc — dar tot ce e transversal-standard (NFR, securitate de bază, deployment, observabilitate) se referențiază din anexa tehnică comună (skill parti-comune) și Standardul API (skill standard-api), parametrizând doar specificul BB-ului.

Document destinat licitației: trebuie să fie complet, neambiguu, cu criterii de acceptanță testabile, livrabile, mentenanță/SLA și trasabilitate. Limba: română; identificatori tehnici în engleză.

CâmpValoare
DocumentCaiet de Sarcini (PaaS Building Block)
Building Block (cod GovStack: <…>)
Versiune0.1 (draft)
AutorEsempla Systems
Data
StatusDraft / În review / Aprobat
Anexă tehnică moștenităAnexa Tehnică Comună Esempla/GovStack v1.0
Standard APIskill standard-api
Catalog cerințe universaleskill cerinte-universale (CU-*)

Ce este BB-ul, ce capabilitate oferă ecosistemului, cui se adresează (sisteme consumatoare).

Obiective măsurabile (ex. „1 BB pentru N sisteme”, latență ingest p95, conformitate logging).

Posesor / Deținător / Administrator tehnic / Operatori platformă / Sisteme consumatoare / Auditori.

  • Starea curentă (ce există azi, limitări) și de ce un BB unic.
  • Relația cu sistemele guvernamentale existente (ce înlocuiește / extinde / cu ce e compatibil).
  • Cadru legal aplicabil (ex. HG-uri, GDPR/cadru RM), dacă există.
  • În scope (capabilități, moduri de livrare).
  • În afara scope (explicit, ca să nu existe ambiguitate de licitație).
Actor / SistemTip (uman/sistem)Rol față de BBMod de acces
……producător/consumator/administrator/auditorREST/AMQP/SDK/UI

Pentru BB-uri, „actorii” sunt în mare parte alte sisteme și operatori de platformă.

Ciclul de viață al datului prelucrat de BB, end-to-end. Diagramă + narativ. (ex. pentru audit: ingest → validare → calcul integritate → persistare → forward → retenție → purge; plus calea de citire/consum.)

6. Cazuri de utilizare & cerințe funcționale

Section titled “6. Cazuri de utilizare & cerințe funcționale”

Pentru fiecare capabilitate, un UC cu: actor, precondiții, pași, rezultat, reguli.

IDUCActorPrecondițiiPașiRezultatReguli
UC-01……………RB-01
Grupează pe capabilități (ingest, citire/căutare/export, integritate/verificare, administrare,
forward/integrare, retenție).

Inima unui BB. Pentru un BB de logging/audit: câmpuri universale + payload abstract.

7.1 Câmpuri universale (comune oricărei înregistrări)

Section titled “7.1 Câmpuri universale (comune oricărei înregistrări)”
CâmpTipOblig.Descriere
event_timestamptimestamptzdacând s-a produs (la sursă)
received_attimestamptzdacând a fost recepționat (server)
tenant_idstringdace sistem/organizație (din claim)
principal / idnpstringda/cond.cine (identificator user / IDNP)
user_detailsstringnuafișaj actor
ip_addressstringnude unde
object_type / action_typestringdace (tip obiect / acțiune)
object_affectedstringnuobiectul vizat
correlation_idstringnucorelare trace
severity / categoryenumnuclasificare

7.2 Payload abstract (specific aplicației consumatoare)

Section titled “7.2 Payload abstract (specific aplicației consumatoare)”

details (JSONB) — structură liberă per aplicație: eveniment, componentă, acțiune, detalii. Schema e validată minimal (câmpuri universale obligatorii), payload-ul rămâne extensibil.

object_type / action_type / strategii de forward / politici de retenție (entități de configurare).

Descrierea modulelor interne (ingest core, motor integritate, motor retenție, guard multi-tenant, search, forward sinks, SDK-uri, administrare). Diagramă C4 Container recomandată.

Cum consumă și cum se rulează BB-ul. Aliniat la pattern-ul tri-modal (ADR-0010). | Mod | Pentru cine | Transport | Trade-off | |-----|-------------|-----------|-----------| | REST | sincron, low-volume | HTTPS api/v{N} | latență directă, simplu | | AMQP / event consumer | high-volume, async | RabbitMQ / Kafka | non-blocking | | SDK embedded | buffer local + retry | NuGet/.NET, Nexus/Java | round-trip redus | | Sidecar / serviciu central | per-proiect vs. central | Docker / K8s | izolare vs. partajare |

  • Pachete & distribuție (coordonate Nexus/NuGet, imagine Docker, Helm chart, OpenAPI/AsyncAPI).
  • Documentație de integrare „descarcă & integrează fără să cunoști procesele”.

10. Cerințe tehnice (parametrizate; bază moștenită din anexa comună)

Section titled “10. Cerințe tehnice (parametrizate; bază moștenită din anexa comună)”

Pentru fiecare: valoarea specifică BB-ului + referința CU-* moștenită.

  • 10.1 Arhitectură (stack, persistență per-serviciu, mesagerie)
  • 10.2 Interfață / Admin (headless v1? portal? — vezi §9)
  • 10.3 Performanță & SLO (p95 ingest, throughput; CU-PERF-001)
  • 10.4 Securitate (auth: token / SSO Keycloak / cert-mTLS; CU-SEC-*, CU-AUTH-*)
  • 10.5 Kubernetes (CU-K8S-*)
  • 10.6 Disponibilitate (CU-AVAIL-001)
  • 10.7 Observabilitate (CU-OBS-*)
  • 10.8 Fiabilitate (retry, DLQ, outbox; CU-MSG-001)
  • 10.9 Automatizare (CI/CD; CU-DEPLOY-*)
  • 10.10 Reutilizare (SDK, multi-tenant; CU-API-*)
  • 10.11 Testare (CU-* + biblioteca TC-COM-*)
  • 10.12 Medii (dev/staging/prod)
  • 10.13 Drepturi de proprietate (licență open-source; ex. Apache 2.0)
  • 10.14 Documentare (ADR, runbook, threat model, ghid integrare)

Specificul de securitate al BB-ului peste baza comună: model de integritate (ex. hash chain tamper-evident), retenție legală, izolare multi-tenant, date personale (CU-PD-*).

12. Conformitate cu Standardul API GovStack

Section titled “12. Conformitate cu Standardul API GovStack”

api/v{N} + zone (public/citizen/staff/admin/app) + endpoint-uri operaționale (/health/live, /health/ready, /metrics, /info, /api/v1/openapi.json) + erori RFC 7807. Checklist: skill standard-api. (CU-API-003..006.)

  • Metodologie & plan (faze, durate, dependențe).
  • Livrabile per fază.
  • Structura echipei de implementare.
  • Servicii de întreținere & asistență tehnică (niveluri, timpi de răspuns).
  • Procedura de gestionare a modificărilor.
  • Cerințe la încheierea contractului (transfer cunoaștere, cod, date).

Testabile, Given/When/Then, per UC/capabilitate, + conformance suite (contract REST/AMQP).

RefCriteriu de acceptanță
UC-01Given … When … Then …

16. Tabel de conformitate cu cerințele universale (CU-*)

Section titled “16. Tabel de conformitate cu cerințele universale (CU-*)”
Domeniu (CU)StareParametri / Abateri / Justificare
SEC securitateAplicabil…
AUTH autentificareParametrizattoken / Keycloak / cert-mTLS
RBAC roluriParametrizatscope-uri/roluri BB
AUDITSpecialBB-ul este sistemul de audit / sau Aplicabil
OBS observabilitateAplicabil…
CACHEAplicabil/N/A…
SEARCHParametrizat/N/A…
DOCSAplicabil/N/A…
INTEROP/API/MSGParametrizatbuilding blocks & contracte
DATA persistențăAplicabil…
PD date personaleParametrizatcategorii de date
I18N/A11YParametrizat/N/A(headless? doar admin?)
PERF/AVAILParametrizatp95: …; disponibilitate: …
DEPLOY/K8SAplicabil…
Cerință / UCCU-* / ADRCriteriu de acceptanțăCaz de test
UC-01CU-… / ADR-…§15TC-…
  • Ecosistem digital relevant (MPass, MConnect, MLog, MCloud etc.).
  • Glosar (vault/2-structurat/data/glosar.md).
  • Exemple de payload (request/response, mesaj AMQP).
  • Referințe OpenAPI / AsyncAPI.
  • ADR-uri per modul (listă + link).