TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
LẬP TRÌNH TRÊN NỀN TẢNG SALESFORCE
Cơng ty thực tập
: FuruCRM Việt Nam
Người phụ trách
: Thầy Quan Chí Khánh An
Thực tập sinh
: Đỗ Bảo Ngọc
TP. Hồ Chí Minh, tháng 06 năm 2023
LỜI CẢM ƠN
Trước tiên, em xin gửi lời cảm ơn đến quý thầy, cô Trường Đại học Công
nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh đã tạo điều kiện tốt
cho sinh viên chúng em được tiếp cận môi trường làm việc doanh nghiệp thông
qua học phần Thực tập doanh nghiệp, giúp chúng em có sự chuẩn bị tốt trước
khi chính thức tìm được cơng việc làm sau khi tốt nghiệp.
Em cũng xin chân thành cảm ơn quý thầy, cô khoa Công nghệ phần mềm
đã quan tâm và hỗ trợ trong q trình tìm vị trí thực tập phù hợp với nguyện
vọng và mong muốn của em.
Kế đến là sự trân trọng của em dành cho Công ty FuruCRM đã cho em cơ
hội được thực tập tại công ty, cũng như nỗ lực đào tạo kỹ năng và kiến thức cho
em để phù hợp với môi trường làm việc chuyên nghiệp. Và lời cảm ơn tới các
anh chị và các bạn trong công ty đã giúp đỡ và hỗ trợ để giúp em đạt được kết
quả tốt nhất trong công việc.
Cuối cùng, em xin cảm ơn thầy Quan Chí Khánh An đã trực tiếp hỗ trợ và
giúp đỡ em trong quá trình thực tập và cung cấp các thông tin cần thiết cùng các
kinh nghiệm quý giá của cô cho em.
Trân trọng.
<Đỗ Bảo Ngọc>
<Tp.HCM, tháng 06 năm 2023>
MỤC LỤC
Chương 1: Giới thiệu công ty thực tập...................................................................................5
1.
Giới thiệu công ty FuruCRM...........................................................................................5
2.
Ngành nghề kinh doanh của công ty.............................................................................5
Chương 2: Nội dung thực tập..................................................................................................6
1.
Thông tin thực tập...........................................................................................................6
2.
Các giai đoạn thực tập....................................................................................................6
3.
Nhật ký thực tập...............................................................................................................7
Chương 3: Kiến thức nền tảng.................................................................................................8
1.
Salesforce Platform.........................................................................................................8
2.
Developer Console...........................................................................................................8
3.
Visual Studio Code..........................................................................................................9
4.
Salesforce Object...........................................................................................................10
5.
Apex Trigger...................................................................................................................10
6.
Apex Testing...................................................................................................................10
7.
Asynchronous Apex......................................................................................................11
8.
Lightning Component / Aura Component...................................................................12
9.
Lightning Page...............................................................................................................13
10.
Apex Integration Services.........................................................................................13
Chương 4: Demo về Salesforce.............................................................................................13
1.
Yêu cầu...........................................................................................................................13
2.
Hiện thực........................................................................................................................14
Chương 5: Kết quả..................................................................................................................21
1. Về kiến thức....................................................................................................................21
2. Về thành phẩm...............................................................................................................22
3. Về kĩ năng.......................................................................................................................23
4. Định hướng thực tập.....................................................................................................23
Chương 1: Giới thiêu cơng ty thực tập
Hình 1. Logo công ty FuruCRM
1. Giới thiệu công ty
FuruCRM Vietnam - Let's dream with us
Công ty furuCRM Việt Nam là công ty lĩnh vực phần mềm của Việt Nam hợp
tác với các nhà cung cấp ISV và SI lớn của Salesforce để cung cấp các dịch
vụ chuyên gia về phát triển ứng dụng, tùy chỉnh, phát triển cộng tác và các
nền tảng. Tận dụng kiến thức chuyên môn sâu của chúng tôi trong các nền
tảng Salesforce, Heroku, AWS và GCP, chúng tôi cung cấp các giải pháp linh
hoạt, có thể mở rộng và tiết kiệm chi phí cho khách hàng của mình ở Nhật
Bản, Úc và Việt Nam. Bên cạnh đó các dự án cịn ứng dụng những cơng
nghệ Amazon Web Service, Microservice
Capgemini Việt Nam là văn phòng tọa lạc số 146/19 Võ Thị Sáu,
Phường 8, Quận 3.
2. Ngành nghề kinh doanh của công ty
Ngành nghề kinh doanh
Phát triển và quản lý phần mềm
Tư vấn máy vi tính và quản trị hệ
thống máy vi tính
Mơ
tả
Code, test các phần mềm theo u
cầu sử dụng riêng biệt của từng
khách hàng.
Thiết kế các hệ thống máy tính tích
hợp các phần cứng, phần mềm máy
tính; cài đặt hệ thống, đào tạo, hướng
dẫn và trợ giúp khách hàng của hệ
thống.
Quản lý và điều hành hệ thống máy
tính
Hoạt động dịch vụ công nghệ thông tin
và dịch vụ khác liên quan đến máy vi
tính
của khách hàng, các cơng cụ xử lý
dữ liệu, các hoạt động khác liên quan
đến máy tính.
Khắc phục các sự cố máy tính vi tính
và cài đặt phần mềm.
Bảng 1. Ngành nghề kinh doanh của công ty
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình trên Salesforce” nhằm mục đích giúp sinh
viên thực tập được đào tạo tồn diện về lập trình Salesforce, đồng thời rèn luyện
những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên
có cơ hội được học tập, khám phá và làm việc trong một môi trường phát triển
Salesforce.
1. Thông tin thực tập
Thời gian thực tập : 24/04/2022 – 30/06/2022
Vị trí thực tập : Lập trình viên Salesforce.
Nhiệm vụ được giao : Lập trình frontend, backend trong Salesforce cho dự án.
2. Các giai đoạn thực tập
2.1. Giai đoạn 1: Tìm hiểu và học hỏi về nền tảng, phần mềm, ngơn ngữ để
lập trình Salesforce.
Thời gian : 3 tuần
Nội dung : Tìm hiểu về các cơng cụ được sử dụng trong q trình làm việc.
Thực hiện : Thực hành sử dụng trên các phần mềm, làm các bài tập trên Trailhead và
assignment được giao.
Kết quả : Biết và sử dụng được ngôn ngữ Apex, SOQL.
2.2.
Giai đoạn 2: Đánh giá khả năng
Thời gian :7 tuần
Nội dung : Thực hiện project mô phỏng dự án thực tế
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên để lập trình dự án.
Kết quả : Hồn thành 2/3 tiến độ dự án
3. Nhật ký thực tập
Tu
ần
1
2
Ngày bắt
đầu
Ngày kết
thúc
Nội
dung
24/04/2023
28/04/2023
01/05/2023
05/05/2023
08/05/2023
11/05/2023
12/05/2023
12/05/2022
Người hướng dẫn kiểm tra kết
quả
15/05/2023
19/05/2023
Challenge 1: Booking trigger
22/05/2023
26/05/2023
Challenge 2: Payment trigger Visual Force Page
29/05/2023
02/06/2023
05/06/2023
14/06/2023
15/06/2023
30/06/2023
- Tìm hiểu về Salesforce
- Làm bài tập trên Trailhead
- Làm bài tập trên Trailhead
- Tìm hiểu về Asynchronous Apex
- Làm bài tập trên Trailhead
3
4
5
6
7
Challenge 3: Lightning Web
Component
Challenge 4: Communicate
between Lightning Web
Component
Challenge 5: Payment via paypal
8
Bảng 2. Nhật ký thực tập
Chương 3: Kiến thức nền tảng
1. Salesforce Platform
Hình 2. Logo Salesforce
-
Salesforce là một nền tảng hỗ trợ cho việc lập trình các ứng dụng dựa trên
nó. Salesforce là một CRM đi kèm với standard functionality, object, tính
năng để hỗ trợ cho lập trình viên.
2. Developer Console
Hình 3. Developer Console
-
Developer Console là một IDE mà lập trình viên dùng để code, debug và
test ứng dụng trên org.
Developer Console không thể so sánh hay đồng bộ tập tin, khi nhấn lưu sẽ thay
đổi trực tiếp trên Org gây ra việc đè code lẫn nhau. Vậy nên hầu hết lập trình
viên chỉ dùng Developer Console để run test class, query và code trên Visual
Studio Code.
3. Visual Studio Code
Hình 4. Logo Visual Studio Code
-
-
Visual Studio Code là một IDE miễn phí dành cho Windows, Linux và
macOS. Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax
highlighting.
Lưu ý: để code Salesforce trên VSCode thì phải cài những Extension cần thiết
o Salesforce CLI Integration:
Hình 5. Salesforce CLI Integration
o Salesforce Extension Pack:
Hình 6. Salesforce Extension Pack
-
Cuối cùng, cần phải cài đặt thêm sfdx-x64.exe
Hình 7. sfdx.exe
4. Salesforce Object
-
Salesforce Object là các database tables cho phép lưu trữ dữ liệu cụ
thể cho một organization.
-
Có 2 loại object:
o Standard Objects: là những loại object được cung cấp bởi
salesforce.com như users, contracts, reports, dashboards,…
o Custom Objects: là những object được tạo bởi lập trình viên. Nó
bao gồm các thuộc tính: Custom fields, Relationship to another
object, Page layouts, Custom user interface tab.
5. Apex Trigger
-
Trigger cho phép thực hiện các hành động trước hoặc sau khi kích
hoạt sự thay đổi đối với các records trong Salesforce như insert,
update, delete.
-
Có 2 loại Trigger:
o Before Trigger: dùng để cập nhật hoặc kiểm tra giá trị record hợp
lệ trước khi dữ liệu được lưu vào database.
o After Trigger: dùng để truy cập vào field value được thiết lập bởi hệ
thống (ví dụ như Id, LastModifiedDate, CreatedDate,..) nếu nó ảnh
hưởng đến record khác. Những record được kích hoạt bởi after
trigger được truy cập ở chế độ read-only.
6. Apex Testing
-
Apex testing framework cho phép lập trình viên viết và thực thi test cho
Apex class hoặc Apex trigger. Unit test giúp lập trình viên chắc chắn rằng
Apex class và trigger hoạt động như mong muốn. Trước khi deploy code,
phải chắc chắn Apex test class cover 75% và tất cả method trong test
class phải pass.
7. Asynchronous Apex
-
Asynchronous Apex được sử dụng để chạy những process ở một luồng riêng
biệt.
Hình 8. Asynchronous Apex
-
Có 4 loại Asynchronous Apex:
Loại
Tổng quát
Trường hợp sử dụng
Futur
e
Meth
ods
Batch
Apex
Chạy trong luồng riêng,
và chỉ thực thi khi
resources có đủ.
Gọi tới Web service.
Thực thi một khối lượng
lớn công việc vượt quá
giới hạn xử lý thông
thường.
Tương tự như Future
Method, nhưng cung cấp
thêm công việc và cho
phép sử dụng các kiểu dữ
liệu phức tạp hơn.
Được chạy tại một thời
điểm chỉ định cụ thể
Xóa nhiều dữ liệu hoặc
thêm cùng lúc nhiều
record.
Queueabl
e Apex
Schedule
d Apex
Bảng 3. Các loại Asynchronous Apex
Thực hiện các thao tác
xử lý tuần tự với các
Web service.
Sử dụng khi có tác vụ mỗi
ngày hoặc mỗi tuần.
8. Lightning Component / Aura Component
-
Lightning Component là một phần tử có thể tái sử dụng nằm trong giao diện.
-
Có 2 loại component chính:
o Standard component: là những component được dựng sẵn bởi Salesforce.
o Custom component: là những component được lập trình viên tạo.
9. Lightning Page
-
Lập trình viên có thể tạo nhiều loại Lightning Page khác nhau bằng cách
sử dụng Lightning App Builder:
o Home Page
o Record Page
10.
Apex Integration Services
-
Loại callout thường được sử dụng là REST Callout dựa trên HTTP.
Hình 9. Salesforce callout Web Service
-
Các phương thức thường được sử dụng:
Phương thức
HTTP
GET
POST
DELETE
Mô
tả
Truy xuất dữ liệu trên server
Tạo và thêm dữ liệu vào
server
Xóa dữ liệu trên server
Tạo và thay thế dữ liệu
trên server nếu bị
trùng id
PUT
Bảng 3. HTTP Method
Chương 4: Demo về Salesforce
1. Yêu cầu
-
Trong object Contact, tạo 1 field mới: Primary (kiểu Boolean)
-
Trigger:
o Object: Contact
o Event: Create, Update
o Mô tả: Với mỗi Account, chỉ tồn tại duy nhất 1 Contact có field
Primary = True. Lưu ý: trigger cho phép nhận đầu vào là 1 danh
sách Contact.
-
Trong Account record page:
o Tạo Custom component để hiển thị danh sách Contact thuộc về
Account với những thông tin:
● Contact Name (Url: khi bấm vào sẽ chuyển hướng tới Contact
record page)
● Email
● Phone
● Primary
o Tạo mới 1 button: khi bấm sẽ hiển thị modal cho phép người dùng
nhập thông tin Name, Email, Phone, Primary. Modal có 2 button:
● Cancel (để đóng modal)
● Save (để thêm record Contact nếu thỏa điều kiện Trigger và
cập nhật bảng Contact.
o Action trên mỗi record Contact:
● Edit: hiển thị modal như lúc Create.
● Delete: hiển thị modal với nội dung “Are you sure to delete
this contact?”. Modal có 2 button: Cancel (đóng modal),
Delete (xóa record được chọn và cập nhật bảng Contact).
2. Hiện thực
2.1. Tạo Contact field
-
Vào Setup -> Object Manager -> ‘Contact’
Hình 10a. Tạo object
-
Chọn: Fields & Relationships -> New
Hình 10b. Tạo object
-
Chọn kiểu dữ liệu của Field -> Next
Hình 10c. Tạo object
-
Chọn Next
Hình 10d. Tạo object
-
Chọn Save
Hình 10e. Tạo object
-
Kết quả: Primary field sẽ được thêm vơ object Contact
Hình 10f. Tạo object
2.2.
-
Code Trigger
Tạo Apex Trigger
Hình 11. Trigger
-
Tạo class Handler để xử lý và kiểm tra điều kiện trước khi cập nhật dữ liệu
Contact
Hình 12a. Handler
Hình 12b. Handler
-
Kết quả:
Hình 13. Trigger hoạt động
2.3.
-
Aura Component (UI)
Tạo component để hiển thị danh sách Contact