الدروس · الدرس 1 من 5
وصلتان، والخطّ الذي لا تعبره أيّ منهما
أين تقيم وصلات التطبيق إلى الأنظمة الأخرى، وما الذي يجوز أن يعبر خطّ المال، وما الذي يأبى التطبيق الاحتفاظ به.
الدرس 1 من 5 · 22 د
التكامل وعدٌ بمن يملك ماذا
هذا التطبيق يعطي حقائق لأنظمة أخرى. ويقرأ منها مجموعة ضيّقة من الأشياء. وهو لا يملك المال. ولا يملك الآلة في الصالة. ارسم ذلك الحدّ في الموضع الخطأ يظنّ نظامان معاً أنهما يملكان الرقم نفسه. عندئذ لا يستطيع أحد أن يقول أيّهما الصحيح، ويفوز أعلى الصوتين. هذا الدرس عن موضع الخطّ، وعمّا يجوز أن يعبره، وعمّا يأبى التطبيق الاحتفاظ به.
Agnita Garment Works مصنع منسوجات وتريكو في مدينة Agnita بمقاطعة Sibiu في رومانيا. يشغّل خمسة خطوط خياطة. ويبيع كلّ إنتاجه تقريباً إلى ألمانيا والنمسا. يظهر خمسة أشخاص في هذه الدورة، وأحدهم ليس مستعملاً لهذا التطبيق عن قصد.
- Corina Radulescu تملك مساحة العمل. وكلّ ما في هذا الدرس على شاشة لا يستطيع فتحها غيرها.
- Vlad Cojocaru مسؤول التوريد.
- Alina Pintilie منسّقة التجارة.
- Doru Zaharia يخطّط الخطوط.
- Mirela Antonescu مديرة المالية. تدير الدفتر، وليس لها دخول هنا البتّة.
والطلبيّة المحمولة عبر الدروس الخمسة كلّها هي ORD-1362 لصالح Grabenfeld، وهي سلسلة نمساوية للملابس الخارجية وملابس العمل: الموديل STY-352، سترة عمل رجالية من قماش القنّب القطني، 12,000 قطعة.
قل الأساس مرّة واحدة، لأن كلّ ما في هذه الدورة يقوم عليه. كلّ عنوان وزرّ ورسالة وعمود يُسمّى هنا مقروء من شيفرة التطبيق نفسه. ولا شيء منه مقروء من وصف للتطبيق. وحيث يعتمد السلوك على كيفية ضبط مساحة العمل، يقول الدرس ذلك ويسمّي الإعداد.
شاشة واحدة، وشخص واحد عليها
كلّ وصلة يملكها هذا التطبيق تُضبط في مكان واحد: الإعدادات ← التكاملات. تفحص الصفحة الجلسة، ثم تفحص الدور. ومن ليس المالك يُرسَل إلى شاشة الرفض. لا يستطيع Vlad فتحها. ولا Alina ولا Doru.
وليس ذلك تيسيراً. فالوصلة تحمل كلمة سرّ أو رمزاً. لذلك يعدّ التطبيق حقّ إنشاء الوصلة شيئاً غير حقّ استعمال ما تأتي به.
تقول الصفحة غرضها بعنوانها الفرعي: «اربط الأنظمة التي تحمل مالك وبياناتك. أنظمة المال تعيد الحالة فقط — يناول MerchandiserOS مستندات تشغيلية ولا يحتفظ أبداً بمبلغ ولا بفاتورة ولا بدفتر.»
ترى Corina كومة بطاقات. في مساحة عمل مدفوعة سبع منها. وفي مساحة عمل تجريبية ثمان. والزائدة كتالوج مواد نموذجي وُجد لملء عرض فارغ. تُخفى لحظة تفعيل الاشتراك. والإجراء خلفها يأبى كذلك، فلا يستطيع نداء مزوَّر أن يبذر آلاف المواد المخترعة في مصنع حقيقي.
ونظام المحاسبة (ERP) هو برنامج المحاسبة والمالية الذي تدير الشركة دفاترها عليه. وهو هنا نظام Mirela، وتسمّيه هذه الدورة الدفتر.
| البطاقة | ما تربطه | من في الجهة الأخرى |
|---|---|---|
| نظام المحاسبة — نظام المال | يناول مستندات تشغيلية، ويحدّد من يصدر أوامر الشراء | دفتر Mirela |
| تحميل كتالوج المواد النموذجي | للعرض والتجربة فقط، ويُخفى عند الاشتراك | لا أحد — كتالوج مدمج |
| الربط ببيانات نظام المحاسبة | المشترون والمورّدون والمواد إلى رموز الدفتر | دفتر Mirela |
| الاستيراد من نظام المحاسبة — حالة الدفع | تواريخ العربون والرصيد والاعتماد المستندي | دفتر Mirela |
| Garment.io — ناتج صالة الإنتاج | القطع الملتقطة آلياً من الخطّ | نظام تتبّع الصالة |
| صندوق بريد شركتك — البريد الوارد | صندوق بريد ليس على Google | المورّدون والمشترون |
| Gmail — البريد الوارد | صندوق بريد على Google، للقراءة فقط | المورّدون والمشترون |
| الحسابات المراقَبة | قائمة السماح بالمرسلين الذين يجوز قراءتهم | لا أحد — قائمة |
وصلتان، ولا تتلامسان
أعد قراءة ذلك الجدول يظهر لك شكل الصفحة. ثلاث بطاقات تواجه الدفتر. وواحدة تواجه نظام الصالة. وثلاث عن البريد. والثامنة هي كتالوج العرض، ولا تواجه شيئاً.
والتطبيق مبني على النحو نفسه. هنا وصلتان على محورين مختلفين، وهما مستقلّتان عن قصد.
تقيم وصلة المال في جزء خاصّ بها من الشيفرة. ولا بدّ لها من ذلك، لأنها تمتدّ عبر التوريد والطلبيّات والشحن والمواد بلا مالك واحد. وتقيم وصلة بيانات الإنتاج داخل شيفرة الإنتاج. فلها مالك واحد بعينه، وعليها أن تكتب عبر الدالّة نفسها التي تكتب عبرها بطاقة عمل مُدخَلة باليد.
والنتيجة العملية على Corina تستحقّ القول صراحةً. ربط الدفتر لا يفعل شيئاً لصالة الإنتاج. وربط الصالة لا يفعل شيئاً للدفتر. وإن كانت إحداهما معطّلة أو مكسورة أو لم تُضبط قطّ، فالأخرى لا تتأثّر. لا مفتاح مشترك ولا حالة مشتركة.
الخطّ، والأشياء الثلاثة التي تعبره
القاعدة التي بُنيت عليها وصلة المال قصيرة. التطبيق يملك العمل. ولا يملك أبداً مبلغاً ولا دفتراً. وحالة المال تعود علامةً. ثلاثة أصناف تعبر، ولا رابع لها.
| الاتجاه | ما يعبر | ما لا يعبر أبداً |
|---|---|---|
| خارجاً إلى الدفتر | حقيقة تشغيلية — طلب أو استلام أو صرف أو إرسال | مبلغ مقيَّد أو فاتورة أو قيد |
| داخلاً — الحالة | مدفوع، غير مدفوع، صادر — علامة وتاريخ | المبلغ الذي دُفع |
| داخلاً — الشروط | التواريخ والأذون التي تحكم التشغيل | القيمة المكتوبة عليها الشروط |
والجزء الطريف ليس القاعدة. بل أين تُفرض.
كان من اليسير فرضها في الموصِّل. وذلك هو الموضع الخطأ. فالموصِّل مكتوب في مواجهة منتج شخص آخر، لذلك يُستبدل، وقد يكون التالي أكثر ثرثرة. فالفرض قائم إذن طبقةً إلى الداخل: عند النقطة التي يصير فيها سطر ملصوق سجلّاً يفهمه التطبيق.
اقرأ محلّل تغذية الدفعات تر ذلك يحدث. يصل سطر مقسّماً على فواصل أو مسافات جدولية. يقرأ المحلّل الخانة الأولى مرجعَ طلبيّة، والثانية معلماً، والثالثة تاريخاً. ولا قراءة رابعة. فإن وضع تصدير Mirela المبلغ في الخانة الرابعة، فالمبلغ لا يُرفض ولا يُنبَّه عليه ولا يُسجَّل. بل لا يُنظر فيه ببساطة. واللوحة فوق الصندوق تقول ذلك بالكلمات نفسها: «يُتجاهل أي عمود مبلغ — الدفتر يملك القيود، وهذا يسجّل حالة الدفع على ساعة الطلبيّة.»
ما لم يُبنَ بعد، بصراحة
الدورة المتقدّمة عن التكامل تدين للقارئ بالنصف الآخر: ما تعد به البطاقة، وما تفعله اليوم.
لوصلة المال مدخل واحد لإرسال البايتات، وثلاث طرق يمكن أن تعمل بها. هناك نمط معاينة، وتبادل ملفّات، ووصلة حيّة. ولا شيء منها عمل حقيقي اليوم غير تبادل الملفّات.
اطلب من التطبيق أن يزامن يجبك بإحدى جملتين. وكلتاهما رفض صادق. في نمط المعاينة يبلّغ بعدد المستندات المنتظرة، ويقول «لم يُرسل شيء». وفي أي نمط آخر يقول إن المهايئ «غير موصول بعد»، ويقول ثانيةً إن شيئاً لم يُرسل. ولا يدّعي أيّهما أبداً أنه نقل شيئاً.
فالمسار العامل اليوم هو الملفّات، وهو يجري في الاتجاهين. تضغط Corina تصدير إلى نظام المحاسبة فتحصل على ملفّ قابل للتنزيل لكل نوع مستند. وترسل Mirela قائمة طلبيّات وتواريخ دفع. فتلصقها Corina في الاستيراد من نظام المحاسبة، وتعاينها، وتسجّلها.
وليس ذلك بديلاً مؤقتاً عن تكامل حقيقي. فمصانع كثيرة تجري ماليّتها على برنامج محاسبة وجدول وبوابة مصرف. الملفّات هي التكامل عندها. والتطبيق مبني على قول ذلك، لا على وعد بموصِّل لا يملكه.
اختبر فهمكتسأل Corina لماذا لا يستطيع التطبيق ببساطة أن يحمل قيمة الفاتورة، ما دام الدفتر يرسلها على أي حال وما دام ذلك يجعل شاشة الطلبيّة أنفع. أعطِ أقوى حجّتين على حملها، ثم الجواب.أظهر الإجابة
الحجّتان الأقوى حقيقيتان. الأولى أن منسّق التجارة الناظر في طلبيّة يريد فعلاً أن يعرف قيمتها، وإرساله إلى نظام آخر ليعرف احتكاك. والثانية أن الدفتر يرسل الرقم سلفاً، فالتطبيق يطرح بيانات أُعطيت له، وذلك يبدو تبديداً. والجواب أن رقماً محفوظاً في نظامين رقم سيختلف، وسيظهر الخلاف في أسوأ لحظة. فنسخة الدفتر تتغيّر عند إصدار إشعار دائن، أو عند شحنة ناقصة، أو عند تطبيق تفاوت، أو عند إعادة تقييم العملة. ولا شيء من ذلك يبلغ هذا التطبيق، فتصير نسخته قديمة ولا يعلم أحد أيّهما أيّ. ويحفظ التطبيق بدل ذلك ما لا يقدم: أن عربوناً استُلم، ومتى. ولاحظ أن التصميم لا يكتفي بالثقة بذاكرته للقاعدة: فالمحلّل لا يستطيع فيزيائياً قراءة عمود المبلغ، فالكاتب المستقبلي المخالف سيضطرّ إلى تغيير المحلّل لا إلى مجرّد النسيان.
اختبر فهمكيقول Doru إن الوصلتين ينبغي دمجهما، لأن كلتيهما «تكامل» وكلتيهما على صفحة إعدادات واحدة. ماذا يفوته؟أظهر الإجابة
هو محقّ في أنهما تتشاركان صفحة، ومخطئ في أنهما تتشاركان شيئاً غيرها. تختلفان في الاتجاه، وفي الإيقاع، وفي كلفة الإخفاق، وفي مالك الطرف الآخر. وصلة المال تسليم مستندات، صادرة في معظمها، وفوات يوم فيها إزعاج محاسبي. ووصلة الإنتاج تغذية متّصلة بالقطع الخارجة من الخطّ، واردة كلّها، وفوات يوم فيها يعني أن مجموع المنتَج خاطئ على كل شاشة تقرؤه. والدمج يعطي حالة واحدة ووصلة واحدة وإخفاقاً واحداً — فيوقف عطلٌ في الدفتر تغذيةَ الصالة، ولا شأن لإحداهما بالأخرى. والشيفرة تفصلهما عن قصد، في موضعين مختلفين من الشجرة، وتُلزم تغذية الإنتاج بالكتابة عبر الدالّة نفسها التي تكتب عبرها بطاقة عمل مُدخَلة باليد كي لا يوجد أبداً دفتر إنتاج ثانٍ.
موجّه · أي وصلاتي تنقل بيانات فعلاً
قبل أن تخبر أحداً بأن التطبيق متكمل مع نظام ما، وفي أي وقت تقول فيه بطاقة وصلة إنها متّصلة ولا يصل شيء.
ساعدني في معرفة أي وصلات MerchandiserOS عنهذه تنقل بيانات حقاً، وأيّها مضبوط الإعداد فقط. سأعطيك عن كل بطاقة في الإعدادات ← التكملات: هل تظهر متّصلة، وماذا يقول آخر تصهذهر أو آخر مزامنة، وهل نزّل أحد ملفاً أو لصق ملفاً خلال الأسبوع الماضي. لا تعدّ «متّصلة» تعني «تعمل». افصل لكل وصلة ثلاث حقائق وأبلغ عن كل واحدة وحهذاا: هل هي مضبوطة، وهل نقلت بيانات أصلاً، وهل نقلت بيانات مؤخراً. قد تكون البطاقة خضراء في البدايةى وفارغة في الأخريين، وتلك هي الحال التي أحتاج أكثر شيء إلى إيجاهذاا. ثم أخبرني عن كل واحدة بما يبقى على إنسان أن يفعله بيهذا كي تنفع هذا الأسبوع. سمِّ الشاشة والزرّ، لا المفهوم. قاعدتان: لا تقل لي أبداً إن وصلة بخير لأنها تقول متّصلة. وحيث لم أعطك دليلاً في الاتجاهين، قل «غير معروف» بدل أن تفترض أنها تعمل.
قد يخطئ الذكاء الاصطناعي — تحقّق من أي شيء ستتصرّف بناءً عليه.