التحدي
متجر إلكتروني ونظام محاسبة ومخزون محلي يعمل على Windows داخل شبكة الشركة — يعملان بمعزل تام.
النتيجة المألوفة: صنف نفد من المستودع ولا يزال معروضاً للبيع على المتجر، فيُباع ما لا يوجد ويُلغى الطلب ويخسر العميل ثقته. وأسعار تُحدَّث في نظام المحاسبة ولا تصل إلى المتجر، فيُباع بسعر قديم.
العقبة التقنية أن نظام المحاسبة المحلي لا يوفّر واجهة برمجية ولا يمكن الوصول إليه من الخارج، فالتكامل التقليدي عبر API غير متاح أصلاً.
ما بنيناه
برنامجاً وسيطاً (Middleware) بلغة C# يعمل كخدمة على Windows داخل شبكة العميل:
- قراءة مباشرة من قاعدة بيانات نظام المحاسبة للأصناف والكميات والأسعار
- مزامنة لحظية للمخزون والأسعار إلى المتجر الإلكتروني
- إيقاف عرض الصنف للبيع تلقائياً عند نفاد الكمية
- تحديث المنتجات والأسعار آلياً دون إدخال يدوي
- معالجة الفشل والانقطاع بإعادة محاولة تلقائية وسجلّ لكل عملية
- سجلّ تشغيل وتنبيهات عند تعذّر الاتصال بأي طرف
قرارات هندسية
الوسيط داخل الشبكة لا خارجها — بدل فتح قاعدة البيانات المحلية للإنترنت (وهو ما رفضناه لأسباب أمنية)، يعمل البرنامج داخل الشبكة ويبادر هو بالاتصال الصادر إلى المتجر. لا منفذ مفتوح ولا سطح هجوم جديد.
القراءة فقط من نظام المحاسبة — الوسيط لا يكتب في قاعدة بيانات النظام المحاسبي إطلاقاً. أي تكامل يكتب مباشرةً في قاعدة نظام محاسبي مغلق هو مخاطرة لا تُبرَّر.
الحالة محفوظة محلياً — يحتفظ الوسيط بآخر حالة مزامنة، فانقطاع الاتصال ساعات يعني استئنافاً من حيث توقّف لا إعادة مزامنة كاملة.
الأثر
- تطابق أرصدة المتجر مع المستودع لحظياً بدل فروقات تُكتشف بعد البيع
- إيقاف بيع الأصناف الناضبة تلقائياً وإنهاء إلغاءات الطلبات الناتجة عن ذلك
- تحديث الأسعار آلياً من مصدر واحد بدل الإدخال المزدوج
- تكامل نظام مغلق لا يوفّر واجهة برمجية، دون تعديله ودون تعريض قاعدة بياناته للخارج
- نوع النظام
- تكامل وبرمجية وسيطة
- القطاع
- التجارة والتجزئة
- السوق
- الخليج
- متجر إلكتروني
- نظام محاسبة محلي يعمل على Windows