Μοντελοποίηση τομέα στο SAP CAP

Εισαγωγή

Ένα Μοντέλο Τομέα στο SAP CAP είναι ένα μοντέλο που περιγράφει τις στατικές, σχετιζόμενες με δεδομένα πτυχές ενός προβληματικού τομέα με όρους μοντέλων σχέσεων οντοτήτων. Σε αυτό το άρθρο θα μελετήσουμε λεπτομερώς το Domain Modeling στο SAP CAP.

Μοντελοποίηση τομέα

Με απλά λόγια, ένα CDS στο SAP CAP παράγει μοντέλο τομέα με τέτοιο τρόπο ώστε να ορίζει το επιχειρηματικό πρόβλημα ως προς τα κλειδιά, τα πεδία και τους σχολιασμούς. Ο κώδικας για τη δημιουργία ενός μοντέλου τομέα είναι γραμμένος σε ένα σχήμα CDS (db/schema.cds). Αυτά τα μοντέλα τομέα μπορούν να χρησιμοποιηθούν σε ορισμούς υπηρεσιών, μοντέλα επιμονής, βάσεις δεδομένων ή ακόμη και να επαναχρησιμοποιηθούν σε άλλο μοντέλο τομέα.

Δείγμα Παράδειγμα:

Χώρος ονομάτων empInfo; χρησιμοποιώντας {Currency, διαχείριση} από το '@sap/cds/common'. οντότητα Εργαζόμενοι: διαχειριζόμενο { Αναγνωριστικό κλειδιού: Ακέραιος; firstName: εντοπισμένη συμβολοσειρά (111); επώνυμο: εντοπισμένη συμβολοσειρά (1111); Διευθυντής: Σύλλογος προς Διευθυντές. date ofjoining: Ακέραιος αριθμός; μισθός: Δεκαδικός (9,2); νόμισμα: Νόμισμα; }

 

Σε αυτό το παράδειγμα έχουμε δημιουργήσει ένα αρχείο schema.cds όπου έχουμε δημιουργήσει μια οντότητα Employees που περιλαμβάνει βασικές λεπτομέρειες ενός Υπαλλήλου

Σε όλο αυτό το σχήμα έχει δοθεί ένας χώρος ονομάτων, π.χ. empInfo

Αυτό το σχήμα χρησιμοποιεί έναν τυπικό τύπο δεδομένων, π.χ. Νόμισμα. Η χρήση του τυπικού τύπου δεδομένων όπως αυτός μας βοηθά να φέρουμε όλες τις προκαθορισμένες τιμές που σχετίζονται με αυτόν.

Χρησιμοποιούμε CDS για να δημιουργήσουμε ένα μοντέλο. Σε αυτό το CDS, χρησιμοποιούμε

  1. Οντότητες που αναπαριστούν σύνολο μοναδικών αντικειμένων π.χ.
    1. Βασικές πληροφορίες εργαζομένων
    2. Πληροφορίες Επικοινωνίας Εργαζομένων
    3. Πληροφορίες μισθοδοσίας εργαζομένων
  2. Ενώσεις για τον ορισμό των σχέσεων
    1. Συσχέτιση διαχειριστή σε άλλη οντότητα Manager που θα έχει όλη τη λίστα διαχειριστών

Σύμβαση ονομασίας & συστάσεις

  1. Το όνομα της οντότητας πρέπει να ξεκινά με κεφαλαίο γράμμα και να είναι ευανάγνωστο και αυτονόητο – για παράδειγμα, Υπάλληλοι
  2. Έναρξη στοιχείων με πεζό γράμμα – για παράδειγμα, firstName
  3. Συνιστάται η χρήση οντοτήτων σε πληθυντικό - για παράδειγμα, Εργαζόμενοι
  4. Συνιστάται η χρήση ενικού τύπου τύπων – για παράδειγμα, Νόμισμα
  5. μην επαναλαμβάνετε τα πλαίσια – για παράδειγμα, Employees.name αντί για Employees.EmployeeName
  6. προτιμήστε μονολεκτικά ονόματα – για παράδειγμα, μισθός αντί μισθόςΠοσό
  7. χρησιμοποιήστε το αναγνωριστικό για τεχνικά πρωτεύοντα κλειδιά - για παράδειγμα, το αναγνωριστικό για το αναγνωριστικό υπαλλήλου
  8. Μπορείτε να χρησιμοποιήσετε το Χώρο ονομάτων για να κάνετε τις οντότητές σας μοναδικές. Είναι σαν την ιδέα του πελάτη στο SAP όπου μπορείτε να έχετε διπλά σχήματα (αρχεία cds) με μοναδικό χώρο ονομάτων για να τα διαφοροποιήσετε. Οι χώροι ονομάτων είναι προαιρετικοί, χρησιμοποιήστε χώρους ονομάτων εάν τα μοντέλα σας ενδέχεται να επαναχρησιμοποιηθούν σε άλλα έργα. Στο τέλος της ημέρας είναι απλώς προθέματα, τα οποία εφαρμόζονται αυτόματα σε όλα τα σχετικά ονόματα σε ένα αρχείο. - για παράδειγμα,

namespace laptop;οντότητα Dell {}

..… είναι ισοδύναμο με:

φορητός υπολογιστής οντότητας.Dell {}

  1. Μπορείτε να χρησιμοποιήσετε περιβάλλοντα για ένθετες ενότητες χώρου ονομάτων. - για παράδειγμα,

namespace laptop;οντότητα Dell {}           //> φορητός υπολογιστής.Dellπλαίσιο Apple { οντότητα MacBookPro {}       //> φορητός υπολογιστής.Apple.MacBookPro     οντότητα MacBookAir {} }

 

Φορείς

Οι οντότητες είναι σαν πίνακες με πρωτεύοντα κλειδιά. Μπορούμε να εκτελέσουμε τη λειτουργία CRUD χρησιμοποιώντας αυτές τις Οντότητες. Διατηρήστε το όσο πιο επίπεδο γίνεται. Μην το κανονικοποιείτε υπερβολικά. Μην χρησιμοποιείτε μη επαναχρησιμοποιήσιμους τύπους. Αυτή η ενότητα προορίζεται μόνο για μοντελοποίηση, θα πρέπει να προστεθούν μόνο σχολιασμοί που σχετίζονται με μεμονωμένα πεδία και δεν θα πρέπει να προστεθούν τεχνικές λεπτομέρειες (λογικές).

Τύποι

Οι τύποι είναι σαν το Domain στο SAP ABAP, που χρησιμοποιείται για τον καθορισμό των πληκτρολογημένων στοιχείων δεδομένων.

Πτυχές

Οι πτυχές είναι οι επεκτάσεις των Μοντέλων και χρησιμοποιούνται κυρίως για να επεκτείνουν τους υπάρχοντες ορισμούς και σχολιασμούς. Μόλις οριστεί ένα μοντέλο, μπορούμε να χρησιμοποιήσουμε διαφορετικά αρχεία cds (Aspect) για να προσθέσουμε σχολιασμούς πάνω από αυτά για συγκεκριμένη εργασία.

Για παράδειγμα-

  • cds– Το μοντέλο του βασικού σας τομέα, διατηρείται καθαρό, απλό και κατανοητό
  • audit-model.cds– προσθέτει επιπλέον πεδία που απαιτούνται για έλεγχο σε ένα αρχείο
  • auth-model.cds– προσθέτει σχολιασμούς για εξουσιοδότηση.

Πρωτεύοντα κλειδιά

Όπως πίνακες και CDS στο SAP ABAP, διατηρούμε τα κύρια κλειδιά για την οντότητα χρησιμοποιώντας λέξη-κλειδί κλειδί.

Ένα πρωτεύον κλειδί μπορεί να επαναχρησιμοποιηθεί σε όλο το μοντέλο χρησιμοποιώντας τη μεθοδολογία των κοινών ορισμών.

Μπορούμε να δημιουργήσουμε ένα μοντέλο common.cds όπου μπορούν να αποθηκευτούν όλοι οι κοινοί ορισμοί.

// κοινοί ορισμοί

οντότητα StandardEntity { κλειδί ID : UUID; } Τώρα αυτοί οι κοινοί ορισμοί μπορούν να επαναχρησιμοποιηθούν ως εξής: χρησιμοποιώντας { StandardEntity } από το './common'; entity Employee : StandardEntity { name : String; ... } entity Manager : StandardEntity { name : String; ...}

 

Το κοινό αρχείο έχει ήδη δημιουργηθεί από προεπιλογή με μια προκαθορισμένη οντότητα με όνομα cuid.

Αντιστοίχιση UUID σε OData

Το CDS αντιστοιχίζει τα UUID στο Edm.Guid, από προεπιλογή, σε όλα τα μοντέλα OData. Ωστόσο, το πρότυπο OData θέτει περιοριστικούς κανόνες για τις τιμές Edm.Guid – για παράδειγμα, επιτρέπονται μόνο συμβολοσειρές με παύλα – οι οποίοι ενδέχεται να έρχονται σε διένεξη με τα υπάρχοντα δεδομένα. Επομένως, επιτρέπουμε την παράκαμψη της προεπιλεγμένης αντιστοίχισης ως εξής:

Βιβλία οντοτήτων {

Αναγνωριστικό κλειδιού: UUID @odata.Τύπος:'Edm.String';

...

}

Εάν είναι απαραίτητο, μπορείτε επίσης να προσθέσετε τον σχολιασμό @odata.MaxLength για να παρακάμψετε και την αντίστοιχη ιδιότητα.

Σχέση

Χρησιμοποιείται για τον ορισμό της σχέσης μεταξύ δύο οντοτήτων. Όπως το ABAP CDS, έτσι και εδώ χρησιμοποιούμε τη λέξη Σχέση. Εδώ, η λέξη-κλειδί πολοί δείχνει ένα 0..* Καρδιοτητα. Οι περιορισμοί για την καρδινικότητα μπορούν να προστεθούν ως περιορισμός (όπου συνθήκη) - για παράδειγμα, χρησιμοποιώντας όχι κενό.

Συνθέσεις

Σε αντίθεση με το Association όπου συσχετίζουμε ένα πεδίο οντότητας με τα αντικείμενα μιας ολόκληρης οντότητας, οι συνθέσεις αναφέρονται απλώς σε συγκεκριμένο πεδίο μιας άλλης οντότητας. Έχει επιπλέον πλεονέκτημα από αυτοδιαχειριζόμενες λειτουργίες σε βάθος (Εισαγωγή/Ενημέρωση) και διαδοχική διαγραφή (Διαγραφή πολλαπλών εξαρτώμενων πινάκων).

// Ορισμός παραγγελιών με περιεχόμενα OrderItemsΠαραγγελίες οντότητας { Αναγνωριστικό κλειδιού : UUID; Items : Σύνθεση πολλών Order_Items on Items.parent=$self;}entity Order_Items { // θα είναι προσβάσιμη μόνο μέσω Παραγγελιών  βασικός γονέας : Association to Orders? βασικό βιβλίο : Association to Books; ποσότητα : Ακέραιος;}

Βέλτιστες Πρακτικές

  1. Μην προσθέτετε τεχνικές λεπτομέρειες στα μοντέλα, χρησιμοποιούμε Πτυχέςγι'αυτό
  2. Χρήση σύντομα ονόματα και απλά επίπεδα μοντέλα
  3. Μην υπερβείτε την κανονικοποίηση των οντοτήτων στα μοντέλα
  4. Χρησιμοποιήστε τοπικές ακέραιες ακολουθίες εάν αντιμετωπίζετε πραγματικά υψηλά φορτία και όγκους. Διαφορετικά, προτιμήστε UUID

Μέχρι τώρα τι μάθαμε: Δημιουργία μοντέλου και πτυχές πάνω από αυτό.

Μοντελοποίηση τομέα στο SAP CAP

Αφήστε ένα σχόλιο

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.