Урок за разработчици на Salesforce: Започнете с програмирането на Salesforce



Този урок блог обяснява различните програмни концепции като visualforce и apex, които трябва да знаете, за да започнете кариерата си като разработчик на Salesforce.

Стремите ли се да станете разработчик на софтуерни приложения? Искате ли да създадете свое собствено приложение на платформата Force.com? Ако отговорът ви на тези въпроси е да, тогава определено трябва да помислите да станете разработчик на Salesforce.

В предишните си блогове съм обсъждал за , Сертификати на Salesforce и също ви показа изграждане на персонализирано приложение използвайки декларативните опции, налични в Salesforce. В този блог ще обсъдя програмните опции, налични в Salesforce за разработване на вашето приложение.





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

Преди да се потопя в изграждането на приложение, използващо Visualforce и Apex, първо ще обсъдя архитектурата на Salesforce Model-View-Controller. По-долу има диаграма, която очертава архитектурата на Salesforce Model-View-Controller, заедно с различните компоненти на 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 и щракнете върху New.

Стъпка 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

String myString = „Здравей, свят“

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

MyCustomObj__c obj = нов MyCustomObj__c ()

КолекцииApex има следните видове колекции:

  • Списъци
  • Карти
  • Комплекти
Списък var_lst = нов списък ()

Set setOne = нов Set ()

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

ПреброяванияEnums са абстрактни типове данни със стойности, които приемат краен набор от идентификатори.Публично изброяване Сезони {Зима, Пролет, Лято, Есен}


SOQL и SOSL

Разработването на софтуерни приложения изисква да знаете как да вмъквате и извличате данни от бази данни. В Salesforce можете да извличате данни от базите данни, като използвате SOQL и SOSL. Ако искате да сте разработчик на Salesforce, тогава трябва да знаете и двата езика за заявки. Предоставих ви подробно обяснение на тези езици по-долу:

  • SOQL означава Salesforce Object Query Language. Използвайки SOQL изрази, можете да извличате данни от базата данни като списък на sObjects, единичен sObject или Integer за метод за броене. Можете да мислите за SOQL като еквивалент на заявка SELECT SOQL. По-долу съм предоставил пример за SOQL заявка:

Списък accList = [ИД ИД, ИМЕ ОТ акаунт КЪДЕ Име = ”ВашетоИме”]

  • SOSL е съкращение от Salesforce Object Search Language. Можете да използвате SOSL изрази, за да извлечете списък на sObjects, където всеки списък съдържа резултатите от търсенето за определен тип sObject. Можете да мислите за SOSL като еквивалент на заявка за търсене в база данни. По-долу съм предоставил пример за SOSL заявка:

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

Можете да използвате SOQL, когато знаете в кой обект се намират данните и да използвате SOSL, когато не знаете името на обекта, в който се намират данните.

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

Както във всеки друг обектно-ориентиран език за програмиране, можете да разработвате класове и методи, използвайки Apex. Можете да мислите за клас като план, чрез който се създават и използват отделни обекти. Можете да мислите за метод като подпрограма, която действа върху данните и връща стойност. Предоставих ви синтаксиса, за да напишете клас и метод по-долу:

Сега ще ви покажа как да добавите клас и метод в Apex:

Етап 1: От настройката въведете Apex Classes в QuickFind Box, след това изберете Apex Classes и щракнете върху New.

Стъпка 2: В редактора добавете следната дефиниция на клас:

Публичен клас HelloWorld {

}

Стъпка 3: Добавете дефиниция на метод между скобите за отваряне и затваряне на класа:

Публична статична празнота helloWorldMethod (Country__c [] страни) {

За (Държава__c държава: държави) {

country.currency_value__c * = 1.5

}

}

Стъпка 4: Кликнете върху Запазване и трябва да имате пълния си клас като:

Публичен клас HelloWorld {

Публична статична празнота helloWorldMethod (Country__c [] страни) {

За (Държава__c държава: държави) {

country.currency_value__c * = 1.5

}

}

Можете да използвате синтаксиса и примера, показани по-горе, за да разработите свои собствени класове и методи за вашето приложение Salesforce. За да станете разработчик на Salesforce, трябва да знаете нещо повече от просто писане на класове и методи. В следващите няколко раздела ще обсъдя теми, които правят разработването на приложения на платформата Salesforce лесно и лесно.

Задействания

Всеки разработчик на Salesforce трябва да знае концепцията за тригерите на Salesforce. Може да сте попадали на задействания по време на работа с други бази данни. Задействанията не са нищо друго освен съхранени програми, които се извикват, когато извършвате действия преди или след промени в записите на Salesforce. Например задействанията могат да се изпълняват преди да се извърши операция за вмъкване или когато се извърши операция за актуализиране. Има два вида задействания:

  • Преди спусъка - Можете да използвате преди тригерите за актуализиране или валидиране на стойностите на записите, преди те да бъдат записани в базата данни.
  • След спусъка - Можете да използвате след тригери за достъп до стойности на полета, които са зададени от системата и да повлияете на промените в други записи.

Тригерите се изпълняват преди или след операциите по-долу:

  • Поставете
  • Актуализиране
  • Изтрий
  • Отивам
  • Ами сега
  • Възстановяване

Ще ви покажа как да добавите задействане на върха, като добавите задействане за обекта Country, който сте виждали в класа по-горе:

Етап 1: От настройките за управление на обекти за държава отидете на Triggers и кликнете върху New.

Стъпка 2: В редактора на задействане добавете следната дефиниция на задействане:

Задействайте HelloWorldTrigger на Country__c (преди вмъкване) {

Държава__c държави = Trigger.new

HelloWorld.helloWorldMethod (държави)

}

Горният код ще актуализира валутата на вашата държава преди всяко вмъкване в базата данни.

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

Може да знаете, че Salesforce работи върху архитектура за много клиенти, това означава, че ресурсите се споделят между различни клиенти. За да се увери, че никой клиент не монополизира споделените ресурси, механизмът за изпълнение на Apex стриктно налага ограниченията на управителя. Ако вашият Apex код някога надхвърли ограничение, очакваният управител издава изключение по време на изпълнение, което не може да бъде обработено. Така че, като разработчик на Salesforce, трябва да бъдете много внимателни, докато разработвате приложението си.

Групови операции

Като разработчик на Salesforce трябва винаги да се уверите, че вашият код поддържа ограниченията на управителя. За да сте сигурни, че Apex се придържа към ограниченията на управителя, трябва да използвате шаблона за проектиране на групови повиквания. Груповата операция се отнася до ангажиране на повече от един запис, когато правите DML операция. Преди да направите DML операция, винаги трябва да се уверите, че добавяте редовете в колекция. По-долу има изображение, което ви дава пълно описание на модела за проектиране на групови операции.

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

Виждали сте по-рано как да извличате данни от базата данни с помощта на SOQL и SOSL заявки. Сега нека да разгледаме различните изявления, които можете да използвате за вмъкване на данни в базата данни на Salesforce. За разработчик на Salesforce е необходимо да знае какво могат да направят тези изявления и как да ги използват.

DML изявление

Описание
ПоставетеДобавя един или повече sObjects към данните на вашата организация
АктуализиранеПроменя един или повече съществуващи sObject записи
Ами сегаСъздава нови записи и актуализира sObject записи
ИзтрийИзтрива един или повече съществуващи записи на sObject
ВъзстановяванеВъзстановява един или повече съществуващи записи на sObject
ОтивамОбединява до три записа от същия тип sObject в един запис

Visualforce и Apex

Преминахте дълъг път в стремежа си да станете разработчик на Salesforce. След това ще обсъдим как можете да интегрирате страницата си на visualforce и вашия апекс код. Можете да свържете вашата страница на visualforce и вашия апекс код, като използвате контролери и разширения.

  • Персонализирани контролери -Когато искате страницата ви visualforce да работи изцяло в системен режим, т.е. без разрешения и защита на ниво поле, използвайте персонализиран контролер.

  • Разширение на контролера -Когато искате да добавите нови действия или функции, които разширяват функционалността на стандартен или потребителски контролер, използвайте разширение на контролера.

В кода по-долу ви показах как да включите персонализиран контролер в страницата си на visualforce:

В кода по-долу ви показах как да включите разширение на контролера във вашата страница на visualforce:

контролер на изглед на модел в java -

Обработка на изключения

Ако сте разработили приложения преди, тогава определено бихте попаднали на изключения. Изключение е специално условие, което променя нормалния поток на изпълнение на програмата. Например, разделяне на число на нула или достъп до списъчна стойност, която е извън границите. Ако не се справите с тези изключения, изпълнението на процеса спира и DML ще бъдат върнати обратно.

Като разработчик на Salesforce трябва да знаете как да уловите тези изключения и какво да правите, след като ги хванете. За да хванете изключения, можете да използвате try, catch и накрая да конструирате. След като сте хванали изключението, можете да се справите с него по посочените по-долу начини:

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

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

Тестване

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

Можете да тествате приложението си по два начина:

  1. Чрез потребителския интерфейс на Salesforce този начин на тестване е важен, но няма да обхване всички случаи на употреба на вашите приложения
  2. Можете да тествате групова функционалност, до 200 записа могат да бъдат предадени през вашия код, използвайки SOAP API или стандартния контролер на визуалната сила

Тестовите класове не ангажират данни в базата данни и се коментират с @isTest. Показах ви как да добавите тестов клас, като добавите тестов клас към класа HelloWorld по-долу:

@isTest

частен клас HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Държава__c държава = нова държава__c (Име = 'Индия', currency_value__c = 50.0)

Вмъкване на държава

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

System.assertEquals (75, country.currency_value__c)

}

}

Надявам се, че сте разбрали всички концепции, които трябва да знаете, за да сте разработчик на Salesforce. За да се потопите в повече подробности, разгледайте нашия който се предлага с обучение на живо под ръководството на инструктор и опит в реалния живот. Ако имате някакви коментари, моля, оставете ги в полето за коментари по-долу.