4D Training & Consultancy

تطوير البرمجيات

تحديث تطبيقات Java القديمة

برنامج في الترحيل وإعادة الهيكلة للفرق التي تحمل تطبيق Java أقدم من بيئة التشغيل التي ينبغي أن يعمل عليها. يغطي البرنامج مسار الترقية من Java 8 إلى 21، وتغيير فضاء الأسماء من javax إلى jakarta، وتحديث البناء والتبعيات، وإعادة الهيكلة التدريجية التي تُبقي التسليم مستمراً طوال الطريق.

4 أيامتنفيذ داخلي أو افتراضي أو مخصصفرق مؤسسية ومجموعات مهنيةالمستوى: متوسط إلى متقدم

نظرة عامة

تعلم عملي قابل للتطبيق في بيئة العمل.

نادراً ما تتعطل تطبيقات Java القديمة تعطلاً كاملاً، بل تتجمد: إصدار إطار العمل يمنع رقعة أمنية، وعملية البناء لا تعمل إلا على جهاز واحد، ولا أحد يجرؤ على تعديل وحدة المدفوعات لأن أشياء لا علاقة لها تنكسر، وكل محاولة ترقية تُترك في منتصف الربع. يقدّم هذا البرنامج تسلسلاً يصمد في التطبيق العملي. يحصر المشاركون النظام ويرتبون مخاطره، ويكتبون اختبارات توصيفية لتثبيت السلوك الحالي، ويحدّثون البناء وشجرة التبعيات، وينفّذون ترحيل فضاء الأسماء إلى jakarta، ثم يستخرجون الوحدات واحدة تلو الأخرى بنمط شجرة الخنق. ويظل الهدف ثابتاً: نظام يبقى قابلاً للتسليم بينما يجري تغييره.

المتطلبات المسبقة

خبرة في صيانة تطبيق Java إنتاجي مع إلمام بـMaven أو Gradle وبخادم تطبيقات أو حاوية servlet.

الأهداف

  • تقييم قاعدة شيفرة Java موروثة من حيث مخاطر الترقية ودَين التبعيات وعدم اليقين السلوكي.
  • التخطيط لترحيل مرحلي من Java 8 إلى Java 17 أو 21 يترك نظاماً عاملاً عند كل خطوة.
  • تنفيذ تغيير فضاء الأسماء من javax إلى jakarta عبر الشيفرة والإعدادات والتبعيات.
  • تحديث البناء وشجرة التبعيات وقابلية التكرار في مشروع موروث.
  • كتابة اختبارات توصيفية تثبّت السلوك القائم قبل بدء أي إعادة هيكلة.
  • تطبيق نمط شجرة الخنق لاستبدال الوحدات دون إطلاق مشروع إعادة كتابة شامل.

الفئة المستهدفة

  • الفرق الهندسية التي تصون تطبيقات Java بُنيت قبل Java 11
  • القادة التقنيون الذين يخططون لترقية بيئة التشغيل أو إطار العمل
  • المعماريون الذين يصممون مخرجاً من تطبيق أحادي طويل العمر
  • المطورون المسؤولون عن الترقيع الأمني وتحديث التبعيات
  • مديرو التسليم الذين يجدولون التحديث بالتوازي مع التزامات الخصائص
  • الاستشاريون والمتعاقدون الذين يتسلمون نظام Java غير مألوف لهم

محاور البرنامج

هيكل واضح لرحلة التعلم.

محاور البرنامج

تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.

الوحدة 1: تقييم النظام الذي ورثتموه

بناء جرد للوحدات والتبعيات وبيئات التشغيل ونقاط الدخول

تحديد الإصدارات غير المدعومة والثغرات المعروفة والمكتبات المهجورة

رسم خريطة المناطق التي لا يمسّها أحد في النظام ومعرفة السبب

إنتاج قائمة أعمال تحديث مرتبة حسب المخاطر بمشاركة الجهات المعنية

الوحدة 2: تثبيت السلوك قبل تغييره

اختبارات توصيفية تسجّل ما يفعله النظام حالياً لا ما ينبغي أن يفعله

إيجاد مفاصل في شيفرة كُتبت بلا أي حقن للتبعيات

اختبار الموافقة للمخرجات الأكبر من أن يُتحقق منها حقلاً حقلاً

تأسيس خط أساس لزمن البناء وزمن الاختبار وسلوك التشغيل

الوحدة 3: مسار الترقية من Java 8 إلى 21

الواجهات المحذوفة والمكونات الداخلية المغلّفة والتحول إلى التغليف الصارم

أثر نظام الوحدات على التطبيقات المعتمدة على مسار الأصناف والوصول الانعكاسي

مكاسب اللغة والمكتبات التي يستحق تبنّيها أثناء الترقية نفسها

تقسيم الترقية إلى مراحل يظل التطبيق فيها قابلاً للبناء والتسليم عند كل خطوة

الوحدة 4: ترحيل فضاء الأسماء من javax إلى jakarta

مدى تأثير تغيير فضاء الأسماء: الشيفرة وملفات الوصف والمصادر المولّدة

مواءمة إصدارات واجهات servlet والتخزين والتحقق عبر المنظومة كاملة

أدوات التحويل مقابل الترحيل اليدوي ومتى يناسب كل منهما

المكتبات الخارجية التي لم تُرحَّل قط والخيارات المتبقية أمامكم

الوحدة 5: البناء والتبعيات وقابلية التكرار

فك تشابك شجرة تبعيات تحمل تعارضات وأصنافاً مكررة

تحديث Maven أو Gradle: الإضافات وسلاسل الأدوات والإصدارات المثبتة

عمليات بناء قابلة للتكرار وإزالة الإعدادات الخاصة بجهاز بعينه

إقامة تكامل مستمر لمشروع لم يُبنَ يوماً إلا محلياً

الوحدة 6: تغيير المعمارية بشكل تدريجي

توجيه الطلبات بنمط شجرة الخنق بين التنفيذ القديم والجديد

استخراج وحدة مع بياناتها وتحديد الحد الجديد بينها وبين النظام

طبقات مانعة للفساد بين الأجزاء المحدَّثة والأجزاء التي لم تُمس

ترتيب العمل بحيث لا يتوقف التسليم أبداً من أجل إعادة كتابة

المواد المقدمة

  • دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
  • بيئة معملية عملية ومستودعات بداية جاهزة
  • تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
  • شهادة إتمام من 4D
  • دعم فني بعد انتهاء البرنامج

خيارات التدريب

يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.

لماذا البعد الرابع

تتعامل 4D مع التحديث بوصفه مشكلة تسليم لا قائمة أمنيات تقنية. يساعد المدربون المشاركين على ترتيب العمل حسب المخاطر، وإحاطة الوحدات التي يتجنبها الجميع باختبارات توصيفية، وتجريب ترحيل jakarta على نسخة من تطبيق حقيقي، فتخرج الخطة من الورشة وقد صار لها تسلسل وتواريخ ومسؤولون محددون بالاسم.

دورات ذات صلة

تطوير البرمجيات

أساسيات البرمجة بلغة Python

مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.

View course
تطوير البرمجيات

Python المتوسط وممارسات الشيفرة النظيفة

برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.

View course
تطوير البرمجيات

أتمتة المهام المكتبية والبرمجة النصية بلغة Python

برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.

View course

تواصل مع البعد الرابع

خطط لمسار التدريب أو الاستشارة المناسب لفريقك.

شاركنا بعض التفاصيل وسنوجه طلبك نحو التدريب المؤسسي أو الاستشارات أو التقييم أو حلول فينييكس أو برنامج مخصص.