Tải bản đầy đủ (.doc) (65 trang)

xây dựng dịch vụ đám mây giới thiệu việc làm theo định hướng universal usability

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 65 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG DỊCH VỤ ĐÁM MÂY GIỚI
THIỆU VIỆC LÀM THEO ĐỊNH HƯỚNG
UNIVERSAL USABILITY
Sinh viên thực hiện : Trần Đắc Long
Lớp CNPM – K51
Giáo viên hướng dẫn: TS Vũ Thị Hương Giang
HÀ NỘI 5-2011
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Trần Đắc Long
Điện thoại liên lạc: 01664253266 Email:
Lớp: CNPM-K51 Hệ đào tạo: Chính qui
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Công nghệ phần mềm, Viện CNTT&TT, Đại
học Bách Khoa Hà Nội.
Thời gian làm ĐATN: Từ ngày 21/02 /2011 đến 15/05/2011
2. Mục đích nội dung của ĐATN
Xây dựng dịch vụ đám mây “Giới thiệu việc làm” theo định hướng sử dụng phổ quát bao
gồm có 3 thành phần chính. Thành phần thứ nhất là dịch vụ dựa trên nền tảng PaaS google
app engine do Google cung cấp có giao diện web, sẽ có nhiệm vụ chính là nơi cung cấp
các dịch vụ webservice để dịch vụ khác có thể sử dụng. Thành phần thứ hai là dịch vụ giới
thiệu việc làm trên trang để phục vụ cho nhiều đối tượng sử
dụng, và cuối cùng là ứng dụng Android cung cấp phương thức tìm kiếm việc làm theo các
tiêu chí phù hợp, tìm kiếm các nhà tuyển dụng gần vị trí của người sử dụng thông qua thiết
bị định vị.
3. Các nhiệm vụ cụ thể của ĐATN


Nội dung công việc:
Công việc 1:
- Tìm hiểu đề tài
- Tìm hiểu kiến trúc phần mềm hướng dịch vụ SOA
Công việc 2:
- Tìm hiểu android, cách hiển thị trang web trên điện thoại
Công việc 3:
- Xây dựng dịch vụ đám mây giới thiệu việc làm theo định hướng sử dụng phổ quát
với việc xây dựng 3 thành phần chính đã nêu trong phần mục đích.
Công việc 4:
- Tổng kết quá trình thực hiện đồ án, nộp báo cáo theo thời hạn được Viện quy
định.
4. Lời cam đoan của sinh viên:
Tôi Trần Đắc Long cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của TS Vũ Hương Giang.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ
công trình nào khác.
Hà Nội, ngày tháng năm
Tác giả ĐATN
Trần Đắc Long
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
TS Vũ Thị Hương Giang
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Hiện tại nước ta có tỉ lệ người trong độ tuổi lao động chiếm phần lớn dân số cả nước,
trong đó người có hoàn cảnh khó khăn do khuyết tật chiếm 7% dân số cả nước. Họ không
có nhiều cơ hội để tiếp cận với thông tin việc làm do các vấn đề liên quan đến sức khỏe và
điều kiện kinh tế khó khăn. Do đó nhu cầu tìm kiếm việc làm là rất lớn, vì thế cần có một

dịch vụ hỗ trợ được tìm kiếm việc làm dưới định dạng dễ truy cập, sử dụng phù hợp với
nhiều đối tượng sử dụng.
Để đáp ứng nhu cầu đó , đề tài đồ án tốt nghiệp có tên “Xây dựng dịch vụ đám mây Giới
thiệu việc làm theo định hướng Universal Usability”, với mục đích tạo ra 1 ứng dụng tin
học dễ sử dụng, có tính truy cập cao để hỗ trợ tìm kiếm, đăng tuyển việc làm với nhiều đối
tượng sử dụng khác nhau.
Hiện nay hầu hết các trang web giới thiệu việc làm đều mới chỉ dừng ở mức độ giới
thiệu thông tin việc làm do từng tổ chức hay công ty giới thiệu việc làm cung cấp, không
tổng hợp được nhiều luồng thông tin cho người dùng, do đó giải pháp giải quyết của em là
kết hợp mô hình điện toán đám mây hướng dịch vụ với hướng sử dụng phổ quát để xây
dựng ứng dụng phù hợp với yêu cầu đặt ra.
Sau quá trình phát triển và thử nghiệm, dịch vụ được xây dựng gồm có ba thành phần
chính. Thành phần thứ nhất là trang web dựa trên nền tảng PaaS google app engine do
Google cung cấp, trang web sẽ có nhiệm vụ chính là nơi cung cấp các dịch vụ webservice
để dịch vụ khác có thể sử dụng. Thành phần thứ hai là dịch vụ giới thiệu việc làm trên
trang để phục vụ cho nhiều đối tượng sử dụng, và cuối cùng là
ứng dụng Android cung cấp phương thức tìm kiếm việc làm theo các tiêu chí phù hợp, tìm
kiếm các nhà tuyển dụng gần vị trí của người sử dụng thông qua thiết bị định vị.
ABSTRACT OF THESIS
At present our country in the proportion of working age accounted for most of the national
population, including disadvantaged persons with disabilities accounted for 7% of the
national population. They do not have many opportunities to access job information by
issues related to health and difficult economic conditions. Hence the need to find a job is
huge, so need a support services are finding jobs easily accessible format, used to suit the
users.
To meet this demand, the subject graduation thesis entitled "Building a cloud service Job-
oriented Universal Usability", with the purpose of creating an informatics application easy
to use, taking into account access Advanced search for assistance, job in many different
subjects using.
Currently most of the job site will stop only at referral level job information held by each

company or job offer, do not synthesize multiple streams of information to users, so my
solution solve the combined model cloud with a service orientation towards the universal
use to build applications in line with the requirements set forth.
After development and testing, construction services include three main components. The
first component is a web-based PaaS google app engine provided by Google, the site will
be the main task is to provide services to other service WebService can be used. The
second component is a referral service on to serve for many
uses, and finally the Android application provides a way of seeking employment according
to criteria consistent instances, employers look for near the user's location through GPS
receivers.
MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3
MỤC LỤC 5
DANH MỤC CÁC HÌNH VẼ 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 10
MỞ ĐẦU 1
I.Bài toán Giới Thiệu Việc Làm 3
Định hướng giải quyết 4
Giải pháp 5
Cơ sở lý thuyết và các công cụ sử dụng 6
4.1Cơ sở lý thuyết 6
4.1.1Cloud Computing 6
4.1.2Universal Usability 7
4.2Các công cụ sử dụng 8
4.2.1Ứng dụng trên cloud - Google App Engine 8
4.2.2Ứng dụng trên di động với Android 9
4.2.3Xây dựng ứng dụng web với DotNetNuke 11
PHẦN 2: CÁC KẾT QUẢ ĐẠT ĐƯỢC 13

I.Phân tích và thiết kế dịch vụ Giới Thiệu Việc Làm 13
1.2.1Chức năng cho người dùng đăng ký 14
1.2.2Chức năng cho nhà tuyển dụng 16
1.2.3Chức năng cho nhà phát triển 17
1.2.4Chức năng cho admin 17
1.3.1Các bảng trong dịch vụ 19
1.3.2Các bảng liên quan đến cơ chế phân quyền của DotNetNuke framework 26
1.4.1Tìm việc 29
1.4.2Đăng tuyển 29
1.4.3Tìm vị trí nhà tuyển dụng 30
II.Cài đặt 31
2.1Kiến trúc cài đặt dịch vụ Giới Thiệu Việc Làm 31
2.3Dữ liệu 32
III.Triển khai và thử nghiệm 37
3.2.1Kiểm thử đơn vị 37
3.2.2Kiểm thử tích hợp 40
3.4.1Trang web trên nền tảng GAE 47
3.4.2Dịch vụ Giới thiệu việc làm trên trang cungkhoinghiep.net 48
3.4.3Ứng dụng Android 48
3.4.4Khả năng ứng dụng của dịch vụ 48
3.4.5So sánh với các sản phẩm khác 49
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 52
DANH MỤC CÁC HÌNH VẼ
Hình 1. Sơ đồ tổng quan hệ thống 5
Hình 2. Mô hình điện toán đám mây (Cloud Computing) 7
Hình 3. Google App Engine Launcher 8
Hình 4. Các thành phần chính của hệ điều hành Android 9
Hình 5. Kiến trúc Dotnetnuke 11
Hình 6. Các đối tượng tham gia hệ thống 13

Hình 7. Các chức năng chính của dịch vụ 14
Hình 8: Sơ đồ liên kết giữa các bảng 20
Hình 9. Mô hình dữ liệu của Dotnetnuke framework về phân quyền 26
Hình 10. Miêu tả các bước tìm việc 29
Hình 11. Miêu tả các bước đăng tuyển 30
Hình 12. Miêu tả các bước tìm vị trí nhà tuyển dụng 30
Hình 13. Cấu trúc cài đặt dịch vụ 31
Hình 14. Lấy giá trị từ XML 33
Hình 15. Chuyển thành DataTable 33
Hình 16. Giao diện tìm kiếm 38
Hình 17. Giao diện xem chi tiết 38
Hình 18. Giao diện tìm kiếm nhà tuyển dụng 39
Hình 19. Bắt đầu chương trình 41
Hình 20. Giao diện tìm nhà tuyển dụng 42
Hình 21. Giao diện chi tiết nhà tuyển dụng 42
Hình 22. Giao diện tìm việc 43
Hình 23. Giao diện danh sách việc làm 43
Hình 24. Giao diện chính trang web trên nền tảng GAE 44
Hình 25. Giao diện chính của trang web cung cấp dịch vụ Giới Thiệu Việc Làm 45
Hình 26. Chuẩn theo Mã G21 45
Hình 27. Chuẩn theo Mã G130 46
Hình 28. Chuẩn theo Mã G89 46
Hình 29. Chuẩn theo Mã G161 46
Hình 30. Chuẩn theo Mã H32 46
Hình 31. Chuẩn theo Mã H74 47
Hình 32. Chuẩn theo Mã h84 47
DANH MỤC CÁC BẢNG
Bảng 1: Bảng NguoiDung 21
Bảng 2: Bảng VaiTro 21
Bảng 3: Bảng LinhVuc 21

Bảng 4: Bảng NganhNghe 21
Bảng 5: Bảng NganhNghe_NguoiDung 22
Bảng 6: Bảng TinhThanh 22
Bảng 7: Bảng DoiTuong 22
Bảng 8: Bảng DoiTuong_NguoiDung 22
Bảng 9: Bảng QuiMo 23
Bảng 10: Bảng LoaiHinh 23
Bảng 11: Bảng MucLuong 23
Bảng 12: Bảng CapBac 23
Bảng 13: Bảng NhaTuyenDung 24
Bảng 14: Bảng NhaTuyenDung_NguoiDung 24
Bảng 15: Bảng DonDangTuyen 25
Bảng 16: Bảng DonDangTuyen_DoiTuong 25
Bảng 17: Bảng TrangThai 26
Bảng 18: Bảng User 28
Bảng 19: Bảng UserProfile 28
Bảng 20: Bảng Roles 28
Bảng 21: Bảng RoleGroup 29
Bảng 22: Bảng UserRoles 29
Bảng 23: Bảng Employees 32
Bảng 24: Dịch vụ addLinhVuc 34
Bảng 25: Dịch vụ getLinhVuc 34
Bảng 26: Dịch vụ Bảng deleteLinhVuc 34
Bảng 27: Dịch vụ addLinhVuc 34
Bảng 28: Dịch vụ getNganhNghe 34
Bảng 29: Dịch vụ deleteNganhNghe 35
Bảng 30: Dịch vụ addDoiTuong 35
Bảng 31: Dịch vụ getDoiTuong 35
Bảng 32: Dịch vụ deleteDoiTuong 35
Bảng 33: Dịch vụ addNhaTuyenDung 35

Bảng 34: Dịch vụ getNhaTuyenDung 36
Bảng 35: Dịch vụ addDonDangTuyen 36
Bảng 36: Dịch vụ getDonDangTuyen 36
Bảng 37: Yêu cầu giao diện 38
Bảng 38: Các tình huống test 40
Bảng 39: Kiểm thử tính đầy đủ của hệ thống 40
Bảng 40: Phân tích và lấy dữ liệu 40
Bảng 41: Quản trị cơ sở dữ liệu 40
Bảng 42: Hiệu năng chương trình 40
Bảng 43: So sánh khả năng đáp ứng truy cập 49
Bảng 44: So sánh khả năng sử dụng phổ quát 49
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
GAE Google App Engine
WCAG Web Content Accessibility Guidelines
SOA Service Oriented Architect
DB Database
LỜI CẢM ƠN
Em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, Trường Đại học
Bách Khoa Hà Nội đã hỗ trợ tạo nhiều điều kiện thuân lợi cho chúng em trong quá
trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp.
Em xin ghi nhận lòng biết ơn sâu sắc đến TS Vũ Thị Hương Giang đã tận
tình hướng dẫn, định hướng và truyền đạt cho em những kiến thức quý báu cùng với
những lời động viên khuyến khích của Cô trong những lúc khó khăn, gặp trở ngại
khi thực hiện đề tài.
Em cũng xin chân thành cảm ơn các thầy cô trong bộ môn Công Nghệ Phần
Mềm đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết trong
suốt quá trình học tập và nghiên cứu.
Cuối cùng tôi xin gửi lời cám ơn đến bạn bè đã hỏi thăm động viên khuyến
khích và giúp đỡ tôi trong quá trình thực hiện đề tài.
Mặc dù em đã cố gắng hết mình để hoàn thành tốt đề tài của mình nhưng dù sao

những điều sai sót trong đề tài là không thể tránh khỏi, kính mong các Thầy Cô
thông cảm và tận tình chỉ bảo cho em, mong các bạn đóng góp ý kiến để em có thể
hoàn thiện đề tài của mình hơn.
MỞ ĐẦU
1. Giới thiệu
Nhu cầu ngày càng tăng của công nghệ di động và Internet đã tạo ra cả một thế giới
công việc mới, vai trò của ngành công nghệ thông tin và truyền thông ngày càng
quan trọng. Là chiếc cầu nối giữa những miền đất mà thông tin chưa được kết nối
cũng như mang lại sức mạnh cho con người, giúp họ giao tiếp, hợp tác và tiếp cận
hiệu quả những dữ liệu quan trọng nhất mà họ cần. Đồng thời với sự phát triển này
dẫn đến các nguồn tài nguyên, lượng dữ liệu, thông tin lưu trữ ngày càng lớn, gây
khó khăn trong việc quản lý thông tin của các doanh nghiệp vừa và nhỏ. Để giải
quyết vấn đề trên các công ty trong lĩnh vực công nghệ thông tin đã đưa ra nhiều
giải pháp phù hợp. Hiện nay, một giải pháp đang được áp dụng rộng rãi và đang trở
thành xu hướng, đã giải quyết được vấn đề này và mang lại hiệu quả kinh tế cao cho
doanh nghiệp đó là khái niệm cloud computing.
Cloud computing (điện toán đám mây), còn gọi là điện toán máy chủ ảo, là mô hình
điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.
Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet và như một liên
tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mô hình điện toán này,
mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các
"dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung
cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về
công nghệ, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ cho công
nghệ đó.
Trong đó, tìm kiếm việc làm phù hợp là một trong những nhu cầu cấp thiết của mọi
người, đặc biệt là những người đang trong độ tuổi lao động. Sử dụng công nghệ
thông tin để giới thiệu việc làm và hỗ trợ người lao động tìm kiếm việc làm là cách
tiếp cận đúng đắn, phổ biến ở Việt Nam và trên thế giới. Tuy nhiên, hiện nay hầu
hết các trang web giới thiệu việc làm đều mới chỉ dừng ở mức độ giới thiệu thông

tin việc làm do từng tổ chức hay công ty giới thiệu việc làm cung cấp, không tổng
hợp được nhiều luồng thông tin cho người dùng. Người dùng chỉ có thể tìm kiếm
việc làm theo một danh sách hạn chế các tiêu chí như lĩnh vực, công ty tuyển
dụng… Việc tiếp cận và sử dụng thông tin việc làm trên những trang web này cũng
kém hiệu quả, do việc thiết kế trang web thiên về thiết kế giao diện chứ không quan
tâm đến tính tiện dụng, không tính đến năng lực hành vi hay bối cảnh sử dụng của
người dùng. Người dùng chưa được lựa chọn các phương thức tiếp cận thông tin
phù hợp. Lượng thông tin việc làm cũng bị hạn chế bởi những lý do khách quan như
dung lượng lưu trữ, truy cập của server .
Với mong muốn tìm hiểu về điện toán đám mây để ứng dụng vào vấn đề tìm kiếm
việc làm, em đã chọn và thực hiện đề tài :
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 1
Xây dựng dịch vụ đám mây Giới thiệu việc làm theo định hướng Universal
usability
2. Nhiệm vụ được giao trong đề tài
• Tìm hiểu về mô hình cloud computing.
• Xây dựng dịch vụ Giới thiệu việc làm trên nền tảng Google App Engine
(GAE).
• Xây dựng trang web trên nền tảng của GAE.
• Tích hợp ứng dụng giới thiệu việc làm trong website
.
• Xây dựng ứng dụng trên điện thoại di động Android thông qua dịch vụ tìm
kiếm việc làm, tìm kiếm các nhà tuyển dụng gần vị trí hiện tại của người
dùng.
3. Bố cục đồ án tốt nghiệp
Đồ án bao gồm có 4 phần chính. Trong đó, phần 1 là phần mở đầu, giới thiệu
tổng quan về đồ án và công nghệ sử dụng. Phần 2 là đặt vấn đề và định hướng
giải pháp, nêu các phương hướng phát triển cho đồ án. Phần 3 là các kết quả đạt
được trong đồ án bao gồm kết quả phân tích thiết kế dịch vụ, kết quả thực hiện
cài đặt và thử nghiệm dịch vụ, đánh giá ưu nhược điểm và khả năng sử dụng của

dịch vụ. Cuối cùng là phần 4, phần kết luận.
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 2
PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
Phần thứ nhất nêu vấn đề và định hướng giải pháp của bài toán Giới Thiệu Việc
Làm và những công việc cần thực hiện và các công cụ sử dụng để hoàn thành yêu
cầu đồ án đặt ra.
I. Bài toán Giới Thiệu Việc Làm
Bài toán Giới Thiệu Việc Làm được phát triển trên nền đám mây theo định hướng
universal usability (sử dụng phổ quát), cung cấp cho đối tượng người sử dụng có
các hành vi khác nhau có nhu cầu tìm việc, bao gồm cả người bình thường và người
mắc các loại khuyết tật khác nhau, trên nhiều thiết bị khác nhau. Mặt khác cung cấp
chức năng đăng ký thành nhà tuyển dụng, hỗ trợ xác định vị trí nhà tuyển dụng
thông qua google maps, để cung cấp một cách trực quan nhất có thể các dịch vụ như
dịch vụ tìm các nhà tuyển dụng theo vị trí hiện tại của người dùng thông qua GPS,
do đó đặt ra các yêu cầu sau:
Sử dụng giao diện web để thực hiện các chức năng
Tại trang
A. Người dùng:
1. Đăng nhập
2. Tìm việc
B. Nhà tuyển dụng
1. Đăng ký nhà tuyển dụng
2. Sửa đổi thông tin nhà tuyển dụng
3. Quản lý đơn đăng tuyển
C. Quản trị
1. Quản lý ngành nghề
2. Quản lý lĩnh vực
3. Quản lý nhà tuyển dụng
4. Quản lý xét duyệt đơn đăng tuyển
Tại trang web trên nền tảng google app engine

- Xây dựng trang web trên cloud có chức năng cung cấp dữ liệu về nhà
tuyển dụng cho các ứng dụng của nhà phát triển về tìm kiếm việc làm
theo nhiều đối tượng sử dụng. Gồm các chức năng chính sau:
- Cung cấp giao diện tìm kiếm các nhà tuyển dụng thông qua vị trí qua
google map api.
- Cung cấp phương thức đăng ký thành nhà tuyển dụng, nhà phát triển.
- Nhà tuyển dụng có quyển đăng tuyển ngay trên trang web host
(). Quản lý người dùng dịch vụ thông qua
key được cấp.
- Cung cấp các service để sử dụng bên phía client.
Sử dụng giao diện điện thoại di động
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 3
- Hỗ trợ định vị tự động vị trí người dùng với điện thoại di động sử dụng hệ
điều hành android, tìm kiếm các nhà tuyển dụng ở vị trí lân cận với vị trí
người dùng.
- Người dùng nhập thông tin về sở thích ngành nghề, mức lương (dữ liệu sẽ
được lưu trên máy điện thoại cá nhân) sau đó ứng dụng sẽ hiển thị tương ứng
các việc làm phù hợp.
Định hướng giải quyết
Do yêu cầu của bài toán đặt ra là xây dựng dịch vụ điện toán đám mây giới thiệu
việc làm theo định hướng sử dụng phổ quát (định nghĩa cloud computing và
universal usability sẽ được định nghĩa chi tiết trong phần Cơ sở lý thuyết và công cụ
sử dụng -phần IV), vì thế em có định hướng giải quyết như sau:
2.1Định hướng cloud computing
Để đáp ứng với sự đa dạng của bài toán, em sử dụng dịch vụ điện toán đám mây do
dịch vụ đám mây sẽ đáp ứng được yêu cầu sau:
- Giảm chi phí: giảm chi phí một cách đáng kể do không phải đầu tư cơ sở hạ
tầng, được sử dụng sẵn các tài nguyên một cách nhanh chóng và ít tốn kém
- Đa phương tiện: Người dùng có thể truy hệ thống bằng cách sử dụng trình
duyệt web mà không quan tâm đến vị trí của họ hay thiết bị nào đang dùng,

như PC,mobile …
- Độ tin cậy : giảm được các rủi ro có thể xảy ra nhờ khả năng khôi phục thất
bại
Theo mô hình này, em nhận thấy sử dụng mô hình phát triển phần mềm dưới dạng
PaaS (nền tảng như một dịch vụ) là phù hợp do PaaS cung cấp phương thức triển
khai ứng dụng mà không cần tốn chi phí lớn để mua và quản lý phần cứng phần
mềm và được cung cấp hosting, đầy đủ các công cụ cho quá trình hoàn thành các
ứng dụng web và services dựa hoàn toàn trên internet. Trong các PaaS đang tồn tại,
em chọn dịch vụ PaaS miễn phí của Google là Google App Engine với các đặc
điểm sau:
Thuận lợi:
- Dễ dàng phát triển trang web, với các API có sẵn như về cách quản lý, truyền gửi
dữ liệu, viết các web service.
Khó khăn:
– Ràng buộc bởi nhà cung cấp: do giới hạn phụ thuộc và dịch vụ của nhà cung
cấp Google chỉ cung cấp hai ngôn ngữ để phát triển là Python và Java.
2.2Định hướng universal usability
Để có thể đáp ứng với yêu cầu dễ dàng sử dụng dịch vụ của bài toán, qua phân tích
tìm hiểu em đã tập trung giải quyết theo hướng universal usability:
- Đa dạng phần cứng bao gồm thiết bị máy tính và thiết bị điện thoại thông minh sử
dụng hệ điều hành Android có định vị GPS, xây dựng ứng dụng tìm kiếm nhà tuyển
dụng theo hệ thống định vị tự động GPS thông qua dữ liệu trên cloud do trang web
hệ thống cung cấp.
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 4
- Đáp ứng nhiều đối tượng người sử dụng thông qua trang
,
xây dựng dịch vụ để miêu tả chức năng của nhà phát triển trong hệ thống, đồng thời
đầy đủ chức năng, giao diện theo chuẩn WCAG 2.0, đáp ứng theo chuẩn universal
usability: theo nhiều đối tượng sử dụng trang web.
- Đáp ứng nhiều trang web qua trang web dựa trên nền tảng PAAS Google app

engine (nền tảng như một dịch vụ) . Xây dựng dịch vụ
giới thiệu việc làm nhằm mục đích giới thiệu các việc làm phù hợp đến nhiều đối
tượng người thông qua chức năng hiển thị việc làm theo các tiêu chí như lĩnh vực,
ngành nghề, tỉnh/thành phố, theo đối tượng người sử dụng. Cung cấp chức năng cho
người dùng đăng ký thành nhà phát triển, nhà tuyển dụng. Đồng thời cung cấp các
web service cho các nhà phát triển ứng dụng. Dịch vụ được cài đặt theo kiến trúc 3
lớp có sử dụng các dịch vụ chuyên dụng.
Để thực hiện các định hướng đã đề ra, em cần phải thực hiện những công việc trong
phần III.
Giải pháp
Giải pháp theo định hướng nói trên, giải pháp lựa chọn được mô tả trong hình 1
Tổng quan dịch vụ
Sơ đồ tổng quan của dịch vụ giới thiệu việc làm:
Hình 1. Sơ đồ tổng quan hệ thống
Dịch vụ đám mây “Giới thiệu việc làm” theo định hướng sử dụng phổ quát bao
gồm có 3 thành phần chính. Thành phần thứ nhất là dịch vụ dựa trên nền tảng PaaS
google app engine do Google cung cấp có giao diện web, sẽ có nhiệm vụ chính là
nơi cung cấp các dịch vụ webservice để dịch vụ khác có thể sử dụng. Thành phần
thứ hai là dịch vụ giới thiệu việc làm trên trang để phục
vụ cho nhiều đối tượng sử dụng, và cuối cùng là ứng dụng Android cung cấp
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 5
phương thức tìm kiếm việc làm theo các tiêu chí phù hợp, tìm kiếm các nhà tuyển
dụng gần vị trí của người sử dụng thông qua thiết bị định vị.
Sử dụng phổ quát (universal usability)
Để dịch vụ có khả năng sử dụng phổ quát, dịch vụ cho phép truy cập thông qua
giao diện API. Dịch vụ hoạt động như trang web độc lập cho phép truy cập vào ứng
dụng đám mây trên địa chỉ , tích hợp phần mềm trên
Android hỗ trợ định vị tự động vị trí hiện tại của người dùng và tích hợp dịch vụ
trang web này vào trang . Trong đó, sử dụng các công
nghệ ASP.Net, C#, Android, DotNetNuke, Google app engine (python).

Cơ sở lý thuyết và các công cụ sử dụng trong đồ án được mô tả trong mục IV.
Cơ sở lý thuyết và các công cụ sử dụng
4.1 Cơ sở lý thuyết
4.1.1 Cloud Computing
Điện toán đám mây (cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình
điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.
Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ để chỉ mạng Internet (dựa vào cách
được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức
tạp của các cơ sở hạ tầng ẩn chứa bên trong. Ở mô hình điện toán này, mọi khả
năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ",
cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó
"trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ,
cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó.
Định nghĩa:
“Điện toán đám mây (cloud computing) là một mô hình điện toán có khả năng co
giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như
một dịch vụ trên mạng Internet.”
[1]
“Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông
tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công
nghệ trên Internet”.
[

2]
“Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về
mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng
(platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được
phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet.”
[ 3]
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 6

Hình 2. Mô hình điện toán đám mây (Cloud Computing)
Cloud computing chủ yếu được phát triển theo 3 mô hình:
a) Dịch vụ hạ tầng (Infrastructure as a Service - IaaS): Cung cấp cho người
dùng hạ tầng thô (thường là dưới hình thức các máy ảo) như là một dịch vụ
b) Dịch vụ nền tảng (Platform as a Service - PaaS): Cung cấp API cho phát
triển ứng dụng trên một nền tảng trừu tượng
c) Dịch vụ phần mềm (Application as a Service hay còn gọi là Software as a
Service– SaaS): Cung cấp dịch vụ phần mềm thực thi từ xa
4.1.2 Universal Usability
Universal Usability (sử dụng phổ quát) là khả năng sử dụng liên quan đến việc thiết
kế thông tin, phương thức giao tiếp và các dịch vụ khả dụng cho mỗi người dân.
Khái niệm này được phát biểu bởi giáo sư Ben Schneiderman, khoa Khoa Học Máy
Tính trường đại học Maryland, College Park. Khái niệm của universal usability (“có
thể sử dụng được tất cả”) liên quan đến các khái niệm về khả năng tiếp cận phổ
quát -universal accessibility (“có thể truy cập được tất cả”) và thiết kế chung
-universal design (“thiết kế cho tất cả”). Ba khái niệm này bao quát hoàn toàn từ
người sử dụng đến người phát triển, trong ba lĩnh vực nghiên cứu quan trọng của
công nghệ thông tin và truyền thông (ICT), đó là: sử dụng, truy cập và thiết kế.
Universal Usability bao gồm ba thách thức chính sau:
1. Hỗ trợ phạm vi rộng bao gồm phần cứng, phần mềm, và truy cập mạng… Với sự
phát triển của ICT, phần cứng, phần mềm và cấu hình mạng của người sử dụng
đang thay đổi không ngừng. Sự đa dạng các sản phẩm ICT tạo nên các hệ thống
phức tạp với nhiều sự pha trộn.
2. Điều tiết sự khác biệt cá nhân giữa những người sử dụng, như độ tuổi , giới tính,
khả năng, mức độ khuyết tật, khả năng nhận dạng chữ viết, thu nhập … Sự
khác biệt có thể chia làm ba loại: thể chất, nhận thức, văn hóa xã hội. Trong lĩnh
vực tương tác người máy HCI, nỗ lực nghiên cứu đã được trung vào sự khác biệt
về thể chất và nhận thức bằng cách cách ly các yếu tố khác nhau cụ thể như khả
năng không gian, tốc độ di chuyển, phối hợp mắt-tay
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 7

3. Lấp khoảng trống kiến thức giữa những gì người dùng biết và những gì họ cần
biết về một hệ thống cụ thể. Hai vấn đề cần phải giải quyết: (i) Xây dựng một mô
hình sử dụng để truy cập vào nền tảng hiểu biết cá nhân của người dùng trên một
hệ thống cụ thể.; (ii) Tích hợp cơ chế tiến hóa học.
[
4
]
4.2 Các công cụ sử dụng
4.2.1 Ứng dụng trên cloud - Google App Engine
Google App Engine (GAE)
[
5
]
là công cụ cho phép nhà phát triển có thể chạy các
ứng dụng web trên nền tảng của Google. App Engine rất dễ dàng cho việc xây dựng
trang web, bảo trì, mở rộng khi lượng truy cập và dữ liệu tăng. Với App Engine,
nhà phát triển không cần phải quản lý server, chỉ cần upload ứng dụng, và quản lý
người dùng của mình. Google App Engine hỗ trợ sử dụng với ngôn ngữ Java,
Python. Khi bắt đầu, Google App Engine cung cấp 500 MB lưu trữ dữ liệu cho mỗi
ứng dụng và bandwidth có thể quản lý xấp xỉ 5 triệu lượt truy cập/một tháng.
App Engine có các đặc trưng sau:
•Quản lý trang web động, hỗ trợ đầy đủ cho một trang web thông thường.
•Bảo tri lưu trữ với các lệnh truy vấn, săp xếp.
•Tự động mở rộng và cân bằng tải
•Cung cấp APIs cho việc đăng ký và gửi email thông qua tài khoản Google.
•Cung cấp chức năng chạy trước trên localhost, sau đó mới up lên host cloud.
Hình 3. Google App Engine Launcher
Trong đó:
-Chọn File > Create New Application, sau đó điền tên application, thư mục lựa
chọn để tạo app, port cho localhost. Mặc định cho app ban đầu là 8080, sau đó

tăng dần cho các app tiếp theo.
-Chọn File > Add Existing Application để tạo app từ một app có sẵn.
-Chọn biểu tượng Run để chạy ứng dụng.
-Chọn SDK Console để quản lý dữ liệu.
-Chọn Browse để hiển thị chương trình trên trình duyệt.
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 8
-Chọn Stop để dừng chạy ứng dụng.
-Chọn Deploy để triển khai ứng dụng trên host do google cung cấp.
4.2.2 Ứng dụng trên di động với Android
Android là phần mềm mã nguồn mở cho các thiết bị di động có hệ điều hành, các
phần mềm Android SDK cung cấp các công cụ và bộ API cần thiết cho các nhà
phát triển với ngôn ngữ Java.
Đặc trưng cơ bản:
• Application framework cho phép tái sử dụng và di chuyển các thành phần
• Dalvik virtual machine tối ưu hóa cho thiết bị di động
• Integrated browser dựa trên engine mã nguồn mở WebKit
• Optimized graphics cung cấp thư viện đồ họa 2D, 3D dựa trên OpenGL ES
1.0
• SQLite cho việc thao tác, lưu trữ dữ liệu có cấu trúc
• Media support cho audio, video, và các định dạng ảnh (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF)
• GSM Telephony (phụ thuộc phần cứng)
• Bluetooth, EDGE, 3G, and WiFi (phụ thuộc phần cứng)
• Camera, GPS, compass, and accelerometer (phụ thuộc phần cứng)
• Rich development environment bao gồm bộ mô phỏng, công cụ cho việc
gỡ lỗi, bộ nhớ và plugin cho Eclipse IDE
Kiến trúc Android:
Hình 4. Các thành phần chính của hệ điều hành Android.
Applications
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 9

Android bao gồm tập lõi ứng dụng bao gồm email, SMS, calendar (lịch), maps,
browsers, contacts (liên lạc)… Mọi ứng dụng đều được viết dưới nền tảng ngôn ngữ
Java.
Application Framework
Dưới mỗi ứng dụng là các dịch vụ hệ thống, bao gồm:
• Tập hợp phong phú các Views để có thể xây dựng một ứng dụng, bao gồm
list, grid, text boxes, buttons và nhúng vào các trình duyệt.
• Content Providers cho phép các ứng dụng có thể truy cập dữ liệu từ các ứng
dụng khác, ví dụ như Contacts, hoặc chia sẻ dữ liệu.
• Resource Manager , cung cấp truy cập đến các tài nguyên thông qua các file
lay out bao gồm các giá trị các string, graphics, và các file ảnh, video…
• Notification Manager cho phép mọi ứng dụng hiển thị dưới dạng
alerts(cảnh báo) dưới thanh status (thanh trạng thái).
• Activity Manager quản lý vòng đời của các ứng dụng và cung cấp điều
hướng.
Libraries
Android gồm có một tập các thư viện C/C++ được sử dụng cho rất nhiều thành
phần hệ thống Android. Dưới đây là các thành phần chính:
• System C library - thư viện C chuẩn, nhúng trong các thiết bị Linux
• Media Libraries - dựa trên PacketVideo's OpenCORE; thư viện hỗ trợ chơi
và ghi lại các file audio và video, và các file ảnh tĩnh, bao gồm MPEG4,
H.264, MP3, AAC, AMR, JPG, và PNG.
• Surface Manager - quản lý truy cập đến các tầng đồ họa 2D, 3D từ nhiều
ứng dụng đồng thời.
• LibWebCore - hỗ trợ cho nhúng vào các trình duyệt web.
• SGL – engine cho đồ họa 2D.
• 3D libraries – thư viện 3D có openGL.
• FreeType - hiển thị bitmap và vector
• SQLite – Engine dữ liệu quan hệ nhẹ và hiệu quả cho mọi ứng dụng
Android Runtime

Android bao gồm tập các thư viện cung cấp các chức năng chính dựa trên nền tảng
ngôn ngữ Java.
Mỗi ứng dụng Android application tự chạy tiến trình của nó, là một thể hiện của
máy ảo Dalvik. Dalvik viết cho các thiết bị có thẻ chạy nhiều máy ảo VMs đồng
thời một cách hiệu quả.
Linux Kernel
Android phụ thuộc vào Linux phiên bản 2.6 cho phần lõi h ệ thống như bảo mật,
quản lý bộ nhớ, quản lý tiến trình, mạng… Đồng thời kernel (nhân) cũng hoạt động
như tầng abstract giữa phần cứng và phần mềm.
[
6
]
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 10
4.2.3 Xây dựng ứng dụng web với DotNetNuke
Định nghĩa:
DotNetNuke là một ứng dụng quản lí nội dung mã nguồn mở viết bằng VB.Net trên
nền tảng asp.net. Đây là một ứng dụng mở, tùy biến giao diện dựa trên các skin và
tùy biến chức năng dựa trên module chức năng. DotNetNuke có thể được sử dụng
để tạo các trang web một cách dễ dàng và nhanh chóng.
[
7
]
Tổng quan
- DotNetNuke là một hệ thống quản lý nội dung (CMS) mã nguồn mở viết
bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET.
- Là hệ thống mở, tùy biến dựa trên Skin và Module.
- DotNetNuke sử dụng để tạo các trang web cộng đồng một cách dễ dàng và
nhanh chóng.
Đặc điểm:
- Quản lý nội dung trực quan.

- Quản lý nhiều giao diện.
- Phân quyền chặt chẽ.
- Dung lượng nhỏ gọn, dễ vận hành.
- Hỗ trợ cơ chế Plug and Play(PNP).
- Dễ dàng nâng cấp, cập nhật các chức năng mới.
Kiến trúc:
Gồm 3 tầng:
– Presentation Layer (UI): lớp giao diện người dùng.
– Bussiness Logic Layer(BLL): quyết định nguồn dữ liệu và giao diện người
dùng.
– Data Access Layer (DAL): truy xuất trực tiếp đến cơ sở dữ liệu.
Hình 5. Kiến trúc Dotnetnuke
Kết luận: Trong phần thứ nhất của báo cáo đồ án, em đã nêu chi tiết các yêu cầu đối
với bài toán Giới Thiệu Việc Làm, định hướng giải quyết và các cơ sở lý thuyết để
đáp ứng yêu cầu bài toán đặt ra. Trong đó, quan trọng nhất trong phần này là nêu ra
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 11
được định hướng giải quyết của bài toán, đề ra hướng phát triển để có thể áp dụng
được cơ sở lý thuyết cho việc xây dựng và cài đặt dịch vụ. Phần tiếp theo trong đồ
án là phần miêu tả các kết quả đã đạt được trong quá trình thực hiện đồ án, được
mô tả dưới đây.
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 12
PHẦN 2: CÁC KẾT QUẢ ĐẠT ĐƯỢC
Phần hai nêu chi tiết các kết quả đã đạt được trong đồ án, bao gồm có phân tích và
thiết kế dịch vụ Giới Thiệu Việc Làm, miêu tả quá trình, các công việc trong lúc cài
đặt và môi trường triển khai của dịch vụ.
I. Phân tích và thiết kế dịch vụ Giới Thiệu Việc Làm
Dịch vụ có nhiệm vụ chính là giới thiệu việc làm đến người tìm việc, và hỗ trợ các
công ty đăng tuyển. Trong đó, thành phần quan trọng nhất trong đơn đăng tuyển là
ngành nghề công việc, qua đó giúp người dùng tìm kiếm ngành nghề phù hợp với
nguyện vọng, năng lực. Lĩnh vực là nhóm các ngành nghề có liên quan đến nhau,

phục vụ cho nhà tuyển dụng khi đăng ký, một nhà tuyển dụng (công ty) sẽ có một
lĩnh vực tham gia hoạt động chính , và cung cấp các việc làm với các ngành nghề
tương ứng trong lĩnh vực này.
Dịch vụ bao gồm có 3 thành phần chính:
• Trang web SAAS (software as a service: phần mềm như một dịch vụ) dựa
trên nền tảng PAAS (platform as a service: nền tảng như một dịch vụ) của
google app engine do google cung cấp. Trang web này có chức năng thực
hiện nhiệm vụ giới thiệu việc làm như một trang web thông thường, đồng
thời có các webservice để phục vụ cho các ứng dụng khác truy cập vào dữ
liệu của hệ thống.
• Dịch vụ “Giới Thiệu Việc Làm” tích hợp trong trang web
, dịch vụ ứng dụng cụ thể các webservice của trang
web SAAS trên để thực hiện tương tác với các dữ liệu trong hệ thống. Dịch
vụ phù hợp với tổng thể dự án trong trang web http:// cungkhoinghiep.net .
• Ứng dụng điện thoại di động Android, hiển thị nhà tuyển dụng ở gần vị trí
người dùng theo định vị GPS.
1.1 Các tác nhân tham gia dịch vụ
Hình 6. Các đối tượng tham gia hệ thống
Bao gồm Admin: Người quản lý trang web SAAS. Nhà phát triển: quản lý các nhà
tuyển dụng. Nhà tuyển dụng: quản lý các đơn đăng tuyển và Người dùng đăng ký.
Sinh viên thực hiện: Trần Đắc Long – 20061973 Khóa K51 Lớp CNPM 13

×