1
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 SALESFORCE
Cơng ty thực tập
: Capgemini Việt Nam
Người phụ trách
: Thầy Lê Thanh Trọng
Thực tập sinh
: Huỳnh Bùi Khánh Vy
TP. Hồ Chí Minh, tháng 06 năm 2022
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
2
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 CapgeminiVN đã 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 Lê Thanh Trọng đã 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.
<Huỳnh Bùi Khánh Vy>
<TpHCM, tháng 06 năm 2022>
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
3
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 Capgemini Việt Nam ..................................................................................... 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 ................................................................................................................ 9
1. Salesforce Platform ....................................................................................................................... 9
2. Developer Console ......................................................................................................................... 9
3. Visual Studio Code ...................................................................................................................... 10
4. Salesforce Object ......................................................................................................................... 11
5. Apex Trigger ................................................................................................................................ 11
6. Apex Testing ................................................................................................................................ 11
7. Asynchronous Apex ..................................................................................................................... 12
8. Lightning Component / Aura Component ................................................................................ 13
9. Lightning Page ............................................................................................................................. 13
10.
Apex Integration Services ....................................................................................................... 13
Chương 4: Demo về Salesforce .............................................................................................................. 14
1. Yêu cầu ......................................................................................................................................... 14
2. Hiện thực ...................................................................................................................................... 15
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
4
Chương 5: Kết quả ................................................................................................................................. 22
1. Về kiến thức ................................................................................................................................. 22
2. Về thành phẩm............................................................................................................................. 22
3. Về kĩ năng..................................................................................................................................... 23
4. Định hướng thực tập ................................................................................................................... 23
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
5
Chương 1: Giới thiêu cơng ty thực tập
Hình 1. Logo công ty Capgemini Việt Nam
1. Giới thiệu công ty Capgemini Việt Nam
Capgemini là cơng ty có mặt trên 50 quốc gia với hơn 340.700 nhân viên
(28/05/2022). Công ty được thành lập tại Pháp vào năm 1967, là một tổ chức
toàn cầu dành riêng cho lĩnh vực Dịch vụ tài chính (Financial Services Sector).
Financial Services Global Business Unit (FS SBU) là một mạng lưới với hơn
26.000 chuyên gia ở Ấn Độ, Mỹ, Pháp, Việt Nam,… cộng tác với hơn 900
khách hàng trên tồn thế giới – các ngân hàng, cơng ty bảo hiểm và thị trường
vốn hàng đầu – để cung cấp dịch vụ kinh doanh và các giải pháp công nghệ
thơng tin.
Capgemini Việt Nam là văn phịng tọa lạc tại tầng 2 của tòa nhà Center
Point, 106 Nguyễn Văn Trỗi, Phú Nhuận, Hồ Chí Minh. Capgemini Việt Nam
khơng chỉ là nhà cung cấp dịch vụ ứng dụng web đáng tin cậy mà cịn cung cấp
các dịch vụ cơng nghệ thơng tin cho các ngân hàng và công ty bảo hiểm lớn
nhất trên thế giới.
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
Mô tả
Code, test các phần mềm theo yêu cầu sử
dụng riêng biệt của từng khách hàng.
Tư vấn máy vi tính và quản trị hệ thố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ệ
máy vi tính
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
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
6
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.
Hoạt động dịch vụ công nghệ thông tin và Khắc phục các sự cố máy tính vi tính và cài
dịch vụ khác liên quan đến máy vi tính
đặ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 : 10/01/2022 – 10/07/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ữ dể lập trình
Salesforce.
Thời gian : 2,5 tháng
Nội dung : Tìm hiểu về các cơng cụ được sử dụng trong quá 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ái bài tập trên Trainhead 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 : 3,5 tháng
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc cũng
như tìm hiểu về thời gian làm việc theo nhóm. Trong thời gian này, supervisor đã
hướng dẫn thực tập sinh tìm hiểu về các cơng cụ sẽ giúp ích cho trong cơng việc sau
này. Một số phần mềm trong số đó như Microsoft Teams – sử dụng trong làm việc
nhóm, Microsoft Edge – trình duyệt file trực quan với nhiều tiện ích, Notepad ++ –
một chương trình soạn thảo văn bản rất hữu ích và phổ biến với lập trình viên.
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.
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
7
Kết quả : Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các cơng cụ
với nhau.
3. Nhật ký thực tập
Tuần
Ngày bắt đầu
Ngày kết thúc
10/01/2022
10/01/2022
11/01/2022
12/01/2022
13/01/2022
13/01/2022
14/01/2022
14/01/2022
Người hướng dẫn kiểm tra kết quả
17/01/2022
18/01/2022
Làm assignment về Apex Triggers
19/01/2022
20/01/2022
Làm assignment về Apex Testing
21/01/2022
21/01/2022
Người hướng dẫn kiểm tra kết quả
24/01/2022
25/01/2022
26/01/2022
27/01/2022
28/01/2022
28/01/2022
Người hướng dẫn kiểm tra kết quả
31/01/2022
04/02/2022
Nghỉ tết
07/02/2022
10/02/2022
11/02/2022
11/02/2022
14/02/2022
15/02/2022
Sửa bug trong assignment
16/02/2022
16/02/2022
Người hướng dẫn kiểm tra lại kết quả
17/02/2022
18/02/2022
21/02/2022
22/02/2022
23/02/2022
23/02/2022
1
2
3
4
5
6
7
<Lê Thanh Trọng>
Nội dung
- Tìm hiểu về Salesforce
- Làm bài tập trên Trainhead
-Tìm hiểu Data Modeling
- Làm bài tập trên Trainhead
-Tìm hiểu Apex Triggers
- Làm bài tập trên Trainhead
- Tìm hiểu về Asynchronous Apex
- Làm bài tập trên Trainhead
-Tìm hiểu về Limit của Salesforce
- Làm bài tập trên Trainhead
Làm assignment về Salesforce Object
+ Asynchronous Apex
Người hướng dẫn kiểm tra kết quả,
hướng dẫn sửa lỗi trong assignment
-Tìm hiểu Lightning Experience
Development
- Làm bài tập trên Trainhead
-Tìm hiểu Aura Components Basics
- Làm bài tập trên Trainhead
-Tìm hiểu Lightning App Builder
- Làm bài tập trên Trainhead
<Huỳnh Bùi Khánh Vy>
8
-Tìm hiểu Build Flexible Apps with
Aura Components
- Làm bài tập trên Trainhead
-Tìm hiểu Build a Lightning
Component to Override a Standard
Action
- Làm bài tập trên Trainhead
-Tìm hiểu Lightning Design System
for Developers
- Làm bài tập trên Trainhead
24/02/2022
25/02/2022
28/02/2022
01/03/2022
02/03/2022
03/03/2022
04/03/2022
04/03/2022
Người hướng dẫn kiểm tra kết quả
07/03/2022
10/03/2022
Làm assignment về Aura component
11/03/2022
11/03/2022
Người hướng dẫn kiểm tra kết quả
14/03/2022
14/03/2022
15/03/2022
15/03/2022
16/03/2022
16/03/2022
Người hướng dẫn kiểm tra kết quả
17/03/2022
17/03/2022
Làm assignment về Web Services
18/03/2022
18/03/2022
Người hướng dẫn kiểm tra kết quả
19/03/2022
Nay
8
9
10
11 trở đi
-Tìm hiểu Apex Integration Services
- Làm bài tập trên Trainhead
-Tìm hiểu về App Development
Without Limits
-Làm bài tập trên Trainhead
Tham gia vào dự án của công ty
Bảng 2. Nhật ký thực tập
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
9
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.
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
10
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
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
11
-
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.
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
12
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
Future
Methods
Chạy trong luồng riêng, và chỉ
thực thi khi resources có đủ.
Gọi tới Web service.
Batch Apex
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.
Xóa nhiều dữ liệu hoặc thêm
cùng lúc nhiều record.
Queueable
Apex
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.
Thực hiện các thao tác xử lý
tuần tự với các Web service.
Scheduled
Apex
Được chạy tại một thời điểm chỉ
định cụ thể
Sử dụng khi có tác vụ mỗi ngày
hoặc mỗi tuần.
Bảng 3. Các loại Asynchronous Apex
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
13
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
PUT
<Lê Thanh Trọng>
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
<Huỳnh Bùi Khánh Vy>
14
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.
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
15
• 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
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
16
-
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
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
17
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
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
18
-
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ả:
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
19
Hình 13. Trigger hoạt động
2.3.
-
Aura Component (UI)
Tạo component để hiển thị danh sách Contact
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
20
Hình 14. Cmp
-
File Controller.js và Helper.js dung để xử lý Frontend
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
21
Hình 15. Controller.js
Hình 16. Helper.js
-
Controller.apxc dung để xử lý Backend
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
22
Hình 17. Controller.apxc
-
Kết quả:
Hình 18. Aura component
Chương 5: Kết quả
1. Về kiến thức
Một số kiến thức em học được những tháng thực tập:
- Được tìm hiểu và nắm bắt kịp những kiến thức của các công nghệ mới hiện nay.
- Biết được cách công ty vận hành một dự án thế nào.
- Trau dồi thêm những kiến thức design UI.
- Biết được khả năng và cơ hội làm việc của mình sau tốt nghiệp.
2. Về thành phẩm
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
23
Từ những kiến thức tiếp thu được trong quá trình làm việc em có thể xây dựng được các thành
phần của app:
- Xây dựng được UI bằng Aura Component.
- Xây dựng được Object để lưu trữ dữ liệu.
- Xử lý backend.
3. Về kĩ năng
Sau những buổi thực tập cũng như là những đợt event thực tế em tự trau dồi thêm cho mình
nhiều kĩ năng như:
- Về kĩ năng chuyên mơn thì em đã có thể ứng biến kịp được những vấn đề lỗi xảy
ra trong quá trình làm việc. Xây dựng, đưa ra hướng giải quyết phù hợp với
những việc được yêu cầu từ các anh hướng dẫn.
- Về kĩ năng mềm thì em có thể thích nghi được môi trường làm việc chuyên
nghiệp dễ dàng. Khả năng teamwork được trau dồi thêm và kĩ năng giao tiếp
được cải thiện. Bên cạnh đó việc bám sát tiến độ cơng việc phần nào giúp em
phát triển khả năng chịu đựng áp lực, hồn thành cơng việc tốt nhất có thể.
4. Định hướng thực tập
Trong q trình thực tập ở cơng ty, các anh chị hướng dẫn dạy em nhiều bài học và kiến thức
q báu. Thơng qua đó em có thể hiểu được quy trình cơng ty lớn họ làm việc thế nào và từ đó
em có thể phát triển cơ hội làm việc của em sau này.Trong quá trình này em gặp nhiều thuận lợi
cũng như là khó khăn:
Thuận lợi:
- Các anh,chị mentor tận tình hướng dẫn, giúp đỡ và giải đáp các thắc mắc khi cần.
- Luôn đưa ra những bài test mỗi tuần để nắm bắt khả năng tiếp thu của em.
- Các anh kỹ thuật luôn dạy những kiến thức về công nghệ mới hiện nay, giúp em
bắt kịp tiến độ phát triển của công nghệ ngày nay.
- Mỗi ngày đều có daily meeting để báo cáo tiến độ công việc, hỗ trợ khi cần thiết.
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
24
Khó khăn:
- Do vẫn cịn vướng lịch học ở trường nên có một số việc được giao bị hồn thành
trễ hơn dự kiến.
- Vì phải nắm bắt những kiến thức mới nên việc tìm kiếm tài liệu cịn rất khó.
Mà từ những điều này có thể trau dồi cho em nhiều thứ hơn là kiến thức chuyên môn. Điều này
sẽ giúp em có nhiều cơ hội thăng tiến hơn trong công việc ở tương lai.
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>
25
TÀI LIỆU THAM KHẢO
Salesforce
/> /> />
js
/>
<Lê Thanh Trọng>
<Huỳnh Bùi Khánh Vy>