В этой статье я попытаюсь рассказать о том, как я готовился к сертификации Integration Architecture Designer.
Прежде всего выскажу свое мнение, зачем нужна эта сертификация. В процессе подготовки к ней Вы откроете для себя множество инструментов для интеграции Salesforce с внешними сервисами и Salesforce orgs между собой, разберетесь с различными подходами к реализации интеграции (Point-to-point, Hub, Bus), познакомитесь с концепциями использования middleware.
Хочу сразу отметить, что большинство вопросов на сертификации не несут технической направленности, то есть Вас не будут спрашивать о том, как создать External Services или как настроить Outbound message. В основном вопросы направлены на понимание того, какой инструмент лучше использовать в той или иной ситуации, как при этом правильно настроить секьюрность, ну и лимиты Salesforce, куда же без них ))).
Согласно официальному гайду, вопросы разбиты по тематическим блокам:
Salesforce integration capabilities 28%
Salesforce integration patterns 17%
Salesforce integration architecture concepts 15%
Salesforce integration testing 10%
Integrating with Salesforce: security 15%
Tools 10%
Monitoring 5%
Остановлюсь немного подробнее на некоторых темах.
Для того, чтобы правильно ответить на вопросы из разделов Salesforce integration capabilities, Salesforce integration patterns и Tools, необходимо хорошее понимание различных инструментов интеграции Salesforce (SOAP, REST, Bulk, Streaming, Canvas, Workflow outbound, APEX (Callouts, @future…), Lightning Connect), их сильных и слабых сторон, ограничений.
Раздел Salesforce integration architecture concepts потребует от Вас понимания различных подходов к реализации интеграции (Point-to-point, Hub, Bus), знакомства с концепциями использования middleware.
Salesforce integration testing больше касается вопросов процесса разработки ПО, в частности последовательности тестирования.
Чем пользоваться при подготовке?
- Конечно же официальный Trailmix
- Пройти Superbage Data Integration Specialist
- Integration Patterns and Practices
Какие вопросы попадаются на тестировании? Разные)) Смотрите сами:
- Страховая компания планирует создать сайт на платформе Salesforce для получения от потребителей запросов для составления коммерческих предложений. Уже существует внешняя система для генерации коммерческих предложений. Весь остальной процесс продаж происходит в Salesforce Sales Cloud. Какой подход необходимо использовать, чтобы потребители могли запросить коммерческое предложение онлайн и сразу же получить его?
- Middleware, которое будет забирать запросы на создание коммерческих предложений из Salesforce и доставлять их во внешнюю систему
- Триггер с @future методом, который будет посылать запросы на создание коммерческих предложений во внешнюю систему
- Посылать запросы на создание коммерческих предложений во внешнюю систему при помощи Outbound Message
- Посылать запросы на создание коммерческих предложений во внешнюю систему при помощи Apex Callout
- Компания планирует миграцию данных в Salesforce и думает, что для этого лучше использовать BULK API или SOAP API. Какие из приведенных ниже утверждений правдивы?
- Для BULK API нет DML лимитов
- SOAP API позволяет мониторить выполнение job через Salesforce setup
- BULK API позволяет много аттачментов из одного ZIP файла
- При использовании SOAP API не происходит Locking parent записей при связи Master-detail
- При использовании BULK API происходит Locking parent записей при связи Master-detail
- Компания имеет ERP систему, где хранятся миллионы заказов потребителей. При этом часть информации из заказа из-за политики конфиденциальности может храниться только в ERP системе. Как сделать, чтобы пять последних заказов отображались на странице Account в Salesforce, принимая во внимание политику конфиденциальности и возможность масштабирования?
- Использовать REST API для получения заказов из ERP системы после их создания
- Использовать ETL job c определенной периодичностью
- Использовать Lightning Connect
- Использовать Outbound message для получения данных из ERP системы
Lightning Connect наиболее простое решение этого вопроса.
- Одна компания приобрела другую компанию. Необходимо произвести миграцию контактов из Salesforce второй компании в Salesforce первой. Из-за отсутствия уникального идентификатора принято решение, что им выступит комбинация полей first name, last name, street address. Эти поля заполнены на всех контактах в обеих системах. Как произвести миграцию данных и избежать создания дупликатов?
- В Salesforce первой компании создать текстовое поле, которое будет содержать хэш first name+last name+street address и определить его, как External Id
- Создать индексируемое Formula field для first name+last name+street address для осуществления поиска
- В Salesforce первой компании создать Formula field для first name+last name+street address и использовать его как External Id
- В Salesforce первой компании не создавать никаких полей, а определить поля first name, last name, street address как External Id
Formula field не может быть External Id
- Какая-то компания разрабатывает Мобильное приложение, которое запрашивает и обновляет данные в Salesforce в режиме реального времени. Какие из следующих утверждений про Salesforce API правда?
- Enterprise WDSL поддерживает WS Security
- Enterprise WDSL минимизирует полезную нагрузку
- REST API поддерживает WS Security
- REST API поддерживает oAuth
REST API поддерживает протокол oAuth
Надеюсь, данная статья поможет кому-то так же успешно сертифицироваться.