أحدث الأخبار التقنية، مدعومة برؤى خبراء
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
يشير تحديث RPG إلى تحديث برمجيات الأعمال القديمة التي تعمل على أجهزة كمبيوتر IBM متوسطة النطاق، وهي برامج مكتوبة بلغة RPG (اختصار لعبارة “مولّد برامج التقارير”)، بحيث يمكن ربطها بالأنظمة الحديثة وإطالة عمرها التشغيلي رغم تناقص أعداد المبرمجين المتخصصين فيها، من دون الاستغناء عن التعليمات البرمجية الأصلية والبدء من جديد.
وتعمل هذه التطبيقات على IBM i، خليفة نظام التشغيل OS/400 الذي كان يعمل في الأصل على منصة AS/400.
وقد يشمل تحديث RPG عدة جوانب، منها تحديث واجهة المستخدم، وتنقيح التعليمات البرمجية، وتحويلها إلى لغات أحدث، وربطها ببرمجيات أخرى من خلال واجهات برمجة التطبيقات (APIs)، أو نقلها إلى السحابة. وأيًا كان النهج المتبع، فالهدف النهائي هو الحفاظ على البرمجيات التي لا تزال تؤدي وظيفتها مع تحديثها لتواكب المتطلبات الحالية. وتندرج هذه الأعمال ضمن المجال الأوسع لتحديث التطبيقات وترحيل التعليمات البرمجية القديمة.
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
تُعَد RPG واحدةً من أقدم لغات البرمجة التي لا تزال تُستخدم يوميًا في بيئات الأعمال التجارية. أنشأت IBM لغة RPG عام 1959 لكمبيوتر IBM 1401، حيث حلَّت محل معالجة البطاقات المثقبة وكانت تُستخدم لإنشاء تقارير الأعمال، وهو أصل تسميتها، وفقًا لما يوضِّحه الكاتب Nick Litten في "نبذة تاريخية عن لغة البرمجة IBM RPG". وعلى مدى عقود، تولَّت هذه اللغة عمليات كشوف الرواتب وإدارة المخزون وإصدار الفواتير لدى البنوك وشركات التأمين والمصنِّعين وتجار البيع بالتجزئة.
تطوَّرت اللغة على مر السنين. كانت RPG II، وهي الإصدار المستخدم في الستينيات والسبعينيات، مقيدةً إلى حد ما؛ إذ كان المبرمجون يُدخلون التعليمات البرمجية في أعمدة ثابتة ويعتمدون على حلقة معالجة مدمجة. أما RPG III، التي تم تقديمها مع System/38 عام 1979، فأضافت مكونات برمجية منظمة، مثل الاختبارات الشرطية والحلقات والروتينات الفرعية القابلة لإعادة الاستخدام، وهي إمكانات أصبح المبرمجون يتوقعونها. وأعادت IBM تسميتها RPG/400 عند إطلاق AS/400 عام 1988، وفقًا لموقع Wikipedia.
أما RPG IV، التي طُرحت في منتصف تسعينيات القرن الماضي، فهي الإصدار الحديث من RPG المستخدم على أنظمة IBM i. وأصبحت جزءًا من بيئة اللغات المتكاملة من IBM، ما سهّل استخدام RPG إلى جانب لغات أعمال أخرى مثل COBOL وC. ومنذ ذلك الحين، واصلت IBM تحديث RPG تدريجيًا، مبتعدةً بها عن تنسيقها القديم الصارم القائم على الأعمدة. ويمكن كتابة RPG حاليًا – التي تُعرف غالبًا باسم RPGLE أو ILE RPG – بتنسيق حر يشبه التعليمات البرمجية الحديثة المعتادة إلى حد كبير مقارنةً بإصدارات RPG التي كانت مستخدمة قبل عقود.
ما المقصود تحديدًا بمصطلح “RPG الحديثة”؟ يمكن أن يتراوح تحديث تطبيقات RPG – وهو عمل يندرج غالبًا ضمن المجال الأوسع لتحديث IBM i – بين تحسينات ظاهرية وتغييرات أعمق.
ومن التحسينات الظاهرية تحديث واجهة المستخدم، وذلك باستبدال “الشاشة الخضراء” النصية – أي شاشة الوحدة الطرفية ذات النص الأخضر على خلفية سوداء التي تميز تطبيقات IBM i التقليدية – بواجهة ويب أو واجهة للأجهزة المحمولة، مع الإبقاء على منطق العمل الأساسي دون تغيير. وغالبًا ما يكون هذا التحسين الأسرع تنفيذًا والأوضح أثرًا للمستخدم. ويتمثل نهج مشابه في الإبقاء على RPG كما هي، مع إتاحة منطق الأعمال فيها في صورة خدمات ويب، أي واجهات برمجة تطبيقات تتيح للتطبيقات الحديثة استدعاء وظائف التعليمات البرمجية القديمة والوصول إلى بياناتها.
ومن الأساليب الأكثر تعمقًا إعادة هيكلة التعليمات البرمجية، أي تحسين بنية التعليمات البرمجية دون تغيير وظائفها، مثل تحويل RPG ذات التنسيق الثابت إلى تنسيق حر، وتقسيم البرامج الكبيرة إلى وحدات أصغر، واستبدال تعريفات قواعد البيانات القديمة باستخدام SQL، وفقًا لـ Litten. يمكن توسيع IBM Bob، وكيل البرمجة بالذكاء الاصطناعي من IBM، بمعرفة متخصصة بمنصة IBM i للمساعدة في هذه المهمة.
والسبب الأكثر إلحاحًا وراء أهمية هذا العمل الآن هو عامل بشري وليس تقنيًا. فالمبرمجون الذين أنشؤوا هذه الأنظمة يتقاعدون، كما أن RPG نادرًا ما يتم تدريسها في الجامعات، ولذلك يتناقص عدد المبرمجين القادرين على استبدالهم. "تُعَد برمجة RPG مهارةً آخذةً في الاختفاء؛ وبحلول عام 2025، سيبلغ متوسط عمر مبرمج RPG نحو 70 عامًا"، وفقًا لأحد المصادر، ASNA. في استطلاع Fortra لعام 2026 حول سوق IBM i، حلّ نقص المهارات المتعلقة بنظام IBM i محل الأمن الإلكتروني باعتباره أكبر مصدر للقلق في القطاع للمرة الأولى منذ تسع سنوات، وفقًا لما ذكره معظم المشاركين البالغ عددهم 320 مشاركًا.
وخلص معهد IBM Institute for Business Value، في بحث أجراه عام 2023 حول تحديث التطبيقات في مختلف القطاعات، إلى أن 83% من كبار المسؤولين التنفيذيين يرون أن تحديث التطبيقات والبيانات عنصر محوري في استراتيجياتهم، في حين أفاد 27% فقط بأنهم حدّثوا بالفعل عددًا كبيرًا من الأنظمة المطلوبة. وبالنسبة إلى العديد من الشركات، أصبح تحديث هذه التطبيقات بما يضمن استمرار ملاءمتها للمستقبل جزءًا أساسيًا من التحول الرقمي.
ويوجد سوق متخصصة من الشركات التي تقدِّم خدمات تحديث RPG. فعلى سبيل المثال، تطوِّر Fresche Solutions أداة X-Analysis، التي ترسم خريطة لكيفية ترابط البرامج القديمة وتستخلص قواعد الأعمال المضمَّنة فيها. وتركِّز Profound Logic على إتاحة تشغيل RPG عبر الويب وتحويل التعليمات البرمجية تلقائيًا إلى Node.js، بينما توفِّر LANSA، التي استحوذت عليها Idera في عام 2019 (وفقًا لـ IT Jungle)، أدوات منخفضة التعليمات البرمجية لإنشاء تطبيقات جديدة تعمل جنبًا إلى جنب مع RPG. كما توفِّر IBM أدواتها الخاصة للمطورين، بما في ذلك الإضافة مفتوحة المصدر الشائعة Code for IBM i، التي تحوِّل محرر VS Code واسع الاستخدام إلى بيئة عمل لتطوير RPG من خلال إضافة.
وكما هو الحال في مختلف مجالات البرمجة، تؤدي الأدوات المدعومة بالذكاء الاصطناعي دورًا متزايد الأهمية. وحتى أوائل عام 2024، كانت نماذج الذكاء الاصطناعي تواجه صعوبة في فهم RPG، لأن هذه اللغة المملوكة لا تتوافر بكثرة ضمن بيانات تدريبها، بخلاف COBOL الأكثر شيوعًا، كما يوضح IT Jungle. لكن هذا الوضع تغير بحلول أواخر عام 2025. واستجابت IBM بإطلاق Project Bob، الذي قُدِّم في البداية باسم watsonx Code Assistant for i، ثم أُعيد تطويره لاحقًا ليصبح منصة متكاملة للبرمجة القائمة على الوكلاء. ويستطيع Bob شرح تعليمات RPG البرمجية وتحويلها واختبارها، إلى جانب لغات أخرى، بما في ذلك إجراء اختبارات مؤتمتة على التعليمات البرمجية بعد تحويلها. وقد استخدم Bob نحو 80 ألفًا من موظفي IBM، وأفاد المستخدمون المشاركون في الاستطلاع بأنه أسهم في رفع إنتاجيتهم بنسبة 45%.
تمكين فِرقك من الابتكار بوتيرة أسرع مع IBM Bob، الذي يُتيح تحديث التطبيقات بمساعدة الذكاء الاصطناعي، والتطوير السريع، وتسليم البرمجيات بكفاءة أكبر.
الاستفادة من الذكاء الاصطناعي التوليدي لتبسيط تحديث التطبيقات، ومساعدة فِرق التطوير على تسريع التحول، وتحسين الإنتاجية، والحد من التعقيد.
إعادة تصوُّر الأنظمة القديمة من خلال التحديث الذكي بالذكاء الاصطناعي.