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 TP... 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ọ
Trang 1TRƯỜ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
TP Hồ Chí Minh, tháng 06 năm 2022
Trang 2LỜ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 quá 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>
Trang 3MỤ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
Trang 4Chươ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
Trang 5Chươ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 toà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
Phát triển và quản lý phần mềm 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
máy vi tính
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
Trang 6củ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à
dịch vụ khác liên quan đến máy vi 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 toà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
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
Trang 7Kế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ụ
- Làm bài tập trên Trainhead
- Làm bài tập trên Trainhead
- Làm bài tập trên Trainhead
2
3
- Làm bài tập trên Trainhead
- Làm bài tập trên Trainhead
5
+ Asynchronous Apex
hướng dẫn sửa lỗi trong assignment
6
- Làm bài tập trên Trainhead
- Làm bài tập trên Trainhead
Trang 8- 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
9
10
- 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
11 trở đi
Bảng 2 Nhật ký thực tập
Trang 10Developer 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
Trang 11- Cuối cùng, cần phải cài đặt thêm sfdx-x64.exe
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
Trang 127 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:
Future Methods
Chạy trong luồng riêng, và chỉ thực thi khi resources có đủ
Gọi tới Web service
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
Trang 138 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
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:
GET Truy xuất dữ liệu trên server POST Tạo và thêm dữ liệu vào server DELETE Xóa dữ liệu trên server
PUT Tạo và thay thế dữ liệu trên
server nếu bị trùng id
Trang 14o 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)
o Action trên mỗi record Contact:
• Edit: hiển thị modal như lúc Create
Trang 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
Trang 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
Trang 17Hì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
Trang 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ả:
Trang 19Hình 13 Trigger hoạt động
2.3 Aura Component (UI)
- Tạo component để hiển thị danh sách Contact
Trang 20Hình 14 Cmp
- File Controller.js và Helper.js dung để xử lý Frontend
Trang 21Hình 15 Controller.js
Hình 16 Helper.js
- Controller.apxc dung để xử lý Backend
Trang 22- Đượ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
Trang 23Từ 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, hoàn thành công việc tốt nhất có thể
- 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
Trang 24Khó 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ị hoà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
Trang 25TÀI LIỆU THAM KHẢO