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