אינטגרציה נראית פשוטה ביום שהיא עולה לאוויר. הכאב מגיע בחודש השלישי, כשהמערכת בצד השני משנה שדה, כשהרשת נופלת לשלוש דקות, או כשמישהו מזין נתון בפורמט אחר. חיבור מקצועי אינו זה שעובד, אלא זה שממשיך לעבוד.
מתחילים מהחוזה, לא מהקוד
לפני שורת הקוד הראשונה מוגדר במדויק מה עובר: אילו שדות, באיזה פורמט, מה חובה ומה אופציונלי, ומה נחשב ערך לא תקין. הגדרה כתובה של החוזה הופכת כל תקלה עתידית לשאלה פשוטה (מי חרג מהחוזה) במקום לחקירה של יומיים.
- כיוון הזרימה: חד-כיווני או דו-כיווני, ומי המקור המוסמך לכל שדה
- תדירות: בזמן אמת, כל חמש דקות או פעם ביום
- זיהוי ייחודי: לפי איזה מפתח מזהים שמדובר באותה רשומה
1/5 פרקים מאחוריכם · נותרו כ-6 דק׳
מה קורה כשהצד השני לא עונה
הנחת העבודה היא שכל חיבור ייפול מתישהו. ולכן נדרשים שלושה מנגנונים: ניסיון חוזר עם השהיה גדלה, תור שמחזיק את מה שלא נשלח, והתראה לאדם אחרי סף מוגדר. שלושתם יחד הופכים נפילה של עשר דקות לאירוע שאיש לא מרגיש בו.
אינטגרציה בלי טיפול בכשל היא לא אינטגרציה. היא הימור שעובד עד הפעם הראשונה שהוא לא.
2/5 פרקים מאחוריכם · נותרו כ-4 דק׳
למה אותה הודעה לא יוצרת שתי הזמנות
כשמערכת שולחת שוב בקשה שכבר התקבלה (וזה קורה), היא חייבת לקבל את אותה תוצאה ולא ליצור רשומה כפולה. מפתח ייחודי לכל פעולה פותר את זה לחלוטין. זהו הפרט הקטן שמפריד בין מערכת שמאמינים לנתונים שבה לבין מערכת שסופרים בה ידנית בסוף החודש.
3/5 פרקים מאחוריכם · נותרו כ-3 דק׳
ניטור: לדעת לפני שהלקוח מגלה
לוח ניטור פשוט שמציג כמה רשומות עברו היום, כמה נכשלו וכמה ממתינות בתור, שווה יותר מכל תיעוד. בתוספת התראה אוטומטית בחריגה, הצוות מגיע לתקלה לפני שהיא הופכת לשיחת טלפון.
4/5 פרקים מאחוריכם · נותרו כ-2 דק׳
כשהצד השני משנה גרסה
שכבת תרגום דקה בין המערכות מאפשרת לספוג שינוי בצד אחד בלי לגעת בשני. זה מוסיף כמה שעות בהקמה וחוסך שבועות בכל שדרוג עתידי. בעולם שבו כל פלטפורמה מתעדכנת פעמיים בשנה, זה כמעט תמיד משתלם.




