المقدمة
بصفتك مهندس Salesforce أو مستشارا، فإن الاختيار بين إنشاء حزم مدارة أو غير مدارة قرار
استراتيجي يمكن أن يؤثر بشكل كبير في سير عملك ودورة حياة تطبيقاتك على Salesforce. يتعمق
هذا الدليل في كل نوع من الحزم، ويعرض حالات الاستخدام والفوائد والاعتبارات لمساعدتك على
اتخاذ قرار واع بناء على احتياجاتك المحددة.
ما الحزم المدارة وغير المدارة؟
عادة ما تنشئ شركاء Salesforce الحزم المدارة وتتاح عبر Salesforce
AppExchange. تأتي هذه الحزم مع namespace يعزلها تماما عن مؤسستك والحزم الأخرى، ما يمنع
تعارض الأسماء بين مؤسسات Salesforce، لكنه يأتي أيضا بقيوده الخاصة.
غالبا ما تُستخدم الحزم غير المدارة كوسيلة لتوزيع مشاريع مفتوحة المصدر
أو قوالب يستطيع المطورون تخصيصها. لا تتضمن namespace، لذلك تكون قابلة للتحرير بالكامل،
لكنها تكون أيضا أكثر عرضة لتعارض الأسماء. تعد الحزم غير المدارة طريقة جيدة لإدارة
إصدارات تخصيص مؤسستك وتطويرها مع إبقائها مفتوحة، ما يسمح لك كذلك بالإشارة إلى بيانات
وصفية وكود موجودين مسبقا في المؤسسة الهدف.
في Tekunda، بسّطنا عمليات إدارة وإصدار الحزم المدارة وغير المدارة باستخدام Tekunda
Serpent. تجعل
أداتنا إدارة البيانات الوصفية والحزم سهلة، حتى تتمكن من التركيز على الابتكار بدلا من
المهام الإدارية. هل أنت مستعد لتبسيط تجربة تطوير Salesforce لديك؟
ابدأ مجانا - دون بطاقة ائتمان
الآن وكن من أوائل من يحولون سير عملهم مع Tekunda
Serpent!
مقارنة تفصيلية
الإعداد والتخصيص
-
الحزم المدارة
-
حالات الاستخدام: مثالية لتطبيقات مثل التكاملات الخارجية أو
توسيع Salesforce بحزمة مستقلة. على سبيل المثال، إنشاء أو تثبيت أداة جاهزة لأتمتة
التسويق أو تطبيق لخدمة العملاء.
-
الفوائد: تكون مقفلة، أي لا يمكن تعديل المكونات الأساسية، ما
يحافظ على السلامة ويضمن دعم المورّد.
-
الاعتبارات: قد لا يناسب التخصيص المحدود كل الاحتياجات الخاصة
بالأعمال.
-
الحزم غير المدارة
-
حالات الاستخدام: مناسبة عندما تحتاج إلى حل مخصص للغاية، مثل
تطوير تطبيق خاص بعمليات عملك أو إنشاء قوالب يمكن تعديلها لإعدادات عملاء مختلفة.
-
الفوائد: يتيح الوصول الكامل إلى الكود للمطورين تعديل أي جانب من
الحزمة ليناسب متطلباتهم بدقة.
-
الاعتبارات: تتطلب معرفة أعمق بتطوير Salesforce، وقد تؤدي إلى
أوقات نشر أطول.
الدعم والصيانة
-
الحزم المدارة
-
توفر دعم المورّد، وتحديثات منتظمة، وضمانات توافق مع إصدارات Salesforce الجديدة،
ما يقلل العبء الإداري على العميل أو المستخدم.
-
الحزم غير المدارة
-
تكون الصيانة والتحديثات مسؤولية العميل أو المستخدم، ما قد يزيد عبء العمل على
فريق تكنولوجيا المعلومات لديه، وهو ما يجعلها مناسبة للمشاريع الداخلية ومشاريع
الاستشارات.
النشر والتحديثات
-
الحزم المدارة
-
تكون سريعة النشر لأنها مهيأة مسبقا. يتولى المورّد التحديثات وينشرها بسلاسة في
بيئة العميل أو المستخدم.
-
الحزم غير المدارة
-
تتطلب تكاملا واختبارا دقيقين، خاصة أثناء التحديثات، للتأكد من أنها لا تتداخل مع
التخصيصات الحالية.
اختيار الحزمة المناسبة لاحتياجاتك
عند الاختيار بين الحزم المدارة وغير المدارة، ضع في اعتبارك ما يلي:
-
تعقيد المشروع واحتياجات التخصيص: إذا كان مشروعك يتطلب تخصيصا واسعا،
فقد تكون الحزم غير المدارة هي الخيار الأنسب. أما في المشاريع المستقلة، فقد توفر
الحزم المدارة الوقت والجهد.
-
توفر الموارد: هل لديك الأشخاص المهرة لإدارة التعقيدات المحتملة التي
تأتي مع الحزم غير المدارة؟
-
قيود الميزانية: قد تبدو الحزم المدارة أكثر تكلفة في البداية، لكن
يجب النظر إلى إجمالي تكلفة الملكية، بما في ذلك الصيانة والترقيات المستقبلية.
-
وقت الوصول إلى السوق: تتيح الحزم المدارة نشرا أسرع، وهو أمر قد يكون
حاسما للمشاريع الحساسة للوقت.
تأثيرات CI/CD على الحزم المدارة وغير المدارة
يعد التكامل المستمر والنشر المستمر CI/CD من المكونات الأساسية في تطوير البرمجيات
الحديث، خاصة في البيئات الديناميكية مثل Salesforce. يمكن أن يكون للاختيار بين الحزم
المدارة وغير المدارة تأثير كبير على استراتيجيات CI/CD لديك.
CI/CD عند تطوير الحزم المدارة
عادة ما ينشئ المطورون الحزم المدارة بهدف توزيع تطبيقاتهم على
Salesforce AppExchange، وغالبا مع توجه تجاري. فيما يلي أهم اعتبارات CI/CD:
-
التحكم في الإصدارات وإدارة الإصدارات: يجب أن تلتزم الحزم المدارة
بعمليات الترقية وإدارة الإصدارات الخاصة بـ Salesforce، وهي عمليات أكثر تنظيما لضمان
التوافق والدعم. يحتاج المطورون إلى إدارة الإصدارات بدقة، لأن إصدارات الحزم لا يمكن
تغييرها بعد نشرها.
-
بادئة namespace: تملك كل حزمة مدارة بادئة namespace تميزها بشكل
فريد عبر جميع مؤسسات Salesforce. يجب إدارة هذا namespace بعناية في التحكم في المصدر
لضمان الاتساق بين بيئات التطوير والإنتاج.
-
اختبار Beta وإصدارات التصحيح: غالبا ما تتضمن خطوط CI/CD للحزم
المدارة إنشاء إصدارات beta للاختبار وإصدارات patch لإصلاح المشكلات بعد الإصدار.
تساعد أتمتة هذه العمليات في الحفاظ على استقرار الحزمة.
-
إدارة التراخيص: يعد دمج أطر الترخيص ضروريا للحزم المدارة، خاصة إذا
كانت تجارية. قد تحتاج عملية CI/CD لديك إلى خطوات لتحديث آليات الترخيص كجزء من خط
النشر.
CI/CD عند تطوير الحزم غير المدارة
الحزم غير المدارة أكثر مرونة، وغالبا ما تُستخدم للمشاريع المخصصة داخل
مؤسسة محددة أو لتوزيع مشاريع مفتوحة المصدر لا يحتفظ فيها المطور بأي تحكم ملكي. تشمل
اعتبارات CI/CD ما يلي:
-
تحكم كامل في الكود: يمتلك المطورون تحكما كاملا في الكود المصدري، ما
يسهل تطبيق ممارسات CI/CD مثل الاختبار المؤتمت، وفحوصات الأسلوب، وتقييم جودة الكود من
دون قيود.
-
مرونة في التحديثات: تسمح الحزم غير المدارة للمطورين بتطبيق
التحديثات والتغييرات مباشرة في أي وقت، دعما لممارسات التطوير المرن. ويمكن استخدام
أدوات الأتمتة لتبسيط نشر الميزات والإصلاحات الجديدة.
-
لا توجد إدارة namespace: غياب namespace في الحزم غير المدارة يبسط
بعض جوانب التحكم في الإصدارات وإدارة الكود المصدري، ما يقلل العبء في إدارة هذه
العناصر ضمن خطوط CI/CD.
-
سكربتات نشر مخصصة: يستطيع المطورون إنشاء سكربتات مخصصة واستخدام
أدوات CI/CD مثل Jenkins أو CircleCI أو GitHub Actions لأتمتة عمليات البناء والنشر
بما يناسب احتياجات مؤسستهم المحددة.
اختيار الاستراتيجية المناسبة
يعتمد الاختيار بين تطوير حزمة مدارة أو غير مدارة غالبا على حالة الاستخدام المقصودة
واستراتيجية التوزيع:
-
التوزيع التجاري: إذا كنت تخطط لبيع تطبيقك على AppExchange، فالحزمة
المدارة ضرورية. يجب أن تدعم خطوط CI/CD لديك اختبارات صارمة وفحوصات امتثال لتلبية
معايير Salesforce.
-
الاستخدام الداخلي أو المصدر المفتوح: بالنسبة إلى الحزم المخصصة
للاستخدام الداخلي أو التوزيع مفتوح المصدر من دون نية تجارية، تقدم الحزم غير المدارة
مرونة أكبر وتكاملا أسهل مع سير عمل CI/CD المخصص.
-
تقييم التعقيد: ضع في اعتبارك تعقيد بيئة Salesforce لديك. قد تتعامل
البيئة البسيطة جيدا مع الحزم المدارة، بينما قد تستفيد البيئة المعقدة والمخصصة بدرجة
عالية أكثر من الحزم غير المدارة.
-
تقييم مهارات الفريق: تأكد من أن فريقك يملك المهارات المطلوبة لإدارة
نوع الحزمة المختار ضمن خطوط CI/CD. تتطلب الحزم غير المدارة مهارات DevOps قوية
للاستفادة الكاملة من مرونتها.
-
النظر في الصيانة طويلة الأمد: قيّم كيف يؤثر كل خيار في الصيانة
وقابلية التوسع على المدى الطويل. تقلل الحزم المدارة عبء الصيانة لكن على حساب
المرونة، بينما توفر الحزم غير المدارة مرونة أكبر لكنها تتطلب جهود صيانة مستمرة.
الخلاصة
تقدم الحزم المدارة وغير المدارة مزايا مختلفة لمسؤولي ومطوري Salesforce. ومن خلال تقييم
احتياجات مؤسستك، وتوفر الموارد، والاستراتيجية طويلة الأمد بعناية، يمكنك اختيار حزمة
تلبي متطلباتك الفورية وتدعم أيضا نمو بيئة Salesforce وتطورها.
سيمكنك اتخاذ قرار واع من تمكين فريقك من استخدام Salesforce بفاعلية أكبر، مع تحقيق أقصى
استفادة من المنصة ومواءمتها مع أهداف عملك.
في Tekunda، بسّطنا عمليات إدارة وإصدار الحزم المدارة وغير المدارة باستخدام Tekunda
Serpent. تجعل
أداتنا إدارة البيانات الوصفية والحزم سهلة، حتى تتمكن من التركيز على الابتكار بدلا من
المهام الإدارية. هل أنت مستعد لتبسيط تجربة تطوير Salesforce لديك؟
ابدأ مجانا - دون بطاقة ائتمان
الآن وكن من أوائل من يحولون سير عملهم مع Tekunda
Serpent!