Перейти до вмісту

Намалюйте системний ландшафт

Також доступно 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)

A hand-drawn map of a region in ink and watercolor, half finished: towns, roads, a river and a rail line on one side, faint pencil lines on bare paper on the other.
Зображення згенеровано ШІ

Модуль 4 з 6 розділу Розуміння корпоративних даних, розділ 4 курсу Data Architect. Кожен модуль самостійний. Попередній: Системи навколо Salesforce · Наступний: Стратегія org — це рішення рівня ландшафту

Питання, на яке відповідає цей модуль: Як намалювати ландшафт, що показує, куди йдуть дані?

Дайте мені новий сценарій і чисту дошку, і одне з перших, що я намалюю, — системний ландшафт. Не гарний, не з кожним API, ще не модель даних. Я хочу бачити підприємство: хто користувачі, які системи залучені, де стоїть Salesforce, що його оточує, звідки дані приходять і куди йдуть. А потім я хочу пройти стрілками. Добрий ландшафт — не малюнок із прямокутниками. Це спосіб виявити архітектурні рішення.

Почніть із чистого аркуша

Section titled “Почніть із чистого аркуша ”

Я змушую кандидатів у CTA це практикувати. Прочитайте сценарій, а потім починайте малювати. Не чекайте, доки все розв’яжете в голові; малювання допомагає розв’язати. Тому домашнє завдання після першого дня — почати ландшафт, перш ніж братися за модель даних. Намалюйте спершу модель даних — і ви вже припустили, що належить до Salesforce. Намалюйте спершу ландшафт — і ви бачите системи, що мають формувати це рішення.

Почніть високо, потім заглиблюйтеся: спершу все підприємство, потім деталі там, де вони важливі.

Компонування ландшафту від Steve Компонування системного ландшафту від Steve, поки що без стрілок. Ліворуч, згори донизу: внутрішні користувачі, партнерські користувачі й клієнти. Посередині — Salesforce, синій, із хмаркою, org, навколо якої ми проєктуємо, а Partner Community і Customer Community торкаються його знизу. Угорі: публічний сайт ліворуч угорі, постачальник ідентичності для співробітників і постачальник ідентичності для партнерів над Salesforce, а застосунок AppExchange для електронного підпису зсунуто праворуч. Праворуч від Salesforce — інтеграційний шар, під ним у тому самому стовпці Data 360 (поряд з ядром: керується в ядрі, розміщується поза ядром; користувачі ніколи до нього не підключаються, а він дістається до багатьох бек-офісних систем), далі внутрішні системи: ERP, фінанси, керування замовленнями і сховище даних. Унизу — клієнтські канали: пошта, вебформи, телефон і месенджери. Праворуч унизу — дані на вході й виході: архів, завантаження даних і зовнішні дані, на які посилаються, а не копіюють. Шість покрокових кадрів будують його: порожні зони, потім люди, Salesforce і його спільноти, ідентичність угорі, інтеграція та внутрішні системи і, нарешті, канали й дані. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Крок 1 з 6: чистий аркуш. Лише зони.

Компонування ландшафту від Steve

Section titled “Компонування ландшафту від Steve ”

Є багато способів малювати системний ландшафт. Це просто мій спосіб, який я шліфував багато років, і я ділюся ним, щоб ви побачили, як швидко скласти ландшафт. Я використовую його для кожного ландшафту Salesforce, і він читається як речення: люди ліворуч дістаються до Salesforce посередині, якому довіряють через системи над ним, який обслуговує через канали під ним і який з’єднаний із бек-офісом праворуч.

Люди ліворуч, згори донизу: внутрішні користувачі, партнери, клієнти. Ще не кожна персона; достатньо, щоб відповісти хто намагається дістатися до цієї архітектури? Кожна група вказує туди, де вона входить: внутрішні користувачі — на Salesforce, партнери — на партнерську спільноту, клієнти — на клієнтську спільноту. Системи не існують самі по собі. Хтось чи щось намагається ними користуватися.

Компонування ландшафту від Steve Компонування системного ландшафту від Steve, поки що без стрілок. Ліворуч, згори донизу: внутрішні користувачі, партнерські користувачі й клієнти. Посередині — Salesforce, синій, із хмаркою, org, навколо якої ми проєктуємо, а Partner Community і Customer Community торкаються його знизу. Угорі: публічний сайт ліворуч угорі, постачальник ідентичності для співробітників і постачальник ідентичності для партнерів над Salesforce, а застосунок AppExchange для електронного підпису зсунуто праворуч. Праворуч від Salesforce — інтеграційний шар, під ним у тому самому стовпці Data 360 (поряд з ядром: керується в ядрі, розміщується поза ядром; користувачі ніколи до нього не підключаються, а він дістається до багатьох бек-офісних систем), далі внутрішні системи: ERP, фінанси, керування замовленнями і сховище даних. Унизу — клієнтські канали: пошта, вебформи, телефон і месенджери. Праворуч унизу — дані на вході й виході: архів, завантаження даних і зовнішні дані, на які посилаються, а не копіюють. Шість покрокових кадрів будують його: порожні зони, потім люди, Salesforce і його спільноти, ідентичність угорі, інтеграція та внутрішні системи і, нарешті, канали й дані. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД Внутрішні користувачі продажі, сервіс, операції Партнерські користувачі Клієнти люди © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Крок 2 з 6: хто намагається дістатися до цієї архітектури?

Salesforce посередині. Один простий прямокутник. Не тому, що Salesforce — центр підприємства (ми щойно три модулі казали, що це не так), а тому, що це система, навколо якої я проєктую. Це якір.

Спільноти просто під ним, впритул. Партнерська й клієнтська спільноти — окремі точки входу, тож вони отримують власні прямокутники. Але вони стоять упритул до Salesforce, бо нічого не треба інтегрувати, щоб до них дістатися: вони працюють у тій самій org.

Компонування ландшафту від Steve Компонування системного ландшафту від Steve, поки що без стрілок. Ліворуч, згори донизу: внутрішні користувачі, партнерські користувачі й клієнти. Посередині — Salesforce, синій, із хмаркою, org, навколо якої ми проєктуємо, а Partner Community і Customer Community торкаються його знизу. Угорі: публічний сайт ліворуч угорі, постачальник ідентичності для співробітників і постачальник ідентичності для партнерів над Salesforce, а застосунок AppExchange для електронного підпису зсунуто праворуч. Праворуч від Salesforce — інтеграційний шар, під ним у тому самому стовпці Data 360 (поряд з ядром: керується в ядрі, розміщується поза ядром; користувачі ніколи до нього не підключаються, а він дістається до багатьох бек-офісних систем), далі внутрішні системи: ERP, фінанси, керування замовленнями і сховище даних. Унизу — клієнтські канали: пошта, вебформи, телефон і месенджери. Праворуч унизу — дані на вході й виході: архів, завантаження даних і зовнішні дані, на які посилаються, а не копіюють. Шість покрокових кадрів будують його: порожні зони, потім люди, Salesforce і його спільноти, ідентичність угорі, інтеграція та внутрішні системи і, нарешті, канали й дані. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД Внутрішні користувачі продажі, сервіс, операції Партнерські користувачі Клієнти Partner Community Customer Community Salesforce org, навколо якої ми проєктуємо Salesforce спільнота люди © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Крок 3 з 6: Salesforce посередині, спільноти просто під ним.

Ідентичність угорі. Постачальники ідентичності йдуть угору — ті, про яких забувають розробники: один для внутрішніх користувачів, можливо, ще один для партнерів. Пакети AppExchange теж ідуть туди, зсунуті праворуч, бо це можливості, принесені в org, а не системи бек-офісу, що обмінюються з нею даними. Публічні сайти стоять угорі ліворуч.

Компонування ландшафту від Steve Компонування системного ландшафту від Steve, поки що без стрілок. Ліворуч, згори донизу: внутрішні користувачі, партнерські користувачі й клієнти. Посередині — Salesforce, синій, із хмаркою, org, навколо якої ми проєктуємо, а Partner Community і Customer Community торкаються його знизу. Угорі: публічний сайт ліворуч угорі, постачальник ідентичності для співробітників і постачальник ідентичності для партнерів над Salesforce, а застосунок AppExchange для електронного підпису зсунуто праворуч. Праворуч від Salesforce — інтеграційний шар, під ним у тому самому стовпці Data 360 (поряд з ядром: керується в ядрі, розміщується поза ядром; користувачі ніколи до нього не підключаються, а він дістається до багатьох бек-офісних систем), далі внутрішні системи: ERP, фінанси, керування замовленнями і сховище даних. Унизу — клієнтські канали: пошта, вебформи, телефон і месенджери. Праворуч унизу — дані на вході й виході: архів, завантаження даних і зовнішні дані, на які посилаються, а не копіюють. Шість покрокових кадрів будують його: порожні зони, потім люди, Salesforce і його спільноти, ідентичність угорі, інтеграція та внутрішні системи і, нарешті, канали й дані. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД Внутрішні користувачі продажі, сервіс, операції Партнерські користувачі Клієнти Публічний сайт IdP співробітників single sign-on IdP партнерів single sign-on Застосунок AppExchange електронний підпис Partner Community Customer Community Salesforce org, навколо якої ми проєктуємо Salesforce спільнота люди ідентичність, застосунки, веб © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Крок 4 з 6: ідентичність угорі — прямокутник, про який забувають розробники.

Інтеграція, потім бек-офіс — праворуч. Інтеграційний шар, ESB чи iPaaS (або MuleSoft, коли його названо), — це висока смуга одразу праворуч від Salesforce. За нею стоять внутрішні системи: ERP, фінанси, керування замовленнями, застарілі системи, сховище даних. Тепер сторінка читається зліва направо: люди, Salesforce, інтеграція, бек-офіс.

Компонування ландшафту від Steve Компонування системного ландшафту від Steve, поки що без стрілок. Ліворуч, згори донизу: внутрішні користувачі, партнерські користувачі й клієнти. Посередині — Salesforce, синій, із хмаркою, org, навколо якої ми проєктуємо, а Partner Community і Customer Community торкаються його знизу. Угорі: публічний сайт ліворуч угорі, постачальник ідентичності для співробітників і постачальник ідентичності для партнерів над Salesforce, а застосунок AppExchange для електронного підпису зсунуто праворуч. Праворуч від Salesforce — інтеграційний шар, під ним у тому самому стовпці Data 360 (поряд з ядром: керується в ядрі, розміщується поза ядром; користувачі ніколи до нього не підключаються, а він дістається до багатьох бек-офісних систем), далі внутрішні системи: ERP, фінанси, керування замовленнями і сховище даних. Унизу — клієнтські канали: пошта, вебформи, телефон і месенджери. Праворуч унизу — дані на вході й виході: архів, завантаження даних і зовнішні дані, на які посилаються, а не копіюють. Шість покрокових кадрів будують його: порожні зони, потім люди, Salesforce і його спільноти, ідентичність угорі, інтеграція та внутрішні системи і, нарешті, канали й дані. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД Внутрішні користувачі продажі, сервіс, операції Партнерські користувачі Клієнти Публічний сайт IdP співробітників single sign-on IdP партнерів single sign-on Застосунок AppExchange електронний підпис Partner Community Customer Community ІНТЕГРАЦІЙНИЙ ШАР (ESB) ERP замовлення, рахунки Фінанси платежі Керування замовленнями Сховище даних аналітика Salesforce org, навколо якої ми проєктуємо Salesforce спільнота люди ідентичність, застосунки, веб внутрішня система інтеграційний шар © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Крок 5 з 6: інтеграція, потім бек-офіс.

Канали внизу. Усе, що має пряму лінію до клієнтів: email-to-case, web-to-lead, телефон, месенджери.

Дані на вході й виході — праворуч унизу. Зовнішні джерела даних, архіви, завантаження даних.

Data 360 — праворуч, під інтеграційним шаром. Користувачі ніколи з ним не з’єднуються, а його тенант з’єднується з багатьма бекенд-системами, тож він стоїть разом із «трубопроводом», де ці лінії лишаються короткими: поруч із внутрішніми системами, сховищем даних і даними праворуч унизу. Команди даних справді відкривають його екрани, але ці екрани — в org: Data 360 — поряд з ядром (near-core), керується в ядрі й розміщується поза ядром (модуль 1). Одна лінія назад до Salesforce показує, хто ним керує. Те, де ви ставите прямокутник, має розповідати історію того, що він робить.

Ніщо в цій геометрії не священне. Цінність конвенції в тому, що я не вигадую візуальну мову щоразу заново, а кожен, хто бачив одну з моїх діаграм, швидше прочитає наступну.

Компонування ландшафту від Steve Компонування системного ландшафту від Steve, поки що без стрілок. Ліворуч, згори донизу: внутрішні користувачі, партнерські користувачі й клієнти. Посередині — Salesforce, синій, із хмаркою, org, навколо якої ми проєктуємо, а Partner Community і Customer Community торкаються його знизу. Угорі: публічний сайт ліворуч угорі, постачальник ідентичності для співробітників і постачальник ідентичності для партнерів над Salesforce, а застосунок AppExchange для електронного підпису зсунуто праворуч. Праворуч від Salesforce — інтеграційний шар, під ним у тому самому стовпці Data 360 (поряд з ядром: керується в ядрі, розміщується поза ядром; користувачі ніколи до нього не підключаються, а він дістається до багатьох бек-офісних систем), далі внутрішні системи: ERP, фінанси, керування замовленнями і сховище даних. Унизу — клієнтські канали: пошта, вебформи, телефон і месенджери. Праворуч унизу — дані на вході й виході: архів, завантаження даних і зовнішні дані, на які посилаються, а не копіюють. Шість покрокових кадрів будують його: порожні зони, потім люди, Salesforce і його спільноти, ідентичність угорі, інтеграція та внутрішні системи і, нарешті, канали й дані. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД Внутрішні користувачі продажі, сервіс, операції Партнерські користувачі Клієнти Публічний сайт IdP співробітників single sign-on IdP партнерів single sign-on Застосунок AppExchange електронний підпис Partner Community Customer Community Data 360 поряд з ядром: керується в ядрі, розміщується поза ядром ІНТЕГРАЦІЙНИЙ ШАР (ESB) ERP замовлення, рахунки Фінанси платежі Керування замовленнями Сховище даних аналітика Пошта email-to-case Вебформи web-to-lead Телефон контакт-центр Месенджери SMS, чат Архів старі звернення Завантаження даних міграція Зовнішні дані за посиланням, без копіювання Salesforce org, навколо якої ми проєктуємо Salesforce спільнота люди ідентичність, застосунки, веб внутрішня система канал клієнтів дані на вхід і вихід інтеграційний шар пунктир: ще не працює або лише згадується © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Крок 6 з 6: усе компонування, поки без стрілок. Кожен наступний ландшафт зберігає ці позиції.

Тримайте нотацію простою. Кожна система — це картка: її назва, її роль і невелика іконка, яка каже, що це за річ: ERP, база даних, постачальник ідентичності, група людей. Області, які я щойно описав, малюються як бліді підписані зони, тож саме компонування видно. Легенда внизу пояснює, що означає кожна іконка й лінія.

Не кладіть забагато всередину прямокутника. Лише на дуже складному ландшафті я розкриваю Salesforce на частини (Sales Cloud і Service Cloud усередині org, зі стрілками між ними). І не вигадуйте п’ятнадцять форм, якщо кожна з них не каже читачеві щось. Я хочу, щоб людина подивилася на ландшафт тридцять секунд і почала розуміти архітектуру. Вишуканість не допомагає. Ясність — допомагає.

Покладіть нулі в інвентаризацію

Section titled “Покладіть нулі в інвентаризацію ”

Не чекайте детального дизайну, щоб подумати про обсяг. Стрілка, що несе 500 продуктів за ніч, і стрілка, що несе 200 000 показань GPS на день, на ландшафті можуть виглядати однаково. Це не та сама проблема. Тож перш ніж намалювати хоч одну стрілку, порахуйте, що рухається. Почніть інвентар за малюнком із кількостей: один рядок на кожен важливий набір даних, з його обсягом. Нулі можуть ніколи не з’явитися на стрілках, але вам треба знати, коли ви переходите у великі числа: тисячі чи мільйони за годину, сотні тисяч транзакцій, навіть від десятків до сотень транзакцій на секунду.

Ці числа визначають механізм. Кілька сотень записів за ніч — це пакетна обробка. Виклик, на який хтось чекає, може бути синхронним, якщо обсяг дозволяє. Десятки чи сотні на секунду можуть потребувати подій, як-от platform events, а не виклику на кожен запис. Стрілка виглядатиме так само; обсяг вирішує, що її несе, тож запишіть його в інвентар, де обирають механізм.

Механізм може навіть змінити напрямок стрілки. Надсилайте кілька записів на хвилину — і Salesforce може просто викликати назовні: стрілка починається в Salesforce. Надсилайте набагато більше — і Salesforce може натомість публікувати події на шині подій; зовнішня система підписується й звертається по них сама, тож тепер стрілка починається на іншому кінці. Ще більше, скажімо нічна синхронізація мільйонів записів, — і це вже пакетний процес. Тож знайте свої кількості рано, коли починаєте проєктувати механізми, бо кількості можуть перемалювати стрілки.

Обсяг важливий у двох місцях, з двох причин. У моделі даних він потрібен мені, щоб стежити за великими обсягами даних і планувати архівування; Частина 2 розглядає це глибоко. На системному ландшафті великі числа в інвентарі визначають вибір шаблону інтеграції та механізму. Модуль 6 ставить справжні нулі на ландшафт Steve Trucking та в його інвентар. Маючи кількості, малюйте стрілки.

Тепер намалюйте стрілки

Section titled “Тепер намалюйте стрілки ”

Коли системи на місцях, з’єднайте їх, і ландшафт стає архітектурою. Прямокутник — це система; стрілка показує, хто ініціює з’єднання. Вона починається в системі, яка відкриває з’єднання, і вказує на ту, яку викликає: від клієнта до сервера. Підпис каже, що рухається і в який бік.

Це правило — для системних ландшафтів, де системи розмовляють із системами. На діаграмі потоків даних стрілка йде за даними, як ви й очікуєте. Не переносьте правило ландшафту на інші діаграми; воно лише додає плутанини.

Ландшафт зі стрілками Той самий ландшафт, тепер зі стрілками; кожна починається в системі, яка відкриває з’єднання, а підпис каже, що рухається і в який бік. Внутрішні користувачі заходять у Salesforce, партнерські користувачі — у Partner Community, клієнти — у Customer Community. Кожен постачальник ідентичності має спільний сертифікат із Salesforce, показаний зеленою пунктирною лінією із сертифікатом на кожному кінці: це довіра, а не прямий виклик, бо вхід проходить через браузер користувача як перенаправлення. Постачальник ідентичності для співробітників також надсилає в Salesforce оновлення користувачів. Salesforce надсилає документи назовні до застосунку електронного підпису з AppExchange, а замовлення назовні — в інтеграційний шар, який надсилає продукти всередину Salesforce. Інтеграційний шар надсилає замовлення назовні в ERP і забирає звідти продукти всередину; ERP надсилає статус замовлення всередину інтеграційного шару; інтеграційний шар забирає платежі всередину з фінансів. Data 360 під інтеграційним шаром відкриває свої з’єднання: дані CRM назовні з Salesforce, zero copy до сховища даних і посилання на зовнішні дані. Знизу пошта надсилає звернення всередину, а вебформи — ліди всередину Salesforce; Salesforce надсилає старі звернення назовні в архів; завантаження даних надсилають записи всередину. УГОРІ: ІДЕНТИЧНІСТЬ, APPEXCHANGE, ВЕБ ЛЮДИ ПРАВОРУЧ: ВНУТРІШНІ СИСТЕМИ УНИЗУ: КАНАЛИ КЛІЄНТІВ ПРАВОРУЧ УНИЗУ: ДАНІ НА ВХІД І ВИХІД Внутрішні користувачі продажі, сервіс, операції Партнерські користувачі Клієнти Публічний сайт IdP співробітників single sign-on IdP партнерів single sign-on Застосунок AppExchange електронний підпис Partner Community Customer Community Data 360 поряд з ядром: керується в ядрі, розміщується поза ядром ІНТЕГРАЦІЙНИЙ ШАР (ESB) ERP замовлення, рахунки Фінанси платежі Керування замовленнями Сховище даних аналітика Пошта email-to-case Вебформи web-to-lead Телефон контакт-центр Месенджери SMS, чат Архів старі звернення Завантаження даних міграція Зовнішні дані за посиланням, без копіювання Salesforce org, навколо якої ми проєктуємо спільний сертифікат оновлення користувачів спільний сертифікат документи назовні замовлення назовні продукти всередину замовлення назовні, продукти всередину статус замовлення всередину платежі всередину дані CRM назовні zero copy за посиланням звернення всередину ліди всередину старі звернення назовні записи всередину Salesforce спільнота люди ідентичність, застосунки, веб внутрішня система канал клієнтів дані на вхід і вихід інтеграційний шар пунктир: ще не працює або лише згадується починається в системі, що відкриває з’єднання; підпис каже, що передається спільний сертифікат: довіра, без прямого виклику © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Стрілки додано. Кожен прямокутник там, де й був; кожна стрілка починається в системі, яка відкриває з’єднання, а її підпис каже, що рухається і в який бік.

Тож якщо інтеграційний шар проштовхує продукти в Salesforce, стрілка йде від інтеграційного шару до Salesforce з підписом продукти всередину. Якщо Salesforce сам звертається по них, стрілка починається в Salesforce, і підпис той самий — продукти всередину. Ті самі дані, інша розмова, і ця різниця каже мені, кому потрібні облікові дані і хто має обробляти збій. Salesforce надсилає замовлення через інтеграційний шар: замовлення назовні. Дані ERP про виконання повертаються: статус замовлення всередину. Тепер я бачу, хто починає кожну розмову, де дані входять у Salesforce і де виходять, які потоки перетинають межі, де, мабуть, лежить власність і де треба питати більше.

І пам’ятайте модуль 1: щоразу, бачачи лише один потік, я непокоюся. На високому рівні стрілка замовлення назовні залежить від зворотних потоків: клієнти всередину, продукти всередину, ціни. Подивіться ще глибше — і там зворотний шлях: прийняття, відхилення, статус, номер рахунку, скасування. Стрілки дають мені щось конкретне, що можна поставити під сумнів.

Кожній стрілці потрібен механізм

Section titled “Кожній стрілці потрібен механізм ”

Тут ландшафт перестає бути мистецтвом PowerPoint. На рецензійній раді будь-яка стрілка може викликати три запитання, і я хочу, щоб у вас були відповіді:

  • Як вона автентифікується? OAuth, сертифікат, named credential, щось інше?
  • Синхронна вона чи асинхронна? Salesforce чекає на ERP чи публікує й іде далі? Як швидко бізнесу потрібен результат?
  • Який механізм? REST-виклик, подія, файл, черга повідомлень, через MuleSoft чи напряму?

А потім: що станеться, коли інша сторона впаде? Кожній стрілці потрібен механізм. Якщо ви не можете його пояснити, лінія — прикраса.

І «fire and forget» — не відповідь. Зазвичай це означає «я не спроєктував, що відбувається після пострілу». Воно дійшло? Його прийняли? Воно не вдалося? Чи буде повторна спроба? Хто знає, що воно застрягло? Що, як те саме повідомлення прийде двічі? Ніщо з цього не йде на ландшафт, бо він став би нечитабельним. Але стрілка має дати вам знати, що ці запитання існують.

Збільште будь-яку одну стрілку — і там є клієнт і сервер, і кожен відповідає за свою половину. Клієнт відкриває з’єднання: йому потрібні кінцева точка й порт, спершу він отримує токен від сервера автентифікації, викликає протокол і контракт, які визначає сервер, і вирішує, чи чекати. Лише клієнт бачить увесь шлях туди й назад, тож лише клієнт може повторити спробу. Сервер слухає, визначає протокол, контракт і payload, перевіряє те, що надходить, і бачить лише свою частину. Коли я малюю стрілку, я вже знаю, який кінець який, і це каже мені, хто відповідає за кожне з цих питань.

Кожній стрілці потрібен механізм Одна стрілка з ландшафту зблизька. Salesforce, клієнт, зі своїми Named Credential і External Credential надсилає замовлення назовні в ERP, сервер, у якого є External Client App та інтеграційний користувач лише для API. Штрихова лінія, обов’язкова для OAuth, показує, що клієнт спершу йде до сервера автентифікації, який видає токен. Нижче, рядок за рядком, — що обробляє клієнт і що визначає сервер. Куди: клієнтові потрібні кінцева точка й порт; сервер слухає на URL або IP-адресі та порту. Автентифікація: клієнт спершу отримує токен, стежить за терміном дії й входить знову, кінцева точка — в Named Credential, а автентифікація — в його External Credential; сервер довіряє токенам свого сервера автентифікації, а його External Client App та інтеграційний користувач вирішують, що може робити клієнт. Протокол і контракт: клієнт їх викликає; сервер їх визначає. Payload: клієнт серіалізує й читає; сервер визначає JSON, XML або двійковий формат. Таймінг: клієнт обирає чекати, працювати далі або запускатися за розкладом; сервер мусить встигати. Трасування: клієнт бачить увесь цикл запиту й відповіді; сервер — лише свою частину. Помилки й недоступність: клієнт обробляє всі види помилок, повторює спроби і знає, коли застряг; сервер перевіряє те, що надходить, і не може повторити спробу. Внизу: нічого з цього не потрапляє на ландшафт, але це є в кожної стрілки. обов’язково для OAuth Сервер автентифікації видає токен замовлення назовні КЛІЄНТ Salesforce СЕРВЕР ERP Named Credential External Credential External Client App Інтеграційний користувач (лише API) КЛІЄНТ ВІДПОВІДАЄ ЗА СЕРВЕР ВИЗНАЧАЄ Куди Потрібні кінцева точка (URL або IP-адреса) і порт для підключення. Слухає на URL або IP-адресі, на порту (наприклад, 443). Автентифікація Спершу отримує токен від сервера автентифікації; стежить за терміном дії й входить знову. Named Credential зберігає кінцеву точку, а його External Credential — автентифікацію. Довіряє токенам свого сервера автентифікації; External Client App та інтеграційний користувач лише для API вирішують, що може робити клієнт. Протокол і контракт Викликає правильний протокол, методи й дієслова (для SOAP імпортує WSDL). Визначає протокол (REST, SOAP, gRPC) і контракт: методи, дієслова, параметри, результати. Payload Серіалізує запит і читає відповідь в узгодженому форматі. Визначає payload: JSON, XML або двійковий. Таймінг Обирає: чекає на відповідь (синхронно), працює далі (асинхронно) або запускається за розкладом (пакетно). Мусить встигати: відповідає на кожен виклик, щойно той надходить, або приймає пакет, коли він приходить. Трасування Бачить увесь цикл запиту й відповіді: що пішло, що повернулося, скільки це тривало. Бачить лише свою частину: виклик надходить, обробляється, відповідь іде. Помилки й недоступність Обробляє помилки з’єднання, автентифікації, сервера й відповіді; повторює спроби і знає, коли застряг. Перевіряє те, що надходить, і повідомляє про власні помилки; він не бачить усього циклу, тож не може повторити спробу. Нічого з цього не потрапляє на ландшафт, але це є в кожної стрілки. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Одна стрілка зблизька: клієнт обробляє, сервер визначає. Нічого з цього не потрапляє на ландшафт, але це є в кожної стрілки.

Тепер розверніть стрілку. Коли ERP викликає Salesforce, сервер — Salesforce: він визначає API, запускає власний сервер авторизації і через External Client App та інтеграційного користувача вирішує, що може робити той, хто викликає. Ті самі питання, інший бік.

Salesforce як сервер Та сама стрілка, розвернута. ERP, клієнт, що має client ID і секрет або сертифікат, надсилає статус замовлення всередину в Salesforce, сервер, який виконує його як інтеграційний користувач лише для API. Штрихова лінія, обов’язкова для OAuth, показує, що ERP спершу йде до власного сервера авторизації Salesforce, який видає токен для External Client App. Нижче, рядок за рядком, — що обробляє клієнт і що визначає Salesforce. Куди: клієнтові потрібні URL My Domain цієї org і версія API; Salesforce слухає на My Domain через HTTPS. Автентифікація: клієнт отримує токен доступу через External Client App і входить знову, коли термін дії спливає; Salesforce довіряє власним токенам, а політики застосунку й дозволи інтеграційного користувача вирішують, що може робити клієнт. Протокол і контракт: клієнт викликає REST, SOAP або Bulk API; Salesforce визначає API, а об’єкти й поля org — це контракт. Payload: JSON або XML, CSV для Bulk. Таймінг: клієнт чекає, працює далі або завантажує пакетами; Salesforce мусить встигати в межах лімітів API цієї org. Трасування: клієнт бачить увесь цикл запиту й відповіді; Salesforce — лише свою частину. Помилки й недоступність: клієнт обробляє помилки з’єднання, автентифікації, лімітів і відповіді та повторює спроби; Salesforce перевіряє те, що надходить, повертає свої помилки і не може повторити спробу. Внизу: нічого з цього не потрапляє на ландшафт, але це є в кожної стрілки. обов’язково для OAuth Сервер авторизації Salesforce видає токен для External Client App статус замовлення всередину КЛІЄНТ ERP СЕРВЕР Salesforce Client ID і секрет або сертифікат Інтеграційний користувач (лише API) КЛІЄНТ ВІДПОВІДАЄ ЗА СЕРВЕР ВИЗНАЧАЄ Куди Потрібні URL My Domain цієї org і версія API. Salesforce слухає на My Domain цієї org, через HTTPS (порт 443). Автентифікація Отримує токен доступу від сервера авторизації Salesforce через External Client App; стежить за терміном дії й входить знову. Довіряє власним токенам; політики External Client App і дозволи інтеграційного користувача вирішують, що може робити клієнт. Протокол і контракт Викликає API, яке визначає Salesforce: REST, SOAP або Bulk (для SOAP імпортує WSDL). Salesforce визначає API та їхні версії; об’єкти й поля org — це контракт. Payload Серіалізує запит так, як очікує API, і читає відповідь. Визначає payload для кожного API: JSON або XML, CSV для Bulk. Таймінг Обирає: чекає на відповідь (синхронно), працює далі (асинхронно) або завантажує пакетами (Bulk API). Мусить встигати, у межах лімітів API цієї org. Трасування Бачить увесь цикл запиту й відповіді: що пішло, що повернулося, скільки це тривало. Бачить лише свою частину: виклик надходить, збереження та його автоматизація, відповідь іде. Помилки й недоступність Обробляє помилки з’єднання, автентифікації, лімітів і відповіді; повторює спроби і знає, коли застряг. Перевіряє те, що надходить (правила перевірки, обов’язкові поля, спільний доступ), і повертає свої помилки; повторити спробу не може. Нічого з цього не потрапляє на ландшафт, але це є в кожної стрілки. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Salesforce як сервер: ті самі питання, і Salesforce відповідає за половину сервера.

Стрілки на ландшафті, розмови на доріжці

Section titled “Стрілки на ландшафті, розмови на доріжці ”

Ось де архітектори псують добру діаграму: змушують один артефакт відповідати на все. Ландшафт отримує імена API, payloads, повторні спроби, черги помилок, перетворення, кожен callback, і незабаром ніхто не може його прочитати. Не робіть так. Ландшафт — це загальна картина: системи і важливі потоки між ними.

Коли мені треба пояснити взаємодію, я малюю другу діаграму, але не для кожної інтеграції. Якщо система A щось надсилає B або навіть питає й отримує відповідь, підписаної стрілки достатньо. Мені потрібна доріжка (swim lane), коли процес стає розмовою: A викликає B, B звіряється з C, C відповідає, B щось створює і передзвонює A, людина погоджує, інша система продовжує. Моє емпіричне правило: більше одного-двох обмінів туди й назад — і послідовність отримує власну доріжку. Стрілки на ландшафті; розмова на доріжці.

І зауважте, що стрілка там означає інше. На ландшафті стрілка — це з’єднання: хто його відкриває і що рухається. На доріжці кожна стрілка — одне повідомлення в розмові, що читається по черзі: запит іде в один бік, відповідь повертається в інший, а далі наступний крок.

Стрілки на ландшафті, розмова на доріжці Ті самі три системи, показані двома способами. Угорі, як на ландшафті: Salesforce надсилає замовлення назовні в інтеграційний шар, який надсилає номери замовлень всередину Salesforce, а інтеграційний шар надсилає замовлення назовні в ERP. Нижче кожна система стає доріжкою, а розмова йде вниз сторінкою в шести пронумерованих кроках: 1, Salesforce надсилає замовлення в інтеграційний шар; 2, інтеграційний шар відповідає: прийнято, з посиланням; 3, інтеграційний шар просить ERP створити замовлення; 4, ERP створює замовлення; 5, ERP відповідає інтеграційному шару номером замовлення; 6, інтеграційний шар викликає Salesforce, щоб оновити замовлення. Відповіді світліші. Внизу: на ландшафті стрілка — це з’єднання; на доріжці кожна стрілка — одне повідомлення, по черзі. НА ЛАНДШАФТІ: ХТО З’ЄДНУЄТЬСЯ І ЩО ПЕРЕДАЄТЬСЯ НА ДОРІЖЦІ: РОЗМОВА, ПО ПОРЯДКУ Salesforce Інтеграційний шар ERP замовлення назовні номери замовлень всередину замовлення назовні надіслати замовлення 1 прийнято: посилання 2 створити замовлення 3 створює замовлення 4 номер замовлення 5 оновити замовлення 6 На ландшафті стрілка — це з’єднання. На доріжці кожна стрілка — одне повідомлення, по черзі. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Три стрілки на ландшафті; шість кроків на доріжці. На ландшафті стрілка — це з’єднання; на доріжці кожна стрілка — одне повідомлення, по черзі.

Пройдіть кожною стрілкою

Section titled “Пройдіть кожною стрілкою ”

Коли ландшафт здається здебільшого готовим, пройдіть ним, стрілка за стрілкою. ERP у Salesforce: що рухається, хто ним володіє, як воно автентифікується, який механізм, синхронно чи асинхронно, наскільки актуальним воно має бути? Потім наступна стрілка, і наступна. Тут з’являються прогалини. «О, ми так і не з’ясували, як партнер насправді це надсилає». «Ми надсилаємо замовлення в ERP, але не спроєктували, як повертаються відхилені». Добре. Ви знайшли це на дошці, а не в продакшні.

Покладіть інвентар за малюнок

Section titled “Покладіть інвентар за малюнок ”

Малюнок має лишатися читабельним, тож деталі йдуть в інвентар за ним. Ви почали його з кількостей; тепер завершіть — один рядок на кожен важливий набір даних чи потік:

КолонкаЩо я хочу знати
Набір данихКлієнт, продукт, замовлення, доставка, рахунок
ВидОсновні, довідкові, транзакційні, аналітичні, неструктуровані
ВласникХто володіє їхнім змістом і життєвим циклом?
Система облікуДе авторитетна версія?
НавантаженняОпераційне, аналітичне, потокове
Обсяг«Кількість нулів»
OrgЯка org Salesforce, якщо їх кілька?
АвтентифікаціяЯк з’єднання встановлює довіру?
Механізм і таймінгAPI, подія, файл, федерація; синхронно, асинхронно, пакетно
ПідхідКопіювати, посилатися чи федерувати?

Тепер є два артефакти: ландшафт дає мені бачити архітектуру, а інвентар — допитувати її.

Інвентаризація за малюнком Інвентаризація за ландшафтом, по рядку на потік, стовпці обсягу й механізму підсвічено разом. Продукти всередину: власник — ERP, близько 500 змін за ніч, нічний пакет через інтеграційний шар, External Client App та інтеграційний користувач, копія. Замовлення назовні: власник — Salesforce, близько 2000 на день, кілька на хвилину, майже реальний час: Salesforce робить виклик назовні через інтеграційний шар, з Apex або Flow і Named Credential, копія. Статус замовлення всередину: власник — ERP, близько 16 000 на день сплесками, асинхронно: ERP надсилає в інтеграційний шар, який оновлює Salesforce через REST API, копія. Платежі всередину: власник — фінанси, близько 1500 на день, щогодинний пакет через Bulk API 2.0, копія. Дані CRM назовні: власник — Salesforce, мільйони записів, Data 360 завантажує з org за розкладом, поряд з ядром, копія в Data 360. Zero copy: п’ять років історії у сховищі даних, сотні мільйонів рядків, запити на місці, федерація. За посиланням: зовнішній постачальник, по одному пошуку за раз, читається, коли комусь потрібно, посилання. Внизу: на ландшафті стрілки схожі; що несе кожну з них, вирішує обсяг. ПОТІК НА ЛАНДШАФТІ ВЛАСНИК ОБСЯГ МЕХАНІЗМ І ТАЙМІНГ АВТЕНТИФІКАЦІЯ КОПІЯ, ПОСИЛАННЯ ЧИ ФЕДЕРАЦІЯ Продукти всередину ERP ~500 змін за ніч Пакетно: інтеграційний шар завантажує їх щоночі External Client App, інтеграційний користувач Копія Замовлення назовні Salesforce ~2000 на день, кілька на хвилину Майже реальний час: Salesforce робить виклик назовні через інтеграційний шар, з Apex або Flow Named Credential Копія Статус замовлення всередину ERP ~16 000 на день, сплесками Асинхронно: ERP надсилає в інтеграційний шар, який оновлює Salesforce через REST API External Client App, інтеграційний користувач Копія Платежі всередину Фінанси ~1500 на день Пакетно: щогодини, через інтеграційний шар і Bulk API 2.0 External Client App, інтеграційний користувач Копія Дані CRM назовні Salesforce Мільйони записів, усі Data 360 завантажує з org за розкладом Поряд з ядром: керується в org Копія в Data 360 Zero copy Сховище даних П’ять років історії, сотні мільйонів рядків Запити на місці, коли потрібно З’єднання Data 360 зі сховищем даних Федерація За посиланням Зовнішній постачальник По одному пошуку за раз Читається, коли комусь потрібно З’єднання Data 360 Посилання На ландшафті стрілки схожі. Що несе кожну з них, вирішує обсяг. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Інвентар за ED-D42. На ландшафті стрілки схожі; обсяг вирішує, що несе кожну з них.

Ландшафт відповідає на запитання

Section titled “Ландшафт відповідає на запитання ”

Ось чому я люблю цей артефакт: він допомагає мені думати. «Як ми звітуватимемо по Salesforce і ERP?» Це запитання з модуля 3: яка з моїх діаграм розв’язує це найкраще? Ландшафт. Якщо все в ядрі — стандартні звіти. Якщо дані в ERP і сховищі даних, ви бачите це одразу. «Де має керуватися цей атрибут клієнта?» Подивіться, які системи ним користуються і яка вже володіє клієнтом. «Чи потрібне Salesforce кожне показання GPS?» Хто його створює, хто споживає, яке навантаження? Можливо, Salesforce потрібна поточна позиція, а історію зберігає інша платформа. Ландшафт не дає вам відповідь. Він дає правильний погляд на задачу.

Намалюйте поточний стан, перш ніж його виправляти

Section titled “Намалюйте поточний стан, перш ніж його виправляти ”

Ще одна дисципліна. В наявному підприємстві малюйте те, що існує, а не те, що ви хотіли б. Таблицю, яку надсилають щоп’ятниці, — намалюйте. CSV партнера на SFTP-сервері — намалюйте. Інтеграцію, що з історичних причин обходить ESB, — намалюйте. Людей, що передруковують дані між двома системами, — покажіть. Не прибирайте реальність, поки її документуєте. Вам потрібен поточний ландшафт, перш ніж проєктувати цільовий, і саме це ми робимо для Steve Trucking у модулі 6.

За межами іспиту: що змінює ШІ. Ландшафт стає картою для агентів. Якщо агент відповідає на «де моя доставка?», ландшафт має казати, чи відповідь іде із Salesforce, системи партнера, телематики, ERP чи їх поєднання. Агенти не прибирають меж між системами; вони роблять ще важливішим знання того, яка система авторитетна і як безпечно до неї дістатися.

Що тут вирішує архітектор

Section titled “Що тут вирішує архітектор ”
  • Які системи й групи користувачів належать до ландшафту і як їхнє розташування показує їхню роль.
  • Які потоки перетинають межі систем, у якому напрямку і що повертається.
  • Як автентифікується кожне з’єднання, який механізм його несе і чи воно синхронне, асинхронне, пакетне чи федероване.
  • Коли підписаної стрілки достатньо, а коли взаємодії потрібна власна доріжка.
  • Що фіксує інвентар за малюнком: власник, навантаження, обсяг, org, таймінг, автентифікація, і копіювати, посилатися чи федерувати.

Ландшафт — не те, що я малюю після того, як архітектуру завершено. Це те, як я архітектуру знаходжу. А коли вам здасться, що він готовий, не милуйтеся ним. Пройдіть ним. Кожна стрілка, яку ви ще не можете пояснити, показує, де робота.