Xây dựng khung tích hợp cho hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến Cài đặt một công cụ tích hợp dữ liệu và thông tin mẫu từ các nguồn tài nguyên học tậ
Trang 2LỜI CẢM ƠN
Trước tiên, con muốn gửi lời cảm ơn sâu sắc nhất đến ba mẹ, những người
đã sinh thành, dưỡng dục, hỗ trợ mọi điều kiện vật chất và tinh thần để con có được ngày hôm nay
Tôi xin chân thành cảm ơn thầy TS Nguyễn Thanh Bình đã hướng dẫn chỉ bảo tận tình giúp tôi trong suốt quá trình làm khóa luận tốt nghiệp này Tôi xin chân thành cám ơn Trường Đại Học Khoa Học - Huế, Khoa Công Nghệ Thông Tin đã tạo mọi điều kiện thuận lợi cho tôi được học tập, và quí thầy cô đã tận tình giảng dạy giúp tôi có được những kiến thức cơ bản về chuyên môn
Xin được gửi lời cảm ơn đến Trung tâm Công nghệ Thông tin - Đại học Huế cùng tất cả đồng nghiệp, người thân và bạn bè đã luôn động viên, giúp đỡ tôi trong suốt quá trình học tập và hoàn thành luận văn này
Huế, tháng 09 năm 2007
Trần Hiếu
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn đƣợc thực hiện bằng công sức của mình, không sao chép từ công trình khác Mọi thông tin tham khảo đều đƣợc trích dẫn đầy đủ Nếu có gì gian dối tôi xin chịu hoàn toàn trách nhiệm
Huế, tháng 9 năm 2007
Trần Hiếu
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT
ĐTTT : Đào tạo trực tuyến
CNTT: Công nghệ thông tin
SOA: Service Oriented Architecture (Kiến trúc hướng dịch vụ) UC: Usecase (Trường hợp sử dụng )
ETL: Extract-Transform- Loading (Chiết – Chuyển đổi – Nạp) XML:Extensible Markup Language
SOAP: Simple Object Access Protocol
WSDL: Web Services Description Language
UDDI: Universal Description Discovery and Integration
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1 Kiến trúc hệ thống kho dữ liệu [3] 6
Hình 1.2 Quá trình ETL [21] 8
Hình 1.3 Lược đồ thông tin học viên của phần mềm moodle 11
Hình 1.4 Bảng thông tin học viên trong phần mềm Atutor 11
Hình 1.5 Ví dụ về sự tích hợp dữ liệu 13
Hình 1.6 Kiến trúc Web Service [13] 14
Hình 1.7 Mô hình kiến trúc 2 tầng và 3 tầng [13] 16
Hình 1.8 Các tầng của kiến trúc hướng dịch vụ [13] 16
Hình 1.9 Hệ thống tư vấn học tập trực tuyến 19
Hình 2.1 Lược đồ quan hệ của các bảng chứa thông tin cần tích hợp của phần mềm Moodle 24
Hình 2.2 Lược đồ quan hệ của các bảng chứa thông tin cần tích hợp của phần mềm ATutor 25
Hình 2.3 Mô hình nghiệp vụ hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến 26
Hình 2.4 Kiến trúc hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến 29
Hình 2.5 Kiến trúc dịch vụ chiết dữ liệu 30
Hình 2.6 Kiến trúc chiết dữ liệu theo hướng kết nối trực tiếp 31
Hình 2.7 Kiến trúc chức năng chuyển đổi dữ liệu 32
Hình 2.8 Kiến trúc chức năng nạp dữ liệu 32
Hình 2.9 Kiến trúc chức năng quản lý thông tin nghuồn và đích 33
Hình 2.10 Phân cấp các chiều trong kho dữ liệu của hệ thống tư vấn học tập trực tuyến 37
Hình 2.11 Mô hình lưu trữ trong kho dữ liệu theo lược đồ hình sao 38
Hình 2.12 Lược đồ các bảng quản lý thông tin nguồn cung cấp 41
Hình 2.13 Lược đồ bảng ánh xạ 42
Hình 2.14 Lược đồ các bảng luật làm sạch 43
Hình 2.15 Cấu trúc cây thuật ngữ của hệ thống tư vấn học tập trực tuyến 43
Hình 2.16 Lược đồ UC hệ thống tích hợp thông tin 44
Hình 2.17 Lược đồ tuần tự: Đăng ký nguồn cung cấp dữ liệu 45
Hình 2.18 Lược đồ tuần tự: Kích hoạt quá trình cung cấp thông tin 46
Trang 6Hình 2.19 Lược đồ tuần tự: Chiết dữ liệu thông qua dịch vụ 47
Hình 2.20 Lược đồ tuần tự: Chiết dữ liệu thông qua phương thức kết nối trực tiếp 48 Hình 2.21 Lược đồ tuần tự: Chuyển đổi dữ liệu 49
Hình 2.22 Lược đồ tuần tự: Nạp dữ liệu 49
Hình 2.23 Lược đồ triển khai Hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến 50
Hình 3.1 Mô hình thuật toán chung của hệ thống tích hợp thông tin 51
Hình 3.2 Phần đầu của định nghĩa dịch vụ 57
Hình 3.3 Phần định nghĩa kiểu của tham số vào ra của dịch vụ 58
Hình 3.4 Phần định nghĩa tham số vào ra của thông điệp 59
Hình 3.5 Xác định kiểu dữ liệu cho thông điệp vào ra 59
Hình 3.6 Định nghĩa các thông điệp vào ra 60
Hình 3.7 Xác định địa chỉ của dịch vụ 60
Hình 3.8 Thông điệp yêu cầu đến chức năng getNumProfile 61
Hình 3.9 Thông điệp phản hồi của chức năng getNumProfile 61
Hình 3.10 Thông điệp yêu cầu chức năng getProfile 62
Hình 3.11 Một phần thông điệp phản hồi của chức năng getProfile 63
Hình 3.12 Giao diện danh sách các nguồn cung cấp 65
Hình 3.13 Giao diện đăng ký nguồn cung cấp 66
Hình 3.14 Giao diện định nghĩa thông tin về cơ sở dữ liệu của nguồn cung cấp 67
Hình 3.15 Giao diện định nghĩa thông tin dịch vụ của nguồn cung cấp 68
Hình 3.16 Giao diện định nghĩa ánh xạ từ nguồn cung cấp đến chuẩn chung 69
Hình 3.17 Giao diện định nghĩa các qui tắc làm sạch dữ liệu 70
Hình 3.18 Giao diện nhập mốc thời gian cung cấp thông tin 71
Hình 3.19 Giao diện thông báo trạng thái các quá trình tích hợp 71
Hình 3.20 Giao diện thông báo kết quả tích hợp thông tin 72
Hình 3.21 Giao diện chức năng xem nhật ký cung cấp thông tin 72
Hình 3.22 Mô phỏng dữ liệu trong kho dữ liệu của hệ thống tư vấn học tập trực tuyến 73
Hình 3.23 Khối dữ liệu đa chiều của kho dữ liệu liệu tư vấn 74
Trang 7DANH MỤC BẢNG BIỂU
Bảng 2.1 Thông tin học viên theo chuẩn IMS 34
Bảng 2.2 Bảng thông tin identification 34
Bảng 2.3 Bảng thông tin Goal 35
Bảng 2.3 Bảng thông tin Qcl 35
Bảng 2.5 Bảng thông tin Activity 35
Bảng 2.6 Bảng chuẩn chung thông tin của học viên 36
Trang 8MỤC LỤC
trang
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
DANH MỤC CÁC TỪ VIẾT TẮT iii
DANH MỤC HÌNH VẼ iv
DANH MỤC BẢNG BIỂU vi
MỤC LỤC vii
LỜI MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ TÍCH HỢP THÔNG TIN HỖ TRỢ HỆ THỐNG TƯ VẤN HỌC TẬP TRỰC TUYẾN 3
1.1 Vấn đề tích hợp trong các hệ thống thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến 3
1.1.1 Giới thiệu 3
1.1.2 Tích hợp dữ liệu 5
1.1.3 Tích hợp hướng dịch vụ 13
1.2 Tích hợp thông tin từ các nguồn tài nguyên học tập hỗ trợ cho các hệ thống tư vấn học tập trực tuyến 18
1.2.1 Hệ thống tư vấn học tập trực tuyến 19
1.2.2 Các vấn đề chuẩn hóa cho nguồn tài nguyên học tập 20
1.3 Tiểu kết 22
CHƯƠNG 2 MÔ HÌNH HÓA HỆ THỐNG TÍCH HỢP THÔNG TIN HỖ TRỢ HỆ THỐNG TƯ VẤN HỌC TẬP TRỰC TUYẾN 23
2.1 Phát biểu bài toán 23
2.1.1 Yêu cầu của hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến 23
2.1.2 Mô hình nghiệp vụ hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến 25
2.2 Một số hướng triển khai hỗ trợ quá trình tích hợp thông tin 27
2.3 Mô hình hóa hệ thống 29
2.4 Xây dựng chuẩn chung về thông tin học viên 33
2.5 Mô hình kho dữ liệu 36
2.6 Xây dựng lược đồ các bảng siêu dữ liệu của hệ thống tích hợp 40
2.6.1 Lược đồ các bảng quản lý thông tin các nguồn cung cấp 40
2.6.2 Bảng lưu trữ các luật làm sạch dữ liệu 42
2.6.3 Hệ thống cây thuật ngữ (Terminology) 43
2.7 Mô hình hóa hệ thống tích hợp thông tin bằng ngôn ngữ UML 44
2.7.1 Lược đồ chức năng đăng ký nguồn dữ liệu: 45
Trang 92.7.2 Lược đồ chức năng Kích hoạt quá trình cung cấp thông tin 45
2.7.3 Lược đồ chức năng chiết dữ liệu thông qua dịch vụ 46
2.7.4 Lược đồ chức năng chiết dữ liệu thông qua kết nối trực tiếp 47
2.7.5 Lược đồ chức năng chuyển đổi dữ liệu 48
2.7.6 Lược đồ chức năng nạp dữ liệu 49
2.7.7 Lược đồ triển khai hệ thống tích hợp thông tin 50
2.8 Tiểu kết 50
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG TÍCH HỢP THÔNG TIN HỖ TRỢ HỆ THỐNG TƯ VẤN HỌC TẬP TRỰC TUYẾN 51
3.1 Xây dựng thuật toán cho các chức năng chính của hệ thống 51
3.1.1 Chức năng tổng thể của hệ thống tích hợp thông tin 51
3.1.2 Chức năng làm sạch dữ liệu 52
3.1.3 Chức năng chiết dữ liệu từ các nguồn cung cấp dữ liệu thông qua kết nối trực tiếp đến cơ sở dữ liệu 53
3.1.4 Chức năng chiết dữ liệu từ các nguồn cung cấp dữ liệu qua dịch vụ 54
3.1.5 Chức năng chuyển đổi dữ liệu 55
3.1.6 Chức năng nạp dữ liệu 56
3.2 Xây dựng dịch vụ cung cấp dữ liệu 56
3.2.1 Định nghĩa dịch vụ cung cấp dữ liệu 57
3.2.2 Xây dựng cấu trúc của các thông điệp trao đổi giữa các dịch vụ 60
3.3 Chương trình mô phỏng 64
3.4 Mô phỏng hoạt động của kho dữ liệu trong việc hỗ trợ tư vấn học tập 72
3.5 Tiểu kết 74
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 76
Trang 10LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của Internet, ngày càng nhiều các
hệ thống học tập trực tuyến(E-learning) được phát triển và áp dụng một cách rộng rãi, dẫn đến việc bùng nổ thông tin về tài nguyên học tập Nhằm tư vấn cho học viên lựa chọn khóa học trực tuyến một cách chính xác, phù hợp hơn, nhiều nghiên cứu theo hướng phát triển hệ thống tư vấn học tập đã được thực hiện [4, 5] Tuy nhiên, cũng như các hệ thống dựa trên nền tảng Web khác, các hệ thống tư vấn học tập trực tuyến hiện nay đang gặp phải nhiều thách thức trong việc định vị, tìm kiếm, chiết cũng như tích hợp những thông tin có chất lượng từ nhiều nguồn tài nguyên học tập trực tuyến phân tán, đa tạp về nền, về cấu trúc, và về ngữ nghĩa Chính vì vậy, khả năng truy cập một cách kịp thời và hiệu quả đến các nguồn tài nguyên thông tin học tập đã trở thành một trong những yếu tố quan trọng quyết định sự thành công của hệ thống tư vấn học tập trực tuyến
Bên cạnh việc phát triển các chuẩn hỗ trợ tích hợp các nguồn tài nguyên học tập, các hướng nghiên cứu hiện nay đang rất quan tâm đến kiến trúc hướng dịch vụ [13] (Service-oriented architecture) cùng công nghệ dịch vụ Web (Web services) Hướng tiếp cận này đảm bảo khả năng giao tác chung giữa các hệ thống học trực tuyến với nhau, cũng như hỗ trợ khả năng tích hợp linh động các nguồn tài nguyên học tập đa tạp thông qua các dịch vụ Tuy nhiên, một môi trường tích hợp theo SOA cũng làm nảy sinh các vấn đề mới đối với việc tích hợp thông tin từ các hệ thống học trực tuyến sử dụng phương thức cung cấp thông tin theo kiến trúc hướng dịch
vụ, gọi là tích hợp dịch vụ
Nhằm giải quyết cho những vấn đề nêu trên, luận văn hướng đến nghiên cứu
đề tài “Xây dựng hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến” với các mục tiêu sau:
vấn học tập trực tuyến
Trang 11 Xây dựng khung tích hợp cho hệ thống tích hợp thông tin hỗ trợ hệ thống
tư vấn học tập trực tuyến
Cài đặt một công cụ tích hợp dữ liệu và thông tin mẫu từ các nguồn tài nguyên học tập
Dựa vào những mục tiêu đó, luận văn được xây dựng theo cấu trúc dưới đây:
Chương 1 tổng quan về tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến Chương này, giới thiệu một cách tóm tắt về khái niệm hệ thống tư
vấn học tập trực tuyến, kho dữ liệu, ETL (Extract – Transform - Load), Kiến trúc hướng dịch vụ, dịch vụ Web (Web Service) và một số vấn đề liên quan cần giải quyết, đây chính là cơ sở để xây dựng hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn
Chương 2 Mô hình hóa hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến Nội dung của chương này tập trung vào việc phân tích yêu
cầu của bài toán tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến Xây dựng chuẩn chung về thông tin học viên, phân tích mô hình nghiệp vụ, định nghĩa các chiều và lược đồ chiều trong kho dữ liệu của hệ thống tư vấn học tập trực tuyến
Sử dụng UML để mô hình hóa hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến
Chương 3 Xây dựng hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến Nội dung của chương này tập trung vào việc trình bày các thuật
toán sử dụng để xây dựng các chức năng chính của hệ thống như thuật toán làm sạch dữ liệu, thuật toán chuyển đổi dữ liệu, thuật toán nạp dữ liệu Ngoài ra, chương này cũng trình bày công cụ mô phỏng hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến Phần cuối của chương, trình bày một số kết quả nghiên cứu
đã đạt được của đề tài và đề xuất hướng phát triển trong tương lai
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ TÍCH HỢP THÔNG TIN HỖ TRỢ HỆ
THỐNG TƯ VẤN HỌC TẬP TRỰC TUYẾN
1.1 Vấn đề tích hợp trong các hệ thống thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến
1.1.1 Giới thiệu
Ngày nay, cùng với sự phát triển mạnh mẽ của Internet, ngày càng nhiều các
hệ thống đào tạo trực tuyến (ĐTTT) được phát triển và áp dụng một cách rộng rãi Với những đặc tính nổi bật như phong phú và linh hoạt, dễ tiếp cận và tiện lợi, tiết kiệm và hiệu quả, đào tạo trực tuyến mở ra một lối đi mới đầy tiềm năng cho sự phát triển của ngành giáo dục và đào tạo
Có thể nói, đào tạo trực tuyến mang lại một cuộc cách mạng về học tập Trong đó, người học có thể tham gia các khóa học trong bất cứ thời gian nào, tại bất
cứ địa điểm nào trên thế giới, vượt qua những trở ngại về mặt không gian và thời gian Bên cạnh đó, ĐTTT cũng thay đổi cách tiếp cận, lĩnh hội tri thức, qua đó không còn những cảnh thầy đọc trò ghi nữa mà vai trò của người học ngày càng chủ động hơn Các hoạt động đọc, xem, khám phá, nghiên cứu, tương tác, thực hành, giao tiếp, thảo luận, chia sẻ kiến thức trên mạng mang lại cho người học nhiều hứng thú và niềm vui tìm tòi, suy nghĩ
Với sự phát triển chung của xã hội, ĐTTT có hiệu quả kinh tế cao khi chỉ cần một giáo viên giỏi có thể giảng cho hàng nghìn người; có thể dễ dàng mời giáo viên, chuyên gia nước ngoài giảng dạy với chi phí không còn quá tốn kém như trước Qua đó, ĐTTT giúp nâng cao quy mô và chất lượng đào tạo, làm giảm chênh lệch về cơ hội học tập giữa người giàu và người nghèo, giữa nông thôn và thành thị, giúp giáo dục Việt Nam hội nhập nhanh hơn với thế giới
Trên thế giới đã có nhiều trường đại học và viện nghiên cứu cũng như các tổ chức giáo giục đào tạo đã áp dụng ĐTTT vào công tác giảng dạy như trường đại học Central Lancashire ở Anh, Canterbury ở New Zealand, Capella của Mỹ, và
nhiều trường đại học khác trên thế giới Theo báo cáo của tập đoàn Sloan, nguồn
Trang 13cung cấp thông tin về đào tạo trực tuyến, năm 2003 đã có hơn 1,9 triệu học viên tham gia ĐTTT tại Mỹ, tỉ lệ gia tăng là 25% mỗi năm [17]
Cùng với sự phát triển mạnh mẽ của ĐTTT, tại Việt Nam, Khoa CNTT Đại Học Mở Hà Nội là đơn vị đầu tiên tổ chức ĐTTT có cấp bằng đại học cho học viên
Từ năm 2001, trung tâm Công Nghệ Đào Tạo Trực Tuyến của khoa đã thành lập trường học ảo “FIHOU CYBERSCHOOL” và bắt đầu tuyển học viên ngành CNTT tại website http://www.fithou.net.vn Đến nay, trường có hơn 1000 học viên theo học CNTT trực tuyến, với mức học phí bằng 1/3 so với học theo kiểu truyền thống Một số đơn vị khác như ĐH Công Nghệ thuộc ĐH Quốc Gia Hà Nội cũng đã bước đầu tổ chức đào tạo trực tuyến về CNTT-VT, trong đó Học Viện BCVT trong năm học 2006 được Bộ GDĐT cấp chỉ tiêu 2.000 học viên [16]
Sự bùng nổ thông tin trong lĩnh vực đào tạo điện tử
Tuy nhiên, ngày nay, cùng với sự phát triển mạnh mẽ của Internet, sự phát triển và áp dụng một cách rộng rãi ngày càng nhiều các hệ thống học tập trực tuyến
đã và đang dẫn đến việc bùng nổ thông tin về tài nguyên học tập Điều đó đã dẫn đến những khó khăn của học viên trong việc lựa chọn khóa học, cũng như xây dựng chương trình học từ rất nhiều chương trình đào tạo và các khóa học phong phú được đưa vào giảng dạy trực tuyến Chính vì vậy, học viên cần được hỗ trợ để có thể lựa chọn khóa học cũng như xây dựng lộ trình học tập của bản thân sao cho phù hợp với trình độ, sở thích và hoàn cảnh của mỗi học viên
Trong bối cảnh đó, vai trò của hệ thống tư vấn học tập trực tuyến ngày càng trở nên quan trọng, đóng vai trò như một người hướng đạo của học viên, giúp học viên tự tin hơn khi tự mình xây dựng kế hoạch học tập tốt nhất để hoàn thành chương trình học tập, nâng cao kết quả học tập của học viên Ngoài ra, vì đây là một hoạt động dựa trên máy và giao tiếp thông qua mạng Internet, hệ thống tư vấn học tập trực tuyến có thể giảm được chi phí đi lại, chi phí thuê chuyên gia tư vấn, cũng như các chi phí phát sinh khác khi thực hiện một hệ thống tư vấn theo kiểu truyền thống, hơn hết là hệ thống này có thể phục vụ cho hàng nghìn học viên bất kể ngày đêm, và học viên có thể tìm đến sự giúp đỡ của hệ thống tư vấn học tập trực tuyến tại bất kỳ thời điểm nào
Trang 14 Vai trò của tích hợp trong các hệ thống tư vấn
Như đã trình bày ở phần trên, để quá trình tư vấn học tập trực tuyến hiệu quả, kịp thời và chính xác, phải đảm bảo dữ liệu để cho hệ thống tư vấn học tập trực tuyến hoạt động phải đầy đủ, có chất lượng và luôn ở trạng thái sẵn sàng
Tuy nhiên, hiện nay, việc đảm bảo dữ liệu tích hợp hỗ trợ hệ thống tư vấn
vẫn còn gặp nhiều rất thách thức Đó là do các nguồn tài nguyên học tập trực tuyến vốn là dữ liệu chi tiết, phục vụ cho các hoạt động của các hệ thống đào tạo trực tuyến, hay còn được gọi là dữ liệu tác nghiệp Hơn nữa việc tích hợp dữ liệu từ các nguồn tài nguyên thông tin hỗ trợ tư vấn cũng cần giải quyết những vấn đề đa tạp về nền, về cấu trúc, về ngữ nghĩa, trong đó các hệ thống đào tạo trực tuyến khác nhau hoạt động trên các nền khác nhau, không đồng bộ về cấu trúc cũng như ngữ nghĩa
Từ những gì đã được trình bày trên đây, chúng ta có thể thấy rằng cần phải
có một công cụ tích hợp làm nhiệm vụ trung gian để có thể cung cấp dữ liệu có chất lượng và kịp thời cho hệ thống tư vấn học tập trực tuyến, hỗ trợ học viên xây dựng
kế hoạch học tập theo hướng cá nhân hóa, nâng cao kết quả học tập của học viên
1.1.2 Tích hợp dữ liệu
Kho dữ liệu và vai trò của quá trình ETL
Dữ liệu hỗ trợ cho các hệ thống tư vấn đào tạo trực tuyến được lưu trữ trong
các kho dữ liệu Kho dữ liệu (Data Warehouse) là tuyển tập các cơ sở dữ liệu tích
hợp, hướng chủ đề, được thiết kế để hỗ trợ cho chức năng trợ giúp ra quyết định
Kho dữ liệu được xây dựng với các mục tiêu cung cấp khả năng đáp ứng về yêu cầu thông tin của người sử dụng, hỗ trợ người dùng trong việc ra các quyết định hợp lý và giúp cho các tổ chức có thể xác định, quản lý và điều hành các dự án một cách hiệu quả, chính xác
Nhằm đáp ứng các mục tiêu trên, dữ liệu trong kho dữ liệu có các đặc điểm như sau: được tổ chức theo các chủ đề để hỗ trợ ra quyết định, được tổ chức thống nhất, mang tính chất lịch sử và dữ liệu trong kho dữ liệu là dữ liệu chỉ đọc và chỉ có
thể được kiểm tra, không được sửa đổi bởi người sử dụng đầu cuối[1, 3]
Kiến trúc hệ thống kho dữ liệu
Kiến trúc kho dữ liệu gồm 3 tầng:
Trang 15 Tầng thể hiện
Tầng thu thập: Dữ liệu từ các nguồn bên ngoài, từ các cơ sở dữ liệu tác
nghiệp sẽ được tích hợp vào kho dữ liệu Dữ liệu từ kho dữ liệu có thể được trích lọc ra các kho dữ liệu cục bộ (Datamart) theo các lĩnh vực khác nhau Tầng thu thập hoạt động dựa trên qui trình ETL (Trích – Chuyển đổi – Nạp), đây là qui trình thực hiện việc tích hợp dữ liệu từ các nguồn đa tạp vào kho dữ liệu ETL là nền tảng của kho dữ liệu, Một hệ thống ETL được thiết kế đúng đắn sẽ thực hiện việc chiết dữ liệu từ các nguồn cung cấp, giám sát chất lượng và chuẩn chung của dữ liệu, làm cho dữ liệu tương thích sao cho các nguồn đa tạp có thể sử dụng cùng với nhau Và cuối cùng chuyển dữ liệu vào một định dạng sẵn sàng trình diễn sao cho những người phát triển ứng dụng có thể xây dựng các ứng dụng và người sử dụng cuối có thể ra quyết định Trong luận văn này sẽ xây dựng một hệ thống tích hợp dựa trên ETL sao cho dựa vào dữ liệu được tích hợp bởi hệ thống này, những người phát triển hệ thống có thể xây dựng các ứng dụng tư vấn học tập trực tuyến hỗ trợ học viên trong vấn đề chọn khóa học và xây dựng kế hoạch học tập
Cơ sở dữ liệu quan hệ
Dữ liệu dạng tập tin
Chiết Chuyển đổi Nạp
Kho dữ liệu
Các kho dữ liệu cục bộ (DataMart)
Trang 16Tầng OLAP: Các dữ liệu sau khi được thu thập sẽ được phân tích xem dữ
liệu có các chiều nào và được phân cấp ra sao, phân tích mối liên hệ giữa chúng từ
đó quyết định các hướng lưu trữ (theo MOLAP, ROLAP, HOLAP hay DOLAP) Tại tầng này có thể sử dụng các kĩ thuật Drilling-Down, Rolling-Up để đưa ra các bảng dữ kiện tổng hợp hỗ trợ quyết định
Tầng thể hiện: Tầng này cho phép phân tích dữ liệu, cung cấp các báo cáo,
các truy vấn, các bản phân tích, công nghệ khai phá dữ liệu, thăm dò sự tương tác
dữ liệu, cung cấp khả năng phân tích dữ liệu phức tạp bằng phương thức đơn giản, cung cấp nhiều giao diện cho nhiều cấp sử dụng (báo cáo, phân tích), cùng khả năng ước lượng, dự báo, phân loại [1, 3]
Quá trình ETL
Với đặc trưng của Kho dữ liệu, quá trình ETL được xem như một thành phần quan trọng trong việc xây dựng một hệ thống kho dữ liệu hỗ trợ người sử dụng ra quyết định đúng đắn và chính xác Mặc dù việc xây dựng hệ thống ETL nằm ở mặt sau của hệ thống và không rõ ràng đối với người sử dụng cuối, nhưng
nó có thể chiếm đến 70% tài nguyên sử dụng để xây dựng và bảo trì một hệ thống kho dữ liệu Hệ thống ETL thêm các giá trị chất lượng vào dữ liệu chứ không chỉ đơn thuần là lấy dữ liệu từ các nguồn và đưa vào kho dữ liệu Đặc biệt, hệ thống ETL thực hiện:
Hình 2 dưới đây là một mô hình mô phỏng qui trình ETL cung cấp dữ liệu cho kho dữ liệu và chợ dữ liệu
ETL bao gồm các quá trình sau:
Quá trình chiết dữ liệu:
Quá trình đầu tiên của ETL là trích dữ liệu từ các hệ thống nguồn Đa số những dự án sử dụng kho dữ liệu để lưu trữ đều phải hợp nhất dữ liệu từ các hệ
Trang 17thống nguồn khác nhau Mỗi hệ thống riêng biệt có một cách tổ chức và định dạng
dữ liệu khác nhau Những định dạng nguồn dữ liệu thông thường là các cơ sở dữ liệu quan hệ và tập tin, nhưng có thể bao gồm các cơ sở dữ liệu không có quan hệ như IMS hay các cấu trúc dữ liệu khác như VSAM hay ISAM Quá trình trích làm nhiệm vụ biến đổi dữ liệu sang một định dạng chung, chuẩn bị cho quá trình chuyển đổi dữ liệu
Hình 1.2 Quá trình ETL [21]
Quá trình chuyển đổi dữ liệu:
Quá trình chuyển đổi áp dụng một loạt các quy tắc hay những chức năng vào
dữ liệu đã được trích để dẫn xuất ra dữ liệu sẽ được tải vào kho Một số nguồn dữ liệu yêu cầu rất ít thao tác đối với dữ liệu được trích ra Trong những trường hợp khác, một hoặc nhiều các kiểu chuyển đổi sau có thể được yêu cầu:
Nam và 2 đối với Nữ, nhưng kho dữ liệu lại mã hóa M cho Nam và F cho Nữ), đây còn được gọi là làm sạch dữ liệu
Trang 18 Mã hóa những giá trị tự do (Ví dụ, Mã hóa "Nam" vào 1 và "Nữ" vào
trong 2)
(diem1+diem2+diem3)/3 )
Tổng hợp dữ liệu từ nhiều dòng(Ví dụ, số lượng học viên tham gia
mỗi khóa học)
Thay đổi chỗ hay đặt lên trụ (Quay nhiều cột vào trong nhiều hàng
dữ liệu khác có thể cần thêm dữ liệu mới hàng giờ đối với toàn bộ kho dữ liệu hay chỉ một phần trong kho dữ liệu đó Việc tính toán thời gian và phạm vi để cập nhật hay nối thêm dữ liệu vào nằm trong chiến lược thiết kế tùy thuộc vào thời gian sẵn
có và các nhu cầu cụ thể của doanh nghiệp Những hệ thống phức tạp hơn có thể duy trì một kho dữ liệu đầy đủ dữ liệu lịch sử và lưu nhật ký mọi sự thay đổi về dữ liệu trong kho dữ liệu [13, 21]
Với vai trò quan trọng của mình trong kho dữ liệu, ETL rất được các nhà nghiên cứu và các tổ chức quan tâm, điển hình là một số hệ thống như Pentaho đã phát triển công cụ tích hợp Pentaho Data Integration dựa trên ETL để hỗ trợ cho hệ thống thông tin kinh doanh Pentaho Open BI Suite, OpenMRS cũng xây dựng dự
án phát triển công cụ ETL để hỗ trợ việc phân tích OLAP trong sản phẩm của họ,
tổ chức Data Integrity Institute cũng có dự án về ETL
Trang 19Tuy nhiên, việc xây dựng, phát triển các công cụ hỗ trợ ETL hiện vẫn gặp nhiều thách thức, đa tạp về nền dẫn đến các vấn đề liên quan như vấn đề kết nối đến nguồn dữ liệu, vấn đề tạo câu truy vấn, vấn đề về chuẩn chung cho các nguồn
dữ liệu khác nhau
Vấn đề đa tạp về nền
Các nguồn dữ liệu cung cấp dữ liệu cho kho dữ liệu làm nhiệm vụ chính là
hỗ trợ cho các hoạt động của các hệ thống tác nghiệp, trong phạm vi của luận văn, các hệ thống tác nghiệp là các hệ thống đào tạo trực tuyến Mỗi hệ thống có thể cài đặt trên một hệ quản trị cơ sở dữ liệu khác nhau như Oralce, MS SQL Server, MySQL, PostgreSQL Ví dụ như phần mềm nền dạy học trực tuyến Moodle hỗ trợ cài đặt trên các hệ quản trị cơ sở dữ liệu MySQL, PostgreSQL, MS SQL Server Mỗi hệ quản trị cơ sở dữ liệu có một phương thức kết nối và tập ngôn ngữ truy vấn riêng Vì vậy muốn tích hợp các nguồn dữ liệu khác nhau về nền, hệ thống tích hợp phải xử lý được vấn đề truy vấn đến các hệ quản trị cơ sở dữ liệu khác nhau
Đa tạp về cấu trúc
Mỗi hệ thống đào tạo trực tuyến có thể sử dụng một phần mềm nền dạy học trực tuyến khác nhau, do đó cấu trúc dữ liệu của mỗi hệ thống đào tạo trực tuyến sẽ không giống nhau
Ví dụ đối với bảng thông tin người sử dụng, phần mềm moodle được tổ chức trong mười bảng, có quan hệ được thể hiện trong Hình 1.3:
Trang 20Hình 1.3 Lược đồ thông tin học viên của phần mềm moodle
Còn trong phần mềm Atutor chỉ sử dụng một bảng duy nhất với 23 trường
để lưu trữ thông tin của người sử dụng:
Hình 1.4 Bảng thông tin học viên trong phần mềm Atutor
Trang 21 Đa tạp về ngữ nghĩa
Mỗi hệ thống đào tạo trực tuyến sử dụng tập ngôn ngữ riêng, có thể họ sử dụng một trong các từ “Student”, “Học viên”, “Học viên” hay ”Người học” để chỉ đối tượng tham gia vào các khóa đào tạo trên hệ thống của họ Tuy nhiên trong kho
dữ liệu chỉ sử dụng duy nhất một từ duy nhất để chỉ một đối tượng Do đó nhiệm
vụ của quá trình tích hợp là phải chuẩn hóa tất các các từ có cùng nghĩa về một từ duy nhất
Vai trò của kho dữ liệu và tích hợp thông tin đối với hệ thống tư vấn học tập trực tuyến được minh họa thông qua ví dụ sau: Giả sử chúng ta có các hệ thống đào tạo trực tuyến có khung đào tạo tương tự nhau, được xây dựng dựa trên các phần mềm nền đào tạo trực tuyến như Moodle, Atutor và BlackBoard Các hệ thống này đều lưu trữ thông tin về quá trình học tập của học viên, nhưng mỗi hệ thống có một cấu trúc cơ sở dữ liệu khác nhau, những cơ sở dữ liệu này hoạt động trên các hệ quản trị cơ sở dữ liệu khác nhau, và mỗi hệ thống lại sử dụng một bộ từ khóa riêng cho các khóa học, ngành học
Do đó, các hệ thống tư vấn hiện nay vẫn gặp nhiều thách thức trong việc hỗ trợ học viên ra quyết định lựa chọn các khóa học hay một lộ trình học tập phù hợp với bản thân, chẳng hạn: Một học viên chuyên ngành Kỹ thuật máy tính, đã học các khóa học “Kiến trúc máy tính”, “Hệ điều hành” với điểm trung bình của khóa học lần lượt là 7 và 8 thì học viên này học khóa học “Xử lý tín hiệu số” có đạt được kết quả tốt hay không? Các vấn đề này được giải quyết bằng cách tích hợp thông tin của các học viên đã tham gia đào tạo trên các hệ thống đó theo một chuẩn chung vào trong kho dữ liệu theo chủ đề học viên Kho dữ liệu sẽ có khung nhìn tổng thể
về thông tin học viên, và bao gồm dữ liệu từ các hệ thống Moodle, hệ thống ATutor, hệ thống BlackBoard
Trang 22Kho dữ liệu Môi trường đào tạo trực tuyến
Trong bối cảnh đó, với mục tiêu xây dựng hệ thống tích hợp thông tin hỗ trợ
hệ thống tƣ vấn học tập trực tuyến, luận văn đƣợc thực hiện với trọng tâm nghiên cứu xây dựng một chuẩn chung về thông tin của học viên cho các nguồn tài nguyên học tập trực tuyến khác nhau và xây dựng quá trình tích hợp dựa trên qui trình ETL cho kho dữ liệu của hệ thống tƣ vấn học tập trực tuyến
SOAP là một đặc tả kỹ thuật về cách thức đọc và định dạng tài liệu XML giữa dịch vụ yêu cầu và dịch vụ cung cấp trong kiến trúc Web Service Nó cung cấp một khung ứng dụng thông điệp không phụ thuộc vào hệ điều hành, ngôn ngữ lập trình hay nền tính toán
Trang 23WSDL là một ngôn ngữ dựa trên XML dùng để mô tả giao diện của Web Service Nó cung cấp một cách thức chuẩn để mô tả các kiểu dữ liệu được truyền trong các thông điệp thông qua Web Service, các hoạt động được thực hiện trên các thông điệp và ánh xạ các hoạt động này đến giao thức vận chuyển
Một công nghệ chính nữa của Web Service đó là UDDI, nó cung cấp một khung ứng dụng về các ngiệp vụ để xuất bản một Web Service, khám phá các Web Service hiện hữu và xây dựng các đăng ký dịch vụ chung
Được sử dụng chủ yếu như một phương tiện để cho các doanh nghiệp giao tiếp với nhau và với khách hàng, Web Service cho phép các tổ chức giao tiếp dữ liệu mà không cần am hiểu về các hệ thống công nghệ thông tin khác
Theo W3C, Web service được thiết kế trong việc hỗ trợ tương tác giữa máy với máy thông qua môi trường mạng Web service thường là các Web API (Application programming interface) có thể truy cập qua môi trường mạng, ví dụ như Internet, và được thực hiện trên một hệ thống từ xa được yêu cầu các dịch vụ
Dịch vụ yêu cầu
Đăng ký dịch vụ (UDDI)
Thông điệp SOAP
Dịch vụ cung cấp
Mô tả dịch vụ (WDSL)
Gởi thông điệp
Hình 1.6 Kiến trúc Web Service [13]
Trong những năm gần đây, Kiến trúc hướng dịch vụ (service-oriented architecture) - viết tắt là SOA - đã và đang xuất hiện như một trong những công nghệ đầy tiềm năng trong lĩnh vực phát triển các hệ thống thông tin Trong đó, kiến trúc hướng dịch vụ là kiểu kiến trúc mà ở đó các chức năng mới hoặc đã tồn tại được nhóm vào trong các dịch vụ nguyên tử Các dịch vụ này có thể giao tiếp với nhau Ví dụ như việc chuyển dữ liệu từ dịch vụ này sang dịch vụ khác hoặc kết hợp
Trang 24một hoạt động giữa một hoặc nhiều dịch vụ Qua đó, kiến trúc hướng dịch vụ có thể hỗ trợ khả năng liên kết một cách linh động các ứng dụng độc lập trong mạng thành dịch vụ tùy biến, phù hợp với nhu cầu sử dụng
Có thể nói, Kiến trúc hướng dịch vụ là một sự tiến hóa của việc tính toán phân tán và lập trình mô đun Trong đó, kiến trúc hướng dịch vụ xây dựng các ứng dụng vượt ra khỏi các phần mềm dịch vụ, thông qua một số lượng dịch vụ có thể tương đối lớn với bản chất là các đơn vị độc lập về chức năng, mà không có lời gọi lẫn nhau nhúng bên trong Các đơn vị này thực hiện những chức năng điển hình và
đa số mọi người đoán nhận như một dịch vụ, ví dụ như điền vào một tài khoản của một ứng dụng trực tuyến, xem một bản kê khai của ngân hàng trực tuyến, hay việc đặt chỗ hoặc mua một vé máy bay trực tuyến Thay vì gọi các dịch vụ được nhúng lẫn nhau trong mã nguồn của họ, các giao thức được định nghĩa sẽ mô tả cách thức một hoặc nhiều dịch vụ nói chuyện với nhau Kiến trúc này dựa vào một qui trình nghiệp vụ để liên kết các dịch vụ theo một chuỗi có thứ tự theo yêu cầu của từng hệ thống
Các hệ thống trước đây hầu hết đều xây dựng trên kiến trúc 2 tầng, trong đó các client truy cập trực tiếp vào cơ sở dữ liệu mà không có bất kỳ một mô hình logic nào ở giữa Hướng tiếp cận này vẫn còn được sử dụng trong việc phát triển các phần mềm nhỏ và xây dựng các mẫu thử Hiện nay hầu hết các ứng dụng đều xây dựng trên kiến trúc 3 tầng (3-tier), kiến trúc này hỗ trợ thêm một tầng nằm giữa client và tầng lưu trữ dữ liệu Tầng này được gọi là tầng logic nghiệp vụ, cung cấp
mã độc lập từ client và chia sẻ các ứng dụng logic giữa các client Đây là hướng tiếp cận mang đến tính uyển chuyển trong việc quản lý dữ liệu và sử dụng tài nguyên hệ thống trong việc phát triển phần mềm
Trang 25Cơ sở dữ liệu
Tầng truy cập dữ liệu Tầng trình bày
sử dụng trong việc triển khai các ứng dụng SOA bao gồm J2EE, COM/DCOM, CORBA và Web Service
CRM, ERP, Hệ thống báo cáo
nghiệp vụ
Tích hợp
Dịch vụ chất lượng, quản lý và giám sát
Hình 1.8 Các tầng của kiến trúc hướng dịch vụ [13]
Mỗi tầng trong kiến trúc hướng dịch vụ có các đặc tính khác nhau:
Trang 26Tầng các hệ thống điều hành: Đây là tầng chứa các ứng dụng đã tồn tại,
như các ứng dụng đóng gói CRM, ERP Các ứng dụng này cung cấp nền tảng cho các dịch vụ Mỗi ứng dụng đều có cấu trúc, cơ sở dữ liệu riêng và truy cập các hệ thống tài nguyên khác nhau Trong trường hợp khung nhìn là hệ thống tư vấn học tập trực tuyến thì tầng này chính là các hệ thống đào tạo trực tuyến đang hoạt động
Tầng các thành phần chuyên gia: Đây là tầng cung cấp các chức năng và
yêu cầu cho các dịch vụ, nó là các quy tắc về nghiệp vụ cho việc trình bày của dịch
vụ, và các ràng buộc khác đối với hệ thống như là về quản lý, sự sẵn sàng và cân bằng tải của các dịch vụ Đối với yêu cầu của hệ thống tích hợp, tầng chuyên gia này là các chức năng trích dữ liệu từ hệ thống đào tạo trực tuyến theo yêu cầu của
hệ thống tích hợp
Tầng các dịch vụ: Tầng này chứa các dịch vụ thật sự có thể được khám phá,
triệu gọi từ các ứng dụng khác nhau để cung cấp một chức năng nghiệp vụ cụ thể cho doanh nghiệp Các dịch vụ được xuất bản và triển khai dưới dạng các giao diện thành phần như là các đặc tả về dịch vụ và được xuất bản trên mạng Nếu nhìn theo
hệ thống tích hợp thông tin, tầng này chứa các dịch vụ cung cấp dữ liệu cho hệ thống tích hợp
Tầng kịch bản xử lý nghiệp vụ: Tầng này cung cấp giao diện người sử
dụng và các ứng dụng dịch vụ Đối với một hệ thống tích hợp, tầng này chính là tầng ETL, xử lý dữ liệu trước khi nạp vào kho dữ liệu
Việc tiếp cận kiến trúc hướng dịch vụ là một phương pháp hữu hiệu nhằm đáp ứng các môi trường CNTT và các ứng dụng ngày một phức tạp Việc này tạo điều kiện căn bản cho sự phát triển của các ứng dụng theo kiểu "modular" - có thể
dễ dàng tích hợp, phối hợp, bảo vệ, giám sát và sử dụng lại - tạo nên một hạ tầng
cơ sở CNTT linh hoạt và dễ ứng dụng, đáp ứng các nhu cầu của doanh nghiệp [13] Các công ty như IBM, SAP, BEA System và Microsoft đã công bố một số sản phẩm của họ được xây dựng dựa trên SOA
Có thể nói SOA và Web Service có những mối liên kết chặt chẽ với nhau Web Service thể hiện một kiến trúc hướng dịch vụ một điểm chính của Web Service là xây dựng chức năng cho các khối có thể tiếp cận thông qua giao thức
Trang 27Internet mà không phụ thuộc về nền và ngôn ngữ lập trình Các dịch vụ này có thể
là các ứng dụng mới hoặc chỉ là bao phủ xung quanh các hệ thống đã tồn tại và làm cho chúng có khả năng giao tiếp thông qua môi trường mạng Một dịch vụ có thể dựa trên một dịch vụ khác để đạt được mục tiêu của nó Với những ưu điểm của mình, trong những năm gần đây, SOA và Web Service đóng vai trò rất quan trọng trong hướng tiếp cận vấn đề tích hợp hướng dịch vụ
Trong các hệ thống tích hợp thông tin, vấn đề giao tiếp giữa hệ thống tích hợp với các nguồn dữ liệu thông thường là trên môi trường mạng, hơn nữa các nguồn dữ liệu lại đa tạp về nền, cấu trúc và ngữ nghĩa Trong bối cảnh đó, một kiến trúc tích hợp mới đã được đề xuất, đó chính là SOIA (kiến trúc tích hợp hướng dịch vụ), qua đó có thể hỗ trợ giải quyết được vấn đề đầu tiên đó là đa tạp về nền Hơn nữa nếu ứng dụng công Web Service vào trong kiến trúc này, việc xây dựng các thành phần chiết dữ liệu cho mỗi nguồn có thể phát triển độc lập với nhau, tùy theo hoàn cảnh của mỗi nguồn, không phụ thuộc vào ngôn ngữ lập trình [13]
Kiến trúc tích hợp hướng dịch vụ là một kiểu kiến trúc dành cho các hệ thống tích hợp cung cấp dữ liệu cho kho dữ liệu Kiến trúc này dựa trên SOA, Web Service và ETL Bao gồm bốn thành phần chính
SE (Dịch vụ chiết dữ liệu):Số lượng dịch vụ chiết dữ liệu không hạn chế, tùy
thuộc vào số lượng nguồn dữ liệu Có chức năng tương tự như quá trình chiết dữ liệu trong qui trình ETL
ST (Dịch vụ chuyển đổi):Có chức năng như quá trình chuyển đổi trong qui
trình ETL Sau khi hoàn tất, dịch vụ này sẽ gọi đến dịch vụ nạp
SL (Dịch vụ nạp):Dịch vụ này làm nhiệm vụ đẩy dữ liệu vào kho dữ liệu
SM (Dịch vụ quản lý):Dịch vụ này làm nhiệm vụ quản lý các thông tin về
nguồn dữ liệu, cấu trúc dữ liệu dùng chung và các thông tin liên quan đến quá trình tích hợp
Việc giao tiếp giữa hệ thống tích hợp hướng dịch vụ và các nguồn cung cấp
dữ liệu đều diễn ra thông qua các thông điệp (message)
1.2 Tích hợp thông tin từ các nguồn tài nguyên học tập hỗ trợ cho các hệ thống tư vấn học tập trực tuyến
Trang 281.2.1 Hệ thống tư vấn học tập trực tuyến
Việc tư vấn cho học viên những khoá học nào học cần phải học là một vấn
đề phức tạp Ở mức độ cao nhất, mục đích của nó là hướng dẫn cho học viên để vừa đạt được các mục đích học tập của mình và vừa thoả mãn các yêu cầu của khoá học đối với bậc học của mình Vì vậy, việc tạo một sự tư vấn thông minh là một hoạt động cân bằng mang tính tương đối Điều này là cần thiết để biết được các sở thích và sở trường của học viên để lựa chọn từ danh sách các khoá học phù hợp nhất Một điều quan trọng nữa là phải hiểu các quy chế của bậc học để hướng học viên chú trọng vào các khoá học liên quan
Hệ thống tư vấn học tập trực tuyến là hệ thống dùng cho việc xử lý các dữ liệu đầu vào của học viên, các kết quả và lựa chọn của việc lập kế hoạch học tập,
để tạo ra một hành động đánh giá của việc lập kế hoạch đó và đưa ra một tư vấn về
kế hoạch đó; dùng cho việc xử lý đầu vào của các dữ liệu thời gian biểu để tạo ra một hành động đánh giá và một lời tư vấn đối với việc lập thời gian biểu đó
Hình 1.9 là một mô hình của hệ thống tư vấn học tập trực tuyến
Công cụ tích hợp thông tin
Trang 29được lấy từ các hệ thống đào tạo trực tuyến thông qua công cụ tích hợp thông tin Kho dữ liệu này sẽ cung cấp dữ liệu cho công cụ khai phá dữ liệu, hỗ trợ tri thức cho bộ máy tư vấn học tập trực tuyến hoạt động
Ưu điểm của hệ thống tư vấn học tập trực tuyến là:
Giảm đến mức độ tối thiểu các công việc lặp đi lặp lại của người tư vấn:
hệ thống nhằm vào việc giảm phần lớn thời gian và công sức của người tư vấn cho các công việc lặp đi lặp lại như trả lời các câu hỏi thường xuyên bằng điện thoại hoặc email
Khuyến khích học viên chấp nhận một quan điểm mới về công việc tư vấn học tập: bằng việc tập trung các thông tin hiện có tại một nơi và cung cấp cho
học viên những công cụ để hỗ trợ họ trả lời các câu hỏi cần được tư vấn thường xuyên Điều này có nghĩa là quan điểm của học viên về việc tư vấn học tập sẽ được chuyển từ trạng thái bị động “Người tư vấn sẽ nói cho tôi khoá học nào tôi có thể học tiếp” sang trạng thái chủ động “Tôi sẽ xem xét các khoá học hệ thống cung cấp
để lựa chọn khoá học mà tôi có thể học tiếp theo”
Cung cấp sự tư vấn học tập theo một cách nhất quán: các thông tin tham
khảo được lưu trữ trực tuyến tại một nơi và việc sử dụng cùng một chương trình (hoặc một tập các chương trình) để tư vấn cho học viên những khoá học nào để học tiếp, vì vậy sự không nhất quán thường xảy ra đối với tư vấn cá nhân là được giảm
đến mức tối thiểu
Đảm bảo các thông tin liên quan đến việc tư vấn đều sẵn có tại cùng một nơi và cùng một định dạng: điều này có nghĩa là hệ thống trở thành một cổng giao
tiếp cho bất kỳ học viên nào cần thông tin tư vấn [9]
1.2.2 Các vấn đề chuẩn hóa cho nguồn tài nguyên học tập
Trong quá trình tích hợp thông tin từ nhiều nguồn rời rạc, phân tán và đa tạp, một trong những yếu tố nền tảng là xây dựng các chuẩn, qua đó làm nền tảng cho quá trình tích hợp thông tin
IMS Learner Information Packaging Information Model Specification (được
viết tắt là IMS) là một tài liệu mô tả đầy đủ các thông tin của một hồ sơ học viên Đây là một chuẩn được nhiều tổ chức tuân theo, trong đó Moodle cũng đã định
Trang 30hướng sẽ phát triển phần mềm nền đào tạo trực tuyến của họ theo chuẩn này trong các phiên bản tiếp theo Chuẩn này do IMS Global Learning Consortium công bố
Với mục tiêu là xây dựng một chuẩn chung về thông tin của học viên cho các
hệ thống đào tạo trực tuyến, trong luận văn này, chúng tôi sẽ đề xuất một chuẩn chung về thông tin học viên dựa trên chuẩn IMS
Ngoài ra đối với hệ thống tích hợp hỗ trợ hệ thống tư vấn học tập trực tuyến, còn có các vấn đề riêng cần phải giải quyết đó là:
Yêu cầu về lộ trình học tập
Mỗi chuyên ngành mà học viên theo học, sẽ có các lộ trình học tập khác nhau Mỗi lộ trình sẽ bao gồm các khóa học khác nhau và học viên khi tham gia học tập theo một lộ trình cần phải vượt qua tất cả các khóa học trong lộ trình này Mỗi một học viên phải lựa chọn cho mình một lộ trình học tập phù hợp với sở thích, trình độ của bản thân sao cho kết quả học tập là cao nhất Hệ thống tích hợp phải đảm bảo quản lý được tất cả các lộ trình học tập mà học viên tham gia đào tạo
Bộ từ khóa về ngành học, khóa học
Mỗi hệ thống đào tạo trực tuyến có một từ khóa riêng về các ngành học và các khóa học, vì vậy cần có một chuẩn chung cho tất cả các hệ thống đào tạo trực tuyến, để hệ thống tư vấn có thể hoạt động được Việc xây dựng bộ từ khóa này dựa trên siêu dữ liệu, đồng thời cũng xây dựng tập ánh xạ để ánh xạ bộ từ khóa từ các hệ thống đào tạo trực tuyến về chuẩn chung
Dữ liệu nguồn ngoài và yêu cầu về bảng dữ kiện cơ sở
Dữ liệu nguồn ngoài là dữ liệu của các hệ thống đào tạo trực tuyến đang hoạt động, nhằm cung cấp dữ liệu cho hệ thống tư vấn học tập trực tuyến Trong các hệ thống đào tạo trực tuyến, lưu trữ đầy đủ các thông tin và đặc điểm cá nhân của học viên, dữ liệu về các khóa học, các ngành học cũng như lộ trình của các ngành học Ngoài ra các hệ thống này còn ghi lại quá trình học tập của học viên như, lịch tham gia các khóa học, kết quả học tập Tuy nhiên các thông tin này được lưu trữ trong nhiều bảng khác nhau và phục vụ cho chức năng là đào tạo trực tuyến
Bảng dữ kiện cơ sở của kho dữ liệu cần phải lưu trữ đầy đủ các thông tin cần thiết của học viên đảm bảo cho việc khai phá dữ liệu có thể ra các qui luật chung, để
Trang 31từ đó có thể thực hiện hoạt động tư vấn cho học viên Điều này hết sức quan trọng khi thiết kế kho dữ liệu cho hệ thống tư vấn học tập trực tuyến
1.3 Tiểu kết
Trong chương này đã trình bày các khái niệm liên quan đến hệ thống tích hợp thông tin như Kho dữ liệu, ETL, Tích hợp dữ liệu, Kiến trúc hướng dịch vụ, Web Service và hệ thống tư vấn học tập trực tuyến Ngoài ra trong chương này cũng
đề cập đến các khó khăn và thách thức khi xây dựng hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến
Trang 32CHƯƠNG 2
MÔ HÌNH HÓA HỆ THỐNG TÍCH HỢP THÔNG TIN HỖ TRỢ
HỆ THỐNG TƯ VẤN HỌC TẬP TRỰC TUYẾN
2.1 Phát biểu bài toán
2.1.1 Yêu cầu của hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập
trực tuyến
Dữ liệu đầu vào:
Dữ liệu vào của hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến được phân thành hai loại: Các cơ sở dữ liệu quan hệ và dữ liệu cung cấp thông qua các dịch vụ
Các cơ sở dữ liệu quan hệ có thể thuộc bất kỳ phần mềm nền dạy học trực tuyến nào Tuy nhiên trong giới hạn của luận văn này, chúng tôi chỉ khảo sát trên hai phần mềm nền dạy học mã nguồn mở được sử dụng phổ biến là Moodle và Atutor Phần mềm Moodle có thể triển khai trên trên nhiều hệ quản trị cơ sở dữ liệu khác nhau như SQL Server, MySQL, Oracle, PosgestSQL Phần mềm Atutor hiện nay chỉ hỗ trợ triển khai trên hệ quản trị cơ sở dữ liệu MySQL
Ngoài ra, các hệ thống đào tạo trực tuyến có thể xây dựng hệ thống của mình theo kiến trúc hướng dịch vụ, đối với với các hệ thống này, thông tin trao đổi với các hệ thống khác đều thông qua các dịch vụ, dưới dạng thông điệp
Trong cơ sở dữ liệu của phần mềm nền dạy học trực tuyến moodle có tất cả
208 bảng, có thể cài đặt trên các hệ quản trị cơ sở dữ liệu như MySQL, MS SQL, Oracle, Postgres Trong số 208 bảng đó, qua khảo sát, chúng tôi đã chọn ra 6 trong
208 có chứa các thông tin cần thiết để tích hợp vào kho dữ liệu Các bảng được chọn có lược đồ quan hệ thể hiện trong Hình 2.1:
Trang 33Hình 2.1 Lược đồ quan hệ của các bảng chứa thông tin cần tích hợp của phần mềm
Moodle
Atutor chỉ hỗ trợ đối với hệ quản trị cơ sở dữ liệu MySQL, với 59 bảng Qua khảo sát, chúng tôi lấy ra 5 bảng có chứa các thông tin cần thiết cho quá trính tích hợp dữ liệu, các bảng này đƣợc thể hiện trong lƣợc đồ quan hệ thông qua Hình 2.2
Trang 34Hình 2.2 Lược đồ quan hệ của các bảng chứa thông tin cần tích hợp của phần mềm
Trang 35Các nguồn tài nguyên học tập trực tuyến
Hệ thống tích hợp thông tin
CSDL ATutor
Dịch vụ cung cấp dữ liệu
Làm sạch dữ liệu Dịch vụ chiết dữ liệu
Chiết dữ liệu
CSDL Moodle (MYSQL)
Kho dữ liệu
CSDL Moodle (MS SQL Server)
CSDL Atutor (MYSQL) CSDL Moodle 1
Dịch vụ cung cấp dữ liệu
CSDL Moodle 2
Dịch vụ cung cấp dữ liệu
Chuyển đổi dữ liệu Nạp dữ liệu
Giao diện người sử dụng
Người cung cấp dữ liệu
1 Cung cấp dữ liệu
2 Cập nhật thông tin
3 Xem nhật ký 3.1 Kích hoạt dịch vụ tích hợp dữ liệu 3.2 Kích hoạt chức năng tích hợp dữ liệu
3.1.3 Dữ liệu đã đồng bộ
3.2.3 Dữ liệu đã đồng bộ
4 Dữ liệu đã làm sạch
5 Dữ liệu đã sẵn sàng nạp vào kho
6 Câu truy vấn nạp dữ liệu
3.1.1 Thông điệp yêu cầu dữ liệu
3.1.2 Thông điệp dữ liệu
3.2.2 Dữ liệu 3.2.1 Kết nối, truy vấn dữ liệu
Terminology
Siêu dữ liệu
Người quản trị
1 Định nghĩa các nguồn cung cấp dữ liệu
2 Quản lý các nguồn cung cấp dữ liệu
3 Xem nhật ký cung cấp dữ liệu của các nguồn
Hình 2.3 Mô hình nghiệp vụ hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học
tập trực tuyến
Terminology: Terminology (hệ thống thuật ngữ) là một tập các thuật ngữ
được sử dụng để thiết lập các khái niệm có liên quan đến chủ đề cụ thể, mà ở đây là các khái niệm liên quan đến việc hỗ trợ tư vấn học tập, các thuật ngữ này được tổ chức và quản lý theo cây phân cấp
Siêu dữ liệu: Kho chứa các thông tin mô tả các nguồn dữ liệu, các tập ánh xạ
từ các nguồn dữ liệu vào chuẩn chung
Giao diện người sử dụng: giao diện cung cấp các chức năng để người cung
cấp dữ liệu thực hiện các chức năng của mình
Trang 36Dịch vụ chiết dữ liệu: bộ phận này được xây dựng theo kiến trúc hướng dịch
vụ, có chức năng tạo các thông điệp yêu cầu và xử lý các thông điệp phản hồi từ các dịch vụ cung cấp dữ liệu
Dịch vụ cung cấp dữ liệu: Dịch vụ có chức năng cung cấp dữ liệu cho kho
dữ liệu dưới dạng các thông điệp có chứa dữ liệu
Chiết dữ liệu: bộ phận thực hiện các kết nối đến các nguồn dữ liệu, tạo các
câu truy vấn và thực hiện các câu truy vấn đó để lấy dữ liệu từ các nguồn cung cấp cho phép lấy dữ liệu thông qua kết nối trực tiếp đến cơ sở dữ liệu của hệ thống
Làm sạch dữ liệu: Bộ phận có chức năng làm sạch dữ liệu được cung cấp từ
các nguồn tài nguyên học tập trực tuyến
Chuyển đổi dữ liệu: Bộ phận thực hiện các chức năng nhằm chuyển đổi dữ
liệu phù hợp với kho dữ liệu
Nạp dữ liệu: Bộ phận có nhiệm vụ nạp dữ liệu vào kho dữ liệu của hệ thống
tư vấn trự tuyến
Kho dữ liệu: Kho dữ liệu của hệ thống tư vấn học tập trực tuyến
Các nguồn tài nguyên học tập trực tuyến: Là các cơ sở dữ liệu của các hệ
thống đào tạo trực tuyến
2.2 Một số hướng triển khai hỗ trợ quá trình tích hợp thông tin
Theo mô hình nghiệp vụ như đã trình bày ở phần trên, hệ thống tích hợp thông tin hỗ trợ hệ thống tư vấn học tập trực tuyến thu thập dữ liệu thông qua hai phương thức, đó là kết nối trực tiếp đến các nguồn dữ liệu và sử dụng các câu truy vấn SQL để thu thập dữ liệu
Việc kết nối và truy vấn đến các nguồn dữ liệu phụ thuộc vào từng hệ quản trị cơ sở dữ liệu của mỗi nguồn dữ liệu, vì vậy trong hệ thống tích hợp thông tin cần
có công cụ để tạo câu kết nối và tạo câu truy vấn một cách tự động, tùy thuộc vào từng nguồn dữ liệu cụ thể Công việc này dựa trên các thông tin đã được định nghĩa
về nguồn dữ liệu được lưu trong Siêu dữ liệu của hệ thống tích hợp thông tin
Phương thức thu thập dữ liệu thứ hai là thông qua các dịch vụ cung cấp dữ liệu, trong giới hạn của luận văn này, chỉ tiếp cận với các dịch vụ cung cấp dữ liệu được xây dựng bằng công nghệ Web Service Đối với phương thức này, mọi sự trao
Trang 37đổi thông tin giữa hệ thống tích hợp và nguồn cung cấp dữ liệu đều thông qua các thông điệp Vì vậy trong hệ thống tích hợp phải có công cụ tạo thông điệp yêu cầu dịch vụ cung cấp dữ liệu, thực hiện công việc cung cấp dữ liệu cho hệ thống tích hợp thông tin Đồng thời, hệ thống tích hợp thông tin cũng cần phải có dịch vụ nhận thông điệp phản hồi từ dịch vụ cung cấp dữ liệu Hơn nữa dữ liệu mà dịch vụ cung cấp dữ liệu chuyển cho hệ thống tích hợp ở dạng các thông điệp, vì vậy hệ thống tích hợp thông tin phải có một công cụ phân tích thông điệp để trích dữ liệu từ các thông điệp chứa dữ liệu
Mô hình nghiệp vụ của hệ thống tích hợp thông tin được xây dựng dựa trên qui trình ETL, tuy nhiên quá trình chiết dữ liệu không chỉ đơn thuần là thu thập dữ liệu thông qua việc thực hiện các câu truy vấn SQL trên các hệ quản trị cơ sở sữ liệu
mà còn thu thập thông qua các dịch vụ dưới dạng các thông điệp
Hướng xây dựng của luận văn:
Như đã trình bày ở chương I, các nguồn cung cấp dữ liệu cho kho dữ liệu của
hệ thống tư vấn học tập trực tuyến vốn đa tạp, vì vậy cần có công cụ tích hợp thông tin để cung cấp dữ liệu đảm bảo chất lượng cho kho dữ liệu Cụ thể, luận văn tập trung vào tìm hiểu và giải quyết một số vấn đề sau đây:
tạo trực tuyến nhằm phục vụ cho quá trình tích hợp thông tin của hệ thống tư vấn học tập trực tuyến
Xây dựng mô hình kho dữ liệu của hệ thống tư vấn học tập trực tuyến
Xây dựng một định nghĩa chung cho các dịch vụ cung cấp dữ liêu và chuẩn chung cho các thông điệp của dịch vụ cung cấp và dịch vụ chiết
dữ liệu
học tập trực tuyến và một chương trình demo mô phỏng hệ thống này
Trang 382.3 Mô hình hóa hệ thống
Kiến trúc của hệ thống tích hợp thông tin hỗ trợ hệ thống tƣ vấn học tập trực tuyến đƣợc xây dựng dựa trên phân tích các yêu cầu của hệ thống và mô hình nghiệp vụ đã trình bày ở phần trên Kiến trúc này đƣợc xây dựng dựa trên các công nghệ nhƣ Web Service, Siêu dữ liệu, Kho dữ liệu, Qui trình ETL:
Dịch vụ cung cấp dữ liệu 2
Dịch vụ cung cấp dữ liệu 3
Đầu vào của hệ thống là các nguồn tài nguyên học tập trực tuyến và đầu ra chính là dữ liệu đƣợc nạp vào kho dữ liệu của hệ thống tƣ vấn học tập trực tuyến
Trang 39Mỗi thành phần trong mô hình kiến trúc trên có những chức năng và đóng các vai trò khác nhau trong hệ thống tích hợp Cấu trúc chi tiết của từng thành phần
sẽ được trình bày cụ thể trong phần sau đây
vụ để cung cấp dữ liệu cho hệ thống tích hợp Theo đó hệ thống tích hợp sẽ có các dịch vụ tương ứng để giao tiếp với các dịch vụ cung cấp dữ liệu Kiến trúc của dịch
vụ chiết dữ liệu được thể hiện thông qua Hình 2.5
Hình 2.5 Kiến trúc dịch vụ chiết dữ liệu
Theo mô hình trên, dữ liệu sau khi nhận được sẽ ở dạng các thông điệp và được chuyển cho khối chức năng xử lý thông điệp để tách dữ liệu chứa trong các
Trang 40thông điệp đó Sau đó dữ liệu sẽ được chuyển vào các khối chức năng làm sạch và định dạng dữ liệu để chuyển dữ liệu về chuẩn chung mà hệ thống đã qui định
Thành phần chiết dữ liệu theo hướng kết nối trực tiếp
Đây chính là hướng tiếp cận với các nguồn tài nguyên học tâp trực tuyến theo kiểu truyền thống Như đã trình bày ở phần trước, mặc dù hướng tiếp cận này
có một số nhược điểm, tuy nhiên nó vẫn được áp dụng đối với các nguồn tài nguyên học tập trực tuyến được quản lý chặt chẻ, hoặc được quản lý bởi chính người phát triển hệ thống tích hợp thông tin
Nguồn cung cấp
Query Data result
Nguồn tài nguyên
học tập trực tuyến
Truy vấn dữ liệu
Tạo câu truy vấn
Tạo chuỗi kết nối
Connection
Terminology
Siêu dữ liệu
Hình 2.6 Kiến trúc chiết dữ liệu theo hướng kết nối trực tiếp
Mô hình chiết dữ liệu có chứa hai thành phần tương tự như trong kiến trúc dịch vụ chiết dữ liệu, khi xây dựng hệ thống hai thành phần này sẽ được sử dụng chung trong cả hai chức năng
Thành phần chuyển đổi dữ liệu
Quá trình chuyển đổi dữ liệu sẽ diễn tra trong bốn quá trình chính, được thể hiện như là bốn khối chức năng trong Hình 2.7 Mỗi chức năng sẽ thực hiện các công việc tương ứng nhằm chuyển đổi dữ liệu phù hợp với kho dữ liệu của hệ thống đào tạo trực tuyến