الحلول

مكتمل

تُعد الحلول حاويات تتعقب التخصيصات وتُديرها فِي بيئة Dataverse. تُستخدم الحلول لنقل التطبيقات، والمكونات من بيئة إلى أخرى، أو من أجل تطبيق مجموعة من التخصيصات على التطبيقات الحالية.

عندما يكون لديك بيئات مُتعددة، تمتلك كل بيئة مجموعتها الخاصة من الحلول.

رسم تخطيطي يُوضح بيئة استعراض الحل.

ملاحظة

عندما يكون لديك تطبيق Microsoft Dynamics 365، مثل Sales، يُثبت التطبيق باستخدام إطار عمل الحل ذاته. يشحن بائعو البرامج المستقلة منتجاتهم أيضًا باستخدام الحلول.

خصائص الحلول هي:

  • يُمكنك تضمين بيانات التعريف، وبعض الكيانات مع بيانات التكوين. لا تحتوي الحلول على بيانات أعمال.
  • تحتوي على الكثير من مكونات Microsoft Power Platform المُختلفة، مثل التطبيقات المُستندة إلى النماذج، وتطبيقات اللوحات، وخرائط المواقع، والتدفقات، والجداول، وبيانات تعريف الجدول، والأعمدة، والنماذج، وطرق العرض، وقواعد العمل، وتعريفات العمليات، والمُوصّلات المُخصصة، وموارد الويب، والخيارات، والمُخططات، والمكونات التي أنشأها المطورون مثل البرامج النصية، أو التعليمات البرمجية المُجمعة.
  • يتم تعبئتها كوحدة يتعين تصديرها، واستيرادها إلى بيئات أُخرى، أو يتم تفكيكها، والتحقق منها فِي عنصر تحكم المصدر كتعليمات برمجية مصدر للأصول.
  • تُستخدم لتطبيق التغييرات على الحلول الحالية.

أنواع الحلول

نوعا الحلول هما:

  • حلول غير مُدارة - تُستخدم فِي أثناء التطوير وللنقل إلى بيئات التطوير الأخرى.
  • حلول مُدارة - تُستخدم للتوزيع إلى بيئات غير تطويرية.

يُمكنك استخدام الحلول غير المُدارة فِي بيئات التطوير فِي حين تُجري تغييرات التكوين على تطبيقك. يتم تصدير الحلول على أنها حلول غير مُدارة ثم يتم فحصها فِي نظام التحكم بالمصادر. يجب اعتبار الحلول غير المُدارة مصدرك.

استخدم الحلول المُدارة للنشر فِي أي بيئة ليست بيئة تطوير؛ بما فِي ذلك الاختبار، واختبار قبول المُستخدم (UAT)، واختبار تكامل النظام (SIT)، وبيئات الإنتاج.

يُمكن صيانة الحلول المُدارة (الترقية، والتصحيح، والحذف) باستقلالية عن الحلول الأخرى المُدارة. يجب إنشاء الحلول المُدارة بواسطة خادم إنشاء واعتبارها أداة بناء، بصفة ذلك أفضل ممارسات إدارة دورة حياة التطبيق (ALM).

طبقات الحلول

تصف طبقات الحلول سلسلة التبعية لمكون من حل الجذر الذي يقدمه، من خلال كل حل يوسع سلوك المكون أو يغيره. يتم إنشاء الطبقات من خلال توسيع مكون موجود (مع مراعاة التبعية عليه)، أو من خلال إنشاء مكون جديد أو إصدار حل.

يتم تنفيذ طبقات الحل على مستوى كل مكون. توجد الحلول المُدارة، وغير المُدارة فِي طبقات مُختلفة داخل بيئة Microsoft Dataverse. تمتلك Dataverse طبقتين متميزتين:

  • الطبقة غير المُدارة - توجد جميع الحلول المستوردة، وغير المُدارة، والتخصيصات المُتخصصة فِي هذه الطبقة. تُشارك جميع الحلول غير المُدارة فِي طبقة واحدة غير مُدارة.
  • الطبقة المُدارة - جميع الحلول المُستوردة، والمُدارة، وحل النظام موجودة فِي هذا المستوى. عند تثبيت عدة حلول مُدارة، يكون آخر حل تم تثبيته أعلى من الحل المُدار الذي تم تثبيته مُسبقًا. لذلك، يُمكن للحل الثاني المُثبت تخصيص الحل المُثبت قبله. عند وجود تعريفين مُتعارضين لحلين مُدارين، يكون سلوك وقت التشغيل "الأخير يفوز" أو يتم تطبيق منطق الدمج. إذا ألغيت تثبيت حل مُدار، فسيطبق هذا الإلغاء على الحل المُدار ضمنه. إذا ألغيت تثبيت جميع الحلول المُدارة، فسيتم تطبيق السلوك الافتراضي المُحدّد ضمن حل النظام. توجد طبقة النظام فِي قاعدة مستوى الطبقات المُدارة. تحتوي طبقة النظام على الكيانات، والمكونات المطلوبة حتى يعمل النظام الأساسي.

رسم تخطيطي يُوضح طبقات الحل.

يحتاج مُهندسو الحلول إلى اتخاذ القرار بشأن عدد الحلول التي سيتم استخدامها فِي الحل الخاص بأعمالهم. بينما يُمكنك العمل مُستخدمًا حلاً واحدًا، فقد يؤدي ذلك إلى تبعيات على الإصدارات، ويُمكن أن تستغرق الحلول الكبيرة وقتًا طويلاً للتصدير والاستيراد. تستخدم مُعظم المشروعات حلولاً مُتعددة. يجب أن يفهم مُهندسو الحلول سلوك الدمج عند تحديث حل أو عند تثبيت حلول مُتعددة تؤثر على المكون ذاته.

يُوضح المثال التالي استخدام أربعة حلول: مسرع الرعاية الصحية القائم على نموذج البيانات العامة، وحل Contoso Common، وحلين يحتويان على تطبيقات ومقسمين إلى طبقات. على سبيل المثال، يتم تخصيص نموذج الاتصال فِي ملحق الرعاية الصحية القائمة على نموذج البيانات العامة. يتم تعديل عناصر النموذج ذاتها فِي حل Contoso Common. سوف يرى المُستخدمون التغييرات من الحل Contoso Common.

رسم تخطيطي يُوضح مثال طبقات الحل.

بنية الحل

إستراتيجيات إنشاء الحلول، مُدرجة بالترتيب من الأبسط إلى الأكثر تعقيدًا، هي:

  • حل فردي
  • حلول مُتعددة
  • حلول مُتعددة ذات مكونات مشتركة

سوف تُنشئ مجموعة عمل من التخصيصات من خلال إنشاء حل واحد. يُساعد هذا النهج فِي تسهيل العثور على العناصر التي خصصتها. بالإضافة إلى ذلك، يُوصى بهذا الأسلوب عندما تريد فقط إنشاء حل واحد مُدار. إذا كنت تظن أنك قد تضطر إلى تقسيم الحل فِي المستقبل، ففكر فِي استخدام حلول مُتعددة.

إذا كان لديك حلان غير مرتبطين لا يتشاركان المكونات، فإن النهج الأكثر مُباشرة يكمن فِي إنشاء حلين غير مُدارين.

قد يكون لديك العديد من الحلول التي تشترك فِي المكونات. قد تكون لديك مجموعة معينة من الوظائف المُشتركة ضمن حلول مُتعددة، وهذه الوظيفة المشتركة متوافقة مع أي من الوظائف الأخرى الفريدة لكل حل. يُمكن تضمين بعض المكونات فِي أكثر من حل، بشرط أن تكون أي تغييرات تم إجراؤها عليها متوافقة مع جميع الحلول الأخرى التي تستخدمها. من الهام أن تُشارك جميع الحلول ناشر الحل ذاته. إذا لم يكن ناشر الحل مُتطابقًا، فلن تتمكن من تثبيت أكثر من حل من حلولك.

القواعد التي يجب اتباعها مع الحلول:

  • أنشئ ناشر حل، واستخدمه لجميع الحلول.
  • لا تستخدم الناشر الافتراضي، أو الحل الافتراضي، أو حل Dataverse الافتراضي.
  • حافظ على بساطة هيكل الحل قدر الإمكان.
  • تجنب تحديد مربع الاختيار تضمين جميع المكونات إلا إذا كنت تضيف جدولاً غير مُدار.
  • لا تُضمن بيانات التعريف للجدول إلا عندما تغير خصائص الجدول.
  • لا تضف المكونات الفرعية للجدول (الأعمدة، والنماذج، وطرق العرض، وما إلى ذلك) إلا عندما تغيرها.

تُعرف تجزئة الحل بإضافة ما هو مطلوب فقط إلى الحل.

لقطة شاشة تُظهر إضافة جدول.

عند اتخاذ قرار بشأن كيفية التقسيم إلى حل واحد أو أكثر من حل، تجب مراعاة ما يلي:

  • لا تستخدم حلولاً مُتعددة إلا لغرض ملموس لأن الحلول المُتعددة تضيف تعقيدًا.
  • يجب تجنب الحلول المُتعددة التي تُشارك المكونات.
  • تتطلب الحلول المُتعددة بيئاتها الخاصة لضمان بقائها مُستقلة.
  • يجب توخي الحذر لإدارة التبعيات.
  • يجب أن يعرف الصنّاع الحل الذي يجب وضع مكونات جديدة فيه.
  • الأنماط الشائعة لتقسيم الحلول المُتعددة هي التقسيم الأفقي، والرأسي.

تقسيم الحل الأفقي

يشير الانقسام الأفقي إلى إنشاء حلول تحتوي فقط على مكونات من نفس النوع.

رسم تخطيطي لتقسيم الحل الأفقي.

طبقات الحل العمودي

ستجمع الطبقات العمودية المكونات فِي مناطق وظيفية. سيكون لديك غالبًا قاعدة مشتركة/حل مشترك مع حلول مُنفصلة لكل مجال عمل رئيسي.

رسم تخطيطي يُوضح طبقات الحل العمودي.

يُمكنك الجمع بين التقسيم العمودي والأفقي، على سبيل المثال، القاعدة التي تحتوي على جميع الجداول والعمليات مع حلول مُنفصلة لكل تطبيق.