مدل سازی دامنه در SAP CAP

معرفی

یک مدل دامنه در SAP CAP مدلی است که جنبه‌های ایستا و مرتبط با داده یک حوزه مشکل را بر اساس مدل‌های رابطه موجودیت توصیف می‌کند. در این مقاله مدلسازی دامنه در SAP CAP را به طور مفصل مطالعه خواهیم کرد.

مدل سازی دامنه

به عبارت ساده، یک CDS در SAP CAP مدل دامنه را به گونه ای تولید می کند که مشکل کسب و کار را از نظر کلیدها، فیلدها و حاشیه نویسی تعریف می کند. کد تولید مدل دامنه در یک طرح CDS (db/schema.cds) نوشته شده است. این مدل‌های دامنه را می‌توان در تعاریف سرویس، مدل‌های پایدار، پایگاه‌های داده یا حتی استفاده مجدد در مدل دامنه دیگر استفاده کرد.

نمونه نمونه:

فضای نام empInfo; با استفاده از {Currency، مدیریت شده} از '@sap/cds/common'؛ entity Employees: management { key ID: Integer; firstname: رشته محلی (111); نام خانوادگی: رشته محلی (1111); مدیر: انجمن به مدیران; dateofjoining: عدد صحیح حقوق: اعشاری (9,2،XNUMX); واحد پول: ارز; }

 

در این مثال ما یک فایل schema.cds ایجاد کرده ایم که در آن یک موجودیت Employees ایجاد کرده ایم که شامل جزئیات اولیه یک کارمند است.

به کل این طرح یک فضای نام به عنوان مثال empInfo داده شده است

این طرح از یک نوع داده استاندارد یعنی ارز استفاده می کند. استفاده از نوع داده استاندارد مانند این به ما کمک می کند تا تمام مقدار کمک های از پیش تعریف شده مربوط به آن را بیاوریم.

ما از CDS برای ایجاد یک مدل استفاده می کنیم. در آن CDS، ما استفاده می کنیم

  1. موجودیت هایی برای نمایش مجموعه ای از اشیاء منحصر به فرد به عنوان مثال:
    1. اطلاعات پایه کارمند
    2. اطلاعات ارتباطی کارکنان
    3. اطلاعات حقوق و دستمزد کارکنان
  2. انجمن هایی برای تعریف روابط
    1. ارتباط مدیر با مدیر نهاد دیگری که فهرست همه مدیران را خواهد داشت

کنوانسیون نامگذاری و توصیه ها

  1. نام نهاد باید با حرف بزرگ شروع شود و باید خوانا و قابل توضیح برای انسان باشد - به عنوان مثال، کارمندان
  2. عناصر را با یک حرف کوچک شروع کنید - به عنوان مثال، firstName
  3. توصیه می شود از شکل جمع از موجودیت ها استفاده کنید - به عنوان مثال، کارمندان
  4. توصیه می شود از انواع مفرد استفاده کنید - به عنوان مثال، ارز
  5. زمینه ها را تکرار نکنید - برای مثال، Employees.name به جای Employees.EmployeeName
  6. اسامی یک کلمه ای را ترجیح دهید - به عنوان مثال، حقوق به جای salaryAmount
  7. از شناسه برای کلیدهای اصلی فنی استفاده کنید - به عنوان مثال، شناسه برای شناسه کارمند
  8. می توانید از Namespace برای منحصر به فرد کردن موجودیت های خود استفاده کنید. این مانند مفهوم مشتری در SAP است که در آن می توانید طرحواره های تکراری (فایل های سی دی) با فضای نام منحصر به فرد داشته باشید تا آنها را متمایز کنید. فضاهای نام اختیاری هستند، اگر مدل های شما ممکن است در پروژه های دیگر مورد استفاده مجدد قرار گیرند، از فضاهای نام استفاده کنید. در پایان روز، آنها فقط پیشوندهایی هستند که به طور خودکار برای همه نام‌های مرتبط در یک فایل اعمال می‌شوند. - مثلا،

فضای نام لپ تاپ؛ موجودیت Dell {}

..… برابر است با:

لپ تاپ موجودیت. Dell {}

  1. می‌توانید از زمینه‌ها برای بخش‌های فضای نام تودرتو استفاده کنید. - مثلا،

فضای نام لپ تاپ؛ موجودیت Dell {}           //> laptop.Dellزمینه اپل { نهاد مک بوک پرو {}       //> laptop.Apple.MacBookPro     موجودیت MacBookAir {} }

 

اشخاص

موجودیت ها مانند جداول با کلیدهای اولیه هستند. ما می توانیم عملیات CRUD را با استفاده از این موجودیت ها انجام دهیم. آن را تا حد امکان صاف نگه دارید. آن را بیش از حد عادی نکنید. از انواع غیر قابل استفاده مجدد استفاده نکنید. این بخش فقط برای مدل سازی است، فقط باید حاشیه نویسی مربوط به فیلدهای جداگانه اضافه شود و جزئیات فنی (منطقی) اضافه نشود.

انواع

انواع مانند Domain در SAP ABAP هستند که برای تعریف تایپ عناصر داده استفاده می شود.

جنبه های

جنبه‌ها توسعه‌های مدل‌ها هستند و عمدتاً برای گسترش تعاریف و حاشیه‌نویسی‌های موجود استفاده می‌شوند. هنگامی که یک مدل تعریف شد، می‌توانیم از فایل‌های cds مختلف (Aspect) برای اضافه کردن حاشیه‌نویسی در بالای آن‌ها برای کار خاص استفاده کنیم.

مثلا-

  • سی دی– مدل دامنه اصلی شما، تمیز، ساده و قابل فهم نگه داشته شود
  • audit-model.cds- فیلدهای اضافی مورد نیاز برای ممیزی را در یک فایل اضافه می کند
  • auth-model.cds- حاشیه نویسی را برای مجوز اضافه می کند.

کلیدهای اصلی

مانند جداول و CDS در SAP ABAP، ما کلیدهای اصلی را برای Entity با استفاده از کلمه کلیدی نگهداری می کنیم. کلیدی

یک کلید اولیه را می توان با استفاده از روش شناسی تعاریف رایج در سراسر مدل مورد استفاده مجدد قرار داد.

ما می توانیم یک Common.cds Model ایجاد کنیم که در آن تمام تعاریف رایج در آن ذخیره شوند.

// تعاریف رایج

موجودیت StandardEntity { شناسه کلید : UUID; } اکنون می توان از این تعاریف رایج به صورت زیر استفاده مجدد کرد: با استفاده از { StandardEntity } از './common'; entity Employee : StandardEntity { name : String; ... } entity Manager : StandardEntity { name : String; ...}

 

فایل مشترک از قبل به صورت پیش فرض با یک موجودیت از پیش تعریف شده به نام ایجاد شده است cuid.

نگاشت UUID ها به OData

CDS UUID ها را به طور پیش فرض در همه مدل های OData به Edm.Guid نگاشت می کند. با این حال، استاندارد OData قوانین محدودکننده‌ای را برای مقادیر Edm.Guid وضع می‌کند - برای مثال، فقط رشته‌های خط فاصله مجاز هستند - که ممکن است با داده‌های موجود تضاد داشته باشد. بنابراین، ما اجازه می دهیم تا نقشه پیش فرض به صورت زیر لغو شود:

کتاب موجودیت {

شناسه کلید: UUID @odata.Type:'Edm.String';

...

}

در صورت لزوم، می توانید حاشیه نویسی @odata.MaxLength را نیز اضافه کنید تا ویژگی مربوطه را نیز لغو کنید.

انجمن

برای تعریف رابطه بین دو موجودیت استفاده می شود. مانند ABAP CDS، در اینجا نیز از کلمه استفاده می کنیم اتحادیه. اینجا، کلمه کلیدی بسیاری نشان می دهد 0..* قدرتمندی. محدودیت‌های کاردینالیته را می‌توان به عنوان یک محدودیت (که در آن شرط) اضافه کرد - برای مثال، استفاده از تهی نیست.

آهنگ ها

برخلاف Association که در آن یک فیلد موجودیت را با اشیاء یک موجودیت کامل مرتبط می‌کنیم، ترکیب‌ها فقط به حوزه خاصی از موجودیت دیگر اشاره می‌کنند. این مزیت اضافی از عملیات عمیق خود مدیریت شده (درج / به روز رسانی) و حذف آبشاری (حذف جدول چند وابسته) دارد.

// سفارشات را با OrderItems موجود تعریف کنیدentity Orders { key ID : UUID; آیتم ها : ترکیب بسیاری از Order_Items در Items.parent=$self;}entity Order_Items { // فقط از طریق سفارشات قابل دسترسی است  والد کلیدی: ارتباط با سفارشات. کتاب کلیدی: انجمن به کتاب; مقدار: عدد صحیح؛}

بهترین شیوه ها

  1. جزئیات فنی را در Models اضافه نکنید، ما استفاده می کنیم جنبه هایبرای آن
  2. استفاده کنید نام های کوتاه و مدل های تخت ساده
  3. از عادی سازی موجودیت ها در مدل ها زیاده روی نکنید
  4. اگر واقعاً با بارها و حجم های بالا سروکار دارید از دنباله های عدد صحیح محلی استفاده کنید. در غیر این صورت، UUID ها را ترجیح دهید

تا به حال آنچه ما آموخته ایم: ایجاد مدل و جنبه های بالای آن.

مدل سازی دامنه در SAP CAP

پیام بگذارید

این سایت از Akismet برای کاهش هرزنامه استفاده می کند. بدانید که چگونه نظر شما پردازش می شود.