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 dng 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 đó:
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodCall>
<methodName>weather.getWeather</methodName>
<params>
<param><value>10016</value></param>
</params>
</methodCall>
Và sau đây là câu trả lời của XML-RPC từ dịch vụ thời tiết:
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodResponse>
<params>
<param>
<value><int>65</int></value>
</param>
</params>
</methodResponse>
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:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-
ENV="
xmlns:xsi=" />instance"
xmlns:xsd="
<SOAP-ENV:Body>
<ns1:getWeather
xmlns:ns1="urn:examples:weatherservic
e"
SOAP-
ENV:encodingStyle="
g/2001/09/soap-encoding/">
<zipcode
xsi:type="xsd:string">10016</zipcode>
</ns1:getWeather>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-
ENV="
xmlns:xsi=" />instance"
xmlns:xsd="
<SOAP-ENV:Body>
<ns1:getWeatherResponse
40
xmlns:ns1="urn:examples:weatherservic
e"
SOAP-
ENV:encodingStyle="
g/2001/09/soap-encoding/">
<return xsi:type="xsd:int">65</return>
</ns1:getWeatherResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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:
http://localhost:8080/soap/servlet/rpcrouter.
Ví dụ: WeatherService.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="WeatherService"
targetNamespace=" />rvice.wsdl"
xmlns="
xmlns:soap="
xmlns:tns=" />sdl"
xmlns:xsd="
<message name="getWeatherRequest">
41
<part name="zipcode" type="xsd:string"/>
</message>
<message name="getWeatherResponse">
<part name="temperature" type="xsd:int"/>
</message>
<portType name="Weather_PortType">
<operation name="getWeather">
<input message="tns:getWeatherRequest"/>
<output message="tns:getWeatherResponse"/>
</operation>
</portType>
<binding name="Weather_Binding"
type="tns:Weather_PortType">
<soap:binding style="rpc"
transport="
<operation name="getWeather">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="
namespace="urn:examples:weatherservice"
use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="
namespace="urn:examples:weatherservice"
use="encoded"/>
</output>
</operation>
</binding>
<service name="Weather_Service">
<documentation>WSDL File for Weather
Service</documentation>
<port binding="tns:Weather_Binding"
name="Weather_Port">
<soap:address
location="http://localhost:8080/soap/servlet/rpcrouter"/>
</port>
</service>
</definitions>
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
http://localhost:8080/wsdl/WeatherService.wsdl
getWeather 10016
(viết liền trên một dòng)
Kết quả:
Reading WSDL document from
'http://localhost:8080/wsdl/WeatherService.wsdl'
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:
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].