لا يُعدّ نظام إدارة المعلومات (IMS) نظامًا قديمًا بالمعنى المتقادم. فهو محرك قاعدة البيانات الذي يدعم حسابات القبض لدى البنوك الكبرى، وإدارة وثائق التأمين، ومعالجة مطالبات شركات الرعاية الصحية. وتواصل شركة IBM تطويره. المشكلة ليست في توقف نظام IMS عن العمل، بل في تقاعد جميع المطورين الذين كانوا على دراية بكيفية التعامل مع هيكله الهرمي، وكل تغيير يُجرى على نظام مدعوم بنظام IMS يتطلب فهم نموذج بيانات لا يعتمد على لغة SQL، وكل خطة ترحيل تتعامل مع نظام IMS كقاعدة بيانات علائقية تكتشف الفرق بطريقة مؤلمة.
تكمن الصعوبة في اكتشاف أن برنامج COBOL لا يصل إلى IMS عبر بحث بسيط عن مفتاح، بل عبر مسار هرمي يجب تكراره في النظام المستهدف بمنطق تنقل مكافئ، وذلك أثناء عملية الترحيل. أو اكتشاف أن علاقة منطقية بين قاعدتي بيانات IMS فعليتين تُنشئ تبعية لا توثقها DBD لأي منهما بشكل كامل، وأن عملية الترحيل حوّلت كلتا القاعدتين بشكل مستقل، بينما عطّلت بصمت كل برنامج يستخدم هذه العلاقة المنطقية. أو اكتشاف أن قاعدة بيانات فهرس ثانوية، وهي بنية لا تُدرجها معظم خطط الترحيل، كانت المسار الوحيد الذي يصل من خلاله برنامج إعداد تقارير بالغ الأهمية إلى بياناته.
لا تصمد أي من هذه المفاجآت أمام التحليل الدقيق للاعتمادية قبل الهجرة. بل تصمد أمام الافتراضات.
تحليل تبعية نظام إدارة المعلومات على مستوى المحفظة
SMART TS XL يحدد تبعيات IMS عبر قواعد البيانات التي لا تظهر في مصدر COBOL وحده.
المزيد من المعلوماتما الذي يميز تحليل التبعية في IMS؟
يتبع تحليل التبعيات في بيئة قواعد البيانات العلائقية، مثل DB2 وOracle وSQL Server، مسارًا واضحًا ومعروفًا. يتم تحليل استعلامات SQL في كود التطبيق، وتحديد مراجع الجداول والأعمدة، وإنشاء خريطة توضح البرامج التي تصل إلى الجداول، واستخدام هذه الخريطة لتحديد نطاق الترحيل وتسلسله. البنية واضحة، والتبعيات ظاهرة في نص SQL.
يُعد تحليل تبعية نظام إدارة المعلومات أكثر تعقيدًا على جميع المستويات.
الهيكل هرمي وليس علائقياً. تُنظَّم قاعدة بيانات نظام إدارة المعلومات (IMS) على شكل شجرة من أنواع القطاعات، حيث يرتبط كل نوع قطاع بعلاقة أب-ابن محددة. لا يتم تنفيذ برنامج COBOL الذي يقرأ سجلات المرضى من قاعدة بيانات نظام إدارة المعلومات. SELECT * FROM PATIENTS WHERE ID = ?يُصدر البرنامج استدعاءً من نوع Get Unique (GU) للتنقل في التسلسل الهرمي وصولاً إلى الجزء الجذري، ثم يستدعي استدعاءات من نوع Get Next Within Parent (GNP) لاجتياز الأجزاء الفرعية. لا يعتمد البرنامج على جدول، بل على مسار محدد عبر بنية هرمية، وقد يؤدي تغيير هذه البنية إلى تعطيل البرامج التي تتنقل فيها بطرق لا يمكن لأي تحليل على مستوى SQL اكتشافها.
تتوزع التبعيات عبر ثلاثة هياكل منفصلة. إن فهم الصورة الكاملة لما يفعله برنامج COBOL مع نظام إدارة المعلومات (IMS) يتطلب تحليل ما يلي:
- وصف قاعدة البيانات (DBD): يُحدد التسلسل الهرمي للقطاعات المادية، والحقول الرئيسية، وطرق الوصول (HDAM، HIDAM، HISAM، HSAM)، وأي فهارس ثانوية أو علاقات منطقية.
- كتلة مواصفات البرنامج (PSB): يحدد هذا النظام قواعد البيانات التي يُسمح للبرنامج بالوصول إليها، ومن خلال أي لوحات تحكم، وبأي مواصفات حساسية ونية.
- شفرة المصدر COBOL: يحتوي على استدعاءات DL/I الفعلية التي تحدد المقاطع التي يتم الوصول إليها، ووظائف الاستدعاء، والتسلسل، وSSAs
لا يوجد مصدر واحد يقدم الصورة الكاملة. فالتحليل الذي يقرأ كود COBOL فقط يرى أنواع الاستدعاءات وأسماء المقاطع، لكنه لا يرى بنية قاعدة البيانات الفعلية. أما التحليل الذي يقرأ ملفي DBD وPSB فقط، فيرى ما يُسمح للبرنامج بفعله، لكنه لا يرى ما يفعله فعلياً.
تعتمد الملاحة على الموقع. في قواعد البيانات العلائقية، يمكن الوصول إلى كل صف بشكل مستقل باستخدام مفتاح. أما في نظام إدارة المعلومات (IMS)، فيؤثر موقع البرنامج الحالي في التسلسل الهرمي على ما تُرجعه الاستدعاءات اللاحقة. يُرجع استدعاء GN (الحصول على التالي) الجزء التالي في التسلسل الهرمي من موقع البرنامج الحالي. ولا يقتصر الاعتماد على نوع الجزء فحسب، بل يشمل أيضًا مسار الاجتياز الذي أدى إلى الموقع الحالي. البرامج التي تعتمد على الترتيب الهرمي الضمني لنظام إدارة المعلومات (IMS) لديها اعتماد يختفي عند ترحيل البيانات إلى قاعدة بيانات علائقية لا تضمن ترتيبًا مكافئًا.
قائمة استدعاءات DL/I: ما يكشفه كود مصدر COBOL
إنّ التحليل الأكثر فائدةً قبل عملية الترحيل هو جردٌ شاملٌ لكل استدعاء DL/I في كل برنامج COBOL يصل إلى IMS. يُبيّن هذا الجرد لفريق الترحيل ما يفعله كل برنامج مع IMS، ليس ما هو مسموحٌ له بفعله (كما يُحدّده PSB)، بل ما يفعله فعلياً.
تظهر استدعاءات DL/I في لغة COBOL في شكلين:
كوبول
* Form 1: EXEC DLI interface (CICS-compatible, high-level syntax)
EXEC DLI
GU DB2PCB
SEGMENT(CUSTROOT)
WHERE(CUSTID = WS-CUST-ID)
END-EXEC
* Form 2: xxxTDLI call interface (batch programs, assembler-compatible)
CALL 'CBLTDLI' USING WS-FUNCTION-CODE
PCB-CUSTOMER
WS-CUSTOMER-SEGMENT
WS-SSA-CUSTOMER
يحمل كلا النموذجين نفس المعلومات التحليلية: رمز الوظيفة، ولوحة الدوائر المطبوعة المستخدمة، والقطاع المستهدف، ووسيط البحث عن القطاع (SSA) الذي يحدد الاستدعاء (اختياري). يستخرج جرد استدعاءات DL/I الكامل كل هذه المعلومات من كل برنامج.
تصنيف رموز الوظائف وآثاره على عملية الترحيل
يُعدّ رمز دالة DL/I العنصر الأكثر أهمية في عملية الترحيل لكل استدعاء. ويشير كل رمز دالة إلى نمط وصول مختلف إلى البيانات، والذي يجب تكراره في قاعدة البيانات العلائقية المستهدفة.
وظائف للقراءة فقط: GUالحصول على بيانات فريدة: الانتقال مباشرةً إلى شريحة باستخدام عبارات SSA المؤهلة. يُعادل ذلك عبارة SELECT مع شرط WHERE في قواعد البيانات العلائقية. يسهل نقل البيانات إذا كان مفتاح الشريحة يُطابق مفتاحًا أساسيًا في قاعدة البيانات العلائقية.
GN، الحصول على التالي: الانتقال إلى الجزء التالي في التسلسل الهرمي. هذا هو رمز الوظيفة الذي لا يوجد له مكافئ علائقي مباشر، فهو يعتمد على حالة الموضع والترتيب الضمني لنظام إدارة المعلومات (IMS). تتطلب البرامج التي تستخدم الحصول على التالي بشكل مكثف تحليلًا دقيقًا للترتيب الذي تعتمد عليه.
GNPالحصول على العنصر التالي ضمن العنصر الأصل: استرجاع العناصر الفرعية اللاحقة للعنصر الأصل الحالي. يُعادل هذا جلب جميع الصفوف في علاقة مفتاح خارجي. وعادةً ما يُطابق بشكل واضح عبارة SELECT مع شرط WHERE للمفتاح الخارجي.
وظائف التثبيت (المتطلبات الأساسية للتحديث): GHU, GHN, GHNPتُستخدم أوامر "الحصول على تعليق" (Hold) لمطابقة أوامر GU وGN وGNP. يشير مؤشر "التعليق" إلى أن عملية تحديث (REPL) أو حذف (DLET) ستتبع ذلك. البرامج التي تستخدم أوامر التعليق هي برامج قراءة-تعديل-كتابة؛ ويجب أن تحافظ عملية الترحيل على سلامة المعاملات بين التعليق والتحديث اللاحق.
وظائف التحديث: ISRT، إدراج: يضيف مقطعًا جديدًا. مكافئ لـ INSERT. DLETحذف: يزيل الجزء المحتفظ به حاليًا وجميع الأجزاء التابعة له. سلوك "جميع الأجزاء التابعة" هو عملية متسلسلة خاصة بنظام IMS يجب تنفيذها بشكل صريح في النظام المستهدف. REPL، استبدال: يقوم بتحديث الجزء الحالي المحتفظ به ببيانات جديدة. وهو مكافئ لـ UPDATE.
لماذا يُعد هذا الأمر مهمًا لنطاق الهجرة؟ البرنامج الذي يستخدم استدعاءات GU وGNP فقط هو برنامج قراءة فقط لبيانات IMS، مما يقلل من مخاطر الترحيل ويسهل التحقق من صحته. أما البرنامج الذي يستخدم GHU وREPL وDLET فهو برنامج لمعالجة المعاملات يقوم بتعديل البنى الهرمية؛ ويتطلب ترحيله الحفاظ على سلامة المعاملات عبر العمليات التي يفرضها IMS حاليًا بشكل ذري.
أنواع التبعيات الثلاثة التي تعرقل كل عملية ترحيل
العلاقات المنطقية
تربط العلاقات المنطقية في نظام إدارة قواعد البيانات (IMS) الأجزاء عبر قاعدتي بيانات منفصلتين فعليًا. يحتوي جزء فرعي منطقي في قاعدة البيانات (أ) على جزء أب منطقي في قاعدة البيانات (ب). عندما يتنقل برنامج COBOL عبر علاقة منطقية، فإنه يسلك مسارًا يعبر فعليًا حدود قواعد البيانات، وهو مسار يديره نظام إدارة قواعد البيانات (IMS) بشفافية، ولكنه يختفي عند ترحيل قواعد البيانات بشكل مستقل.
تُعدّ العلاقات المنطقية أكثر أنواع التبعيات خطورةً في عملية ترحيل IMS لسببٍ واحد: فهي غير مرئية في شفرة COBOL المصدرية. يستدعي برنامج COBOL الدالة GNP للحصول على العناصر الفرعية لجزءٍ ما. ويُحدّد كلٌّ من PSB وDBD، وليس شفرة COBOL، ما إذا كانت هذه الدالة GNP تعبر علاقةً منطقيةً أم علاقةً بين الأصل والفرع. وبالتالي، لا يستطيع فريق الترحيل الذي يحلل شفرة COBOL المصدرية فقط معرفة ما إذا كانت استدعاءات GNP تعبر حدود علاقةٍ منطقيةٍ دون تحليل PSB وDBD بشكلٍ منفصل.
تتطلب البرامج التي تستخدم العلاقات المنطقية من عملية الترحيل تكرار دلالات العلاقة المنطقية في النظام المستهدف، وعادةً ما يكون ذلك عبارة عن عملية ربط في النموذج العلائقي، والتحقق من أن كل برنامج يستخدم العلاقة يتلقى نتائج مكافئة من عملية الربط التي تلقاها من عملية الاجتياز المنطقي لنظام إدارة المعلومات.
قواعد بيانات الفهرس الثانوي
توفر قواعد بيانات الفهرس الثانوي في نظام إدارة قواعد البيانات (IMS) مسار وصول بديلًا إلى قاعدة البيانات الأساسية، مما يسمح للبرامج باسترجاع أجزاء البيانات باستخدام حقل آخر غير المفتاح الجذر. قاعدة بيانات الفهرس الثانوي هي قاعدة بيانات IMS منفصلة لها تعريف قاعدة بيانات خاص بها، ولكن بياناتها مستمدة من قاعدة البيانات الأساسية.
غالباً ما تكتشف فرق الترحيل قواعد بيانات الفهرسة الثانوية أثناء التحليل بدلاً من أثناء التخطيط، وذلك للأسباب التالية:
- يتم تعريفها في تعريفات قواعد البيانات (DBDs) التي لا يتم تجميعها دائمًا مع تعريفات قواعد البيانات الأساسية.
- تُسمّي البرامج التي تستخدم الفهارس الثانوية قاعدة بيانات الفهرس في ملفات PSB الخاصة بها، ولكن البرامج التي تنتقل إلى قاعدة البيانات الأساسية عبر فهرس ثانوي قد لا تجعل هذا الأمر واضحًا في مصدر COBOL.
- قد تصف الوثائق قاعدة البيانات الأساسية دون ذكر فهارسها الثانوية.
يعتمد البرنامج الذي يصل إلى نظام إدارة المعلومات (IMS) عبر فهرس ثانوي على نمط وصول يجب تكراره في النظام الهدف باستخدام فهرس غير مفتاح أساسي أو استراتيجية استعلام مختلفة. يؤدي إغفال هذا الأمر أثناء الترحيل إلى تشغيل البرنامج دون أخطاء، ولكنه يعجز عن العثور على السجلات المطلوبة.
قواعد بيانات GSAM
تُعد قواعد بيانات GSAM (طريقة الوصول التسلسلي المعمم) واجهة IMS لمعالجة الدفعات التسلسلية، مما يسمح لبرامج COBOL الدفعية باستخدام استدعاءات DL/I لما يُعتبر وظيفيًا إدخال/إخراج ملفات تسلسلي. لا تحتوي قواعد بيانات GSAM على تسلسلات هرمية للقطاعات؛ فهي عبارة عن هياكل تسلسلية مسطحة يتم الوصول إليها من خلال IMS للاستفادة من إمكانيات الاسترداد وإعادة التشغيل الخاصة بـ IMS.
البرامج التي تستخدم قواعد بيانات GSAM هي برامج معالجة دفعية تعتمد على دعم نقاط التفتيش/إعادة التشغيل في نظام إدارة قواعد البيانات (IMS) لضمان استعادة البيانات. يجب أن تحافظ عملية الترحيل على آلية الاستعادة هذه أو تستبدلها بآلية مكافئة في النظام الأساسي المستهدف.
بناء قائمة التبعيات قبل الهجرة
ينتج عن تحليل كامل لاعتمادية نظام إدارة المعلومات ستة مخرجات تحدد مجتمعة نطاق الترحيل والمخاطر والتسلسل.
المنتج الأول: ربط لوحة الدوائر المطبوعة بقاعدة البيانات
يرتبط كل عنصر تحكم في قاعدة البيانات (PCB) في كل وحدة تخزين بيانات (PSB) بقاعدة بيانات محددة (DBD) (قاعدة بيانات محددة في نظام إدارة المعلومات IMS). يؤدي سرد جميع عناصر التحكم في قاعدة البيانات عبر جميع وحدات التخزين وربط كل منها بقاعدة بياناتها إلى إنشاء قائمة رسمية بالبرامج المسموح لها بالوصول إلى قواعد البيانات. هذه هي نقطة البداية لفهم نطاق الوصول، ولكنها تبالغ في تقدير التبعيات الفعلية لأن البرامج قد تحتوي على وحدات تخزين بيانات تتضمن قواعد بيانات أكثر مما تستخدمه فعليًا.
المخرجات 2: جرد المكالمات الفعلي لكل برنامج
يُنتج تحليل استدعاءات DL/I لكل برنامج COBOL قائمة الاستخدام الفعلية: أي لوحات الدوائر المطبوعة (PCBs) يستدعيها كل برنامج فعليًا، وأي رموز وظائف يستخدمها، وأي أنواع مقاطع يصل إليها، وما إذا كان يستخدم الوصول المؤهل إلى مفتاح المقطع (SSAs) أو التنقل غير المؤهل (اجتياز الموضع). هذا يُضيّق نطاق البحث من الأذونات المُعرّفة في PSB إلى سلوك البرنامج الفعلي.
المخرجات 3: خريطة استخدام العلاقات المنطقية
تُحدد مقارنة قائمة استدعاءات البرامج مع مخططات قواعد البيانات (DBDs) أي البرامج التي تجتاز استدعاءات GNP أو GN علاقات منطقية. ويتطلب ذلك تحليل ليس فقط مصدر COBOL وPSB، بل أيضًا هياكل DBD التي تُحدد أي علاقات الأصل والفرع مادية وأيها منطقية.
المخرجات الرابعة: خريطة استخدام الفهرس الثانوي
تُعرَّف البرامج التي تُسمّي قواعد بيانات الفهرس الثانوي في سجلاتها الرئيسية (PSBs) أو تُصدر استدعاءات باستخدام سجلات الفهرس الثانوي (SSAs) التي تُشير إلى حقول مفاتيح غير جذرية، بأنها مستخدمة للفهرس الثانوي. تُوثِّق الخريطة الفهارس الثانوية الموجودة، وقواعد البيانات الرئيسية التي تدعمها، والبرامج التي تعتمد عليها.
المخرجات 5: توزيع أنواع المكالمات لكل قاعدة بيانات
بالنسبة لكل قاعدة بيانات IMS ضمن النطاق، يشير توزيع أنواع المكالمات عبر جميع البرامج التي تصل إليها إلى مدى تعقيد عملية ترحيلها:
- تُعد قواعد البيانات التي يتم الوصول إليها فقط عن طريق وظائف القراءة (GU، GN، GNP) أسهل في الترحيل
- تتطلب قواعد البيانات التي يتم الوصول إليها بواسطة وظائف الاحتفاظ والتحديثات (GHU + REPL، GHN + DLET) تكرار سلامة المعاملات
- تشير قواعد البيانات ذات الاستخدام العالي لتقنية الملاحة الجغرافية إلى وجود تبعيات في الملاحة المكانية تتطلب تحليل الترتيب.
- تتطلب قواعد البيانات ذات العلاقات المنطقية دلالات الربط بين قواعد البيانات في الهدف
المخرجات 6: تصنيف مخاطر البرنامج
باستخدام توزيع أنواع الاستدعاءات وجرد أنواع التبعيات، يتم تصنيف كل برنامج حسب مخاطر الترحيل:
تُعدّ البرامج التي تستخدم فقط GU وGNP مع SSAs المؤهلة، والتي تصل إلى قاعدة بيانات واحدة دون وجود علاقات منطقية، ولا تتضمن استدعاءات تعليق/تحديث، الأقلّ عرضةً للمخاطر في مراحل الترحيل المبكرة. أما البرامج التي تستخدم GN بشكل مكثف، أو تصل إلى قواعد بيانات متعددة من خلال علاقات منطقية، أو تُنفّذ تسلسلات معقدة من التعليق/التحديث، فهي الأكثر عرضةً للمخاطر، وتتطلب تحليلاً وتدقيقاً شاملين قبل الترحيل.
ما الذي يُغيره التحليل بشأن تخطيط الهجرة؟
لا يقتصر تحليل التبعية على توثيق ما هو موجود فحسب، بل إنه يغير القرارات التي تلي ذلك.
قرارات التسلسل. لا يمكن ترحيل البرامج التي تتشارك قواعد بيانات IMS عبر علاقات منطقية بشكل مستقل. فإذا كان البرنامج (أ) يقرأ جزءًا فرعيًا منطقيًا له جزء أب منطقي في نفس قاعدة البيانات التي يوجد بها الجزء الجذري للبرنامج (ب)، فإن ترحيل (أ) دون ترحيل (ب) (أو إنشاء جسر) سيؤدي إلى تعطل (أ). ويحدد مخطط التبعية البرامج التي يجب نقلها معًا.
قرارات التصميم المستهدفة. يُحدد توزيع أنواع الاستدعاءات كيفية هيكلة مخطط العلاقات المستهدف. فعلاقة الأصل والفرع الهرمية التي يتم الوصول إليها حصريًا عبر استدعاءات GU وGNP المؤهلة بالمفتاح، تُترجم بسلاسة إلى علاقة مفتاح خارجي في الهدف. أما العلاقة نفسها التي يتم الوصول إليها عبر استدعاءات GN مع تبعيات موضعية، فتتطلب من مخطط الهدف الحفاظ على ترتيب مكافئ، إما من خلال عبارة ORDER BY صريحة، أو حقل تسلسل، أو نمط وصول مختلف يحقق النتيجة نفسها.
قرارات نطاق التحقق. يُحدد التحليل البرامج التي تستهلك بيانات نظام إدارة المعلومات (IMS) للقراءة فقط، والبرامج التي تُعالج المعاملات. ويمكن التحقق من صحة البرامج التي تستهلك البيانات للقراءة فقط بمقارنة نتائج الإخراج بين نظام إدارة المعلومات الأصلي والنظام المُرحّل. أما مُعالجات المعاملات، فتتطلب اختبار تكافؤ المعاملات، لضمان أن نفس تسلسل العمليات على النظام الهدف يُنتج تغييرات مُكافئة في حالة البيانات كما في النظام الأصلي.
تصنيف المخاطر. تُعدّ العلاقة المنطقية ونتائج المؤشر الثانوي المدخلات الأساسية لتصنيف المخاطر. لكل برنامج ترحيل سجل مخاطر، ويُحدد تحليل التبعية في نظام إدارة المعلومات (IMS) المدخلات التي يجب إضافتها إليه.
كيفية SMART TS XL يقوم بتحليل تبعية نظام إدارة المعلومات
SMART TS XLالصورة تحليل الكود الثابت يقوم هذا البرنامج بتحليل استدعاءات DL/I لكل برنامج COBOL، سواءً كانت من نوع EXEC DLI أو xxxTDLI، ويستخرج رمز الدالة، ومرجع PCB، واسم المقطع، وبنية SSA من كل استدعاء. ينتج عن ذلك قائمة استدعاءات فعلية على مستوى البرنامج، عبر جميع برامج COBOL، دون الحاجة إلى نظام IMS قيد التشغيل أو مراجعة يدوية للتعليمات البرمجية.
استخدم رسم خرائط تبعية التطبيق يُوسّع هذا الجرد ليشمل رسمًا بيانيًا لاعتمادية البرامج المختلفة: أي البرامج تتشارك الوصول إلى قواعد بيانات IMS، وأي البرامج تستخدم نفس لوحات التحكم في الوصول (PCBs)، وأي أنماط وصول البرامج تتداخل بطرق تتطلب ترحيلًا منسقًا. عندما تربط علاقة منطقية أجزاءً عبر قواعد البيانات، تُمثل خريطة الاعتمادية هذا الاتصال بين قواعد البيانات كعلاقة صريحة يجب الحفاظ عليها في النظام المستهدف.
استخدم تحليل الأثر تُجيب هذه الإمكانية على السؤال الذي يجب على كل فريق ترحيل الإجابة عليه قبل تحويل أي قاعدة بيانات: إذا تم ترحيل قاعدة بيانات IMS هذه، فما هي البرامج المتأثرة؟ وما هي أنماط الوصول التي يجب تكرارها؟ وما هي حالات الاختبار التي يجب التحقق منها للتأكد من التكافؤ؟ الإجابة ليست تقديرًا، بل هي قائمة مُفصّلة مُستمدة من سجل استدعاءات DL/I الفعلي.
استخدم توسيع JCL تُضيف هذه الإمكانية السياق التشغيلي: أي خطوات وظائف JCL تستدعي أي البرامج التي تصل إلى IMS، وبأي تسلسل، وبأي مواصفات PSB. تُعد سلسلة التبعية التشغيلية، أي تسلسل وظائف الدُفعات الذي يُعالج بيانات IMS عبر برامج متعددة، بنفس أهمية أنماط الوصول على مستوى البرنامج في تخطيط الترحيل. يؤدي ترحيل قاعدة البيانات دون ترحيل تنسيق وظائف الدُفعات المحيطة بها إلى نظام يُعالج السجلات بشكل صحيح عند عزلها، ولكنه يفشل في بيئة الإنتاج عند تشغيل تسلسل الوظائف.
لسلوك الفرق تحديث التراث من الأنظمة المدعومة بتقنية IMS، الأدلة الهيكلية التي تنتجها SMART TS XL يُعدّ هذا مدخلاً أساسياً لكل قرار ترحيل لاحق: أي البرامج تُرحّل وفي أي مرحلة، وأي قواعد البيانات يمكن تحويلها بشكل مستقل وأيها يتطلب تحويلاً منسقاً، وأي أنماط الوصول تتطلب إعادة هيكلة بدلاً من الترجمة المباشرة. كما هو موضح في سياق ترحيل هياكل IMS و VSAM جنبًا إلى جنب مع برامج COBOL، إن الترابط بين برامج COBOL وهياكل البيانات القديمة يعني أن ترحيل البيانات وتحليل التعليمات البرمجية يجب أن يسيرا بالتوازي، وجرد التبعيات هو الآلية التي تجعل التخطيط المتوازي ممكنًا.
لا يمثل المخزون عملية الترحيل
يُنتج تحليل تبعيات نظام إدارة المعلومات (IMS) معرفةً قيّمة. ولا تزال عملية الترحيل تتطلب قرارات وجهودًا هندسية وتحققًا. ما يُغيّره التحليل هو جودة القرارات، وشمولية النطاق الهندسي، ودقة التحقق.
إن المؤسسات التي تنجح في ترحيل قواعد بيانات IMS ليست تلك التي لديها جداول زمنية ضيقة للغاية أو ميزانيات ضخمة للترحيل، بل تلك التي كانت على دراية تامة بما لديها قبل البدء في نقله، كل برنامج يصل إلى كل قاعدة بيانات، كل كود برمجي يكشف نمط وصول كل برنامج، كل علاقة منطقية تُنشئ تبعيات بين قواعد البيانات، كل فهرس ثانوي يوفر مسار وصول لا يمكن الحفاظ عليه بعد التحويل دون نسخ متماثل صريح.
لا تأتي هذه المعرفة من الوثائق، بل من تحليل الشفرة البرمجية.