Tài liệu Hệ thống e-Learning: 1
2
Hệ thống đào tạo trực tuyến đang phát triển rất mạnh trong thời gian gần đây
trên thế giới cũng như ở Việt Nam. Trên thế giới, khái niệm e-Learning đã quen
thuộc từ khá lâu, còn ở Việt Nam, khái niệm này cũng đang được phổ cập mạnh
mẽ với sự vào cuộc của Bộ Giáo dục và Đào tạo trong những năm gần đây khi vấn
đề e-Learning đang trở thành vấn đề hết sức cần thiết của ngành giáo dục. Giải ba
của nhóm Tự lập của ĐHBKHN với đề tài e-Learning tại cuộc thi tin học uy tín
nhất Việt Nam “Trí tuệ Việt Nam” là một minh chứng cho thấy vấn đề này đang
trở nên ngày càng được quan tâm nhiều hơn ở nước ta.
I. Tng quan
1. E-Learning là gì?
Hiện nay trên thế giới có rất nhiều định nghĩa về e-Learning. Sau đây, xin trích
ra một số định nghĩa tiêu biểu nhất:
• E-Learning là một thuật ngữ dùng để mô tả việc học tập, đào tạo dựa trên
công nghệ thông tin và truyền thông ( Compare Infobase Inc).
• E-Learning nghĩa là việc học tập hay đào tạo được chuẩn bị, phân phối
...
75 trang |
Chia sẻ: hunglv | Lượt xem: 1758 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Hệ thống e-Learning, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
1
2
Hệ thống đào tạo trực tuyến đang phát triển rất mạnh trong thời gian gần đây
trên thế giới cũng như ở Việt Nam. Trên thế giới, khái niệm e-Learning đã quen
thuộc từ khá lâu, còn ở Việt Nam, khái niệm này cũng đang được phổ cập mạnh
mẽ với sự vào cuộc của Bộ Giáo dục và Đào tạo trong những năm gần đây khi vấn
đề e-Learning đang trở thành vấn đề hết sức cần thiết của ngành giáo dục. Giải ba
của nhóm Tự lập của ĐHBKHN với đề tài e-Learning tại cuộc thi tin học uy tín
nhất Việt Nam “Trí tuệ Việt Nam” là một minh chứng cho thấy vấn đề này đang
trở nên ngày càng được quan tâm nhiều hơn ở nước ta.
I. Tng quan
1. E-Learning là gì?
Hiện nay trên thế giới có rất nhiều định nghĩa về e-Learning. Sau đây, xin trích
ra một số định nghĩa tiêu biểu nhất:
• E-Learning là một thuật ngữ dùng để mô tả việc học tập, đào tạo dựa trên
công nghệ thông tin và truyền thông ( Compare Infobase Inc).
• E-Learning nghĩa là việc học tập hay đào tạo được chuẩn bị, phân phối
hoặc quản lý sử dụng nhiều công cụ của công nghệ thông tin, truyền thông
khác nhau và được thực hiện ở mức cục bộ hay toàn cục ( MASIE Center).
• Việc học tập được phân phối hoặc hỗ trợ qua công nghệ điện tử. Việc phân
phối qua nhiều kĩ thuật khác nhau như Internet, TV, video tape, các hệ
thống giảng dạy thông minh, và việc đào tạo dựa trên máy tính ( CBT )
( Sun Microsystems, Inc ).
• Việc phân phối các hoạt động, quá trình, và sự kiện đào tạo và học tập
thông qua các phương tiện điện tử như Internet, intranet, extranet, CD-
ROM, video tape, DVD, TV, các thiết bị cá nhân... ( e-learningsite).
2. Hệ thống đào tạo trực tuyến e-learning (e-learning System).
Những tiến bộ gần đây trong việc cải tiến khả năng và tốc độ truy cập internet
cũng như sự tăng cường sức mạnh cho các máy tính cá nhân đã thúc đẩy mạnh mẽ
các cơ hội cho việc sử dụng môi trường hợp tác và các công nghệ giáo dục phân
tán. Từ đó, một số lượng lớn các sản phẩm đã và đang được rất nhiều các công ty
khác nhau phát triển để cạnh trang trên thị trường về công nghệ giáo dục. Nhiều
loại sản phẩm mới xuất hiện, một số cung cấp các tính năng mới, một số khác liên
kết các tính năng riêng lẻ thành một sản phẩm mới. Rất khó để xác định xem các
3
sản phẩm này có liên hệ với nhau như thế nào và làm thế nàp để chúng có thể cùng
hoạt động trong một môi trường thống nhất. Sự xuất hiện của hệ thống đào tạo
trực tuyến không có nghĩa là các hạ tầng phần mềm ứng dụng đào tạo đã tồn tại
trước đây là lỗi thời. Các hệ thống như hệ thống quản lý sinh viên, quản lý nhân sự,
quản lý thư viện cung cấp những thành phần cơ bản cho môi trường. Thách thức
đặt ra là làm thế nào có thể tích hợp một cách có hiệu quả các hạ tầng đã có vào
các ứng dụng dịch vụ mới.
II. Mô hình chc năng ca mt h thng đào to trc tuyn.
Mô hình chức năng xác định các thành phần cấu thành một hệ thống đào tạo
trực tuyến. Hiện nay trên thế giới có một số đề xuất về mô hình chức năng chẳng
hạn như SCORM, xác định mô hình chức năng tổng quát của một hệ thống quản lý
đào tạo LMS (Learning Management System), còn Sun Microsystems cũng giới
thiệu một mô hình chức năng đặc thù của họ. So sánh các mô hình chức năng này
với nhau, chúng tôi đề xuất một mô hình chức năng trong đó hê thống đào tạo
được phân tách thành 2 hệ thống, hệ thống quản lý nội dung LCMS (Learning
Content Managerment System) và hệ thống quản lý đào tạo LMS (Learning
Management System) để có thể quản lý các chức năng một cách rõ ràng, mạch lạc
hơn. Chúng tôi cũng xác định các learning object được trao đổi giữa mỗi thành
phần, các đối tượng này có quan hệ chặt chẽ với các chuẩn tồn tại hiện nay cho
một hệ thống đào tạo trực tuyến.
Để có được cái nhìn tổng quan về các chức năng của một hệ thống đào tạo trực
tuyến, ta sẽ xem xét một số mô hình chức năng đã được đề xuất, sau đó sẽ xem xét
mô hình chức năng có sự phân chia LMS thành LCMS và LMS.
1. Mô hình chức năng do Sun Microsystems đề xuất.
4
Hình 1. Mô hình chức năng của hệ thống đào tạo trực tuyến do Sun đề
xuất
Trước hết, ta sẽ xác định các khái niệm và các thành phần cấu thành nên mô
hình trên.
Đối tượng kiến thức: Learning Object
Khi thảo luận về hệ thống đào tạo trực tuyến, ta cần phải nắm được một cách
thấu đáo một thuật ngữ thông dụng: đối tượng kiến thức (learning objects). Đối
tượng kiến thức được định nghĩa trong rất nhiều các tài liệu, các tiêu chuẩn, các
báo các và các nghiên cứu khác nhau về hệ thống đào tạo trực tuyến. Từ góc độ
chuyên môn, ta có thể định nghĩa đối tượng kiến thức là một tập các dữ liệu được
sử dụng bởi hệ thống đào tạo trực tuyến, chúng được tạo ra, lưu trữ, biên soạn,
ghép nối, chuyển giao và làm phương tiện ghi chép. Một cách tiếp cận thực tế hơn
là coi đối tượng kiến thức như một thành phần số đóng góp vào bức tranh phức tạp
của một bài giảng trực tuyến.
Kho chứa nội dung và các danh mục đề nghị (Content Repositories and
Offering Catalogs)
Kho chứa nội dung là kho chứa các đối tượng kiến thức và có thể được truy
nhập bởi cả những người và hệ thống tạo nên nội dung cũng như những người và
hệ thống sử dụng nội dung đó. Các kho chứa phải có thể được xử lý một cách
5
thương mại các nội dung thông thường cũng như chuyên biệt đã được tạo ra bởi
một nhóm hay một tổ chức cũng như ở bất cứ nơi nào khác.
Siêu dữ liệu (Metadata)
Để có thể giao tiếp một cách có hiệu quả với các thành phần khác, kho chứa dữ
liệu phải duy trì một chỉ mục tìm kiếm của các đối tượng kiến thức, và đặc biệt là
các thông tin mô tả về cấu trúc cũng như thuộc tính của các đối tượng. Các thông
tin mô tả này được gọi là các siêu dữ liệu (metadata), hoặc chính xác hơn là siêu
dữ liệu của các đối tượng kiến thức. Siêu dữ liệu được sử dụng để phục vụ cho
việc tìm kiếm, khai thác và phục hồi các đối tượng kiến thức.
Siêu dữ liệu và sự lưu trữ dữ liệu (Metadata and Content Storage)
Khi ta liên hệ với một thư viện truyền thống thì siêu dữ liệu tương tự như một
thẻ danh mục còn nội dung thì tương tự như các cuốn sách. Mặc dù trong thư viện,
các thẻ danh mục tách rời khỏi các cuốn sách và các kho chứa nội dung của thời
đại thông tin số thường chỉ chứa các siêu dữ liệu. Nội dung của các kho chứa bao
gồm rất nhiều dạng như dạng văn bản, đồ họa, các câu hỏi đánh giá, hình ảnh, hoạt
hình, mô phỏng, âm thanh và phim ảnh. Sự lưu trữ vật lý và phục hồi các đối
tượng nội dung có thể hoàn toàn tách rời khỏi sự lưu trữ và phục hồi của các siêu
dữ liệu về các đối tượng kiến thức đó. Tóm lại là, các đối tượng kiến thức có thể
được lưu trữ trên nhiều server với các đặc trưng khác nhau. Đây dường như là
cách tiếp cận mang tính công nghệ để đạt được sự hiệu quả cao trong việc chuyển
giao các nội dung thực tế đến người học và bởi vì các dữ liệu đa phương tiện khác
nhau đòi hỏi các loại server khác nhau.
Quản lý nội dung và dòng công việc (Content and Workflow Management)
Mặc dù việc này mới chỉ bắt đầu xảy ra nhưng các kho chứa dữ liệu có thể là
một phần của hệ thống quản trị nội dung hay có thể hỗ trợ cho các tính năng quản
lý nội dung như điều khiển phiên bản, đăng nhập/đăng xuất và sự phê chuẩn của
người quản lý khi có một nội dung mới được tạo ra. Các tính năng nhập/xuất cần
có để có thể chuyển giao các đối tượng hay các gói đối tượng giữa các hệ thống
cũng có thể được xem như là sự quản trị nôi dung.
Các đối tượng kiến thức có thể tái sử dụng (Reusable Learning Objects)
Các kho chứa các đối tượng kiến thức cho phép người sử dụng có thể phát triển,
tạo chỉ mục, tìm kiếm và tái sử dụng các đối tượng kiến thức. Việc này đòi hỏi các
đối tượng phải được đánh chỉ mục bằng các siêu dữ liệu, và thường xuyên yêu cầu
khả năng trộn lẫn và ghép nối các đối tượng kiến thức từ các nguồn khác nhau và
6
chuyển giao chúng đến các hệ thống khác nhau. Về mặt tổng quan thì để các đối
tượng kiến thức có thể tái sử dụng được thì các thành phần phải hợp tác được với
nhau.
Tính sử dụng lại là một trong các điều cần lưu ý nhất khi muốn đảm bảo tính
hiệu quả của quá trình phát triển nội dung. Nó giảm thời gian đưa nội dung ra thị
trường (time-to-market) và làm cho công việc của người phát triển trở nên dễ dàng
hơn.
Hình 2. Khả năng tái sử dụng của các đối tượng kiến thức
Danh mục đề nghị (Offering Catalog)
Một kiến thức được đề nghị được xác định như là nội dung được ghép vào
trong một gói kiến thức (có thể bao gồm cả các phần đánh giá) và sau đó được đề
xuất tới những người học như là một đơn vị thống nhất. Danh mục đề nghị là một
loại kho chứa đặc biệt, là nơi lưu trữ các đề xuất. Một danh mục đề nghị có thể
liên kết các đề xuất với các đường dẫn để dẫn đến sự đồng thuận, các chứng nhận
và/hoặc các kỹ năng. Tùy thuộc vào kiến trúc vật lý của môi trường đào tạo, danh
mục này có thể được tích hợp với các kho chứa nội dung bình thường hay có thể là
một thành phần độc lập.
Các công cụ soạn thảo nội dung (Content Authoring Tools)
Các công cụ và dịch vụ soạn thảo nội dung (và các đánh giá) cho phép các
chuyên gia chủ đề và các nhà phát triển tài liệu hướng dẫn có thể tạo ra và sửa
chữa các đối tượng nội dung. Những nhà phát triển tài liệu hướng dẫn chuyên
nghiệp rõ ràng rất cần có các công cụ cung cấp cho họ một tập hợp các tính năng
phong phú trong khi các chuyên gia chủ đề được phục vụ tốt hơn bởi các công cụ
dễ dùng và dễ học, và chúng cũng cung cấp sẵn các mẫu chuẩn cho các nội dung
đang được phát triển. Các công cụ soạn thảo khác nhau được sử dụng để tạo và
định dạng cho các loại nội dung khác nhau như văn bản, đồ họa, hình ảnh, hoạt
7
hình, mô phỏng, âm thanh và phim ảnh. Các công cụ soạn thảo cần phải có khả
năng cho phép người thiết kế nội dung có thể xác định rằng dữ liệu đang tồn tại có
thể tái sử dụng hoặc sử dụng vào mục đích khác hơn là thiết kế và soạn thảo lại
hoàn toàn. Việc này yêu cầu những người thiết kế tài tiệu hướng dẫn, người cung
cấp nội dung và những người phát triển các khóa học phải cung cấp sự mô tả về
nội dung của họ một cách chính xác trong các siêu dữ liệu. Trong một môi trường
đào tạo lý tưởng, các công cụ soạn thảo tích hợp nhuần nhuyễn với các kho chứa
nội dung, cho phép họ có thể tìm kiếm, phục hồi, thay đổi, lưu trữ và thay thế các
đối tượng cũng như các siêu dữ liệu của chúng.
Ví dụ
Một trong các phần mềm soạn thảo nội dung được dùng nhiều hiện nay là
Lectora Publisher. Đây là phần mềm rất dễ học. Chỉ trong khoảng 30 phút bạn đã
có thể tạo nội dung học tập của riêng bạn. Bạn không cần biết kĩ năng về lập trình.
Bạn cũng có thể tạo được các bài kiểm tra. Đầu ra của quá trình tạo nội dung
tương thích với SCORM, AICC. Để có thêm thông tin hãy vào website của phần
mềm www.lectora.com
Màn hình sử dụng các mẫu
có trước để tạo một cua học
Màn hình cấu trúc của
một cua học
Màn hình các lựa chọn
đầu ra của cua học
Các công cụ lắp ghép nội dung (Content Assembly Tools)
Các công cụ lắp ghép nội dung liên quan đến việc kết nối các đối tượng nội
dung thành một module học tập thống nhất, với sự định hướng giữa các đối tượng
đã được xác định cũng như sự đánh giá về các nội dung tương ứng. Lắp ghép nội
dung thường được thực hiện bằng các công cụ khác với các công cụ soạn thảo
dùng để tạo ra các đối tượng kiến thức mặc dầu rất nhiều công cụ soạn thảo cũng
có cả các tính năng lắp ghép.
Các công cụ lắp ghép nội dung có thể hỗ trợ việc tạo cũng như ứng dụng các
mẫu sẵn có như là các thành phần cơ bản cho một gói nội dung một cách ổn định
và hiệu quả vào một module học tập. Các mẫu có thể dựa trên các kiến trúc, trên
các trình diễn, trên các phương pháp thiết kế chỉ dẫn hoặc trên tất cả các thành
phần đó. Do đó, một mẫu có thể chia một bài giảng thành phần giới thiệu, phần
giải thích, ví dụ và đánh giá. Lắp ghép cũng cho phép liên kết các thành phần khác
8
nhau của kinh nghiệm học tập như chat room, các diễn đàn thảo luận không đồng
bộ, các sự kiện đồng bộ và môi trường hợp tác.
Quản lý danh mục (Catalog Manager)
Quản lý danh mục là quá trình xác định nội dung học tập để chuyển tới các
người sử dụng khác nhau, thành lập kế hoạch học tập (các hướng để có thể được
cấp bằng, cấp chứng chỉ, các môn học để phát triển kỹ năng), luân chuyển tài
nguyên là cần thiết để hỗ trợ việc chuyển giao kiến thức, cơ sở hạ tầng ứng dụng
của một hệ thống đào tạo trực tuyến có vai trò thiết lập nên các quy trình thương
mại để đăng ký người học, tạo ra các danh mục người đăng ký để người có nhu
cầu có thể vào đăng ký trực tiếp. Các thành phần quản lý danh mục có các giao
diện điển hình cho phép những cá nhân được phép kích hoạt quá trình học tập và
thiết lập các quyền truy nhập, cấm truy nhập, thiết lập giá cả, và hơn nữa.
Quản lý hồ sơ người học (Learner Profile Manager)
Trong một hệ thống đào tạo trực tuyến thì người học vẫn luôn là trung tâm và
do đó, một hệ thống đào tạo trực tuyến cần lưu giữ các thông tin về những người
học của mình. Thông tin này gồm có: dữ liệu cá nhân, kế hoạch học tập (kế hoạch
lấy bằng cấp chẳng hạn), lịch sử học tập, các chứng chỉ và bằng cấp, đánh giá về
kiến thức (kỹ năng và khả năng) và trạng thái của người học trong hệ thống (sự
đăng ký, tiến trình học như thế nào). Tất cả các thông tin này được gọi là hồ sơ
người học và hệ thống đào tạo trực tuyến cần phải có một bộ phận để quản lý các
hồ sơ này. Bộ phận quản lý hồ sơ người học phải cho phép các thành phần khác
của hệ thống sử dụng các thông tin của hồ sơ người học đồng thời phải luôn cập
nhật và có thể phục hồi các thông tin trên cơ sở các báo cáo của các thành phần
khác.
Lập kế hoạch học tập (Learning Planner)
Tùy thuộc vào hoàn cảnh tổ chức, quá trình học tập có thể được lập kế hoạch
bởi người học, bởi các giáo viên, bởi những người cố vấn, bởi những người quản
lý các môn học, bởi các giám đốc nhân lực hay bởi các những người lập kế hoạch
và quản lý thời gian biểu. Những thành phần cơ bản nhất của việc lập kế hoạch
(mà không thể thay thế bằng các hệ thống tự động) gồm có:
• Xác định các mục tiêu học tập. Bằng cấp, chứng chỉ, các kỳ thi nghề hay các kỹ
năng nào người học muốn đạt được?
9
• Đánh giá kiến thức hay trình độ kỹ năng hiện tại của học viên. Việc này có thể
được thực hiện nhờ các bài kiểm tra, bằng cách đánh giá tiểu sử học tập hay thông
qua đánh giá chủ quan của chính người học hay một người nào khác.
• Đánh giá kiến thức hiện tại và/hoặc trình độ kỹ năng hiện tại của học viên so
với mục tiêu của khóa học mà họ theo đuổi. Trong giáo dục đại học, điều này
thường được nói đến như là sự phân tích tiến trình lấy bằng. Trong một thế giới
chung, việc này còn có thể được gọi là phân tích các kỹ năng còn thiếu.
• Thành lập một kế hoạch học tập cho các học viên, việc này sẽ giúp nâng cao
trình độ hiện có của các học viên lên cấp độ mà họ mong muốn đạt được một cách
khoa học nhất.
Cần lưu ý rằng đây không phải là các bước tuần tự nối tiếp nhau, giữa chúng có
các mối liên hệ có thể phải đánh giá lại vào bất cứ thời điểm nào.
Việc lên kế hoạch học tập cần phải có sự truy nhập vào các đề nghị hay các
kiến thức trong danh mục đề nghị và vào các thông tin về người học tong các kho
chứa hồ sơ về người học. Các kế hoạch học tập nên được xem như một phần cốt
lõi của hồ sơ người học và được lưu trữ để theo dõi trong cả quá trình theo học.
Chúng ta xét tính năng lập kết hoạch đào tạo của phần mềm MindManager X5
Pro để có thể thấy rõ hơn về công việc này.
Hình 3. MindManager
10
Hình 4. Chức năng lập kế hoạch đào tạo của MindManager
Cán bộ đào tạo (Learner Registrar)
Thành phần cán bộ đào tạo cung cấp cho người học khả năng truy nhập vào các
đề nghị học tập và quản lý các tiến trình thương mại liên quan đến sự truy nhập đó.
Sự phức tạp của tiến trình có thể rất khác nhau, có thể đơn giản chỉ là việc người
học click lên biểu tượng danh mục, sau đó sẽ truy nhập được ngay, có thể là cả
một quá trình phức tạp gồm có sự phê chuẩn của người dạy, kiểm tra tính hợp lệ
của vị trí học viên, kiểm tra các điều kiên tiên quyết đã được định trước, tính toán
hóa đơn, quá trình thanh toán, hủy bỏ và bồi thường hợp đồng, …
Môi trường chuyển giao (Delivery Environment)
Môi trường chuyển giao cung cấp cho người học khả năng truy nhập vào nội
dung học tập và các thành phần khác của môi trường học tập như chat, email, câu
hỏi trắc nghiệm, công cụ biểu diễn và hiển thị dữ liệu đa phương tiện, các công cụ
hợp tác, chia sẻ ứng dụng, công cụ soạn thảo phương trình, …Môi trường cũng
cung cấp các công cụ chỉ dẫn nếu như trong mạng có một thành phần đóng vai trò
người chỉ đạo học tập.
11
Môi trường chuyển giao cũng cung cấp các phương tiện để có thể duyệt qua nội
dung, đôi khi dưới sự điều khiển của người học, cũng có khi dưới sự điều khiển
của người dạy và cũng có thể dưới sự điều khiển của chính hệ thống chuyển giao.
Các quy tắc và/hoặc cách thức để duyệt qua một đề nghị được thiết lập trong quá
trình lắp ghép nội dung.
Các thành phần của môi trường chuyển giao có thể có:
• Các môi trường hợp tác đồng bộ chẳng hạn như các chat room, chia sẻ màn hình,
hội thảo từ xa bằng công nghệ audio, video.
• Các hợp tác không đồg bộ như email, diễn đàn thảo luận
• Các nội dung Self-paced (văn bản, video, mô phỏng, đồ họa, etc),
• Chuyển giao và theo dõi các tiền và hậu đánh giá
• Duyệt thích nghi, tùy thuộc vào các kết quả đánh giá.
Dữ liệu về các hoạt động của một người học và trạng thái trong một sự đề nghị
có thể được chuyển ngược trở lại hồ sơ của người học đó.
Chúng ta sẽ xét một ví dụ về một công cụ chuyển giao hữu dụng trong một hệ
thống đào tạo trực tuyến, đó là công cụ chat. Công cụ chat trong hệ thống đào tạo
trực tuyến giúp:
• Tăng khả năng trao đổi thông tin giữa các học viên, giúp hiểu về nhau kĩ
hơn
• Giúp giáo viên và học viên có thể tham gia trao đổi với nhau cùng một vấn
đề
Ví dụ
ICQ là một trong các phần mềm instant messenger đầu tiên (và cũng miễn phí).
Vào thời điểm này vẫn là một trong các phần mềm tốt nhất, khi so sánh với đối thủ
của nó là MS IM, nó có nhiều tính năng hơn. Bạn có thể vào phòng chat và gửi
message tức thì. Khi triển khai phục vụ cho việc đào tạo, thiết lập là một vấn đề vì
bạn cần mở hai cổng ở tường lửa. Một vài công ty sẽ không cho phép điều này. Để
có thêm thông tin hãy vào website của phần mềm
Màn hình ai đang online? Màn hình thiết lập trạng
thái
Màn hình gửi một
message
12
Ta xét thêm một ví dụ về một công cụ tạo diễn đàn. Công cụ tạo diễn đàn là các
công cụ dùng để tạo các diễn đàn thảo luận. Với diễn đàn, bạn có thể đưa các câu
hỏi lên, mọi người có thể vào đọc và trả lời câu hỏi của bạn nếu có thể. Ngoài ra,
các người tham gia diễn đàn có thể tạo ra các chủ đề thảo luận mới. Trong một hệ
thống đào tạo trực tuyến, công cụ tạo diễ đàn giúp:
• Kích thích việc chia sẻ thông tin giữa các học viên
• Hoạt động giống như FAQ. Các học viên có thể kiểm tra diễn đàn trước khi
đưa các câu hỏi lên
• Thích hợp cho việc trao đổi thông tin không mang tính hình thức (informal)
• Tạo hứng thú cho học viên thông qua thảo luận các nội dung chuẩn bị học
trong giáo trình
Ví dụ
phpBB là công cụ tạo các cộng đồng trên môi trường web. Nó là một giải pháp rất
hoàn chỉnh với tất cả các đặc điểm mà bạn có thể tưởng tượng và tương thích với
nhiều cơ sở dữ liệu khác nhau. Nếu bạn là một người điều hành, bạn thậm chí có
thể thay đổi giao diện dựa trên CSS. Điều đáng chú ý là công cụ này miễn phí, mã
nguồn mở. Để có thêm thông tin hãy vào website của phpBB www.phpbb.com
Màn hình các nhóm khác
nhau
Màn hình các bài gửi Màn hình thống kê diễn
đàn
Môi trường hợp tác (Collaborative Environment)
Một số hệ thống chuyển giao kiến thức được xây dựng hầu hết xung quanh sự
chuyển giao và hợp tác đồng bộ. Chúng được gọi là các phòng học ảo vì các hệ
thống này cố gắng mở rộng môi trường vật lý và các tương tác thông thường của
một phòng học sang các thiết lập trên môi trường mạng. Mặc dù được sử dụng cho
e-learning, các tiếp cận mang tính công nghệ cho một phòng học ảo có rất nhiều
khác biệt so với môi trường chuyển giao các khóa học trên Web sử dụng chủ yếu
giao thức chuyển giao không đồng bộ.
Các bộ máy đánh giá và kiểm tra (Assessment and Testing Engines)
13
Việc kiểm tra và đánh giá có thể được tích hợp với nội dung học tập và chuyển
giao cùng với nó, hoặc cũng có thể quản lý như một quy trình riêng biệt. Trong
mỗi trường hợp, sự đánh giá và kiểm tra là các bộ phận thiết yếu của bất cứ môi
trường giáo dục nào, và sự lưu trữ, lắp ghép, chuyển giao và ghi nhận các đánh giá
thường được đảm trách bằng một bộ phận riêng biệt gọi là bộ máy đánh giá.
Các bộ máy đánh giá điển hình thường bao gồm các khả năng đánh giá của các
tác giả và có thể được sử dụng để tạo ra các ngân hàng câu hỏi từ mỗi đánh giá (và
điều tra) đã được liên kết lại. Quy trình ghép nối có thể bao gồm việc lựa chọn
ngẫu nhiên các câu hỏi dựa trên các tiêu chí đánh giá cho dù sự lựa chọn các câu
hỏi cần phải có sự tương thích với các kết quả trước đó. Các loại câu hỏi cung cấp
bởi bộ máy đánh giá là rất đa dạng cho dù các câu hỏi trắc nghiệm với chỉ một đáp
án đúng vẫn chiếm một số lượng lớn.
Ví dụ
Questionmark là một nhân vật rất lâu đời, rất có tiếng trong lĩnh vực e-Learning,
đặc biệt là về cung cấp phần mềm hỗ trợ tạo các bài kiểm tra. Môi trường tạo bài
thi mà công ty đưa ra có rất nhiều tính năng. Ngoài ra các phần mềm rất dễ dùng,
tốn rất ít thời gian để đào tạo. Điều bạn cần là phương pháp giảng dạy và kiến thức
chuyên môn. Để tìm hiểu kĩ hơn hãy vào website của công ty
www.questionmark.com
Màn hình các loại câu hỏi
khác nhau
Màn hình các câu hỏi
nhìn như thế nào?
Màn hình thông báo kết
quả kiểm tra
2. Mô hình chức năng có sự phân chia thành LMS và LCMS
14
Hình 5. Mô hình chức năng có sự phân chia thành LCMS và LMS
Mô hình chức năng có thể được phân chia thành 2 phần, phần thứ nhất là Hệ
thống quản lý các quá trình học (LMS : Learning Managerment System) và phần
thứ hai là Hệ thống quản lý nội dung các khóa học (LCMS : Learning Content
Managerment System).
2.1. Hệ thống quản lý các quá trình học (LMS)
Quản lý việc đăng ký khóa học của học viên, tham gia các chương trình có sự
hướng dẫn của giảng viên, tham dự các hoạt động đa dạng mang tính tương tác
trên máy tính và thực hiện các bảng đánh giá. Hơn thế nữa, LMS cũng giúp các
15
nhà quản lý và giảng viên thực hiện các công việc kiểm tra, giám sát, thu nhận kết
quả học tập, báo cáo của học viên và nâng cao hiệu quả việc giảng dạy.
Một hệ thống quản lý các quá trình học đầy đủ phải gồm có các tính năng sau
đây (theo Sun Microsystem):
• Quản lý hồ sơ người học (Learner profile manager)
• Quản lý danh mục các đề nghị của học viên(Learning offering catalog manager)
• Công cụ lập kế hoạch học tập (Learning planner)
• Cán bộ đào tạo (Learner registrar)
• Kết nối vào môi trường chuyển giao để chuyển giao các đề nghị học tập
(Connection to delivery environment for delivery of learning offerings)
• Giám sát sự chuyển giao/tham gia (Delivery/participation tracking)
• Giám sát sự đánh giá và kiểm tra (Assessment and testing tracking)
• Các công cụ phân quyền đánh giá (Assessment authoring tools)
• Các bộ liên kết, ghép nối nội dung (Content assembler)
Thực chất, hệ thống quản lý các quá trình học có nhiệm vụ quản lý môi trường
học tập, cung cấp không gian để giúp cho việc tổ chức và giới thiệu nội dung tới
người học, quản lý các kế hoạch học tập, theo dõi, giám sát các hoạt động và kết
quả của quá trình học tập.
Các nhà cung cấp LMS hiện nay đang tiến những bước vững chắc trong việc
mở rông thị trường của họ bằng việc tích hợp các công cụ quản lý truy nhập, công
cụ đánh giá và công cụ chuyển giao, phân phối vào các sản phẩm của họ.
Ví dụ
LUIVT là một sản phẩm của Thụy Điển, được phát triển trong một trường đại học.
Đây là một LMS rất dễ sử dụng, đặc biệt phù hợp với thị trường giáo dục. Hơn
nữa, giao diện rất sáng sủa và có thể điều chỉnh theo ý thích của bạn và LMS hỗ
trợ hơn 10 ngôn ngữ. Để có thêm thông tin hãy vào website của họ.
Màn hình giới thiệu ban đầu Màn hình quản lý các quá
trình học tập
Màn hình quản lý tài
liệu
LearningSpace là một LMS khác. Vài năm trước nó dựa vào chủ yếu các sản
phẩm của Lotus nhưng kể từ khi IBM để ý đến LMS này đã thật sự có nhiều bước
16
đột phá và là một sản phẩm hoàn chỉnh. Hệ thống LMS cung cấp cho bạn nhiều
tính năng với tìm mềm dẻo cao và có tích hợp trong nó các tính năng trao đổi
thông tin tốt. Để có thêm thông tin hãy vào website của sản phẩm.
Màn hình giới thiệu ban đầu Màn hình duyệt nội dung Màn hình theo dõi quá
trình học tập của học
viên
2.2. Hệ thống quản lý nội dung khóa học (LCMS)
Quản lý cách thức cập nhật, quản lý và phân phối khóa học một cách linh hoạt.
Người thiết kế nội dung chương trình học có thể sử dụng LCMS để sắp xếp, chỉnh
sửa và đưa lên các khóa học/chương trình. Hệ thống LCMS sử dụng cơ chế chia sẻ
nội dung khóa học trong môi trường học tập chung, cho phép nhiều người sử dụng
có thể truy cập đến các khóa học và tránh được sự trùng lắp trong việc phân bổ các
khóa học và tiết kiệm được không gian lưu trữ. Cùng với sự ra đời của truyền
thông đa phương tiện, LCMS cũng hỗ trợ các dịch vụ liên quan âm thanh và hình
ảnh, đưa các nội dung giàu hình ảnh và âm thanh vào môi trường học.
Các đặc trưng của một LCMS điển hình gồm có:
• Các công cụ lắp ghép nội dung
• Các công cụ kiểm tra nội dung cũng có thể đi kèm với LCMS
• Công cụ kiểm soát truy nhập được tích hợp để hỗ trợ việc đăng ký, lưu trữ và
phục hồi các đối tượng theo bất kỳ tiêu chuẩn của các công cụ kiểm soát truy
nhập nào.
• Một kho chứa nội dung các siêu dữ liệu (metadata) được kích hoạt (bao gồm
thiết bị lưu trữ với một số chức năng quản lý nội dung và danh mục đề
nghị).
• Một trình quản lý hồ sơ học viên đơn giản, mặc dù các trình này thường rất
trong các sản phẩm LCMS thường rất phức tạp.
• Một hệ thống phân phối nội dung cho phép hệ thống LCMS định vị, phục hồi,
và giúp cho các đối tượng tương ứng phù hợp với môi trường chuyển giao.
Rất nhiều các sản phẩm LCMS tích hợp tất cả các thành phần trên và dựa trên
mô hình thiết kế giáo dục hay các lý thuyết đào tạo. Một công cụ khác có thể được
tích hợp vào các sản phẩm LCMS đó là công cụ phục vụ cho việc chuyển đổi các
17
tài liệu có định dạng StarOffice, PowerPoint, hay Word thành các đối tượng kiến
thức có thể được sử dụng bởi một hệ thống quản lý nội dung.
Việc định nghĩa một hê thống LCMS như là một họ sản phẩm tách rời dường
như là một sự việc kỳ lạ. Mức độ phức tạp xung quanh việc lập kế hoạch học tập
và thương mại hóa các đề nghị thành các quy tắc kinh doanh và các quy trình kinh
doanh trong các sản phẩm LCMS thấp hơn nhiều so với trong các sản phẩm LMS,
nhưng mức độ phức tạp của việc quản lý nội dung và quản lý đối tượng kiến thức
thì lại cao hơn rất nhiều. Và quả thực hiện nay, các nhà cung cấp hệ thống LMS
đang bắt đầu đề nghị tích hợp các sản phẩm LCMS vào sản phẩm LMS còn các
nhà cung cấp các sản phẩm LCMS cũng đã bắt đầu xây dựng các tính năng LMS
cho các hệ thống của họ. Một số nhà cung cấp nội dung (các nhà xuất bản), các
nhà cung cấp các công cụ kiểm soát truy nhập, và các nhà cung cấp môi trường
phân phối nội dung cũng đang phát triển các chức năng của LCMS để tích hợp vào
các sản phẩm của mình. Các sản phẩm LCMS cho phép các công ty tạo ra và tái sử
dụng các đơn vị nội dung số có kích thước nhỏ. Điều này có ý nghĩa rất lớn. Khả
năng tái sử dụng và quản lý các đối tượng kiến thức cung cấp bởi một hệ thống
LCMS giảm thiểu thời gian và giá thành của việc phát triển một đề nghị đào tạo
mới. Loại bỏ các đối tượng kiến thức không cần thiết bằng cách sử dụng lại các
đối tượng tương tự cũng giúp cho việc cập nhật các đối tượng kiến thức dễ dàng
hơn với giá thành thấp hơn.
Vệc sử dụng các cấu trúc siêu dữ liệu chuẩn hóa cũng như các định dạng nhập
xuất chuẩn hóa của các đối tượng kiến thức cũng cho phép các đối tượng kiến thức
được tạo ra bởi nhiều công cụ khác nhau và có thể được chia sẻ bởi nhiều kho
chứa nội dung khác nhau.
Ví dụ về một hệ thống LCMS: Lecano LCMS là một hệ thống LCMS được xây
dựng trên J2EE và chạy được trên nhiều hệ điều hành khác nhau như Solaris,
Linux và Windows. Giao diện của Lecano LCMS được tích hợp với giao diện của
IBM Lotus LMS và IBM Lotus WCL. Trình quản lý nội dung có thể truy nhập vào
Lecano LCMS thông qua giao diện của một trình duyệt Web chuẩn. Các tính năng
điển hình của Lecano LCMS gồm có:
• Tập trung hóa các kho chứa nội dung.
Hình 6. Tập trung hóa nội dung
18
• Tái sử dụng các đối tượng kiến thức.
Hình 7. Tái sử dụng
• Hỗ trợ đa truy nhập.
Hình 8. Đa truy nhập
• Quản lý hiệu quả nội dung.
Hình 9. Quản lý nội dung
• Có các tính năng che dấu tài nguyên.
19
Hình 10. Che dấu tài nguyên
2.3. Mô hình phối hợp hoạt động giữa LCMS và LMS
Hình 11. Phối hợp hoạt động của LMS và LCMS
20
Theo mô hình này, những người soạn thảo nội dung tương tác với hệ thống
quản lý nội dung để có thể cung cấp các nội dung mới hoặc khai thác các nội
dung cũ và LCMS có nhiệm vụ quản lý nội dung của cả hệ thống đào tạo trực
tuyến.
Người học tương tác với hệ thống thông qua hệ thống LMS vì chức năng chính
của hệ thống LMS là quản lý người học và các hoạt động của hệ thống đào tạo
trực tuyến.
LCMS cung cấp cho LMS nội dung của các bài giảng, ngược lại, LMS cung
cấp cho LCMS các thông tin về tình hình học tập của các học viên của hệ thống,
bài làm, đồ án, … tóm lại là các nội dung của quá trình học tập mà LCMS cần
quản lý.
Những người giảng dạy (giảng viên) thông qua các phòng học ảo để tương tác
với các hệ thống LMS và LCMS, từ đó giao tiếp với các học viên và thực hiện
công việc giảng dạy của mình.
III. Các v#n đ$ chu%n hóa khi xây dng h thng đào to trc
tuyn.
Nhìn chung, mục đích của các chuẩn giao tiếp giữa các thành phần của một hệ
thống đào tạo trực tuyến là cung cấp các cấu trúc dữ liệu chuẩn và các giao thức
truyền thông cho các đối tượng kiến thức và các dòng công việc giữa các thành
phần. Khi các chuẩn này được kết hợp vào trong các sản phẩm của các nhà cung
cấp, người sử dụng hệ thống đào tạo trực tuyến có thể mua nội dung và các thành
phần cấu thành hệ thống từ nhiều nhà cung cấp khác nhau dựa trên chất lượng và
sự phù hợp cùng với uy tín của các nhà cung cấp, họ sẽ làm việc với nhau hiệ quả
hơn. Vì vậy, việc đưa ra các tiêu chuẩn cho các hệ thống đào tạo trực tuyến là rất
cần thiết. Sau đây chúng ta sẽ tìm hiểu rõ hơn về các vấn đề cần chuẩn hóa trong
một hệ thống đào tạo trực tuyến.
1. Định nghĩa chuẩn
1.1 Định nghĩa chuẩn
ISO định nghĩa chuẩn như sau :
“ Các thoả thuận trên văn bản chứa các đặc tả kĩ thuật hoặc các tiêu chí chính
xác khác được sử dụng một cách hệ thống nhất như các luật , các chỉ dẫn, hoặc các
định nghĩa của các đặc trưng , để đảm bảo các vật liệu, sản phẩm, quá trình và các
dịch vụ phù hợp với mục đích của chúng”.
21
1.2 Sự khác nhau giữa chuẩn (standard) và đặc tả (specification)
Một lỗi thường gặp là nhầm lẫn giữa thuật ngữ “Chuẩn” (standard) và “Đặc
tả”( specification). IEEE giải thích sự khác biệt này như sau:
- Chuẩn là một đặc tả được phát triển và công nhận bởi các uỷ ban chuẩn được
công nhận trên thế giới. Các tổ chức mà thực hiện công việc kiển như thế này
được gọi là Standards Development Organization(SDO). Ví dụ về các uỷ ban
này là : IEEE, ISO, IEC, ITU, ANSI, BSI, CSA, JIS, DIN và CEN.
- Đặc tả được phát triển bởi các uỷ ban không được công nhận bởi thế giới .
Một vài ví dụ về các uỷ ban như : IEFT(Internet Engineering Task Force),
W3C(World Wide Web Consortium), OMG (Object Management Group).
Có thể tóm tắt sự khác biệt như bảng dưới đây
Đặc tả Chuẩn
Tiến triển nhanh Tiến triển chậm
Mang tính thử nghiệm Là kết luận cuôi cùng
Quy mô rộng Quy mô hẹp
Tham khảo ý kiến của
ít người
Tham khảo ý kiển nhiều
người.
2. Tại sao phải dùng chuẩn trong E-Learning ?
Đối với những người làm việc trong lĩnh vực E-Learning, các chuẩn E-
Learning đóng vai trò rất quan trọng. Không có chuẩn e-Learning chúng ta không
có khả năng trao đổi với nhau và sử dụng lại các đối tượng học tập. Nhờ có chuẩn
toàn bộ thị trường e-Learning (người bán công cụ, khách hàng, người phát triển
nội dung ) sẽ tìm được tiếng nói chung, hợp tác với nhau được cả về mặt kĩ thuật
lẫn phương pháp. LMS (Learning Management System ) có thể dùng được nội
dung phát triển bởi nhiều công cụ khác nhau và nhiều vídụ khác nữa.
22
Hình 12. Không có chuẩn, chúng ta không thể trao đổi thông tin được với nhau
Việc chuẩn hoá e_Learning giúp chúng ta giải quyết được các vấn đề sau:
- Tính truy cập được (Accessibility): Nếu chúng ta sử dụng các hệ thống và nội
dung tuân theo chuẩn thì rất dễ sử dụng nội dung ở mọi nơi bằng cách sử dụng
trình duyệt (browser). Ngay cả các chuẩn không liên quan đến e-Learning như
HTTP cũng giúp cho việc truy cập thông tin dễ dàng hơn nhiều.
- Tính khả chuyển ( Interoperability): Không những chúng ta có khả năng truy
cập nội từ mọi nơi mà thậm chí không phụ thuộc vào công cụ chúng ta dùng
tại nơi đó. Do đó, chúng ta có thể sử dụng các LMS khác nhau để truy cập
vào cùng nội dung. Và ngược lại , với một LMS có thể sử dụng nhiều nội dung
tạo bởi các công cụ khác nhau.
- Tính tương thích ( Adaptability): Các chuẩn cũng giúp việc đưa ra các nội
dung học tập phù hợp với từng cá nhân. Một ví dụ là Meta-data . Nếu chúng ta
sử dụng meta-data giống nhau để mô tả nội dung thì có thể xác định chính xác
những gì học viên cần. Một LMS/LCMS hiểu meta-data sẽ có khả năng hiểu
và sử dụng các thông tin có trong meta-data, từ đó phân phối nội dung phù
hợp với yêu cầu của từng học viên.
- Khả năng sử dụng lại( Re-usability): Chỉ với việc chuẩn hoá chúng ta mới có
thể sử dụng lại nội dung chúng ta phát triển hoặc mua. Điều này giúp chúng ta
có thể sử dụng lại các nội dung cũ khi nâng cấp các công nghệ LMS. Đồng
thời cũng giảm chi phí và thời gian phát triển nội dung mới.
- Tính giảm chi phí (Affordability): Với các lí do trên, rõ ràng là nếu người bán
nội dung và hệ thống quản lí tuân theo chuẩn, hiệu quả học tập sẽ tăng rõ rệt,
thời gian và chi phí giảm. Do đó, ROI(Return On Investment) sẽ tốt hơn nhiều.
23
3. Các chuẩn trong hệ thống E-Learning.
3.1 Tổng quan
Trước tiên, chúng ta xem các loại chuẩn chính và chúng hỗ trợ tính khả chuyển
như thế nào trong hệ thống học tập. Chúng ta nhìn nhận trên quan điểm của hai
phía, phía học viên và phía người sản xuất khoá học.
Hình 13. Mô hình sơ đồ khối trong hệ thống học tập
Người sản xuất khoá học tạo ra các module đơn lẻ hay các đối tượng học tập
sau đó sẽ tích hợp thành một khoá thống nhất.
- Các chuẩn cho phép ghép các khoá học tạo bởi các công cụ khác nhau bởi các
nhà sản xuất khác nhau thành các gói nộ dung (Packages) được gọi là các
chuẩn đóng gói (Packaging Standards). Các chuẩn này cho phép hệ thống
quản lí nhập và sử dụng được các khoá học khác nhau.
- Nhóm chuẩn thứ hai cho phép các hệ thống quản lí đào tạo hiển thị từng bài
học đơn lẻ. Hơn nữa , có thể theo dõi được kết quả kiểm tra của học viên, quá
trình học tập của học viên. Những chuẩn như thế gọi là chuẩn trao đổi thông
tin (Communication Standards), chúng quy định đối tượng học tập và hệ thống
quản lí trao đổi thông tin với nhau như thế nào.
- Nhóm chuẩn thứ ba quy định cách mà các nhà sản xuất nội dung mô tả các
khoá học và các module của mình để hệ thống quản lí có thể tìm kiếm và phân
loại được khi cần thiết. Chúng được gọi là chuẩn Metadata(Metadata
Standards).
- Nhóm chuẩn thứ tư nói đến chất lượng của các module và các khoá
học .Chúng được gọi là chuẩn chất lượng (Quality Standards), kiểm soát toàn
24
bộ quá trình thiết kế cũng như khả năng hỗ trợ khoá học với những người tàn
tật.
Cùng với một số chuẩn khác, các loại chuẩn đã cùng nhau đóng góp tạo ra các
giải pháp e-Learning có chi phí thấp , hiệu quả và mang lại sự thoải mái cho mọi
người tham gia e-Learning.
3.2 Chuẩn đóng gói (Packaging Standard)
a) Chuẩn đóng gói e-Learning bao gồm
- Cách để ghép nhiều đơn vị nội dung khác nhau thành một gói nội dung nhất.
Các đơn vị nội dung có thể là các khoá học, các file HTML, ảnh, multimedia,
style sheet và mọi thứ khác xuống đến một icon nhỏ nhất.
- Gồm thông tin mô tả tổ chức của một khoá học hoặc module sao cho có thể
nhập vào được hệ thống quản lí và hệ thống quản lí có thể hiển thị một menu
mô tả cấu trúc của khoá học và học viên sẽ học dựa trên menu đó.
- Gồm các kĩ thuật hỗ trợ chuyển các khoá học hoặc module từ hệ thống quản lí
này sang hệ thống quản lí khác mà không phải cấu trúc lại nội dung bên trong
b) Chuẩn đóng gói nội dung trong SCORM
Cả SCORM và IMS đều dùng đặc tả IMS Content and Packaging. Bộ công cụ
Microsoft LRN Toolkit hỗ trợ đặc tả này.
25
Hình 14. Đặc tả gói nội dung theo chuẩn SCORM
Cốt lõi của đặc tả Content Packaging là một file manifest. File manifest này
phải được đặt tên là imsmanifest.xml. Như phần đuôi file đã đưa ra, file này phải
tuân theo các luật XML về cấu trúc bên trong và định dạng.
Trong file có 4 phần chính:
- Phần Meta-data ghi các thông tin cụ thể về gói.
- Phần Organization là nơi mô tả cấu trúc nội dung chính của gói. Nó gần như
một bảng mục lục. Nó tham chiếu tới các tài nguyên và các manifest con khác
được mô tả chi tiết hơn ở phần dưới.
- Phần tiếp theo là Resources. Nó bao gồm cấc mô tả chi tiết tới các file khác
được đóng gói cùng trong gói hoặc các file khác ở ngoài (như là các địa chỉ
Web chẳng hạn).
- Sub-manifest mô tả hoàn toàn các gói được gộp vào bên trong gói chính. Mỗi
sub-manifest cũng có cùng cấu trúc bao gồm meta-data, organizations,
26
resources, và sub-manifest. Do đó, manifest có thể chứa các sub-manifest và
các sub-manifest có thể chứa các sub-manifest khác nữa.
Đặc tả này cho phép gộp nhiều khoá học và các thành phần cao cấp
khác từ các bài học đơn lẻ các chủ đề và các đối tượng học tập mức độ thấp khác.
3.3 Chuẩn trao đổi thông tin
a) Chuẩn trao đổi thông tin cung cấp những gì ?
Bây giờ chúng ta xem hệ thống quản lí và đối tượng học tập trao đổi với nhau
như thế nào ?
Hình 15. Hệ thống quản lí và đối tượng học tập
Qua hình vẽ chúng ta thấy một vài chủ đề chính dùng trong trao đổi thông tin:
- Hệ thống quản lí cần biết khi nào thì đối tượng học tập bắt đầu hoạt động
- Đối tượng cần biết tên học viên
- Đối tượng thông báo ngược lại cho hệ thống quản lí học viên đã hoàn thành
đối tượng bao nhiêu phần trăm.
27
- Hệ thống quản lí cần biết thông tin về điểm học viên để lưu vào cơ sơ dữ liệu.
- Hệ thống quản lí cần biết khi nào học viên chấm dứt học tập và đóng đối
tượng học tập.
Chuẩn trao đổi thông tin gồm 2 phần: giao thức và mô hình dữ liệu. Giao thức
xác định các quy luật quy định cách mà hệ thống quản lí và các đối tượng học tập
trao đổi thông tin với nhau. Mô hình dữ liệu xác định dữ liệu dùng cho quá trình
trao đổi như điểm kiểm tra, tên học viên, mức độ hoàn thành của học viên…
b) SCORM Runtime Environment.
SCORM Runtime Environment xác định một giao thức và mô hình dữ liệu
dùng cho trao đổi thông tin giữa các đối tượng học tập và các hệ thống quản lí.
Trong quá trình thực thi, những người soạn bài tạo các trang HTML,HTM trao đổi
với một hệ thống quản lí bằng cách sử dụng các hàm JavaScript nằm trong file
APIWrapper.js.
Chuẩn trao đổi thông tin cung cấp rất nhiều cách thức mà hệ thống mà hệ thống quản
lí và module có thể trao đổi thông tin. Sau đây là 5 phương thức quan trọng nhất trong
SCORM RTE 2004: Initialize, Terminate ,GetValue, SetValue, và Commit.
Hình 16. Đặc tả các hàm SCO
28
Hiện nay nhiều hệ thống quản lí thương mại đã tuân theo chuẩn trao đổi thông
tin trong SCORM như Pathlore, Integrity.
3.4 Chuẩn Metadata
a) Metadata là gì ?
Hãy tưởng tượng xem nếu bạn muốn tìm một cuốn sách trên giá đầy sách mà
mỗi cuốn sách không có tiêu đề . Bạn gặp phải vấn đề này trong thế giới không có
metadata.
Metadata là dữ liệu về dữ liệu . Với e-Learning , metadata mô tả các khoá học
và các module. Các chuẩn metadata cung cấp các cách để mô tả các module e-
Learning mà các học viên và những người soạn bài có thể tìm thấy module họ cần.
Metadata không có gì là bí ẩn, nó chỉ là việc đánh nhãn có mang thông tin mô tả.
Mục đích chính thường là giúp cho việc phát hiện, tìm kiếm được dễ dàng hơn.
Metadata giúp nội dung e-Learnintg hữu ích hơn đối với người bán,người
mua ,học viên và người thiết kế. Metadata cung cấp một cách chuẩn mực để mô tả
các khoá học, các bài, các chủ đề và media. Những mô tả sẽ được dịch ra thành
các Catalog hỗ trợ cho việc tìm kiếm được nhanh chóng và dễ dàng.
Metadata cho phép bạn phân loại các khoá học, bài học, và các module khác.
Metadata có thể giúp người soạn bài tìm nội dung họ cần và sử dụng ngay hơn
là phải phát triển từ đầu.
b) Các thành phần cơ bản của metadata
Các chuẩn metadata xác định nhiều thành phần yêu cầu và tuỳ chọn. Bây giờ ,
ta xét qua một số thành phần chính :
1. Title
2. Language
3. Description
4. Keyword
5. Structure
6. Aggregation Level
7. Version
8. Format
9. Size
10. Location
11. Requirement
12. Duration
29
13. Cost.
Ta sẽ xem xét một số thành phần chính :
- Title ghi tên chính thức của khoá học.
- Language xác định ngôn ngữ được sử dụng bên trong khoá học và có thể có
thông tin thêm.
- Description bao gồm mô tả về khoá học.
- Keyword gồm các từ khoá hỗ trợ cho việc tìm kiếm và nhiều hơn nữa.
- Aggregation Level xác định kích thước của đơn vị: 4 là khoá học, 3 là bài, 2 là
chủ đề.
- Version xác định phiên bản của khoá học.
- Format quy định các định dạng file được dùng trong khoá học. Chúng là các
định dạng MIME.
- Size là kích thước tổng của toàn bộ file có trong khoá học.
- Location ghi địa chỉ Web mà học viên có thể truy cập khoá học.
- Requirement liệt kê các thứ như trình duyệt và hệ điều hành cần thiết có thể
chạy được khóa học.
- Duration quy định cần bao nhiêu thời gian tham gia khóa học.
- Cost ghi xem khóa học có miễn phí hoặc có phí.
3.5 Một số chuẩn e-Learning khác
- Chuẩn chất lượng liên quan đến thiết kế khoá học và các module cũng như khả
năng truy cập của các khoá học đối với người tàn tật. Các chuẩn chất lượng
đảm bao rằng nội dung của bạn có thể dùng được , học viên dễ đọc và dễ dùng
nội dung bạn tạo ra. Nếu các chuẩn chất lượng không được đảm bảo thì bạn có
thể mất học viên ngay từ những lần học đầu tiên.
- Test Questions: Đây là chuẩn về các câu hỏi kiểm tra. Các câu hỏi được phát
triển trong một LMS, LCMS hoặc các hệ thống trường học ảo thường không
thể di chuyển được sang các hệ thống khác . Đặc tả IMS Question and Test
Interoperability cố gắng tìm các cách chung để các bài kiểm tra, câu hỏi có
thể dùng được trong nhiều hệ thống khác nhau.
- Enterprise Information Model : Các hệ thống quản lí cân trao đổi thông tin với
các hệ thống khác của doanh nghiệp. IMS Enterprise Information Model tìm
một cách để xác định các định dạng cho phép trao đổi các dữ liệu quản lí giữa
các hệ thống.
- Learner Information Packaging : Trong thực tế, những người quản trị dành
nhiều thời gian đưa thông tin về học viên vào các hệ thống quản lí học tập
30
khác nhau. Đặc tả IMS Learner Information Packaging cố gắng xác định một
định dạng chung về thông tin học viên. Các mô tả tuân theo đặc tả có thể trao
đổi một cách tự do giữa các hệ thống khác nhau.
4. SCORM (Sharable Content Object Reference Model)
Hình 17. Logo của chuẩn SCORM
4.1 Sự ra đời của SCORM
ADL (Advanced Distributed Learning) được thành lập năm 1997 dưới sự bảo
trợ của bộ quốc phòng Mĩ (Department of Defense) và văn phòng khoa học và
công nghệ nhà trắng (White House Department of Science and Technology). Với
thế mạnh truyền thông của DOD trong việc thiết lập các chuẩn trong công nghệ
thông tin và truyền thông mạng Internet, chủân công nghệ phần mềm CMM, ADL
đã đưa ra một mô hình tham khảo , kết hợp các đặc tính nổi tiếng, đang được chấp
nhận rộng rãi gọi là SCORM giúp cho e-Learning tiến thêm một bước mới.
4.2 SCORM là gì?
SCORM là :
- Một mô hình tham khảo định nghĩa mô hình nội dung học tập dựa trên môi
trường Web.
- Một tập các đặc tả kĩ thuật thiết kế để đáp ứng các yêu cầu cao của bộ quốc
phòng Mĩ.
- Một quá trình kết hợp, hài hoà lợi ích và quan điểm của các nhóm khác nhau :
nhóm các nhà nghiên cứu ứng dụng và các nhà nghiên cứu học thuật.
- Một chiếc cầu nối từ các công nghệ , đặc tả mới ra đời tới các sản phẩm
thương mại.
4.3 Tiện ích của SCORM
SCORM là một mô hình tham khảo các kĩ thuật , các đặc tả và các hướng dẫn
có liên quan đưa ra bởi các tổ chức khác nhau dùng để đáp ứng các yêu cầu ở mức
cao của nội dung học tập và các hệ thống thông qua các từ “ilities” :
31
• Tính truy cập được (Accessibility) : Khả năng định vị và truy cập
các nội dung giảng dạy từ một nơi ở xa và phân phối nó tới các vị trí
khác nhau.
• Tính thích ứng được (Adaptability): Khả năng cung cấp các nội dung
giảng dạy phù hợp với yêu cầu của từng cá nhân và tổ chức.
• Tính kinh tế (Affordability): Khả năng tăng hiệu quả và năng suất
bằng cách giảm thời gian và chi phí liên quan đến việc phân phối các
giảng dạy.
• Tính bền vững (Durability):Khả năng trụ vững với sự phát trỉên và
thay đổi của công nghệ mà không phải thiết kế lại tốn kém, cấu hình
lại.
• Tính khả chuyển (Interoperability): Khả năng làm cho các thành
phần giảng dạy tại một nơi với một tập công cụ hay platform và sử
dụng chúng tại một nơi khác với một tập các công cụ hay platform.
• Tính sử dụng lại (reusability): Khả năng mềm dẻo trong việc kết hợp
các thành phần giảng dạy trong nhiều ứng dụng và nhìêu ngữ cảnh
khác nhau.
Chính nhờ những tiện ích như trên, mà SCORM là chuẩn được sử dụng nhiều
nhất hiện nay khi xây dựng hệ thống e-Learning.
5. Các tổ chức đưa ra đặc tả chuẩn.
Một số tổ chức đóng vai trò quan trọng trong thế giới chuẩn.
5.1. IEEE
Hình 18. Logo của IEEE
Một trong các uỷ ban chuẩn quan trọng nhất là IEEE Learning Technology
Standard Committee(IEEE LTSC). Uỷ ban này bao gồm hơn 20 nhóm làm việc về
các phần quan trọng của e-Learning như : Learning object metadata, student
profiles, course sequencing, computer managed instruction…Nhiệm vụ của các
nhóm này là phát triển các chuẩn kĩ thuật, các hướng dẫn khi triển khai thực tế,
các chỉ dẫn cho nội dung, công cụ, công nghệ, và các phương pháp thiết kế sao
32
cho kích thích sự phát triển, triển khai, bảo trì và khả chuyển trên máy tính về các
hệ thống và các thành phần phục vụ cho mục đích giáo dục và đào tạo.
5.2. ADL
Hình 19. Logo của ADL
Advanced Distributed Learning(ADL) Initiative là một đề xướng của chính phủ
liên bang Mĩ. Những chỉ dẫn đưa ra bởi ADL cung cấp một nền tảng cho bộ quốc
phòng Mĩ(Department of Defense) sử dụng các công nghệ học tập để xây dựng,
vận hành môi trường học tập của tương lai.Những công việc mà ADL đã làm là sự
ra đời của SCORM cung cấp các ví dụ tốt nhất về việc ứng dụng và tích hợp các
chuẩn học tập.
5.3. IMS
Hình 20. Logo của IMS
IMS (Instructional Management System) Global Learning Consortium phát
triển và xúc tiến các đặc tả mở ( không phải chuẩn) để hỗ trợ các hoạt động học
tập phân tán trên mạng như định vị và sử dụng nội dung giáo dục, theo dõi quá
trình học tập, thông báo kết quả học tập, và trao đổi thông tin về học viên giữa các
hệ thống quản lí.
5.4. AICC
Hình 21. Logo của AICC
AICC (Aviation Industry CBT Committee) phát triển các chỉ dẫn cho nghành
công nghiệp hàng không trong việc phát triển , phân phối , và đánh giá việc đào
tạo dựa trên máy tính(CBT Computer-Based Training) và các công nghệ liên quan
33
tới đào tạo.
IV. Xây dng mt h thng đào to trc tuyn s/ d0ng công
ngh Web service.
Từ các đặc trưng của Web services, chúng ta đều thấy rằng Web services là
công nghệ hoàn toàn phù hợp để đảm bảo các tính năng liên kết hoạt động trong
một hệ thống đào tạo trực tuyến với các nguyên nhân chính sau:
• Thông tin trao đổi giữa các hệ thống đào tạo trực tuyến như LOM, gói nội
dung IMS, tất cả đều liên kết với chuẩn XML.
• Kiến trúc Web services là độc lập với các platform và ngôn ngữ lập trình
khác nhau. Nó có thể triển khai, phát triển và giao tiếp trên hầu hết tất cả
các ứng dụng, các hệ thống đào tạo trực tuyến được xây dựng bởi các nhà
cung cấp khác nhau, trên các platform và các ngôn ngữ lập trình khác nhau
hiện có mặt trên thị trường.
• Web services cung cấp một mô hình lập trình thống nhất cho phát triển và
sử dụng các mạng riêng nội bộ cũng như các dịch vụ Web trên mạng
Internet. Vì vậy, sự lựa chọn công nghệ có thể chuyển giao hoàn toàn cho
những người phát triển và những người sử dụng lựa chọn.
Hình sau giải thích ta có thể áp dụng công nghệ Web services trong môi trường
hệ thống đào tạo trực tuyến như thế nào.
34
Hình 22. Kiến trúc dịch vụ của một hệ thống đào tạo trực tuyến
Kiến trúc này xác định làm thế nào để các hệ thống đào tạo trực tuyến có thể
trao đổi các bản tin thông qua sự tương tác với các tác tử Web service trong mỗi
hệ thống. Nhà cung cấp dịch vụ (Service Provider) là một platform trong đó có sự
kiểm tra truy nhập vào các cổng của dịch vụ. Nó cũng có thể được coi như là một
môi trường thực hiện dịch vụ hay là một nơi chứa các dịch vụ. Vai trò của nó
trong các mô hình trao đổi bản tin giữa client và server tương tự như một server.
Những người yêu cầu dịch vụ (Service Requestor) là các ứng dụng đang tìm kiếm
và có nhu cầu thiết lập một tương tác với các dịch vụ. Môi giới khám phá
(Discovery Agency) là một tập các miêu tả dịch vụ có thể tìm kiếm được mà ở đó,
các nhà cung cấp dịch vụ đưa lên các thông tin mô tả về dịch vụ của họ. Môi giới
khám phá có thể được tập trung hay phân tán. Các thông tin học tập tuân theo
chuẩn được giới thiệu bởi XML được xác định bởi SOAP sẽ được trao đổi giữa
các nhà cung cấp và những người yêu cầu. Những nhà cung cấp xuất bản một file
WSDL có chứa sự miêu tả của bản tin và thông tin cuối để cho phép người yêu
cầu có thể tạo ra bản tin SOAP và gửi đến đúng địa chỉ cần gửi.
Trong phần này, ta sẽ tìm hiểu về Web services, các thành phần cơ bản của một
Web services và làm thế nào để xây dựng một hệ thống đào tạo trực tuyến dựa trên
công nghệ Web services.
35
1. Thế nào là 1 Web Service?
1.1) Khái quát.
Một dịch vụ Web được hiểu là một dịch vụ trên Internet, sử dụng một hệ thống
chuẩn XML messaging (Extensible Markup Language), mà không phụ thuộc vào
bất kỳ hệ điều hành hay ngôn ngữ lập trình nào. [Web Services Essentials-
O’REILLY].
Hình 23. Các máy tính giao tiếp bằng hệ thống chuẩn XML
XML là một tập con của SGML (Standard Generalized Markup Language)
được W3C (World Wide Web Conrotium) định nghĩa. XML được thiết kế để thực
hiện lưu trữ dữ liệu và phát hành trên các Web site không chỉ dễ dàng quản lý hơn,
mà còn có thể trình bày đẹp mắt hơn. XML cho phép những người phát triển Web
định nghĩa nội dung của các tài liệu bằng cách tạo đuôi mở rộng theo ý người sử
dụng, không giống như HTML (Hypertext Markup Language), được khóa thành
một tập các đuôi mở rộng theo chuẩn công nghiệp (mặc dù Microsoft và Netscape
có tạo riêng cho mình). XML mượn các đặc điểm từ SGML, bao gồm nhu cầu tạo
một khai báo loại tài liệu, định nghĩa những gì mà khách hàng được hỗ trợ khi
nhận tài liệu này. [Dictionary of Computing].
Có một vài sự lựa chọn cho XML mesaging. Chẳng hạn, chúng ta có thể sử
dụng XML Remote Procedure Calls (XML-RPC) hoặc SOAP. Hoặc cũng có thể
chúng ta chỉ cần sử dụng HTTP GET/POST cho bất kỳ tài liệu XML nào. [Web
Services Essentials-O’REILLY]
36
Hình 24. Các giao tiếp qua lại
Tuy không yêu cầu, nhưng một dịch vụ Web có thêm 2 đặc tính sau:
- Tự đặc tả (self-describing). Ví dụ chúng ta cho ra một dịch vụ Web mới,
chúng ta buộc phải cung cấp một giao diện chung cho dịch vụ. Ít nhất, dịch vụ
của chúng ta phải gồm có một tài liệu mô tả, để những nhà phát triển khác có
thể dễ dàng hoàn thiện hơn dịch vụ đó.
- Khả năng khám phá (discoverable). Ví dụ chúng ta cho ra một dịch vụ Web
mới, chúng ta muốn có một cách khá đơn giản để xuất bản nó. Như vậy đồng
nghĩa với việc chúng ta cũng cần một cách đơn giản để người ta có thể tìm
thấy được dịch vụ và giao diện chung của mình.
1.2) Kiến trúc dịch vụ Web.
Có hai cách để xem xét kiến trúc dịch vụ Web. Ta có thể khảo sát theo các vai
trò riêng lẻ hoặc ta cũng có thể khảo sát theo chồng giao thức của dịch vụ Web
(protocol stack).
Có 3 vai trò chính trong kiến trúc dịch vụ Web:
37
- Cung cấp dịch vụ.
- Yêu cầu dịch vụ.
- Đăng ký dịch vụ.
Hình 25. Sơ đồ vai trò của kiến trúc dịch vụ Web
Một cách khác, ta có thể khảo sát theo chồng giao thức dịch vụ Web, hiện tại
có 4 lớp chính (còn đang phát triển):
Hình 26. Chồng giao thức
1.3) XML messaging, WSDL, UDDI, Service Transport:
38
a) XML messaging
XML đã bùng nổ trong một vài năm trở lại đây. Nó đã nhanh chóng được công
nhận vì nó cho pháp những hệ thông máy tính đa dạng chia sẻ dữ liệu một cách dễ
dàng, bất chấp hệ điều hành hay ngôn ngữ lập trình nào. Như vậy khi phát triển hệ
thống dịch vụ Web thì XML là một lựa chọn tự nhiên. Sau đây chúng ta hãy xem
xét 2 giao thức chính:
XML-RPC: là một giao thức đơn giản sử dụng XML messages để thực hiện
RPCs (triệu gọi từ xa). Những yêu cầu sẽ được mã hoá trong XML và được gửi
thông qua HTTP POST. Còn hồi đáp XML được nhúng trong phần thân của hồi
đáp HTTP. Vì XML-RPC là một nền tảng độc lập nên nó cho phép những ứng
dụng đa dạng liên lạc với nhau. Ví dụ, một Java client có thể liên lạc XML-RPC
với một Perl server.
Ví dụ sau đây mô tả gửi đi zip code và yêu cầu về nhiêt độ của nơi có zip code đó:
weather.getWeather
10016
Và sau đây là câu trả lời của XML-RPC từ dịch vụ thời tiết:
65
XML là cách dễ dàng nhất để bắt đầu với dịch vụ Web. Trong nhiều trường
hợp, nó đơn giản hơn SOAP và dễ được chấp nhận hơn. Tuy nhiên, XML-RPC lại
không có ngữ pháp để mô tả dịch vụ tương ứng.
SOAP: là một giao thức nền tảng của XML để trao đổi thông tin giữa những
máy tính. SOAP được sử dụng trong những hệ thống messaging rất đa dạng, và có
thể được giao, phân phát thông qua nhiều giao thức truyền tải, nhưng thực tế
39
thường là RPCs (triệu gọi từ xa) thông qua HTTP. Giống như XML-RPC, SOAP
cũng là một nền tảng độc lập, vì vậy nó cũng cho phép những ứng dụng khác nhau
liên lạc được.
Ví dụ đơn giản sau mô tả một yêu cầu SOAP:
<SOAP-ENV:Envelope
xmlns:SOAP-
ENV=""
xmlns:xsi="
instance"
xmlns:xsd="">
<ns1:getWeather
xmlns:ns1="urn:examples:weatherservic
e"
SOAP-
ENV:encodingStyle="
g/2001/09/soap-encoding/">
<zipcode
xsi:type="xsd:string">10016
Có thể thấy rất rõ là một yêu cầu nhỏ SOAP thì phức tạp hơn nhiều một yêu cầu
XML-RPC. Nó phải sử dụng cả XML namespaces và XML Schemas (2 khái niệm
này sẽ được giải thích sau). Giống như XML-RPC nhưng phần thân của SOAP lại
yêu cầu cả tên phương thức lẫn danh sách các tham số.
Sau đây là câu trả lời SOAP của dịch vụ thời tiết:
<SOAP-ENV:Envelope
xmlns:SOAP-
ENV=""
xmlns:xsi="
instance"
xmlns:xsd="">
<ns1:getWeatherResponse
40
xmlns:ns1="urn:examples:weatherservic
e"
SOAP-
ENV:encodingStyle="
g/2001/09/soap-encoding/">
65
Như ta thấy, câu trả lời chỉ đơn giản là một số nguyên.
b) Dịch vụ đặc tả - WSDL (Web Services Description Language)
• WSDL hiện nay là lớp đặc tả dịch vụ trong chồng giao thức dịch vụ Web.
Một cách ngắn gọn, WSDL là một ngữ pháp của XML để chỉ ra giao diện
chung của dịch vụ Web. Giao diện chung này bao gồm thông tin tất cả các
hàm (public), thông tin các kiểu dữ liệu của tất cả XML messages, bao gồm
thông tin về những giao thức truyền tải đặc biệt được sử dụng, và thông tin
về địa chỉ để định vị dịch vụ. WSDL không nhất thiết phụ thuộc vàomột hệ
thống XML messages đặc biệt, nhưng nó bao gồm những mở rộng có sẵn
để đặc tả dịch vụ SOAP.
• Chúng ta hãy trở lại với ví dụ về dịch vụ thời tiết đã nêu trên. Sau đây là
một mẫu tệp WSDL đặc tả giao diện chung của dịch vụ thời tiết. Ta sẽ dễ
dàng nhận thấy ở đây có nhiều chi tiết hơn. Nhưng ta hãy tập trung vào 2
điểm chính: thứ nhất là phần tử message chỉ rõ những XML messages riêng
lẻ mà đựơc truyền tải qua lại giữa các máy tính. Trong trường hợp này
chúng ta có 2 phương thức: getWeatherRequest và getWeatherResponse.
Thứ hai, phần tử service chỉ rõ dịch vụ được cung cấp thông qua SOAP tại:
Ví dụ: WeatherService.wsdl
<definitions name="WeatherService"
targetNamespace="
rvice.wsdl"
xmlns=""
xmlns:soap=""
xmlns:tns="
sdl"
xmlns:xsd="">
41
<binding name="Weather_Binding"
type="tns:Weather_PortType">
<soap:binding style="rpc"
transport=""/>
<soap:body
encodingStyle=""
namespace="urn:examples:weatherservice"
use="encoded"/>
<soap:body
encodingStyle=""
namespace="urn:examples:weatherservice"
use="encoded"/>
WSDL File for Weather
Service
<port binding="tns:Weather_Binding"
name="Weather_Port">
<soap:address
location=""/>
42
Sử dụng WSDL, một client có thể định vị một dịch vụ mạng và sử dụng bất kỳ
một hàm (đã có) công cộng nào. Với công cụ WSDL-aware, quá trình này hoàn
toàn tự động, cho phép các ứng dụng dễ dàng tích hợp các dịch vụ mới mà chỉ cần
một vài thao tác nhỏ, hoặc chỉ cần thêm vào những đoạn mã nhỏ mà thôi.
Ví dụ, IBM mới đây đã cho ra IBM Web Services Invocation Framework
(WSIF). Với nó, bạn có thể chỉ rõ tệp WeatherService.wsd, tự động kéo theo
những mô tả dịch vụ.
Chẳng hạn, ta có dòng lệnh sau:
java clients.DynamicInvoker
getWeather 10016
(viết liền trên một dòng)
Kết quả:
Reading WSDL document from
'
Preparing WSIF dynamic invocation
Executing operation getWeather
Result:
temperature=65
Done!
Sau đây ta sẽ làm một FAQ cho WSDL:
Câu hỏi: WSDL là gì?
Trả lời:
- WSDL nghĩa là Web Services Description Language.
- WSDL được viết trên XML.
- WSDL là một tài liệu XML.
- WSDL được sử dụng để đặc tả Web services.
- WSDL cũng dùng để định vị Web services.
- WSDL không còn là một chuẩn của W3C.
- WSDL đặc tả Web Services.
Câu hỏi: WSDL là chuẩn cho ngôn ngữ đặc tả Web Services?
Trả lời:
43
WSDL là một tài liệu được viết bằng XML. Tài liệu này dùng để đặc tả một
dịch vụ Web. Nó định rõ vị trí của dịch vụ và trình bày tất cả các phép toán (hay
phương thức) của dịch vụ đó.
Câu hỏi: Lịch sử phát triển của WSDL ở W3C?
Trả lời:
- WSDL 1.1 được ấn hành như một W3C Note bởi Ariba, IBM và Microsoft để
đặc tả dịch vụ cho W3C XML hoạt động trên giao thức XML vào 3/2001.
- Bản phác thảo đầu tiên của WSDL 1.2 được xuất bản bởi W3C vào 7/2002.
c) Dịch vụ khám phá - UDDI (Universal Description, Discovery, and
Integration):
Chuẩn UDDI, hay còn gọi là chuẩn dịch vụ Tích hợp, Khám phá và Mô tả Toàn
cầu, hoạt động như một dịch vụ đăng ký và định vị có khả năng xác nhận và phân
loại các ứng dụng dịch vụ Web, giúp người sử dụng dễ dàng tìm thấy chúng trên
mạng.
Hội đồng Điều hành Kinh doanh Đăng ký UDDI (Universal Descripsion,
Discovery and Intergaration), một tổ chức nhận được sự hậu thuẫn của cả
Microsoft, IBM, NTT Communications và SAP, hiện đã rầm rộ quảng bá cho
phiên bản của dịch vụ mới nhất UDDI ver 3.
Ở lõi của nó, UDDI gồm có hai phần. Thứ nhất, UDDI là một đặc tả kỹ thuật
để xây dựng một thư mục phân tán của những giao dịch và dịch vụ mạng. Dữ liệu
được đặt bên trong một định dạng XML đặc biệt. Đặc tả UDDI bao gồm chi tiết
API để tìm kiếm dữ liệu và xuất bản dữ liệu mới. Thứ hai, nơi đăng ký doanh
nghiệp UDDI là một sự thi hành thao tác hoàn toàn (của) thuyết minh UDDI.
Microsoft, Ariba và IBM đã công bố dự án Đăng ký Doanh nghiệp UDDI
(Universal Description, Discovery and Integration) vào tháng 9 /2002 và đã quảng
bá dự án này như "Những trang vàng" lần đầu tiên được đưa lên Internet.
Đến nay, đã có nhiều doanh nghiệp nổi tiếng nhất trên thế giới đã tham gia dự
án này, bao gồm: American Express, Compaq, SAP AG, Dell và Sun. Các hãng
này đều ký hợp đồng hỗ trợ phát triển UDDI. Số công ty tham gia UDDI hiện đã
lên đến 130, trong đó có cả HP và Intel.
Hệ thống UDDI cho phép các doanh nghiệp cung cấp thông tin về sản phẩm và
dịch vụ của mình trên mạng cho các đối tác và khách hàng trong nước. UDDI sẽ
phân thành ba nhóm thông tin như sau:
44
- Những trang trắng sẽ gồm tên doanh nghiệp, danh mục phân loại doanh
nghiệp và thông tin về các loại dịch vụ và hình thức hỗ trợ khách hàng...
- Những trang vàng cung cấp những quy định mới nhất của chính phủ về các
hoạt động của doanh nghiệp. Ngoài ra còn sắp xếp danh mục công ty theo
từng khu vực địa lý.
- Những trang xanh cung cấp các loại tài liệu tham khảo cần thiết liên quan đến
hoạt động kinh doanh của doanh nghiệp.
Ví dụ:
Để có thể hiểu một cách thông suốt về UDDI. Chúng ta hãy làm một FAQ sau:
Câu hỏi: UDDI là gì?
Trả lời:
- UDDI là một khung nền độc lập để đặc tả dịch vụ, khám phá giao dịch, và tích
hợp các dịch vụ giao dịch thông qua Internet.
- UDDI nghĩa là Universal Description, Discovery and Integration.
- UDDI là một thư mục chứa những thông tin về dịch vụ web.
- UDDI là một thư mục của giao diện dịch vụ web đặc tả bằng WSDL.
- UDDI truyền thông nhờ SOAP.
- UDDI được xây dựng trong nền tảng Microsoft .NET.
Câu hỏi: Nền tảng của UDDI là gì?
Trả lời:
- UDDI sử dụng World Wide Web Consortium (W3C) và Internet Engineering
Task Force (IETF) Internet chuẩn như là các giao thức XML, HTTP, và DNS.
- UDDI sử dụng WSDL đặc tả giao diện dịch vụ web.
Câu hỏi: Lợi ích của UDDI là gì?
Trả lời:
Bất kỳ một ngành kinh doanh hay một doanh nghiệp nào dù lớn hay nhỏ đều có
được lợi ích từ UDDI. Trước UDDI, đã không có chuẩn Internet cho các doanh
45
nghiệp mở rrộng khách hàng và đối tác của họ bằng nhứng thông tin về sản phẩm
và dịch vụ của mình. Và cũng không có cách nào để làm thế nào đó có thể tích
hợp vào mỗi hệ thống vào tiến trình khác nhau..
Vấn đề có thể giải quyết với đặc tả UDDI . Ví dụ như là : Làm cho có thể tìm
ngay ra doanh nghiệp từ hàng triệu người đang trực tuyến.
Câu hỏi: UDDI sử dụng như thế nào?
Trả lời:
Nếu nền công nghiệp cho ra một tiêu chuẩn UDDI để kiểm tra và kiểm soát
nhịp độ các chuyến bay, thì những đường bay có thể đăng ký những dịch vụ của
họ vào trong một thư mục UDDI. Những đại lý du lịch có thể tìm kiếm trong thư
mục UDDI để thấy giao diện kiểm soát đường bay. Khi giao diện được tìm thấy,
hãng đại lý du lịch có thể truyền thông với dịch vụ ngay lập tức bởi vì nó sử dụng
một giao diện kiểm soát được định nghĩa đày đủ và rõ ràng.
Câu hỏi: Ai hỗ trợ UDDI?
Trả lời:
Có thể một loạt như: Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle,
SAP, và Sun,… Đã có hơn 220 công ty là thành viên của cộng đồng UDDI.
d) Dịch vụ truyền tải (Service Transport):
HTTP: Giao thức truyền tải siêu văn bản
World Wide Web đuợc xây dựng dựa vào nền của Internet và sử dụng giao
thức TCP/IP để truyền tải thông tin giữa các Web Client và Web server. HTTP là
giao thức client/server dùng cho World Wide Web. Nó cung cấp cách để Web
Browser truy xuất Web server và yêu cầu các văn bản hypermedia được tạo bởi
HTML (Ngôn ngữ đánh dấu siêu văn bản). Các văn bản HTML có thể chứa các
siêu kiên kết (hyperlink) đến các nơi khác nhau, có thể trong cùng một văn bản,
một văn bản khác cùng một Web site hay một văn bản trên một Web site khác.
Nói chung, HTTP có nhiệm vụ xử lý các liên kết nầy và cung cấp giao thức truyền
tin cho client/server.
Theo RFC 1945, ”HTTP là một giao thức cấp ứng dụng với sự nhanh nhạy cần
thiết để phân bố, cộng tác các hệ thống thông tin hypermedia. Nó là giao thức
hướng đối tượng tổng quát, không trạng thái, có thể dùng cho nhiều nhiệm vụ
chẳng hạn như đặt tên cho server và các hệ thống quản lý đối tượng phân tán,
thông qua việc mở rộng các phương thức theo yêu cầu (các lệnh)”.
46
Khi client đang chạy Web Browser gõ tên server (hay địa chỉ IP) vào trường
Address, browser sẽ định vị địa chỉ nầy trên mạng (mạng intranet nội bộ hay mạng
internet tùy thuộc vào sự kết nối) và sự kết nối sẽ được thực hiện đến Web server
đã chỉ định.
HTTP là giao thức lệnh và điều khiển xác lập việc truyền tin giữa client và
server và chuyển lệnh qua lại giữa hai hệ thống. HTML là ngôn ngữ định dạng văn
bản.
Quá trình kết nối bắt đầu khi bạn gõ địa chỉ của Web site trong Web Browser
của bạn (hay click chọn). Đầu tiên, địa chỉ IP của Web site nầy được dùng để tìm
ở server DNS (Domain Name System), tên và địa chỉ có liên quan đến Web site.
Địa chỉ tương ứng nầy được gửi về lại Web site của bạn và nó sẽ thực hiện kết nối
trực tiếp với Web server.
SMTP: Giao thức chuyển thư điện tử đơn giản
SMTP là một cơ chế trao đổi thư trên Internet. Nó có trách nhiệm chuyển thông
điệp từ một mail server (máy chủ chuyên lo về dịch vụ thư tín điện tử) nầy đến
mail server khác. Mail server chạy một giao thức kiểm soát thông điệp gọi là POP
(giao thức bưu điện) hay IMAP4 (giao thức truy cập thư Internet, phiên bản 4).
IMAP4 là một giao thức mới và linh động hơn thay thế cho POP. SMTP giống
như người mang thư có trách nhiệm chuyển thư trong khi POP và IMAP4 giống
như các bưu điện có trách nhiệm nhận, trữ và chuyển tiếp thư. SMTP dùng địa chỉ
thư Internet mà mọi người đều quen thuộc:
username@company.com
POP trữ các thư trong hộp thư của người sử dụng. Khi người sử dụng kết nối
vào mail server thì tên thư điện tử của họ được dùng để xác minh họ là ai và cho
phép họ truy cập vào hộp thư của họ. Những thông điệp sẽ được tải xuống máy
của họ. IMAP4 cải tiến mô hình nầy bằng cách cho phép người sử dụng giữ thư
điện tử trong những hộp thư riêng trên mail server thay vì các lá thư nầy tự động
được tải xuống máy của họ. Điều nầy có ích cho người sử dụng ở những nơi xa
xôi.
SMTP dùng một cơ chế yêu cầu và đáp ứng cơ bản để chuyển thư giữa các máy
OP hay IMAP4 trên Internet hay mạng nội bộ. Chỉ cần một lệnh rất đơn giản để
thực hiện trao đổi thư. Lệnh nầy được format ở dạng văn bản ASCII. Cấu trúc lệnh
đơn giản làm dễ dàng hơn khi xây dựng những mail server và các trạm cho khách
hàng.
47
Mạng mail server trên Internet thì khá phức tạp. Trong hầu hết các trường hợp,
một thông điệp được gởi từ người nầy sang người khác phải đi theo một con
đường thông qua một số SMTP server trước khi đến đích.
FTP: Giao thức truyền tập tin
FTP là một dịch vụ truyền tập tin trên hệ thống mạng Internet và trên các hệ
thống mạng TCP/IP. Về cơ bản, FTP là giao thức client/server (khách/chủ) trong
đó một hệ thống đang sử dụng trình FTP server chấp nhận các yêu cầu từ một hệ
thống đang chạy FTP client. Dịch vụ nầy cho phép các người dùng gửi đến máy
chủ các yêu cầu tải lên hoặc chép về các tập tin. FTP hoạt động giữa nhiều loại hệ
thống hỗn hợp và và cho phép người dùng từ hệ thống nầy tương tác với hệ thống
khác loại mà không cần quan tâm đến các hệ điều hành tại đó.
FTP khách hoạt động bằng giao diện tương tác text căn bản, qua bộ điều khiển
dòng lệnh. Các bước cơ bản mà một FTP client trải qua để tương tác với FTP
server được mô tả như sau:
1. Khởi động lệnh thiết lập giao diện FTP
2. Gõ ? để xem giúp đỡ
3. Sử dụng lệnh Open để chỉ định địa chỉ IP hay tên miền của FTP server
muốn truy cập
4. Đăng nhập mạng (log in) (tại các nơi công cộng, gõ anonymous cho tên
login của bạn)
5. Sử dụng lệnh dir hay ls để liệt kê danh sách tập tin trên FTP server
6. Sử dụng lệnh cd để chuyển đổi thư mục hiện hành
7. Sử dụng lệnh get để tải tập tin về (download) hay sử dụng lệnh put để đẩy
tập tin lên mạng (upload)
8. Gõ lệnh close để kết thúc phiên truyền hiện tại (và lại gõ lệnh open để truy
cập máy chủ khác)
9. Gõ lệnh quit để kết thúc chương trình
Trong hầu hết các trường hợp, các bước nầy đại diện cho tất cả những gì bạn sẽ
làm khi tương tác với một FTP server. Như đã đề cập, bạn có thể gõ dấu ? để xem
đầy đủ danh sách các lệnh, và tất nhiên có nhiều lệnh để bạn sử dụng. Nhiều trạm
FTP cho phép truy cập tập tin ở mức an toàn tối thiểu bởi vì chúng cung cấp các
tập tin nầy cho cả cộng đồng. Những nơi nầy được gọi là nơi anonymous FTP
(FTP nặc danh). Trong bước 4 đề cập trên đây, bạn chỉ đơn thuần gõ vào
anonymous để khai báo tên login, rồi gõ vào địa chỉ e-mail của bạn (hay một dữ
liệu thực nào đó) như là một mã của bạn.
FTP làm việc thông qua nhiều hệ thống tập tin khác nhau, như vậy các người
dùng phải lưu ý rằng các kiểu tập tin trên FTP server có thể không tương thích với
48
hệ thống của họ. Nói chung, tập tin văn bản có thể xem được bởi tất cả mọi loại hệ
thống, còn các loại tập tin phổ biến mới hơn như PDF (Portable Document
Format) của Adobe có ít khả năng nầy hơn. Một vấn đề khác: bạn gõ binary trước
khi lấy về các tập tin đồ họa hay tập tin thi hành được; gõ ascii trước khi lấy về
các tập tin văn bản.
Trên thực tế, FTP client điều quản phần lớn tiến trình đưa ra yêu cầu. Trước hết
nó thông dịch các câu lệnh của người dùng rồi mới gửi yêu cầu đó đến FTP server
đang sử dụng giao thức FTP.
Các câu lệnh và dữ liệu được gửi đi băng qua hai kết nối khác nhau. Khi bạn
khởi động FTP và nối vào một FTP server, một liên kết được mở ra cho máy chủ
đó để giữ nguyên tình trạng mở (giữ tính liên tục) cho đến khi bạn gõ lệnh close.
Khi bạn đưa ra yêu cầu truyền tập tin, dữ liệu của tập tin đó được truyền thông qua
một kết nối khác, và kết nối nầy sẽ kết thúc khi quá trình truyền tập tin hoàn thành.
Như vậy, một phiên truyền FTP điển hình có thể có vài liên kết được mở cùng một
lúc nếu có nhiều tập tin đang được truyền đi. Sử dụng phương pháp nầy để chia sẻ
điều khiển và dữ liệu có nghĩa là liên kết đó có thể được sử dụng trong khi dữ liệu
đã được truyền đi.
2. Tại sao Web Service là một lựa chọn tốt cho hệ thống e-Learning?
Xuất phát từ khái niệm của e-Learning, chúng ta có thể dễ dàng nhận ra một số
khó khăn khi xây dựng và triển khai một hệ thống e-Learning:
- Người sử dụng cuối rất đa dạng. Họ có thể sử dụng nhiều hệ điều hành khác
nhau, những ngôn ngữ lập trình khác nhau.
- Hệ thống e-Learning cần được truy cập trên một phương tiện truyền thông
chung, phổ biến càng rộng càng tốt, và như vậy hệ thống cũng cần được đăng
ký.
3. Làm thế nào để xây dựng hệ thống e-Learning như 1 Web
Service?
Xin lấy hệ thống LearningServe để minh hoạ, đây là hệ thống đào tạo trực
tuyến được xây dựng trên nền công nghệ Web service của tác giả Westerkampeter
tại trường đại học Munster, cộng hòa Liên bang Đức [3].
49
Kiến trúc dịch vụ Web cho e-Learning:
Hình 27. Kiến trúc tầng cao của LearnServe
Trong hình vẽ trên, LearnServe chia ra làm 2 phần: một phần mềm client và
dịch vụ Web cung cấp với một vài suppliers. The LearnServe client là một điểm
truy cập cho người dùng mà có thể sử dụng dịch vụ học tập này. Những dịch vụ đó
thi hành trên các server phân tán và bao gồm tác giả, nội dụng, bài tập, kiểm tra,
và các dịch vụ khám phá cũng như các dịch vụ truyền thông chẳng hạn như email
và các bảng thông tin. Các dịch vụ bài tập được cung cấp bởi hệ thống XLX, hệ
thống này đã được nâng cấp để có thể cung cấp các tính năng như một dịch vụ
Web và do đó có thể sẵn sàng được sử dụng bởi các hệ thống bên ngoài. Tất nhiên
là việc sử dụng các dịch vụ đào tạo là không hạn chế đối với các khách hàng bởi vì
việc cung cấp toàn bộ các tính năng của hệ thống như là các dịch vụ Web cho
phép tích hợp trực tiếp các tính năng của hệ thống đào tạo trực tuyến và một ứng
dụng thương mại (chẳng hạn như hệ thống CRM hay hệ thống ERP) để tương tác
với các ứng dụng, các tiến trình và các thông tin. Các dịch vụ Web cũng có thể
được sử dụng trên các thiết bị di động nếu khách hàng có các thiết bị đó.
50
Những hạn chế của hệ thống phân tán (không tập trung):
Xây dựng một hệ thống không tập trung (non-centralized) bằng cách liên kết
nhiều dịch vụ Web để có thể đạt được các chức năng như một hệ thống đào tạo
trực tuyến làm nảy sinh các vấn đề trong việc quản lý nội dung cho các học viên
và việc tìm kiếm các dịch vụ cần thiết đáp ứng yêu cầu vào thời điểm yêu cầu đó
được đưa ra. Hệ thống đào tạo trực tuyến LearnServe sử dụng các sổ đăng ký
UDDI để tìm kiếm các dịch vụ Web như là một hoạt động thường nhật trong lĩnh
vực dịch vụ Web. Tuy nhiên, UDDI không phù hợp với các dịch vụ nội dung bởi
vì sự lưu trữ các metadata về các nội dung không được hỗ trợ thích đáng. Trong
một tổ chức, các đối tương kiến thức có thể được đưa vào một hệ thống quản lý
đào tạo riêng biệt. Thay vào đó, nội dung cần được lưu trữ trên các server phân tán
và sẽ đựoc truy vấn đến khi có yêu cầu. Việc này làm xuất hiện các vấn đề về trình
diễn dữ liệu bởi vì đặc trưng của các dịch vụ Web là hướng dữ liệu (data-oriented),
nhưng việc biểu diễn là rất quan trọng để có thể hiểu rõ các nội dung sẽ được học.
Để giảm nhẹ các vấn đề về tương thích trong việc tích hợp nội dung, hệ thống
LearnServe sử dụng các tiêu chuẩn mới nhất để có thể tái sử dụng, khai phá và
trao đổi nội dung trong nội bộ hệ thống cũng như với các hệ thống đào tạo trực
tuyến khác.
Quá trình khai phá được hỗ trợ bởi kho chứa các đối tượng xuất bản của
LearnServe và khả năng tìm kiếm và đáp ứng môi trương làm việc của UDDI
được sử dụng cho các dịch vụ Web thương mại trong bối cảnh đào tạo. Nó cũng có
thể được phân biệt bởi nó chứa các dữ liệu tập trung về các đối tượng kiến thức,
nghĩa là tất cả các metadata, trong khi trên thực tế, các nội dung có thể được phân
bố một cách tùy ý. Để sử dụng nội dung, các platform tầng thấp triệu gọi các đối
tượng kiến thức cần thiết, các đối tượng kiến thức này sẽ được trình diễn bởi các
dịch vụ Web và chuyển giao tới người học. Dịch vụ trình diễn làm tăng lượng
thông tin về nội dung như đã được mô tả trong chuẩn WSRP (Web Services for
Remote Portlets Specification) và do đó làm tăng khả năng đáp ứng trong việc
trình diễn nội dung tùy theo yêu cầu của người học.
Từ đó, chúng ta có thể khắc phục một số vấn đề phát sinh khi triển khai một
platform cho dịch vụ, gồm có:
1. Lưu trữ các nội dung đào tạo trong mô hình phân tán.
2. Trao đổi dữ liệu một cách linh hoạt khi cần thiết hay khi phù hợp.
Ví dụ như, điều này có thể dựa trên các hồ sơ cá nhân của người học và các đặc
tả về khóa học mà một tác giả nào đó đã đưa lên kho chứa của LearnServe.
51
V. Xây dng mt h thng đào to trc tuyn b4ng công ngh
Web service da trên plat form J2EE
Hiện nay, cả 2 platform J2EE và .Net đều hỗ trợ triển khai Web service. Một
trong những ưu điểm của việc sử dụng J2EE để phát triển hệ thống đào tạo trực
tuyến là chúng ta có một sự lựa chọn phong phú các nhà cung cấp với các phần
mềm đã được xây dựng sẵn (pre-built), với rất nhiều các dữ án mã nguồn mở.
J2EE là một chuẩn công nghiệp. Nguyên nhân quan trọng nhất để lựa chọn J2EE
là do tất các hệ thống khác đều dựa trên JAVA. Chúng ta sẽ không cần phải thay
đổi bất kỳ một phần nhỏ kiến trúc nào khi triển khai Web service trên platform
J2EE và các thành phần của J2EE cũng có thể phân tách một cách dễ dàng thành
các dịch vụ Web. Ta sẽ tận dụng được rất nhiều ưu điểm khi triển khai Web
services trên nền J2EE như tính khả chuyển, tính vô hướng, tính tin cậy. Sau đây
chúng ta sẽ tìm hiểu về platform J2EE và cách xây dựng các dịch vụ Web trên
platform này.
A. Gi>i thiu v$ J2EE
1. Giới thiệu chung
J2EE là Java 2 Platform Enterprise Edition, đây là một phân tán tính toán
framework của Sun Microsystems.J2EE là một platform để phát triển những ứng
dụng phân tán bao gồm những thành phần sau:
J2EE Platform - một platform chuẩn để chứa các ứng dụng J2EE.
Reference Implemetation - một ứng dụng server hỗ trợ chuẩn mới nhất
của J2EE, ngoại trừ những ưu điểm của nó là những đặc tính mới trong
phiên bản chuẩn của J2EE, đây chưa phải là 1 sản phẩm hoàn chỉnh.
Compatibility Test Suite - một công cụ để kiểm tra xem một ứng dụng
server có tương thích với chuẩn J2EE hay không. Thiếu cái này thì mỗi
nhà cung cấp có thể hiểu và từ đó phát triển chuẩn J2EE theo những
hướng khác nhau mà như thế thì làm giảm đi thế mạnh của J2EE platform
là “write once, run anywhere”.
Application Programming Model (APM) Blueprint – một mô hình ứng
dụng tham khảo, được cung cấp để minh hoạ cách phát triển ứng dụng
dùng J2EE.
2. Phát triển chương trình dùng J2EE
J2EE Framework cho phép phát triển những ứng dụng phân tán bằng cách cung
cấp 1 tập các dịch vụ cơ bản như quản lý giao dịch, kiểm tra bảo mật, quản lý
52
trạng thái, quản lý tài nguyên. Các ứng dụng server đều cung cấp những dịch vụ
cơ bản này của J2EE Framework.
3. J2EE API
Những công nghệ được sự dùng trong J2EE bao gồm:
Java 2 Standard Edition (J2SE) - trước kia còn gọi là JDK.
Java Database Connectivity (JDBC) - Một API chuẩn dùng để kết nối
Java Platform với cơ sở dữ liệu.
RMI-JRMP – Remote Method Invocation (RMI),một chuẩn dùng để gọi
hàm từ xa dựa trên Java Remote Message Protocol (JRMP).
Java Interface Definition Language (Java IDL) - một dịch vụ kết hợp
Common Object Request Broker Architecture (COBRA) vào trong Java
Platform để cung cấp tính interoperability thông qua chuẩn IDL.
Remote Method Invocation–Internet Inter-ORB Protocol (RMI-IIOP) -
một giao thức cho phép lập trình viên RMI kết hợp những lợi ích của
RMI API và giao thức CORBA/IIOP để giao tiếp với CORBA-compliant
client được phát triển bởi bất cứ ngôn ngữ nào tuân theo CORBA.
Enterprise JavaBean (EJB) - một kiến trúc thành phần để phát triển và
triển khai các ứng dụng kiểu thành phần dựa trên phân tán.
Servlet – tương tác với Web client thông qua cơ chế request – response.
Cơ chế này dựa trên giao thức HTTP.
Java Server Page (JSP) – Dùng để xây dựng những ứng dụng có chứa nội
dung web động như là HTML, DHTML, XML.
Java Message Service (JMS) - một API để giao tiếp với Message Oriented
Middleware (MOM) cho phép truyền nhận message theo cơ chế point-to-
point và publish/subcribre.
Java Naming and Directory Interface (JNDI) - một interface duy nhất
dùng để truy cập những kiểu dịch vụ khác nhau về naming và directory.
Java Transaction API (JTA) - một tập API cho phép quản lý transaction.
Ứng dụng có thể sự dụng JTA để start, commit, abord transaction.
JavaMail - một API cung cấp 1 framework platform-independent và
protocol-independent (không phụ thuộc giao thức về platform) để xây
dựng ứng dụng về mail và messaging.
JavaBean Activation Framework (JAF) - tập các API được sử dụng bởi
các package khác như là JavaMail…Bạn có thể dùng JAF để xác định
kiểu dữ liệu, đóng gói truy cập đến dữ liệu đó, mở rộng những tác vụ dựa
trên dữ liệu đó và khởi tạo một bean tương ứng để thực hiện những tác vụ
đó. Ví dụ JavaMail dùng JAF để xác định object nào sẽ được khởi tạo dựa
trên kiểu MIME của object.
4. Các thành phần của J2EE.
53
J2EE được xây dụng trên một mô hình container component (trình chứa-thành
phần).Bốn container component cốt lõi cung cấp môi trường cho các component
khác của J2EE thông qua các API. Những component cốt lõi này liên quan đến
bốn kiểu trình chứa được hỗ trợ trong J2EE bao gồm, Application Client, Applet,
Web và EJB:
Java Application – component này là 1 chương trình standalone chạy bên
trong Application Client container. Application Client container cung cấp
những API hỗ trợ cho messaging, remote invocation, database
connectivity và lookup service. Application Client container đòi hỏi
những API sau: J2SE, JMS, JNDI, RIM-IIOP và JDBC.Container này
được cung cấp bởi nhà cung cấp application server.
Applet – Applet component là java applet chạy bên trong Applet
container, chính là web browser có hỗ trợ công nghệ Java. Applet phải hỗ
trợ J2SE API.
Servlet và JSP – đây là Web-based component chạy ở bên trong Web
container, được hỗ trợ bởi Web Server. Web container là một môi trường
run-time cho servlet và jsp. Web Container phải hỗ trợ những API sau:
J2SE, JMS, JNDI, JTA, JavaMail, JAF, RIM-IIOP và JDBC. Serlet và
JSP cung cấp một cơ chế cho việc chuẩn bị, xử lý, định dạng nội dung
động.
Enterprise JavaBean (EJB) – EJB component là business component –
thành phần nghiệp vụ chạy bên trong EJB container. EJB component là
phần nhân, cốt lõi của ứng dụng J2EE. EJB container cung cấp các dịch
vụ quản lý transaction, bảo mật, quản lý trạng thái, quay vòng tài nguyên
(resource pooling). EJB container phải hỗ trợ những API sau: J2SE, JMS,
JNDI, JTA, JavaMail, JAF, RIM-IIOP và JDBC.
5. Sử dụng EJB
EJB chứa những business logic của ứng dụng, cho nên có thể nói rằng EJB
chính là phần lõi của phần lớn các ứng dụng phân tán cho doanh nghiệp. Một
enterprise bean có những đặc điểm sau:
Chứa các business logic để thao tác với dữ liệu.
Được tạo ra và được quản lý bởi một container.
Xử lý các truy cập của client .
Chứa metadata, như là thuộc tính của transaction và security, riêng biệt
với các bean.
54
Cung cấp dịch vụ quản lý transation, quản lý trạng thái, quay vòng tài
nguyên và bảo mật.
Nếu bạn thiết kế 1 ứng dụng không cần có hỗ trợ transaction hoặc bảo mật,
lúc đó nên trở lại câu hỏi có nên dùng đến EJB hay không.
Mỗi EJB bắt buộc phải có những interface và class sau:
Home Interface - home interface extend javax.ejb.EJBHome. Nó đóng vai
trò như một Factory pattern để khởi tạo các instance của EJB.
Remote Interface – remote interface extend javax.ejb.EJBObject. Remote
interface chứa các business method , được gọi từ client. Nó đóng vai trò
như 1 proxy của EJB.
Bean Class - chứa phần cài đặt của các method khai báo trong remote
interface. Bean class extend javax.ejb.SessionBean hoặc
javax.ejb.EntityBean hoặc javax.ejb.MessageDrivenBean.
5.1 Sử dụng Session và Entity Bean
Các ứng dụng cho enterprise cần những component linh động trong business
logic. Các component phải có khả đáp ứng stateless service, conversational state,
và hỗ trợ việc chia sẻ dữ liệu.EJB có 2 loại bean chính ứng với các nhu cầu khác
nhau của component trong ứng dụng: session và entity. Entity bean phục vụ cho
việc duy trì và chia sẻ dữ liệu. Như thế không có nghĩa là session bean không thể
duy trì đối tượng được, nhưng entity bean được thiết kế chuyện dụng cho mục
đích này. Session bean thì phục vụ cho các bussiness logic và workflow liên quan
đến ứng dụng J2EE, tương ứng với nhu cầu về stateless service và conversational
state.
5.2 Stateless Bean và Stateful Bean
Có 2 loại session bean: stateless và stateful:
Stateless Beans.
Stateless bean không giữ tạm dịch là trạng thái giao dịch của client.
Tuy nhiên không có nghĩa là stateless bean không thể giữ được trạng
thái, nhưng trạng thái này không bảo đảm đủ để xác định client nào đã
gọi đến bean này. Điều này có nghĩa là bạn có thể dùng stateless bean
để thực hiện bất cứ hành động nào trong ứng dụng.
Stateful Beans.
Stateful bean có khả năng giữ conversational state (tạm dịch là trạng
thái giao tiếp) của client. Tất nhiên là có nhiều cách để giữ
consersational state trong ứng dụng, nhưng nếu state đó cần phải gắn
với business logic thì nó nên được lưu giữ trong stateful bean.Ví dụ
55
điển hình nhất của session stateful bean là component shopping cart
trong các ứng dụng mua hàng trực tuyến.
5.3 Sử dụng MessageDrivenBean
MessageDrivenBean là một điểm mới trong chuẩn EJB 2.0 (EJB 1.1 chỉ định
nghĩa 2 loại bean là session và entity). Mục đích của MesssageDrivenBean là phục
vụ cho nhu cầu về các dịch vụ không đồng bộ của các component. Bởi vì session
và entity bean chỉ phục vụ các dịch vụ loại synchronous. Do đó cách sử dụng
MessageDrivenBean có phần giống với session stateless bean, chỉ khác ở cách gọi
bean, với MDB thì client phải gửi message đến MDB đó để thực hiện các hàm
trong MDB.
5.4 Sử dụng Container-Managed Persistence
Có 2 cách để 1 entity bean persist object: container-managed persistence
(CMP) và bean-managed persistence (BMP). Trong CMP, container điều khiển
việc cài đặt cần thiết cho các tác vụ chèn, đọc, ghi, cập nhật object trong một data
source. Còn trong BMP, thì lập trình viên phải tự cài đặt các code cho các tác vụ
trên. CMP lý tưởng cho việc phát triển ứng dụng vì nó không đòi hỏi lập trình viên
phải thay đổi code mỗi khi data model thay đổi. Tuy nhiên để có được tính linh
hoạt, CMP không cho phép sinh ra những câu lệnh SQL hiệu quả.
Hiện nay các công cụ phục vụ việc ánh xạ object với cơ sở dữ liệu vẫn còn đang
trong quá trình phát triển và chưa đủ chín muồi. Trong khi chờ đợi CMP phát triển
hoàn thiện thì BMP cộng với pattern DAO có lẽ là 1 giải pháp khá tốt.
5.5 Sử dụng Data Access Object
Khi bạn quyết định dùng BMP, có nghĩa là bạn sẽ phải tự coding các câu lệnh
SQL trong entity bean của bạn. Để giảm sự nối kết của entity bean với các câu
lệnh SQL cần thiết cho các việc đọc, ghi, xoá , cập nhật object, bạn có thể tạo ra
một DAO pattern đóng gói các câu lệnh SQL đó. Bằng cách này bạn đã làm giảm
sự phụ thuộc của bạn vào code và sư thay đổi của data model. Nói cách khác nếu
có sự thay đổi thì BMP entity bean của bạn vẫn có thể giữ nguyên và bạn chỉ phải
sửa lại phần DAO mà thôi.
DAO chứa code phục vụ việc đọc , ghi, cập nhật xoá object trên 1 data source.
Nó cho phép 1 entity bean có thể định nghĩa như 1 BMP, nhưng sau này khi các
công cụ hỗ trợ cho CMP trở nên hoàn thiện hơn thi entity bean này có thể chuyển
sang thành CMP, và DAO sẽ được thay thế bởi sự hỗ trợ CMP của container.
56
B. Áp d0ng J2EE trong cài đAt h thng E-learning
Java 2 Platform Entreprise Edition (J2EE) sử dụng mô hình phân tán nhiều tầng.
PlatformJ2EE bao gồm một Web Server và một EJB Server (Những Server đó còn
được gọi là trình chứa). Trong đó Web Server cung cấp môi trường run-time qua
các thành phần mà cung cấp ngữ cảnh đặt tên và quản lí vòng đời. Một vài Web
Server cũng cung cấp thêm các dịch vụ như quản lí bảo mật và quản lí tương tranh.
Một Web Server có thể làm việc với EJB server để cung cấp các dịch vụ đó. Một
Web Server không cần thiết phải trên cùng một máy với EJB server.
Ngày nay, platform J2EE và .Net hỗ trợ việc cài đặt của Web Services. Một
điểm mạnh của việc sử dụng J2EE là một cơ sở cho việc cài đặt hệ thống E-
Learning là chúng ta có rất nhiều nhà cung cấp và rất nhiều mã nguồn mở. J2EE
là một chuẩn công nghiệp. Lí do quan trọng nhất mà chúng ta chọn J2EE đó là tất
cả đều dựa trên cơ sở JAVA. Không cần thiết bất cứ một sự thay đổi nào về kiến
trúc hệ thống khi chúng ta cài đặt Web Services trên kiến trúc J2EE và các thành
phần J2EE đã tồn tại có thể dễ dàng được thể hiện như là Web Services. Có rất
nhiều thuận lợi của J2EE đã được hỗ trợ cho Web Services như là tính khả chuyển,
tính mở rộng, tính an toàn.
57
Hình 28. Mô hình cài đặt trên Platform J2EE
Một ứng dụng J2EE được thiết kế tốt sẽ đạt được những mục tiêu sau đây:
Tính mạnh mẽ:
Phần mềm doanh nghiệp là rất quan trọng đối với một tổ chức.Người
dùng của những phần mềm này luôn hy vọng rằng phần mềm sẽ đáng tin
cậy và không có lỗi.Vì vậy chúng ta phải hiểu và tận dụng được những
tính năng của J2EE để có thể giúp chúng ta xây dựng những giải pháp
mang tính mạnh mẽ và phải đảm bảo chắc chắn rằng chúng ta viết code
có chất lượng tốt.
58
Có hiệu năng cao và khả năng dễ dàng mở rộng.
Các ứng dụng doanh nghiệp phải thỏa mãn những hy vọng về hiệu năng
của người dùng của chúng.Đồng thời chúng phải thể hiện khả năng dễ
dàng mở rộng-đây một yếu tố cần thiết cho một ứng dụng để nó có thể hỗ
trợ khi tải tăng lên trên một hệ thông phần cứng cho trước.Khả năng mở
rộng là một yếu tố hết sức quan trọng cho các ứng dụng Internet,khi mà
thật khó để dự đoán số người dùng.Hiểu được kiến trúc của J2EE sẽ rất
thích hợp để thỏai mãn những yêu cầu trên.
Tận dụng được những điểm mạnh của nguyên tắc thiết kế hướng đối
tượng
Nguyên tắc thiết kế hướng đối tượng đưa ra rất nhiều thuận lợi cho các hệ
thống phức tạp.Một ứng dụng được thiết kế tốt theo mô hình hướng đối
tượng được đẩy mạnh bằng việc sử dụng design pattern.
Tránh được những sự phức tạp không cần thiết .
Dễ dàng trong bảo trì và mở rộng.
Phân phối sản thẩm đúng thời hạn.
Dễ dàng trong kiểm thử.
Dế dàng sử dụng lại các thành phần.
J2EE cung cấp những sự hỗ trợ nổi bật cho việc cài đặt kiến trúc phân tán.Các
thành phần của một ứng dụng J2EE phân tán có thể được chia ra và chạy trên
nhiều JVM trên một máy đơn duy nhất hay trên nhiều máy chủ vật lý.Ứng dụng
J2EE phân tán dựa chủ yếu trên việc sử dụng EJB với giao tiếp remote,điều này
cho phép các server ứng dụng có thể che dấu đi rất nhiều sự phức tạp của việc
truy nhập và việc quản lí của các thành phần phân tán.
Kiến trúc phân tán có thể đưa ra rất nhiều những ưu điểm như sau:
Khả năng hỗ trợ nhiều Client và ở nhiều loại khác nhau mà yêu cầu chia
sẻ “tầng giữa” của các business object.Sự xem xét này không áp dụng cho
các ứng dụng Web,khi web container đã cung cấp một tầng giữa.
Khả năng triển khai bất cứ một thành phần ứng dụng nào trên bất kì
server vật lí nào.Trong một vài ứng dụng thì điều này rất quan trọng cho
việc cân bằng lưu lượng.
59
Tuy nhiên kiến trúc phân tán cũng làm xuất hiện rất nhiều vấn đề:
Vấn đề về hiệu năng.
Việc đánh thức từ xa là chậm hơn rất nhiều so với việc đánh thức cụ bộ.
Sự phức tạp.
Các ứng dụng phân tán rất khó để cài đặt ,gỡ rối,triển khai và bảo dưỡng.
Các ràng buộc trong việc thực hiện thiết kế hướng đối tượng.
Đặc tả của J2EE 1.2 đã đưa ra nhiều sự lựa chọn đơn giản.EJBs có giao tiếp
remote và có thể sử dụng chỉ trong các ứng dụng phân tán. Remote Method
Invocation (RMI) là sự lựa chọn duy nhất cho việc hỗ trợ remote client.
Từ đó,hai sư phát triển-một trong J2EE và một bên ngoài J2EE đã có sự kết
hợp sâu sắc cho thiết kết J2EE.
Đặc tả EJB 2.0 cho phép EJB có giao tiếp cục bộ thay vì giao tiếp remote.EJB
có thể được đánh thức qua giao tiếp cục bộ của nó bởi các thành phần trong một
ứng dụng J2EE tích hợp chạy trên cùng JVM.
Sự kết hợp của Simple Object Acess Protocol dựa trên XML đã được chấp
nhận dụng rộng rãi như là một chuẩn flatform –agnostic cho RMI và hỗ trợ rộng
khắp cho Web Services.
Giao tiếp cục bộ EJB 2.0 được giới thiệu rộng khắp để giải quyết bài toán về
hiệu năng của Entity Bean 1.1.
Một trong những quyết định quan trọng nhất trong thiết kế một ứng dụng J2EE
đó là có hay không sử dụng EJB.EJB vẫn được coi như là lõi của kiến trúc
J2EE.Đây là một quan niệm sai lầm,EJB chỉ đơn thuần là một trong số các lựa
chọn được J2EE đưa ra.Nó được ý định là phù hợp để giải quyết các vấn đề,nhưng
trong một vài ứng dụng thì EJB đem lại rất ít ý nghĩa.
Khi các yêu cầu có ý tưởng là một kiến trúc phân tán và RMI/IIOP là giao thức
từ xa ban đầu thì EJB cho chúng ta một sự cài đặt chuẩn.Chúng ta có thể lập trình
đối tượng nghiệp vụ của chúng ta là các EJB với các giao tiếp từ xa và có thể sử
dụng trình chứa EJB để quản lí các vòng đời của chúng và dùng để đón nhận các
đánh thức từ xa.
Nếu các yêu cầu không dẫn đến ý tưởng là kiến trúc phân tán thì hay nếu
RMI/IIOP không là giao thức từ xa tự nhiên thì quyết định có hay không sử dụng
EJB sẽ trở nên khó khăn hơn.
60
EJB là công nghệ phức tạp nhất trong J2EE và từ thông dụng nhất trong
J2EE.Điều này có thể dẫn đến các lập trình viên sử dụng EJB sai mục đích.
EJB là một công nghệ high –end.Nó có thể giải quyết một số vấn đề nhất định
rất tôt,nhưng không nên sử dụng nó nếu không có lí do cần thiết và đúng đắn.
Những vấn đề liên quan khi sử dụng EJB.
Một trong những mục tiêu trong đặc tả EJB 2.0 đó là làm đơn giản code của
các ứng dụng. Đặc tả EJB 2.0 khẳng định rằng :”Kiến trúc EJB sẽ làm cho việc
viết code các ứng dụng sẽ dễ dàng hơn.Các nhà phát triển ứng dụng sẽ không phải
hiểu chi tiết về các quản lí giao dịch mức thấp,các chi tiết về tính Multi-
thread ,chia sẻ kết nối,và các API mức thấp”.
Về mặt lí thuyết bằng việc chuyển toàn bộ cho các vấn đề mức thấp cho trình
chứa EJB thì các người phát triển tự do để đầu nỗ lực của họ cho các business
logic.
Tuy nhiên công nghệ EJB cũng làm nảy sinh các vấn đề sau:
Sử dụng EJB làm cho các ứng dụng trở nên khó khăn hơn trong quá trình
kiểm tra.
Sử dụng EJB cũng khiến cho các ứng dụng khó khăn trong quá trình triển
khai.
Sử dụng EJB với giao tiếp từ xa có thể làm cản trở việc thiết kế theo mô
hình hướng đối tượng.
Sử dụng EJB có thể khiến những thứ đơn giản trở nên phức tạp.
Làm giảm sự lựa chọn của các server ứng dụng.
Một số điểm mạnh khi dùng EJB.
Cho phép truy nhập từ xa tới các thành phần ứng dụng.
Cho phép các thành phần ứng dụng có thể được trải ra trên nhiều server
vật lý khác nhau.
Hỗ trợ phong phú các loại Client COBRA hay JAVA.
Cài đặt các message consumers khi một mô hình không đồng bồ là hợp lí.
Truy nhập dữ liệu.
Việc lựa chọn công nghệ truy nhập dữ liệu là một trong những vấn đề cần xem
xét chính khi quyết định có hay không sử dụng EJB khi mà một trong những sự
lựa chọn (entity beans) là sự lựa chọn duy nhất khi dùng EJB.Chiến lược truy nhập
61
dữ liệu thường xuyên quyết định hiệu năng của toàn hệ thống doanh nghiệp và
khiến nó trở thành bài toán thiết kế chủ yếu.
Chú ý rằng trình chứa (container) hỗ trợ cho việc chia sẻ kết nối tài nguyên là
có ý nghĩa trong trình chứa Web chứ không chỉ đơn thuần cho server EJB.
Rất nhiều người phát triển J2EE không linh hoạt khi xem xét vấn đề truy nhập
dữ liệu.Những trong khi đó thì:
- Sự di chuyển giữa các Database là luôn luôn cần thiết.
- Ánh xạ Object/Relation (O/R) luôn là những giải pháp tốt nhất khi làm việc
với cơ sở dữ liệu quan hệ.
- Ánh xạ O/R là một giải pháp hoàn hảo trong vài trường hợp (đặc biệt là khi
dữ liệu có thể được che dấu ở lớp ánh xạ) tuy nhiên trong một vài trường hợp
thì chúng sẽ làm suy giảm đáng kể hiệu năng của hệ thống.Ở khía cạnh tích
cực,giải pháp ánh xạ O/R ,nếu chúng là một sự thích hợp tốt trong vài ứng
dụng cụ thể thì chúng có thể giúp cho người phát triển thỏai mái trong việc
viết các code truy nhập cơ sở dữ liệu,năng cao hiệu quả công việc.
Người ta thường cho rằng entity bean là cách duy nhất để đạt được sự phân
tách rõ ràng giữa truy nhập dữ liệu và logic nghiệp vụ ,đây là một ý kiến sai
lầm.Truy nhập dữ liệu không khác với bất cứ một phần nào khác của hệ thống nơi
mà người ra mong muốn giữ lại một lựa chọn khác cho quá trình cài đặt.Chúng ta
có thể phân tách các chi tiết về việc truy nhập dữ liệu ra khỏi phần còn lại của ứng
dụng một cách đơn giản bằng các nguyên tắc thiết kế hướng đối tượng của lập
trình đối với các giao tiếp hơn là các lớp.Hướng tiếp cận này là linh hoạt hơn sử
dụng entity bean khi mà chúng ta đã chỉ được chuyển cho một giao tiếp JAVA.
Entity bean.
Entity bean là một cách thực hiện tốt cho việc tách biệt các code truy nhập dữ
liệu.Nhưng thật không may,Entity Bean là một cách rất “tốn kém” để đạt được
điều này,đặc biệt về thời gian chạy.Entity Bean không chói buộc chúng ta với một
kiểu cơ sở dữ liệu cụ thể nào tuy nhiên nó lại trói buộc chúng ta với trình chứa
EJB và một công nghệ ánh xạ O/R cụ thể.
Vẫn tồn tại những sự nghi ngờ khi xem xét cơ sở lí thuyết và giá trị thực tế của
Entity Bean.Trói buộc truy nhập dữ liệu với trình chứa EJB làm giới hạn sự linh
hoạt của cấu trúc và làm cho các ứng dụng khó kiểm tra.
62
Cho dù với những sự cải tiến của EJB 2.0 thì Entity Bean khiến nó trở nên khó
sử dụng khi giải quyết một số vấn đề thông thường (Entity là một chuẩn ánh xạ
O/R).Chúng thường dẫn tới sự sử dụng không hiệu quả của các ứng dụng cơ sở dữ
liệu quan hệ ,và điều này làm suy giảm hiệu năng của hệ thống.
Java Data Object (JDO)
JDO là một đặc tả gần đây được phát triển bởi Java Community Process mà
miêu tả một kĩ thuật cho việc đảm bảo sự duy trì của các đối tượng Java đối với
bất cứ một dạng lưu trữ nào.JDO thường xuyên được sử dụng như là một ánh xạ
O/R những nó không bị trói buộc vào RDBMS.JDO có thể được trở thành chuẩn
API cho việc truy nhập Java đới ODBMS.JDO đưa ra mô hình “nhẹ nhàng” hơn
so với EJB. Hầu hết các đối tượng Java có thể tồn tại bao lâu cung được miễn là
trạng thái của nó được giữ trong các thể hiện của dữ liệu.Không giống với Entity
Bean,các đối tượng được duy trì khi sử dụng JDO không cần thiết phải cài đặt bất
cứ một giao tiếp đặc biệt nào .JDO cũng định nghĩa một ngôn ngữ truy vấn để
chạy các câu lệnh truy vấn trên các đối tượng tồn tại.
JDO hiện tại chưa trở thành một phần của kiến trúc J2EE,tuy nhiên nó sẽ sớm
trở thành một API cần thiết như JDBC và JNDI.
JDO cung cấp hầu hết các ưu điểm của Entitty Bean trong khi đó lại loại bỏ các
hầu hết các yếu điểm của chúng.Nó tích hợp tốt với quản lí giao dịch máy chủ
J2EE,nhưng không bị trói buộc với EJB hay thậm trí là J2EE.
63
Kiến trúc hệ thống
Hình 29. Sơ đồ kiến trúc
64
Dispatcher Request Interpreter
Protocol Interfaces
IMS-LD
Interpreter
Interface
OpenACS
Interface
JAXM
Interface
J2EE Application Server
...
Common Interface
Services
XML
Services
Config.
XML
Interface
Config.
Tracker
Logger
Common
Repository
Interaction
Object
Hình 30. Kiến trúc truyền thông của hệ thống
Hình 31. Bussines Logic của Platform E-learning
65
Hình 32. Sơ đồ kết nối JDBC
VI. Cài đAt mt h thng đào to trc tuyn trên platform J2EE
1. Giới thiệu về gói phần mềm
Đây là một phần mềm mã nguồn mở được cung cấp miễn phí tại địa chỉ web
nhóm chúng em đã download về và tìm cách cài đặt dựa
trên hướng dẫn cài đặt của gói phần mềm. Phần mềm đưa ra những yêu cầu khá
cao về cấu hình hệ thống có thể cài đặt nó, vì thế nếu không có sự giúp đỡ về cơ
sở vật chất của công ty CMC, nơi một số thành viên của nhóm đang làm việc, thì
chúng em sẽ rất khó khăn trong việc tìm kiếm platform cài đặt nó. Vì vậy. chúng
em xin gửi lời cảm ơn tới các đồng nghiệp ở công ty CMC đã tạo điều kiện để
chúng em có thể hoàn thành phần cài đặt khá phức tạp này.
2. Cài đặt phần mềm
a) Yêu cầu hệ thống
JavaTM 2 SDK, Standard Edition, Version 1.4.2
512MB RAM
60GB Drive.
66
b) Cấu hình trình duyệt máy khách và firewall
Mọi người dùng của LMS phải có một Java 1.4 enabled –browser.Để làm điều
đó bạn thực hiện như sau:
Mở Control Panel, mở Java Plugin,sau đó trong Dialog này chuyển đến Tab
Advanced và chọn version 1.4 của plugin(Nếu nó tồn tại) nếu không thì chuyển
đến Tab Update và thực hiện quá trình Update.
c) Cài đặt Server
a-LMS là một Free Learning Mangement System tương thích với chuẩn
SCORM 1.2 .Database a-LMS theo dõi sinh viên, người quản lí, quản trị, các khoá
học…Phiên bản này của a-LMS sử dụng Hypersonic Database, đây là một engine
cơ sở dữ liệu quan hệ open-source.Tuy nhiên, tất cả các truy nhập database là
thông qua JDBC để mà bất cứ JDBC (JDBC-ODBC cầu nối) tương thích database
sẽ có thể được thay thế.
a-LMS được viết bằng JAVA và yêu cầu môi trường JAVA trên máy chủ và
trình duyệt Java-enabled.
a-LMS là một ứng dụng Web mà sử dụng Tomcat,một servlet engine open-
s
Các file đính kèm theo tài liệu này:
- Hệ thống E_Learning.pdf