מדריך למפתחים של Salesforce: התחל עם תכנות Salesforce



בלוג הדרכה זה מסביר את מושגי התכנות השונים כמו Visualforce ו- Apex שעליך להכיר בכדי להתחיל את הקריירה שלך כמפתח Salesforce.

האם אתה שואף להיות מפתח יישומי תוכנה? האם אתה רוצה לבנות יישום משלך על פלטפורמת Force.com? אם תשובתך לשאלות אלו חיובית, עליך בהחלט לשקול להיות מפתח Salesforce.

בבלוגים הקודמים שלי, דנתי בנושא , אישורי Salesforce וגם הראה לך לבנות יישום מותאם אישית באמצעות האפשרויות ההצהרותיות הזמינות ב- Salesforce. בבלוג זה אדון באפשרויות הפרוגרמטיות הקיימות ב- Salesforce לפיתוח היישום שלך.





אדריכלות MVC

לפני שאצלול לבניית יישום באמצעות Visualforce ו- Apex, אדון תחילה באדריכלות Salesforce Model-View-Controller. להלן תרשים המתאר את ארכיטקטורת Salesforce Model-View-Controller יחד עם רכיבי Salesforce השונים.

mvc - מפתח כוח אדם - edureka



דֶגֶם: המודל הוא אובייקטי הנתונים שלך, שדות וקשרים. זה מהווה אובייקטים סטנדרטיים (חשבון, הזדמנות וכו ') ואובייקטים מותאמים אישית (אובייקטים שאתה יוצר).

נוף: התצוגה מייצגת את הצגת הנתונים כלומר ממשק המשתמש. ב- Salesforce, התצוגה מהווה את דפי Visualforce, הרכיבים, פריסות העמודים והכרטיסיות.

בקר: הבקר הוא אבן הבניין של לוגיקת היישומים בפועל. באפשרותך לבצע פעולות בכל פעם שהמשתמש מקיים אינטראקציה עם visualforce.



כוח מכירות בפעולה

כדי להיות מפתח של Salesforce, עליך לדעת תחילה כיצד פועלות יישומי Salesforce. להלן תמונה אשר נותן לך את התמונה המלאה של Salesforce בפעולה. הלקוח או המשתמש מבקשים או מספקים מידע ליישום Salesforce. זה נעשה בדרך כלל באמצעות Visualforce. מידע זה מועבר לאחר מכן לשכבת ההיגיון של היישום, הכתובה ב- Apex. בהתאם למידע, הנתונים מוכנסים או מוסרים ממסד הנתונים. Salesforce מספק לך גם אפשרות להשתמש בשירותי אינטרנט כדי לגשת ישירות ללוגיקת היישום.

מפתח Salesforce יכול לגשת לפיתוח באמצעות האפשרויות ההצהרותיות או הפרוגרמטיות. להלן תמונה המספקת לך פרטים על הגישות ההצהרותיות והפרוגרמטיות הזמינות בכל ממשק משתמש, לוגיקה עסקית ושכבת מודל נתונים. כדי לבנות את ממשק המשתמש שלך, אתה יכול להשתמש בגישה ההצהרתית המשתמשת בפריסת עמודים ובסוגי רשומות או להשתמש בגישה פרוגרמטית כמו עמודי Visualforce ורכיבים. באופן כללי, עליך להשתמש בגישה פרוגרמטית רק כאשר אינך יכול להשיג את ממשק המשתמש הדרוש באמצעות הגישה ההצהרתית. כדי לפתח את שכבת ההיגיון העסקי של היישום שלך, תוכל להשתמש באפשרויות ההצהרה של Salesforce של זרימת עבודה, כללי אימות ותהליכי אישור או להשתמש בגישה פרוגרמטית כמו טריגרים, בקרים ושיעורים. כדי לגשת למודל הנתונים, אתה יכול להשתמש בגישה ההצהרתית באמצעות אובייקטים, שדות וקשרים. ניתן גם לגשת למודל הנתונים באופן פרוגרמטי באמצעות ממשק ה- API של מטה, ה- API של REST ו- API בכמות גדולה.

ראינו כיצד פועלות יישומי Salesforce, ארכיטקטורת MVC המשמשת לפיתוח ב- Salesforce ושתי הגישות השונות הקיימות עבור מפתח Salesforce. עכשיו, תן לי לדון בנושא Visualforce ו- Apex.

Visualforce

כדי לבנות יישומים בפלטפורמת Salesforce עליכם לדעת כיצד לפתח ממשק משתמש ולכתוב לוגיקה של יישומים. כמפתח Salesforce, אתה יכול לפתח את ממשק המשתמש באמצעות Visualforce. Visualforce היא מסגרת ממשק המשתמש של פלטפורמת Force.com. בדיוק כמו איך אתה יכול להשתמש ב- javascript Angular-JS framework לבניית ממשקי משתמש עבור אתרי האינטרנט שלך, אתה יכול להשתמש ב- Visualforce כדי לעצב ולבנות ממשקי משתמש עבור יישומי Salesforce שלך.

אתה יכול להשתמש ב- visualforce בכל פעם שאתה צריך לבנות דפים מותאמים אישית. דוגמאות מעטות למצבים שבהם ניתן להשתמש ב- Visualforce הן:

  • לבניית תבניות דוא'ל
  • לפיתוח ממשק משתמש נייד
  • כדי ליצור קובצי PDF של נתונים המאוחסנים ב- Salesforce
  • כדי להטמיע אותם בפריסות העמודים הרגילות שלך
  • לדרוס דף Salesforce רגיל
  • לפיתוח כרטיסיות מותאמות אישית ליישום שלך

דף Visualforce מורכב משני אלמנטים עיקריים:

  • סימון Visualforce - הסימון של visualforce כולל את התגים של Visualforce, HTML, JavaScript או כל קוד אחר המותאם לרשת.
  • בקר Visualforce - בקר ה- visualforce מכיל את ההוראות המציינות מה קורה כאשר משתמש מקיים אינטראקציה עם רכיב. בקר ה- Visualforce נכתב בשפת תכנות Apex.

אתה יכול להסתכל על קוד עמוד פשוט של Visualforce יחד עם הרכיבים השונים למטה:

להלן הראיתי לך את השלבים לכתיבת דף Visualforce פשוט להצגת מדינות וערכי המטבע שלהן:

שלב 1: מתוך ההתקנה, הזן דפי Visualforce בתיבה חיפוש מהיר, בחר דפי Visualforce ולחץ על חדש.

שלב 2: בעורך הוסף את הקוד הבא להצגת המדינה וערך המטבע שלה:

שִׂיא

לאחר שתסיים לפתח את ממשק המשתמש, כמפתח Salesforce עליך לדעת כיצד להוסיף לוגיקה מותאמת אישית ליישום שלך. אתה יכול לכתוב קוד בקר ולהוסיף לוגיקה מותאמת אישית ליישום שלך באמצעות שפת התכנות Apex. איפקס היא שפת תכנות מונחית עצמים המאפשרת לבצע הצהרות בקרת תזרים ועסקאות בפלטפורמה Force.com. אם השתמשת בשפת התכנות Java לפני כן תוכל ללמוד בקלות את Apex. התחביר של איפקס דומה ל- 70% לזה של Java.

אתה יכול להשתמש ב- Apex בכל פעם שאתה רוצה להוסיף לוגיקה מותאמת אישית ליישום שלך. כמה דוגמאות למצבים שבהם אתה יכול להשתמש ב- Apex הן:

  • כאשר ברצונך להוסיף שירותי אינטרנט ודואר אלקטרוני ליישום שלך
  • כשרוצים לבצע תהליכים עסקיים מורכבים
  • כאשר ברצונך להוסיף כללי אימות מורכבים ליישום שלך
  • כשרוצים להוסיף לוגיקה מותאמת אישית לפעולות כמו שמירת רשומה

להלן צילום מסך של קוד Apex יחד עם מרכיביו השונים כמו הצהרת לולאה, הצהרת זרימת בקרה ושאילתת SOQL:

עכשיו אחרי שהבנו מה זה Apex ומתי להשתמש בו, הרשו לי לצלול עמוק לתכנות Apex.

תכנות באיפקס

אם הבנתם את המושגים שתוארו לעיל, אתם באמצע הדרך שלכם להיות מפתח Salesforce. בחלק זה, אעמיק באפקס על ידי אספקת מידע על סוגי הנתונים והמשתנים השונים, דרכים שונות לאחזור נתונים ממסד הנתונים ולהראות לך כיצד לכתוב מחלקה ושיטה.

סוגי נתונים ומשתנים

Salesforce מציע לך 4 סוגי נתונים ומשתנים שונים. הטבלה שלהלן מספקת מידע על כל אחד מארבעת סוגי הנתונים:

סוגי נתונים ומשתנים תיאור דוגמא
פְּרִימִיטִיבִיסוגי נתונים פרימיטיביים ב- Salesforce כוללים בוליאני, תאריך, מספר שלם, אובייקט, מחרוזת ושעה.בוליאני isSunny = נכון

שלם I = 1

מחרוזת myString = “שלום עולם”

אובייקטיםsObject מתייחס לכל אובייקט שניתן לאחסן במסד הנתונים.חשבון א = חשבון חדש ()

MyCustomObj__c obj = MyCustomObj__c חדש ()

אוספיםל- Apex יש את סוגי האוספים הבאים:

  • רשימות
  • מפות
  • סטים
רשימה var_lst = רשימה חדשה ()

הגדר setOne = סט חדש ()

מפה var_map = מפה חדשה ()

EnumsEnums הם סוגי נתונים מופשטים עם ערכים שלוקחים קבוצה סופית של מזהים.עונות האומה הציבורית {חורף, אביב, קיץ, סתיו}


SOQL ו- SOSL

פיתוח יישומי תוכנה מחייב אותך לדעת כיצד להוסיף ולאחזר נתונים ממאגרי מידע. ב- Salesforce תוכל לאחזר נתונים ממאגרי המידע באמצעות SOQL ו- SOSL. אם אתה רוצה להיות מפתח של Salesforce, עליך לדעת את שתי שפות השאילתה הללו. הבאתי לך הסבר מפורט על השפות הבאות:

  • SOQL מייצג שפת שאילתת אובייקטים של Salesforce. באמצעות הצהרות SOQL, אתה יכול לאחזר נתונים ממסד הנתונים כרשימה של sObjects, sObject בודד או מספר שלם לספירה. אתה יכול לחשוב על ה- SOQL כשווה ערך לשאילתת SELECT SOQL. הבאתי דוגמה לשאילתת SOQL להלן:

רשימת accList = [בחר מזהה, שם מחשבון WHERE שם = 'שם שלך']

  • SOSL מייצג שפת חיפוש אובייקטים של Salesforce. אתה יכול להשתמש בהצהרות SOSL כדי לאחזר רשימה של sObjects, כאשר כל רשימה מכילה את תוצאות החיפוש עבור סוג מסוים של sObject. אתה יכול לחשוב על SOSL כשווה ערך לשאילתת חיפוש במסד נתונים. הבאתי דוגמה לשאילתת SOSL להלן:

רשימהsearchList = [מצא 'מפה *' בכל השדות החזרת החשבון (מזהה, שם), איש קשר, הזדמנות, מוביל]

אתה יכול להשתמש ב- SOQL כאשר אתה יודע באיזה אובייקט הנתונים שוכנים ולהשתמש ב- SOSL כאשר אינך יודע את שם האובייקט בו הנתונים נמצאים.

שיעורים ושיטות

כמו בכל שפת תכנות אחרת המכוונת עצמים, תוכלו לפתח שיעורים ושיטות באמצעות Apex. אתה יכול לחשוב על כיתה כעל שרטוט באמצעותו נוצרים ומשתמשים באובייקטים בודדים. אתה יכול לחשוב על שיטה כעל תת-תוכנית, הפועלת על נתונים ומחזירה ערך. סיפקתי לך את התחביר לכתוב כיתה ושיטה למטה:

כעת אראה לך כיצד להוסיף מחלקה ושיטה ב- Apex:

שלב 1: מההתקנה, הזן את Apex Classes בתיבה QuickFind, ואז בחר Apex Classes ולחץ על New.

שלב 2: בעורך הוסף את הגדרת הכיתה הבאה:

מעמד ציבורי HelloWorld {

מערכי מיון c ++

}

שלב 3: הוסף הגדרת שיטה בין סוגרי הפתיחה והסגירה של הכיתה:

בטל סטטי ציבורי helloWorldMethod (מדינה__c [] מדינות) {

עבור (מדינה__ מדינה: מדינות) {

country.currency_value__c * = 1.5

}

}

שלב 4: לחץ על שמור ואתה אמור לקבל את הכיתה המלאה כ:

מעמד ציבורי HelloWorld {

בטל סטטי ציבורי helloWorldMethod (מדינה__c [] מדינות) {

עבור (מדינה__ מדינה: מדינות) {

country.currency_value__c * = 1.5

}

}

אתה יכול להשתמש בתחביר ובדוגמה המוצגים לעיל כדי לפתח שיעורים ושיטות משלך ליישום Salesforce שלך. כדי להיות מפתח של Salesforce עליך לדעת יותר מסתם כתיבת שיעורים ושיטות. בפרקים הבאים אדון בנושאים שהופכים את פיתוח היישומים בפלטפורמת Salesforce לפשוט וקל.

טריגרים

כל מפתח של Salesforce חייב להכיר את הרעיון של מפעילי Salesforce. אולי נתקלת בעבר בטריגרים בזמן העבודה עם מסדי נתונים אחרים. טריגרים אינם אלא תוכניות מאוחסנות שמופעלות בעת ביצוע פעולות לפני או אחרי שינויים ברשומות Salesforce. לדוגמא, טריגרים יכולים לפעול לפני ביצוע פעולת הוספה או כאשר מתבצעת פעולת עדכון. ישנם שני סוגים של טריגרים:

  • לפני ההדק - אתה יכול להשתמש לפני מפעילים לעדכון או אימות של ערכי רשומות לפני שהם נשמרים במסד הנתונים.
  • אחרי ההדק - אתה יכול להשתמש לאחר טריגרים כדי לגשת לערכי שדה שנקבעים על ידי המערכת ולהשפיע על שינויים ברשומות אחרות.

מפעילים מבוצעים לפני או אחרי הפעולות הבאות:

  • לְהַכנִיס
  • עדכון
  • לִמְחוֹק
  • ללכת
  • אופס
  • בטל מחיקה

אני אראה לך כיצד להוסיף טריגר ב- Apex על ידי הוספת טריגר לאובייקט Country שראית בכיתה לעיל:

שלב 1: מהגדרות ניהול האובייקטים עבור מדינה, עבור אל טריגרס ולחץ על חדש.

שלב 2: בעורך ההדק, הוסף את הגדרת הטריגר הבאה:

טריגר HelloWorldTrigger על Country__c (לפני הכנס) {

מדינה__c מדינות = טריגר. חדש

HelloWorld.helloWorldMethod (מדינות)

}

הקוד שלעיל יעדכן את המטבע של מדינתך לפני כל הוספה למסד הנתונים.

גבולות מושל

אולי אתה יודע ש- Salesforce עובד על ארכיטקטורה מרובת דיירים, המשמעות היא שמשאבים משותפים בין לקוחות שונים. כדי לוודא שאף לקוח לא מונופול על המשאבים המשותפים, מנוע זמן הריצה של איפקס אוכף בקפדנות את גבולות המושל. אם קוד ה- Apex שלך אי פעם חורג ממגבלה, המושל הצפוי מנפיק חריג בזמן ריצה שלא ניתן לטפל בו. לכן, כמפתח Salesforce עליכם להיזהר מאוד בפיתוח האפליקציה שלכם.

פעולות גורפות

כמפתח Salesforce, עליך תמיד לוודא שהקוד שלך שומר על גבולות המושל. כדי לוודא שאיפקס עומדת במגבלות המושל, עליך להשתמש בתבנית העיצוב של שיחות בכמות גדולה. פעולה בכמות גדולה מתייחסת לביצוע יותר מרשומה אחת כאשר מבצעים פעולת DML. לפני שתבצע פעולת DML עליך תמיד לוודא שאתה מוסיף את השורות לאוסף. להלן תמונה המספקת תיאור מלא של דפוס העיצוב של פעולות בתפזורת.

DML ופעולות נתונים

ראית קודם כיצד לאחזר נתונים ממסד הנתונים באמצעות שאילתות SOQL ו- SOSL. עכשיו בואו נסתכל על ההצהרות השונות בהן תוכלו להשתמש כדי להוסיף נתונים למסד הנתונים של Salesforce. עבור מפתח Salesforce, חובה לדעת מה הצהרות אלה יכולות לעשות וכיצד להשתמש בהן.

הצהרת DML

תיאור
לְהַכנִיסמוסיף אובייקט אחד או יותר לנתוני הארגון שלך
עדכוןמשנה רשומה אחת או יותר של sObject
אופסיוצר רשומות חדשות ומעדכן רשומות sObject
לִמְחוֹקמוחק רשומת sObject קיימת אחת או יותר
בטל מחיקהמשחזר רשומת sObject קיימת אחת או יותר
ללכתמשלב עד שלוש רשומות מאותו סוג sObject לתקליט אחד

Visualforce ו- Apex

עשית דרך ארוכה במסע שלך להיות מפתח Salesforce. בהמשך אדון בשאלה כיצד ניתן לשלב את דף ה- visualforce שלך ​​ואת קוד ה- apex שלך. באפשרותך לחבר את דף ה- visualforce שלך ​​ואת קוד ה- Apex שלך באמצעות בקרים ותוספים.

  • בקרים מותאמים אישית -כאשר אתה רוצה שדף ה- visualforce שלך ​​יפעל לחלוטין במצב מערכת כלומר ללא הרשאות ואבטחה ברמת השדה, השתמש בבקר מותאם אישית.

  • הרחבת בקר -כאשר ברצונך להוסיף פעולות או פונקציות חדשות המרחיבות את הפונקציונליות של בקר סטנדרטי או מותאם אישית, השתמש בתוסף בקר.

בקוד שלמטה, הראיתי לך כיצד לכלול בקר מותאם אישית בעמוד ה- visualforce שלך:

בקוד שלמטה, הראיתי לך כיצד לכלול סיומת בקר בדף ה- visualforce שלך:

טיפול בחריגים

אם פיתחת יישומים בעבר, היית נתקל בהחלט בחריגים. יוצא מן הכלל הוא תנאי מיוחד שמשנה את הזרימה הרגילה של ביצוע התוכנית. לדוגמא, חלוקת מספר באפס או גישה לערך רשימה שהוא מחוץ לתחום. אם אינך מתמודד עם חריגים אלה, ביצוע התהליך נעצר ו DML יוחזר לאחור.

כמפתח Salesforce, עליך לדעת כיצד לתפוס חריגים אלה ומה לעשות ברגע שאתה תופס אותם. כדי לתפוס חריגים אתה יכול להשתמש בניסיון, לתפוס ולבסוף לבנות. לאחר שתפסו את החריג, תוכלו לטפל בו בדרכים המוזכרות להלן:

יוצא מן הכלל כיצד לטפל בזה
DMLהשתמש בשיטת addError () ברשומה או בשדה
Visualforceהשתמש בכיתה ApexPages.message
שליחת אימייל למעט חריגאתה יכול להודיע ​​למפתח בדוא'ל
כניסה לאובייקט מותאם אישיתאתה יכול להשתמש בשיטה עתידית כדי לתפוס אובייקט מותאם אישית

עד כה בבלוג זה של מפתחי Salesforce ראית כיצד לפתח את ממשק המשתמש שלך באמצעות Visualforce, ראית כיצד לכתוב לוגיקה מותאמת אישית באמצעות Apex ומושגים שונים כמו טריגרים, פעולות בתפזורת וטיפול חריג. אחרון חביב, נבחן את מסגרת הבדיקות של Salesforce.

בדיקה

כמפתח Salesforce, עליך לדעת כיצד לבדוק את הקוד שאתה כותב. פיתוח מונחה למבחנים הוא דרך טובה להבטיח הצלחה ארוכת טווח של יישום התוכנה שלך. עליך לבדוק את הבקשה שלך כדי שתוכל לאמת שהיישום שלך פועל כצפוי. במיוחד אם אתה מפתח אפליקציה עבור לקוח אז חשוב מאוד לבדוק אותה לפני אספקת המוצר הסופי. איפקס מספקת לך מסגרת בדיקות המאפשרת לך לכתוב בדיקות יחידה, להריץ את הבדיקות, לבדוק תוצאות הבדיקה ולקבל תוצאות כיסוי קוד.

אתה יכול לבדוק את היישום שלך בשתי דרכים:

  1. דרך ממשק המשתמש של Salesforce, דרך בדיקה זו חשובה אך לא תתפוס את כל מקרי השימוש עבור היישומים שלך
  2. אתה יכול לבדוק פונקציונליות בתפזורת, עד 200 רשומות ניתן להעביר דרך הקוד שלך באמצעות SOAP API או בקר סטנדרטי של Visualforce

מחלקות הבדיקה לא מבצעות נתונים למסד הנתונים ומסומנות על ידי @isTest. הראיתי לך כיצד להוסיף כיתת מבחן, על ידי הוספת כיתת מבחן לכיתת HelloWorld למטה:

@isTest

מחלקה פרטית HelloWorldTestClass {

test static שיטת בטל 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. כדי לצלול לפרטים נוספים, עיין בכתובת שלנו שמגיע עם הדרכה חיה בהנחיית מדריכים וניסיון בפרויקטים אמיתיים. אם יש לך הערות, אנא השאר אותן בתיבת ההערות למטה.