1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lập trình web app trên salesforce (báo cáo thực tập)

20 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập trình web app trên Salesforce (Báo cáo thực tập)
Tác giả Tưởng Thành Long
Người hướng dẫn Thầy Lê Thanh Trọng
Trường học Trường Đại Học Công Nghệ Thông Tin Khoa Công Nghệ Phần Mềm
Chuyên ngành Công nghệ phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 20
Dung lượng 617 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đặc biệt cảm ơn anh Bùi Minh Quốc và anh Bùi Ngọc Hoàng đã training Salesforce, hướng dẫn cách làm việc ở công ty, và giúp đỡ những khó khan trong quá trình học tập; cảm ơn anh Đào Thanh

Trang 1

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH WEB APP TRÊN SALESFORCE

TP Hồ Chí Minh, tháng 6 năm 2022

Trang 2

LỜI MỞ ĐẦU

App là một thành phần không thể thiếu trong cuộc sống hiện đại, và là một phần lớn của ngành công nghệ thông tin Trong những năm gần đây, với sự phát triển của điện toán đám mây, các app đang di chuyển lên web, trở thành web app ngày càng nhiều

Với nhiều tiện ích như xử lý tập trung, thu thập dữ liệu online, dễ dàng truy cập, dễ dàng quảng cáo, … web app có rất nhiều lợi thế hơn app thông thường Và theo xu hướng phát triển của thế giới, web cũng như web app sẽ ngày càng phát triển hơn Capgemini Việt Nam là một trong những công ty theo đuổi sự phát triển này

Sau khoảng thời gian học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia xây dựng web trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập sau hè Vì vậy, em quyết định chọn Capgemini Việt Nam - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Capgemini Việt Nam đã tạo điều kiện cho em có cơ hội được thực tập tại công ty

Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được một game 3D Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,công sức để hướng dẫn chúng em hoàn thành đợt thực tập này

Đặc biệt cảm ơn anh Bùi Minh Quốc và anh Bùi Ngọc Hoàng đã training Salesforce, hướng dẫn cách làm việc ở công ty, và giúp đỡ những khó khan trong quá trình học tập; cảm ơn

anh Đào Thanh Tùng, chị Nguyễn Thị Linh Chi, anh Nguyễn Minh Thống, anh Nguyễn Văn Vinh đã giúp đỡ cho em tận tình những khó khăn trong công việc, khó khăn việc làm quen với

công việc mới, môi trường mới; và cảm ơn tất cả mọi người ở Capgemini Việt Nam đã rất thân thiện và chào đón các thực tập sinh chúng em

Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này

Tưởng Thành Long Tp.HCM, ngày 17 tháng 6 năm 2022

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

NHẬN XÉT CỦA GIÁO VIÊN 4

Chương 1: Giới thiêu công ty thực tập 6

1 Giới thiệu công ty Capgemini Việt Nam 6

2 Sản phẩm của công ty 6

Chương 2: Giới thiêu Salesforce 7

1 Salesforce là gì? 7

2 Khái niệm chung 7

2.1.1 Apex 7

2.1.2 SOQL 7

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 11

2 Nghiên cứu kỹ thuật 11

2.8 Tìm hiểu ngôn ngữ Apex 11

2.8.1 Kiểm thử với Apex 13

2.8.2 Tìm hiểu giới hạn của Salesforce cho Apex 13

2.8.3 Lập trình giao diện trên Salesforce 15

2.8.4 Gọi Salesforce từ bên ngoài, và từ bên ngoài gọi Salesforce 16

3 Thực hiện project 17

4 Chi tiết công việc 18

TÀI LIỆU THAM KHẢO 19

TỔNG KẾT 20

Trang 6

Chương 1: Giới thiêu công ty thực tập

Hình 1 Logo công ty Capgemini

1 Giới thiệu công ty Capgemini Việt Nam

Capgemini được thành lập năm 1967 tại Pháp với tên gọi Sogeti Capgemini là một công ty tư vấn IT và thuộc top 10 công ty trong ngành này trên toàn cầu Sau hơn 50 năm thành lập, Capgemini đã khẳng định vị thế của mình là người tiên phong trong ứng dụng công nghệ thông tin cho nhu cầu thực tế

Làm việc với 85% trong số 200 công ty hàng đầu thế giới theo danh sách Forbes Global 2000, Capgemini có mặt ở hơn 50 nước trên thế giới với hơn 340,000 nhân viên

2 Sản phẩm của công ty

Capgemini đồng hành với đối tác để nâng khả năng quản lý và kinh doanh của họ lên tầm cao mới Capgemini tư vấn cho nhiều lĩnh vực, từ chiến thuật đến thiết kế đến quản lý Để làm điều này, Capgemini sử dụng các ngành công nghệ mới và nhiều triển vọng như điện toán đám mây, trí tuệ nhân tạo, mạng, phần mềm, thiết kế

kỹ thuật số, công nghệ nền tảng

Trang 7

Chương 2: Giới thiêu Salesforce

1 Salesforce là gì?

Hình 2 Logo của Salesforce

- Salesforce là một nền tảng cloud, hỗ trợ xây web app cho doanh nghiệp, tập trung vào CRM (customer relationship management – quản lý khách hàng)

- Salesforce hỗ trợ nhiều tính năng, object, và code liên quan đến CRM hỗ trợ lập trình viên trong việc viết web app

2 Khái niệm chung

2.1.1 Apex

- Apex là ngôn ngữ được sử dụng trên nền tảng Salesforce ở phần backend Apex thực hiện giao dịch database thông qua SOQL và được chạy bởi hệ thống đám mây của Salesforce

- Apex là một ngôn ngữ có cú pháp tương đối giống Java, và có nhiều lợi thế của Java như tính dễ sử dụng và strongly typed Ngoài ra, Apex cũng dễ test với nhiều công cụ

hỗ trợ như code coverage và unit test

- Apex tích hợp nhiều tính năng như tích hợp DML operation như insert, update, delete Apex cũng hỗ trợ lỗi DML

- Apex là ngôn ngữ case insensitive

2.1.2 SOQL

Trang 8

- SOQL (Salesforce Object Query Language) là một ngôn ngữ query dành cho Salesforce SOQL sử dụng câu lệnh SELECT giống SQL, nhưng có một số sự khác biệt giữa SOQL và SQL

- Dữ liệu SOQL được lưu dưới dạng

Object

- Dữ liệu SQL được lưu dưới dạng bảng

- SOQL không cho phép câu lệnh thay

đổi dữ liệu như INSERT, UPDATE, …

(thay vì thế, cần sử dụng Apex DML)

- Để thay đổi dữ liệu SQL, cần dùng các câu lệnh thay đổi dữ liệu như INSERT, UPDATE, …

- SOQL không cho phép SELECT *

Thay vì thế, cần ghi ra toàn bộ những

trường dữ liệu mình cần

- SQL cho phép SELECT * Điều này khuyến khích việc lấy thừa dữ liệu có khả năng gây tắc nghẽn database

- SOQL hạn chế khả năng JOIN Chỉ

được JOIN với những Object có khóa

ngoại và chỉ trong những trường hợp

đơn giản

- SQL cho phép JOIN với mọi bảng JOIN là một lệnh tốn nhiều tài nguyên

và có khả năng gây nghẽn database

2.2 Trigger

- Trong Salesforce, trigger được viết bằng Apex, không phải SQL, và nó hoạt động tương đối giống trigger của SQL Có nghĩa là khi có thay đổi lên record nào đó, trigger sẽ được chạy Điều này cho phép những xử lý phức tạp hơn nhiều so với SQL

- Apex Trigger được phân loại theo 2 kiểu Thứ nhất là type: Insert, Update, Delete Thứ hai là Before / After Tổng cộng có 6 kiểu Apex trigger Before thường được sử dụng để kiểm tra dữ liệu có hợp lệ không, trước khi nhập vào database After thường được sử dụng nếu hành động insert / update / delete này có gây ảnh hưởng đến record khác

2.3 Test class

- Apex có framework hỗ trợ viết & thực thi test cho Apex class hoặc Apex trigger, bằng cách viết Apex test class

- Salesforce bắt buộc rằng trước khi deploy sản phẩm cuối cùng, phải đảm bảo Code Coverage trên 75% và tất cả các test trong tất cả test class đểu pass

2.4 Xử lý bất đồng bộ

Trang 9

Hình 3 Asyncronous Apex

- Những xử lý bất đồng bộ của Salesforce chạy với độ ưu tiên thấp nhưng có giới hạn

về tài nguyên như số dòng query tối đa, hay thời gian chạy tối đa, cao hơn

2.5 Limit

- Salesforce là một môi trường làm việc chung với nhiều khách hàng Vì vậy, Salesforce không thể cho phép 1 khách hàng chiếm dụng tài nguyên đám mây Từ đó, các giới hạn được hình thành

- Salesforce có nhiều giới hạn, dễ thấy nhất là những giới hạn lên thời gian CPU, giới hạn RAM, giới hạn lưu trữ dữ liệu, giới hạn gọi database, … Những giới hạn này là một hệ quả không thể tránh khỏi khi ứng dụng đám mây

2.6 Aura & Lightning component

- Lightning và Aura component là các phần tử có thể tái sử dụng trong giao diện.

- Salesforce cung cấp sẵn cho lập trình viên một số các component thông dụng như vùng nhập dữ liệu, bảng các object liên quan, …

2.7 Giao diện

Trang 10

- Mỗi record đều có giao diện riêng của mình Khi khởi tạo một loại record, Salesforce

sẽ tự động tạo cho mình một giao diện mặc định

- Sau đó, mình có thể thay đổi giao diện này theo ý muốn, sử dụng các Aura & Lightning Component

Trang 11

Chương 3: Nội dung thực tập

Đợt thực tập với chủ đề “Lập trình web app 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 web app trên Salesforce, đồng thời rèn luyện những kỹ năng mềm như tiếp quản project đã phát triển, làm việc nhóm, thuyết trình, giao tiếp, lập trình agile 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 phần mềm chuyên nghiệp

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

Thời gian : 2 ngày

Nội dung : Giới thiệu về công ty, cách tổ chức của công ty, quy định của công ty

Được xem video giới thiệu về công ty, đọc org chart của công ty, và xem video hướng dẫn các quy định của công ty, bao gồm bảo mật, đạo đức, văn hóa công ty, và luật liên quan tới công ty

Kết quả : Hiểu thêm về công ty Capgemini, cách làm việc, văn hóa công ty Có thêm các

kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn

2 Nghiên cứu kỹ thuật

Thời gian : 4 tuần

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.

Trong thời gian này, thực tập sinh sẽ tìm hiểu về Salesforce và cách sử dụng nó, thông qua khóa học Trailhead được cung cấp bởi Salesforce và chọn lọc bởi Capgemini Ngoài ra, thực tập sinh sẽ được hướng dẫn bởi trainer về các công cụ hỗ trợ cho công việc sau này Một số phần mềm trong số đó như Visual Studio Code với các Extension tương ứng – IDE lập trình đa dụng rất phổ biến, Notepad++ - 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.

Kết quả : Hiểu biết về ngôn ngữ Apex của Salesforce, cách truy cập dữ liệu trên

Salesforce dung SOQL, thiết kế giao diện web trên Salesforce

2.8 Tìm hiểu ngôn ngữ Apex

Thời gian : 5 ngày (1 tuần)

Nội dung : Trong thời gian này, thực tập sinh sẽ tìm hiểu về Apex và SOQL cơ bản

của Salesforce và cách sử dụng nó, thông qua khóa học Trailhead được cung cấp bởi Salesforce và chọn lọc bởi Capgemini

Trang 12

- Viết Apex

Ngôn ngữ Apex tương đối giống ngôn ngữ Java, tuy vẫn có 1 số khác biệt Thực tập viên được dạy những khác biệt này Trong đó, khác biệt quan trọng nhất là mỗi Apex class cần 1 test class để kiểm thử tự động, và yêu cầu code coverage hơn 75% cho code sản phẩm

- Viết câu query SOQL

Các kiến thức cơ bản về sự khác biệt giữa SOQL và SQL, những hạn chế Salesforce đặt lên SOQL để duy trì hệ thống điện toán đám mây của họ Ngoài ra, thực tập viên được dạy những cách để vượt qua những hạn chế đó nếu cần

- Viết trigger

Khi một record dữ liệu bị thay đổi, trigger của record đó sẽ được kích hoạt và thực hiện đoạn code Apex được định nghĩa trong trigger đó Trigger là một trong nhiều thành phần quan trọng của data model

- Sử dụng developer console

Giao diện Developer console

Developer console là 1 web IDE để viết Apex Công cụ developer console có

Trang 13

Kết quả :

- Học ngôn ngữ Apex

- Làm quen với sử dụng điện toán đám mây

- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu

2.8.1 Kiểm thử với Apex

Thời gian : 5 ngày (1 tuần)

Nội dung : Trong thời gian này, thực tập sinh sẽ tìm hiểu về cách viết Apex test class

và những quy định liên quan, thông qua khóa học Trailhead được cung cấp bởi Salesforce và chọn lọc bởi Capgemini

- Viết Apex test class

Test class được chú thích với @IsTest Tương tự với các hàm test Với chú thích này, Salesforce sẽ coi những lớp này là test class, và cho phép thực hiện test với chúng

- Học những quy định liên quan

Có nhiều quy định liên quan đến test class

Thứ nhất, vì Salesforce khuyến khích việc kiểm thử kỹ càng cho sản phẩm, test class không tính vào limit về kích cỡ code của project Có nghĩa ta có thể viết test class dài đến đâu cũng được

Thứ hai, các hàm test chịu những giới hạn tính toán như các hàm thông thường

Thực hiện :

- Tham gia đầy đủ các buổi training của công ty

- Làm các bài thực hành, kiểm tra về kiến thức đã học

Kết quả :

- Học cách viết test class

- Biết khái niệm unit test và

- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu

2.8.2 Tìm hiểu giới hạn của Salesforce cho Apex

Thời gian : 5 ngày (1 tuần)

Nội dung: Trong thời gian này, thực tập sinh sẽ tìm hiểu về giới hạn Salesforce đặt

cho Apex và cách sử dụng lập trình bất đồng bộ để vượt qua những giới hạn đó, thông qua khóa học Trailhead được cung cấp bởi Salesforce và chọn lọc bởi Capgemini

- Giới hạn của Apex

Trang 14

Giới hạn của Apex

Vì Salesforce là nền tảng xử lý điện toán đám mây, Salesfoece không thể cho phép một người dùng chiếm dụng hết tài nguyên đám mây Đó là lý do Salesforce đặt giới hạn lên nhiều tiêu chí như thời gian chạy, bộ nhớ, số dòng query, … Xử lý bất đồng bộ cho phép nới lỏng những giới hạn này, bằng cách tận dụng tài nguyên khi nhu cầu không cao

- Xử lý bất đồng bộ

- Những xử lý bất đồng bộ của Salesforce chạy với độ ưu tiên thấp nhưng có giới hạn về tài nguyên như số dòng query tối đa, hay thời gian chạy tối đa, cao hơn

- Hàm bất đồng bộ

Hàm bất đồng bộ là một hàm được chú thích với @future Các hàm bất đồng bộ không nhận Object làm tham số

- Lớp Queueable

Nếu cần chức năng của hàm bất đồng bộ với tham số Object, thì Apex có interface

Trang 15

Xử lý batch là phương pháp xử lý dành cho những query lớn, rất nhiều dòng dữ liệu Những xử lý này sẽ được chạy với độ ưu tiên thấp, để dành tài nguyên đám mây cho nhưng yêu cầu ưu tiên cao hơn

- Chạy code theo lịch

Salesforce cho phép chạy code theo lịch, để tự động hóa các thao tác được thực hiện thường xuyên

Thực hiện :

- Tham gia đầy đủ các buổi trainning

- Làm các bài tập thực hành, kiểm tra kiến thức đã học

- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm

Kết quả :

- Có được những kiến thức về những tiện lợi và hạn chế của điện toán đám mây

- Biết được giới hạn của nền tảng Salesforce

2.8.3 Lập trình giao diện trên Salesforce

Thời gian : 5 ngày (1 tuần)

Nội dung : Học cách viết giao diện trên Salesforce, cách để gọi xuống Apex từ giao

diện

- Một số component có sẵn của Salesforce – Aura & Lightning:

Salesforce có cho sẵn một số component viết sẵn dễ dàng sử dụng cho các chức năng thông dụng như nhập text, nhập ngày, hiển thị thông tin của record hiện tại,

… Điều này khiến cho việc viết giao diện mới dễ dàng hơn Ngoài ra, khi Salesforce nâng cấp giao diện, những component này sẽ được nâng cấp theo

- Viết component mới:

Component của Salesforce được xây dựng trên HTML / JS theo kiểu web app Mỗi component có thể kết nối với 1 controller class được viết bằng Apex Điều này cần thiết vì chỉ thông qua Apex ta mới kết nối được với database Controller class sẽ chuyền dữ liệu cho component khi các hàm được gọi

- Giao diện mặc định của Salesforce & cách để tùy chỉnh giao diện:

Trang 16

Ví dụ về giao diện mặc định của Salesforce

Khi ta tạo một record mới trong database, Salesforce tạo sẵn cho ta môt giao diện mặc định để thực hiện các chức năng cơ bản như nhập, xuất, sửa, xóa, … Ta có thể tùy chỉnh giao diện của từng record để giao diện đẹp hơn, những thông tin quan trọng nổi bật hơn, …

Thực hiện :

- Tham gia đầy đủ các buổi training

- Thay đổi giao diện của một record, sử dụng custom component của mình

Kết quả:

- Đã có thể tạo ra giao diện Salesforce và tùy chỉnh giao diện theo ý muốn

2.8.4 Gọi Salesforce từ bên ngoài, và từ bên ngoài gọi Salesforce

Thời gian : 5 ngày (1 tuần)

Nội dung : Học cách sử dụng Apex, gọi thông qua cơ chế REST & SOAP Học cách

Ngày đăng: 17/08/2022, 21:07

w