SAP CAP-də Domain Modelləşdirmə

by | Mar 12, 2020 | SAP CAP

Əsas səhifə » SAP » SAP CAP » SAP CAP-də Domain Modelləşdirmə

Ön söz - Bu yazının bir hissəsidir SAP CAPM seriyası.

giriş

SAP CAP-da Domen Modeli, problem domeninin statik, məlumatla əlaqəli aspektlərini qurum-münasibət modelləri baxımından təsvir edən modeldir. Bu yazıda biz SAP CAP-də Domain Modelləşdirməni ətraflı öyrənəcəyik.

Domain Modelləşdirmə

Sadə sözlə desək, SAP CAP-da CDS domen modelini elə istehsal edir ki, o, biznes problemini açarlar, sahələr və qeydlər baxımından müəyyən edir. Domen modelini yaratmaq üçün kod CDS sxemində (db/schema.cds) yazılmışdır. Bu domen modelləri Xidmət Təriflərində, Davamlılıq Modellərində, Verilənlər Bazalarında istifadə edilə bilər və ya hətta başqa domen modelində təkrar istifadə edilə bilər.

Nümunə Nümunə:

empInfo ad sahəsi; '@sap/cds/common'dan {Currency, managed} istifadə edərək; müəssisə İşçilər: idarə olunan { əsas ID: Tam ədəd; firstName: lokallaşdırılmış String (111); soyad: lokallaşdırılmış String (1111); menecer: Menecerlərə Assosiasiya; Qoşulma tarixi: Tam ədəd; əmək haqqı: Ondalık (9,2); valyuta: valyuta; }

 

Bu nümunədə biz schema.cds faylı yaratdıq, burada İşçinin əsas təfərrüatlarını özündə əks etdirən İşçilər təşkilatını yaratdıq.

Bütün bu sxemə ad sahəsi, yəni empInfo verilmişdir

Bu sxem standart məlumat növündən, yəni Valyutadan istifadə edir. Bu kimi standart məlumat növündən istifadə bizə əvvəlcədən təyin edilmiş bütün dəyəri gətirməyə kömək edir.

Model yaratmaq üçün CDS-dən istifadə edirik. Həmin CDS-də biz istifadə edirik

  1. Unikal obyektlər dəstini təmsil edən obyektlər, məsələn:
    1. İşçinin Əsas Məlumatı
    2. İşçilərin Ünsiyyət Məlumatı
    3. İşçinin Əmək haqqı məlumatı
  2. Əlaqələri müəyyən etmək üçün birləşmələr
    1. Menecerin bütün Menecerlər siyahısına malik olan başqa bir qurumla əlaqəsi

Adlandırma Konvensiyası və Tövsiyələr

  1. Müəssisənin adı böyük hərflə başlamalı və insanlar tərəfindən oxuna bilən və özünü izahlı olmalıdır – məsələn, İşçilər
  2. Elementləri kiçik hərflə başlayın – məsələn, birinci ad
  3. Müəssisələrin cəm formasından istifadə etmək tövsiyə olunur - məsələn, İşçilər
  4. Növlərin tək formasından istifadə etmək tövsiyə olunur - məsələn, Valyuta
  5. kontekstləri təkrarlamayın – məsələn, Employees.EmployeeName əvəzinə Employees.name
  6. bir sözdən ibarət adlara üstünlük verin - məsələn, maaş əvəzinə maaş
  7. texniki əsas açarlar üçün ID-dən istifadə edin – məsələn, İşçi ID-si üçün ID
  8. Müəssisələrinizi unikal etmək üçün Namespace-dən istifadə edə bilərsiniz. Bu, SAP-də müştəri konsepsiyasına bənzəyir, burada siz onları fərqləndirmək üçün unikal Ad məkanı olan dublikat sxemlərə (cds fayllarına) sahib ola bilərsiniz. Ad boşluqları isteğe bağlıdır, modelləriniz digər layihələrdə təkrar istifadə oluna bilərsə, ad boşluqlarından istifadə edin. Günün sonunda onlar sadəcə fayldakı bütün müvafiq adlara avtomatik tətbiq olunan prefikslərdir. - misal üçün,

ad sahəsi noutbuku; müəssisə Dell {}

..… ekvivalentdir:

obyekt noutbuku.Dell {}

  1. Siz iç-içə ad sahəsi bölmələri üçün kontekstlərdən istifadə edə bilərsiniz. - misal üçün,

ad sahəsi noutbuku; müəssisə Dell {}           //> laptop.Dellkontekst Apple { müəssisə MacBookPro {}       //> laptop.Apple.MacBookPro     müəssisə MacBookAir {} }

 

Təşkilatlar

Müəssisələr əsas açarları olan cədvəllər kimidir. Biz bu Müəssisələrdən istifadə edərək CRUD əməliyyatını həyata keçirə bilərik. Mümkün qədər düz saxlayın. Onu normallaşdırmayın. Yenidən istifadə olunmayan növlərdən istifadə etməyin. Bu bölmə yalnız modelləşdirmə üçündür, yalnız ayrı-ayrı sahələrə aid annotasiya əlavə edilməli və heç bir texniki detal (məntiq) əlavə edilməməlidir.

Növləri

Növlər SAP ABAP-da Domain kimidir, o, Data elementlərinin tiplərini təyin etmək üçün istifadə olunur.

Aspektlər

Aspektlər Modellərin genişləndirilməsidir və əsasən mövcud tərifləri və annotasiyaları genişləndirmək üçün istifadə olunur. Model müəyyən edildikdən sonra xüsusi tapşırıq üçün onların üzərinə əlavə qeydlər əlavə etmək üçün müxtəlif cds fayllarından (Aspect) istifadə edə bilərik.

Misal üçün-

  • cds– əsas domen modeliniz təmiz, sadə və başa düşülən saxlanılır
  • audit-model.cds– faylda audit üçün tələb olunan əlavə sahələri əlavə edir
  • auth-model.cds– avtorizasiya üçün qeydlər əlavə edir.

İlkin Açarlar

SAP ABAP-dakı cədvəllər və CDS kimi, biz də açar sözdən istifadə edərək Müəssisə üçün Əsas açarları saxlayırıq açar.

Ümumi təriflərin metodologiyasından istifadə etməklə, əsas açar bütün modeldə təkrar istifadə edilə bilər.

Bütün ümumi təriflərin saxlanıla biləcəyi bir common.cds Modeli yarada bilərik.

// ümumi təriflər

entity StandardEntity { əsas ID : UUID; } İndi bu ümumi təriflər aşağıdakı kimi təkrar istifadə edilə bilər: './common'dan { StandardEntity } istifadə edərək; entity İşçi : StandardEntity { ad : String; ... } obyekt Meneceri : StandardEntity { ad : String; ... }

 

Ümumi fayl artıq defolt olaraq adlı əvvəlcədən təyin edilmiş obyektlə yaradılmışdır cuid.

UUID-lərin OData ilə əlaqələndirilməsi

CDS UUID-ləri bütün OData modellərində standart olaraq Edm.Guid ilə əlaqələndirir. Bununla belə, OData standartı Edm.Guid dəyərləri üçün məhdudlaşdırıcı qaydalar qoyur – məsələn, yalnız defislənmiş sətirlərə icazə verilir – bu, mövcud məlumatlarla ziddiyyət təşkil edə bilər. Beləliklə, biz standart xəritələşdirmənin aşağıdakı kimi ləğv edilməsinə icazə veririk:

varlıq Kitabları {

açar ID: UUID @data.Növ:'Edm.String';

...

}

Lazım gələrsə, müvafiq xüsusiyyəti ləğv etmək üçün @odata.MaxLength annotasiyasını da əlavə edə bilərsiniz.

Assosiasiya

İki varlıq arasındakı əlaqəni təyin etmək üçün istifadə olunur. ABAP CDS kimi, biz də bu sözdən istifadə edirik Assosiasiya. Budur, açar söz çox göstərir 0..* kardinallıq. Kardinallıq üçün məhdudiyyətlər məhdudiyyət (şərt olduğu yerdə) kimi əlavə edilə bilər - məsələn, istifadə null deyil.

Əsərləri

Müəssisə sahəsini bütöv bir qurumun obyektləri ilə əlaqələndirdiyimiz Assosiasiyadan fərqli olaraq, kompozisiyalar sadəcə başqa bir qurumun xüsusi sahəsinə istinad edir. O, özünü idarə olunan dərin əməliyyatların (Daxil et/Yeniləmə) və kaskad silinməsinin (Çox asılı cədvəlin silinməsi) əlavə üstünlüyünə malikdir.

// İçərisində olan Sifarişləri təyin edinmüəssisə Sifarişləri { əsas ID : UUID; Elementlər : Items.parent=$self;}bir çox Sifariş_Eşyalarının Tərkibi { // yalnız Sifarişlər vasitəsilə əldə edilə bilər  əsas valideyn: Sifarişlərə Assosiasiya; əsas kitab: Kitablar Assosiasiyası; kəmiyyət: Tam;}

Ən yaxşı təcrübələr

  1. Modellərə texniki detallar əlavə etməyin, biz istifadə edirik Aspektləronun üçün
  2. istifadə qısa adlar və sadə düz modellər
  3. Modellərdə obyektləri normallaşdırmayın
  4. Əgər həqiqətən yüksək yüklər və həcmlərlə məşğul olursunuzsa, yerli tam ardıcıllıqlardan istifadə edin. Əks halda, UUID-lərə üstünlük verin

İndiyə qədər öyrəndiklərimiz: Modelin yaradılması və bunun üzərində aspektlər.

SAP CAP-də Domain Modelləşdirmə

müəllif

0 Şərhlər

Şərh təqdim

E-poçt ünvanından dərc olunmayacaq. Lazım alanlar qeyd olunur *

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.

müəllif