Pagmodelo sa Domain sa SAP CAP

Pasiuna

Usa ka Modelo sa Domain sa SAP CAP usa ka modelo nga naghulagway sa static, may kalabotan sa datos nga mga aspeto sa usa ka problema nga dominyo sa termino sa mga modelo sa relasyon sa entidad. Niini nga artikulo atong tun-an ang Domain Modeling sa SAP CAP sa detalye.

Pagmodelo sa Domain

Sa yano nga mga pulong, ang usa ka CDS sa SAP CAP naghimo sa modelo sa domain sa paagi nga kini naghubit sa problema sa negosyo sa mga termino sa mga yawe, natad ug mga anotasyon. Ang code para makamugna ug domain model kay gisulat sa CDS schema (db/schema.cds). Kini nga mga modelo sa domain mahimong magamit sa Mga Kahulugan sa Serbisyo, Mga Modelo sa Pagpadayon, Mga Database o bisan magamit pag-usab sulod sa lain nga modelo sa domain.

Sampol nga Ehemplo:

Namespace empInfo; gamit ang {Currency, gidumala} gikan sa '@sap/cds/common'; entidad Mga empleyado: gidumala {key ID: Integer; firstName: localized String (111); apelyido: localized String (1111); manedyer: Association to Managers; dateofJoining: Integer; suweldo: Decimal (9,2); kuwarta: Salapi; }

 

Sa kini nga pananglitan naghimo kami usa ka file nga schema.cds diin naghimo kami usa ka entidad Employees nga naglakip sa sukaranan nga mga detalye sa usa ka Empleyado

Kining tibuok schema gihatagan ug namespace ie empInfo

Kini nga schema naggamit ug usa ka standard nga tipo sa datos ie Currency. Ang paggamit sa sukaranan nga tipo sa datos nga sama niini makatabang kanamo sa pagdala sa tanan nga gitakda nang daan nga kantidad nga tabang nga may kalabotan niini.

Gigamit namo ang CDS sa paghimo og Modelo. Sa maong CDS, among gigamit

  1. Mga entidad nga magrepresentar sa hugpong sa talagsaon nga mga butang eg:
    1. Panguna nga Impormasyon sa Empleyado
    2. Impormasyon sa Komunikasyon sa Empleyado
    3. Impormasyon sa Salary sa Empleyado
  2. Mga asosasyon aron mahibal-an ang mga relasyon
    1. Ang asosasyon sa manager ngadto sa laing entity Manager nga adunay tanang listahan sa Managers

Pagngalan sa Kombensiyon ug Rekomendasyon

  1. Ang ngalan sa entidad kinahanglan magsugod sa usa ka kapital nga letra ug kini kinahanglan nga mabasa sa tawo ug matin-aw sa kaugalingon - pananglitan, Mga Empleyado
  2. Pagsugod sa mga elemento gamit ang gamay nga letra - pananglitan, firstName
  3. Girekomenda nga gamiton ang plural nga porma sa mga entidad - pananglitan, Mga Empleyado
  4. Girekomenda nga gamiton ang singular nga porma sa mga tipo - pananglitan, Currency
  5. ayaw usba ang konteksto – pananglitan, Employees.name imbes Employees.EmployeeName
  6. mas gusto ang usa ka pulong nga mga ngalan - pananglitan, suweldo imbes nga suweldoAmount
  7. gamita ang ID para sa teknikal nga panguna nga yawe – pananglitan, ID para sa Employee ID
  8. Mahimo nimong gamiton ang Namespace aron mahimo ang imong mga entidad nga talagsaon. Sama kini sa konsepto sa kliyente sa SAP diin mahimo kang adunay mga duplicate nga mga eskema (mga file sa cd) nga adunay talagsaon nga Namespace aron sa paglainlain kanila. Opsyonal ang mga namespace, gamita ang mga namespace kung ang imong mga modelo mahimong magamit pag-usab sa ubang mga proyekto. Sa katapusan sa adlaw sila mga prefix ra, nga awtomatiko nga magamit sa tanan nga may kalabutan nga mga ngalan sa usa ka file. - pananglitan,

namespace laptop; entidad Dell {}

..… katumbas sa:

entidad nga laptop.Dell {}

  1. Mahimo nimong gamiton ang mga konteksto alang sa mga seksyon sa nested namespace. - pananglitan,

namespace laptop; entidad Dell {}           //> laptop.Dellkonteksto Apple { entidad MacBookPro {}       //> laptop.Apple.MacBookPro     entidad MacBookAir {} }

 

Mga Entidad

Ang mga entidad sama sa mga lamesa nga adunay panguna nga yawe. Makahimo kami sa operasyon sa CRUD gamit kini nga mga Entidad. Hupti kini nga patag kutob sa mahimo. Ayaw sobra nga Normalize kini. Ayaw gamita ang dili magamit nga mga tipo. Kini nga seksyon alang lamang sa pagmodelo, ang anotasyon lamang nga may kalabutan sa indibidwal nga mga natad kinahanglan idugang ug walay teknikal nga mga detalye (logics) ang kinahanglan idugang.

matang

Ang mga tipo sama sa Domain sa SAP ABAP, gigamit kini aron mahibal-an ang tipo sa mga elemento sa Data.

Mga aspeto

Ang mga aspeto mao ang mga extension sa mga Modelo ug kasagarang gigamit sa pagpalapad sa kasamtangan nga mga kahulugan ug mga anotasyon. Sa higayon nga ang usa ka modelo gihubit, kita makagamit sa lain-laing mga cds files (Aspect) aron sa pagdugang sa mga anotasyon sa ibabaw niini alang sa piho nga buluhaton.

Pananglitan-

  • cds– ang imong kinauyokan nga modelo sa domain, gihuptan nga limpyo, yano ug masabtan
  • audit-model.cds- nagdugang dugang nga mga natad nga gikinahanglan alang sa pag-audit sa usa ka file
  • auth-model.cds- nagdugang anotasyon para sa pagtugot.

Panguna nga mga Yawe

Sama sa mga lamesa ug CDS sa SAP ABAP, among gimintinar ang Primary keys para sa Entity gamit ang keyword yawe.

Ang usa ka panguna nga yawe mahimong magamit pag-usab sa tibuuk nga modelo pinaagi sa paggamit sa metodolohiya sa sagad nga mga kahulugan.

Makahimo kita og usa ka common.cds Model diin ang tanang komon nga mga kahulugan mahimong tipigan.

// komon nga mga kahulugan

entidad StandardEntity { key ID : UUID; } Karon kining komon nga mga depinisyon mahimong magamit pag-usab sama sa ubos: gamit ang { StandardEntity } gikan sa './common'; entidad Empleyado : StandardEntity { ngalan : String; ... } entity Manager : StandardEntity { ngalan : String; ...}

 

Ang komon nga payl gihimo na pinaagi sa default uban sa usa ka predefined entity nga ginganlan cuid.

Pagmapa sa mga UUID sa OData

Gimapa sa CDS ang mga UUID sa Edm.Guid, sa default, sa tanan nga mga modelo sa OData. Bisan pa, ang sumbanan sa OData nagbutang sa mga higpit nga mga lagda alang sa mga kantidad sa Edm.Guid - pananglitan, gitugotan ra ang mga hyphenated nga mga kuwerdas - nga mahimong sukwahi sa naa na nga datos. Busa, gitugotan namo ang default mapping nga ma-override sama sa mosunod:

entidad Libro {

yawe ID: UUID @odata.Type:'Edm.String';

...

}

Kung gikinahanglan, mahimo usab nimong idugang ang annotation @odata.MaxLength aron ma-override ang katugbang nga kabtangan, usab.

Association

Gigamit kini sa paghubit sa relasyon tali sa duha ka entidad. Sama sa ABAP CDS, dinhi usab atong gigamit ang pulong Kaupod. Dinhi, ang keyword sa daghan nga mga nagpaila sa a 0..* kardinalidad. Ang mga pagdili alang sa kardinalidad mahimong idugang ingon usa ka pagpugong (kung adunay kondisyon) - pananglitan, gamit dili null.

Mga komposisyon

Dili sama sa Asosasyon diin atong gi-associate ang usa ka natad sa entidad sa mga butang sa tibuok entidad, ang mga komposisyon nagtumong lang sa espesipikong natad sa laing entidad. Kini adunay dugang nga bentaha sa pagdumala sa kaugalingon nga lawom nga mga operasyon (Insert/Update) ug cascaded pagtangtang (Multi Dependent table deletion).

// Ipasabot ang mga Order nga adunay mga OrderItemsentidad Orders { key ID : UUID; Mga butang : Komposisyon sa daghang Order_Items sa Items.parent=$self;}entity Order_Items { // ma-access pinaagi sa mga Orders lamang  yawe nga ginikanan : Association to Orders; yawe nga libro: Association to Books; gidaghanon: Integer;}

Labing maayo nga mga gawi

  1. Ayaw pagdugang sa teknikal nga mga detalye sa Mga Modelo, among gigamit Mga aspetoalang niana
  2. Paggamit mugbo nga mga ngalan ug simple nga flat nga mga modelo
  3. Ayaw sobra nga Normalize ang mga entidad sa Mga Modelo
  4. Gamita ang lokal nga mga han-ay sa integer kung nag-atubang ka sa taas nga mga karga ug mga volume. Kung dili, pilia ang mga UUID

Hangtod karon ang atong nakat-onan: Paglalang sa Modelo ug mga Aspekto sa ibabaw niini.

Pagmodelo sa Domain sa SAP CAP

Leave sa usa ka comment

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.