Перейти к содержимому

Ландшафт Steve Trucking

Также доступно на 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 cracked truck-yard surface with each problem circled in bright paint and orange cones set out, nothing repaired yet, a delivery truck at the dock behind.
Изображение создано с помощью ИИ

Модуль 6 из 6 главы Понимание корпоративных данных, глава 4 курса Data Architect. Каждый модуль самостоятелен. Назад: Стратегия org — это решение на уровне ландшафта · Далее: следующая глава, Качество данных и управление ими

Вопрос, на который отвечает этот модуль: что реальный ландшафт сообщает нам еще до того, как мы что-либо спроектируем?

Вся эта глава отодвигала камеру назад: Salesforce как одна система среди многих, виды данных, системы вокруг Salesforce, как нарисовать ландшафт и стратегия org. Теперь соберем все вместе на примере Steve Trucking. Но чинить пока ничего не будем. В этом и дисциплина: нарисуйте то, что есть, пройдите по каждой стрелке и посмотрите, что говорит ландшафт.

У Steve Trucking один org Salesforce (организация Salesforce), в США. Service Cloud обрабатывает обращения от получателей (Recipients) и розничных партнеров (Retail Partners); Field Service ведет встречи, бригады и мобильное приложение; Experience Cloud дает розничным партнерам портал, который сегодня используется только для претензий и отчетов; Sales Cloud отслеживает договоры с партнерами и заявки на новые распределительные центры (DC). Значит, Salesforce ставим в середину.

Слева люди: 45 координаторов диспетчерской службы, работающих внутри распределительных центров розничных партнеров, около 700 членов бригад на 330 грузовиках, 60 сотрудников службы поддержки клиентов, 40 сотрудников операционного отдела, финансов и продаж и около 300 пользователей у розничных партнеров. Это уже кое-что говорит: перед нами не CRM одного отдела. Это операционная платформа для большей части бизнеса. Но это все еще один прямоугольник. Теперь посмотрим, что его окружает.

Текущий ландшафт Steve Trucking Ландшафт Steve Trucking сегодня с пометкой «Текущее состояние: сегодня, до нормального внедрения». Слева: 45 диспетчеров в девяти DC партнеров, около 700 человек в бригадах доставки на 330 грузовиках, 100 сотрудников сервиса и офиса, около 300 пользователей розничных партнеров и около миллиона получателей в год. В центре один org Salesforce в США с порталом розничных партнеров; корпоративный поставщик удостоверений над ним делит с ним сертификат, только для офиса. Запланированное задание экспорта в центре забирает еженедельный экспорт из Salesforce через Bulk API и загружает Snowflake. От FleetLink к Salesforce идет красная точечная линия: нет, где грузовик? Между RouteDesk и Salesforce две красные штриховые стрелки: маршруты вводятся заново в Salesforce, а завершенные остановки заново в RouteDesk, вручную. Красные штриховые стрелки также несут число доставок из RouteDesk в ежемесячную таблицу и дальше в финансовую ERP, вручную. У каждого розничного партнера две стрелки с RouteDesk: манифесты внутрь, которые открывает партнер (файл Keystone, API Redrock, EDI Brightwave), и статус наружу, который открывает RouteDesk. Справа внизу RouteDesk отправляет сообщение накануне без ссылки через провайдера SMS и email, красным; получатели звонят, красным, и 60 % из них спрашивают, где их доставка; email превращается в обращения в Salesforce. Легенда: красный — плохой или неправильный процесс сегодня, штрих — вручную, красные точки — отсутствующее соединение. Текущее состояние: сегодня, до нормального внедрения ВВЕРХУ: ИДЕНТИФИКАЦИЯ, APPEXCHANGE, ВЕБ ЛЮДИ СПРАВА: ВНУТРЕННИЕ СИСТЕМЫ ВНИЗУ: КАНАЛЫ КЛИЕНТОВ СПРАВА ВНИЗУ: ПАРТНЕРЫ И ПРОВАЙДЕРЫ Диспетчеры 45, в 9 DC партнеров Бригады доставки ~700 на 330 грузовиках Сервис и офис 100: сервис, операции, финансы Пользователи розничных партнеров ~300 у 3 партнеров Получатели ~1 млн в год Корпоративный IdP SSO только для офиса Портал розничных партнеров ЗАДАНИЕ ЭКСПОРТА Snowflake аналитика операций и финансов FleetLink GPS каждую минуту; отдельный экран Финансовая ERP выставляет счета партнерам, платит бригадам Ежемесячная таблица число доставок, вручную RouteDesk (устаревшая) маршруты в DC; 8 лет истории Телефон операторы сервиса Email email в обращение Провайдер SMS и email сообщение накануне, без ссылки Redrock REST API, вебхуки Keystone CSV по SFTP Brightwave EDI через стороннюю сеть Salesforce один org, США только офис звонки: 60 % «где моя доставка?» обращения внутрь манифесты внутрь (API) статус наружу (вебхук) манифесты внутрь (файл) статус наружу (файл) манифесты внутрь (EDI) статус наружу (EDI) еженедельный экспорт (Bulk API) еженедельная загрузка маршруты, повторный ввод завершенные остановки, повторный ввод нет: где грузовик? накануне, без ссылки число доставок ежемесячно, вручную Salesforce сообщество люди идентификация, приложения, веб внутренняя система канал клиентов данные внутрь и наружу слой интеграции начинается у системы, которая открывает соединение; подпись говорит, что движется пунктир: вручную красный: плохой или неправильный процесс сегодня красные точки: отсутствующее соединение общий сертификат: доверие, без прямого вызова © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Steve Trucking сегодня, до нормального внедрения. Каждый манифест попадает в RouteDesk; координаторы вручную перебивают маршруты в Salesforce, а выполненные остановки — обратно; у FleetLink нет подключения.

Это текущее состояние, до нормального внедрения, и я прямо пишу это на рисунке. А потом открываю палитру. На ландшафте готовой системы я не использую красный; на текущем состоянии использую. Красный отмечает плохой или неправильный процесс, штриховая линия — то, что делается вручную, а красные точки — недостающее подключение. Отсутствующая стрелка тоже о чем-то говорит. Ничто из этого не украшение: каждая красная линия — это требование, которое ждет, чтобы его записали.

Три розничных партнера присылают манифесты тремя разными способами, поэтому рисуйте каждого отдельно.

Keystone каждый день после обеда кладет CSV-манифест на SFTP-сервер, для доставки через два дня, и хочет каждую ночь получать обратно файл статусов. Две стрелки: манифест внутрь файлом, соединение открывает Keystone, и статус наружу файлом, соединение открывает RouteDesk. Асинхронно, с широким временным окном.

Redrock присылает манифесты через REST API и ждет обновлений статуса через webhook по мере того, как они происходят. Две стрелки, два механизма: Redrock вызывает нас с манифестами через API, а RouteDesk вызывает Redrock со статусом через webhook. Почти в реальном времени.

Brightwave присылает файлы EDI через стороннюю сеть и ждет в ответ статусных сообщений EDI. Другой формат, другой механизм.

Одни и те же бизнес-понятия (манифест, доставка, статус) — и три совершенно разные интеграции. Не упрощайте рисунок только потому, что вам хотелось бы, чтобы они были единообразными. Они не такие. Это и есть текущее состояние.

Потом пройдите по ним. Keystone: как аутентифицируется SFTP-соединение, куда попадает файл, что его забирает, как мы узнаем, что весь файл обработан, что происходит с ошибочной строкой и как Keystone узнает об изменении до сегодняшнего ночного файла? Redrock: как аутентифицируется API, что происходит, когда одна из сторон недоступна, что считается успешным webhook, а что, если один и тот же статус придет дважды? Brightwave: кто управляет сетью EDI, где происходит преобразование, какие подтверждения приходят обратно? Мы ничего не перепроектируем. Мы находим вопросы. Это и есть работа ландшафта.

RouteDesk — это устаревший настольный инструмент диспетчеризации и построения маршрутов, которым координаторы в каждом распределительном центре превращают манифесты в маршруты. В нем восемь лет истории доставок, и его планируют вывести из эксплуатации. Все равно нарисуйте его. Частая ошибка — не рисовать систему, «от которой мы избавляемся». Когда? Допустим, ответ — через восемнадцать месяцев. Значит, как минимум восемнадцать месяцев она часть архитектуры, а ее восемь лет истории, около пяти миллионов доставок, не исчезнут вместе с приложением. И посмотрите, что открывает ландшафт: RouteDesk и Salesforce не связаны. Бригады отрабатывают свои остановки в приложении Field Service в Salesforce, но маршруты строятся в RouteDesk, поэтому координаторы каждый вечер вручную перебивают их в Salesforce, а потом перебивают выполненные остановки обратно в RouteDesk, чтобы он мог отправить статус партнерам. Около 3300 остановок в день, дважды, вручную. На рисунке это штриховая красная линия. Это же говорит вам, что webhook Redrock «по мере того, как происходит» на самом деле не так уж «по мере». Чем RouteDesk владеет сегодня? Что от него зависит? Какая история должна его пережить и где: в Salesforce, в хранилище, в архиве? Мы пока не отвечаем. Ландшафт просто открыл вопросы.

FleetLink, телематическая платформа, получает GPS от каждого грузовика: около 200 000 показаний в день, каждый грузовик, каждую минуту, пока он едет. И она ни к чему не подключена. Координаторы смотрят на нее на отдельном экране. Поэтому нарисуйте FleetLink без стрелок. Никакой волшебной линии интеграции только потому, что, по-нашему, она должна быть.

Потом посчитайте нули: 200 000 в день — это больше 70 млн в год. Это не «у нас есть данные GPS». Это потоковый источник с большим числом нулей, который находится за пределами Salesforce. Нужны ли Salesforce 70 млн показаний в год? Скорее всего, не все. Это вопрос проектирования на потом.

Финансовая ERP выставляет каждому розничному партнеру счета за каждую доставку, установку и вывоз, а также выплачивает бригадам премии. А количество доставок попадает в нее через ежемесячную таблицу. Нарисуйте таблицу. Не заменяйте ее аккуратной стрелкой API только потому, что мы архитекторы и знаем, как лучше; она часть текущей архитектуры. А когда она нарисована, появляются вопросы: кто ее делает, из какой системы, кто ее проверяет, что, если доставка изменилась уже после отправки, и чье число побеждает? К ответам привязаны деньги.

В Snowflake живет аналитика операционного отдела и финансов, и наполняет его еженедельная выгрузка. Сам Snowflake этого сделать не может; это делает что-то посередине: задание экспорта по расписанию, работающее вне Salesforce, которое забирает данные через Bulk API и загружает их в Snowflake. Где живет аналитика, определяется тем, где живут данные, и Snowflake уже стал домом для аналитики. Но и частота кое-что говорит. «Что произошло в прошлом месяце?» Еженедельной загрузки достаточно. «Где эта доставка прямо сейчас?» Со Snowflake я бы начинать не стал. Одно и то же предприятие, другая нагрузка, другая свежесть, другой ответ.

Удостоверение доходит до всех по-разному

Заголовок раздела «Удостоверение доходит до всех по-разному »

Корпоративный поставщик удостоверений (identity provider) располагается над Salesforce. Офисные сотрудники используют единый вход (single sign-on). Но координаторы и бригады входят с учетными данными Salesforce. Поэтому одна линия доверия от IdP к Salesforce скрыла бы половину истории. Настоящий вопрос — какие пользователи входят каким путем, и это место на ландшафте.

Провайдер SMS и электронной почты отправляет получателям из RouteDesk общее сообщение «ваша доставка завтра». Ссылки для отслеживания нет. А между тем в год около 180 000 обращений, и около 60 % из них — «где моя доставка?»: примерно 108 000 обращений в год с одним и тем же вопросом. Теперь поставьте это рядом с FleetLink. Компания знает, где ее грузовики. Ее получатели продолжают звонить и спрашивать. И система, которая знает, не подключена к той, что отвечает. Мне пока не нужно проектировать решение. Ландшафт уже рассказывает историю.

Теперь посчитайте, что движется. Как и в модуле 4, нули не пишутся на стрелках; они идут в инвентаризацию за картинкой, откуда при проектировании будут определять механизмы. Около миллиона доставок в год, около 3300 в день, рост 30 % в год; в среднем около 1,6 позиции на доставку; около восьми обновлений статуса на доставку, то есть сегодня восемь миллионов обновлений статуса в год; четыре-пять миллионов фотографий в год, сейчас на личных телефонах бригад; около 200 000 показаний GPS в день; около 180 000 обращений в год. Стрелка с подписью «статус доставки» — это не редкое сообщение. Прямоугольники говорят вам, что существует. Стрелки говорят, что движется. Нули говорят, переживут ли ваши допущения встречу с реальностью.

Инвентаризация Steve Trucking с нулями Инвентаризация Steve Trucking сегодня, по строке на вид данных, объем и механизм выделены вместе. Манифесты партнеров: транзакционные, от каждого розничного партнера в RouteDesk, около миллиона доставок в год с ростом 30 %, файлом SFTP, через REST API и EDI. Статус доставки: транзакционный, из RouteDesk партнерам, около восьми миллионов обновлений в год, ночным файлом, вебхуком и EDI. Маршруты и завершенные остановки: между RouteDesk и Salesforce, около 3 300 остановок в день в обе стороны, повторный ввод диспетчерами вручную. Показания GPS: потоковые, в FleetLink, около 200 000 в день, более 70 миллионов в год, без соединения, только отдельный экран. Фото доставок: неструктурированные, на личных телефонах бригад, четыре-пять миллионов в год, вообще без механизма. Обращения: транзакционные, в Salesforce, около 180 000 в год, 60 % спрашивают, где доставка, по телефону и через email в обращение. Число доставок для счетов: транзакционное, в финансовой ERP, ежемесячно, таблицей, составленной вручную из RouteDesk. Аналитика операций и финансов: в Snowflake, еженедельно, заданием экспорта, которое забирает через Bulk API и загружает Snowflake. История доставок: в RouteDesk, восемь лет и около пяти миллионов доставок, в устаревшем приложении. Внизу: блоки говорят, что существует, стрелки говорят, что движется, а нули говорят, переживут ли ваши допущения реальность. ДАННЫЕ ВИД ГДЕ СЕГОДНЯ НАГРУЗКА ОБЪЕМ И ВРЕМЯ ТЕКУЩИЙ МЕХАНИЗМ Манифесты партнеров Транзакционные данные Каждый розничный партнер, затем RouteDesk Операционная ~1 млн доставок в год, рост 30 % Файл SFTP, REST API, EDI, в RouteDesk Статус доставки Транзакционные данные RouteDesk, отправляется партнерам Операционная ~8 млн обновлений в год Ночной файл, вебхук, EDI, из RouteDesk Маршруты и завершенные остановки Транзакционные данные RouteDesk и Salesforce Операционная ~3 300 остановок в день, в обе стороны Повторный ввод диспетчерами, вручную Показания GPS Потоковая FleetLink Потоковая, операционная ~200 000 в день, более 70 млн в год Нет: отдельный экран Фото доставок Неструктурированные данные Личные телефоны бригад Операционная, историческая 4–5 млн в год Нет Обращения Транзакционные данные Salesforce Операционная ~180 000 в год; 60 % «где моя доставка?» Телефон, email в обращение Число доставок для счетов Транзакционные данные Финансовая ERP Финансовая Ежемесячно Таблица, составленная вручную из RouteDesk Аналитика операций и финансов Аналитические данные Snowflake Аналитические данные Еженедельно Задание экспорта: Bulk API наружу, загружает Snowflake История доставок Историческая RouteDesk Справочные данные 8 лет, ~5 млн доставок Устаревшее приложение Блоки говорят, что существует. Стрелки говорят, что движется. Нули говорят, переживут ли ваши допущения реальность. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Инвентаризация за ландшафтом Steve Trucking: объем рядом с механизмом, который он будет определять.

Целевой архитектуры еще нет, а я уже вижу, где живут важные данные, какого они вида, как быстро движутся и как системы ими обмениваются.

За пределами экзамена: что меняет ИИ. Допустим, Steve Trucking создает агента, который отвечает получателю на вопрос «где моя доставка?». К какой системе он должен обращаться? Salesforce знает о встрече, FleetLink знает, где грузовик, манифест партнера определил доставку. Текущий ландшафт — это карта агента, и прежде чем агент сможет отвечать безопасно, архитектор должен знать, какая система авторитетна для каждого факта и насколько он актуален. Направьте агента на неправильный источник — и устаревшие данные станут уверенным ответом.

Отойдите на шаг. Три партнера, три стиля интеграции. Устаревший инструмент диспетчеризации с восемью годами истории, и координаторы, которые перебивают 3300 остановок в день в Salesforce и обратно. Телематическая платформа с 200 000 показаний в день, ни к чему не подключенная. Финансы, которые считают доставки по ежемесячной таблице. Аналитика, отстающая на неделю. Единый вход для одних пользователей, но не для других. Нет ссылки для отслеживания, и 108 000 обращений в год с вопросом, где доставка. И все это растет на 30 % в год.

Это очень много архитектуры из одной картинки. Хочется сразу начать чинить. Не надо. Пока не надо. Я хочу, чтобы вам было спокойно оставлять диаграмму текущего состояния некрасивой, потому что иногда текущее состояние некрасивое. Смысл не в том, чтобы кого-то впечатлить аккуратным рисунком; смысл в общем понимании реальности. Перепроектируйте, пока документируете, — и вы потеряете исходную точку. Потом я хочу иметь возможность сказать: вот что было, вот какую проблему мы решили, вот что мы изменили и почему. В главе 6 мы начинаем принимать решения о владении и идентичности, а Контрольная точка 1 собирает Часть 1 воедино. Курс Integration Architect подробно проектирует потоки с партнерами.

На этом этапе архитектор не решает, какой будет целевая архитектура. Решение в том, достаточно ли хорошо понято текущее состояние, чтобы ее спроектировать:

  • Какие системы, группы пользователей, хранилища данных и внешние партнеры реально существуют сегодня.
  • Какие данные пересекают каждую важную границу, в каком направлении, как часто и каким механизмом.
  • Где сейчас живут операционные, аналитические, потоковые, исторические и неструктурированные данные.
  • Какие потоки несут наибольший объем и заслуживают внимания в первую очередь.
  • Какие пробелы, ручные шаги, неподключенные системы, неясные полномочия и непоследовательные шаблоны становятся явными вопросами проектирования.

Эта глава началась с одной идеи: нарисуйте ландшафт, прежде чем проектировать org. Если бы я начал с модели данных Steve Trucking, я мог бы потратить часы на объекты и связи, пока FleetLink оставался бы снаружи с 200 000 показаний в день, RouteDesk хранил бы восемь лет истории, три партнера говорили бы на трех языках, финансы пользовались бы таблицей, а сто тысяч обращений в год спрашивали бы, где доставка. Это не вопросы объектной модели. Это вопросы корпоративных данных. Нарисуйте некрасивые интеграции, таблицу, систему, которую вы якобы выводите из эксплуатации. Запишите нули. Пройдите по каждой стрелке. Тогда вы готовы это менять.

  • Бриф Steve Trucking, разделы 2–4, и его диаграмма ландшафта.