نُبقي على الأصول القيّمة القائمة، ونمضي إلى البنية التالية.
تحمل المكوّنات التي استُخدمت سنوات طويلة قرارات تتعلق بالعمل ومواصفات خاصة بالأجهزة. لا تعمد كومورا سوفت إلى استبدالها كلها دفعة واحدة، بل تفحص أدوارها وتبعياتها، وتدعم الترحيل بالجمع بين مواصلة الاستخدام ومراجعة طريقة الربط والاستبدال.
المشاكل التي يمكنكم استشارتنا بشأنها
- في COM / ActiveX / OCX مواصفات مهمة، ولا يمكن استبدالها في الحال
- مكوّنات 32bit تعوق تحديث التطبيق أو بيئة التشغيل
- تريدون استخدام وظائف مبنية بـ C++ من تطبيق .NET جديد
- يصعب إعادة البناء الشاملة، لكنّ مواصلة الصيانة بالبنية الحالية تقلقكم أيضًا
- تريدون أولًا ترتيب التبعيات وترتيب الترحيل تمهيدًا لاستبدال مستقبلي
نرتّب ما نُبقي عليه، وما نربطه، وما نستبدله
تحديد الأصول التي ينبغي الإبقاء عليها
نتحقق هل المكوّن عنصر واجهة، أم يحمل منطق الأعمال، أم يتولّى الاتصال بالأجهزة. ونفحص الشيفرة المصدرية وشروط الاستخدام والبيئة المعتمَد عليها، ثم نرتّب قيمة مواصلة الاستخدام وقيوده.
تصميم الربط بالجانب الجديد
ندرس أغلفة C++/CLI، والتكامل عبر COM، والفصل في عمليات مستقلة وغيرها. ونوضّح الدور الذي تؤدّيه طبقة الربط، بما يشمل 32bit / 64bit والصلاحيات والخيوط ومعالجة الأخطاء.
تحديد ترتيب الاستبدال على مراحل
نتحقق من الوظائف المعتمِدة على المكوّن ومن الأثر على العمل الجاري، ثم نفصل بين ما يُحدَّث أولًا وما يُستبدل لاحقًا. وندرج في خطة الترحيل طريقة التحقق من المواصفات القائمة وشروط التراجع.
كيف يسير العمل
- نفحص الأصول والقيود. نرتّب دور كل مكوّن وعلاقات الاستدعاء وبيئتي التطوير والتشغيل.
- نقارن بين الأساليب. نتحقق من مزايا مواصلة الاستخدام، وإنشاء طبقة الربط، والفصل في عملية مستقلة، والاستبدال، ومن كلفة كل منها.
- نتحقق من الربط. نتحقق أولًا من المواضع غير المؤكدة، ثم نحدّد التعديلات اللازمة وترتيب الترحيل.
- ننفّذ وننقل ضمن النطاق المتفق عليه. نمضي إلى البنية الجديدة مع التحقق من السلوك القائم.
غايتنا ليست إطالة عمر المكوّنات القديمة فحسب، بل الوصول إلى حالة يُعرف فيها ما ينبغي الإبقاء عليه وأين يمكن التغيير بعد ذلك.
نتعامل بحسب محور استشارتكم
إذا كان محور الأمر تطوير مكوّن بعينه أو تعديله، فنرجو الاطلاع على تطوير مكوّنات COM، وإذا كان إعادة بناء التطبيق كله، فعلى استبدال تطبيقات ويندوز.
وإذا كنتم لا تعرفون بنية المكوّنات، فابدؤوا بإخبارنا بما تعرفونه من اسم التطبيق ولغة التطوير وسبب رغبتكم في التحديث.