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

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

Đ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

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 WEB APP TRÊN SALESFORCE Công ty thực tập : Capgemini Vietnam Người phụ trách : Thầy Lê Thanh Trọng Thực tập sinh : Tưởng Thành Long TP Hồ Chí Minh, tháng năm 2022 Trang LỜI MỞ ĐẦU App thành phần thiếu sống đại, phần lớn ngành công nghệ thông tin Trong năm gần đây, với phát triển điện toán đám mây, app di chuyển lên web, trở thành web app ngày nhiều Với nhiều tiện ích xử lý tập trung, thu thập liệu online, dễ dàng truy cập, dễ dàng quảng cáo, … web app có nhiều lợi app thông thường Và theo xu hướng phát triển giới, web web app ngày phát triển Capgemini Việt Nam công ty theo đuổi phát triển Sau khoảng thời gian học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia xây dựng web môi trường chuyên nghiệp, em có dự định thực tập sau hè Vì vậy, em định chọn Capgemini Việt Nam - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định Lê Thanh Trọng Tưởng Thành Long Trang 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ó hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm game 3D Chân thành cảm ơn anh chị nhóm trainer bỏ nhiều thời gian,cơng sức để hướng dẫn chúng em hồn thành đợt thực tập Đặc biệt cảm ơn anh Bùi Minh Quốc anh Bùi Ngọc Hoàng training Salesforce, hướng dẫn cách làm việc công ty, giúp đỡ khó khan q 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 khó khăn 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; cảm ơn tất người Capgemini Việt Nam thân thiện chào đón thực tập sinh chúng em Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Tưởng Thành Long Tp.HCM, ngày 17 tháng năm 2022 Lê Thanh Trọng Tưởng Thành Long Trang NHẬN XÉT CỦA GIÁO VIÊN Lê Thanh Trọng Tưởng Thành Long Trang MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN NHẬN XÉT CỦA GIÁO VIÊN Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty Capgemini Việt Nam Sản phẩm công ty .6 Chương 2: Giới thiêu Salesforce .7 Salesforce gì? Khái niệm chung .7 2.1.1 Apex 2.1.2 SOQL Tìm hiểu cơng ty kỹ công ty 11 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 Salesforce cho Apex 13 2.8.3 Lập trình giao diện Salesforce .15 2.8.4 Gọi Salesforce từ bên ngoài, từ bên gọi Salesforce 16 Thực project .17 Chi tiết công việc .18 TÀI LIỆU THAM KHẢO .19 TỔNG KẾT .20 Lê Thanh Trọng Tưởng Thành Long Trang Chương 1: Giới thiêu cơng ty thực tập Hình Logo cơng ty Capgemini Giới thiệu công ty Capgemini Việt Nam Capgemini thành lập năm 1967 Pháp với tên gọi Sogeti Capgemini công ty tư vấn IT thuộc top 10 công ty ngành toàn cầu Sau 50 năm thành lập, Capgemini khẳng định vị người tiên phong ứng dụng công nghệ thông tin cho nhu cầu thực tế Làm việc với 85% số 200 công ty hàng đầu giới theo danh sách Forbes Global 2000, Capgemini có mặt 50 nước giới với 340,000 nhân viên Sản phẩm công ty Capgemini đồng hành với đối tác để nâng khả quản lý kinh doanh họ lên tầm cao Capgemini tư vấn cho nhiều lĩnh vực, từ chiến thuật đến thiết quản lý Để làm điều này, Capgemini sử dụng ngành công nghệ nhiều triển vọng đ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ệ tảng Lê Thanh Trọng Tưởng Thành Long Trang Chương 2: Giới thiêu Salesforce Salesforce gì? Hình Logo Salesforce - Salesforce 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, code liên quan đến CRM hỗ trợ lập trình viên việc viết web app Khái niệm chung 2.1.1 Apex - - - Apex ngôn ngữ sử dụng tảng Salesforce phần backend Apex thực giao dịch database thông qua SOQL chạy hệ thống đám mây Salesforce Apex ngơn ngữ có cú pháp tương đối giống Java, có nhiều lợi Java tính dễ sử dụng strongly typed Ngồi ra, Apex dễ test với nhiều công cụ hỗ trợ code coverage unit test Apex tích hợp nhiều tính tích hợp DML operation insert, update, delete Apex hỗ trợ lỗi DML Apex ngôn ngữ case insensitive 2.1.2 SOQL Lê Thanh Trọng Tưởng Thành Long Trang - SOQL (Salesforce Object Query Language) ngôn ngữ query dành cho Salesforce SOQL sử dụng câu lệnh SELECT giống SQL, có số khác biệt SOQL SQL SOQL SQL - Dữ liệu SOQL lưu dạng Object - Dữ liệu SQL lưu dạng bảng - SOQL không cho phép câu lệnh thay đổi liệu INSERT, UPDATE, … (thay thế, cần sử dụng Apex DML) - Để thay đổi liệu SQL, cần dùng câu lệnh thay đổi liệu INSERT, UPDATE, … - SOQL khơng cho phép SELECT * Thay thế, cần ghi tồn trường liệu cần - SQL cho phép SELECT * Điều khuyến khích việc lấy thừa liệu có khả gây tắc nghẽn database - SOQL hạn chế khả JOIN Chỉ JOIN với Object có khóa ngoại trường hợp đơn giản - SQL cho phép JOIN với bảng JOIN lệnh tốn nhiều tài nguyên có khả gây nghẽn database 2.2 - - Trong Salesforce, trigger viết Apex, SQL, hoạt động tương đối giống trigger SQL Có nghĩa có thay đổi lên record đó, trigger chạy Điều cho phép xử lý phức tạp nhiều so với SQL Apex Trigger phân loại theo kiểu Thứ type: Insert, Update, Delete Thứ hai Before / After Tổng cộng có kiểu Apex trigger Before thường sử dụng để kiểm tra liệu có hợp lệ không, trước nhập vào database After thường sử dụng hành động insert / update / delete có gây ảnh hưởng đến record khác 2.3 - Trigger Test class Apex có framework hỗ trợ viết & thực thi test cho Apex class Apex trigger, cách viết Apex test class Salesforce bắt buộc trước deploy sản phẩm cuối cùng, phải đảm bảo Code Coverage 75% tất test tất test class đểu pass 2.4 Xử lý bất đồng Lê Thanh Trọng Tưởng Thành Long Trang Hình Asyncronous Apex - Những xử lý bất đồng Salesforce chạy với độ ưu tiên thấp có giới hạn tài nguyên số dòng query tối đa, hay thời gian chạy tối đa, cao 2.5 - - Limit Salesforce 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 khách hàng chiếm dụng tài nguyên đám mây Từ đó, giới hạn hình thành Salesforce có nhiều giới hạn, dễ thấy giới hạn lên thời gian CPU, giới hạn RAM, giới hạn lưu trữ liệu, giới hạn gọi database, … Những giới hạn hệ tránh khỏi ứng dụng đám mây 2.6 Aura & Lightning component - Lightning Aura component phần tử tái sử dụng giao diện - Salesforce cung cấp sẵn cho lập trình viên số component thông dụng vùng nhập liệu, bảng object liên quan, … 2.7 Giao diện Lê Thanh Trọng Tưởng Thành Long Trang 10 - Mỗi record có giao diện riêng Khi khởi tạo loại record, Salesforce tự động tạo cho giao diện mặc định Sau đó, thay đổi giao diện theo ý muốn, sử dụng Aura & Lightning Component Lê Thanh Trọng Tưởng Thành Long 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 Salesforce” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình web app Salesforce, đồng thời rèn luyện kỹ mềm 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ó hội học tập, khám phá làm việc môi trường phát triển phần mềm chuyên nghiệp Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty, quy định công ty Được xem video giới thiệu công ty, đọc org chart công ty, xem video hướng dẫn quy định công ty, bao gồm bảo mật, đạo đức, văn hóa cơng ty, luật liên quan tới cơng ty Kết : Hiểu thêm công ty Capgemini, cách làm việc, văn hóa cơng ty Có thêm kỹ việc sử dụng email công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật Thời gian : tuần Nội dung : Tìm hiểu cơng cụ sử dụng trình làm việc Trong thời gian này, thực tập sinh tìm hiểu Salesforce cách sử dụng nó, thơng qua khóa học Trailhead cung cấp Salesforce chọn lọc Capgemini Ngoài ra, thực tập sinh hướng dẫn trainer công cụ hỗ trợ cho công việc sau Một số phần mềm số Visual Studio Code với Extension tương ứng – IDE lập trình đa dụng phổ biến, Notepad++ - chương trình soạn thảo văn hữu ích phổ biến với lập trình viên Thực : Thực hành sử dụng phần mềm nêu Kết : Hiểu biết ngôn ngữ Apex Salesforce, cách truy cập liệu Salesforce dung SOQL, thiết kế giao diện web Salesforce 2.8 Tìm hiểu ngơn ngữ Apex Thời gian : ngày (1 tuần) Nội dung : Trong thời gian này, thực tập sinh tìm hiểu Apex SOQL Salesforce cách sử dụng nó, thơng qua khóa học Trailhead cung cấp Salesforce chọn lọc Capgemini Lê Thanh Trọng Tưởng Thành Long Trang 12 - - - - Viết Apex Ngôn ngữ Apex tương đối giống ngơn ngữ Java, có số khác biệt Thực tập viên dạy khác biệt Trong đó, khác biệt quan trọng Apex class cần test class để kiểm thử tự động, yêu cầu code coverage 75% cho code sản phẩm Viết câu query SOQL Các kiến thức khác biệt SOQL SQL, hạn chế Salesforce đặt lên SOQL để trì hệ thống điện tốn đám mây họ Ngồi ra, thực tập viên dạy cách để vượt qua hạn chế cần Viết trigger Khi record liệu bị thay đổi, trigger record kích hoạt thực đoạn code Apex định nghĩa trigger Trigger nhiều thành phần quan trọng data model Sử dụng developer console Giao diện Developer console Developer console web IDE để viết Apex Cơng cụ developer console có nhiều tiện lợi cho việc viết chương trình Thực : - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Lê Thanh Trọng Tưởng Thành Long Trang 13 Kết : - Học ngôn ngữ Apex Làm quen với sử dụng điện tốn đám mây Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu 2.8.1 Kiểm thử với Apex Thời gian : ngày (1 tuần) Nội dung : Trong thời gian này, thực tập sinh tìm hiểu cách viết Apex test class quy định liên quan, thơng qua khóa học Trailhead cung cấp Salesforce chọn lọc Capgemini - Viết Apex test class Test class thích với @IsTest Tương tự với hàm test Với thích này, Salesforce coi lớp test class, cho phép thực test với chúng - Học quy định liên quan Có nhiều quy định liên quan đến test class Thứ nhất, Salesforce khuyến khích việc kiểm thử kỹ cho sản phẩm, test class khơng tính vào limit kích cỡ code project Có nghĩa ta viết test class dài đến đâu Thứ hai, hàm test chịu giới hạn tính tốn hàm thơng thường Thực : - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết : - Học cách viết test class Biết khái niệm unit test Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu 2.8.2 Tìm hiểu giới hạn Salesforce cho Apex Thời gian : ngày (1 tuần) Nội dung: Trong thời gian này, thực tập sinh tìm hiểu giới hạn Salesforce đặt cho Apex cách sử dụng lập trình bất đồng để vượt qua giới hạn đó, thơng qua khóa học Trailhead cung cấp Salesforce chọn lọc Capgemini - Giới hạn Apex Lê Thanh Trọng Tưởng Thành Long Trang 14 Giới hạn Apex Vì Salesforce tảng xử lý điện toán đám mây, Salesfoece cho phép người dùng chiếm dụng hết tài nguyên đám mây Đó lý Salesforce đặt giới hạn lên nhiều tiêu chí thời gian chạy, nhớ, số dòng query, … Xử lý bất đồng cho phép nới lỏng giới hạn này, cách tận dụng tài nguyên nhu cầu không cao - Xử lý bất đồng - Những xử lý bất đồng Salesforce chạy với độ ưu tiên thấp có giới hạn tài nguyên số dòng query tối đa, hay thời gian chạy tối đa, cao - Hàm bất đồng Hàm bất đồng hàm thích với @future Các hàm bất đồng không nhận Object làm tham số - Lớp Queueable Nếu cần chức hàm bất đồng với tham số Object, Apex có interface Queueable - Xử lý batch Lê Thanh Trọng Tưởng Thành Long Trang 15 Xử lý batch phương pháp xử lý dành cho query lớn, nhiều dòng liệu Những xử lý chạy với độ ưu tiên thấp, để dành tài nguyên đám mây cho yêu cầu ưu tiên cao - Chạy code theo lịch Salesforce cho phép chạy code theo lịch, để tự động hóa thao tác thực thường xuyên Thực : - Tham gia đầy đủ buổi trainning Làm tập thực hành, kiểm tra kiến thức học Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết : - Có kiến thức tiện lợi hạn chế điện toán đám mây Biết giới hạn tảng Salesforce 2.8.3 Lập trình giao diện Salesforce Thời gian : ngày (1 tuần) Nội dung : Học cách viết giao diện Salesforce, cách để gọi xuống Apex từ giao diện - Một số component có sẵn Salesforce – Aura & Lightning: Salesforce có cho sẵn số component viết sẵn dễ dàng sử dụng cho chức thông dụng nhập text, nhập ngày, hiển thị thông tin record tại, … Điều khiến cho việc viết giao diện dễ dàng Ngoài ra, Salesforce nâng cấp giao diện, component nâng cấp theo - Viết component mới: Component Salesforce xây dựng HTML / JS theo kiểu web app Mỗi component kết nối với controller class viết Apex Điều cần thiết thơng qua Apex ta kết nối với database Controller class chuyền liệu cho component hàm gọi - Giao diện mặc định Salesforce & cách để tùy chỉnh giao diện: Lê Thanh Trọng Tưởng Thành Long Trang 16 Ví dụ giao diện mặc định Salesforce Khi ta tạo record database, Salesforce tạo sẵn cho ta môt giao diện mặc định để thực chức nhập, xuất, sửa, xóa, … Ta tùy chỉnh giao diện record để giao diện đẹp hơn, thông tin quan trọng bật hơn, … Thực : - Tham gia đầy đủ buổi training Thay đổi giao diện record, sử dụng custom component Kết quả: - Đã tạo giao diện Salesforce tùy chỉnh giao diện theo ý muốn 2.8.4 Gọi Salesforce từ bên ngoài, từ bên gọi Salesforce Thời gian : ngày (1 tuần) Nội dung : Học cách sử dụng Apex, gọi thông qua chế REST & SOAP Học cách để viết hàm Apex cho bên ngồi (nếu có quyền), gọi thông qua REST - Gọi REST & SOAP từ Apex: Lê Thanh Trọng Tưởng Thành Long Trang 17 Salesforce cho phép gọi RESTful API bên ngoài, điều quan trọng cho integration Đa số hệ thống web cần liên kết với thông qua RESTful API để hoạt động tốt, Salesforce không ngoại lệ Các cơng ty khác có hệ thống sẵn có, tái sử dụng hệ thống cách tốt để tiết kiệm thời gian phát triển - Cho phép bên gọi REST tới hàm Apex: Theo chiều ngược lại Salesforce cho phép ta tạo RESTful API để bên ngồi gọi tới Thực : - Tham gia đầy đủ buổi training Kết quả: - Biết cách gọi tới REST endpoint khác, biết cách tạo REST endpoint sử dụng Apex Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực Salesforce Trong tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để làm công việc project Chi tiết project, lý bảo mật cơng ty, em khơng thể nói Lê Thanh Trọng Tưởng Thành Long Trang 18 Chi tiết công việc Tuần Công việc - 8-9 10 trở Người hướng dẫn Tìm hiểu cơng ty, cách tổ chức công ty - Học cách trao đổi, làm việc qua email Học salesforce - Tìm hiểu ngơn ngữ Apex Học salesforce - Tìm hiểu ngơn ngữ Apex Nghỉ Tết Anh Bùi Quốc Minh Anh Bùi Quốc Minh Học salesforce - Tìm hiểu giới hạn Salesforce cho Apex Học salesforce - Lập trình giao diện Salesforce Học salesforce - Gọi Salesforce từ bên ngoài, từ bên gọi Salesforce - Làm quen với công cụ làm việc công ty - Review - Tham gia vảo project công ty Anh La Tâm Mức độ hoàn thành Nhận xét người hướng dẫn Anh Lê Minh Tài Chị Vũ Thị Minh Thủy Anh Lê Anh Tuấn Anh Lê Anh Tuấn Anh Lê Anh Tuấn Lê Thanh Trọng Tưởng Thành Long Trang 19 TÀI LIỆU THAM KHẢO Salesforce https://trailhead.salesforce.com/ https://developer.salesforce.com/docs/ https://help.salesforce.com/ HTML & JavaScript https://developer.mozilla.org/en-US/docs/Web/CSS https://www.w3schools.com/js/ General https://salesforce.stackexchange.com/ https://stackoverflow.com/ Lê Thanh Trọng Tưởng Thành Long Trang 20 TỔNG KẾT Trong tháng thực tập Capgemini Việt Nam, em học nhiều thứ Thứ em tìm hiểu quan sát môi trường làm việc chuyên nghiệp đại Thứ hai em tiếp xúc với công nghệ đại, cụ thể công nghệ đám mây Thứ ba em hiểu quan trọng công cụ hỗ trợ để trợ giúp trình làm việc Và cuối cùng, em hiểu rõ hội việc làm em, giúp em định hướng tốt tương lai Em tin kiến thức kỹ mềm em học từ thời gian thực tập giúp em tương lai Chân thành cảm ơn giúp đỡ anh chị nhóm trainer Capgemini, nỗ lực nhóm để thực project Cũng xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Lê Thanh Trọng Tưởng Thành Long ... 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 Salesforce? ?? nhằm mục đích giúp sinh viên thực tập đào tạo toàn diện lập trình web app Salesforce, đồng thời rèn luyện kỹ... ứng – IDE lập trình đa dụng phổ biến, Notepad++ - chương trình soạn thảo văn hữu ích phổ biến với lập trình viên Thực : Thực hành sử dụng phần mềm nêu Kết : Hiểu biết ngôn ngữ Apex Salesforce, ... thiêu Salesforce Salesforce gì? Hình Logo Salesforce - Salesforce 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

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

Mục lục

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

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

  • 1. Salesforce là gì?

  • 2. Khái niệm chung

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

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

  • 3. Thực hiện project

  • 4. Chi tiết công việc

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan