إعادة صياغة كود منتج برمجيات الروبوتات الصوتية وترحيله إلى منصة AWS لتعزيز قابليته للتوسع
العميل
شركة أوروبية لبرمجيات روبوتات المحادثة الصوتية، تمتلك منتجًا برمجيًا عالي الكفاءة قائمًا على الويب بنمط البرمجيات كخدمة (SaaS) يتيح للمستخدمين بدء إجراء ما يصل إلى 3 مكالمات تسويقية في الثانية. لتسهيل توجيه المكالمات وخيارات الخدمة الذاتية وإدارة تفاعلات العملاء، يستخدم الحل البرمجي نظام الرد الصوتي التفاعلي (IVR).
الحاجة إلى تحسين جودة الكود البرمجي وتعزيز قابلية التوسع
كان المنتج البرمجي لدى العميل قديمًا ويحتاج إلى إعادة صياغة شاملة لتعزيز سهولة قراءة كوده البرمجي، وقابليته للصيانة، وتحسين أدائه. إلى جانب ذلك، أرادت الشركة ترحيل منتجها البرمجي بعد تجديده إلى السحابة لتحسين قابليته للتوسع.
ترحيل المنتج البرمجي إلى سحابة AWS وتحسين كوده البرمجي بالكامل
منح العميل ثقته لشركة ساينس سوفت وكلَّفها بإعادة صياغة منتجه البرمجي، لخبرتها الواسعة في تحديث التطبيقات والترحيل السحابي.
في غضون 8 أشهر فقط، نجح فريقنا في إعادة صياغة كود المنتج البرمجي وإصلاح الأخطاء الموجودة فيه، وترحيله إلى السحابة.
إعادة صياغة الكود البرمجي
لتحسين جودة الكود البرمجي، نفذ فريقنا الإجراءات الآتية:
- تحليل قاعدة الكود المكتوبة بلغتي البرمجة Node.js وReact.js لتحديد أوجه القصور فيها. على سبيل المثال، تضمنت استعلامات البيانات تفاعلات مفرطة بين التطبيق وقاعدة البيانات، كما كانت عملية العرض في مكونات بيئة React تحتاج إلى التحسين.
- إعادة تصميم بنية منتج البرمجيات كخدمة عن طريق تحويله إلى نمط الخدمات المصغرة لتعزيز قابلية صيانة الكود البرمجي.
- مراجعة التبعيات القديمة واستبدال بعضها ببدائل أكثر كفاءة. على سبيل المثال، استبدل فريقنا مكتبة مخططات قواعد البيانات العلائقية (ORM) القديمة بمكتبة Sequelize الحديثة، لتحسين أداء الاستعلام والاستفادة من ميزات الدعم التي توفرها المكتبة الحديثة، مثل: الفهرسة المتقدمة ومعالجة المعاملات.
- توحيد اصطلاحات التسمية وتحسين وثائق الكود البرمجي، لتعزيز سهولة قراءة الكود وإمكانية تحديثه وقابليته للتوسع.
- تحسين خوارزميات استرجاع ومعالجة البيانات باستخدام الأنماط غير المتزامنة في بيئة Node.js، لتعزيز قابلية التطبيق للتوسع.
- إعادة هيكلة مكونات بيئة React.js، لتعزيز تجربة المستخدم وتحسين أداء الواجهة الأمامية.
- إجراء اختبارات دقيقة للوحدات وعمليات التكامل، لضمان توافق كل تعديل على الكود مع المتطلبات الوظيفية وتجنب ظهور أخطاء برمجية جديدة عند إعادة التشغيل.
الكشف عن العيوب البرمجية ومعالجتها
ركز فريقنا على اكتشاف ومعالجة المشكلات الحرجة التي أثرت في أداء التطبيق وتجربة المستخدم. وكانت العيوب المكتشفة مرتبطة أساسًا بمعالجة البيانات، وتفاعلات واجهة برمجة التطبيقات، ووظائف واجهة المستخدم.
فحص مهندس ضمان الجودة في فريقنا الأسطر البرمجية التي قد تسبب حالات التسابق وتسريبات الذاكرة، مع التركيز على العمليات غير المتزامنة في بيئة Node.js. واستخدم خبراؤنا آليات التسجيل لتتبع تدفق البيانات وتحديد نقاط الضعف لحل الأخطاء المستهدفة.
لمعالجة المشكلات المكتشفة، نفَّذ مطورنا الإصلاحات الآتية في وحدات معالجة البيانات:
- تصحيح خوارزميات التحقق من صحة البيانات.
- استخدام عمليات التحقق من اتساق البيانات.
- تعزيز منطق التواصل في التطبيق وتحسين عمليات تسلسل البيانات وإلغاء تسلسلها، ويعد ذلك ضروريًا للغاية لتبادل بيانات واجهة برمجة التطبيقات على نحو موثوق ومعالجة الاستعلامات دون أي أخطاء.
بالإضافة إلى ذلك، استبدل خبراؤنا المكتبات البرمجية غير الضرورية أو غير المستخدمة بإصداراتها المُحدَّثة للتخلص من مشكلات التوافق. وأخيرًا، أجرى خبير ضمان الجودة اختبارات شاملة للمنتج البرمجي وللوحدات البرمجية للتأكد من إصلاح كافة الأخطاء البرمجية، وقد أكد خبيرنا أن الوظائف البرمجية للمنتج تعمل بأداء فائق.
الترحيل السحابي
نقل فريقنا منتج البرمجيات كخدمة بعد تجديده إلى منصة AWS السحابية لتحسين استخدام التطبيق لموارد الحوسبة، وتعزيز قابليته للتوسع المرن، ورفع أدائه.
على هذا الأساس، اخترنا الخدمات السحابية الأصلية الآتية:
- خدمة AWS Lambda للحوسبة دون خادم.
- خدمة Amazon S3 للتخزين القابل للتوسع.
- AWS EC2 لنشر الأجهزة الافتراضية.
لجعل عمليات النشر متسقة، استخدمنا العديد من تقنيات التخزين بالحاويات، وكانت Docker التقنية الأساسية لذلك. ولتحسين إمكانية الوصول إلى البيانات، نقل فريقنا قاعدة بيانات منتج البرمجيات كخدمة إلى خدمة قاعدة البيانات الارتباطية Amazon Aurora MySQL.
اعتمد خبيرنا في ضمان الجودة على إجراء اختبار الوحدات والاختبار الشامل للمنتج البرمجي من أجل التحقق من أداء وظائف التطبيق في البيئة السحابية، ما يضمن توفير تجربة مستخدم سلسة ومرنة.
تحسين كود المنتج البرمجي وتعزيز قابليته للتوسع في 8 أشهر فقط
في غضون 8 أشهر فقط، نجحت ساينس سوفت في معالجة جميع مشكلات جودة الكود البرمجي لمنتج برمجيات روبوتات المحادثة الصوتية لدى العميل، ونفذت الترحيل السحابي له بسلاسة إلى سحابة AWS. وقد أصبح تطبيق العميل يعمل بأداء فائق وسريع الاستجابة، ما يوفر تجربة مستخدم سلسة وخالية من الأعطال حتى في ظل الأحمال العالية. وبفضل ترحيل المنتج إلى السحابة، يضمن التطبيق أيضًا الاستخدام الأمثل لموارد الحوسبة وقابلية التوسع بمرونة فائقة. وقد ساعد ذلك كثيرًا على خفض رسوم الخدمات السحابية وتكاليف صيانة منتج البرمجيات كخدمة لدى العميل.
التقنيات والأدوات
Node.js, React.js, Sequelize, Docker, AWS Lambda, Amazon S3, AWS EC2, Amazon Aurora MySQL.
نتواصل معكم على الفور