Hệ thống e-Learning

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 ...

pdf75 trang | Chia sẻ: hunglv | Lượt xem: 1686 | Lượt tải: 0download
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:

  • pdfHệ thống E_Learning.pdf
Tài liệu liên quan