توليد الكود لأنظمة Z

مخطط انسيابي يحتوي على أشكال ورموز متنوعة
توليد الكود لأنظمة Z

يُعَد IBM watsonx Code Assistant (WCA) for Z حلًا لتحديث تطبيقات الكمبيوتر المركزي مدعومًا بالذكاء الاصطناعي، يجعل من السهل على المطورين تحديث وإعادة هيكلة خدمات COBOL تدريجيًا وتحويلها انتقائيًا إلى كود Java عالي الجودة ومحسَّن لأنظمة IBM Z. باستخدام watsonx Code Assistant for Z، سيتمكَّن العملاء من الاستفادة من الذكاء الاصطناعي التوليدي والأدوات الآلية لتسريع رحلة تحديث تطبيقات الكمبيوتر المركزي، مع معالجة التحديات المتعلقة بمهارات المطورين ووقت تحقيق القيمة.

 

نظرة عامة على الحل

مخطط انسيابي يوضِّح عملية إعادة هيكلة كود COBOL، من لغة المصدر إلى لغة الهدف.
المكونات الرئيسية والروابط بينها داخل بنية حل Code Generation for Z.

يتكون IBM watsonx Code Assistant for Z من العناصر الرئيسية التالية (موضَّحة في المخطط أعلاه):

  1. يعمل IBM Application Discovery and Delivery Intelligence (ADDI) على مسح كود المصدر للتطبيقات لاكتشاف وفهم العلاقات بين البرامج في نظام التطبيق. كما يوفر ADDI القدرة على تصوُّر هذه الاعتماديات والتقارير عنها، بالإضافة إلى البحث في قاعدة الكود.

     

  2. تحتوي قاعدة البيانات الوصفية على نتائج عملية فهم وإعادة هيكلة كود COBOL التي ينفِّذها ADDI. يتم استخدام البيانات في قاعدة البيانات الوصفية من قِبل IBM watsonx Code Assistant لتمكين إعادة هيكلة أنظمة برمجية كبيرة تتكون من عدة برامج COBOL ونسخ مكتبية (Copybooks) وغيرها.

     

  3. توفِّر أداة إدارة التحكم في مصدر COBOL (SCM) التحكم في كود COBOL المُراد تحويله. يرتبط مستودع SCM أيضًا بمشروع ADDI بحيث يمكن مسح خدمات COBOL الجديدة وإرسال البيانات الوصفية إلى قاعدة البيانات الوصفية.

     

  4. يُعَد Refactoring Assistant جسرًا يربط بين ADDI وخدمة IBM watsonx Code Assistant. يتصل Refactoring Assistant بـ ADDI ويستخرج خدمات أعمال COBOL المحددة لإعادة هيكلتها وتحويلها إلى كود Java.

     

  5. خدمة IBM watsonx Code Assistant (WCA for Z) هي تطبيق من IBM watsonx.ai يستقبل طلبات من Microsoft Visual Studio Code (VS Code) ويطابقها مع نموذج لغوي كبير للكود (Code LLM). يعمل WCA for Z على تحليل فقرات COBOL وفئات Java ويولِّد مقترحات كود تتَّبِع أفضل الممارسات.

     

  6. يُعَد النموذج اللغوي الكبير للكود نموذج أساس للذكاء الاصطناعي التوليدي لتوليد الكود، يعتمد على نموذج IBM Granite لأنظمة Z. يمكن أيضًا تدريبه ليشمل كود COBOL إضافيًا تم إنشاؤه من قِبل المورِّدين أو مستخدمي المؤسسات.

     

  7. برامج COBOL هي برامج مستقلة و/أو عناصر لنظام برمجي أكبر يمكن إعادة هيكلتها إلى خدمات Java.

     

  8. كود Java هو كود يتم توليده بواسطة WCA for Z ليُحاكي سلوك برنامج COBOL الأصلي.

الاستخدام وعرض تفصيلي
مخطط على IBM Cloud يوضِّح عملية إعادة هيكلة تطبيقات COBOL إلى كود Java.
عرض تفصيلي لبنية الحل يوضِّح تفاعل العناصر وتدفق المعلومات لتوليد كود Java من كود COBOL المصدر.

يوضِّح المخطط أعلاه كيفية تعاون عناصر WCA for Z لتمكين المطورين من تحويل كود COBOL المصدر إلى Java.

  1. يستخدم المهندس وظائف ADDI لفهم كود COBOL. يعمل هذا المنتج ضمن بيئة Windows VM ويفحص كود المصدر لتقديم رؤى تطبيقية للمهندسين. يتم تخزين تحليل كود المصدر في مشروع يمكن للمهندس الوصول إليه من أداة قائمة على Eclipse. تُتيح هذه الأداة للمهندس أداء مهام متعددة، بما في ذلك تصوُّر العلاقات بين البرامج المختلفة، وتشغيل التقارير، والبحث في الكود. يمكن للمهندس استخدام هذه الأداة لبدء تحديث تطبيق COBOL أحادي البنية من خلال تحديد خدمات الأعمال المحتملة لإعادة هيكلتها، مع إمكانية تحويلها إلى Java باستخدام الذكاء الاصطناعي التوليدي.

     

  2. يرسل ADDI نتائج تحليله إلى قاعدة البيانات الوصفية، والتي تُضاف بدورها إلى مجموعة البيانات المستخدمة بواسطة خدمة IBM watsonx Code Assistant Service.

     

  3. يستخدم مطوِّر COBOL أداة Refactoring Assistant لبدء استخراج خدمة الأعمال المبنية على COBOL التي حددها المهندس من تطبيق أحادي البنية. يُعَد Refactoring Assistant منتجًا قائمًا على الحاويات ويعمل داخل Linux VM. يوفر واجهة مستخدم ويب تمكِّن المطورين من تصوُّر الكود واختيار الأجزاء المناسبة لإنشاء خدمة COBOL جديدة تمثِّل وظيفة أعمال من عدة برامج قائمة. يتصل Refactoring Assistant بـ ADDI بشكل آمن للوصول إلى تحليل تطبيق COBOL الموجود في قاعدة بيانات ADDI.

     

  4. بعد أن يحدِّد مطور COBOL جميع أجزاء الكود، يمكنه تصدير برنامج COBOL الجديد إلى محطة العمل الخاصة به لمتابعة التطوير في بيئة تطوير متكاملة (IDE).

     

  5. يتم تخزين فقرات COBOL التي تمت إعادة هيكلتها في مستودع الخدمات (Services Repo) وتصبح متاحة لمطوِّري Java لتحويلها.

     

  6. يستخدم مطور Java أداة Z Open Editor في VS Code للاتصال بخدمة WCA for Z في IBM Cloud. يتم توفير هذه الخدمة باستخدام حساب IBM Cloud وتُتيح الوصول إلى نموذج الأساس للذكاء الاصطناعي. يُتيح Z Open Editor لمطور Java تحويل الكود وتوليده على النحو التالي:

    1. أولًا، يختار مطور Java فقرة من COBOL داخل VS Code ويرسل محتواها إلى خدمة WCA for Z لتحويلها إلى تعريفات فئات Java.

    2. لاحقًا، يحدد مطور Java في VS Code فئات Java معينة ليقوم WCA for Z بتوليد أسطر كود Java لها.

       

  7. في كِلتا الحالتين أعلاه، تستخدم خدمة WCA for Z نموذج Code LLM لتوليد المحتوى. ويُعَد النموذج اللغوي الكبير للكود (Code LLM) نموذج أساس للذكاء الاصطناعي التوليدي تم تدريبه على العديد من لغات البرمجة وتم ضبطه بدقة لتحويل COBOL إلى Java.

     

  8. يرسل WCA for Z الاستجابات التي يولِّدها الذكاء الاصطناعي إلى VS Code، ويمكن لمطور Java استخدام أفضل الممارسات لمراجعة الكود وتجميعه لإكمال خدمة Java.

المتطلبات الأساسية

  • Microsoft VS Code
  • IBM Semeru Java 17 LTS SDK
  • امتداد IBM Z Open Editor لبيئة VS Code
  • إضافة دعم لغة Java من Red Hat لبيئة VS Code
  • حساب GitHub.com
  • الاتصال بـ IBM Watson Code Assistant
الخطوات التالية

تحدَّث إلى خبرائنا حول تنفيذ نمط نشر السحابة الهجينة.

المساهمون

Al Hamid، وPete Nuwayser، وChris Kirby، وMihai Criveti 

تاريخ التحديث: 5 ديسمبر 2023