“لم يكتب أحد في فريقي محرك الفوترة. لا أحد في فريقي يريد لمسه. يُعالج 14 مليون سجل بيانات مكالمة يومياً وفاتورة خاطئة واحدة هي نتيجة تنظيمية،” قال لنا نائب رئيس الهندسة في شركة اتصالات من الفئة 1 العام الماضي. تعمل المنصة لمدة 15 عاماً عبر 240 خطة أسعار، وغادر المؤلفون الأصليون الشركة قبل عقد.
هذه هي العلاقة القياسية التي تمتلكها شركات الاتصالات مع أنظمة الفوترة الخاصة بها: احترام عميق، ذعر هادئ.
النظام الذي يخاف منه الجميع
تحسب فوترة الاتصالات على Oracle Forms الرسوم عبر مئات خطط الأسعار، وتُطبق الضرائب والرسوم الإضافية والتناسب ومنطق الشهر الجزئي وطبقات الاستخدام والخصومات التعاقدية المُتفاوَض عليها بشكل فردي مع عملاء المؤسسات. إنه يعمل. لقد عمل لسنوات. ولا أحد يريد أن يكون المهندس الذي يكسره.
استبدال هذا النظام ليس مثل استبدال CRM. فاتورة خاطئة واحدة هي نتيجة تنظيمية.
لماذا أصبح التحديث لا مفر منه الآن
تتقارب ثلاث قوى. يتطلب تقطيع شبكة 5G وطبقات أجهزة IoT منطق فوترة لم يُصمم نظام Forms الأصلي له، وتستغرق خطط الأسعار الجديدة أسابيع من تطوير PL/SQL. يتوقع عملاء الأعمال لوحة معلومات خدمة ذاتية تُجيب على “كم أنفقنا هذا الشهر؟” دون مكالمة دعم، ولا يمكن لـ Forms كشف تلك البيانات لبوابة عميل. يتطلب منظمو الاتصالات TRAI وFCC والاتحاد الأوروبي بشكل متزايد تقارير امتثال آلية — الاستخراج اليدوي في وقت التدقيق لم يعد مقبولاً.
نهج متعدد الطبقات يعمل فعلاً
لا أحد عاقل يُعيد كتابة نظام فوترة اتصالات من الصفر. المخاطر عالية جداً، والجدول الزمني طويل جداً. نستخدم هجرة من ثلاث طبقات بدلاً من ذلك.
الطبقة 1: استخراج وحفظ. تحليل آلي لكل حساب فوترة، وقاعدة خطة أسعار، وروتين ضريبة. الناتج هو المواصفات الرسمية لما يفعله النظام فعلاً — عادةً للمرة الأولى التي يمتلك فيها أحد واحداً.
الطبقة 2: واجهة جديدة، نفس المحرك. يتصل تطبيق TypeScript بنفس قاعدة بيانات الفوترة من خلال REST APIs. يحصل المُسوّون والمحللون على واجهة مستخدم حديثة. يبقى محرك الحساب تحته دون مساس.
الطبقة 3: تحديث تدريجي للمحرك. بمجرد أن تستقر طبقة الواجهة، تُهاجر مكونات الفوترة الفردية إلى البنية الجديدة، فئة خطة أسعار واحدة في كل مرة، تم التحقق منها بالتوازي مع المحرك القديم.
هذا يُحوِّل أكثر الهجرات رعباً في تقنية معلومات المؤسسات إلى سلسلة من الخطوات الصغيرة القابلة للعكس. النظام الكامل ليس أبداً في خطر. كل خطوة لها تراجع. لا يحصل فريق العمليات على ثورة — يحصلون على نافذة أفضل على نظام يستمر في العمل تماماً كما كان دائماً، حتى يُستبدل بهدوء بشيء يمكنهم تمديده.