أبني وأطوّر أنظمة .NET الخلفيةأبنيوأطوّرأنظمة.NETالخلفيةللمنصّات الحكومية والمؤسسيةللمنصّاتالحكوميةوالمؤسسية
واجهات ASP.NET Core البرمجية، والتكاملات الحكومية، و Plugins على Dynamics 365 / Dataverse، وتحسين الأداء — لمنصّات عربية / إنجليزية تعمل في بيئة الإنتاج في دول الخليج.
الهوية الوطنية والأنظمة الحكوميةتسجيل الدخول عبر OpenID Connect و REST و OAuth 2.0 و Service Bus
Dataverse على مستوى الكودC# Plugins و Custom Workflow Activities
منصّات في بيئة الإنتاجقطر والكويت والسعودية · عربي / إنجليزي
عزل البيانات لكل جهةأمان على مستوى الصفوف، وصلاحيات حسب الدور، وسجل تدقيق
الخدمات
أين يمكنني المساعدة
معظم عملي داخل أنظمة تعمل بالفعل في بيئة الإنتاج. أتعرّف بسرعة على كود لم أكتبه، وأتتبّع المشكلة عبر الواجهة البرمجية و Dataverse والأنظمة الخارجية، ثم أسلّم الإصلاح أو الخاصية دون كسر ما يعمل.
01
تكامل الأنظمة والواجهات البرمجية
أنظمتك تحتاج إلى تبادل البيانات بأمان — أو أن تكاملًا قائمًا يتعطّل باستمرار.
تسجيل الدخول بالهوية الوطنية (OpenID Connect)، والواجهات البرمجية الحكومية والخارجية عبر REST و OAuth 2.0، و Webhooks و Azure Service Bus، والمزامنة في الخلفية مع إعادة المحاولة. وكذلك معرفة سبب تعطّل تكامل قائم في بيئة الإنتاج.
REST
OAuth 2.0
OpenID Connect
Webhooks
Azure Service Bus
Azure Functions
02
تشخيص الأداء وتحسينه
الواجهة البرمجية أو التقارير أو شاشات Dynamics 365 بطيئة.
القياس ← التشخيص ← الإصلاح ← التحقق. أقيس زمن كل طلب وكل استدعاء CRM خلفه، وأعرف أين يضيع الوقت، ثم أصلح ذلك تحديدًا: الاستعلامات و FetchXML، والتقسيم إلى صفحات، والأعمدة المطلوبة فقط (ColumnSet)، والتخزين المؤقت، وتقليل الاستدعاءات، والمعالجة على دفعات، واستعلامات SQL Server و EF Core.
Request timing
FetchXML
SQL Server
EF Core
Caching
03
تطوير Dynamics 365 / Dataverse
نظام Dynamics 365 لديك يحتاج إلى منطق عمل لا تكفي له الإعدادات.
C# Plugins و Custom Workflow Activities، و Power Automate، ونموذج البيانات وأدوار الأمان — وبوابات ASP.NET Core مخصّصة على Dataverse مع تسجيل الدخول عبر Entra ID والموافقات والإشعارات.
C# Plugins
Custom Workflow Activities
Power Automate
Dataverse SDK
Entra ID
04
تطوير أنظمة .NET الخلفية والواجهات البرمجية
تحتاج إلى نظام خلفي، أو إلى خصائص جديدة في نظامك الحالي.
واجهات برمجية على ASP.NET Core وفق Clean Architecture: و EF Core و SQL Server، و JWT وصلاحيات حسب الدور، وعزل البيانات لكل جهة، وإنشاء المستندات، والاختبارات. وحدات جديدة داخل نظامك، أو نظام خلفي أبنيه بالكامل.
ASP.NET Core
EF Core
SQL Server
Clean Architecture
CQRS (MediatR)
xUnit
05
أنظمة ASP.NET / MVC القائمة
لديك نظام يعمل ولا أحد يريد الاقتراب منه.
أقرأ الكود أولًا. ثم أصلح الأخطاء، وأغلق الثغرات الأمنية مثل Stored XSS، وأعيد الهيكلة بخطوات صغيرة وأضيف الاختبارات — دون كسر ما يعمل بالفعل.
ASP.NET MVC
Razor
jQuery
SQL Server
تشخيص الأداء
عندما يكون النظام بطيئًا، أقيس قبل أن أغيّر أي شيء
الخطوات الأربع نفسها في كل مرة. وهذا ما حدث على منصّة خدمات حكومية إلكترونية، دون تفاصيل العميل.
01
القياس
قياس زمن كل طلب يسجّل كل استدعاء CRM خلف الواجهة البرمجية — نوع العملية والجدول والمدة — إلى جانب إجمالي زمن CRM وزمن التطبيق.
02
التشخيص
معرفة أين يضيع الوقت فعلًا: استدعاءات متكرّرة، وأعمدة أكثر من اللازم (ColumnSet)، واستعلامات بلا تقسيم إلى صفحات، والبيانات نفسها تُجلب مرة بعد مرة، وخدمات خارجية تصل إلى حدّ الطلبات.
03
الإصلاح
تغيير ما تشير إليه الأرقام فقط: FetchXML و QueryExpression بالأعمدة المطلوبة فقط، والتقسيم إلى صفحات، والتخزين المؤقت للبيانات البطيئة أو المحدودة المعدّل، والمعالجة على دفعات، وإعادة المحاولة مع التراجع التدريجي.
04
التحقق
تشغيل الطلبات نفسها مرة أخرى ومقارنة الأزمنة، والتأكد من أن المهام الجماعية تكتمل دون أخطاء.
من تحقيق حقيقي
كان تحديث جماعي للحسابات يفشل باستمرار لأن خدمة حكومية خارجية كانت تردّ بالخطأ HTTP 429 (طلبات كثيرة جدًا). التخزين المؤقت للبيانات، وإعادة المحاولة مع التراجع التدريجي، والمعالجة على دفعات جعلت المهمة تكتمل بشكل موثوق. وفي منصّة أخرى أعدت بناء لوحات التراخيص لتجلب فقط ما يحتاجه كل رسم بياني.
دراسات حالة مختارة
خمسة مشاريع — Dynamics 365 و .NET
كل دراسة تعرض المشكلة، وما قمت به، والنتيجة. مشاريع العملاء موصوفة بمستوى عام، دون أي كود أو بيانات أو إعدادات خاصة.
منصّة خدمات إلكترونية للمواطنين تابعة لوزارة التنمية الاجتماعية والأسرة في قطر، تعمل في بيئة الإنتاج. بنيت خدمة التكامل فيها من الصفر، وطوّرت واجهاتها البرمجية و Plugins سير عمل الطلبات، وعملت على البوابة.
منصّة Dynamics 365 للجهات الحكومية في الكويت و CAIT و Microsoft، لإدارة تراخيص Microsoft وطلبات Azure وميزانيات الجهات واستهلاكها وطلبات الدعم واستبيانات التراخيص. كتبت طبقة Plugins على Dataverse وأسّست البوابة وفق Clean Architecture.
طبقة Plugins على Dataverse وتأسيس البوابة
مخطط Dataverse و Plugins وسير العمل والتخصيصات
متابعة الميزانية واستهلاك Azure لكل جهة
موافقات متعددة المستويات وإشعارات فورية ومستندات موقّعة
نظام لإدارة الاختبارات لقطاع التعليم الحكومي في السعودية، مع صلاحيات متعددة الأدوار، ويعمل في بيئة الإنتاج. عملت عليه كمطوّر Full Stack باستخدام ASP.NET و Blazor.
نظام عربي (من اليمين لليسار) لجمع مستندات الأدلة ومراجعتها واعتمادها وفق معايير قياس التحول الرقمي الحكومي في السعودية (قياس)، منظّم حسب الموقع والسنة.
أمان على مستوى الصفوف حسب الموقع مبني بـ Expression Trees
Repository و Unit of Work مع معاملات عبر Execution Strategy
إصدارات للمستندات ببصمة SHA-256 وسير عمل مراجعة ← اعتماد
مهندس يعمل حيث تلتقي أنظمة .NET الخلفية مع Dynamics 365
درست علوم الحاسب والذكاء الاصطناعي، وتدرّبت على تطوير .NET المتكامل في معهد تكنولوجيا المعلومات (ITI)، وأعمل منذ أكثر من عامين على منصّات حكومية في الخليج — بدأت بنظام اختبارات حكومي في السعودية، ثم منصّات Dynamics 365 في قطر والكويت. معظم عملي هو الجزء الذي لا يراه المستخدم: التكاملات، ومنطق سير العمل والموافقات، و Plugins على Dataverse، والصلاحيات، والمستندات التي يجب أن يُصدرها النظام.