Hướng dẫn dành cho nhà phát triển Salesforce: Bắt đầu với Lập trình Salesforce



Blog hướng dẫn này giải thích các khái niệm lập trình khác nhau như visualforce và apex mà bạn phải biết để bắt đầu sự nghiệp của mình với tư cách là nhà phát triển Salesforce.

Bạn đang khao khát trở thành một nhà phát triển ứng dụng phần mềm? Bạn có muốn xây dựng ứng dụng của riêng mình trên nền tảng Force.com không? Nếu câu trả lời của bạn cho những câu hỏi này là có, thì bạn chắc chắn nên cân nhắc trở thành nhà phát triển Salesforce.

Trong các blog trước đây của tôi, tôi đã thảo luận về , Chứng nhận Salesforce và cũng cho bạn thấy xây dựng một ứng dụng tùy chỉnh bằng cách sử dụng các tùy chọn khai báo có sẵn trong Salesforce. Trong blog này, tôi sẽ thảo luận về các tùy chọn lập trình có sẵn trong Salesforce để phát triển ứng dụng của bạn.





Kiến trúc MVC

Trước khi đi sâu vào việc xây dựng ứng dụng bằng Visualforce và Apex, trước tiên tôi sẽ thảo luận về kiến ​​trúc Salesforce Model-View-Controller. Dưới đây là sơ đồ phác thảo kiến ​​trúc Salesforce Model-View-Controller cùng với các thành phần Salesforce khác nhau.

mvc - nhà phát triển salesforce - edureka



Mô hình: Mô hình là các đối tượng, trường và mối quan hệ dữ liệu Salesforce của bạn. Nó bao gồm các đối tượng tiêu chuẩn (Tài khoản, Cơ hội, v.v.) và các đối tượng tùy chỉnh (các đối tượng bạn tạo).

Lượt xem: Dạng xem đại diện cho việc trình bày dữ liệu, tức là giao diện người dùng. Trong Salesforce, chế độ xem bao gồm các trang, thành phần, bố cục trang và tab trực quan.

Bộ điều khiển: Bộ điều khiển là khối xây dựng logic ứng dụng thực tế. Bạn có thể thực hiện các hành động bất cứ khi nào người dùng tương tác với visualforce.



Lực lượng bán hàng trong hành động

Để trở thành nhà phát triển Salesforce, trước tiên bạn cần biết cách các ứng dụng Salesforce hoạt động. Dưới đây là hình ảnh cung cấp cho bạn bức tranh toàn cảnh về Salesforce đang hoạt động. Khách hàng hoặc người dùng yêu cầu hoặc cung cấp thông tin cho ứng dụng Salesforce. Điều này thường được thực hiện bằng Visualforce. Thông tin này sau đó được chuyển đến lớp logic ứng dụng, được viết bằng Apex. Tùy thuộc vào thông tin, dữ liệu được chèn hoặc xóa khỏi cơ sở dữ liệu. Salesforce cũng cung cấp cho bạn tùy chọn sử dụng các dịch vụ web để truy cập trực tiếp vào logic ứng dụng.

Một nhà phát triển Salesforce có thể tiếp cận phát triển bằng cách sử dụng các tùy chọn khai báo hoặc có lập trình. Dưới đây là hình ảnh cung cấp cho bạn thông tin chi tiết về cả phương pháp khai báo và lập trình có sẵn ở mỗi lớp giao diện người dùng, logic nghiệp vụ và mô hình dữ liệu. Để xây dựng giao diện người dùng của mình, bạn có thể sử dụng phương pháp khai báo đang sử dụng bố cục trang và các loại bản ghi hoặc sử dụng phương pháp tiếp cận có lập trình như các trang và thành phần visualforce. Nói chung, bạn chỉ nên sử dụng phương pháp lập trình khi bạn không thể đạt được giao diện người dùng cần thiết bằng cách sử dụng phương pháp khai báo. Để phát triển lớp logic nghiệp vụ của ứng dụng, bạn có thể sử dụng các tùy chọn khai báo của Salesforce về quy trình làm việc, quy tắc xác thực và quy trình phê duyệt hoặc sử dụng phương pháp tiếp cận có lập trình như trình kích hoạt, bộ điều khiển và lớp. Để truy cập mô hình dữ liệu, bạn có thể sử dụng phương pháp khai báo bằng cách sử dụng các đối tượng, trường và mối quan hệ. Bạn cũng có thể truy cập mô hình dữ liệu theo chương trình bằng cách sử dụng API siêu dữ liệu, API REST và API hàng loạt.

Chúng tôi đã thấy cách các ứng dụng Salesforce hoạt động, kiến ​​trúc MVC được sử dụng để phát triển trong Salesforce và hai cách tiếp cận khác nhau có sẵn cho nhà phát triển Salesforce. Bây giờ, hãy để tôi thảo luận về Visualforce và Apex.

Visualforce

Để xây dựng ứng dụng trên nền tảng Salesforce, bạn cần biết cách phát triển giao diện người dùng và viết logic ứng dụng. Là nhà phát triển Salesforce, bạn có thể phát triển giao diện người dùng bằng Visualforce. Visualforce là khung giao diện người dùng cho nền tảng Force.com. Cũng giống như cách bạn có thể sử dụng khung javascript Angular-JS để xây dựng giao diện người dùng cho trang web của mình, bạn có thể sử dụng Visualforce để thiết kế và xây dựng giao diện người dùng cho các ứng dụng Salesforce của mình.

Bạn có thể sử dụng visualforce bất cứ khi nào bạn cần tạo các trang tùy chỉnh. Một số ví dụ về các tình huống mà bạn có thể sử dụng Visualforce là:

  • Để xây dựng các mẫu email
  • Để phát triển giao diện người dùng di động
  • Để tạo dữ liệu PDF được lưu trữ trong Salesforce
  • Để nhúng chúng vào bố cục trang chuẩn của bạn
  • Để ghi đè trang Salesforce tiêu chuẩn
  • Để phát triển các tab tùy chỉnh cho ứng dụng của bạn

Một trang visualforce bao gồm hai yếu tố chính:

  • Đánh dấu Visualforce - Đánh dấu visualforce bao gồm các thẻ visualforce, HTML, JavaScript hoặc bất kỳ mã hỗ trợ web nào khác.
  • Bộ điều khiển Visualforce - Bộ điều khiển trực quan chứa các hướng dẫn chỉ định điều gì sẽ xảy ra khi người dùng tương tác với một thành phần. Bộ điều khiển visualforce được viết bằng ngôn ngữ lập trình Apex.

Bạn có thể xem mã trang Visualforce đơn giản cùng với các thành phần khác nhau bên dưới:

Dưới đây, tôi đã chỉ cho bạn các bước để viết một trang trực quan đơn giản để hiển thị các quốc gia và giá trị tiền tệ của họ:

Bước 1: Từ Thiết lập, nhập Trang Visualforce vào hộp Tìm nhanh, sau đó chọn Trang Visualforce và bấm Mới.

Bước 2: Trong trình chỉnh sửa, hãy thêm mã sau để hiển thị quốc gia và giá trị tiền tệ của quốc gia đó:

Apex

Khi bạn đã phát triển xong giao diện người dùng, với tư cách là nhà phát triển Salesforce, bạn cần biết cách thêm logic tùy chỉnh vào ứng dụng của mình. Bạn có thể viết mã bộ điều khiển và thêm logic tùy chỉnh vào ứng dụng của mình bằng ngôn ngữ lập trình Apex. Apex là một ngôn ngữ lập trình hướng đối tượng cho phép bạn thực hiện các câu lệnh điều khiển luồng và giao dịch trên nền tảng Force.com. Nếu bạn đã sử dụng ngôn ngữ lập trình java trước đó thì bạn có thể dễ dàng học Apex. Cú pháp của Apex giống với 70% của java.

Bạn có thể sử dụng Apex bất cứ khi nào bạn muốn thêm logic tùy chỉnh vào ứng dụng của mình. Một số ví dụ về các tình huống mà bạn có thể sử dụng Apex là:

  • Khi bạn muốn thêm các dịch vụ web và email vào ứng dụng của mình
  • Khi bạn muốn thực hiện các quy trình kinh doanh phức tạp
  • Khi bạn muốn thêm các quy tắc xác thực phức tạp vào ứng dụng của mình
  • Khi bạn muốn thêm logic tùy chỉnh vào các hoạt động như lưu bản ghi

Dưới đây là ảnh chụp màn hình của mã Apex cùng với các thành phần khác nhau của nó như câu lệnh lặp, câu lệnh luồng điều khiển và truy vấn SOQL:

Bây giờ chúng ta đã hiểu Apex là gì và khi nào sử dụng nó, hãy để tôi đi sâu vào lập trình Apex.

Lập trình trong Apex

Nếu bạn đã hiểu các khái niệm được mô tả ở trên, thì bạn đã đi được nửa chặng đường để trở thành nhà phát triển Salesforce. Trong phần này, tôi sẽ đi sâu hơn về Apex bằng cách cung cấp cho bạn thông tin về các loại dữ liệu và biến khác nhau, các cách khác nhau để lấy dữ liệu từ cơ sở dữ liệu và chỉ cho bạn cách viết một lớp và phương thức.

Kiểu dữ liệu và biến

Salesforce cung cấp cho bạn 4 loại dữ liệu và biến số khác nhau. Bảng dưới đây cung cấp cho bạn thông tin về từng loại trong số 4 kiểu dữ liệu:

Loại dữ liệu và biến Sự miêu tả Thí dụ
Nguyên thủyCác kiểu dữ liệu nguyên thủy trong Salesforce bao gồm boolean, ngày tháng, số nguyên, đối tượng, chuỗi và thời gian.Boolean isSunny = true

Số nguyên I = 1

String myString = “Xin chào thế giới”

sObjectssObject đề cập đến bất kỳ đối tượng nào có thể được lưu trữ trong cơ sở dữ liệu.Tài khoản a = Tài khoản mới ()

MyCustomObj__c obj = new MyCustomObj__c ()

Bộ sưu tậpApex có các loại bộ sưu tập sau:

  • Danh sách
  • Bản đồ
  • Bộ
Danh sách var_lst = new Danh sách ()

Đặt setOne = new Set ()

Bản đồ var_map = new Map ()

EnumsEnums là các kiểu dữ liệu trừu tượng với các giá trị nhận một tập hợp các số nhận dạng hữu hạn.Public enum Seasons {Winter, Spring, Summer, Fall}


SOQL và SOSL

Phát triển các ứng dụng phần mềm đòi hỏi bạn phải biết cách chèn và lấy dữ liệu từ cơ sở dữ liệu. Trong Salesforce, bạn có thể truy xuất dữ liệu từ cơ sở dữ liệu bằng SOQL và SOSL. Nếu bạn muốn trở thành nhà phát triển Salesforce, thì bạn phải biết cả hai ngôn ngữ truy vấn này. Tôi đã cung cấp cho bạn giải thích chi tiết về các ngôn ngữ này bên dưới:

  • SOQL là viết tắt của Salesforce Object Query Language. Sử dụng câu lệnh SOQL, bạn có thể truy xuất dữ liệu từ cơ sở dữ liệu dưới dạng danh sách các sObject, một sObject đơn lẻ hoặc một phương thức Integer for count. Bạn có thể coi SOQL như một truy vấn SELECT SOQL. Tôi đã cung cấp một ví dụ về truy vấn SOQL bên dưới:

Danh sách accList = [SELECT Id, Name FROM Account WHERE Name = ”YourName”]

  • SOSL là viết tắt của Ngôn ngữ tìm kiếm đối tượng Salesforce. Bạn có thể sử dụng câu lệnh SOSL để truy xuất danh sách các sObject, trong đó mỗi danh sách chứa các kết quả tìm kiếm cho một loại sObject cụ thể. Bạn có thể coi SOSL tương đương với một truy vấn tìm kiếm cơ sở dữ liệu. Tôi đã cung cấp một ví dụ về truy vấn SOSL bên dưới:

Danh sáchsearchList = [TÌM ‘bản đồ *’ TRONG TẤT CẢ CÁC LĨNH VỰC TRỞ LẠI Tài khoản (Id, Tên), Liên hệ, Cơ hội, Khách hàng tiềm năng]

Bạn có thể sử dụng SOQL khi biết dữ liệu nằm trong đối tượng nào và sử dụng SOSL khi bạn không biết tên của đối tượng nơi dữ liệu đó.

Lớp học và phương pháp

Giống như mọi ngôn ngữ lập trình hướng đối tượng khác, bạn có thể phát triển các lớp và phương thức bằng Apex. Bạn có thể nghĩ về một lớp như một bản thiết kế sử dụng các đối tượng riêng lẻ được tạo và sử dụng. Bạn có thể coi phương thức như một chương trình con, chương trình này hoạt động trên dữ liệu và trả về một giá trị. Tôi đã cung cấp cho bạn cú pháp để viết một lớp và phương thức bên dưới:

Bây giờ tôi sẽ chỉ cho bạn cách thêm một lớp và phương thức trong Apex:

Bước 1: Từ thiết lập, nhập Apex Classes vào QuickFind Box, sau đó chọn Apex Classes và nhấp vào Mới.

Bước 2: Trong trình soạn thảo, hãy thêm định nghĩa lớp sau:

Lớp công khai HelloWorld {

}

Bước 3: Thêm một định nghĩa phương thức giữa dấu ngoặc mở và đóng của lớp:

Công khai tĩnh void helloWorldMethod (Country__c [] country) {

Đối với (Country__c country: các nước) {

country.currency_value__c * = 1.5

}

}

Bước 4: Nhấp vào Lưu và bạn sẽ có lớp học đầy đủ của mình dưới dạng:

Lớp công khai HelloWorld {

Công khai tĩnh void helloWorldMethod (Country__c [] country) {

Đối với (Country__c country: các nước) {

country.currency_value__c * = 1.5

}

}

Bạn có thể sử dụng cú pháp và ví dụ được hiển thị ở trên để phát triển các lớp và phương thức của riêng bạn cho ứng dụng Salesforce của bạn. Để trở thành một nhà phát triển Salesforce, bạn cần biết nhiều thứ hơn là chỉ viết các lớp và phương pháp. Trong một vài phần tiếp theo, tôi sẽ thảo luận về các chủ đề giúp việc phát triển ứng dụng trên nền tảng Salesforce trở nên đơn giản và dễ dàng.

Gây nên

Mọi nhà phát triển Salesforce phải biết khái niệm về bộ kích hoạt Salesforce. Trước đây bạn có thể đã gặp các trình kích hoạt khi làm việc với các cơ sở dữ liệu khác. Trình kích hoạt không là gì ngoài các chương trình được lưu trữ được gọi khi bạn thực hiện các hành động trước hoặc sau khi thay đổi bản ghi Salesforce. Ví dụ: trình kích hoạt có thể chạy trước khi thực hiện thao tác chèn hoặc khi thao tác cập nhật được thực hiện. Có hai loại trình kích hoạt:

  • Trước khi kích hoạt - Bạn có thể sử dụng trước trình kích hoạt để cập nhật hoặc xác nhận giá trị bản ghi trước khi chúng được lưu vào cơ sở dữ liệu.
  • Sau khi kích hoạt - Bạn có thể sử dụng after trigger để truy cập các giá trị trường được thiết lập bởi hệ thống và ảnh hưởng đến những thay đổi trong các bản ghi khác.

Các trình kích hoạt được thực thi trước hoặc sau các hoạt động dưới đây:

  • Chèn
  • Cập nhật
  • Xóa bỏ
  • Đi
  • Giáo sư
  • Phục hồi

Tôi sẽ chỉ cho bạn cách thêm trình kích hoạt trong apex bằng cách thêm trình kích hoạt cho đối tượng Country mà bạn đã thấy trong lớp ở trên:

Bước 1: Từ cài đặt quản lý đối tượng cho quốc gia, chuyển đến Trình kích hoạt và nhấp vào Mới.

Bước 2: Trong trình chỉnh sửa trình kích hoạt, hãy thêm định nghĩa trình kích hoạt sau:

Kích hoạt HelloWorldTrigger trên Country__c (trước khi chèn) {

Country__c country = Trigger.new

HelloWorld.helloWorldMethod (quốc gia)

}

Mã trên sẽ cập nhật đơn vị tiền tệ của quốc gia bạn trước mỗi lần chèn vào cơ sở dữ liệu.

Giới hạn của Thống đốc

Bạn có thể biết rằng Salesforce hoạt động trên kiến ​​trúc nhiều người thuê, điều này có nghĩa là các tài nguyên được chia sẻ giữa các khách hàng khác nhau. Để đảm bảo không có khách hàng nào độc quyền tài nguyên được chia sẻ, công cụ thời gian chạy Apex thực thi nghiêm ngặt các giới hạn của thống đốc. Nếu mã Apex của bạn vượt quá giới hạn, thống đốc dự kiến ​​sẽ đưa ra một ngoại lệ thời gian chạy không thể xử lý được. Vì vậy, là một nhà phát triển Salesforce, bạn phải rất cẩn thận trong khi phát triển ứng dụng của mình.

cách tạo một gói

Hoạt động số lượng lớn

Là một nhà phát triển Salesforce, bạn phải luôn đảm bảo rằng mã của bạn duy trì các giới hạn thống đốc. Để đảm bảo Apex tuân thủ các giới hạn của thống đốc, bạn phải sử dụng mẫu thiết kế cuộc gọi hàng loạt. Hoạt động hàng loạt đề cập đến việc cam kết nhiều bản ghi khi bạn thực hiện một hoạt động DML. Trước khi thực hiện thao tác DML, bạn phải luôn đảm bảo rằng bạn thêm các hàng vào một tập hợp. Dưới đây là hình ảnh cung cấp cho bạn mô tả đầy đủ về mẫu thiết kế hoạt động hàng loạt.

DML và hoạt động dữ liệu

Bạn đã thấy trước đó cách lấy dữ liệu từ cơ sở dữ liệu bằng cách sử dụng các truy vấn SOQL và SOSL. Bây giờ, hãy xem xét các câu lệnh khác nhau mà bạn có thể sử dụng để chèn dữ liệu vào cơ sở dữ liệu Salesforce. Đối với một nhà phát triển Salesforce, cần phải biết những câu lệnh này có thể làm được gì và cách sử dụng chúng.

Tuyên bố DML

Sự miêu tả
ChènThêm một hoặc nhiều sObjects vào dữ liệu của tổ chức bạn
Cập nhậtSửa đổi một hoặc nhiều bản ghi sObject hiện có
Giáo sưTạo bản ghi mới và cập nhật bản ghi sObject
Xóa bỏXóa một hoặc nhiều bản ghi sObject hiện có
Phục hồiKhôi phục một hoặc nhiều bản ghi sObject hiện có
ĐiHợp nhất tối đa ba bản ghi của cùng một loại sObject thành một bản ghi

Visualforce và Apex

Bạn đã đi một chặng đường dài trong nhiệm vụ trở thành nhà phát triển Salesforce. Tiếp theo tôi sẽ thảo luận về cách bạn có thể tích hợp trang visualforce và mã apex của mình. Bạn có thể kết nối trang visualforce và mã apex của mình bằng cách sử dụng bộ điều khiển và tiện ích mở rộng.

  • Bộ điều khiển tùy chỉnh -Khi bạn muốn trang visualforce của mình chạy hoàn toàn ở chế độ hệ thống, tức là không có quyền và bảo mật cấp trường, hãy sử dụng bộ điều khiển tùy chỉnh.

  • Phần mở rộng Bộ điều khiển -Khi bạn muốn thêm các hành động hoặc chức năng mới để mở rộng chức năng của bộ điều khiển tiêu chuẩn hoặc tùy chỉnh, hãy sử dụng tiện ích mở rộng bộ điều khiển.

Trong đoạn mã bên dưới, tôi đã chỉ cho bạn cách đưa bộ điều khiển tùy chỉnh vào trang visualforce của bạn:

Trong đoạn mã bên dưới, tôi đã chỉ cho bạn cách đưa tiện ích mở rộng bộ điều khiển vào trang visualforce của bạn:

Xử lý ngoại lệ

Nếu bạn đã phát triển các ứng dụng trước đây, thì bạn chắc chắn sẽ gặp phải các trường hợp ngoại lệ. Một ngoại lệ là một điều kiện đặc biệt làm thay đổi luồng thực thi chương trình bình thường. Ví dụ: chia một số cho 0 hoặc truy cập vào một giá trị danh sách nằm ngoài giới hạn. Nếu bạn không xử lý các ngoại lệ này, thì việc thực thi quy trình sẽ dừng lại và các DML sẽ được khôi phục lại.

Là một nhà phát triển Salesforce, bạn cần biết cách nắm bắt những trường hợp ngoại lệ này và phải làm gì khi bạn nắm bắt được chúng. Để bắt các ngoại lệ, bạn có thể sử dụng try, catch và cuối cùng là cấu trúc. Khi bạn đã nắm bắt được ngoại lệ, bạn có thể xử lý nó theo các cách được đề cập bên dưới:

ngoại lệ Cách xử lý
DMLSử dụng phương thức addError () trên bản ghi hoặc trường
VisualforceSử dụng lớp ApexPages.message
Gửi email ngoại lệBạn có thể thông báo cho nhà phát triển qua email
Đăng nhập một đối tượng tùy chỉnhBạn có thể sử dụng một phương pháp tương lai để bắt một đối tượng tùy chỉnh

Cho đến bây giờ trong blog nhà phát triển Salesforce này, bạn đã thấy cách phát triển giao diện người dùng của mình bằng Visualforce, bạn đã thấy cách viết logic tùy chỉnh bằng Apex và các khái niệm khác nhau như trình kích hoạt, hoạt động hàng loạt và xử lý ngoại lệ. Cuối cùng nhưng không kém phần quan trọng, chúng ta sẽ xem xét khung thử nghiệm Salesforce.

Thử nghiệm

Là một nhà phát triển Salesforce, bạn cần biết cách kiểm tra mã bạn viết. Phát triển theo hướng thử nghiệm là một cách tốt để đảm bảo thành công lâu dài cho ứng dụng phần mềm của bạn. Bạn cần kiểm tra ứng dụng của mình để có thể xác nhận rằng ứng dụng của bạn hoạt động như mong đợi. Đặc biệt, nếu bạn đang phát triển một ứng dụng cho khách hàng thì việc thử nghiệm nó trước khi cung cấp sản phẩm cuối cùng là rất quan trọng. Apex cung cấp cho bạn một khuôn khổ thử nghiệm cho phép bạn viết các bài kiểm tra đơn vị, chạy các bài kiểm tra, kiểm tra kết quả kiểm tra và có các kết quả về độ bao phủ của mã.

Bạn có thể kiểm tra ứng dụng của mình theo hai cách:

  1. Thông qua giao diện người dùng Salesforce, cách kiểm tra này rất quan trọng nhưng sẽ không nắm bắt được tất cả các trường hợp sử dụng cho các ứng dụng của bạn
  2. Bạn có thể kiểm tra chức năng hàng loạt, tối đa 200 bản ghi có thể được chuyển qua mã của bạn bằng cách sử dụng API SOAP hoặc bộ điều khiển bộ tiêu chuẩn visualforce

Các lớp kiểm tra cam kết không có dữ liệu vào cơ sở dữ liệu và được chú thích bằng @isTest. Tôi đã chỉ cho bạn cách thêm lớp thử nghiệm, bằng cách thêm lớp thử nghiệm vào lớp HelloWorld bên dưới:

@isTest

lớp riêng HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Country__c country = new Country__c (Tên = ”Ấn Độ”, currency_value__c = 50,0)

Chèn quốc gia

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

System.assertEquals (75, country.currency_value__c)

}

}

Tôi hy vọng bạn đã hiểu tất cả các khái niệm mà bạn cần biết để trở thành nhà phát triển Salesforce. Để đi sâu vào chi tiết hơn, hãy xem đi kèm với đào tạo trực tiếp có người hướng dẫn và trải nghiệm dự án thực tế. Nếu có ý kiến ​​đóng góp, các bạn vui lòng để lại ở khung bình luận bên dưới.