Salesforce fejlesztői bemutató: Kezdje el a Salesforce programozását



Ez az oktatóblog elmagyarázza a különféle programozási fogalmakat, mint például a visualforce és az apex, amelyeket ismernie kell a Salesforce fejlesztői karrierjének megkezdéséhez.

Szoftverfejlesztőnek kíván lenni? Saját alkalmazást szeretne készíteni a Force.com platformon? Ha ezekre a kérdésekre igen a válasz, akkor feltétlenül fontolja meg, hogy Salesforce-fejlesztővé váljon.

Korábbi blogjaimban kb , Salesforce tanúsítványok és megmutatta neked is készítsen egyedi alkalmazást a Salesforce-ban elérhető deklaratív opciók használatával. Ebben a blogban megvitatom az alkalmazás fejlesztéséhez a Salesforce-ban rendelkezésre álló programozási lehetőségeket.





MVC Architecture

Mielőtt belevetném magam egy alkalmazás készítésébe a Visualforce és az Apex használatával, először a Salesforce Model-View-Controller architektúráról fogok beszélni. Az alábbiakban egy diagram mutatja be a Salesforce Model-View-Controller architektúrát a különböző Salesforce-összetevőkkel együtt.

mvc - salesforce developer - edureka



Modell: A modell a Salesforce adatobjektumai, mezői és kapcsolatai. Normál (Számla, Lehetőség, stb.) És egyéni objektumokból (objektumok, amelyeket létrehoz) létrehoz.

Kilátás: A nézet az adatok, azaz a felhasználói felület bemutatását jelenti. A Salesforce alkalmazásban a nézet a visualforce oldalakból, összetevőkből, oldalelrendezésekből és fülekből áll.

Vezérlő: A vezérlő a tényleges alkalmazáslogika építőköve. Műveleteket akkor hajthat végre, amikor a felhasználó interakcióba lép a visualforce-tal.



Salesforce in Action

Ahhoz, hogy Salesforce-fejlesztő lehessen, először ismernie kell a Salesforce-alkalmazások működését. Az alábbiakban egy kép látható amely teljes képet ad a Salesforce működéséről. Az ügyfél vagy a felhasználó információkat kér vagy ad el a Salesforce alkalmazáshoz. Ez általában a Visualforce használatával történik. Ezeket az információkat ezután továbbítják az alkalmazás logikai rétegébe, Apex-be írva. Az információktól függően az adatokat vagy beillesztik, vagy eltávolítják az adatbázisból. A Salesforce lehetőséget biztosít arra is, hogy webes szolgáltatásokat használjon az alkalmazáslogika közvetlen eléréséhez.

A Salesforce fejlesztői a deklaratív vagy a programozási lehetőségek segítségével közelíthetik meg a fejlesztést. Az alábbiakban egy kép található, amely részletesen bemutatja a felhasználói felület, az üzleti logika és az adatmodell réteg mindegyikében elérhető deklaratív és programozási megközelítéseket. A felhasználói felület felépítéséhez használhatja a deklaratív megközelítést, amely oldalelrendezéseket és rekordtípusokat használ, vagy használhat olyan programozási megközelítést, mint a Visualforce oldalak és összetevők. Programozott megközelítést általában csak akkor használjon, ha a deklaratív megközelítéssel nem tudja elérni a szükséges felhasználói felületet. Az alkalmazás üzleti logikai rétegének fejlesztéséhez használhatja a Salesforce deklaratív munkafolyamat-beállításait, érvényesítési szabályait és jóváhagyási folyamatait, vagy használhat olyan automatizált megközelítést, mint például az eseményindítók, vezérlők és osztályok. Az adatmodell eléréséhez objektívek, mezők és kapcsolatok segítségével használhatja a deklaratív megközelítést. Az adatmodell programozottan is elérhető a metaadat-API, a REST API és a tömeges API segítségével.

Láttuk, hogyan működnek a Salesforce alkalmazások, a Salesforce fejlesztéséhez használt MVC architektúra és a Salesforce fejlesztő számára elérhető két különböző megközelítés. Most hadd beszéljek a Visualforce-ról és az Apex-ről.

Visualforce

Alkalmazások felépítéséhez a Salesforce platformon ismernie kell a felhasználói felület fejlesztését és az alkalmazáslogika megírását. Salesforce fejlesztőként a felhasználói felületet a Visualforce használatával fejlesztheti. A Visualforce a Force.com platform felhasználói felületének keretrendszere. Ahogyan a javascript Angular-JS keretrendszerrel is létrehozhat felhasználói felületeket a webhelyeihez, úgy a Visualforce segítségével megtervezheti és létrehozhatja a felhasználói felületeket a Salesforce-alkalmazásokhoz.

Bármikor használhat egyedi oldalakat a Visualforce alkalmazással. Néhány példa a Visualforce használatára:

  • E-mail sablonok készítéséhez
  • A mobil felhasználói felület fejlesztése
  • A Salesforce-ban tárolt adatok PDF-fájljának előállítása
  • Beágyazhatja őket a szokásos oldalelrendezésekbe
  • Normál Salesforce-oldal felülírása
  • Egyéni fülek kifejlesztése az alkalmazáshoz

A visualforce oldal két elsődleges elemből áll:

  • Visualforce Markup - A visualforce jelölés tartalmazza a visualforce címkéket, HTML-t, JavaScript-et vagy bármilyen más webes kódot.
  • Visualforce vezérlő - A visualforce vezérlő tartalmazza az utasításokat, amelyek meghatározzák, hogy mi történik, ha a felhasználó interakcióba lép egy összetevővel. A visualforce vezérlő az Apex programozási nyelv segítségével íródott.

Vessen egy pillantást egy egyszerű Visualforce oldalkódra, az alábbi különböző összetevőkkel együtt:

Az alábbiakban bemutattam az egyszerű visualforce oldal megírásának lépéseit az országok és azok pénznemértékeinek megjelenítésére:

1. lépés: A Beállításban írja be a Visualforce Pages elemet a Gyorskeresés mezőbe, majd válassza a Visualforce Pages lehetőséget, majd kattintson az Új gombra.

2. lépés: A szerkesztőben adja hozzá a következő kódot az ország és pénznemének megjelenítéséhez:

mysql workbench bemutató kezdőknek

Csúcs

Miután befejezte a felhasználói felület fejlesztését, mint Salesforce fejlesztőnek tudnia kell, hogyan adhat egyéni logikát az alkalmazásához. Írhat vezérlő kódot, és hozzáadhat egyedi logikát az alkalmazásához az Apex programozási nyelv használatával. Az Apex egy objektumorientált programozási nyelv, amely lehetővé teszi a folyamatok és tranzakciók vezérlésének végrehajtását a Force.com platformon. Ha korábban használta a java programozási nyelvet, akkor könnyen megtanulhatja az Apexet. Az Apex szintaxisa 70% -ban hasonló a java-hoz.

Használhatja az Apex alkalmazást, amikor egyedi logikát szeretne hozzáadni az alkalmazásához. Néhány példa az Apex használatának helyzeteire:

  • Ha webes és e-mail szolgáltatásokat szeretne hozzáadni az alkalmazásához
  • Amikor összetett üzleti folyamatokat szeretne végrehajtani
  • Ha összetett ellenőrzési szabályokat szeretne hozzáadni az alkalmazásához
  • Ha egyedi logikát szeretne hozzáadni a műveletekhez, például a rekord mentéséhez

Az alábbiakban látható egy képernyőkép az Apex kódról, annak különböző összetevőivel, például a looping utasítással, a control-flow utasítással és a SOQL lekérdezéssel:

Most, hogy megértettük, mi az Apex, és mikor kell használni, hadd merüljek el mélyen az Apex programozásában.

Programozás Apexben

Ha megértette a fent leírt fogalmakat, akkor félúton jár a Salesforce-fejlesztővé válás útján. Ebben a szakaszban mélyebben belemerülök az Apexbe azzal, hogy információkat nyújtok a különböző adattípusokról és változókról, az adatok adatbázisból történő lekérésének különböző módjairól, és bemutatom, hogyan kell írni egy osztályt és metódust.

Adattípusok és változók

A Salesforce 4 különböző adattípussal és változóval rendelkezik. Az alábbi táblázat a 4 adattípus mindegyikéről ad információt:

Adattípusok és változók Leírás Példa
PrimitívA Salesforce primitív adattípusai közé tartozik logikai érték, dátum, egész szám, objektum, karakterlánc és idő.Logikai isSunny = igaz

Egész I = 1

String myString = “Hello World”

tárgyakAz sObject minden olyan objektumra utal, amely tárolható az adatbázisban.Számla a = új számla ()

MyCustomObj__c obj = new MyCustomObj__c ()

GyűjteményekAz Apex a következő típusú gyűjteményekkel rendelkezik:

  • Listák
  • Térképek
  • Készletek
Lista var_lst = új Lista ()

Set setOne = új készlet ()

Térkép var_map = új térkép ()

EnumsA számlák absztrakt adattípusok, amelyeknek véges azonosítókészletet vesznek fel.Nyilvános évszakok {tél, tavasz, nyár, ősz}


SOQL és SOSL

A szoftveralkalmazások fejlesztéséhez meg kell tudni, hogyan kell adatokat beilleszteni és lekérni az adatbázisokból. A Salesforce alkalmazásban adatokat lehet lekérni az adatbázisokból a SOQL és az SOSL használatával. Ha Salesforce-fejlesztő szeretne lenni, akkor ismernie kell mindkét keresési nyelvet. Az alábbiakban részletesen ismertettem ezeket a nyelveket:

  • A SOQL a Salesforce Object Query Language rövidítése. A SOQL utasítások használatával adatokat gyűjthet az adatbázisból sObjects listaként, egyetlen sObject vagy Integer for count módszerként. A SOQL-re úgy gondolhat, mint egy SELECT SOQL lekérdezésre. Az alábbiakban bemutattam egy példát egy SOQL lekérdezésre:

List accList = [KIVÁLASZTÁS ID, Név FROM Fiókból WHERE Név = 'SajátNév']

  • Az SOSL a Salesforce Object Search Language rövidítése. Az SOSL utasítások segítségével lekérheti az sObjects listáját, ahol minden lista egy adott sObject típus keresési eredményeit tartalmazza. Úgy gondolhatja, hogy az SOSL egyenértékű az adatbázis keresési lekérdezésével. Az alábbiakban bemutattam egy példát egy SOSL lekérdezésre:

ListasearchList = [MEGTEKINTÉS ’térkép *’ MINDEN TERÜLETEN VISSZATÉRŐ Fiók (azonosító, név), kapcsolattartó, lehetőség, vezető]

Használhatja a SOQL-t, ha tudja, melyik objektumban találhatók az adatok, és akkor használhatja az SOSL-t, ha nem ismeri annak az objektumnak a nevét, ahol az adatok találhatók.

Osztályok és módszerek

Mint minden más objektumorientált programozási nyelvben, az Apex használatával is lehet osztályokat és módszereket fejleszteni. Úgy gondolhat egy osztályra, mint tervrajzra, amelynek segítségével az egyes objektumokat létrehozzák és használják. Lehet úgy gondolni, hogy egy módszer alprogram, amely az adatokra hat és értéket ad vissza. Az alábbiakban bemutattam a szintaxist egy osztály és módszer megírásához:

Most megmutatom, hogyan adhat hozzá osztályt és metódust az Apex-hez:

1. lépés: A telepítéskor írja be az Apex osztályokat a QuickFind mezőbe, majd válassza az Apex osztályok lehetőséget, majd kattintson az Új gombra.

2. lépés: A szerkesztőben adja hozzá a következő osztálydefiníciót:

Nyilvános óra HelloWorld {

}

3. lépés: Metódus meghatározása az osztály nyitó és záró zárójel közé:

Public static void helloWorldMethod (Ország _c [] országok) {

For (Ország _c ország: országok) {

ország.valuta_érték__c * = 1,5

}

}

4. lépés: Kattintson a Mentés gombra, és a teljes osztályt meg kell adnia:

Nyilvános óra HelloWorld {

Public static void helloWorldMethod (Ország _c [] országok) {

For (Ország _c ország: országok) {

ország.valuta_érték__c * = 1,5

}

}

A fent bemutatott szintaxist és példát használhatja saját osztályok és módszerek kidolgozásához a Salesforce alkalmazáshoz. Ahhoz, hogy Salesforce-fejlesztővé válhasson, nem csupán osztályok és módszerek írásán kell ismerkednie. A következő szakaszokban olyan témákat fogok megvitatni, amelyek egyszerűvé és egyszerűvé teszik az alkalmazások fejlesztését a Salesforce platformon.

Kiváltók

Minden Salesforce-fejlesztőnek ismernie kell a Salesforce-triggerek fogalmát. Előfordulhat, hogy korábban más adatbázissal végzett munka során találkozott triggerekkel. Az eseményindítók nem más, mint a tárolt programok, amelyek akkor hívódnak meg, amikor a Salesforce-rekordok módosítása előtt vagy után műveleteket hajt végre. Például az indítók futtathatók egy beszúrás vagy frissítési művelet végrehajtása előtt. Kétféle kiváltó tényező létezik:

  • A ravaszt megelőzően - A triggerek előtt használhatja a rekordértékek frissítését vagy érvényesítését, mielőtt azokat az adatbázisba mentené.
  • Kiváltás után - Az triggerek után használhatja a rendszer által beállított mezőértékeket, és befolyásolhatja a többi rekord változását.

Az eseményindítókat az alábbi műveletek előtt vagy után hajtják végre:

  • Helyezze be
  • Frissítés
  • Töröl
  • Megy
  • Hoppá
  • Visszavonás

Megmutatom, hogyan adhat hozzá egy triggert a csúcsához úgy, hogy hozzáad egy triggeret a Country osztályhoz, amelyet a fenti osztályban látott:

1. lépés: Az ország objektumkezelési beállításai közül lépjen a Triggerek elemre, és kattintson az Új gombra.

2. lépés: Az ravaszszerkesztőben adja hozzá a következő trigger definíciót:

A HelloWorldTrigger elindítása a Country__c-n (a beszúrás előtt) {

Ország__c országok = Trigger.new

HelloWorld.helloWorldMethod (országok)

}

A fenti kód az ország minden pénznemét frissíti az adatbázis minden beillesztése előtt.

Kormányzó korlátai

Lehet, hogy tudja, hogy a Salesforce több bérlős architektúrán dolgozik, ez azt jelenti, hogy az erőforrásokat különböző ügyfelek osztják meg. Annak érdekében, hogy senki ne monopolizálja a megosztott erőforrásokat, az Apex futásidejű motor szigorúan érvényesíti a kormányzó korlátjait. Ha az Apex-kódja valaha meghaladja a korlátot, a várható kormányzó egy futásidejű kivételt ad ki, amelyet nem lehet kezelni. Tehát mint Salesforce fejlesztő nagyon óvatosnak kell lennie az alkalmazás fejlesztése során.

Tömeges műveletek

Salesforce-fejlesztőként mindig biztosítania kell, hogy a kód megtartsa a kormányzó korlátjait. Annak érdekében, hogy az Apex betartsa a kormányzó korlátozásait, a tömeges hívások tervezési mintáját kell használnia. A tömeges művelet egynél több rekord végrehajtására utal, amikor DML-műveletet hajt végre. A DML művelet végrehajtása előtt mindig meg kell győződnie arról, hogy a sorokat felvette egy gyűjteménybe. Az alábbiakban egy kép található, amely teljes leírást ad a tömeges műveletek tervezési mintájáról.

DML-ek és adatműveletek

Korábban látta, hogyan lehet adatokat lekérni az adatbázisból SOQL és SOSL lekérdezések segítségével. Most vessünk egy pillantást azokra a különböző állításokra, amelyek segítségével adatokat illeszthet be a Salesforce adatbázisba. A Salesforce fejlesztője számára ismerni kell, hogy ezek az állítások mit tehetnek és hogyan használhatók.

DML nyilatkozat

Leírás
Helyezze beHozzáad egy vagy több tárgyat a szervezete adataihoz
FrissítésMódosít egy vagy több meglévő sObject rekordot
HoppáÚj rekordokat hoz létre és frissíti az sObject rekordokat
TörölTöröl egy vagy több létező sObject rekordot
VisszavonásVisszaállít egy vagy több meglévő sObject rekordot
MegyLegfeljebb három azonos sObject típusú rekordot egyesít egy rekordba

Visualforce és Apex

Hosszú utat tett meg azon a törekvésén, hogy Salesforce-fejlesztővé váljon. A következőkben megvitatom, hogyan integrálhatja a visualforce oldalát és a csúcs kódját. Vezérlők és bővítmények segítségével összekapcsolhatja a visualforce oldalát és az apex kódját.

  • Egyedi vezérlők -Ha azt szeretné, hogy a visualforce oldala teljes egészében rendszermódban, azaz engedélyek és terepi szintű biztonság nélkül fusson, használjon egyedi vezérlőt.

  • Vezérlő kiterjesztése -Ha új műveleteket vagy funkciókat szeretne hozzáadni, amelyek kibővítik a szokásos vagy az egyéni vezérlő funkcionalitását, használjon egy vezérlő kiterjesztést.

Az alábbi kódban megmutattam, hogyan lehet az egyéni vezérlőt beépíteni a visualforce oldalába:

Az alábbi kódban megmutattam, hogyan lehet a vezérlő kiterjesztését beépíteni a visualforce oldalába:

egyesítés rendezési algoritmus c ++

Kivételek kezelése

Ha korábban fejlesztettél alkalmazásokat, akkor biztosan találkoztál volna kivételekkel. Kivételt képez egy speciális feltétel, amely megváltoztatja a program futtatásának normál folyamatát. Például eloszthat egy számot nullával, vagy elérheti a listán kívül eső értéket. Ha nem kezeli ezeket a kivételeket, akkor a folyamat végrehajtása leáll, és a DML-ek visszaállnak.

Salesforce-fejlesztőként tudnia kell, hogyan ragadhatja meg ezeket a kivételeket, és mit kell tennie, miután elkapta őket. A kivételek elkapásához használhatja a try, catch és végül a construct elemeket. Miután elkapta a kivételt, az alábbiakban említett módon kezelheti:

Kivétel Hogyan kell kezelni
DMLHasználja az addError () metódust egy rekordon vagy egy mezőn
VisualforceHasználja az ApexPages.message osztályt
E-mail küldése kivétel eseténE-mailben értesítheti a fejlesztőt
Bejelentkezés egy egyedi objektumbaEgy jövőbeli metódust használhat egy egyedi objektum elkapására

Ebben a Salesforce fejlesztői blogban mostanáig láthatta, hogyan fejlesztheti felhasználói felületét a Visualforce használatával, látta, hogyan kell egyéni logikát írni az Apex és különböző fogalmak, például triggerek, tömeges műveletek és kivételkezelés segítségével. Végül, de nem utolsósorban megnézzük a Salesforce tesztelési keretrendszerét.

Tesztelés

Salesforce-fejlesztőként tudnia kell, hogyan tesztelheti az írott kódot. A tesztvezérelt fejlesztés jó módszer a szoftveralkalmazás hosszú távú sikerének biztosítására. Tesztelnie kell az alkalmazását, hogy ellenőrizze, hogy az alkalmazása a várt módon működik-e. Különösen, ha egy ügyfelet fejleszt ki, akkor nagyon fontos tesztelni azt a végtermék kézbesítése előtt. Az Apex egy tesztelési keretrendszert kínál, amely lehetővé teszi az egység tesztek írását, a tesztek futtatását, a teszt eredményeinek ellenőrzését és a kód lefedettségének megszerzését.

Kétféleképpen tesztelheti alkalmazását:

  1. A Salesforce felhasználói felületén keresztül a tesztelésnek ez a módja fontos, de nem fogja fel az alkalmazások összes felhasználási esetét
  2. Tesztelheti a tömeges funkcionalitást, a SOAP API vagy a Visualforce szabványos készletvezérlő segítségével akár 200 rekordot is át lehet adni a kódján

A tesztosztályok nem vezetnek be adatokat az adatbázisba, és az @isTest jelöléssel vannak ellátva. Megmutattam neked, hogyan adhatsz hozzá tesztosztályt egy tesztosztály hozzáadásával az alábbi HelloWorld osztályhoz:

@isTest

privát osztály HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Ország__c ország = új Ország__c (Név = „India”, pénznem_érték__c = 50,0)

Ország beillesztése

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

System.assertEquals (75, country.currency_value__c)

}

}

Remélem, megértette az összes fogalmat, amelyet tudnia kell ahhoz, hogy Salesforce-fejlesztő legyen. Ha további részletekbe merül, nézze meg a amely oktató által vezetett élő képzéssel és valós életű projekt tapasztalattal jár. Ha észrevétele van, kérjük, hagyja őket az alábbi megjegyzés mezőben.