Учебное пособие для разработчиков Salesforce: начало работы с программированием Salesforce



В этом учебном блоге объясняются различные концепции программирования, такие как visualforce и apex, которые вы должны знать, чтобы начать свою карьеру в качестве разработчика Salesforce.

Вы мечтаете стать разработчиком программного обеспечения? Хотите создать собственное приложение на платформе Force.com? Если ваш ответ на эти вопросы утвердительный, вам обязательно стоит подумать о том, чтобы стать разработчиком Salesforce.

В своих предыдущих блогах я обсуждал , Сертификаты Salesforce а также показал вам создать собственное приложение используя декларативные параметры, доступные в Salesforce. В этом блоге я расскажу о программных вариантах, доступных в Salesforce для разработки вашего приложения.





Архитектура MVC

Прежде чем погрузиться в создание приложения с использованием Visualforce и Apex, я сначала расскажу об архитектуре Salesforce модель-представление-контроллер. Ниже приведена схема, на которой изображена архитектура Salesforce модель-представление-контроллер вместе с различными компонентами Salesforce.

mvc - разработчик Salesforce - edureka



Модель: Модель - это ваши объекты данных, поля и отношения Salesforce. Он состоит из стандартных (учетная запись, возможность и т. Д.) И настраиваемых объектов (создаваемых вами).

Посмотреть: Представление представляет собой представление данных, то есть пользовательский интерфейс. В Salesforce представление состоит из страниц, компонентов, макетов страниц и вкладок visualforce.

Контроллер: Контроллер - это строительный блок реальной логики приложения. Вы можете выполнять действия всякий раз, когда пользователь взаимодействует с visualforce.



Salesforce в действии

Чтобы стать разработчиком Salesforce, вы должны сначала знать, как работают приложения Salesforce. Ниже изображение который дает вам полное представление о Salesforce в действии. Клиент или пользователь либо запрашивает, либо предоставляет информацию приложению Salesforce. Обычно это делается с помощью Visualforce. Затем эта информация передается на уровень логики приложения, написанный на Apex. В зависимости от информации данные либо вставляются, либо удаляются из базы данных. Salesforce также предоставляет вам возможность использовать веб-службы для прямого доступа к логике приложения.

Разработчик Salesforce может подойти к разработке, используя декларативные или программные варианты. Ниже приведено изображение, на котором подробно описаны как декларативный, так и программный подходы, доступные на каждом уровне пользовательского интерфейса, бизнес-логики и модели данных. Чтобы создать свой пользовательский интерфейс, вы можете либо использовать декларативный подход, который использует макеты страниц и типы записей, либо использовать программный подход, такой как страницы и компоненты visualforce. Как правило, вы должны использовать программный подход только тогда, когда вы не можете достичь необходимого пользовательского интерфейса с помощью декларативного подхода. Для разработки уровня бизнес-логики приложения вы можете либо использовать декларативные параметры рабочего процесса, правил проверки и процессов утверждения Salesforce, либо использовать программный подход, такой как триггеры, контроллеры и классы. Для доступа к модели данных вы можете использовать декларативный подход с использованием объектов, полей и отношений. Вы также можете получить доступ к модели данных программно, используя API метаданных, REST API и групповой API.

Мы увидели, как работают приложения Salesforce, архитектуру MVC, используемую для разработки в Salesforce, и два разных подхода, доступных для разработчика Salesforce. Теперь позвольте мне обсудить Visualforce и Apex.

Visualforce

Чтобы создавать приложения на платформе Salesforce, вам необходимо знать, как разрабатывать пользовательский интерфейс и писать логику приложения. Как разработчик Salesforce вы можете разрабатывать пользовательский интерфейс с помощью Visualforce. Visualforce - это структура пользовательского интерфейса для платформы Force.com. Подобно тому, как вы можете использовать инфраструктуру javascript Angular-JS для создания пользовательских интерфейсов для своих веб-сайтов, вы можете использовать Visualforce для разработки и создания пользовательских интерфейсов для ваших приложений Salesforce.

Вы можете использовать visualforce всякий раз, когда вам нужно создавать собственные страницы. Вот несколько примеров ситуаций, в которых вы можете использовать Visualforce:

  • Для создания шаблонов электронной почты
  • Разработать мобильный пользовательский интерфейс
  • Создание PDF-файлов данных, хранящихся в Salesforce
  • Чтобы встроить их в стандартные макеты страниц
  • Чтобы заменить стандартную страницу Salesforce
  • Для разработки пользовательских вкладок для вашего приложения

Страница visualforce состоит из двух основных элементов:

  • Разметка Visualforce - разметка visualforce включает теги visualforce, HTML, JavaScript или любой другой веб-код.
  • Контроллер Visualforce. Контроллер visualforce содержит инструкции, определяющие, что происходит, когда пользователь взаимодействует с компонентом. Контроллер visualforce написан с использованием языка программирования Apex.

Вы можете взглянуть на простой код страницы Visualforce вместе с различными компонентами ниже:

Ниже я показал вам шаги по написанию простой страницы visualforce для отображения стран и их валютных значений:

Шаг 1: В разделе «Настройка» введите Visualforce Pages в поле «Быстрый поиск», затем выберите Visualforce Pages и нажмите «Создать».

Шаг 2: В редакторе добавьте следующий код для отображения страны и ее стоимости в валюте:

Апекс

После того, как вы закончите разработку пользовательского интерфейса, вам как разработчику Salesforce необходимо знать, как добавить пользовательскую логику в свое приложение. Вы можете написать код контроллера и добавить пользовательскую логику в свое приложение, используя язык программирования Apex. Apex - это объектно-ориентированный язык программирования, который позволяет выполнять операторы управления потоком и транзакциями на платформе Force.com. Если вы раньше использовали язык программирования java, вы можете легко изучить Apex. Синтаксис Apex на 70% похож на синтаксис java.

Вы можете использовать Apex всякий раз, когда хотите добавить в приложение настраиваемую логику. Вот несколько примеров ситуаций, в которых вы можете использовать Apex:

  • Если вы хотите добавить в свое приложение веб-службы и службы электронной почты
  • Когда вы хотите выполнять сложные бизнес-процессы
  • Если вы хотите добавить в приложение сложные правила проверки
  • Если вы хотите добавить настраиваемую логику для таких операций, как сохранение записи

Ниже приведен снимок экрана кода Apex с различными его компонентами, такими как оператор цикла, оператор потока управления и запрос SOQL:

Теперь, когда мы поняли, что такое Apex и когда его использовать, позвольте мне углубиться в программирование Apex.

Программирование в Apex

Если вы поняли концепции, описанные выше, значит, вы прошли половину пути к тому, чтобы стать разработчиком Salesforce. В этом разделе я углублюсь в Apex, предоставив вам информацию о различных типах данных и переменных, различных способах извлечения данных из базы данных и покажу, как написать класс и метод.

Типы данных и переменные

Salesforce предлагает вам 4 различных типа данных и переменных. В таблице ниже представлена ​​информация по каждому из 4 типов данных:

Типы данных и переменные Описание пример
ПримитивныйПримитивные типы данных в Salesforce включают логическое значение, дату, целое число, объект, строку и время.Логическое значение isSunny = true

Целое число I = 1

как избежать взаимоблокировок в java

String myString = «Привет, мир»

sObjectssObject относится к любому объекту, который может храниться в базе данных.Аккаунт a = новый аккаунт ()

MyCustomObj__c obj = новый MyCustomObj__c ()

КоллекцииВ Apex есть следующие типы коллекций:

  • Списки
  • Карты
  • Наборы
Список var_lst = новый список ()

Установить setOne = новый Set ()

Карта var_map = новая карта ()

ПеречисленияПеречисления - это абстрактные типы данных, значения которых принимают конечный набор идентификаторов.Открытое перечисление Seasons {Зима, Весна, Лето, Осень}


SOQL и SOSL

Разработка программных приложений требует, чтобы вы знали, как вставлять и извлекать данные из баз данных. В Salesforce вы можете получать данные из баз данных с помощью SOQL и SOSL. Если вы хотите быть разработчиком Salesforce, вы должны знать оба этих языка запросов. Я предоставил вам подробное объяснение этих языков ниже:

  • SOQL означает язык объектных запросов Salesforce. Используя операторы SOQL, вы можете получать данные из базы данных в виде списка объектов sObject, одного объекта sObject или метода Integer for count. Вы можете рассматривать SOQL как эквивалент запроса SELECT SOQL. Я привел пример SOQL-запроса ниже:

Список accList = [ВЫБЕРИТЕ Id, имя ИЗ учетной записи, ГДЕ Имя = 'Ваше имя']

разница между HTML и XML
  • SOSL означает язык поиска объектов Salesforce. Вы можете использовать операторы SOSL для получения списка sObject, где каждый список содержит результаты поиска для определенного типа sObject. Вы можете рассматривать SOSL как эквивалент поискового запроса в базе данных. Ниже я привел пример запроса SOSL:

СписокsearchList = [НАЙТИ ‘map *’ ВО ВСЕХ ПОЛЯХ ВОЗВРАЩАЕТСЯ Аккаунт (Id, Name), Contact, Opportunity, Lead]

Вы можете использовать SOQL, когда знаете, в каком объекте находятся данные, и использовать SOSL, когда не знаете имени объекта, в котором находятся данные.

Классы и методы

Как и в любом другом объектно-ориентированном языке программирования, с помощью Apex можно разрабатывать классы и методы. Вы можете думать о классе как о схеме, с помощью которой создаются и используются отдельные объекты. Вы можете думать о методе как о подпрограмме, которая действует с данными и возвращает значение. Я предоставил вам синтаксис для написания класса и метода ниже:

Теперь я покажу вам, как добавить класс и метод в Apex:

Шаг 1: В окне настройки введите «Классы Apex» в поле «Быстрый поиск», затем выберите «Классы Apex» и нажмите «Создать».

Шаг 2: В редакторе добавьте следующее определение класса:

Открытый класс HelloWorld {

}

Шаг 3: Добавьте определение метода между открывающими и закрывающими скобками класса:

Public static void helloWorldMethod (Country__c [] countries) {

Для (Страна__c страна: страны) {

country.currency_value__c * = 1,5

}

}

Шаг 4: Нажмите Сохранить, и у вас должен быть полный класс:

Открытый класс HelloWorld {

Public static void helloWorldMethod (Country__c [] countries) {

Для (Страна__c страна: страны) {

country.currency_value__c * = 1,5

}

}

Вы можете использовать синтаксис и пример, показанные выше, для разработки собственных классов и методов для вашего приложения Salesforce. Чтобы стать разработчиком Salesforce, вам нужно знать больше, чем просто писать классы и методы. В следующих нескольких разделах я буду обсуждать темы, которые делают разработку приложений на платформе Salesforce простой и легкой.

Триггеры

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

  • Перед триггером - Вы можете использовать триггеры before для обновления или проверки значений записей перед их сохранением в базе данных.
  • После триггера - Вы можете использовать триггеры after для доступа к значениям полей, которые установлены системой, и влиять на изменения в других записях.

Триггеры выполняются до или после следующих операций:

  • Вставить
  • Обновить
  • Удалить
  • Идти
  • Ой
  • Отменить удаление

Я покажу вам, как добавить триггер в вершину, добавив триггер для объекта Country, который вы видели в классе выше:

Шаг 1: В настройках управления объектами для страны перейдите в «Триггеры» и нажмите «Создать».

Шаг 2: В редакторе триггеров добавьте следующее определение триггера:

Триггер HelloWorldTrigger для Country__c (перед вставкой) {

Country__c countries = Trigger.new

HelloWorld.helloWorldMethod (страны)

}

Приведенный выше код будет обновлять валюту вашей страны перед каждой вставкой в ​​базу данных.

Ограничения губернатора

Возможно, вы знаете, что Salesforce работает с мультитенантной архитектурой, это означает, что ресурсы совместно используются разными клиентами. Чтобы гарантировать, что ни один клиент не монополизирует общие ресурсы, механизм времени выполнения Apex строго применяет ограничения регулятора. Если ваш код Apex когда-либо превышает предел, ожидаемый регулятор выдает исключение времени выполнения, которое не может быть обработано. Итак, разработчик Salesforce должен быть очень осторожен при разработке приложения.

Массовые операции

Как разработчик Salesforce вы всегда должны следить за тем, чтобы ваш код соответствовал ограничениям регулятора. Чтобы обеспечить соблюдение Apex ограничений регулятора, необходимо использовать шаблон проектирования массовых вызовов. Массовая операция означает фиксацию более одной записи при выполнении операции DML. Прежде чем выполнять операцию DML, вы всегда должны убедиться, что добавляете строки в коллекцию. Ниже приведено изображение, которое дает вам полное описание шаблона проектирования массовых операций.

DML и операции с данными

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

Заявление DML

Описание
ВставитьДобавляет один или несколько объектов sObject к данным вашей организации.
ОбновитьИзменяет одну или несколько существующих записей sObject
ОйСоздает новые записи и обновляет записи sObject
УдалитьУдаляет одну или несколько существующих записей sObject
Отменить удалениеВосстанавливает одну или несколько существующих записей sObject
ИдтиОбъединяет до трех записей одного типа sObject в одну запись

Visualforce и Apex

Вы прошли долгий путь к тому, чтобы стать разработчиком Salesforce. Далее я расскажу о том, как вы можете интегрировать свою страницу visualforce и код вершины. Вы можете связать свою страницу visualforce и код вершины с помощью контроллеров и расширений.

Оператор области видимости c ++
  • Пользовательские контроллеры -Если вы хотите, чтобы ваша страница visualforce работала полностью в системном режиме, то есть без разрешений и безопасности на уровне поля, используйте настраиваемый контроллер.

  • Расширение контроллера -Если вы хотите добавить новые действия или функции, расширяющие функциональность стандартного или настраиваемого контроллера, используйте расширение контроллера.

В приведенном ниже коде я показал вам, как включить настраиваемый контроллер на страницу Visualforce:

В приведенном ниже коде я показал вам, как включить расширение контроллера на вашу страницу visualforce:

Обработка исключений

Если вы раньше разрабатывали приложения, то наверняка столкнулись бы с исключениями. Исключением является особое условие, изменяющее нормальный ход выполнения программы. Например, деление числа на ноль или доступ к значению списка, выходящему за пределы. Если вы не обрабатываете эти исключения, выполнение процесса останавливается, а DML-файлы откатываются.

Как разработчик Salesforce, вы должны знать, как перехватывать эти исключения и что делать после их перехвата. Чтобы перехватить исключения, вы можете использовать конструкции try, catch и finally. Как только вы поймали исключение, вы можете обработать его способами, указанными ниже:

Исключение Как с этим справиться
DMLИспользуйте метод addError () для записи или поля
VisualforceИспользуйте класс ApexPages.message
Отправка электронного письма об исключенииВы можете уведомить разработчика по электронной почте
Вход в пользовательский объектВы можете использовать будущий метод, чтобы поймать настраиваемый объект

До сих пор в этом блоге разработчиков Salesforce вы видели, как разработать свой пользовательский интерфейс с помощью Visualforce, вы видели, как писать настраиваемую логику с помощью Apex и различные концепции, такие как триггеры, массовые операции и обработка исключений. И последнее, но не менее важное: мы рассмотрим платформу тестирования Salesforce.

Тестирование

Как разработчику Salesforce вам необходимо знать, как тестировать код, который вы пишете. Разработка через тестирование - хороший способ обеспечить долгосрочный успех вашего программного приложения. Вам необходимо протестировать свое приложение, чтобы убедиться, что оно работает должным образом. Особенно, если вы разрабатываете приложение для клиента, очень важно его тестирование перед доставкой конечного продукта. Apex предоставляет платформу тестирования, которая позволяет писать модульные тесты, запускать тесты, проверять результаты тестов и получать результаты покрытия кода.

Вы можете протестировать свое приложение двумя способами:

  1. Этот способ тестирования через пользовательский интерфейс Salesforce важен, но он не позволяет охватить все варианты использования ваших приложений.
  2. Вы можете протестировать массовую функциональность, через ваш код можно передать до 200 записей с помощью SOAP API или контроллера стандартного набора visualforce.

Тестовые классы не фиксируют данные в базе данных и аннотируются с помощью @isTest. Я показал вам, как добавить тестовый класс, добавив тестовый класс в класс HelloWorld ниже:

@isTest

частный класс HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Country__c country = new Country__c (Name = 'India', currency_value__c = 50,0)

Вставить страну

country = [SELECT currency_value__c FROM Country WHERE Id = country.Id]

System.assertEquals (75, country.currency_value__c)

}

}

Я надеюсь, что вы поняли все концепции, которые вам нужно знать, чтобы стать разработчиком Salesforce. Чтобы получить более подробную информацию, ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и реальный проектный опыт. Если у вас есть какие-либо комментарии, оставьте их в поле для комментариев ниже.