Salta ai contenuti
Novità 1.0 Immagine Docker gratuita + 7 Package di Settore (.eap) inclusi. Guida Deploy su Render.com → ⚡ Prova la Demo Live ☕ Offrici un caffè

Schema-as-Code (SaC) & CI/CD Pipeline

L’Enterprise Architecture moderna adotta i principi del DevOps e dell’Infrastructure-as-Code: Schema-as-Code (SaC) è la specifica di EasyEA che consente di trattare i modelli architetturali come codice sorgente versionabile, revisionabile tramite Pull Request e convalidabile automaticamente in pipeline CI/CD.


1. Struttura del Formato Schema-as-Code (SaC)

Ogni diagramma può essere esportato e re-importato in un file dichiarativo strutturato in formato JSON o YAML:

{
"schema_version": "1.0",
"metadata": {
"name": "E-Commerce Core Checkout Flow",
"description": "Architettura logica del carrello e pagamento con gateway esterno",
"layer": "Application",
"version": "2.4.0",
"status": "Approved"
},
"elements": [
{
"id": "elem-checkout-service",
"type": "ApplicationService",
"name": "Checkout Orchestrator Service",
"layer": "Application",
"properties": {
"technical_fitness": 4,
"business_fit": 5,
"tco_annual": 45000,
"sla": "99.95%"
},
"visual": {
"x": 280,
"y": 140,
"width": 160,
"height": 70,
"fill_color": "#dbeafe"
}
},
{
"id": "elem-payment-gateway",
"type": "ApplicationComponent",
"name": "Stripe Payment Gateway",
"layer": "Application",
"properties": {
"hosting": "SaaS",
"criticality": "Mission Critical"
},
"visual": {
"x": 540,
"y": 140,
"width": 160,
"height": 70,
"fill_color": "#ede9fe"
}
}
],
"relationships": [
{
"id": "rel-checkout-to-payment",
"type": "Serving",
"source_id": "elem-payment-gateway",
"target_id": "elem-checkout-service",
"properties": {
"protocol": "HTTPS/REST",
"circuit_breaker": true
}
}
]
}

2. Automazione CI/CD con GitHub Actions & GitLab CI

Memorizzando i file .sac.json nei repository Git aziendali, ogni modifica architetturale può essere validata automaticamente prima di essere unita al ramo principale:

.github/workflows/validate-architecture.yml
name: Validate Architecture Schemas (SaC)
on:
pull_request:
paths:
- 'architecture/**/*.sac.json'
jobs:
validate-schema:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate ArchiMate Metamodel Rules
run: |
curl -X POST https://easyea.azienda.lan/api/v1/schemas/validate-sac \
-H "Authorization: Bearer ${{ secrets.EASYEA_API_KEY }}" \
-F "file=@architecture/checkout-flow.sac.json"
  • Verifica del Metamodello: Assicura che le relazioni tra componenti rispettino lo standard ArchiMate 3.x.
  • Audit Attributi Obbligatori: Verifica che ogni componente includa il TCO, il proprietario applicativo e la criticità.
  • Diff Automatico nei Commenti PR: EasyEA può generare un commento automatico nella Pull Request con il riepilogo visivo delle entità create o rimosse.

3. Script jArchi per Esportazione/Importazione SaC

EasyEA fornisce due script jArchi pronti all’uso per i modellatori desktop:

  • EasyEA_ExportToSaC.ajs: Seleziona qualsiasi vista aperta in Archi Tool e genera istantaneamente il file .sac.json pronto per essere committato su Git.
  • EasyEA_ImportFromSaC.ajs: Legge un file SaC locale o da URL e ricostruisce fedelmente la vista grafica in Archi con elementi, posizioni e connettori.