تخطَّ إلى المحتوى
مساحة العميل

تدقيق مجاني

الذكاء الاصطناعي

نظامان لا يتّفقان تمامًا أبدًا

تكامل يشتغل ليس تكاملًا صحيحًا. ما ينبغي وضعه يوم يبدأ الطرفان في التباعد.

نُشر في 24 جويلية 2026 — Algeria Agency

يُعلَن انتهاء التكامل يوم تنتقل المعطيات من نظام إلى آخر. وهذه علامة حقيقية وليست النهاية: نظامان مربوطان يبدآن في التباعد، ببطء، ولا ينتبه أحد قبل أن يقارن أحدهم شاشتين.

والتباعد ليس عطلًا بالمعنى المعتاد. لا شيء يتعطّل، ولا يُسجَّل أيّ خطأ، والبرنامجان يعرضان أرقامًا متّسقة مع محتوى كلّ منهما. لكنّهما ببساطة لم يعودا يرويان القصّة نفسها، ويوم يُكتشف الفرق لا يعرف أحد منذ متى.

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

ولا يتضمّن أيّ رسم بياني، والسبب أطرف من المعتاد: ما يتحدّث عنه لم يعدّه أحد قطّ، لأنّ أيًّا من النظامين لا يسجّله خطأً.

تكامل يشتغل ليس تكاملًا صحيحًا

معيار استلام التكامل هو نفسه دائمًا تقريبًا: يُنشَأ سجلّ في جهة، ويُتحقَّق من ظهوره في الجهة الأخرى، ويُوقَّع. ويثبت هذا الاختبار أنّ الأنبوب موجود. ولا يثبت شيئًا عمّا سيجري فيه خلال السنوات الثلاث الموالية.

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

فيجب إذن التمييز بين سؤالين يُطرحان كسؤال واحد. «هل يشتغل» يُتحقَّق منه مرّة ويُجاب عنه بنعم. و«هل هو صحيح» لا يُتحقَّق منه مرّة: إنّه خاصّية تُصان أو تُفقَد، وهي تُفقَد بلا ضجيج.

والنتيجة العملية أنّ التكامل يحتاج إلى مراقبة دائمة لا إلى استلام. والمراقبة متواضعة — عدّ في الجهتين، على فترات منتظمة، بفارق مقبول مُعلَن سلفًا — وغيابها أشيع أسباب الاكتشافات المزعجة عند الجرد أو الحصيلة.

من على حقّ صباح الثلاثاء

حين يعرض نظامان قيمتين مختلفتين للشيء نفسه، يُطرح سؤال «أيّهما الصحيح». وهو السؤال الخاطئ، ولا جواب له على مستوى النظام. له جواب على مستوى الحقل.

والصياغة الناجعة مملّة في الكتابة وتحسم أغلب النزاعات سلفًا: لكلّ حقل يجري تداوله، واحد فقط من النظامين هو المصدر، والآخر يتلقّى نسخة لا يحقّ له تعديلها. المخزون مصدره الصندوق؛ والعنوان مصدره ملفّ الزبائن؛ والسعر مصدره الكتالوج.

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

ويجب قبول أن يكون الجواب غير مريح أحيانًا. إعلان أنّ الصندوق مصدر المخزون يعني أنّ تصحيحًا يُجرى في برنامج التسيير لن يصمد، وأنّه يجب الذهاب لإجرائه في الصندوق. هذا تغيير عادة، يكلّف محادثة، وهو أرخص من التباعد الذي يتفاداه.

الفارق الذي يظهر بعد ثلاثة أسابيع

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

وما يجعل الظاهرة خطيرة أنّها تتراكم دون أن تُعلن عن نفسها. بعد ثلاثة أسابيع يصير الفارق بضع عشرات من الأسطر، وبعد سنة يصير بنيويًّا، ويُكتشَف بجرد مادّي أو بزبون يؤكّد أنّه دفع شيئًا لا يعرفه النظام.

وعندئذ يُطرح سؤال «منذ متى»، وهو السؤال الأغلى إجابةً بأثر رجعي. فمن دون عدّ منتظم محفوظ، لا سبيل إلى تأريخ بداية الانحراف، والخيار الوحيد استئناف الفترة كاملة.

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

المقارنة، وبأيّ وتيرة

الضابط الذي يجيب عن الفقرة السابقة هو المقارنة: عدّ الشيء نفسه في الجهتين ومقابلة الرقمين. وهي أبسط بكثير ممّا يوحي به اسمها المحاسبي، ولا تحتاج أن تكون دقيقة لتكون نافعة.

والعدّ يكفي في الغالبية العظمى من الحالات. كم سجلًّا في كلّ جهة على الفترة، وكم مجموع الحقل المهمّ — مبلغ أو كمّية. رقمان لكلّ جهة، يُؤخذان في اللحظة نفسها، ويُكتبان حيث يُحفظان. أمّا المقابلة سطرًا بسطر فتمرين آخر أغلى، ولا يُطلَق إلّا حين يقول العدّ إنّ ثمّة مشكلًا.

وتُستنتَج الوتيرة من كلفة الاستئناف لا من ممارسة حسنة عامّة. إن كان تعقّب أصل فارق يوم واحد يكلّف ساعة وفارق شهر يكلّف أسبوعًا، فالمقارنة يومية. أمّا لحجم ضعيف ورهانات متواضعة فمرّة في الأسبوع تكفي وزيادة.

والنقطة التي تقرّر نفع هذا كلّه هي الحفظ. مقارنة تُجرى وتُرمى لا تجيب عن «منذ متى»؛ ومقارنة تُجرى وتُحفَظ تحوّل هذا السؤال إلى قراءة ثلاث دقائق. أربعة أرقام في اليوم في ملفّ، هذا هو الجهاز كلّه، وهو ما يفرّق بين حادثة واستئناف كامل.

المكرَّر، ولماذا يُنشَأ مرّتين

المكرَّر أظهر أعراض التكامل وأسوأ ما يُعالَج. بطاقتان للزبون نفسه، وطلبيّتان متطابقتان، ومنتَجان بالاسم نفسه: والردّ الغريزي حذف إحداهما، وهو يحلّ العرض ولا يحلّ شيئًا.

والسبب دائمًا تقريبًا غياب معرّف مشترك. ينشئ النظام «أ» زبونًا ويرسله؛ ويسجّله النظام «ب» برقمه الخاصّ. ولا شيء يحفظ الرابط بين الرقمين، فعند الإرسال الموالي لا يتعرّف «ب» على الزبون فيُنشئه من جديد. المكرَّر ليس خطأ إدخال، بل نتيجة آلية لحلقة مفقودة.

والإصلاح تخزين المطابقة: لكلّ سجلّ مُرسَل، معرّف الانطلاق ومعرّف الوصول، محفوظان في مكان ما. جدول من عمودين، مملّ، وهو ما يجعل التكامل قابلًا للإصلاح — فمن دونه لا يمكن إعادة إرسال دون خطر إعادة إنشاء كلّ شيء.

وتنظيف المكرَّرات القائمة يأتي بعد ذلك لا قبله. دمج بطاقات في نظام لا يزال تكامله يُنتج مكرَّرات أشبه بنزح الماء: يُعاد العمل في الأسبوع الموالي، ما يثبّط الفريق الذي أنجزه ويُوهم بأنّ المشكل غير قابل للحلّ.

حين لا يستجيب النظام الآخر

سيكون النظام المقابل غير متاح، وليس نادرًا: صيانة، وانقطاع شبكة، وحصّة مستهلَكة، وخادم مشبع في يوم نشاط قويّ. والسؤال ليس تفادي ذلك بل معرفة ما يفعله جانبك خلاله.

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

وللتنحية أن يكون لها حدّ وصوت. طابور ينتفخ بلا نهاية خسارةٌ مؤجَّلة: بعد حين يفرّغه أحدهم لفكّ الوضع، ولن يعرف أحد أبدًا ما كان فيه. وطابور يُنبّه حين يتجاوز عتبة يحوّل العطل إلى معلومة.

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

إعادة الإرسال دون تكرار

متى تشكّل الطابور وجب إعادة إرساله، وهنا تُنشئ أغلب التكاملات الفوضى التي كان يُفترض بها تفاديها. إعادة إرسال ثلاثمئة رسالة منتظِرة دون احتياط تُنتج ثلاثمئة سجلّ جديد إلى جانب ما كان قد مرّ.

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

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

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

الحقل الذي أعاد أحدهم تسميته

نادرًا ما تنكسر التكاملات لأسباب تقنية. تنكسر لأنّ أحدًا، في أحد النظامين، أجرى تعديلًا مشروعًا تمامًا دون أن يعرف أنّ شيئًا يُنصت: حقل أُعيدت تسميته، أو قائمة قيم أُضيف إليها خيار، أو استمارة أُعيد ترتيبها.

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

فالحماية إذن ليست تقنية بل تنظيمية وتسع جملة: قائمة الحقول التي يستند إليها التكامل مكتوبة، ويعرفها من يدير كلّ نظام. صفحتان، واحدة لكلّ أداة، معلَّقتان حيث تُجرى التعديلات.

والمكمّل التقني جعل الانكسار صاخبًا. تكامل يصادف قيمة مجهولة يجب أن يتوقّف ويشتكي، لا أن يخمّن أو يتجاهل السطر. وتكامل يتجاهل بصمت ما لا يفهمه تكاملٌ يُنتج تباعد الفقرة الثانية، أكبر وأسرع.

التاريخ الذي لن نستدركه

حين يُركَّب التكامل، يأتي الطلب التالي فورًا وهو استرجاع الماضي: استئناف السنتين الأخيرتين من الطلبيّات، وملء النظام الجديد بتاريخ القديم. وهو طلب مشروع وله حدّ الأفضل وضعه فورًا.

وما يمكن استئنافه هو ما سُجِّل. وما لم يُدخَل قطّ لا وجود له في أيّ مكان ولن يُظهره أيّ استئناف: إن كان النظام القديم لا يدوّن قناة الاكتساب، فالجديد لن يملكها للسنوات الماضية، مهما بلغت جودة عمل الترحيل.

وهذا تمييز نادرًا ما تصوغه الطلبات وهو يغيّر التقدير كلّيًّا. «استئناف التاريخ» قد يعني نسخ حقول موجودة، وهو عمل آليّ ممكن، أو إعادة تشكيل معلومة لم تُجمَع قطّ، وهو اختراع يجب رفضه.

والممارسة السليمة فصل الاثنين في عرض السعر، صراحةً: هذه الحقول مستأنَفة، وهذه ستبقى فارغة للفترة السابقة. عندئذ يقرّر الزبون عن بيّنة، ولا يكتشف أحد بعد ستّة أشهر أنّ العمود الذي كان سيخدم كلّ شيء فارغ في ثلاثة أرباع الأسطر.

نظامان، وحقيقتان عن زبون واحد

الحالة الأعند ليست المكرَّر التقني بل المكرَّر البشري: الشخص نفسه موجود في الجهتين بمعلومات مختلفة، ولا شيء يتيح الحسم آليًّا. رقم مكتوب برمز دولي في جهة وبدونه في أخرى، واسم مهجَّى بطريقتين، ومؤسّسة ومسيّرها مسجَّلان منفصلين.

والإغراء هو التقريب آليًّا على تشابه الأسماء، وهو القرار الذي يُنتج أصعب الأخطاء إصلاحًا. دمج زبونين لم يكونا واحدًا يخلط تاريخَي شراء وعنوانَي تسليم وأحيانًا رصيدين، والرجوع نادرًا ما يكون نظيفًا.

والقاعدة المعقولة ألّا يُقرَّب آليًّا إلّا على تطابق تامّ لمعرّف موثوق، وأن يوضع الباقي في قائمة ينظر فيها شخص. رقم الهاتف المُنمَّط يشتغل جيّدًا في هذا السوق؛ أمّا الاسم وحده فلا يكفي أبدًا، خصوصًا مع نقحرات متغيّرة.

ويجب قبول أنّ هذه القائمة لا تفرغ تمامًا أبدًا، وليس هذا إخفاقًا. بضع عشرات من الحالات الملتبسة يحسمها شخص في عشر دقائق شهريًّا خيرٌ من تقريب آليّ واثق يخطئ مرّتين في السنة في أهمّ الزبائن، لأنّهم أصحاب أكثر السجلّات.

استلام تكامل يدور منذ ثلاث سنوات

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

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

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

وقاعدة الحيطة ألّا يُعاد كتابة شيء قبل وجود مقارنة تدور. من دونها يتعذّر التمييز بين تعديل وتباعد سابق، وسيُتَّهم كلّ تصحيح بأنّه كسر شيئًا كان مكسورًا أصلًا. الضابط قبل الإصلاح، حتّى حين يبدو الإصلاح بديهيًّا.

ما نفعله، وما نرفضه

ما نتكفّل به محدَّد: كتابة مصدر الحقيقة حقلًا بحقل مع من يستعملون النظامين، وبناء التكامل بجدول مطابقته ومرجعه الثابت، وتركيب المقارنة التي تُحفَظ — وهي الجزء الأقلّ إبهارًا والذي يجعل كلّ ما عداه قابلًا للإصلاح.

ولا نبني تكاملًا دون كتابة مصدر الحقيقة لكلّ حقل يجري تداوله، ولو رأى الزبون السؤال نظريًّا. وهو ليس كذلك: من دون هذه الصفحة يُحسَم أوّل نزاع بترتيب تنفيذ البرامج، أي بترك قرار تسييري لمصادفة جدولة.

ولا نعيد تشكيل تاريخ لم يُسجَّل قطّ. ننسخ الموجود ونقول أيّ أعمدة ستبقى فارغة للفترة السابقة. وملء هذه الأعمدة بالتقدير يُنتج معطيات تبدو كاملة سيبني عليها أحدهم قرارًا، وهو أضرّ من خانة فارغة.

وأخيرًا، لا نَعِد بنسبة خطأ. تشرح هذه الصفحة لماذا لا توجد نسبة منشورة — فالحدث لا يسجّله أيّ من النظامين إخفاقًا — وسيكون من التناقض إعلان واحدة بعد كتابة ذلك. وما نستطيع الوعد به أنّ الفارق سيُقاس عندكم، كلّ أسبوع، ويُحفَظ، بحيث يكون لسؤال «منذ متى» جواب دائمًا.

الأسئلة الشائعة

كيف نعرف أنّ التكامل صحيح لا مجرّد شغّال؟

بالعدّ في الجهتين. اختبار الاستلام يثبت وجود الأنبوب؛ ولا يقول شيئًا عمّا سيجري فيه ثلاث سنوات. سجّل عدد السجلّات ومجموع الحقل المهمّ، في الجهتين، في اللحظة نفسها، واحفظ هذه الأرقام الأربعة. «هل يشتغل» يُجاب عنه مرّة؛ و«هل هو صحيح» خاصّية تُصان أو تُفقَد، وهي تُفقَد بلا ضجيج.

أيّ نظام على حقّ حين يتناقض الاثنان؟

لا جواب للسؤال على مستوى النظام، بل على مستوى الحقل فقط. لكلّ حقل يجري تداوله، واحد فقط هو المصدر والآخر يتلقّى نسخة لا يحقّ له تعديلها. من دون هذه الصفحة يُحسَم أوّل نزاع بترتيب تنفيذ البرامج — وتخلص المؤسّسة إلى أنّ «الأداة تمحو التعديلات»، وهي في الواقع تطبّق قاعدة لم يكتبها أحد.

لماذا تعود المكرَّرات بعد تنظيفها؟

لأنّ السبب ليس الإدخال بل حلقة مفقودة: لا شيء يحفظ الرابط بين معرّف الانطلاق ومعرّف الوصول، فعند الإرسال الموالي لا يتعرّف النظام المتلقّي على السجلّ فيُعيد إنشاءه. يجب تخزين هذه المطابقة — جدول من عمودين — قبل دمج أيّ شيء، وإلّا أُعيد التنظيف في الأسبوع الموالي.

ماذا يحدث حين يتعطّل النظام الآخر؟

ثلاثة سلوكات ممكنة وواحد مقبول. ضياع الإرسال يُنتج تباعدًا غير مرئي. والتوقّف والانتظار يحوّل عطلهم إلى عطلكم. والتنحية وإعادة المحاولة تصون الاثنين — بشرط أن يكون للطابور حدّ وأن يُنبّه فوق عتبة، وإلّا فرّغه أحدهم يومًا لفكّ الوضع ولن يعرف أحد ما كان فيه.

هل يمكن استرجاع تاريخ السنتين الأخيرتين؟

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

هل توجد نسبة تباعد مرجعية؟

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

أين يبدأ دورنا

العدّ من الجهتين على ثلاثة أشهر يعطي رقمين لا يتطابقان أبدًا. والفارق ليس خطأ حساب: بل نظامان لا يحملان التعريف نفسه.

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

لن نعيد بناء تاريخ لم يُسجَّل قطّ: ما لم يُدخَل ليس موجودًا، واختراعه أسوأ من الثغرة.

اقرأ بعد ذلك

لنتحدث عن مشروعك

تدقيق مجاني دون التزام: نفحص حضورك الرقمي ونخبرك بما يعيقه.

نقيس استعمال هذا الموقع عبر غوغل أناليتيكس، لنعرف أيّ الصفحات تنفع القارئ فعلًا. ويمكنك إيقاف هذا القياس متى شئت من أسفل الصفحة. سياسة الكوكيز