المراجعة الهندسية
تقييم البنية الحالية وفق مبادئ الهندسة الموجهة نحو الخدمات، مع تقرير عن نقاط القوة ونقاط الضعف.
استشارات هندسة البرمجيات · SOA والخدمات
استشارات هندسة البرمجيات مراجعة مستقلة لبنية نظامكم، تليها خطة مكتوبة تحدد ما يُحتفظ به، وما يُقسَّم إلى خدمات، وبأي ترتيب. ندرس الشيفرة والبيانات وعمليات العمل معاً، ونخبركم حين لا يستحق التقسيم ما يضيفه من تعقيد.
لماذا تهم هندسة البرمجيات
حين تكون جميع الميزات في تطبيق واحد كبير، قد يؤدي تعديل في الفوترة إلى تعطّل المخزون، وقد تُبطئ مهمة تقارير كثيفة عملية إتمام الشراء. فيبدأ الفريق في تجنب التعديلات، ويتكيف العمل مع البرنامج بدلاً من العكس.
تقسّم الهندسة الموجهة نحو الخدمات (SOA) والخدمات المصغرة (microservices) النظام إلى أجزاء ذات حدود واضحة وواجهات متفق عليها. وإذا نُفّذ ذلك جيداً، أمكن لكل جزء أن يتغير ويتوسع بمفرده. أما إذا نُفّذ قبل أوانه، فإنه يضيف اتصالات شبكية وعمليات نشر ونقاط تعطّل لا يحتاج إليها نظام أصغر.
نطاق العمل
يمكن أن يشمل التعاقد مجالاً واحداً أو المجالات الستة كلها. ويُذكر النطاق بنداً بنداً في عرض السعر المكتوب.
تقييم البنية الحالية وفق مبادئ الهندسة الموجهة نحو الخدمات، مع تقرير عن نقاط القوة ونقاط الضعف.
تقسيم عمليات العمل إلى خدمات مستقلة قابلة لإعادة الاستخدام، مع تحديد واجهاتها وعقودها.
انتقال تدريجي من تطبيق واحد كبير إلى خدمات منفصلة، مخطط لإبقاء التعطّل في حدوده الدنيا.
نقطة دخول واحدة خاضعة للتحكم إلى الخدمات، تتولى المصادقة وتحديد معدل الطلبات وموازنة الأحمال.
سجلات مركزية وتتبّع موزّع ومقاييس، لتروا ما تفعله كل خدمة وأين تتباطأ الطلبات.
مبادئ انعدام الثقة (zero trust)، وتشفير الاتصال بين الخدمات (mTLS)، وإدارة الهوية على مستوى النظام كله.
اختيار البنية
لا توجد إجابة واحدة صحيحة. يوضح الجدول كيف نوازن بين الخيارات مع عملائنا، أما التوصية الخاصة بنظامكم فتأتي من المراجعة.
| التطبيق الموحد المعياري | SOA | الخدمات المصغرة | |
|---|---|---|---|
| طريقة تواصل الأجزاء | استدعاءات دوال داخل تطبيق واحد | عبر ناقل خدمات مركزي أو عقود مشتركة | كل خدمة توفر واجهة API خاصة بها |
| النشر | عملية نشر واحدة لكل شيء | تُنشر الخدمات بشكل منفصل بتنسيق مركزي | تُنشر كل خدمة بمفردها |
| العبء التشغيلي | الأدنى | متوسط | الأعلى: يتطلب المراقبة والتتبّع وإدارة الشبكة |
| تناسب | الفرق الصغيرة والأنظمة التي تتغير أجزاؤها معاً | المؤسسات الكبيرة التي تربط عدة أنظمة قائمة | الأجزاء التي تختلف كثيراً في الأحمال أو دورات الإصدار |
بالنسبة إلى كثير من الشركات، يكفي تطبيق موحد معياري جيد البنية مع طبقة API واضحة. ولا نوصي بالتقسيم إلا حيث تُظهر المراجعة سبباً واضحاً.
كيف يسير التعاقد
كيف نقدم المشورة
تتبع حدود الخدمات المسار الفعلي للطلبات والمخزون والحسابات والموافقات داخل شركتكم.
نحدد حجم البنية وفق فريقكم وحجم الزيارات الحالي مع مجال للنمو، لا وفق نموذج الشركات الكبرى.
توضح كل توصية سبب اتخاذها والبدائل التي دُرست، ليتمكن فريقكم من مناقشتها والاعتراض عليها.
من يراجعون هندسة نظامكم يكتبون ويشغّلون كل يوم برمجيات قيد الاستخدام الفعلي.
أسئلة شائعة
في SOA تتواصل الخدمات عادةً عبر طبقة مركزية مثل ناقل خدمات المؤسسة. أما الخدمات المصغرة فتُنشر بشكل مستقل وتتواصل عبر واجهات API الخاصة بها. قد تعني SOA تعقيداً شبكياً أقل في المؤسسات الكبيرة، بينما تمنح الخدمات المصغرة استقلالية أكبر بتكلفة تشغيل أعلى. ويعتمد الخيار المناسب على أنظمتكم القائمة.
لا. كثير من الأنظمة يناسبها أكثر تطبيقٌ موحد معياري بحدود داخلية واضحة وطبقة API. ولا نوصي بالتقسيم إلى خدمات إلا حيث تجد المراجعة سبباً ملموساً، مثل حمل مختلف كثيراً على جزء واحد.
يعتمد ذلك على حجم النظام وحالته، لذلك لا نقدّر المدة قبل المراجعة. تقسّم خارطة الطريق العمل إلى مراحل، وتُكتب هذه المراحل في العقد إذا تولينا التنفيذ.
تُسعَّر المراجعة وخارطة الطريق بشكل منفصل عن التنفيذ، ولكل منهما عرض سعر مكتوب ومفصّل بنداً بنداً. وبعد موافقتكم على عرض السعر لا يتغير السعر.
نستخدم REST وGraphQL وgRPC لواجهات الخدمات، وطوابير الرسائل للعمليات غير المتزامنة، والحاويات لتوحيد البيئات. وتُختار الأدوات المحددة في مرحلة التصميم.
نعم. يشارك مطوروكم في المراجعة، ويُناقش التصميم المستهدف معهم قبل اعتماده. وتُعقد الاجتماعات عبر الفيديو، وتُوثَّق جميع القرارات كتابةً.
صِفوا نظامكم وما يعيق تطوره. نبدأ باجتماع تعريفي مجاني عبر الفيديو، ثم نرسل إليكم نطاق المراجعة مكتوباً.
اجتماع تعريفي مجاني، ثم عرض سعر مكتوب ومفصّل. دون أي التزام.