Modellazione del dominio in SAP CAP

Introduzione

Un modello di dominio in SAP CAP è un modello che descrive gli aspetti statici e relativi ai dati di un dominio problematico in termini di modelli di relazione tra entità. In questo articolo analizzeremo in dettaglio il Domain Modeling in SAP CAP.

Modellazione del dominio

In parole semplici, un CDS in SAP CAP produce un modello di dominio in modo tale da definire il problema aziendale in termini di chiavi, campi e annotazioni. Il codice per generare un modello di dominio è scritto in uno schema CDS (db/schema.cds). Questi modelli di dominio possono essere utilizzati nelle definizioni dei servizi, nei modelli di persistenza, nei database o persino riutilizzati all'interno di un altro modello di dominio.

Esempio di esempio:

Spazio dei nomi empInfo; utilizzando {Currency, managed} da '@sap/cds/common'; entità Dipendenti: gestito { ID chiave: intero; firstName: stringa localizzata (111); cognome: stringa localizzata (1111); dirigente: Associazione ai Dirigenti; data di adesione: Intero; stipendio: Decimale (9,2); valuta: valuta; }

 

In questo esempio abbiamo creato un file schema.cds in cui abbiamo creato un'entità Employees che include i dettagli di base di un Employee

A questo intero schema è stato assegnato uno spazio dei nomi, ad esempio empInfo

Questo schema utilizza un tipo di dati standard, ovvero Currency. L'utilizzo del tipo di dati standard in questo modo ci aiuta a portare tutti i valori predefiniti aiutano ad esso correlati.

Usiamo CDS per creare un modello. In quel CDS, usiamo

  1. Entità per rappresentare un insieme di oggetti unici, ad esempio:
    1. Informazioni di base sui dipendenti
    2. Informazioni sulla comunicazione dei dipendenti
    3. Informazioni sulla retribuzione dei dipendenti
  2. Associazioni per definire le relazioni
    1. Associazione del Gestore ad un'altra entità Gestore che avrà l'elenco di tutti i Gestori

Convenzione di denominazione e raccomandazioni

  1. Il nome dell'entità dovrebbe iniziare con una lettera maiuscola e dovrebbe essere leggibile e autoesplicativo, ad esempio Dipendenti
  2. Inizia gli elementi con una lettera minuscola, ad esempio firstName
  3. Si consiglia di utilizzare la forma plurale di entità, ad esempio Dipendenti
  4. Si consiglia di utilizzare la forma singolare dei tipi, ad esempio Valuta
  5. non ripetere i contesti, ad esempio Employees.name invece di Employees.EmployeeName
  6. preferire nomi di una sola parola, ad esempio stipendio invece di stipendioAmount
  7. utilizzare l'ID per le chiavi primarie tecniche, ad esempio ID per l'ID dipendente
  8. Puoi utilizzare lo spazio dei nomi per rendere uniche le tue entità. È come il concetto di client in SAP in cui puoi avere schemi duplicati (file cds) con uno spazio dei nomi univoco per differenziarli. Gli spazi dei nomi sono facoltativi, usa gli spazi dei nomi se i tuoi modelli potrebbero essere riutilizzati in altri progetti. Alla fine della giornata sono solo prefissi, che vengono applicati automaticamente a tutti i nomi rilevanti in un file. - Per esempio,

laptop dello spazio dei nomi; entità Dell {}

..… è equivalente a:

entità laptop.Dell {}

  1. È possibile utilizzare i contesti per le sezioni nidificate dello spazio dei nomi. - Per esempio,

laptop dello spazio dei nomi; entità Dell {}           //> laptop.Dellcontesto Apple { entità MacBookPro {}       //> laptop.Apple.MacBookPro     entità MacBookAir {} }

 

Entità

Le entità sono come tabelle con chiavi primarie. Possiamo eseguire operazioni CRUD usando queste Entità. Tienilo il più piatto possibile. Non oltre Normalizzalo. Non utilizzare tipi non riutilizzabili. Questa sezione è solo per la modellazione, devono essere aggiunte solo annotazioni relative ai singoli campi e nessun dettaglio tecnico (logico).

Tipi

I tipi sono come Dominio in SAP ABAP, utilizzato per definire gli elementi di dati tipizzati.

Aspetti tecnici

Gli aspetti sono le estensioni dei Modelli e sono utilizzati principalmente per estendere le definizioni e le annotazioni esistenti. Una volta definito un modello, possiamo utilizzare diversi file cds (Aspect) per aggiungere annotazioni su di essi per attività specifiche.

Per esempio-

  • cds– il tuo modello di dominio principale, mantenuto pulito, semplice e comprensibile
  • audit-model.cds– aggiunge campi aggiuntivi richiesti per il controllo in un file
  • auth-model.cds– aggiunge annotazioni per l'autorizzazione.

Chiavi primarie

Come le tabelle e i CDS in SAP ABAP, manteniamo le chiavi primarie per l'entità utilizzando la parola chiave chiave.

Una chiave primaria può essere riutilizzata nel modello utilizzando la metodologia delle definizioni comuni.

Possiamo creare un modello common.cds in cui tutte le definizioni comuni possono essere archiviate.

// definizioni comuni

entità StandardEntity { ID chiave : UUID; } Ora queste definizioni comuni possono essere riutilizzate come segue: using { StandardEntity } da './common'; entità Impiegato: StandardEntity { nome: String; ... } Gestore entità : StandardEntity { nome : Stringa; ... }

 

Il file comune è già creato per impostazione predefinita con un'entità predefinita denominata cuid.

Mappatura di UUID su OData

CDS associa gli UUID a Edm.Guid, per impostazione predefinita, in tutti i modelli OData. Tuttavia, lo standard OData introduce regole restrittive per i valori Edm.Guid, ad esempio sono consentite solo stringhe con trattino, che possono entrare in conflitto con i dati esistenti. Pertanto, consentiamo di sovrascrivere la mappatura predefinita come segue:

entità Libri {

ID chiave: UUID @odata.Tipo:'Stringa.edm';

...

}

Se necessario, puoi anche aggiungere l'annotazione @odata.MaxLength per sovrascrivere anche la proprietà corrispondente.

Associazione

Viene utilizzato per definire la relazione tra due entità. Come ABAP CDS, anche qui usiamo la parola Associazione. Ecco, la parola chiave molti indica a 0..* cardinalità. Le restrizioni per la cardinalità possono essere aggiunte come vincolo (dove condizione), ad esempio utilizzando non null.

Composizioni

A differenza dell'Associazione in cui associamo un campo di entità agli oggetti di un'intera entità, le composizioni si riferiscono semplicemente a un campo specifico di un'altra entità. Offre un ulteriore vantaggio delle operazioni profonde autogestite (Inserisci/Aggiorna) e dell'eliminazione a cascata (Eliminazione di tabelle multidipendenti).

// Definisci ordini con OrderItems contenutientità Ordini { ID chiave : UUID; Items: composizione di molti Order_Items su Items.parent=$self;}entità Order_Items { // sarà accessibile solo tramite Ordini  genitore chiave: Associazione agli ordini; libro chiave: Associazione ai libri; quantità : Intero;}

Migliori Pratiche

  1. Non aggiungere dettagli tecnici nei modelli, usiamo Aspetti tecniciper tale
  2. Usa il  nomi brevimodelli piatti semplici
  3. Non esagerare Normalizza le entità nei modelli
  4. Usa sequenze di interi locali se hai davvero a che fare con carichi e volumi elevati. Altrimenti, preferisci gli UUID

Fino ad ora quello che abbiamo imparato: Creazione del Modello e Aspetti su di esso.

Modellazione del dominio in SAP CAP

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.