Samouczek dla programistów Salesforce: Pierwsze kroki z programowaniem Salesforce



Ten blog z samouczkami wyjaśnia różne koncepcje programowania, takie jak visualforce i apex, które musisz znać, aby rozpocząć karierę jako programista Salesforce.

Czy chcesz zostać programistą aplikacji? Chcesz zbudować własną aplikację na platformie Force.com? Jeśli Twoja odpowiedź na te pytania jest twierdząca, zdecydowanie powinieneś rozważyć zostanie programistą Salesforce.

Na moich poprzednich blogach omawiałem , Certyfikaty Salesforce a także pokazałem zbudować niestandardową aplikację używając deklaratywnych opcji dostępnych w Salesforce. Na tym blogu omówię opcje automatyzacji dostępne w Salesforce do tworzenia aplikacji.





Architektura MVC

Zanim przejdę do tworzenia aplikacji przy użyciu Visualforce i Apex, najpierw omówię architekturę Salesforce Model-View-Controller. Poniżej znajduje się diagram przedstawiający architekturę Salesforce Model-View-Controller wraz z różnymi komponentami Salesforce.

mvc - programista Salesforce - edureka



Model: Model to obiekty danych Salesforce, pola i relacje. Składa się z obiektów standardowych (Konto, Szansa sprzedaży itp.) I niestandardowych (obiekty, które tworzysz).

przekazać przez odwołanie w java

Widok: Widok przedstawia prezentację danych, czyli interfejs użytkownika. W Salesforce widok składa się ze stron visualforce, komponentów, układów stron i zakładek.

Kontroler: Sterownik jest elementem składowym rzeczywistej logiki aplikacji. Możesz wykonywać akcje, gdy użytkownik wchodzi w interakcję z siłą wizualną.



Salesforce w akcji

Aby zostać programistą Salesforce, musisz najpierw wiedzieć, jak działają aplikacje Salesforce. Poniżej znajduje się zdjęcie co daje pełny obraz działania Salesforce. Klient lub użytkownik żąda lub dostarcza informacji do aplikacji Salesforce. Odbywa się to zwykle za pomocą Visualforce. Informacje te są następnie przekazywane do warstwy logiki aplikacji, zapisanej w Apex. W zależności od informacji dane są wstawiane lub usuwane z bazy danych. Salesforce zapewnia również możliwość korzystania z usług internetowych w celu bezpośredniego dostępu do logiki aplikacji.

Deweloper Salesforce może podejść do programowania, korzystając z opcji deklaratywnych lub programistycznych. Poniżej znajduje się obraz, który zawiera szczegółowe informacje na temat podejść deklaratywnych i programistycznych dostępnych w każdym z interfejsów użytkownika, logiki biznesowej i warstwy modelu danych. Aby zbudować interfejs użytkownika, możesz użyć podejścia deklaratywnego, które wykorzystuje układy stron i typy rekordów, lub użyć podejścia programowego, takiego jak strony i komponenty siły wizualnej. Ogólnie rzecz biorąc, powinieneś używać podejścia programowego tylko wtedy, gdy nie możesz osiągnąć wymaganego interfejsu użytkownika przy użyciu podejścia deklaratywnego. Aby rozwinąć warstwę logiki biznesowej aplikacji, możesz użyć deklaratywnych opcji przepływu pracy, reguł walidacji i procesów zatwierdzania Salesforce lub zastosować podejście programistyczne, takie jak wyzwalacze, kontrolery i klasy. Aby uzyskać dostęp do modelu danych, można zastosować podejście deklaratywne, używając obiektów, pól i relacji. Dostęp do modelu danych można również uzyskać programowo, korzystając z interfejsu API metadanych, interfejsu API REST i interfejsu API zbiorczego.

Widzieliśmy, jak działają aplikacje Salesforce, architekturę MVC używaną do programowania w Salesforce oraz dwa różne podejścia dostępne dla programisty Salesforce. Pozwólcie, że omówię teraz Visualforce i Apex.

Visualforce

Aby tworzyć aplikacje na platformie Salesforce, musisz wiedzieć, jak opracować interfejs użytkownika i napisać logikę aplikacji. Jako programista Salesforce możesz rozwijać interfejs użytkownika za pomocą Visualforce. Visualforce to platforma interfejsu użytkownika dla platformy Force.com. Podobnie jak w przypadku wykorzystania frameworka Angular-JS w języku JavaScript do tworzenia interfejsów użytkownika dla swoich witryn internetowych, możesz użyć Visualforce do projektowania i budowania interfejsów użytkownika dla aplikacji Salesforce.

Możesz używać visualforce zawsze, gdy potrzebujesz tworzyć własne strony. Kilka przykładów sytuacji, w których można użyć Visualforce, to:

  • Tworzenie szablonów wiadomości e-mail
  • Opracowanie mobilnego interfejsu użytkownika
  • Aby wygenerować pliki PDF z danymi przechowywanymi w Salesforce
  • Aby osadzić je w standardowych układach stron
  • Aby zastąpić standardową stronę Salesforce
  • Aby opracować niestandardowe karty dla Twojej aplikacji

Strona visualforce składa się z dwóch głównych elementów:

  • Visualforce Markup - Visualforce Markup obejmuje tagi Visualforce, HTML, JavaScript lub dowolny inny kod obsługujący Internet.
  • Kontroler Visualforce - kontroler Visualforce zawiera instrukcje określające, co się dzieje, gdy użytkownik wchodzi w interakcję z komponentem. Kontroler visualforce jest napisany przy użyciu języka programowania Apex.

Możesz przyjrzeć się prostemu kodowi strony Visualforce wraz z różnymi komponentami poniżej:

Poniżej pokazałem kroki, aby napisać prostą stronę wizualną do wyświetlania krajów i ich wartości walutowych:

Krok 1: W Instalatorze wprowadź Visualforce Pages w polu Quick Find, następnie wybierz Visualforce Pages i kliknij New.

Krok 2: W edytorze dodaj następujący kod, aby wyświetlić kraj i jego wartość w walucie:

Wierzchołek

Gdy skończysz opracowywać interfejs użytkownika, jako programista Salesforce musisz wiedzieć, jak dodać niestandardową logikę do swojej aplikacji. Możesz napisać kod kontrolera i dodać niestandardową logikę do swojej aplikacji za pomocą języka programowania Apex. Apex to obiektowy język programowania, który umożliwia wykonywanie instrukcji kontroli przepływu i transakcji na platformie Force.com. Jeśli wcześniej korzystałeś z języka programowania java, możesz łatwo nauczyć się Apex. Składnia Apex jest w 70% podobna do składni Java.

Możesz używać Apex, kiedy chcesz dodać niestandardową logikę do swojej aplikacji. Kilka przykładów sytuacji, w których można używać Apex, to:

  • Gdy chcesz dodać usługi internetowe i pocztowe do swojej aplikacji
  • Gdy chcesz wykonywać złożone procesy biznesowe
  • Gdy chcesz dodać złożone reguły walidacji do swojej aplikacji
  • Gdy chcesz dodać niestandardową logikę do operacji, takich jak zapisywanie rekordu

Poniżej znajduje się zrzut ekranu kodu Apex wraz z jego różnymi składnikami, takimi jak instrukcja pętli, instrukcja kontroli przepływu i zapytanie SOQL:

Teraz, gdy zrozumieliśmy, czym jest Apex i kiedy go używać, pozwól mi zagłębić się w programowanie Apex.

Programowanie w Apex

Jeśli zrozumiałeś opisane powyżej koncepcje, jesteś w połowie drogi do zostania deweloperem Salesforce. W tej sekcji zagłębię się w Apex, dostarczając informacji o różnych typach danych i zmiennych, różnych sposobach pobierania danych z bazy danych i pokazując, jak napisać klasę i metodę.

Typy danych i zmienne

Salesforce oferuje 4 różne typy danych i zmienne. Poniższa tabela zawiera informacje o każdym z 4 typów danych:

Typy danych i zmienne Opis Przykład
PrymitywnyPrymitywne typy danych w Salesforce obejmują wartość logiczną, datę, liczbę całkowitą, obiekt, ciąg i godzinę.Boolean isSunny = true

Liczba całkowita I = 1

String myString = „Hello World”

obiektyobiekt sObject odnosi się do dowolnego obiektu, który może być przechowywany w bazie danych.Konto a = nowe konto ()

MyCustomObj__c obj = new MyCustomObj__c ()

KolekcjeApex ma następujące typy kolekcji:

  • Listy
  • Mapy
  • Zestawy
Lista var_lst = nowa Lista ()

Set setOne = nowy Set ()

Mapa var_map = nowa Mapa ()

WyliczeniaWyliczenia to abstrakcyjne typy danych z wartościami, które przyjmują skończony zestaw identyfikatorów.Publiczne wyliczenia sezonów {zima, wiosna, lato, jesień}


SOQL i SOSL

Tworzenie aplikacji wymaga umiejętności wstawiania i pobierania danych z baz danych. W Salesforce możesz pobierać dane z baz danych za pomocą SOQL i SOSL. Jeśli chcesz zostać programistą Salesforce, musisz znać oba te języki zapytań. Poniżej przedstawiam szczegółowe wyjaśnienie tych języków:

  • SOQL to skrót od Salesforce Object Query Language. Korzystając z instrukcji SOQL, można pobrać dane z bazy danych w postaci listy obiektów sObject, pojedynczego obiektu sObject lub metody typu Integer for count. Możesz myśleć o SOQL jako o ekwiwalencie zapytania SELECT SOQL. Poniżej podałem przykład zapytania SOQL:

Lista accList = [SELECT ID, Name FROM Account WHERE Name = 'YourName']

  • SOSL to skrót od Salesforce Object Search Language. Za pomocą instrukcji SOSL można pobrać listę obiektów sObject, z których każda zawiera wyniki wyszukiwania dla określonego typu obiektów sObject. Możesz myśleć o SOSL jako odpowiedniku zapytania wyszukiwania w bazie danych. Poniżej podałem przykład zapytania SOSL:

ListasearchList = [ZNAJDŹ „mapę *” WE WSZYSTKICH POLACH ZWRACAJĄCE konto (identyfikator, nazwa), kontakt, możliwość, potencjalna sprzedaż]

Możesz używać SOQL, gdy wiesz, w którym obiekcie znajdują się dane, i używać SOSL, gdy nie znasz nazwy obiektu, w którym znajdują się dane.

Klasy i metody

Jak w każdym innym języku programowania obiektowego, możesz tworzyć klasy i metody za pomocą Apex. Możesz myśleć o klasie jako o planie, za pomocą którego tworzone i używane są poszczególne obiekty. Możesz myśleć o metodzie jako o podprogramie, który działa na danych i zwraca wartość. Poniżej przedstawiam składnię do napisania klasy i metody:

Pokażę teraz, jak dodać klasę i metodę w Apex:

Krok 1: W ustawieniach wprowadź Klasy Apex w oknie QuickFind, następnie wybierz Klasy Apex i kliknij Nowa.

Krok 2: W edytorze dodaj następującą definicję klasy:

Klasa publiczna HelloWorld {

}

Krok 3: Dodaj definicję metody między nawiasami otwierającymi i zamykającymi klasy:

Public static void helloWorldMethod (Country__c [] countries) {

Dla (Country__c country: countries) {

country.currency_value__c * = 1,5

}

}

Krok 4: Kliknij Zapisz i powinieneś mieć swoją pełną klasę jako:

Klasa publiczna HelloWorld {

Public static void helloWorldMethod (Country__c [] countries) {

Dla (Country__c country: countries) {

country.currency_value__c * = 1,5

}

}

Możesz użyć składni i przykładu przedstawionych powyżej, aby opracować własne klasy i metody dla aplikacji Salesforce. Aby zostać programistą Salesforce, musisz wiedzieć więcej niż tylko pisać klasy i metody. W kilku kolejnych sekcjach omówię tematy, które sprawiają, że tworzenie aplikacji na platformie Salesforce jest proste i łatwe.

Wyzwalacze

Każdy programista Salesforce musi znać koncepcję wyzwalaczy Salesforce. Możliwe, że wcześniej napotkałeś wyzwalacze podczas pracy z innymi bazami danych. Wyzwalacze to nic innego jak zapisane programy, które są wywoływane podczas wykonywania czynności przed lub po zmianach w rekordach Salesforce. Na przykład wyzwalacze mogą być uruchamiane przed wykonaniem operacji wstawiania lub podczas wykonywania operacji aktualizacji. Istnieją dwa typy wyzwalaczy:

  • Przed spustem - Możesz użyć wyzwalaczy przed, aby zaktualizować lub sprawdzić wartości rekordów przed zapisaniem ich w bazie danych.
  • Po wyzwoleniu - Można użyć wyzwalaczy after, aby uzyskać dostęp do wartości pól ustawionych przez system i wpłynąć na zmiany w innych rekordach.

Wyzwalacze są wykonywane przed lub po poniższych operacjach:

  • Wstawić
  • Aktualizacja
  • Usunąć
  • Udać się
  • Ups
  • Cofnij usunięcie

Pokażę ci, jak dodać wyzwalacz w wierzchołku, dodając wyzwalacz dla obiektu Country, który widziałeś w powyższej klasie:

Krok 1: W ustawieniach zarządzania obiektami dla kraju przejdź do Wyzwalacze i kliknij Nowy.

Krok 2: W edytorze wyzwalaczy dodaj następującą definicję wyzwalacza:

Trigger HelloWorldTrigger on Country__c (before insert) {

Country__c countries = Trigger.new

HelloWorld.helloWorldMethod (kraje)

}

Powyższy kod zaktualizuje walutę Twojego kraju przed każdym wstawieniem do bazy danych.

Ograniczenia gubernatora

Być może wiesz, że Salesforce działa w architekturze wielodostępnej, co oznacza, że ​​zasoby są współdzielone między różnymi klientami. Aby upewnić się, że żaden klient nie zmonopolizuje współdzielonych zasobów, silnik wykonawczy Apex ściśle wymusza ograniczenia dotyczące zarządzania. Jeśli Twój kod Apex kiedykolwiek przekroczy limit, oczekiwany zarządca wystawi wyjątek czasu wykonywania, którego nie można obsłużyć. Tak więc jako programista Salesforce musisz bardzo uważać podczas tworzenia aplikacji.

Operacje zbiorcze

Jako programista Salesforce musisz zawsze upewnić się, że Twój kod zachowuje ograniczenia zarządcy. Aby upewnić się, że Apex przestrzega limitów zarządzających, musisz użyć wzorca projektowania połączeń zbiorczych. Operacja zbiorcza odnosi się do zatwierdzania więcej niż jednego rekordu podczas wykonywania operacji DML. Przed wykonaniem operacji DML musisz zawsze upewnić się, że dodajesz wiersze do kolekcji. Poniżej znajduje się obraz, który zawiera pełny opis wzorca projektowania operacji zbiorczych.

DML i operacje na danych

Wcześniej widzieliście, jak pobierać dane z bazy danych za pomocą zapytań SOQL i SOSL. Przyjrzyjmy się teraz różnym stwierdzeniom, których możesz użyć do wstawienia danych do bazy danych Salesforce. Programista Salesforce musi wiedzieć, co mogą zrobić te stwierdzenia i jak z nich korzystać.

Oświadczenie DML

różnica między html i xml
Opis
WstawićDodaje jeden lub więcej obiektów sObject do danych organizacji
AktualizacjaModyfikuje jeden lub więcej istniejących rekordów sObject
UpsTworzy nowe rekordy i aktualizuje rekordy sObject
UsunąćUsuwa jeden lub więcej istniejących rekordów sObject
Cofnij usunięciePrzywraca jeden lub więcej istniejących rekordów sObject
Udać si꣹czy maksymalnie trzy rekordy tego samego typu sObject w jeden rekord

Visualforce i Apex

Przeszedłeś długą drogę, aby zostać programistą Salesforce. Następnie omówię, w jaki sposób możesz zintegrować swoją stronę Visualforce i kod wierzchołka. Możesz połączyć swoją stronę Visualforce i kod wierzchołka za pomocą kontrolerów i rozszerzeń.

  • Kontrolery niestandardowe -Jeśli chcesz, aby strona Visualforce działała całkowicie w trybie systemowym, tj. Bez uprawnień i zabezpieczeń na poziomie pola, użyj niestandardowego kontrolera.

  • Rozszerzenie kontrolera -Jeśli chcesz dodać nowe akcje lub funkcje, które rozszerzają funkcjonalność standardowego lub niestandardowego kontrolera, użyj rozszerzenia kontrolera.

W poniższym kodzie pokazałem, jak dołączyć niestandardowy kontroler do strony visualforce:

W poniższym kodzie pokazałem, jak dołączyć rozszerzenie kontrolera do strony visualforce:

Obsługa wyjątków

Jeśli wcześniej tworzyłeś aplikacje, z pewnością spotkałbyś się z wyjątkami. Wyjątkiem jest specjalny warunek, który zmienia normalny przebieg wykonywania programu. Na przykład dzielenie liczby przez zero lub uzyskiwanie dostępu do wartości listy, która jest poza zakresem. Jeśli nie obsługujesz tych wyjątków, wykonywanie procesów zostanie zatrzymane, a pliki DML zostaną wycofane.

Jako programista Salesforce musisz wiedzieć, jak wychwycić te wyjątki i co zrobić, gdy je złapiesz. Aby wychwycić wyjątki, możesz użyć try, catch i wreszcie construct. Gdy już złapiesz wyjątek, możesz sobie z nim poradzić w sposób opisany poniżej:

Wyjątek Jak sobie z tym poradzić
DMLUżyj metody addError () na rekordzie lub polu
VisualforceUżyj klasy ApexPages.message
Wysyłanie e-maila w przypadku wyjątkuMożesz powiadomić programistę e-mailem
Logowanie do obiektu niestandardowegoMożesz użyć przyszłej metody, aby złapać obiekt niestandardowy

Do tej pory na tym blogu deweloperskim Salesforce widzieliście, jak rozwijać interfejs użytkownika za pomocą Visualforce, widzieliście, jak pisać własną logikę za pomocą Apex i różnych koncepcji, takich jak wyzwalacze, operacje zbiorcze i obsługa wyjątków. Na koniec przyjrzymy się platformie testowej Salesforce.

Testowanie

Jako programista Salesforce musisz wiedzieć, jak przetestować napisany kod. Rozwój oparty na testach to dobry sposób na zapewnienie długoterminowego sukcesu aplikacji. Musisz przetestować swoją aplikację, aby sprawdzić, czy działa ona zgodnie z oczekiwaniami. Szczególnie, jeśli tworzysz aplikację dla klienta, testowanie jej przed dostarczeniem produktu końcowego jest bardzo ważne. Apex zapewnia platformę testową, która umożliwia pisanie testów jednostkowych, uruchamianie testów, sprawdzanie wyników testów i uzyskiwanie wyników pokrycia kodu.

Możesz przetestować swoją aplikację na dwa sposoby:

  1. Dzięki interfejsowi użytkownika Salesforce ten sposób testowania jest ważny, ale nie obejmuje wszystkich przypadków użycia aplikacji
  2. Możesz przetestować funkcjonalność zbiorczą, do 200 rekordów może zostać przesłanych przez kod za pomocą interfejsu SOAP API lub kontrolera zestawu standardowego Visualforce

Klasy testowe nie przekazują żadnych danych do bazy danych i są opatrzone adnotacją @isTest. Pokazałem, jak dodać klasę testową, dodając klasę testową do klasy HelloWorld poniżej:

@isTest

klasa prywatna HelloWorldTestClass {

static testMethod void validateHelloWorld () {

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

Wstaw kraj

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

System.assertEquals (75; country.currency_value__c)

}

}

Mam nadzieję, że zrozumiałeś wszystkie koncepcje, które musisz znać, aby zostać programistą Salesforce. Aby dowiedzieć się więcej, zajrzyj do naszego który obejmuje szkolenie na żywo prowadzone przez instruktora i doświadczenie w projektach z prawdziwego życia. Jeśli masz jakieś uwagi, zostaw je w polu komentarza poniżej.