ارسم خريطة الأنظمة
متاح أيضًا بـ28 لغة
English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

الوحدة 4 من 6 في فصل فهم بيانات المؤسسة، الفصل 4 من دورة Data Architect. كل وحدة قائمة بذاتها. السابق: الأنظمة المحيطة بـ Salesforce · التالي: استراتيجية الـ org قرار على مستوى خريطة الأنظمة
السؤال الذي تجيب عنه هذه الوحدة: كيف أرسم خريطة أنظمة تُظهر إلى أين تذهب البيانات؟
أعطني سيناريو جديدًا وسبورة بيضاء فارغة، وسيكون من أول ما أرسمه خريطة الأنظمة. ليست جميلة، ولا تضم كل API، ولا نموذج البيانات بعد. أريد أن أرى المؤسسة: من المستخدمون، وما الأنظمة المعنية، وأين يقع Salesforce، وما الذي يحيط به، ومن أين تأتي البيانات وإلى أين تذهب. ثم أريد أن أتتبّع الأسهم. خريطة الأنظمة الجيدة ليست صورة صناديق. إنها وسيلة لكشف القرارات المعمارية.
ابدأ من لوحة فارغة
Section titled “ابدأ من لوحة فارغة ”أجعل المرشحين لشهادة CTA يتدربون على هذا. اقرأ السيناريو، ثم ابدأ الرسم. لا تنتظر حتى تحل كل شيء في رأسك؛ فالرسم يساعدك على الحل. لهذا يكون الواجب بعد اليوم الأول هو البدء بخريطة الأنظمة قبل تجربة رسم نموذج البيانات. ارسم نموذج البيانات أولًا وستكون قد افترضت مسبقًا ما الذي ينتمي إلى Salesforce. ارسم خريطة الأنظمة أولًا وستستطيع أن ترى الأنظمة التي ينبغي أن تشكّل ذلك القرار.
ابدأ من الأعلى، ثم تعمّق: المؤسسة كلها أولًا، ثم التفاصيل حيث تهم.
الخطوة 1 من 6: لوحة فارغة. المناطق فقط.
تخطيط Steve لخريطة الأنظمة
Section titled “تخطيط Steve لخريطة الأنظمة ”هناك طرق كثيرة لرسم خريطة الأنظمة. هذه مجرد طريقتي، صقلتها على مدى سنوات طويلة، وأشاركها حتى ترى كيف تُركّب واحدة بسرعة. أستخدمها لكل خريطة أنظمة في Salesforce، وهي تُقرأ كجملة: الناس على اليسار يصلون إلى Salesforce في الوسط، موثوقين عبر الأنظمة التي فوقه، ومخدومين عبر القنوات التي تحته، ومتصلين بالمكتب الخلفي على اليمين.
الناس على اليسار، من الأعلى إلى الأسفل: المستخدمون الداخليون، والشركاء، والعملاء. ليست كل الشخصيات بعد؛ بل ما يكفي للإجابة عن من يحاول الوصول إلى هذه المعمارية؟ كل مجموعة تشير إلى حيث تدخل: المستخدمون الداخليون إلى Salesforce، والشركاء إلى مجتمع الشركاء، والعملاء إلى مجتمع العملاء. الأنظمة لا توجد بذاتها. هناك أحد، أو شيء ما، يحاول استخدامها.
الخطوة 2 من 6: من يحاول الوصول إلى هذه المعمارية؟
Salesforce في الوسط. صندوق واحد بسيط. ليس لأن Salesforce مركز المؤسسة (فقد أمضينا للتو ثلاث وحدات نقول إنه ليس كذلك)، بل لأنه النظام الذي أصمّم حوله. إنه المرساة.
المجتمعات تحته مباشرةً، ملاصقة له. مجتمع الشركاء ومجتمع العملاء نقطتا وصول منفصلتان، لذا يحصل كل منهما على صندوقه الخاص. لكنهما يلتصقان بـ Salesforce، لأن لا شيء يحتاج إلى تكامل للوصول إليهما: فهما يعملان في مؤسسة Salesforce (org) نفسها.
الخطوة 3 من 6: Salesforce في الوسط، والمجتمعات تحته مباشرةً.
الهوية في الأعلى. مزوّدو الهوية يوضعون في الأعلى، أولئك الذين ينساهم المطورون: واحد للمستخدمين الداخليين، وربما آخر للشركاء. وحزم AppExchange توضع هناك أيضًا، منزاحة إلى اليمين، لأنها قدرات تُجلب إلى الـ org وليست أنظمة مكتب خلفي تتبادل البيانات معه. والمواقع العامة تقع أعلى اليسار.
الخطوة 4 من 6: الهوية في الأعلى، الصندوق الذي ينساه المطورون.
التكامل، ثم المكتب الخلفي، إلى اليمين. طبقة التكامل، ESB أو iPaaS (أو MuleSoft، عندما تُسمّى)، شريط طويل على يمين Salesforce مباشرةً. والأنظمة الداخلية تقع خلفها: أنظمة ERP، والمالية، وإدارة الطلبات، والأنظمة القديمة، ومستودع البيانات. والآن تُقرأ الصفحة من اليسار إلى اليمين: الناس، Salesforce، التكامل، المكتب الخلفي.
الخطوة 5 من 6: التكامل، ثم المكتب الخلفي.
القنوات في الأسفل. كل ما له خط مباشر مع العملاء: email-to-case، وweb-to-lead، والهاتف، والمراسلة.
البيانات الداخلة والخارجة، أسفل اليمين. مصادر البيانات الخارجية، والأرشيفات، وعمليات تحميل البيانات.
Data 360 على اليمين، تحت طبقة التكامل. المستخدمون لا يتصلون به أبدًا، والمستأجر الخاص به يتصل بكثير من الأنظمة الخلفية، لذا يقع مع البنية التحتية، حيث تبقى تلك الخطوط قصيرة: بجوار الأنظمة الداخلية، ومستودع البيانات، والبيانات في أسفل اليمين. فرق البيانات تفتح شاشاته فعلًا، لكن تلك الشاشات في الـ org: Data 360 قريب من النواة، يُدار على النواة ويُستضاف خارجها (الوحدة 1). وخط واحد يعود إلى Salesforce يُظهر من يديره. المكان الذي تضع فيه الصندوق يجب أن يروي قصة ما يفعله.
لا شيء من هذه الهندسة مقدّس. قيمة الاصطلاح أنني لا أعيد اختراع اللغة البصرية في كل مرة، وأن كل من رأى أحد مخططاتي يستطيع قراءة التالي أسرع.
الخطوة 6 من 6: التخطيط كله، دون أسهم بعد. كل خريطة أنظمة لاحقة تحافظ على هذه المواضع.
بطاقات في مناطق
Section titled “بطاقات في مناطق ”اجعل الترميز بسيطًا. كل نظام بطاقة: اسمه، ودوره، وأيقونة صغيرة تقول أي نوع من الأشياء هو: ERP، أو قاعدة بيانات، أو مزوّد هوية، أو مجموعة من الناس. والمناطق التي وصفتها للتو تُرسم كمناطق باهتة ومسمّاة، بحيث يكون التخطيط نفسه مرئيًا. ومفتاح الرموز في الأسفل يقول ما تعنيه كل أيقونة وكل خط.
لا تضع الكثير داخل الصندوق. فقط في خريطة أنظمة شديدة التعقيد أفتح Salesforce إلى أجزائه (Sales Cloud وService Cloud داخل الـ org، مع أسهم بينهما). ولا تخترع خمسة عشر شكلًا ما لم يكن كل منها يخبر القارئ بشيء. أريد أن ينظر أحدهم إلى خريطة الأنظمة ثلاثين ثانية فيبدأ في فهم المعمارية. الزخرفة لا تساعد. الوضوح يساعد.
ضع الأصفار في الجرد
Section titled “ضع الأصفار في الجرد ”لا تنتظر التصميم التفصيلي لتفكر في الحجم. سهم يحمل 500 منتج في الليلة وآخر يحمل 200,000 قراءة GPS في اليوم قد يبدوان متطابقين تمامًا على خريطة الأنظمة. لكنهما ليسا المشكلة نفسها. لذا قبل أن ترسم سهمًا واحدًا، عُدّ ما ينتقل. ابدأ الجرد خلف الصورة بالأعداد: صف لكل مجموعة بيانات مهمة، مع حجمها. قد لا تظهر الأصفار أبدًا على الأسهم، لكنك تحتاج إلى أن تعرف متى تعبر إلى الأرقام الكبيرة: آلاف أو ملايين في الساعة، ومئات الآلاف من المعاملات، بل عشرات إلى مئات المعاملات في الثانية.
هذه الأرقام تقود الآلية. بضع مئات من السجلات في الليلة دفعة. والاستدعاء الذي ينتظره أحدهم يمكن أن يكون متزامنًا، إذا سمح الحجم. وعشرات إلى مئات في الثانية قد تحتاج إلى أحداث، مثل platform events، بدلًا من استدعاء لكل سجل. السهم سيبدو هو نفسه؛ والحجم هو الذي يقرر ما الذي يحمله، لذا سجّله في الجرد، حيث تُختار الآلية.
بل يمكن للآلية أن تغيّر اتجاه السهم. أرسل سجلين في الدقيقة، ويستطيع Salesforce ببساطة إجراء استدعاء خارجي: السهم يبدأ من Salesforce. أرسل أكثر بكثير، وقد ينشر Salesforce أحداثًا على ناقل الأحداث بدلًا من ذلك؛ فيشترك النظام الخارجي ويستدعي Salesforce ليأخذها، والآن يبدأ السهم من الطرف الآخر. وأكبر من ذلك، لنقل مزامنة ليلية لملايين السجلات، فهي عملية دفعات. لذا اعرف أعدادك مبكرًا، وأنت تبدأ في تصميم الآليات، لأن الأعداد قد تعيد رسم الأسهم.
الحجم مهم في مكانين، لسببين. في نموذج البيانات، أحتاج إليه لمراقبة أحجام البيانات الكبيرة والتخطيط للأرشفة؛ ويتعمق الجزء 2 في ذلك. وفي خريطة الأنظمة، الأرقام الكبيرة في الجرد تقود اختيار نمط التكامل والآلية. تضع الوحدة 6 أصفارًا حقيقية على خريطة أنظمة Steve Trucking وجردها. ومع الأعداد في يدك، ارسم الأسهم.
الآن ارسم الأسهم
Section titled “الآن ارسم الأسهم ”مع وجود الأنظمة في أماكنها، اربطها، فتصبح خريطة الأنظمة معمارية. الصندوق نظام؛ والسهم يُظهر من يبادر بالاتصال. يبدأ من النظام الذي يفتح الاتصال ويشير إلى النظام الذي يستدعيه: من العميل إلى الخادم. والتسمية تقول ما الذي ينتقل، وفي أي اتجاه.
هذه القاعدة خاصة بـخرائط الأنظمة، حيث تتحدث الأنظمة مع الأنظمة. أما في مخطط تدفق البيانات فالسهم يتبع البيانات، كما تتوقع. لا تنقل قاعدة خريطة الأنظمة إلى مخططات أخرى؛ فهي لا تضيف إلا الارتباك.
الأسهم وقد أُضيفت. كل صندوق في مكانه السابق؛ وكل سهم يبدأ من النظام الذي يفتح الاتصال، وتسميته تقول ما الذي ينتقل وفي أي اتجاه.
لذا إذا دفعت طبقة التكامل المنتجات إلى Salesforce، فالسهم يمتد من طبقة التكامل إلى Salesforce، بتسمية منتجات داخلة. وإذا استدعى Salesforce خارجيًا لجلبها، فالسهم يبدأ من Salesforce، ويظل بتسمية منتجات داخلة. البيانات نفسها، ومحادثة مختلفة، وهذا الفرق يخبرني من يحتاج إلى بيانات الاعتماد ومن عليه التعامل مع الفشل. يرسل Salesforce الطلب عبر طبقة التكامل: طلبات خارجة. ويعود تنفيذ ERP: حالة الطلبات داخلة. والآن أستطيع أن أرى من يبدأ كل محادثة، وأين تدخل البيانات Salesforce وأين تغادره، وأي التدفقات تعبر الحدود، وأين تقع الملكية على الأرجح، وأين أحتاج إلى مزيد من الأسئلة.
وتذكّر الوحدة 1: كلما رأيت تدفقًا واحدًا فقط، يساورني القلق. على المستوى العام، سهم طلبات خارجة يعتمد على تدفقات عكسية: عملاء داخلون، ومنتجات داخلة، والأسعار. وانظر أعمق بعد فستجد رحلة العودة: القبول، والرفض، والحالة، ورقم الفاتورة، والإلغاء. الأسهم تعطيني شيئًا ملموسًا أطرح عليه التحديات.
كل سهم يحتاج إلى آلية
Section titled “كل سهم يحتاج إلى آلية ”هنا تتوقف خريطة الأنظمة عن أن تكون فن PowerPoint. أمام مجلس المراجعة، يمكن لأي سهم أن يستدعي ثلاثة أسئلة، وأريدك أن تملك الإجابات:
- كيف تتم المصادقة؟ OAuth، أم شهادة، أم named credential، أم شيء آخر؟
- هل هو متزامن أم غير متزامن؟ هل ينتظر Salesforce نظام ERP، أم ينشر ويمضي؟ ما السرعة التي تحتاج بها الأعمال إلى النتيجة؟
- ما الآلية؟ استدعاء REST، أم حدث، أم ملف، أم طابور رسائل، عبر MuleSoft أم مباشرةً؟
ثم: ماذا يحدث عندما يكون الطرف الآخر متوقفًا؟ كل سهم يحتاج إلى آلية. إن لم تستطع شرحها، فالخط مجرد زينة.
و«أطلِق وانسَ» (fire and forget) ليست إجابة. إنها تعني عادةً «لم أصمّم ما يحدث بعد الإطلاق». هل وصلت؟ هل قُبلت؟ هل فشلت؟ هل ستُعاد المحاولة؟ من يعرف أنها عالقة؟ ماذا لو وصلت الرسالة نفسها مرتين؟ لا شيء من ذلك يظهر على خريطة الأنظمة، وإلا لصارت غير مقروءة. لكن السهم يجب أن يجعلك تعرف أن هذه الأسئلة موجودة.
قرّب الصورة على أي سهم وستجد عميلًا وخادمًا، وكل منهما يملك نصفه. العميل يفتح الاتصال: يحتاج إلى نقطة النهاية والمنفذ، ويحصل أولًا على رمز (token) من خادم المصادقة، ويستدعي البروتوكول والعقد اللذين يعرّفهما الخادم، ويختار هل ينتظر. العميل وحده يرى الرحلة كاملة ذهابًا وإيابًا، لذا فالعميل وحده يستطيع إعادة المحاولة. والخادم يستمع، ويعرّف البروتوكول والعقد والحمولة، ويتحقق مما يصل، ولا يرى إلا جزءه. عندما أرسم سهمًا، أعرف مسبقًا أي طرف هو أي، وهذا يخبرني من يملك كل سؤال من هذه الأسئلة.
سهم واحد، مكبَّرًا: العميل يتولى، والخادم يعرّف. لا شيء من هذا يظهر على خريطة الأنظمة، لكن كل سهم فيه ذلك.
والآن اقلب السهم. عندما يستدعي ERP نظام Salesforce، يكون Salesforce هو الخادم: يعرّف واجهات API، ويشغّل خادم التفويض الخاص به، ويقرر عبر External Client App ومستخدم تكامل ما يجوز للمستدعي فعله. الأسئلة نفسها، من الجهة الأخرى.
Salesforce كخادم: الأسئلة نفسها، وSalesforce يجيب عن نصف الخادم.
الأسهم على خريطة الأنظمة، والمحادثات في مخطط المسارات
Section titled “الأسهم على خريطة الأنظمة، والمحادثات في مخطط المسارات ”هنا يُفسد المعماريون مخططًا جيدًا: يجعلون مُخرَجًا واحدًا يجيب عن كل شيء. تمتلئ خريطة الأنظمة بأسماء API، والحمولات، وإعادات المحاولة، وطوابير الأخطاء، والتحويلات، وكل استدعاء راجع، وسرعان ما لا يستطيع أحد قراءتها. لا تفعل. خريطة الأنظمة هي الصورة الكبيرة: الأنظمة والتدفقات المهمة بينها.
عندما أحتاج إلى شرح تفاعل ما، أرسم مخططًا ثانيًا، لكن ليس لكل تكامل. إذا أرسل النظام A شيئًا إلى B، أو حتى سأل وتلقى إجابة، فالسهم المسمّى يكفي. أريد مخطط مسارات (swim lane) عندما تصبح العملية محادثة: A يستدعي B، وB يتحقق مع C، وC يجيب، وB يُنشئ شيئًا ويستدعي A من جديد، وشخص يوافق، ونظام آخر يتابع. قاعدتي التقريبية: أكثر من تبادل أو تبادلين ذهابًا وإيابًا، والتسلسل يستحق مخطط مسارات خاصًا به. الأسهم على خريطة الأنظمة؛ والمحادثة في مخطط المسارات.
ولاحظ أن السهم يعني شيئًا مختلفًا هناك. على خريطة الأنظمة، السهم اتصال: من يفتحه، وما الذي ينتقل. وفي مخطط المسارات، كل سهم رسالة واحدة في محادثة، تُقرأ بالترتيب: طلب يذهب في اتجاه، ورد يعود في الاتجاه الآخر، والخطوة التالية تلي.
ثلاثة أسهم على خريطة الأنظمة؛ وست خطوات في مخطط المسارات. على خريطة الأنظمة السهم اتصال؛ وفي مخطط المسارات كل سهم رسالة واحدة، بالترتيب.
تتبّع كل سهم
Section titled “تتبّع كل سهم ”عندما تبدو خريطة الأنظمة شبه مكتملة، تتبّعها، سهمًا سهمًا. من ERP إلى Salesforce: ما الذي ينتقل، ومن يملكه، وكيف تتم المصادقة، وما الآلية، متزامن أم غير متزامن، وما مدى الحداثة المطلوبة؟ ثم السهم التالي، والذي بعده. هنا تظهر الفجوات. «آه، لم نحدد قط كيف يرسل الشريك ذلك فعلًا.» «نرسل الطلبات إلى ERP، لكننا لم نصمّم كيف تعود الطلبات المرفوضة.» جيد. وجدتها على السبورة بدلًا من بيئة الإنتاج.
ضع جردًا خلف الصورة
Section titled “ضع جردًا خلف الصورة ”يجب أن تبقى الصورة مقروءة، لذا تذهب التفاصيل إلى الجرد خلفها. لقد بدأته بالأعداد؛ والآن أكمله، صفًا لكل مجموعة بيانات أو تدفق مهم:
| العمود | ما أريد معرفته |
|---|---|
| مجموعة البيانات | العميل، والمنتج، والطلب، والتوصيلة، والفاتورة |
| النوع | رئيسية، مرجعية، معاملات، تحليلية، غير مهيكلة |
| المالك | من يملك معناها ودورة حياتها؟ |
| نظام السجل | أين النسخة المرجعية المعتمدة؟ |
| حِمل العمل | تشغيلي، تحليلي، تدفقي |
| الحجم | «عدد الأصفار» |
| الـ org | أي org في Salesforce، إن كانت هناك عدة؟ |
| المصادقة | كيف يؤسس الاتصال الثقة؟ |
| الآلية والتوقيت | API، حدث، ملف، اتحاد؛ متزامن، غير متزامن، دفعات |
| النهج | ننسخها، أم نشير إليها، أم نتّحد معها؟ |
والآن هناك مُخرَجان: خريطة الأنظمة تتيح لي رؤية المعمارية، والجرد يتيح لي استجوابها.
الجرد خلف ED-D42. الأسهم تبدو متشابهة على خريطة الأنظمة؛ والحجم هو الذي يقرر ما يحمل كل واحد منها.
خريطة الأنظمة تجيب عن الأسئلة
Section titled “خريطة الأنظمة تجيب عن الأسئلة ”لهذا أحب هذا المُخرَج: إنه يساعدني على التفكير. «كيف سنعدّ التقارير عبر Salesforce وERP؟» إنه السؤال من الوحدة 3: أي من مخططاتي يحل هذا بشكل جميل؟ خريطة الأنظمة. إذا كان كل شيء على النواة، فالتقارير القياسية. وإذا كانت البيانات في ERP ومستودع البيانات، فستراها على الفور. «أين ينبغي أن تُدار هذه السمة من سمات العميل كبيانات رئيسية؟» انظر أي الأنظمة تستخدمها وأيها يملك العميل بالفعل. «هل يحتاج Salesforce إلى كل قراءة GPS؟» من ينتجها، ومن يستهلكها، وما حِمل العمل؟ ربما يحتاج Salesforce إلى الموقع الحالي وتحتفظ منصة أخرى بالتاريخ. خريطة الأنظمة لا تسلّمك الإجابة. إنها تعطيك الرؤية الصحيحة للمشكلة.
ارسم الحالة الراهنة قبل أن تصلحها
Section titled “ارسم الحالة الراهنة قبل أن تصلحها ”انضباط آخر. في مؤسسة قائمة، ارسم ما هو موجود، لا ما تتمنى أن يكون موجودًا. جدول البيانات المرسل بالبريد الإلكتروني كل جمعة: ارسمه. ملف CSV الخاص بالشريك على خادم SFTP: ارسمه. التكامل الذي يتجاوز ESB لأسباب تاريخية: ارسمه. أشخاص يعيدون إدخال البيانات يدويًا بين نظامين: أظهِر ذلك. لا تجمّل الواقع وأنت توثّقه. تحتاج إلى خريطة الأنظمة الحالية قبل أن تصمّم المستهدفة، وهذا ما نفعله لـ Steve Trucking في الوحدة 6.
ما بعد الاختبار: ما الذي يغيّره الذكاء الاصطناعي. خريطة الأنظمة تتحول إلى خريطة للوكلاء. إذا أجاب وكيل عن «أين توصيلتي؟»، فعلى خريطة الأنظمة أن تقول هل الإجابة تأتي من Salesforce، أو من نظام شريك، أو من بيانات تتبّع المركبات، أو من ERP، أو من مزيج منها. الوكلاء لا يزيلون حدود الأنظمة؛ بل يجعلون معرفة النظام المرجعي المعتمد، وكيفية الوصول إليه بأمان، أكثر أهمية.
ما الذي يقرره المعماري هنا
Section titled “ما الذي يقرره المعماري هنا ”- أي الأنظمة وفئات المستخدمين تنتمي إلى خريطة الأنظمة، وكيف يُظهر موضعها دورها.
- أي التدفقات تعبر حدود الأنظمة، وفي أي اتجاه، وما الذي يعود.
- كيف يصادق كل اتصال، وما الآلية التي تحمله، وهل هو متزامن، أو غير متزامن، أو دفعات، أو متّحد.
- متى يكفي سهم مسمّى، ومتى يحتاج تفاعل إلى مخطط مسارات خاص به.
- ما الذي يسجّله الجرد خلف الصورة: المالك، وحِمل العمل، والحجم، والـ org، والتوقيت، والمصادقة، والنسخ أو الإشارة أو الاتحاد.
خريطة الأنظمة ليست شيئًا أرسمه بعد اكتمال المعمارية. إنها الطريقة التي أكتشف بها المعمارية. وعندما تظن أنها اكتملت، لا تُعجب بها. تتبّعها. كل سهم لا تستطيع شرحه بعد يُريك أين يكمن العمل.
للاستزادة
Section titled “للاستزادة ”- قراءة إضافية: ينشر Salesforce Architects إرشاداته الخاصة لرسم المخططات، How to Build Salesforce Diagrams (opens in a new tab) وSystem Landscape (opens in a new tab) (بالإنجليزية)، وتستحق المعرفة إن كنت متجهًا إلى مجلس مراجعة CTA.
