DANH MỤC BẢNGBẢNG 2.2: Tạo mới một module trong SugarCRM BẢNG 2.3: Tùy chỉnh module bằng công cụ Studio trong module builderBẢNG 2.4: Deloy module để đưa vào sử dụng trong hệ thống Sugar
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
ĐỒ ÁN HỆ THỐNG THÔNG TIN
TRIỂN KHAI ỨNG DỤNG CRM NỀN TẢNG CLOUD
SỬ DỤNG CHO HỆ THỐNG GIÁO DỤC
Giảng viên hướng dẫn (Cô): NGUYỄN ĐÌNH LOAN PHƯƠNG
Sinh viên thực hiện: NGUYỄN THỊ MỸ HẢI – 09520508
NGUYÊN HỮU LẬP - 09520491 Lớp : HTTT04
Khoá : 04
TP Hồ Chí Minh, tháng 6 năm 2013
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
ĐỒ ÁN HỆ THỐNG THÔNG TIN
TRIỂN KHAI ỨNG DỤNG CRM NỀN TẢNG CLOUD
SỬ DỤNG CHO HỆ THỐNG GIÁO DỤC
Giảng viên hướng dẫn (Cô): NGUYỄN ĐÌNH LOAN PHƯƠNG
Sinh viên thực hiện: NGUYỄN THỊ MỸ HẢI – 09520508
NGUYÊN HỮU LẬP - 09520491 Lớp : HTTT04
Khoá : 04
TP Hồ Chí Minh, tháng 6 năm 2013
Trang 31 Lý do chọn đề tài “Triển khai ứng dụng CRM nền tảng Cloud sử dụng cho hệ thống giáo dục”
Phát triển một hệ thống CRM cho giáo dục từ lâu đã là một nhu cầu thiếtthực mang tính ứng dụng cho thực tiễn cao Vì sao gọi hệ thống CRM cho giáodục là thiết thực? Ta thử lấy một ví dụ sau: Sinh viên từ các tỉnh nhập học tại cáctrường đại học hoặc phổ thông ở các thành phố lớn Mỗi bậc cha mẹ đều có trăm
bề lo lắng không biết con mình học hành như thế nào và công tác giáo dục tạitrường ra sao, … muốn biết kết quả học tập của con em mình không thể vào webtrường rồi đăng nhập tài khoản các thứ (quá phức tạp đối với các bậc phụ huynh),hay họ phải đi họp phụ huynh (điều này không thể đối với những phụ huynh ở xa)hay nhà trường không thể gửi bản tổng kết rèn luyện của con em mình về cho cácbậc phụ huynh (quá khó khăn cho các nhà trường) Vậy câu hỏi đặt ra với các nhàphát triển là làm thế nào để cung cấp hệ thống vừa quản lý học sinh, sinh viên vừa
là cầu nối giữa nhà trường và gia đình học sinh đồng thời góp phần nâng cao uytín và hình ảnh của trường, hoạt động đào tạo được kiểm soát một cách hiệu quả,góp phần nâng cao chất lượng đào tạo, giảm chi phí cho nhà trường
Để hiện trả lời cho câu hỏi trên nhóm đã quyết định lựa chọn đề tài
“Triển khai ứng dụng CRM trên nền tảng Cloud cho hệ thống giáo dục”
Trang 4dành cho các trường đại học, cao đẳng trên cả nước nhưng hiện tại chỉ dừng lại ởđại học Công Nghệ Thông Tin – đại học quốc gia thành phố Hồ Chí Minh để xâydựng chương trình demo xác định tính khả thi nhằm phát triển thành luận văn.
Phạm vi công nghệ
Đề tài nghiên cứu theo hướng mã nguồn mở với phần mềm SugarCRM,mẫu hình SaaS – cloud computing, hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữlập trình PHP
• Tiếp cận tìm hiểu, nghiên cứu về Cloud Computing, tập trung đi sâuvào SaaS
• Tìm hiểu, sử dụng và custom Sugar làm điểm tựa phát triển ứng dụng
• Lập trình xây dựng ứng dụng trên nền Sugar
Báo cáo bao gồm 7 chương - 82 trang:
Chương 1: Phân tích và lựa chọn đề tài (1 – 4) : Phân tích đề tài để đưa racác lựa chọn phù hợp nhất
Chương 2 : Giới thiệu về CRM và SugarCRM (5 - 23) : Giới thiệu tổngquan về CRM và SugarCRM
Chương 3 : Giới thiệu về Cloud Computing (24 - 44) : Giới thiệu tổngquan về Cloud Computing và đi sâu vào SaaS
Chương 4 : Thu thập và phân tích yêu cầu (45 - 72) : Nêu ra các yêu cầuđối với hệ thống để đáp ứng một ứng dụng thỏa CRM và quản lý Chỉ ra quy trìnhhoạt động, sơ đồ use-case và tiến hành đặc tả use-case và đưa ra mẫu report thamkhảo
Chương 5 : Thiết kế hệ thống (73 - 76) : Chỉ ra chức năng của từng moduletrong hệ thống
Chương 6 : Xây dựng ứng dụng demo (77 - 79) : Giới thiệu ứng dụngdemo với module student official – sinh viên chính quy
Trang 5được, những thuận lợi và khó khăn khi thực hiện đề tài, đồng thời nêu hướng pháttriển của đề tài trong thời gian sắp tới.
Danh mục tài liệu tham khảo (82) : Gồm các tài liệu phục vụ cho quá trinhtìm hiểu, nghiên cứu thực hiện đề tài
Trang 6Chúng em xin cảm ơn các Thầy, Cô đã trang bị cho chúng em những kiếnthức vô cùng quí báu, đặc biệt là các Thầy, Cô trong khoa Hệ Thống Thông Tinluôn tận tình truyền đạt kiến thức cho chúng em, coi chúng em như những ngườicon của mình
Xin gửi lời cảm ơn chân thành đến cô Nguyễn Đình Loan Phương, người
đã hướng dẫn chúng em làm đề tài này Tuy có trở ngại về mặt thời gian và địa lý,nhưng cô luôn quan tâm đến từng bước đi của chúng em từ những ngày bắt đầu
đề tài
Cảm ơn thầy Huỳnh Hữu Việt đã nhiệt tình giúp đỡ chúng em Những kinhnghiệm, những tài liệu và sự quan tâm thầy dành cho chúng em là nguồn độngviên và kho tài liệu vô cùng quí giá giúp chúng em hoàn thành đề tài này
Chúng em xin cảm ơn gia đình đã ủng hộ hết lòng cho chúng em để hoànthành đồ án này Cảm ơn đến những người bạn trong nhóm học tập của chúng
em Những người luôn đứng sau ủng hộ và cùng nhắc nhở lẫn nhau làm đồ án
Xin chân thành cảm ơn!
TP.Hồ Chí Minh, tháng 06 năm 2013
Nhóm Sinh viênNguyễn Thị Mỹ Hải – Nguyễn Hữu Lập
Trang 7(Của giảng viên hướng dẫn)
Trang 8
MỤC LỤC
Chương 1: PHÂN TÍCH VÀ LỰA CHỌN GIẢI PHÁP CHO ĐỀ TÀI 1
1.1 Phân tích đề tài 1
1.2 Lựa chọn giải pháp cho đề tài 3
Chương 2: GIỚI THIỆU VỀ CRM VÀ SUGARCRM 5
2.1 Giới thiệu về CRM 5
2.1.1 Khái niệm cơ bản về CRM 5
2.1.2 Mục đích của CRM 5
2.1.3 Việc triển khai CRM được tiến hành như thế nào? 5
2.1.4 Có các chỉ số cho nhu cầu về triển khai dự án CRM? 6
2.1.5 Việc triển khai một hệ thống CRM cần thời gian bao lâu? 6
2.1.6 Các loại dữ liệu mà dự án CRM cần phải thu thập? 7
2.1.7 Đâu là chìa khóa thành công trong việc triển khai CRM? 7
2.1.8 Lý do thất bại của một dự án CRM? 7
2.1.9 Ngành công nghiệp nào đang dẫn đầu về việc ứng dụng CRM 8
2.2 Giới thiệu về SugarCRM 8
2.2.1 Kiến trúc SugarCRM 8
2.2.2 Tùy biến trong SugarCRM 12
Chương 3: GIỚI THIỆU VỀ CLOUD COMPUTING 24
3.1 Tổng quan về cloud computing 24
3.1.1 Định nghĩa Cloud Computing 24
3.1.2 Các tính chất của Cloud Computing 27
3.1.3 Các mô hình Cloud Computing 29
3.1.4 Cloud Computing – lợi ích và thách thức 35
3.2 Đi sâu vào Software as a Service – SaaS 38
3.2.1 Các đặc trưng của SaaS 39
3.2.2 Chuyển đổi ứng dụng web thành giải pháp SaaS nhiều bên thuê 40
Chương 4: THU THẬP VÀ PHÂN TÍCH YÊU CẦU 45
4.1 Các yêu cầu cho hệ thống 45
Trang 94.3 Sơ đồ usecase 49
4.4 Danh sách các actor 49
4.5 Danh sách use-case 50
4.6 Đặc tả use – case 51
4.6.1 Đặc tả Use-case “Quan ly sinh vien chinh quy” 51
4.6.2 Đặc tả Use-case “Quan ly nien khoa” 52
4.6.3 Đặc tả Use-case “Quan ly khoa hoc, hoc ky” 54
4.6.4 Đặc tả Use-case “Quan ly ky thi” 55
4.6.5 Đặc tả Use-case “Quan ly lop hoc” 57
4.6.6 Đặc tả Use-case “Quan ly mon hoc” 59
4.6.7 Đặc tả Use-case “Quan ly lich bieu” 60
4.6.8 Đặc tả Use-case “Thong ke, bao cao” 62
4.6.9 Đặc tả Use-case “Quan ly luu tru” 62
4.6.10 Đặc tả Use-case “Quan ly xu ly yeu cau” 63
4.6.11 Đặc tả Use-case “Quan ly chien dich” 64
4.6.12 Đặc tả Use-case “Cham soc sinh vien chinh quy” 66
4.6.13 Đặc tả Use-case “Quan ly user” 66
4.6.14 Đặc tả Use-case “Quan ly sinh vien tiem nang” 68
4.6.15 Đặc tả Use-case “Quan ly khoa-nganh” 69
4.6.15 Đặc tả Use-case “Dang nhap” 70
4.6 Mẫu report tham khảo 72
Chương 5: THIẾT KẾ HỆ THỐNG 73
5.1 Module student official – sinh viên chính quy 74
5.2 Module student potential – sinh viên tiềm năng 74
5.3 Module shool year – niên khóa 74
5.4 Module course – khóa học – học kỳ 74
5.5 Module class – lớp học 75
5.6 Module subject – môn học 75
5.7 Module exam – kỳ thi 75
5.8 Module calendar – lịch biểu 76
Trang 105.12 Module report – chart – thống kê – báo cáo 76
5.13 Module sms – email – chăm sóc sinh viên 76
5.14 Module user – quản lý user 76
5.15 Module faculty – khoa – ngành 76
Chương 6: XÂY DỰNG ỨNG DỤNG DEMO 77
Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80
7.1 Kết luận 80
7.1.1 Kết quả đạt được 80
7.1.2 Những thuận lợi 80
7.1.3 Những khó khăn 80
7.2 Hướng phát triển đề tài 81
DANH MỤC TÀI LIỆU THAM KHẢO 82
Trang 11DANH MỤC BẢNG
BẢNG 2.2: Tạo mới một module trong SugarCRM
BẢNG 2.3: Tùy chỉnh module bằng công cụ Studio trong module builderBẢNG 2.4: Deloy module để đưa vào sử dụng trong hệ thống SugarCRMBẢNG 3.1: Lợi ích và thách thức đối với IaaS
BẢNG 3.2: Lợi ích và thách thức đối với PaaS
BẢNG 3.3: Lợi ích và thách thức đối với SaaS
BẢNG 4.1: Danh sách các yêu cầu quản lý của hệ thống
BẢNG 4.3: Danh sách các Use-case
DANH MỤC SƠ ĐỒ
SƠ ĐỒ 4.1: Sơ đồ quy trình hoạt động
SƠ ĐỒ 4.2: Sơ đồ Use-case
SƠ ĐỒ 5.1: Sơ đồ hệ thống
DANH MỤC HÌNH
HÌNH 2.1: Cấu trúc thư mục trong sugarCRM
HÌNH 2.2: Cấu trúc thư mục của một module trong SugarCRM
HÌNH 2.3: Các công cụ trong developer Tools
HÌNH 2.4: Công cụ repair trong system
HÌNH 2.5: Tạo relationship trong công cụ studio
HÌNH 3.1: Giới thiệu về Cloud Computing
HÌNH 3.2: Chưa có một cái nhìn khái quát về Cloud Computing
HÌNH 3.3: Định nghĩa về Cloud Computing
HÌNH 3.4: NIST Visual Model of Cloud Computing Definition
HÌNH 3.5: Các mô hình dịch vụ đối với Cloud computing
HÌNH 3.6: Mô hình SPI
HÌNH 3.7: Bốn mô hình triển khai Cloud Computing
Trang 12HÌNH 6.1: Giao diện hiển thị danh sách sinh viên chính quyHÌNH 6.2: Giao diện thêm mới một sinh viên.
HÌNH 6.3: Giao diện chi tiết thông tin sinh viên
Trang 13Stt Chữ viết tắt Nghĩa tiếng việt
4 PaaS – Platform as a Service Nền tảng như một dịch vụ
5 SaaS – Software as a Service Phần mềm như một dịch vụ
9 Community Cloud Đám mây cộng đồng
11 Student official Sinh viên chính quy
14 SLA - Service-level agreement Thỏa thuận ở mức dịch vụ
15 ROI - Return On Investment Rủi ro lợi tức đầu tư
16 Actor Tác nhân – người sử dụng tương tác
với hệ thống
17 Use-case
Gồm một tập các thể hiện use case Trong đó mỗi thể hiện là một chuỗi cáchành động được hệ thống thực hiện và đem lại một kết quả thấy được có ý nghĩa đối với một actor cụ thể nào đó
Trang 14Chương 1: PHÂN TÍCH VÀ LỰA CHỌN GIẢI PHÁP CHO ĐỀ TÀI
Đề tài “Triển khai ứng dụng CRM nền tảng cloud sử dụng cho hệ thống
giáo dục” là đề tài nhằm hướng đến một ứng dụng có thể được sử dụng một
cách dễ dàng, thuận tiện cho tất cả hệ thống trường đại học, cao đẳng trong
nước Góp phần nâng cao uy tín và hình ảnh của trường, hoạt động đào tạo
được kiểm soát một cách hiệu quả, góp phần nâng cao chất lượng đào tạo,
giảm chi phí cho nhà trường đồng thời cũng là cầu nối giữa nhà trường và gia
đình
Ứng dụng mà đề tài xây dựng là sự kết hợp của công tác quản lý sinh
viên và công tác nâng cao chất lượng đào tạo, cũng như sức ảnh hưởng của
trường đối với xã hội mà theo cách hiểu của nhóm gọi đó là CRM Để xây
dựng ứng dụng này nhóm đi vào phân tích chi tiết:
-Đầu tiên là thông tin trao đổi giữa trường học, học sinh, gia đình
một cách nhanh chóng, gần gũi hơn, thân mật hơn Hệ thống cần sử dụng kênh
gởi SMS, Email để thực hiện trao đổi thông tin đến học sinh, sinh viên, bố, mẹ,
gia đình của học sinh, sinh viên Các nội dung trao đổi như: Điểm số, hạnh
kiểm, nhắc lịch thi, lich học, những thông tin về tình hình học tập, vắng mặt tại
lớp học Những chương trình học mới, thông báo học bổng, học phí Hoạt
động này sẽ được thực hiện tự động theo kế hoạch đề ra
-Hệ thống sẽ có các hoạt động đặc trưng hơn trong việc chăm sóc các
mối quan hệ, mở rộng các mối quan hệ đến bố mẹ, gia đình của học sinh, sinh
viên của trường Chẳng hạn như xem xét việc trong 1 đại gia đình, nếu con
người anh học trường đó, thì con của người em là đối tượng dễ bị thuyết phục
nhất trong việc chọn trường đó để học Mở rộng ra hơn nữa là các mỗi quan hệ
khác giữa bạn bè những người có uy tín và tiếng nói trong xã hội
- Cách thức thực hiện các chương trình tiếp cận trường học phổ
thông, các đầu mối để quảng bá chương trình đào tạo, mời gọi học sinh tham
gia ứng tuyển vào trường sẽ được thực hiện, ai được chọn để tạo sự ảnh hưởng
gây sức thuyết phục, ai là đối tượng cần gây ảnh hưởng sẽ được hệ thống ghi
Trang 15lại Phương thức chia sẻ đa cấp Cách mở rộng sức ảnh hưởng qua cách thức
khai thác mối quan hệ Nó thật sự hiệu quả để xem xét trong hoạt động của các
trường Cách hệ thống tổ chức, quản lý, điều phối, và thực hiện
- Với “Đào Tạo” có những đặc trưng riêng biệt Hoạt động tuyển
sinh thường có chu kỳ 12 tháng Trong một chu kỳ dài như thế này Hoạt động
tiếp thị, giới thiệu dịch vụ đào tạo của trường cũng cần phân bổ như thế nào
cho hợp lý Hoạt động tiếp thị có thể làm được là:
Email thông báo ngành học mới hàng loạt
Email chia sẽ tin tức định kỳ (Newsletter) Ví dụ: Báo cáo chuyên
ngành, Báo cáo khoa học, Bảo vệ luận văn
Hoạt động xin góp ý kiến và nhận phản hồi ý kiến hoạt loạt về
một vấn đề nào đó của trường (một dạng Form lấy ý kiếnonline)
- Công tác giao tiếp với phụ huynh, gia đình học sinh của bộ phận
văn phòng được tổ chức và kiểm soát chặt chẽ Có thể có đánh giá được mức
độ hài lòng của học sinh, sinh viên, phụ huynh, gia đình đối với trường học
Công tác tiếp nhận các phản hồi, góp ý, các yêu cầu từ phụ huynh học sinh để
rút ra được những điểm gì cần cải tiến để nâng tầm ảnh hưởng và hình ảnh của
nhà trường trong học sinh, phu huynh Các hoạt động giao tiếp với phụ huynh
có thể làm được là:
Cổng thông tin cho sinh viên, phụ huynh để xem điểm online,
xem thông tin học lực, thông tin điểm danh
Phiếu khảo sát online
SMS theo cú pháp để nhận điểm, học lực, thông báo vắng mặt
- Hai đối tượng khách hàng chính trong hệ thống CRM này là sinh
viên chính quy và sinh viên tiềm năng, vậy thì khâu chuyển tiếp sẽ nằm ở đâu
và khi nào? Khâu chuyển tiếp đó là khâu chuyển từ sinh viên tiềm năng thành
sinh viên chính quy Việc chuyển giao và tiếp nhận được thực hiện bởi hai bộ
phận quản lý sinh viên tiềm năng và sinh viên chính quy
Trang 161.2 Lựa chọn giải pháp cho đề tài
Từ những phân tích ở trên nhóm quyết định lựa chọn phát triển trên nền
tảng cloud computing Sản phầm là một phần mềm, khi lựa chọn cloud thì
chắc chắn SaaS là hướng xây dựng tất nhiên
Với cloud computing vấn đề chia sẻ ứng dụng cho nhiều trường dùng chung
mà mang lại hiệu quả cao nhất và dễ dàng, tiện lợi trong việc sử dụng sẽ được
giải quyết
Nhưng làm sao để có thể xây dựng ứng dụng với đầy đủ các chức năng
đảm bảo đáp ứng các mong muốn đã phân tích ở mục 1.1 thì việc biết đến
SugarCRM đã giúp nhóm tìm ra cho mình lối đi và nhóm quyết định lựa chọn
SugarCRM làm điểm tựa phát triển
SugarCRM vừa là tên công ty cũng vừa là tên của một dự án phần mềm
nguồn mở Công ty SugarCRM được thành lập ở thung lũng Silicon, nhận
được khoản vốn đầu tư khoảng 25 triệu USD và được biết đến như một công ty
chuyên về phần mềm nguồn mở Mô hình kinh doanh của họ là phát triển các
sản phẩm phần mềm nguồn mở và thu lợi nhuận từ việc bán dịch vụ, sản phẩm
cho người dùng
Phiên bản miễn phí và mã nguồn mở của Sugar hiện tại có tên là
SugarCRMCommunity Edition Version 6.5 Đề tài lựa chọn SugarCRM làm
điểm tựa phát triển vì các lý do sau:
- Tính an toàn và ổn định: SugarCRM được xây dựng và củng cố
tính an toàn và ổn định Đây là tính năng mà nhóm phát triển quan tâm nhất
bởi vì một sản phẩm hướng đến điện toán đám mây thì phải đáp ứng được các
nhu cầu bảo mật tốt nhất
- Nền tảng phát triển lâu dài: Bắt đầu phát triển từ tháng 4/2004
Sugar đã trải qua hơn 9 năm phát triển nhưng vẫn giữ vững được chỗ đứng
trên thị trường SugarCRM đối với các lập trình viên được biết như một
Famework với khả năng tùy chỉnh cao Điều đó chứng tỏ Sugar là nền tảng
vững chắc và là sự lựa chọn duy nhất
- Cộng đồng mạnh: những ứng dụng phát triển lớn mạnh như hiện
nay đòi phải phải có cộng đồng lớn mạnh Đội ngũ này là vừa Fan trung thành
Trang 17với ứng dụng, luôn không ngừng tìm hiểu và cải tiến ứng dụng, vừa chính là
những người có thể trợ giúp nhà phát triển triển khai ứng dụng thành công
- Opensource là một lợi thế: bản tuyên ngôn mã nguồn mở GNU
đã chỉ rõ 4 tính tự do (Tự do chạy phần mềm, tự do tìm hiểu hoạt động của
phần mềm, tự do tái phân phối bản sao, tự do cải tiến và phát hành cải tiến ra
công cộng) Là mục đích mà các nhà phát triển hướng đến cho sản phẩm của
mình
- Tài liệu và miễn phí: tài liệu là một phần không thể thiếu khi bắt
đầu nghiên cứu phần mềm, đặc biệt là phần mềm có cấu trúc phức tạp như
Sugar Các tài liệu này 1 phần được chính SugarCRM chia sẻ và phần còn lại
do kinh nghiệm của các nhà phát triển chia sẻ với nhau Nguồn tài liệu nổi
tiếng được biết đến ở các trang như:
- http://developers.sugarcrm.com
- http://support.sugarcrm.com
và nhiều blog nổi tiếng khác của các lập trình viên
Chương 2 và chương 3 của báo cáo sẽ làm rõ hơn về cloud computing,
CRM và sugarCRM
Trang 18Chương 2: GIỚI THIỆU VỀ CRM VÀ SUGARCRM
2.1.1 Khái niệm cơ bản về CRM
CRM là viết tắt của Customer Relationship Managemet - Quản trị quan
hệ khách hàng Khái niệm về CRM xuất hiện vào đầu thập niên 1970, khi các
đơn vị kinh doanh thể hiện nhiều sự chuyển biến trong quan niệm từ “định
hướng sản phẩm” sang “định hướng khách hàng” Đó là chiến lược của các
công ty trong việc phát triển quan hệ gắn bó với khách hàng qua nghiên cứu,
tìm hiểu kỹ lưỡng nhu cầu và thói quen của họ Thiết lập mối quan hệ tốt đẹp
với khách hàng có ý nghĩa đặc biệt quan trọng đối với sự thành công của mỗi
công ty nên đây là vấn đề hết sức được chú trọng Có nhiều yếu tố công nghệ
liên quan tới CRM nhưng không phải CRM là một thuật ngữ công nghệ thuần
tuý Cách hiểu đúng nhất đối với CRM là: Đó là toàn bộ các quy trình thu thập,
tổng hợp và phân tích thông tin về khách hàng, hàng bán, hiệu quả của các
công tác tiếp thị, khả nǎng thích nghi của công ty đối với các xu hướng của thị
trường nhằm mục đích nâng cao hiệu quả hoạt động kinh doanh, mang lại lợi
nhuận cao nhất cho công ty
2.1.2 Mục đích của CRM
CRM khởi nguyên từ ý tưởng giúp các doanh nghiệp sử dụng nguồn lực
(nhân lực và công nghệ) để hiểu thấu đáo về thái độ, thói quen của khách hàng
và đánh giá giá trị của từng phân đoạn khách hàng riêng biệt Với sự trợ giúp
của một chương trình CRM có hiệu quả, các doanh nghiệp có thể:
- Cung cấp cho khách hàng các dịnh vụ tốt hơn
- Nâng cao hiệu quả của trung tâm hỗ trợ khách hàng
- Trợ giúp nhân viên bán hàng thực hiện đơn hàng một cách nhanh
nhất
- Đơn giản hoá tiến trình tiếp thị và bán hàng
- Phát hiện các khách hàng mới
- Tǎng doanh thu từ khách hàng
Trang 192.1.3 Việc triển khai CRM được tiến hành như thế nào?
Việc triển khai chương trình CRM không phải chỉ đơn giản là mua các
phần mềm thích hợp và cài đặt vào hệ thống Để chương trình CRM phát huy
tính hiệu quả, trước hết các tổ chức cần phải quyết định những loại thông tin
nào về khách hàng cần phải quan tâm và sử dụng những thông tin này với mục
đích gì Ví dụ, nhiều tổ chức tài chính lưu trữ thông tin "quãng đời" của khách
hàng nhằm mục đích tiếp thị các sản phẩm đảm bảo tới khách hàng ở những
khoảng thời gian thích hợp, sát với nhu cầu của khách hàng
Tiếp đó, các tổ chức cần phải xem xét các con đường khác nhau mà
thông tin của khách hàng được ghi nhận, dữ liệu về khách hàng được lưu trữ
như thế nào và ở đâu cũng như cách thức những dữ liệu này hiện đang được sử
dụng Một công ty có thể tương tác với khách hàng theo rất nhiều cách khác
nhau, chẳng hạn qua đường thư tín, Website, cửa hàng thực, trung tâm hỗ trợ
khách hàng, lực lượng bán hàng cơ động hoặc các chiến dịch tiếp thị và quảng
cáo Một hệ thống CRM mạnh phải có khả nǎng liên kết các "giao diện với
khách hàng" này với nhau Những luồng dữ liệu được thu thập qua các hệ
thống chức nǎng (như hệ thống bán hàng và quản trị kho hàng) sẽ được phân
tích để tìm ra các hình mẫu chung nhất cho từng nhóm khách hàng riêng biệt
Các chuyên gia phân tích của công ty sẽ xem xét kỹ càng các dữ liệu thu thập
và đưa ra đánh giá tổng quan về các nhóm khách hàng hoặc các vùng dịch vụ
cần được cải thiện chất lượng phục vụ
2.1.4 Có các chỉ số cho nhu cầu về triển khai dự án CRM?
Không có một cách thật cụ thể Tuy nhiên, để đánh giá nhu cầu của việc
triển khai dự án CRM, có thể dựa vào số lượng các kênh khách hàng sử dụng
để tương tác với công ty Càng có nhiều kênh, nhu cầu triển khai một hệ thống
CRM, qua đó doanh nghiệp có được một "khung nhìn" tập trung về khách
hàng là càng lớn
2.1.5 Việc triển khai một hệ thống CRM cần thời gian bao lâu?
Một số nhà cung cấp cho biết "giải pháp" CRM của họ có thể được cài
đặt và đi vào hoạt động chỉ trong phạm vi một tuần lễ Tuy nhiên, những "giải
pháp" này không hiệu quả về dài hạn vì nó không có khả năng cung cấp cho
Trang 20các nhà quản trị những thông tin tổng quan qua nhiều phân đoạn khách hàng
khác nhau Thời gian cần thiết để triển khai một dự án CRM đúng nghĩa phụ
thuộc vào mức độ phức tạp và các thành phần của dự án
2.1.6 Các loại dữ liệu mà dự án CRM cần phải thu thập?
Các dữ liệu điển hình mà một dự án CRM cần phải thu thậpgồm:
- Phản ứng của khách hàng đối với các chiến dịch khuyếchtrương và khuyến mại
- Ngày thực hiện đơn hàng và vận chuyển
- Số liệu về mua hàng và bán hàng
- Thông tin về tài khoản khách hàng
- Các dữ liệu đǎng ký qua Web
- Các hồ sơ hỗ trợ và dịch vụ
- Các dữ liệu nhân khẩu học
- Dữ liệu về bán hàng qua mạng
2.1.7 Đâu là chìa khóa thành công trong việc triển khai CRM?
Hãy phân tích dự án CRM thành các giai đoạn có thể quản lý được, từ
việc tiến hành các chương trình thử nghiệm đến việc đặt ra các mốc tiến độ
trong thời gian ngắn hạn Bắt đầu với một chương trình thử nghiệm, hợp nhất
dữ liệu của tất cả các phòng và nhóm làm việc mà qua đó có thể triển khai dự
án một cách nhanh nhất Dự án thử nghiệm vẫn phải có độ nhỏ gọn và mức
linh động cần thiết để có thể đổi cho phù hợp trong suốt thời gian tiến hành
Phải tính toán đầy đủ về lượng dữ liệu phải thu thập (có thể rất nhiều)
và đảm bảo rằng hệ thống cho phép có thể mở rộng khi cần thiết
Cân nhắc kỹ lưỡng về các dữ liệu được thu thập và lưu trữ Không phải
thu thập tất cả các loại dữ liệu mà chỉ những dữ liệu cần thiết Lưu trữ các dữ
liệu không sử dụng tới sẽ lãng phí thời gian và tiền bạc
Có khả nǎng nhận ra các đặc trưng cá nhân của khách hàng và phản ứng
một cách phù hợp Ví dụ, một hệ thống CRM nên có chức nǎng đặt giá sản
phẩm linh động phù hợp với các đối tượng khách hàng cụ thể
Trang 212.1.8 Lý do thất bại của một dự án CRM?
Có nhiều lý do dẫn đến sự thất bại của một dự án CRM Ngay từ đầu,
không thể có được một bức tranh trung thực, đẩy đủ về khách hàng nếu thiếu
sự truyền đạt, chia sẻ thông tin giữa những người, bộ phận trong "chuỗi" quan
hệ khách hàng Thiếu sự truyền đạt, chia sẻ thông tin làm cho các ứng dụng
công nghệ tuy được triển khai nhưng không không được hỗ trợ về mặt con
người Ví dụ, nếu bộ phận bán hàng luôn tìm cách từ chối cung cấp các thông
tin về khách hàng, dự án CRM không thể thành công
2.1.9 Ngành công nghiệp nào đang dẫn đầu về việc ứng dụng
CRM
Hiện nay, các công ty dịch vụ tài chính và viễn thông là 2 ngành đang
dẫn đầu trong việc ứng dụng CRM Tiếp đó là các công ty sản xuất hàng tiêu
dùng và các công ty bán lẻ ít ứng dụng CRM nhất là các công ty thuộc ngành
công nghiệp nặng
(tuvancrm.com - Theo CIO.com)
2.2.1 Kiến trúc SugarCRM
SugarCRM là phần mềm mã nguồn mở sử dụng hệ điều hành LAMP
(Linux, Apache,MySQL và PHP) Kể từ phiên bản 1.0, đội ngũ phát triển
SugarCRM đã thêm nhiều hỗ trợ cho mỗi hệ thống hoạt động (bao
gồm Windows, Unix và Mac OSX) mà trên những hệ thống đó sử dụng ngôn
ngữ lập trình PHP chạy trên Microsoft IIS Web server, Microsoft SQL Server,
và Oracle databases
Từ khi phát triển SugarCRM Open Source vào năm 2004, những nhân
viên của SugarCRM đã thiết kế mã nguồn ứng dụng cho phép những nhà phát
triển có thể tự kiểm tra và chỉnh sửa được Cơ sở ứng dụng Sugar có khuôn
mẫu mở rộng rất phức tạp được xây dựng trên ứng dụng cho phép những nhà
phát triển có thể có những thay đổi quan trọng trên ứng dụng theo cách thức tối
ưu và theo từng kiểu riêng biệt SugarCRM được thiết kế để hỗ trợ tối đa cho
những người sử dụng dù biết về code hay không biết về code php cũng có thể
có những tùy biến trong hệ thống của SugarCRM để đáp ứng nhu cầu của
Trang 22người sử dụng Nếu người sử dụng không biết về code php có thể sử dụng
công cụ developer trong màn hình admin để có những thiết lập cần thiết
Các ứng dụng của SugarCRM được xây dựng dựa trên module
framework, khi ứng dụng bắt đầu chạy sẽ gọi các entry point lên (mặc định sẽ
gọi index.php hoặc soap.php)
Entry point chính của SugarCRM khi được gọi lên là index.php Có 3
thông số chính trong việc gọi các entry point đó là:
- Module: sẽ gọi đến module được truy cập
- Action: gọi đến hành động được thực hiện khi gọi module
- Recort: là id dùng để truy cập
Tất cả các module được tạo ra hoặc cài đặt thông qua module loader
đều phải tồn tại trong đường dẫn <root><sugar/modules/tên module Dưới đây
là cấu trúc các thư mục trong SugarCRM
Cache : Các thư mục cache khác nhau được viết cho thư mục hệ thống
nhằm hạn chế những sự tiếp cận cơ sở dữ liệu và tăng tốc độ hiển thị nội dung
vì khi load trang web lên nội dung sẽ được lấy trong bộ nhớ cache
Custom: Thư mục này đảm nhận việc tập trung lại các chỉnh sửa của
những người phát triển, khi các nhà phát triển có những thay đổi trong Studio
Hình 2.1: Cấu trúc thư mục trong sugarCRM
Trang 23thì trong thư mục custom sẽ tự động sinh ra những code tương ứng với các
thay đổi đó, nhà phát triển hoàn toàn có thể có những chỉnh sửa cần thiết cho
hệ thống của mình bằng cách chỉnh sửa trong module custom này
Data: những files hệ thống quan trọng được lưu trữ tại đây, đáng chú ý
nhất là lớp cơ sở SugarBean nó kiểm soát trật tự ứng dụng mặc định cho mọi
đối tượng trong Sugar
Include: Nhiều chức năng có ích của Sugar được lưu trữ ở đây cũng
như những hàm xử lý khác mà Sugar dùng như là một phần trong hoạt động
của nó Đáng lưu ý nhất là file utils.php file nó chứa hầu hết các chức năng có
lợi rộng rãi nhất được sử dụng
Metadata: Thư mục này chứa các mối quan hệ giữa các module với
nhau
Modules: Bao gồm tất cả các chức năng trong hệ thống được hiển thị
trên web Những chương trình chức năng Custom được lắp đặt thông qua
Module Loader cũng hiển thị ở đây, các thao tác của người phát triển đều có
thể thực hiện ở thư mục Modules nhưng như thế sẽ ảnh hưởng cho việc tập
trung code và khó cho việc chỉnh sửa sau này
Đó là những module chính trong SugarCRM ngoài ra cũng còn có
những module khác như: service, soap, themes…
Thông thường mỗi module đại diện cho một thực thể tương ứng trong
mục đích kinh doanh, ví dụ như là module “contact” trong SugarCRM Một
module bao gồm 3 phần chính đó là lược đồ dữ liệu, giao diện người dùng và
chức năng ứng dụng Dưới đây là cấu trúc thư mục của một module của
SugarCRM :
Trang 24Dashlets: Sẽ là nơi chứa các mảng dùng để lưu trữ thông tin của
module có thể hiện thị ở trang chủ, mặc định ở trang chủ trong SugarCRM sẽ
hiển thị các thông tin chính của từng module Vì vậy nếu muốn hiển thị thông
tin gì của module ra ngoài màn hình trang chủ thì khai báo ở đây Mặc định
của Dashlets sẽ lấy màn hình Listview làm màn làm dashlets
Language: Là thư mục chưa định nghĩa của các chuỗi hiển thị trong
module Vì SugarCRM là một phần mềm đa ngôn ngữ, nên tất các các nhãn
của module sẽ được định nghĩa tại tại thư mục này để tiện lợi cho việc thay đổi
ngôn ngữ mà không ảnh hưởng đến việc hiển thị các chuỗi hiển thị ra ngoài
ứng dụng
Metadata: Thư mục này có nhiêm vụ lưu các file hiện thị của module
bao gồm việc hiển thị các subpanel, màn hình listview, detailview, editview
Tpls: Thư mục này chứa các dòng HTML đảm nhiệm việc hiển thị dữ
liệu ra bên ngoài màn hình ứng dụng
Views: Cách thức hiển thị dữ liệu của SugarCRM được sử dụng bằng
nhiều cách, và Views chính là thư mục để đảm nhiệm một trong các công việc
Hình 2.2: Cấu trúc thư mục của một module trong
SugarCRM
Trang 25đó, nơi này sẽ lưu các file php của màn hình editview, detailview hay là
listview
Khi giới thiệu về các thành phần của module thường hay nhắc đến màn
hình editview, detailview hay listview, các màn hình này sẽ đảm nhiệm những
công việc cụ thể cho việc hiển thị như sau:
ListView: Là màn hình sẽ hiển thị các danh sách các dữ liệu có trong
module, màn hình sẽ hiển thị mặc định khi nhấp vào một module nào đó, trong
màn hình này còn có các chức năng như search
EditView: Là màn hình hiển thị ra các trường để hiển thị các trường dữ
liệu hiện có của module để người sử dụng nhập vào
DetailView: Là màn hình hiển thị thông tin chi tiết dữ liệu đã được nhập
và đã được lưu xuống cơ sở dữ liệu
Bên cạnh các thư mục chính trên SugarCRM còn bao gồm những tâp tin
bổ sung như sau:
Form.php: Tập tin này có chức năng làm cho Javascript xác nhận các
hành động chỉnh sửa khi người sử dụng có những thay đổi
Menu.php: Tập tin này làm nhiệm vụ hiển thị ra các phím tắt menu,
được hiển thị ở bên trái phía trên của màn hình sử dụng, mỗi menu này sẽ liên
kết với màn hình listview, hay editview tùy theo từng trường hợp sử dụng
Vadefs.php: Tập tin này sẽ định nghĩa các trường dữ liệu của module,
các trường dữ liệu có thể được định nghĩa để lưu xuống database hoặc không
cho lưu xuống database
SugarBean.php: Tập tin này nằm dưới thư mục '<sugar root> / dữ liệu
chứa các lớp cơ sở SugarBean đều được sử dụng Bất kỳ module đọc, viết hoặc
hiển thị các dữ liệu sẽ mở rộng lớp này SugarBean thực hiện tất cả các
chức năng cho dữ liệu tương tác, xử lý mối quan hệ,
2.2.2 Tùy biến trong SugarCRM
SugarCRM được phát triển để giúp các người sử dụng dù không biết về
code PHP vẫn có thể có những chỉnh sửa về giao diện hoặc viết thêm các
module đơn giản để đáp ứng các yêu cầu của người sử dụng Phần này sẽ giải
thích các cách khác nhau để tùy chỉnh SugarCRM
Trang 26Cấu trúc các thư mục trong SugarCRM được tạo ra để giúp thực hiện
các tuỳ biến các module hiện tại hoặc tạo ra các module hoàn toàn mới Thông
qua các thành phần khác nhau, người sử dụng có thể mở rộng các chức năng
của SugarCRM một cách hiệu quả Với Module Builder và các công cụ Studio,
có sẵn từ trang chủ admin, cho phép người sử dụng có thể thực hiện các tùy
chỉnh phổ biến Ngoài ra người sử dụng có thể tiếp tục mở rộng phát triển hệ
thống bằng cách thêm các đoạn code PHP tùy ý trong các file của thư mục
Custom
2.2.2.1 Tùy biến trong SugarCRM bằng công cụ develop
Các tùy chỉnh phổ biến được thực hiện với các bộ công cụ phát triển
được cung cấp trong màn hình quản trị của SugarCRM Những công cụ này
bao gồm:
Studio - Chỉnh sửa Dropdowns, Fields, Layouts và Nhãn.
Module Builder - Xây dựng các module mới để mở rộng các
chức năng của SugarCRM
Module Loader - Thêm hoặc loại bỏ các module SugarCRM, chủ
đề, và các gói ngôn ngữ
Dropdown Editor - Thêm, xóa, hoặc thay đổi danh sách thả xuống
trong ứng dụng
Rename Tabs - Thay đổi nhãn của các tab module.
Display Tabs Module và Subpanels - Chọn tab module và bảng để hiển
thị trong ứng dụng
Hình 2.3: Các công cụ trong developer Tools
Trang 27Configure Grouped modules - Tạo, chỉnh sửa và gom nhóm các
module trong SugarCRM
Bởi vì SugarCRM là một ứng dụng mã nguồn mở, người sử dụng có thể
truy cập vào code Nhưng những tùy chỉnh code của người sử dụng thực hiện
trong các tập tin cốt lõi cần phải được repair lại cho đồng nhất với các thư mục
khác để tránh xảy ra xung đột
Các bước để tạo mới 1 module trong SugarCRM dựa trên các công cụ
có sẵn trong trang chủ của Admin Trong SugarCRM mỗi bảng dữ liệu đều
ứng với mỗi module được đặt tên tương ứng, ngoài ra SugarCRM còn hỗ trợ
cho việc tạo các mối quan hệ giữa các module với nhau thông qua công cụ
studio Dưới đây là các hình ảnh cũng như thao tác minh họa cho việc tạo mới
các module và thiết lập các mối quan hệ giữa các module với nhau
Bước 1: Tạo mới package (package là một gói có thể chứa một hoặc nhiều
module)
1 Tạo mới một package
B1: Vào Admin Module
Bulder
Màn hình Module Builder
Hình 2.4: Công cụ repair trong system
Trang 28B2: Tạo mới một package,
điền tên package, key và lưu
lại
Màn hình tạo mới một package
Bảng 2.1: Tạo mới một package trong SugarCRM
Để có thể tạo mới được một module trong hệ thống thì trước hết cần
phải tạo ra các package để chứa các module cần tạo mới, module builder giúp
tạo các gói package và xuất ra file Zip để người sử dụng có thể dễ dàng cài đặt
và di chuyển khi có những thay đổi trong SugarCRM
Bước tiếp theo sau khi tạo mới package là người sử dụng tạo các
module mới cũng như thiết lập các fields, các mối quan hê, các nhãn…
Bước 2: Tạo mới module
2
Tạo mới một module
B1: Click New Module
B2: Điền thông tin module
Module Name
Label
Chọn Type
Màn hình tạo mới một một module
Bảng 2.2: Tạo mới một module trong SugarCRM
Trang 29Nằm trong số sáu mẫu đối tượng có chứa các chức năng CRM được xây
dựng trước đối với từng trường hợp sử dụng CRM Những đối tượng này là:
“basic”, “company”, “file”, “issue”, “person”, and “sale” Mẫu “basic” cung
cấp các field như: tên, ngày tạo, và mô tả Phần còn lại của các mẫu này có
chứa các lĩnh vực để mô tả các thực thể tương tự lần lượt là “Accounts”,
Documents, “Cases”, “Contacts”, và “Opportunities” Vì vậy, để tạo ra một
Module để theo dõi các loại tài khoản, người sử dụng nên chọn mẫu
“Company” Tương tự như vậy, để theo dõi các tương tác của con người,
người sử dụng nên chọn “People” Người sử dụng dựa trên mục đích của mình
để chọn các mẫu có sẵn trong module Builder Nếu người sử dụng muốn tạo
mới module với các field cơ bản thì nên chọn mẫu “basic”
Khi đã tạo mới module và chọn các mẫu mặc định, người sử dụng tiến
hành tạo mới các field và các nhãn cho các field đó
Bước 3: Dùng studio trong module builder để tiến hành các chỉnh sửa
B2: Điền thông tin Fiels Save
Màn hình Add Field / Edit Field
Trang 30B: Edit View/Detail View
B1: Chọn Student Layouts
EditView
- EditView là giao diện thêm
mới hoặc chỉnh sửa một dòng
dữ liệu với Module đó
- DetailView là giao diện hiển
thị chi tiết của một trường dữ
liệu trong Modulel đó
B2: Tại đây người dùng có thể
kéo thả những Fields (đã add)
từ bên cửa sổ Toolbox sang
cửa sổ Layout và ngược lại
B2: Tại đây người dùng có thể
kéo thả những Fields (đã add)
từ bên cửa sổ Hidden sang
cửa sổ Available và ngược lại.
Save
Màn hình List View
Bảng 2.3: Tùy chỉnh module bằng công cụ Studio trong module builder
Với các thao tác trên người sử dụng có thể thiết lập các màn hình edit
view, detail view, list view, quick create trong phần layout
Trang 31Edit view: là màn hình tạo mới hoặc chỉnh sửa thông tin khi người
dùng bấm vào button edit hay create của module đó
Detail view: là màn hình xem chi tiết các thông tin.
List view: là màn hình danh sách các thông tin của module, cũng là màn
hình mặc định khi chọn vào mỗi module
Quick create: là màn hình tạo mới các thông tin cần thiết của mỗi
module
Trong module builder còn hỗ trợ cho việc tạo giao diện cho các
dashlet, popup view, search và các subpanel
Bước 4: Deloy module
Sau khi đã tạo được các thông tin cần thiết cho module, người sử dụng
sẽ tiến hành Deloy hoặc là Publish để có thể đưa module mới tạo vào trong hệ
Sau khi deploy Module này
đã được cài đặt vào Sugar
Chúng ta có thể vào Menu để
sử dụng Module này Màn hình Deploy module
Bảng 2.4: Deloy module để đưa vào sử dụng trong hệ thống SugarCRM
Sau khi packages mới được published, người sử dụng có thể xác nhận
packages này vào hệ thống của Sugar thông qua module Loader người sử dụng
sẽ upload file Zip vừa được publish
Trang 32Đó là các bước cơ bản để tạo mới một module đưa vào hệ thống Sau
khi đưa module mới vào hệ thống nếu người sử dụng có những thay đổi, cũng
như muốn xây dựng các mối quan hệ giữa module mới tạo với các module cũ
trong hệ thống, có thể vào phần Studio trong trang của Admin để tiến hành các
chỉnh sửa
Trong phần Studio này người sử dụng có thể tạo các mối quan hệ, cũng
như thay đổi lại các nhãn cho các module, người sử dụng có thể tạo các quan
hệ: 1-1, 1-n, n-n trực tiếp thông qua công cụ này
Đó chính các các bước để người sử dụng có thể tạo mới một module
đơn giản, và tạo các quan hệ giữa các module trong hệ thống mà không cần
hiểu biết nhiều code PHP Tuy nhiên nếu muốn mở rộng các ứng dụng của hệ
thống cần có những hiểu biết về cấu trúc của từng thư mục thì mới có chỉnh
sửa sâu vào hệ thống Dưới đây là phần giới thiệu về chức năng của từng thư
mục
Thư mục Custom: Hệ thống của Sugar có chứa 1 thư mục gọi là
“custom” Thư mục này chứa đựng các file Metadata và code để mở rộng các
chức năng của Sugar Một số file trong thư mục này được tự động tạo ra nhờ
Module Builder, Studio, và Workflow tools (Chỉ có ở Sugar Professional và
Sugar enterprise) và các file còn lại có thể được thêm vào hoặc chỉnh sửa trực
tiếp tuy vào người sử dụng Các file trong thư mục Custom bao gồm:
Vardefs : file này được dùng để định nghĩa các trường thuộc tính cho
một module nào đó Các vardefs có sẵn có thể được chỉnh sửa và ta có thể tạo
Hình 2.5: Tạo relationship trong công cụ studio
Trang 33ra các vardefs mới bằng cách thay đổi các file vardefs trong thư mục custom.
Người sử dụng nếu muốn chỉnh sửa hoặc thêm vào các file mới trong các thư
mục này:
custom/Extension/modules/<MODULE_NAME>/Ext/Vardefs/
Tuy nhiên cũng lưu ý đối với các file trong các thư mục:
custom/modules/<MODULE_NAME>/Ext/Vardefs/vardefs.ext.php
được tự động tạo ra bởi hệ thống và không nên chỉnh sửa Các file Vardefs có
thể thay thế toàn bộ các định nghĩa của các field hoặc chỉ thêm vào Nên repair
lại để các field được đồng nhất với nhau (Admin->Repair->Quick Repair and
Rebuild)
Languages: Người sử dụng có thể ghi đè lên các chuỗi hiển thị bằng
một ngôn ngữ nào đó hoặc tạo ra các chuỗi hoàn toàn mới bằng các chỉnh sửa
trong thư mục:
/custom/Extension/modules/<MODULE_NAME>/Ext/Language/
(for $mod_strings only)
2.2.2.2 Tùy biến trong SugarCRM bằng code
Trong khi lợi ích chính của module builder là người quản trị có thể tạo
một module hoàn toàn mới mà không phải viết code, tuy nhiên vẫn còn một
vài công việc cần phải viết bằng code PHP, lấy ví dụ như là : chỉnh sửa các
quan hệ hoặc các dịch vụ liên quan đến Web Serivce
Ý nghĩa của các biến trong SugarCRM:
id - Một id duy nhất cho module.
language - Một mảng trong đó chứa chi tiết các file ngôn ngữ riêng lẻ
cho Module của người phát triển Patch nguồn, file đích, và tên language pack
phải được quy định cho mỗi file language
layoutdefs - Một mảng trong đó chi tiết các file layoutdef riêng lẻ, được
sử dụng chủ yếu để thiết lập các subpanels trong các Module khác Các patch
nguồn và Module đích phải được quy định cho mỗi file layoutdef
layoutfields - Một mảng trong đó chi tiết các fields custom được thêm
vào các layout hiện có Các fields sẽ được thêm vào các views edit và detail
của Module
Trang 34vardefs - Một mảng trong đó chi tiết các files vardef riêng lẻ, được sử
dụng chủ yếu để xác định các fields và các mối quan hệ phi nhiều-nhiều (non
many-to-many) trong các Module khác Các patch nguồn và module đích phải
được quy định cho mỗi file vardef
menu - Một mảng trong đó chi tiết các file menu cho module mới của
người phát triển Một patch nguồn và module đích phải được quy định cho mỗi
file menu
beans - Một mảng trong đó quy định cụ thể các file bean cho module
mới của người phát triển.
class: tên class cơ sở Module.
patch: patch (đường dẫn) đến file Bean của người phát triển nơi mà các
class ở trên được định nghĩa.
tab: Những kiểm soát liệu Module mới của người phát triển có nên hay
không nên xuất hiện như một tab
relationships - Một mảng trong đó chi tiết các file quan hệ, được sử
dụng để liên kết các Module mới của người phát triển với các module hiện có.
Một patch metadata phải được quy định cho mỗi mối quan hệ
custom_fields - Một mảng trong đó chi tiết các field custom để được cài
đặt cho Module mới của người phát triển.
name: tên nội bộ field custom của người phát triển Lưu ý rằng field
custom của người phát triển sẽ được gọi là c_<name>, như là "c_" chỉ dẫn một
field custom
label: Nhãn có thể nhìn thấy field custom của người phát triển
type: loại của field custom Các giá trị được chấp nhận bao gồm text,
textarea, double, float, int, date, bool, enum, và relate
max_size: Kích cỡ lưu trữ đặc tính tối đa lưu trữ của field custom.
require_option: Được sử dụng để đánh dấu các field custom hoặc theo
yêu cầu hoặc là tùy chọn Giá trị được chấp nhận bao gồm tùy chọn và theo
yêu cầu
default_value: Được sử dụng để xác định một giá trị mặc định cho field
custom của người phát triển
Trang 35ext1: Được sử dụng để xác định một dropdown name (chỉ áp dụng đối
với enum type custom fields).
ext2: không được sử dụng.
ext3: không được sử dụng.
audited: Được sử dụng để biểu hiện một field custom có hay không
được kế thừa Giá trị được chấp nhận bao gồm 0 và 1.
module: Được sử dụng để xác định các module, nơi mà các field
custom sẽ được thêm vào.
Thư mục vadefs đóng vai trò hết sức quan trọng nên việc thao tác ở thư
mục này cần có những hiểu biết nhất định Khi ứng dụng SugarCRM được gọi
lên, các trường được định nghĩa trong thư mục:
custom /modules/C_ /Ext/Vadefs/vardefs.ext.php
sẽ được gọi lên trước, vì thế nên khi định nghĩa các trường dữ liệu thì người sử
dụng nên định nghĩa ở thư mục này hoặc thư mục:
custom/Extension/modules/C_ /Ext/
sau đó vào admin tiến hành repair để đồng nhất dữ liệu
Đây là cách thêm một trường dữ liệu vào module C_Student, với vname
sẽ được khai báo trong thư mục:
?>
Trang 36Khi đã khai báo xong hết, muốn đưa trường dữ liệu này vào sử dụng thì
vào admin/repair để tiến hành repair cho đồng nhất dữ liệu, khi đó dữ liệu này
sẽ được đồng nhất với dữ liệu trong module gốc
Muốn hiển thị các trường dữ liệu này trên giao diện người dùng, chẳng
hạn giao diện editview thì cần thực hiện như sau:
Vào thư mục custom/mudules/C_Student/metadata/editviewdefs.php chỉnh sửa:
Với các kiến thức về hệ thống SugarCRM người sử dụng có thể thao tác
chỉnh sửa hoặc nâng cấp các module chức năng của mình một cách hiệu quả,
người sử dụng phải có các kiến thức cơ bản về code PHP, Jquery, lập trình
hướng đối tượng… Và muốn trích lọc được dữ liệu phải thao tác được trên
1 => array ( 'name' => 'address_student', 'label' => 'LBL_ADDRESS_STUDENT', ),
),
Trang 37Chương 3: GIỚI THIỆU VỀ CLOUD COMPUTING
Người ta định nghĩa một cuộc cách mạng là một sự thay đổi trong cách
mọi người suy nghĩ và hành xử, sâu sắc về bản chất và rộng lớn về phạm vi
Theo định nghĩa đó, điện toán đám mây quả thực là một cuộc cách mạng Bắt
đầu từ giữa năm 2007, thuật ngữ công nghệ thông tin có thêm một từ mới, điện
toán đám mây (cloud computing) Điện toán đám mây đang tạo ra một sự thay
đổi cơ bản trong kiến trúc máy tính, phát triển phần mềm, các công cụ và tất
nhiên, cả trong cách chúng ta lưu trữ, phân phối và sử dụng thông tin Mặc dù
điện toán đám mây chỉ là một cách khác để cung cấp các tài nguyên máy tính,
chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi một cuộc cách
mạng trong cách cung cấp thông tin và dịch vụ của các tổ chức
3.1.1 Định nghĩa Cloud Computing
Cloud-computing hiện vẫn là mẫu hình đang tiến hoá, những định nghĩa
về mô hình này vẫn chưa thống nhất, mỗi nhóm nghiên cứu đưa ra định nghĩa
theo cách hiểu, cách tiếp cận riêng của mình
Hình 3.1: Giới thiệu về Cloud Computing
Trang 38Cloud computing là dịch vụ IT được cung cấp không phụ thuộc vào vị
trí (“The Cloud computing is IT as a Service delivered by IT resource that are
denpendent of location” - The 451 Group)[1]
Cloud Computing cung cấp các tài nguyên IT có khả năng mở rộng và
co giãn, các tài nguyên này được cung cấp dạng dịch vụ thông qua Internet
(“Cloud computing is a style of computing where massively scalable
IT-enabled capabilities are delivered “as a service” to external customers using
Internet technologies - Gartner”)[1]
Những định nghĩa trên đều có một điểm chung là họ cố gắng định nghĩa
Cloud Computing theo hướng thương mại, từ góc nhìn của người dùng cuối
Theo đó, tính năng chủ yếu của Cloud Computing là cung cấp cơ sở hạ tầng và
các ứng dụng về IT dưới dạng dịch vụ có khả năng mở rộng được
Theo Rajkumar Buyya: Cloud là một loại hệ thống phân bố và xử lý
song song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho
người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận
dịch vụ giữa nhà cung cấp và người sử dụng
(“A Cloud is type of parallel and distributed system consisting of a collection
of interconnected and virtualized computers that are dysnamically provisioned
and presented as one or more unified computing resource based on
service-Hình 3.2: Chưa có một cái nhìn khái quát về Cloud
Computing
Trang 39level agreements established through negotiation between the service provider
and consumers ”)[2]
Theo IBM:
“Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ
thông tin như một dịch vụ Nó là một giải pháp điện toán dựa trên Internet ở đó
cung cấp tài nguyên chia sẻ giống như dòng điện được phân phối trên lưới
điện Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau
và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là
chúng đang chạy trên một hệ thống duy nhất.” [3]
Theo NIST:
Điện toán đám mây là một mô hình cho phép truy cập mạng dễ dàng,
theo yêu cầu, đến một tài nguyên điện toán chia sẻ (như network, máy chủ,
không gian lưu trữ, ứng dụng và dịch vụ), có thể nhanh chóng cung cấp và thu
hồi với chi phí quản lý và tương tác với nhà cung cấp dịch vụ tối thiểu
(“Cloud computing is a model for enabling convenient, on-demand network
access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned
and released with minimal management effort or service provider
interaction.”) [4]
Hình 3.3: Định nghĩa về Cloud
Trang 40Cả ba định nghĩa của Rajkumar Buyya, IBM và NIST đều định nghĩa
Cloud Computing là một hệ phân phối, cung cấp các dạng tài nguyên ảo dưới
dạng dịch vụ một cách linh động theo nhu cầu của người dùng trên môi trường
internet Những định nghĩa trên đã nêu ra những đặc tính cơ bản nhất của điện
toán đám mây và những đặc tính đó sẽ được trình bày rõ hơn trong phần dưới
đây:
3.1.2 Các tính chất của Cloud Computing
Cloud Computing có năm tính chất nổi bật (Essential characteristics)
so với mô hình truyền thống
3.1.2.1 Truy xuất diện rộng (Broad network access)
Cloud Computing cung cấp các dịch vụ thông qua môi trường
internet, ở đó người dùng thích dịch vụ gì thì dùng dịch vụ ấy, dùng bao nhiêu
trả bấy nhiêu, được lựa chọn những dịch vụ tốt nhất ở bất cứ đâu vào bất cứ
lúc nào Như vậy người dùng có kết nối internet là có thể sử dụng dịch vụ,
Cloud Computing Service không yêu cầu người dùng phải có khả năng xử lý
cao, người dùng có thể truy xuất bằng các thiết bị di dộng như điện thoại,
PDA, laptop Cloud Computing giúp người dùng không còn bị phụ thuộc vào
vị trí nữa, họ có thể truy xuất dịch vụ từ bất kỳ nơi nào, bất kỳ lúc nào có kết
nối Internet
Hình 3.4: NIST Visual Model of Cloud Computing Definition