Cho đến đầu năm năm 2002 năm đăng ký thực hiện Đề tài, phần lớn các phần mềm ứng dụng trên mạng tại Việt nam đều được phát triển dựa trên mô hình kiến trúc khách / phục vụ two-tier clie
Trang 1ĐỀ TÀI NGHIÊN CỨU KHOA HỌC – TRIỂN KHAI CÔNG NGHỆ
CN Nguyễn Hiền Lương
CN Lê Phạm Hoàng Giàu
THÀNH PHỐ HỒ CHÍ MINH
2003 - 2006
Trang 2MỤC LỤC
GIỚI THIỆU ĐỀ TÀI 4
PHẦN I XÂY DỰNG CÁC HỆ THỐNG THÔNG TIN VÀ PHẦN MỀM ỨNG DỤNG TRONG MÔI TRƯỜNG GIÁO DỤC 6
1.1 Khảo sát thực trạng và nhu cầu ứng dụng CNTT và mạng Internet trong các trường phổ thông 6
1.2 Nhu cầu và giải pháp xây dựng các hệ thống thông tin quản lý 8
1.3 Một số vấn đề trong quản lý và trao đổi thông tin trên mạng 9
PHẦN II XU HƯỚNG PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG TRÊN MẠNG MÁY TÍNH 15 2.1 Lựa chọn giải pháp công nghệ nền 15
2.2 Giải pháp phát triển phần mềm dựa trên kiến trúc đa tầng J2EE 16
2.3 Giải pháp kết nối và chuyển đổi dữ liệu 20
2.4 Sự cần thiết của môi trường phát triển dựa trên nguồn mở 23
2.5 Hệ điều hành nguồn mở Linux và các phiên bản distro của Linux 27
PHẦN III NGHIÊN CỨU VỀ CÔNG NGHỆ CỔNG THÔNG TIN 29
3.1 Phân loại website và cổng thông tin 29
3.2 Cổng thông tin và tích hợp ứng dụng 30
3.3 Tình hình phát triển cổng thông tin mã nguồn mở dựa trên uPortal 33
3.4 Các chuẩn về portlet container và Java Specification Request 168 38
3.5 Kiến trúc chung của các cổng thông tin 41
3.6 Kiến trúc phần mềm cổng thông tin uPortal 43
PHẦN IV MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG IPORTAL FRAMEWORK VÀ CÁC ỨNG DỤNG TÍCH HỢP CỔNG 45
4.1 Công nghệ nền cổng thông tin và môi trường phát triển ứng dụng 45
4.2 Ứng dụng Quản lý thông tin người sử dụng cổng dựa trên OpenLDAP 45
4.3 Thiết kế cơ sở dữ liệu người dùng cổng thông tin iPortal trên OpenLDAP 46
4.4 Ứng dụng thư điện tử tích hợp trong iPortal 53
4.5 Mô hình bảo mật Hệ thống Quản lý thư điện tử iMailManager 55
4.6 Ứng dụng quản trị nội dung và tin tức iContentManager 56
4.7 Ứng dụng quản trị tài liệu điện tử iDocManager 57
4.8 Yêu cầu hệ thống triển khai iPortal và các ứng dụng 71
V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73
Những kết quả chính thu được từ đề tài 73
PHỤ LỤC A KIẾN TRÚC CỔNG THÔNG TIN uPORTAL 75
A.1 Tích hợp thông tin và ứng dụng web 75
A.2 Các thẻ định dạng (Stylesheets) 76
A.3 Các kênh ứng dụng trong uPortal 78
A.4 Cấu trúc các đối tượng bên trong uPortal 81
A.5 Khả năng tích hợp của uPortal với các hạ tầng thông tin sẵn có 81
A.6 Xây dựng các kênh ứng dụng trong uPortal 83
PHỤ LỤC B KHUNG PHÁT TRIỂN ỨNG DỤNG iPORTAL FRAMEWORK 92
B.1 Giới thiệu chung 92
B.2 Nguyên lý hoạt động 92
B.3 Phân tích thiết kế ứng dụng MyAccount bằng iPortal Framework 95
Mã nguồn một số gói phần mềm nền trong bộ sản phẩm iPortal Framework 100
package org.itpmo.portal.base; // BaseBO 100
package org.itpmo.portal.base; // DBService 103
package org.itpmo.portal.base; // XML 103
package org.itpmo.portal.base.channel; // Channel 104
package org.itpmo.portal.base.channel; // PrivilegedChannel 112
Trang 3package org.itpmo.portal.base.channel; // Screen 113
package org.itpmo.portal.base.ldap; // Base64 115
package org.itpmo.portal.base.ldap; // Common 117
package org.itpmo.portal.base.ldap; // JNDI 121
package org.itpmo.portal.base.ldap; // LDAP 137
package org.itpmo.portal.base.ldap; // PasswordHandler 140
package org.itpmo.portal.base.ldap; // TreeNode2 143
package org.itpmo.portal.base.ldap; // UnixCrypt 144
PHỤ LỤC C DỊCH VỤ THÔNG TIN THƯ MỤC OPENLDAP 155
C.1 Giới thiệu 155
C.2 Các mô hình trong kiến trúc LDAP 155
C.3 Bảo mật LDAP bằng công nghệ SSL và TLS 156
C.4 Khuôn dạng LDIF (LDAP Data Interchange Format) cho dữ liệu LDAP 157
PHỤ LỤC D ĐẶC TẢ DUBLIN CORE METADATA 159
D.1 Metadata là gì ? 159
D.2 Dublin Core Metadata là gì ? 159
D.3 Cú pháp của Dublin Core Metadata: 160
PHỤ LỤC E LUCENE SEARCH ENGINE 162
E.1 Tổng quan về Lucene Search Engine 162
E.1.1 Lucene search engine là gì ? 162
E.1.2 Search Engine hoạt động như thế nào? 162
E.1.3 Phương pháp cài đặt cải tiến của Lucene 163
E.1.4 So sánh - đánh giá khả năng của Lucene với các công cụ tìm kiếm khác 163
E.2 Các định dạng của tập tin chỉ mục 165
E Các tập tin trong từng phân đoạn: 168
E.3 Cú pháp của lớp Query Parser trong Lucene 171
E.3.1 Tổng quan: 171
PHỤ LỤC F KHẢO SÁT VỀ CÁC CỔNG THÔNG TIN 174
F 1 eXo Platform (giấy phép nguồn mở) 174
F.2 Cổng thông tin Liferay (giấy phép nguồn mở) 178
F.3 Cổng thông tin uPortal (giấy phép nguồn mở) 180
F.4 Cổng thông tin IBM WebSphere Portal – Express (thương mại) 181
F.7 Cổng thông tin ORACLE Portal (thương mại) 185
Trang 4GIỚI THIỆU ĐỀ TÀI
Ứng dụng CNTT là một nhu cầu lớn của nền kinh tế đang phát triển như Việt nam, trong đó có ứng dụng CNTT cho ngành giáo dục – đào tạo, đặc biệt là giáo dục phổ thông
Phần mềm ứng dụng, nhất là các phần mềm chạy được trên các mạng máy tính nội
bộ (LAN) và mạng Internet, nếu triển khai hiệu quả sẽ góp phần thúc đẩy sự phát triển của giáo dục - đào tạo
Cho đến đầu năm năm 2002 (năm đăng ký thực hiện Đề tài), phần lớn các phần
mềm ứng dụng trên mạng tại Việt nam đều được phát triển dựa trên mô hình kiến trúc
khách / phục vụ (two-tier client/server), với công nghệ lập trình trên mạng LAN, sử dụng
các ngôn ngữ có khả năng giao tiếp mạng của Microsoft như FoxPro, VisualBasic, Visual C/C++, chủ yếu phát triển trên nền Hệ điều hành MS Windows Điều này cũng có những bất cập riêng là phần lớn các trường Trung học Phổ thông không có đủ kinh phí để mua bản quyền hệ điều hành MS Windows, các hệ quản trị cơ sở dữ liệu MS SQL Server và các tiện ích phát triển vận hành phần mềm của Microsoft, dẫn đến tình trạng vi phạm bản quyền khá phổ biến ngay trong ngành giáo dục-đào tạo
Nhóm cán bộ - giảng viên tại Bộ môn Ứng dụng Tin học, Khoa Toán – Tin học Trường Đại học KHTN TP HCM, dưới sự lãnh đạo của TS Hoàng Lê Minh, từ năm
1999 đã được Sở Khoa học, Công nghệ và Môi trường TP HCM hỗ trợ kinh phí để nghiên cứu, tiếp cận một số phương pháp phát triển phần mềm kiểu mới dựa trên nền các công nghệ nguồn mở như Hệ điều hành Linux, ngôn ngữ lập trình Java, ngôn ngữ đánh dấu văn bản mở rộng XML, dịch vụ Web
Trong năm 2001, nhóm nghiên cứu tại ĐHKHTN TP HCM đã thực hiện thành
công Đề tài “Công nghệ lập trình Java trên nền máy chủ Linux và phát triển một số
ứng dụng website” (đề tài đã nghiệm thu tháng 12/2001) Một số ứng dụng website chạy
trên hệ điều hành máy chủ Linux như phần mềm Quản trị Thông tin – Thư viện Điện tử
iLOC lần đầu tiên đã được triển khai thành công tại nhiều thư viện đại học, cao đẳng, viện
nghiên cứu
Từ các kết quả đạt được, đầu năm 2002, nhóm nghiên cứu tiếp tục đăng ký thực
hiện Đề tài “Nghiên cứu giải pháp công nghệ và phát triển phần mềm trợ giúp giảng
dạy trên mạng Intranet trong các trường trung học phổ thông”
Giai đoạn nghiên cứu (Giai đoạn 1) của Đề tài đã được hoàn tất vào cuối năm 2002,
được Hội đồng Sở KHCN nghiệm thu sơ bộ cho sản phẩm “Cổng thông tin mã nguồn
mở iPortal”.
Sau kết quả nghiệm thu Giai đoạn 1, sản phẩm cổng thông tin iPortal đã được nhóm nghiên cứu ứng dụng thử nghiệm tại Trung tâm Công nghệ Phần mềm ĐHQG
TP HCM (Unisoft), được cài đặt để phục vụ hệ thống Thư điện tử E-mail tại Văn phòng
Đại học Quốc gia TP HCM, tại một số địa chỉ khác trong ngành giáo dục – đào tạo Tuy
nhiên do hạn chế về hạ tầng mạng, khả năng truy cập Internet trong các trường THPT tại
TP Hồ Chí Minh (vào thời điểm năm 2003) còn quá hạn chế, nên nhóm nghiên cứu chưa
có điều kiện thử nghiệm rộng rãi để đánh giá hiệu quả cho các sản phẩm nghiên cứu của
đề tài như đăng ký trong Đề cương Đề tài
Từ giữa năm 2003, khi Việt nam bắt đầu có công nghệ truy cập Internet băng thông rộng (ADSL), giá cước truy cập Internet của các công ty trong ngành Bưu chính, Viễn thông giảm mạnh, chương trình đưa Internet vào các trường phổ thông được triển khai
Trang 5rộng, đã tạo ra những thay đổi lớn (nếu so sánh thời điểm khảo sát đánh giá hiện trạng ứng dụng CNTT trong trường phổ thông do đề tài thực hiện tháng 4/2002)
Trong các năm 2004-2005, nhiều trường THPT tại TP HCM đã xây dựng các mạng nội bộ (LAN), có kết nối với Internet, trang bị các phòng máy, các phần mềm hỗ trợ giảng dạy cho giáo viên và học sinh Đó là điều kiện cần thiết để nhóm nghiên cứu đề tài
chúng tôi có thể đưa ra thử nghiệm rộng rãi các sản phẩm của đề tài như iPortal, iLOC
dưới nhiều hình thức, cài đặt trên nhiều hệ thống mạng
Một trong các giải pháp mà nhóm đề xuất là đóng gói hoàn chỉnh sản phẩm dưới
dạng “software appliance” (còn gọi là phần mềm “nhúng”) để phổ biến, chuyển giao dễ
dàng cho đối tượng người dùng không chuyên trong môi trường giáo dục
Đến thời điểm cuối năm 2006, thông qua đơn vị chủ trì là Trung tâm ứng dụng
Công nghệ mạng Internet (Cita), nhóm nghiên cứu đã phối hợp với một số công ty phần
mềm, công ty sản xuất máy tính thương hiệu Việt nam (Compotech, VTB, GenSoft, Khai trí, V-Open ) để cài đặt sản phẩm, thương mại hoá một số kết quả nghiên cứu của đề tài,
đưa vào ứng dụng trong thực tế
Báo cáo này trình bày một cách tổng quan các kết quả nghiên cứu của đề tài, giới
thiệu một số giải pháp công nghệ liên quan đến nội dung “Xây dựng hệ thống thông tin
quản lý dựa trên phần mềm nguồn mở” trong môi trường giáo dục – đào tạo Một trong
các mục đích của Báo cáo Đề tài là phục vụ cho việc nâng cao nhận thức, kỹ năng và tạo
cơ hội ứng dụng CNTT, ứng dụng các phần mềm nguồn mở với chất lượng cao, chi phí thấp, phù hợp nhu cầu đang trở nên khá cấp thiết hiện nay, khi Việt nam đã gia nhập Tổ chức Thương mại Quốc tế WTO với các cam kết về bảo vệ quyền Sở hữu trí tuệ và bản quyền phần mềm trong các trường phổ thông, các trường cao đẳng và đại học, các trung tâm nghiên cứu, đào tạo CNTT, các tổ chức, cơ quan, doanh nghiệp
Nhóm đề tài xin trân trọng cám ơn đơn vị chủ trì đề tài, Trung tâm Ứng dụng Công nghệ mạng Internet (Cita), Khoa Toán – Tin học Trường Đại học Khoa học Tự nhiên TP HCM (nơi làm việc của phần lớn các thành viên tham gia đề tài), Trung tâm Công nghệ Phần mềm ĐHQG TP HCM, Ban Quản lý các dự án CNTT TP HCM, Sở Khoa học và Công nghệ TP HCM, Ban Quản lý Dự án Phần mềm Nguồn mở Bộ Khoa học và Công nghệ và nhiều cơ quan, đơn vị tại TP HCM trong suốt thời gian qua đã quan tâm, giúp đỡ nhóm đề tài thực hiện nghiên cứu, phát triển các ứng dụng CNTT dựa trên phần mềm nguồn mở
Quyền sở hữu trí tuệ của các giải pháp công nghệ, là kết quả nghiên cứu được trình bày trong Báo cáo đề tài này thuộc về cơ quan đặt hàng là Sở Khoa học và Công nghệ TP HCM Nhóm tác giả Báo cáo giữ quyền tác giả, trong khi tên thương hiệu của các sản phẩm phần mềm được phát triển từ các giải pháp công nghệ nguồn mở như iLOC, iPortal, iDocsManager, iMailManager, v.v thuộc về Trung tâm Ứng dụng Công nghệ mạng Internet (Cita), đơn vị chủ trì đề tài đồng thời cũng là nhà đầu tư phát triển và thương mại hoá các phần mềm dựa trên nguồn mở, trong suốt thời gian từ năm 1999 đến nay
Thành phố Hồ Chí Minh, tháng 12/2006
Nhóm nghiên cứu đề tài
Trang 6PHẦN I XÂY DỰNG CÁC HỆ THỐNG THÔNG TIN VÀ PHẦN MỀM ỨNG DỤNG TRONG MÔI TRƯỜNG GIÁO DỤC
1.1 Khảo sát thực trạng và nhu cầu ứng dụng CNTT và mạng Internet trong các trường phổ thông
Nhằm khảo sát nhu cầu, đánh giá khả năng triển khai ứng dụng của các phần mềm trợ giúp đào tạo trong các trường phổ thông, theo yêu cầu của đề tài, ngày 10 tháng 04
năm 2002, nhóm nghiên cứu đã phối hợp với Trung tâm Đào tạo Khu vực của SEAMEO
(Tổ chức Bộ trưởng giáo dục các quốc gia Đông nam Á, có trụ sở tại 35 Lê Thánh Tôn,
Quận 1, TP HCM), Trung tâm ứng dụng Công nghệ mạng Internet (Cita) và Trung tâm
Công nghệ Phần mềm ĐHQG-HCM (Unisoft) để tổ chức Hội thảo “Thực trạng và nhu
cầu sử dụng mạng Internet trong trường phổ thông trung học”
Đến tham dự Hội thảo có 40 đại biểu, đại diện cho nhiều trường trung học phổ thông lớn tại TP HCM, lãnh đạo VP II Bộ GD-ĐT, Thành hội Hội Khuyến học Việt Nam TP.HCM, đại diện của các Sở GD-ĐT tỉnh Bình Dương, Cần Thơ, An giang …
Khai mạc Hội thảo và trong báo cáo “Tham khảo mô hình ứng dụng Công nghệ
Thông tin và Truyền thông trong Giáo dục Phổ thông tại Malaysia: Trường thông minh (“Smart School”)”, Bà Nguyễn Thuý Vân, Q.Giám đốc Trung tâm SEAMEO, đã
nhấn mạnh tầm quan trọng của việc ứng dụng CNTT và mạng Internet trong cải tiến cách
dạy và học tại các trường phổ thông Theo tác giả báo cáo, Trường thông minh không chỉ
tạo nên một môi trường dạy và học theo phong cách mới, mà còn liên quan đến cả một hệ thống quản lý trường học tiên tiến, trong đó ứng dụng rộng rãi các thành tựu mới nhất của CNTT và Viễn thông – Internet Phát triển mô hình trường thông minh sẽ tạo điều kiện ban hành các chính sách khuyến khích áp dụng các quy trình công nghệ cho đối tượng phục vụ
chính là con người, với năng lực và tinh thần trách nhiệm cao Mô hình Trường thông minh cũng giúp các trường trong quá trình phát triển có thể kiểm nghiệm, đánh giá, tái cấu
trúc trong tổ chức ngày càng hiệu quả hơn
Với việc ứng dụng mô hình Trường thông minh:
• Tất cả các học sinh của trường có thể học theo năng lực và sở thích mà vẫn đảm bảo được nội dung chương trình chung;
• Học sinh có thể phát triển toàn diện các năng khiếu, kiến thức, kỹ năng;
• Giáo viên đưa các bài giảng gần gũi với học sinh hơn, đa dạng và cá biệt hoá theo nhu cầu và trình độ của từng học sinh;
• Bộ máy quản lý nhà trường nắm bắt tốt hơn các thông tin về giáo viên và học sinh
Trang 7Thạnh, Tân Bình (các trường THPT Bùi Thị Xuân, Nguyễn Thị Minh Khai, Lê Hồng Phong, Nguyễn Thượng Hiền, Marie-Curie, Hùng Vương)
Báo cáo của ông Bùi Hoàng Tiến cho thấy một số trường điểm của thành phố đã được trang bị khá đầy đủ về máy tính, cá nhân xây dựng các phòng thực hành tin học Một
số trường còn có cả phòng truy cập Internet Tuy nhiên trong lĩnh vực ứng dụng CNTT và xây dựng phần mềm trợ giúp quản lý, đào tạo thì còn rất hạn chế, trong khi nhu cầu và mong muốn của đa số lãnh đạo và thày cô giáo tại các trường là rất lớn Một số nhu cầu cơ bản được đề cập nhiều nhất là:
• Xây dựng hệ thống website của trường để tự giới thiệu, tạo mối quan hệ gắn bó hơn giữa nhà trường và phụ huynh, xã hội, tạo thuận lợi trong giao dịch, kết nghĩa, nhận các tài trợ giúp đỡ từ các tổ chức khác trong và ngoài nước
• Cho phép phụ huynh có thể truy cập các thông tin về đào tạo của nhà trường về các mặt: tổ chức giáo viên, lịch học, thực hành, thi cử và các hoạt động ngoại khoá khác Đặc biệt nhu cầu của phụ huynh đối với việc theo dõi kết qủa học tập của con em mình trên mạng là rất lớn, giúp làm cầu nối liên lạc giữa nhà trường, gia đình và xã hội
• Xây dựng nội dung thông tin đa dạng và phong phú, đặc biệt là ứng dụng thư viện điện tử, các dịch vụ Internet trên mạng sẽ góp phần thúc đẩy việc tự học của học sinh, nhu cầu cập nhật và đổi mới trình độ của giáo viên
• Trong nhà trường còn rất thiếu các phần mềm thích hợp đề làm công tác quản lý, dạy và học, đặc biệt là các phần mềm chạy trên các website
Thay mặt nhóm nghiên cứu Đề tài, TS Hoàng Lê Minh, Giám đốc Trung tâm
Công nghệ Phần mềm ĐHQG–HCM đã chia xẻ cùng các đại biểu một số kinh nghiệm trong triển khai các đề án tin học hoá, ứng dụng CNTT và phần mềm đã thực hiện trong những năm vừa qua cho ngành Giáo dục TS Minh đề xuất giải pháp hỗ trợ các trường THPT xây dựng website trên nền công nghệ cổng thông tin (Portal) với khả năng quản lý thông tin và bảo mật cao, tiến tới hình thành một hệ thống thông tin giáo dục thật sự có hiệu qủa cho phát triển ứng dụng mà trong đó các giải pháp tiên tiến về phát triển phần mềm tin học sẽ đóng vai trò quan trọng, quyết định cho sự thành công
Trong phần các báo cáo và tham luận của các đại biểu tại hội thảo, đã nêu lên nhiều vấn đề thực tế và nhu cầu cấp bách trong ứng dụng CNTT và viễn thông-Internet vào nhà trường, đón đầu sự phát triển tất yếu của nền kinh tế nước nhà theo xu hướng mở cửa, hội
nhập chung Ông Vũ Thiện Căn, tổ trưởng Tổ Giáo viên Tin học- Trường THPT chuyên
Lê Hồng Phong đã có bài phát biểu và minh hoạ các thành công bước đầu của nhà trường trong việc ứng dụng CNTT vào dạy một số môn chuyên như Toán, Tin học, Hóa, Lý, Ngoại ngữ
Qua các ý kiến đóng góp của các đại biểu tại hội thảo, có thể thấy rằng nhu cầu ứng dụng mạng Intranet/Internet để khai thác tài liệu và phần mềm của ngành giáo dục phổ thông là rất lớn Hiện tại các trường THPT và các địa phương đang cần sự trợ giúp kỹ thuật để có thể xây dựng phương án khai thác mạng nội bộ và đưa CNTT vào hoạt động một cách có hiệu quả cao với chi phí thấp, nhằm tránh tình trạng máy móc được trang bị đầy đủ, nhưng không đồng bộ nên không thể sử dụng, hoặc không sử dụng hết công suất gây lãng phí về đầu tư
Để tạo chuyển biến lớn trong việc ứng dụng CNTT và truyền thông vào trong hoạt động giáo dục phổ thông, rất cần các giải pháp hữu ích, đặc biệt các giải pháp ứng dụng
Trang 8mạng, ứng dụng phần mềm nguồn mở, nhằm giúp Ban Giám hiệu các trường và cơ quan quản lý ngành tiếp cận các thông tin mới, tránh bệnh hình thức, lãng phí trong quá khứ.
1.2 Nhu cầu và giải pháp xây dựng các hệ thống thông tin quản lý
Xây dựng và quản lý một Hệ thống Thông tin (HTTT) ở quy mô toàn cục (còn gọi
là hệ thống thông tin quy mô doanh nghiệp) bao giờ cũng là một vấn đề rất quan trọng và cốt lõi trong bất cứ kế hoạch ứng dụng CNTT, ngắn hạn hay dài hạn, của mọi cơ quan, tổ chức doanh nghiệp hoạt động trong bất cứ lĩnh vực nào (quản lý, sản xuất kinh doanh, giáo dục, văn hoá, y tế, )
Xuất phát từ mục tiêu xây dựng HTTT là để nhằm tăng cường lượng thông tin được
khởi tạo, lưu trữ, trao đổi và khai thác trên mạng máy tính, việc lựa chọn một giải pháp
nền để xây dựng HTTT trở thành vấn đề quan trọng hàng đầu, cần được ưu xem xét giải
quyết trước để tránh các bất cập và lãng phí về sau
Thực tế hiện nay, phần lớn các hạng mục xây dựng HTTT quản lý đang được triển khai rộng rãi trong các trường, các tỉnh thành và địa phương đều bao gồm:
1 Hệ thống thống thông tin website, phục vụ cho đông đảo người dùng
Thông tin website dùng cho đối tượng người dùng ở bên trong và bên ngoài tổ chức
mô tả cơ cấu, chức năng, nhiệm vụ, thông báo về các hoạt động thường xuyên, tạo mối liên kết đến các website và thông tin cơ sở dữ liệu khác nhau Nền tảng để duy trì hoạt động của mỗi website là hệ thống quản trị nội dung (CMS) Nhưng hạn chế của phần lớn các phần mềm CMS cho website lại chính là khả năng kết nối thông tin tới các cơ sở dữ liệu động và các ứng dụng trên web
2 Hệ thống thông tin điều hành tác nghiệp, phục vụ lãnh đạo, quản lý.
Người lãnh đạo của cơ quan, đơn vị quản lý hành chính như tỉnh, thành phố hoặc ban giám hiệu các trường đại học, cao đẳng, phổ thông đều có nhu cầu phải theo dõi các thông tin diễn ra hàng ngày, trong nội bộ và của các cơ quan cấp trên, cấp dưới đề phục
vụ công tác điều hành, ra quyết định, chỉ đạo các bộ phận trực thuộc, kịp thời, trong môi trường mạng thông tin hợp nhất Điển hình cho các dứng dụng loại này là các ứng dụng quản lý văn bản, hồ sơ, công việc, lập lịch, trao đổi thông tin qua e-mail, nhóm làm việc cộng tác, v.v
3 Hệ thống các phần mềm ứng dụng, quản lý, cho phép truy cập tới các kho dữ liệu
và cơ sở dữ liệu, thực hiện việc trao đổi, tích hợp thông tin với nhiều hệ thống khác
Đó là các phần mềm chuyên dụng, mang tính đặc thù cao cho mỗi hệ thống thông tin, như phần mềm quản lý chương trình đào tạo, quản lý điểm, quản lý thư viện, cung cấp giao tiếp quan mạng để đăng ký dịch vụ từ xa, hỗ trợ thương mại điện tử, v.v Vấn đề quan trọng là làm sao cho các phần mềm này có thể “trao đổi thông tin” và “tích hợp dữ liệu” được với nhau, trong một khuôn khổ chung và thống nhất của mỗi tổ chức.
Tất cả các thành phần nêu trên sẽ tạo ra một Hệ thống thông tin quản lý Tuy
nhiên, nếu đi sâu phân tích các kết quả đạt được trong lĩnh vực này tại nước ta nói chung,
và trong lĩnh vực giáo dục, đào tạo nói riêng thì kết quả còn rất khiêm tốn Thực tế là nhiều cơ quan quản lý, các bộ ngành, địa phương, các trường, viện, v.v còn đang rất lúng túng trong lựa chọn giải pháp, lựa chọn sản phẩm cũng như hình thức và lộ trình triển khai
xây dựng HTTT Đã nhiều nơi, nhiều lúc các nhà quản lý đề cập tới đến vấn đề phải dùng
chung các phần mềm, dùng chung các cơ sở dữ liệu, thống nhất các chuẩn trao đổi thông
Trang 9tin và dữ liệu trên mạng diện rộng nhưng “lực vẫn bất tòng tâm”, do khúc mắc ở khâu chia sẻ dùng chung các thông tin và cơ sở dữ liệu Thực tế các đơn vị dù triển khai phần mềm dùng chung, thẩm chí miễn phí cho không nhưng vẫn không xây dựng được hệ thống thông tin quản lý.
Trong quá trình khảo sát thực trạng để tìm kiếm giải pháp cho vấn đề trên, chúng tôi chưa tìm được câu trả lời tổng quát Tuy nhiên, với định hướng phát triển các phần mềm nguồn mở, tuân thủ các chuẩn mở, đặc biệt trong môi trường giáo dục – đào tạo, sẽ sớm mở ra khả năng lôi kéo sự tham gia của số đông các công ty phần mềm và dịch vụ tin học, mở ra mô hình kinh doanh dịch vụ dựa trên phần mềm nguồn mở, dựa trên các chuẩn
mở thay thế cho các phần mềm thương mại Việc làm này sẽ góp phần giải quyết bài toán xây dựng HTTT với chất lượng cao hơn, chi phí thấp hơn hiện nay ! Với niềm tin như vậy, nhóm đề tài hy vọng sẽ mang những đóng góp thiết thực của mình tới cộng đồng CNTT nói chung và ngành giáo dục đào tạo nói riêng, bằng kết quả nghiên cứu của mình
1.3 Một số vấn đề trong quản lý và trao đổi thông tin trên mạng
Thông tin và tri thức
Trong thế giới hiện đại, mọi hoạt động của con người đều cần đến thông tin:
Thông tin về giá cả, thị trường, khách hàng và đối tác cho các hoạt động sản xuất kinh
tế, kinh doanh thương mại.
Thông tin về các chính sách, pháp luật, thuế, tiền tệ, dân số, lao động, đất đai, môi trường cho hoạt động quản lý kinh tế và quản lý nhà nước.
Thông tin về văn hoá, khoa học và giáo dục tập trung chủ yếu ở hoạt động Thông tin - Thư viện.
Để có được các thông tin cần thiết, phải hình thành các kho dữ liệu, thu thập và tổ chức thông tin trong các cơ sở dữ liệu và tạo điều kiện cho người sử dụng truy tìm những thông tin cần thiết theo nhu cầu riêng của mình
Phần lớn trong chúng ta đều nhận thức được rằng để có thể hình thành được những nguồn thông tin có giá trị và khai thác hiệu quả chúng, cần phải thiết lập những kho dữ liệu thông tin mà hạt nhân của chúng là các hệ quản trị cơ sở dữ liệu Tuy nhiên đây mới chỉ là một công đoạn đầu tiên trong cả quá trình
Để biến thông tin thành tri thức, chúng phải được chuyển tải tới người sử dụng theo các yêu cầu về tìm kiếm dữ liệu và dựa vào một giao tiếp với CSDL Đồng thời dữ liệu trong các kho dữ liệu phải được bổ xung, cập nhật, trao đổi, phân phối và di chuyển tương đối dễ dàng để có thể trở thành những hệ thống thông tin phong phú, rộng rãi, đáp ứng các nhu cầu khác nhau của người sử dụng
Trong thời đại của cuộc cách mạng thông tin, những người sử dụng Thông tin – Thư viện cần có một hệ thống liên kết Thư viện hoạt động trên nền tảng các Thư viện Điện tử trong đó mọi thông tin chủ yếu đều được số hoá để có thể dễ dàng trao đổi trên mạng máy tính Internet
Mạng Internet và truy cập thông tin
Chúng ta thử điểm qua một số công nghệ chủ yếu ngày nay giúp cho việc hình thành các kho dữ liệu và phân phối các thông tin trên mạng máy tính Internet
Trang 10Công nghệ World-Wide Web ra đời vào những năm 90 của thế kỷ XX đã cho phép phân phối các dữ liệu phi cấu trúc, bao gồm các thông tin dạng văn bản, hình ảnh, âm thanh Để tìm kiếm và truy cập được các thông tin hữu ích trên mạng, các thông tin này thường được đặt tại các vị trí web (website), người sử dụng phải vào được các địa chỉ chứa chúng Để thực hiện việc tìm kiếm, chúng ta có thể sử dụng các máy tìm kiếm trên mạng (seach engine) là nơi đã tìm và lưu trữ trước các địa chỉ web Các thông tin thường được sắp xếp theo chủ đề (subject) hoặc theo một từ khoá (keyword) nào đó.
Mạng Internet ra đời và phát triển chứng tỏ tính ưu việt trong khai thác thông tin Ngày nay Internet đã trở thành một kho dữ liệu thông tin khổng lồ, chứa đựng kiến thức
mà nền văn minh nhân loại đã tích lũy hàng trăm năm, và lượng thông tin trên mạng Internet cũng không ngừng được bổ xung hàng phút, hàng giờ
Theo số liệu của máy tìm kiếm thông tin Google, đến thời điểm tháng 12/2006 đã
có 6 tỷ trang web chứa đựng thông tin hữu ích Riêng trên mạng Internet Việt nam ước tính tại thời điểm hiện nay (12/2006) đã có cả hàng chục triệu trang thông tin tiếng Việt.
Tuy nhiên vì tính chất quá rộng lớn của kho tài nguyên thông tin Internet nên người
ta phải xây dựng các website có chức năng các cổng thông tin (Information Portal) để tập hợp các thông tin chuyên sâu về từng lĩnh vực hẹp hơn, như thương mại, thị trường chứng khoán, thông tin du lịch, giải trí, văn hoá, khoa học, giáo dục, v.v…
Xu thế chung trong lĩnh vực khai thác thông tin Internet là mỗi quốc gia, mỗi bộ ngành, địa phương và từng đơn vị phải thiết lập các website hay portal để cung cấp thông tin phục vụ cho nhu cầu khai thác thông tin của chính mình
Nền tảng công nghệ chủ yếu giúp chuyển giao thông tin trên mạng Internet tới người sử dụng là các hệ thống máy chủ web (webserver), nơi thông tin được lưu trữ, và trình duyệt web (web browser), nơi người dùng có thể để truy cập và xem các thông tin dưới dạng văn bản, đồ hoạ, thưởng thức các thông tin đa phương tiện Ngôn ngữ trình bày trang siêu văn bản HTML (Hyper Text Markup Language) cho phép chuyển tải thông tin tới người dùng với khả năng trình bày rất phong phú và đa dạng Các nguồn thông tin có thể được trích ra từ các cơ sở dữ liệu, theo yêu cầu của người sử dụng và tạo nên những trang Web sinh động và hấp dẫn
Trong lĩnh vực Thông tin – Thư viện, đã hình thành những địa chỉ trên mạng Internet mà tại đó người sử dụng có thể thực hiện những tìm kiếm thông tin có cấu trúc, được lưu trữ trong các cơ sở dữ liệu bằng giao tiếp thông qua trình duyệt Web của mình Các hệ thống này sử dụng công nghệ kết nối cơ sở dữ liệu với giao diện dựa trên web: Web-based Database Interface Đây là một công nghệ mới và đang phát triển rất nhanh chóng, với ứng dụng ngày càng mở rộng và phong phú không chỉ cho lĩnh vực CSDL mà còn cho hầu như tất cả các ứng dụng khác cần đến giao tiếp tiện lợi, từ xa với người sử dụng, như mua bán trên mạng trong thương mại điện tử
Nội dung chủ yếu của công nghệ giao tiếp web là thay vì sử dụng các phần mềm giao tiếp có sẵn của các hệ quản trị cơ sở dữ liệu như Oracle, MS Access, MS SQL Server (phần lớn được lập trình theo mô hình khách/phục vụ), người ta viết thêm các thành phần giao tiếp CSDL và tích hợp với hoạt động của máy chủ web theo các chuẩn giao tiếp CGI (Common Gataway Interface), API (Application Programming Interface) hoặc trên nền tảng công nghệ Java (Servlet/JSP/EJB)
Trang 11Chúng ta giao tiếp với cơ sở dữ liệu chỉ cần thông qua một trang web thông thường, những bên dưới nó là cả một nền tảng công nghệ hết sức phức tạp và tinh tế, giúp kết nối
và chuyển giao dữ liệu từ website là nơi đặt cơ sở dữ liệu đến người sử dụng thông qua mạng Internet Với công nghệ dựa trên web này, dữ liệu trong các cơ sở dữ liệu đã có thể đến với người sử dụng cũng tiện lợi như các thông tin văn bản, hình ảnh, âm thanh mà chúng ta vẫn tải về từ các website
Những hạn chế của trao đổi dữ liệu truyền thống trên mạng Internet
Nếu như vấn đề chuyển giao dữ liệu từ các kho dữ liệu đến người sử dụng thông qua mạng Internet đã có thể giải quyết tương đối tốt đẹp bằng công nghệ Web, sử dụng giao tiếp web và ngôn ngữ trình bày siêu văn bản HTML, thì vấn đề trao đổi dữ liệu giữa các hệ thống thông tin, các kho dữ liệu lại là vấn đề khá nan giải
Mặc dù ngày nay chúng ta đã có mạng Internet như một phương tiện chuyển tải thông tin rất nhanh chóng, nhưng mạng Internet với kiến trúc đặc thù riêng lại không giống như những mạng máy tính cục bộ, nơi mà các dữ liệu có thể trao đổi dễ dàng bằng những phương pháp truyền thống và đơn giản như sao chép (copy), nhân bản (replication), hoặc xuất nhập trực tiếp với sự trợ giúp của các phần mềm chuyên dụng Việc triển khai một ứng dụng liên quan đến cơ sở dữ liệu trên mạng Internet hoàn toàn không giống như trên mô hình mạng cục bộ, thậm chí nhiều phần mềm hoạt động tốt trên mạng cục bộ lại không thể chạy trên mạng Internet
Điển hình là những hệ thống thông tin do các bộ - ngành và các địa phương xây dựng nhiều năm qua, phần lớn dựa trên mô hình mạng cục bộ với những phần mềm CSDL chuyên dụng đắt tiền nhưng lại không thích hợp để trao đổi, chuyển giao và nhân bản một cách tự động qua mạng diện rộng và mạng Internet Do đó mỗi khi cần trao đổi dữ liệu, người ta phải truy cập từ xa bằng điện thoại đường dài, hoặc bằng các mạng thuê bao dùng riêng rất tốn kém (Nhiều hệ thống Thông tin Tư liệu Quốc gia đặt tại Hà nội khi muốn truy cập phải sử dụng điện thoại liên tỉnh để kết nối) Ở đây chưa bàn đến vấn đề bảo mật thông tin khi cần trao đổi qua mạng, mà mới thử tìm hiểu lý do kỹ thuật nào cản trở khả năng trao đổi dữ liệu, qua đó xem xét các giải pháp khắc phục tối ưu nhất
Mạng Internet bản thân nó có một kiến trúc tương đối phức tạp, với nhiều hệ thống mạng máy tính khác nhau kết nối với nhau thông qua nhiều phương thức và nhiều thiết bị nối mạng Trên mạng lại tồn tại rất nhiều cửa ngõ kiểm soát, ngăn chặn thông tin bằng cơ chế khoá cổng dịch vụ (service ports) của các bức tường lửa (firewall), hoặc đơn thuần bằng các dịch vụ ủy quyền (proxy service) chỉ có khả năng kết nối theo một chiều Thí dụ khi chúng ta kết nối qua điện thoại hay một mạng dùng riêng để truy cập ra Internet, phần lớn chúng ta chỉ được cấp những địa chỉ IP giả (private IP) do đó không thể vận hành cơ chế trao đổi thông tin trên mạng Internet bằng những phần mềm khách/dịch vụ (client/server) đòi hỏi phải tạo được những kết nối riêng theo cơ chế ổ cắm (socket) Trong trường hợp trao đổi tư liệu Thông tin - Thư viện, phương pháp liên kết thư viện theo chuẩn quốc tế Z39.50 hoàn toàn không thích hợp và không chạy được trên mạng Internet Việt nam, là nơi số lượng địa chỉ IP thực được cấp rất hạn hẹp, với hầu hết các mạng dùng riêng kết nối Internet thông qua dịch vụ ủy quyền và các bức tường lửa Muốn trao đổi thông tin thông suốt, bắt buộc chúng ta phải tự giới hạn trong môi trường của các dịch vụ Internet phổ biến như World-Wide Web, Internet E-mail, FTP (File Transfer Protocol)
Nghi thức truyền tập tin FTP và E-mail là hai dịch vụ ra đời khá sớm trên mạng Internet, giúp con người trao đổi các thông tin riêng tư rất hiệu quả nhờ vào cơ chế hoạt
Trang 12động đơn giản Tuy nhiên ứng dụng của chúng trong trao đổi thông tin giữa các cơ sở dữ liệu còn rất hạn chế vì đòi hỏi sự can thiệp của con người Bản thân dữ liệu thông thường
tự nó không chứa đựng những thông tin cần thiết để có thể tự động nhập vào các kho thông tin và các cơ sở dữ liệu khi được chuyển giao bằng FTP hay E-mail !
Dịch vụ WWW có rất nhiều hứa hẹn nhưng bản thân ngôn ngữ chuyển tải thông tin HTML lại không thích hợp để trao đổi dữ liệu Chúng ta không thể tổ chức một cơ sở dữ liệu tại chỗ chỉ bằng cách tải xuống các trang web chứa thông tin đã được định dạng bằng ngôn ngữ HTML, dù cho các thông tin này có cấu trúc, thậm chí được lấy ra từ một cơ sở
dữ liệu nào đó Để tiếp nhận thông tin và đưa vào cơ sở dữ liệu thông qua mạng Internet, nghĩa là lấy thông tin từ xa, dường như chỉ có cách nhập dữ liệu qua các trang web chứa các form nhập liệu, hoặc bằng cách chuyển tải dữ liệu từ xa về và … tự nhập lấy!
Với cách thức trao đổi dữ liệu như hiện nay, nhất là từ các dữ liệu của các kho tư liệu Thông tin-Thư viện thì dù có dùng đến mạng Internet để chuyển tải thông tin, bắt buộc các nhà quản trị Thông tin - Thư viện phải tham gia vào nhiều công đoạn từ chuẩn bị
dữ liệu, chuẩn hoá các phần mềm nhập liệu và các hệ quản trị cơ sở dữ liệu cũng như bản thân quá trình nhập dữ liệu Các lý do nêu trên đã cản trở rất nhiều quá trình trao đổi thông tin và ứng dụng CNTT trong hoạt động Thư viện, đôi khi làm tiêu tốn cả bạc tỷ mà vẫn không giải quyết được vấn đề quan trọng nhất là thông tin phải dễ dàng trao đổi giữa các
hệ thống và nhanh chóng đến được với người cần sử dụng chúng
Ngôn ngữ đánh dấu mở rộng XML và trao đổi dữ liệu trên mạng
Giải pháp thích hợp cho vấn đề trao đổi dữ liệu tự động giữa các kho thông tin và các cơ sở dữ liệu trên mạng Internet là áp dụng ngôn ngữ đánh dấu mở rộng XML (eXtensible Markup Language) Đây là vấn đề thời sự nóng bỏng nhất hiện nay của CNTT trên thế giới nhưng dường như vẫn chưa được các nhà hoạch định chính sách CNTT chúng ta quan tâm đến, để nhanh chóng áp dụng vào thực tế Trong khi đó vấn đề xây dựng các kho dữ liệu thông tin quốc gia và các ngành đang được triển khai với nhiều nguồn kinh phí không nhỏ (Riêng tại Tp HCM, kinh phí để tổ chức và xây dựng các kho thông tin dữ liệu phục vụ quản lý xã hội và quản lý kinh tế lên đến hàng chục, hàng trăm
tỷ đồng)
Bản thân ngôn ngữ XML có nguồn gốc từ ngôn ngữ định dạng siêu văn bản HTML, cả hai ngôn ngữ này đều bắt nguồn từ chuẩn ngôn ngữ định dạng văn bản tổng quát có cấu trúc SGML (Structured General Markup Language) Một văn bản XML hình thành từ các thẻ (tag) với tên gọi phần tử (element) Nhưng khác với ngôn ngữ HTML, số lượng và tên gọi các phần tử trong XML là không hạn chế
Đối với các thông tin đã có cấu trúc, như thông tin trong các cơ sở dữ liệu, việc mô
tả chúng bằng văn bản XML là rất dễ dàng và chính xác Ví dụ thông tin về danh sách nhân viên trong bảng lương sau đây:
Bảng lương nhân viên Công ty Lương thực Thành Phố
chính Phụ cấp
Trang 13Tài liệu XML tương ứng cho các dữ liệu trong bảng trên như sau :
<NAME>Trần Thị Thanh Thuý</NAME>
<POSITION>Trợ lý giám đốc</POSITION>
<SALARY>1500000</SALARY>
<PERCENT>0,3</PERCENT>
</EMPLOYEE>
<EMPLOYEE ID=”3”>
<NAME>Phạm Văn Bảy<NAME>
<POSITION>Trưởng phòng tài vụ</POSITION>
Well-Formed: văn bản XML là well-formed khi nó được viết theo cú pháp phù
hợp với đặc tả XML của tổ chức W3C Các phần tử hình thành một cây phân cấp có chung một phần tử gốc (root element) Các phần tử có thể chứa một hay nhiều phần tử con xếp lồng vào nhau Trong thí dụ trên các phần tử NAME, POSITION, SALARY, PERCENT là con của phần tử EMPLOYEE Tất cả đều có chung một gốc là SALARYTABLE Tuy nhiên phần tử TABLENAME không cùng cấp với phần tử NAME theo mối quan hệ cha con
Well-Validated: văn bản XML được gọi là well-validated thì trước hết nó phải là
văn bản well-formed và phải phù hợp với tất cả các định nghĩa trong một đặc tả chung cho các văn bản có cùng cấu trúc, gọi là DTD (Document Type Definition) Các định nghĩa này cũng tương tự như định nghĩa dữ liệu trong các bảng của cơ sở dữ liệu về kiểu biến (data type), độ dài dữ liệu (size), và các mối quan hệ khác (key, not null …) Nói cách khác, văn bản XML được coi là valided nếu nó không chứa bất kỳ phần tử nào mà không được định nghĩa trước trong DTD và thứ tự xuất hiện, số lần xuất hiện của một phần tử phải phù hợp với các đặc tả của DTD
Để có thể trao đổi thông tin có cấu trúc, hai cơ sở dữ liệu phải thống nhất dùng chung một đặc tả DTD cho các văn bản XML Tuy nhiên với các văn bản phi cấu trúc thì không nhất thiết phải tuân thủ hoàn toàn chuẩn về tính Valided của một tài liệu XML, mà chỉ cần một phần trong chúng chứa những thông tin hữu ích giúp cho việc mô tả tính chất
và nội dung của bản thân tài liệu Các thông tin mô tả này còn gọi là Meta-Data (Dữ liệu
mô tả về các dữ liệu)
Trang 14Các văn bản XML với một số thông tin mô tả kèm theo cũng dưới dạng văn bản XML có thể dễ dàng chuyển giao trên mạng Internet, tương tự như các tập tin HTML Nhưng chúng không trực tiếp dành cho con người mà dành cho các hệ thống tự động xử lý thông tin để nhập vào các cơ sở dữ liệu Quá trình xử lý các văn bản XML và các phần mềm dùng để xử lý chúng còn gọi là các bộ XML Parser Các phần mềm này cũng có vai trò tương tự như các trình duyệt thông tin Web, chỉ có khác là các bộ XML Parser này dành cho các phần mềm và chương trình máy tính để thực hiện quá trình tự động xử lý
và nhập/xuất dữ liệu thay cho con người Tuy ý tưởng về một ngôn ngữ văn bản giúp tự động hoá quá trình nhập/xuất/trao đổi dữ liệu giữa các kho dữ liệu như ngôn ngữ XML là hết sức đơn giản, nhưng hiệu quả mà nó đem lại rất to lớn, giúp chúng ta có thể giải quyết những vấn đề còn vướng mắc trong quá trình trao đổi thông tin CSDL trên mạng Internet
XML như ngôn ngữ đánh dấu văn bản đã được thiết kế để mô tả dữ liệu Các thẻ được sử dụng trong XML không được định nghĩa sẵn như trong HTML mà lập trình viên phải tự định nghĩa các thẻ này HTML được thiết kế để hiển thị dữ liệu và tập trung vào cách hiển thị dữ liệu như thế nào Trong khi đó XML là ngôn ngữ chỉ được dùng để mô tả
dữ liệu và tập trung vào ý nghĩa của dữ liệu Ngôn ngữ này không xử lý được dữ liệu do
đó phải cần đến các công cụ để xử lý dữ liệu như các trình phân tích và xử lý tài liệu XML (SAX, DOM), các ngôn ngữ định dạng dữ liệu (XSL), các giao diện lập trình ứng dụng hỗ trợ cho việc truy xuất các thành phần trong tài liệu XML XML có thể được dùng để trao đổi thông tin trên mạng thông qua các phương tiện trao đổi khác nhau giữa các chương trình ứng dụng Trong tương lai XML sẽ được dùng để tổ chức và mô tả các dữ liệu trên Web trong khi HTML sẽ chỉ được dùng để định dạng và hiển thị dữ liệu, bên cạnh các nghi thức kha như WML, SVG, MathML, VRML,
XML là công cụ để tạo nên dữ liệu có cấu trúc trong tập tin dạng văn bản
Có thể sử dụng XML để tạo, hiển thị và xử lý trên các cấu trúc dữ liệu phức tạp như cấu trúc cây, cấu trúc bảng
XML được mô tả rõ ràng và có cấu trúc hệ thống rất thuận lợi trong công việc tìm kiếm thông tin dựa trên các thẻ trong tài liệu XML
Cho phép kết nối nhiều tài liệu XML, tạo thành một tài liệu XML mới
XML được sử dụng để tạo nên cấu trúc và mô tả dữ liệu, thích hợp cho các ứng dụng
có nhiều người dùng sử dụng chung dữ liệu
Tài liệu XML có thể trao đổi trên mạng thông qua các phương tiện khác nhau giữa các chương trình ứng dụng
Xử lý được tất cả các ký tự dấu ở các ngôn ngữ khác nhau do XML mã hóa theo chuẩn ISO-10646 (Unicode)
XSL - Ngôn ngữ định dạng mở rộng
XSL là ngôn ngữ dựa trên XML, được thiết kế để chuyển đổi một tài liệu XML
thành một tài liệu XML khác hoặc chuyển đổi một tài liệu XML thành các đối tượng thể hiện (rendition object) Ngôn ngữ XSL gốc được chia thành ba ngôn ngữ riêng lẻ, ngôn ngữ chuyển đổi (XSLT), Ngôn ngữ thể hiện (XSLF - gồm cách sử dụng của XSLT), ngôn ngữ truy cập cấu trúc bên dưới của XML (Xpath)
Trang 15PHẦN II XU HƯỚNG PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG TRÊN MẠNG MÁY TÍNH
2.1 Lựa chọn giải pháp công nghệ nền
Ngành Công nghệ phần mềm trong khoảng thời gian 10 năm (1995-2005) đã có những bước tiến bộ vượt bậc, đặc biệt từ sau khi xuất hiện máy vi tính cá nhân, mạng máy tính Internet và sự tiến bộ không ngừng của kỹ thuật phần cứng làm giảm giá thành, tăng hiệu năng tính toán và cơ hội ứng dụng phần mềm trên mạng
Những năm 1990, tại Việt nam bắt đầu xuất hiện các phần mềm tin học đầu tiên được viết bằng ngôn ngữ Basic, Pascal, những hệ quản trị cơ sở dữ liệu trên nền ngôn ngữ FoxPro Đặc trưng của giai đoạn này là các phần mềm được phát triển giữa trên nền giao
diện DOS (DOS-based), có thể sử dụng mạng vi tính ở mức độ chia sẻ tập tin, với khả
năng bảo mật còn non yếu Sau đó, với sự ra đời của hệ điều hành đồ hoạ MS Windows, rất nhiều ứng dụng được chuyển qua nền giao diện đồ hoạ tiện lợi, phong phú Các phần
mềm phát triển trên môi trường MS Windows (windows-based) được hỗ trợ bởi các công
cụ lập trình, các thư viện tiện ích phong phú và nhất là do tình trạng bản quyền lỏng lẻo, sao chép lậu phần mềm ngày càng dễ dàng nên đã góp phần tạo ra một trào lưu phát triển ứng dụng trên Windows khá sâu rộng trong giới CNTT nưôc nhà Chỉ mới gần đây, khi mạng Internet ngày càng xâm nhập rộng rãi, các giải pháp phần mềm trên nền website
(web-based) mới được chú trọng và ngày càng tỏ rõ vai trò chủ đạo cho các ứng dụng Tin
học hoá quy mô lớn, xoá đi sự khác biệt giữa các phần mềm trên nền Windows và không phải Windows (như UNIX/Linux)
Tuy nhiên, theo nhận định của nhóm nghiên cứu chúng tôi, xu hướng phát triển
phần mềm dựa trên nền tảng các cổng thông tin (portal-based) mới là xu hướng chủ đạo
cho các ứng dụng đã và đang được triển khai mới hiện nay của thế giới Đây thực sự là một thách thức đối với nền công nghệ phần mềm non trẻ của Việt nam còn chưa kịp tiếp cận các nền tảng và công nghệ website
Căn cứ vào những nghiên cứu trên, kết hợp với nhu cầu thực tế, nhóm nghiên cứu
chúng tôi đã quyết định dầu tư nghiên cứu khả năng áp dụng phần mềm cổng thông tin và phát triển phần mềm cho cổng thông tin Mục tiêu của nghiên cứu này để giúp đánh giá
giải pháp công nghệ trước khi quyết định đầu tư phát triển ở quy mô lớn Đây là phương pháp tiếp cận khoa học và thực tiễn một vấn đề mới, theo cách gọi của các nhà công nghệ
là sự chứng minh quan điểm Cho đến hiện tại, các kết quả mà chúng tôi đã đạt được đều
dựa trên phương pháp tư duy này Thực sự đây là giải pháp rất hiệu quả để phát triển sản phẩm CNTT, tránh các quyết định đầu tư có thể dẫn đến lãng phí thời gian và nhân lực
Cổng thông tin không phải là một phát kiến mới, mà là kết qủa tất yếu của sự phát triển trong lĩnh vực công nghệ phần mềm trên mạng, khi nhu cầu tích hợp thông tin và ứng dụng trở nên rõ ràng Chúng ta hãy hình dung một tổ chức, cơ quan khi tin học hoá phải phát triển và khai thác hàng chục ứng dụng CNTT, hàng trăm phần mềm các loại, mà mỗi phần mềm đều đòi hỏi các cơ chế truy xuất dữ liệu, cơ chế bảo mật riêng Khi đó, ngay việc ghi nhớ các mật khẩu để đăng nhập quản trị và bảo trì phần mềm đã là cơn ác mộng cho các chuyên gia CNTT, chưa nói đến người sử dụng thông thường ! Điều này cũng giống như khi còn đói thông tin, chúng ta sẵn sàng ngồi tra cứu trên Internet để xem tất cả các tài liệu nào có thể tiếp cận được, nhưng khi đã có một rừng các thông tin thì việc tập hợp chúng lại trong một website, trong cơ sở dữ liệu và dùng các công cụ, các máy tìm
Trang 16Trong thời gian tiến hành đề tài nghiên cứu tại Trung tâm Công nghệ Phần mềm ĐHQG-HCM, chúng tôi đã tổ chức ba đợt tập huấn giới thiệu công nghệ cổng thông tin và phát triển phần mềm, cho đối tượng là sinh viên hệ chính quy các Khoa CNTT, Khoa Toán-Tin học, các lập trình viên của một số công ty phát triển phần mềm tại TP.HCM Kết quả đào tạo tuy mới ở bước khởi đầu, nhưng theo đánh giá của nhóm đề tài là rất khả quan Các lập trình viên Việt nam hoàn toàn có khả năng nắm bắt công nghệ mới rất nhanh chóng, và có thể ứng dụng chúng để phát triển ra các sản phẩm phần mềm (trong nền tảng cổng thông tin) với chất lượng cao, không thua kém sản phẩm của các công ty chuyên phần mềm nước ngoài.
Trong các chuyến công tác tại Nhật bản và Hoa kỳ, chủ nhiệm đề tài, TS Hoàng Lê Minh đã có cơ hội tiếp xúc với một số chuyên gia nước ngoài phát triển phần mềm để trao
đổi về sản phẩm phần mềm cổng thông tin iPortal được phát triển dựa trên khung phần mềm cổng thông tin mã nguồn mở uPortal do hơn 20 trường Đại học tại Hoa kỳ và Châu
Âu, nhận tài trợ của Quỹ Andrew Melon, phát triển Kết quả ban đầu là đáng khích lệ Tổ chức Jasig (Java in Administration Special Interest Group, một tổ chức của các giới thiệu
website ĐHQG-HCM với phần mềm cổng thông tin Việt hoá iPortal do nhóm nghiên cứu
thực hiện tại Trung tâm CNPM ĐHQG (UniSoft), minh chứng cho sự lựa chọn công nghệ nền để phát triển ứng dụng mạng Intranet/Internet của nhóm nghiên cứu từ năm 2002
2.2 Giải pháp phát triển phần mềm dựa trên kiến trúc đa tầng J2EE
Ðể thoả mãn các yêu cầu xây dựng những ứng dụng lớn quy mô xí nghiệp, Công ty Sun Microsystems đã đưa ra mô hình phát triển ứng dụng dựa trên nền tảng công nghệ Java cho xí nghiệp J2EE (Java2 Enterprise Edition) Ðây là một xu hướng quan trọng, thu hút sự quan tâm của rất nhiều các công ty phần mềm trong và ngoài nước Sun Microsystems là công ty đầu tiên khởi xướng môi trường phát triển ứng dụng phần mềm bằng công nghệ Java vào năm 1995 Nhưng khác với MicroSoft, Oracle, IBM với nhiều công nghệ sở hưu riêng và có nhiều thành công trên thị trường, Sun lại đề nghị một mô hình hoàn toàn mở, với ý tưởng xuất phát từ mô hình phát triển khá thành công của hệ điều hành UNIX (Sun Microsystems cũng là một nhà phát triển nổi tiếng với các phiên bản SunOS và Sun Solaris) và phần mềm nguồn mở OpenOffice (Sun Microsystems cũng có sản phẩm thương mại tương đương là StarOffice) Các ứng dụng J2EE theo định nghĩa là
các ứng dụng đa tầng (multi-tier) Có thể chia ứng dụng J2EE thành các tầng như sau:
Client Tier (Internet/Intranet Client hay còn gọi là tầng khách) bao gồm trình duyệt
web của người sử dụng (có thể nằm trong hay ngoài firewall của mạng, có thể là các máy dịch vụ ủy quyền proxy server)
Trang 17 Web Tier (Internet/Intranet Webserver hay còn gọi là tầng Web) bao gồm các máy chủ
chứa nội dung Web của xí nghiệp, có thể là công cộng nằm ở vùng DMZ, hay dùng riêng trong mạng cục bộ
JSP/Servlet/EJB Tier (Java Application Server hay còn gọi là tầng business) bao gồm
các máy chủ ứng dụng chứa các thành phần business logic xử lý ứng dụng bằng công nghệ Java (JSP, Servlet/EJB)
EIS Tier (Database Server hay còn gọi là tầng EIS) bao gồm các máy chủ CSDL, kho
dữ liệu và ứng dụng khác
Trang 18Mô hình ứng dụng nhiều tầng cho phép gứi các yêu cầu xử lý công việc và ứng
dụng từ máy trạm (Client) thông qua máy chủ web (Web Server) đến một tầng xử lý trung gian là máy chủ ứng dụng (Application Server) chạy trong môi trường Java
(JSP/Servlet/EJB) Trong hệ thống đa tầng, nhiều người sử dụng có thể chia sẻ các tài
nguyên dùng chung ở mức xí nghiệp (Enterprise Information System) như các cơ sở dữ liệu (Database Server) và các ứng dụng truyền thống khác (Legacy Applications) Kiến
trúc này có những lợi ích đáng kể so với kiến trúc client/server hai tầng và do đó cho phép các ứng dụng chạy nhanh hơn, có khả khả năng mở rộng và liên tác cao hơn Ích lợi của kiến trúc đa tầng có thể liệt kê như sau:
1 Độ tin cậy và tính linh hoạt trong mở rộng khả năng phục vụ giúp cho các giao dịch (business transactions) được thực hiện nhanh chóng và chính xác Máy chủ
ứng dụng hỗ trợ chia xẻ ứng dụng và cung cấp khả năng mở rộng tối đa Mỗi máy chủ ứng dụng với hệ thống nhiều CPU hoặc cluster máy chủ ứng dụng có thể hỗ trợ một số lượng lớn các giao dịch/người sử dụng, không phụ thuộc vào nền phần cứng, hệ điều hành và cấu hình hệ thống Máy chủ ứng dụng được thiết kế trong môi trường phân tán gồm các truy xuất dữ liệu tốc độ cao, các giao tác với khối lượng lớn và khả năng mở rộng ứng dụng Nhờ phân hoạch ứng dụng, máy chủ ứng dụng cung cấp giải pháp có thể mở rộng cho một số lượng lớn người dùng và giao tác Khả năng mở rộng đạt được trong một hệ thống (máy chủ) nhờ thêm vào các CPU hay các hệ thống chạy trên mạng Kiến trúc module của máy chủ ứng dụng còn cho phép dễ dàng mở rộng hệ thống và chức năng của ứng dụng ở mọi thời điểm Nhờ việc cài đặt những module mới, những ứng dụng có thể được cung cấp
Hình 1 Mô hình ứng dụng đa tầng
Trang 19những chức năng mới Những đặc trưng này làm cho phần mềm trên máy chủ ứng dụng có khả năng thích nghi cao với sự thay đổi môi trường hoạt động.
2 Độ an toàn và bảo mật cao giúp bảo vệ các thông tin quan trọng của người sử dụng và tính thống nhất (integrity) của dữ liệu Máy chủ ứng dụng cung cấp các
đặc trưng bảo mật từ A đến Z cho việc triển khai ứng dụng các xí nghiệp Máy chủ ứng dụng cung cấp truyền thông bảo mật với máy chủ Web như hỗ trợ SSL, HTTPS và xác thực qua HTTP Ðể làm cầu nối giữa trình duyệt và nguồn dữ liệu an toàn, máy chủ ứng dụng cung cấp khả năng xác thực người sử dụng, khả năng làm việc với cookies và điều khiển truy nhập dữ liệu đối với các giao tác an toàn Việc ghi nhận và theo vết các sự kiện cho phép bảo vệ chống lại các truy nhập không hợp lệ và cho phép người quản trị phát hiện các hành động chủ quan, khách quan ảnh hưởng đến bảo mật
3 Tính sẵn sàng (khả dụng – availability) cho phép phục vụ những yêu cầu gia tăng trên phạm vi toàn cầu Máy chủ ứng dụng hỗ trợ các đặc trưng chính bao gồm đa
luồng, quản lý đối tượng và cân bằng tải động ở mức độ thấp, thông qua việc cung cấp truy xuất dữ liệu hiệu quả và thời gian đáp ứng nhanh do sử dụng các dịch vụ
hệ thống như quản lý hàng đợi luồng, caching liên kết dữ liệu, caching kết quả Nhiều thực thể (instance) của máy chủ ứng dụng có thể được cài đặt thêm trên hệ thống khi cần thiết Nhờ kiến trúc dựa vào thành phần và khả năng cân bằng tải động và theo dõi tải, việc xử lý yêu cầu được cân bằng trên các máy chủ ứng dụng,
đảm bảo tính sẵn sàng cao, thậm chí ngay cả khi khi nếu một máy chủ bị lỗi Với
khả năng phục vụ trực tuyến, các thành phần máy chủ và ứng dụng có thể được cấu hình lại, thêm hoặc bớt mà không cần tắt hệ thống
4 Tính linh hoạt cao trong mở rộng khả năng phục vụ cho phép việc phát triển hệ thống để đáp ứng nhiều yêu cầu thay đổi khác nhau (khi yêu cầu hệ thống thay đổi, chỉ cần thay đổi logic xử lý tại một vi trí ở tầng giữa – middle tier – mà không cần thay đổi tại từng máy khách) Với khả năng quản lý theo trạng thái và theo phiên
làm việc, máy chủ ứng dụng hỗ trợ những yêu cầu phức tạp, nhiều bước Hệ thống quản lý sẽ hỗ trợ quản lý tài nguyên, dữ liệu, giao tác, tự động xác nhận truy vấn quay vòng, xác nhận thành công để không thực hiện lại nhiều lần Máy chủ ứng dụng cung cấp khả năng truy xuất dữ liệu dùng chung và truy xuất một cách thống nhất các tác vụ dựa trên giao tiếp chuẩn tới những hệ thống dữ liệu không đồng nhất
5 Tích hợp dễ dàng các ứng dụng mới với hệ thống thông tin sẵn có Với kiến trúc
máy chủ mở rộng, người phát triển có thể thiết kế các ứng dụng nhằm đáp ứng nhu cầu triển khai ban đầu và phát triển sau đó mà không cần viết lại mã nguồn hay sửa đổi các chi tiết kỹ thuật ứng dụng Khả năng sắp xếp có hiệu quả tạo cho máy chủ ứng dụng một giải pháp tối ưu cho các ứng dụng yêu cầu hỗ trợ giải quyết khối lượng lớn công việc
6 Giảm tính phức tạp trong phát triển ứng dụng phân tán nhờ cấu trúc đơn giản hóa
(EJB container và web server xử lý các tác vụ quan trọng thay cho người phát triển)
và khả năng chuyên môn hóa công việc (mỗi nhóm phát triển chuyên sâu về một mảng như thiết kế giao diện, logic hiển thị, logic xử lý, )
Kiến trúc ứng dụng qui mô xí nghiệp liên quan đến toàn bộ hạ tầng cơ sở phần cứng và phần mềm, cấu hình mạng, môi trường phát triển thử nghiệm và triển khai ứng dụng, v.v Ðiều này phản ánh đòi hỏi của sự đầu tư lâu dài Bằng cách sử dụng mô hình này, các ứng dụng J2EE đều là các ứng dụng website, cho phép kết hợp các hệ thống ứng
Trang 20dụng khác nhau thành một môi trường dễ quản lý, tạo điều kiện thuận lợi cho quá trình khai thác và truy cập dữ liệu trên web Tuy nhiên để đạt được mô hình này, các chuyên gia CNTT phải có khả năng tích hợp những giải pháp website mà không cần xây dựng lại cơ
sở hạ tầng CNTT, không viết lại các ứng dụng đã có từ cấp cơ sở và giảm thiểu quá trình huấn luyện lại người dùng Mặt khác phải chú trọng lựa chọn hệ điều hành, webserver và các phần mềm bảo mật/quản trị kèm theo, các hệ cơ sở dữ liệu và các thành phần phần mềm của nhà sản xuất thứ ba để có thể tiết kiệm đầu tư Do đó việc nghiên cứu kỹ để lựa chọn môi trường (hệ điều hành) cho ứng dụng J2EE là rất quan trọng
Kiến trúc ứng dụng website được xây dựng trên nền kiến trúc toàn xí nghiệp, có thể liên quan đến từng ứng dụng hay dự án Sau khi xây dựng xong hạ tầng cơ sở, việc nghiên cứu kiến trúc ứng dụng phải dẫn đến kết quả: làm sao xây dựng ứng dụng cho phù hợp Ðồng thời chúng ta phải xem xét kỹ vấn đề cập nhật kiến trúc, khả năng sử dụng và sử dụng lại các thành phần đã phát triển
Việc cài đặt các ứng dụng quy mô xí nghiệp, bảo đảm khai thác các đầu tư đã có vào cơ sở hạ tầng, tích hợp nhiều môi trường không đồng nhất và khả năng truy nhập vào
dữ liệu sẵn có của hệ thống là điều kiện tất yếu cho thành công của ứng dụng CNTT
2.3 Giải pháp kết nối và chuyển đổi dữ liệu
Phương pháp tiếp cận giải quyết bài toán phát triển phần mềm cho cổng thông tin là phục vụ mục tiêu kết nối, trao đổi và tích hợp thông tin, cụ thể là:
Mục tiêu thứ nhất là việc nối kết và chuyển đổi dữ liệu với nhiều thành phần hệ thống khác nhau (về kỹ thuật giao thức và dạng nội dung dữ liệu)
Mục tiêu thứ hai trong quá trình tiếp cận là thống nhất về nghiệp vụ và chuẩn hoá về công nghệ của các giao thức (interface/protocol), cơ sở dữ liệu (database) và cách hoạt động (logic processing) của hệ thống
Mục tiêu thứ ba là đảm bảo tính liên tục của các dịch vụ và các ứng dụng
Các tiêu chí chính khi xây dựng cổng thông tin là cần phải:
Phát triển một hệ thống cổng thông tin với các phần mềm ứng dụng như là các dịch vụ (Web Application Service – Software as a Service)
Tạo mới các cơ sở dữ liệu của hệ thống, người sử dụng và các ứng dụng
Hỗ trợ đa ngôn ngữ và các dạng dữ liệu khác nhau
Hỗ trợ thống kê và theo dõi các thông tin động trên toàn bộ các nguồn
Phát triển một tập hợp các siêu dữ liệu XML nhằm phục vụ cho việc thu thập, cung cấp thông tin và trao đổi tự động với các ứng dụng bên ngoài.
Giải pháp phần mềm cần được xây dựng trên nền tảng cổng thông tin nhằm liên kết các nguồn thông tin dạng khác nhau vào một chuẩn đóng gói dữ liệu duy nhất Giao thức trao đổi (interface) tại các nguồn thông tin có thể khác nhau tùy theo yếu tố của nguồn thông tin địa phương Các thông tin được đóng gói thành các dữ liệu có cấu trúc XML chặt chẽ Việc đảm bảo giao thức địa phương và các nguồn thông tin địa phương tuân theo giao thức cung cấp thông tin của nguồn thông tin đó
Ý tưởng chính của giải pháp là việc tất cả các dữ liệu trao đổi qua kênh thông tin
đều có cấu trúc XML Các cấu trúc này tuân theo các giản đồ XML (XML Schema) Các
Trang 21giản đồ này được sử dụng để tạo ra dữ liệu, mô tả cấu trúc dữ liệu khi luân chuyển, và kiểm tra cấu trúc dữ liệu và tính đúng đắn của các thành phần (về hình dạng và nội dung)
dữ liệu khi xử lý Việc này hoàn toàn không phụ thuộc vào dạng dữ liệu tại các nguồn thông tin đã có, giải pháp sử dụng dạng dữ liệu XML chuẩn cho mọi truy xuất dữ liệu tại các đầu ra vào của hệ thống đối với người sử dụng và thành phần bên trong của hệ thống
Ví dụ như tất cả các dữ liệu về đất nước, tiền tệ và ngôn ngữ đều tuân theo dạng XML duy nhất với các chuẩn ISO-3166 (3 ký tự) cho quốc gia, ISO-639-1 (2 ký tự) cho ngôn ngữ và ISO-4217 dành cho tiền tệ Mặc dù việc sử dụng các chuẩn này là không bắt buộc đối với các hệ thống đang được sử dụng, nhưng đây là điều bắt buộc với các giao thức của dịch vụ Web và các tầng phần mềm giữa (middleware) để đảm bảo tính thống nhất tại các giao thức và giao diện chuyển đổi thông tin, từ đó đảm bảo tính thống nhất về hình thức và nội dung dữ liệu thông tin bên trong giải pháp
Việc quản lý thông tin, bao gồm cả thông tin trên các ngôn ngữ khác nhau, cũng dựa trên nền tảng XML Các cấu trúc thông tin dữ liệu trong các bảng và trường của cơ sở
dữ liệu (database table & field) cần được mô tả lại bằng các cấu trúc XML thích hợp, các liên kết trực tiếp (direct), gián tiếp (indirect) hoặc tham chiếu (reference) của các dữ liệu bên trong đều có thể được mô tả qua các phần tử con (sub-element), thuộc tính (attribute), hoặc các reference qua XLink Vì thế ngôn ngữ XML có thể mô tả rõ ràng và chính xác bất
kỳ cơ sở dữ liệu SQL nào
Việc chuyển đổi các thông tin từ HTML/XHTML đều có thể khai thác thông qua XML bằng việc định nghĩa các thành phần quan trọng của trang và các trích dẫn các nội dung và thiết lập các ánh xạ giữa các thành phần này và các phần tử của trang XML Việc chuyển đổi có thể hoàn toàn được tự động hoá thông qua XML StyleSheet Language (XSL) Toàn bộ công việc này nhằm xây dựng một ngôn ngữ mô tả bằng XML nhằm phục
vụ các ứng dụng hiện có trao đổi thông tin với nhau và với người sử dụng qua cầu nối trục thông tin (XML Information Bus) Trục thông tin đóng nhiệm vụ người biên dịch hai chiều cho bất kỳ hai thành phần nào sử dụng trục thông tin Việc liên kết các hệ thống đang tồn tại vào trục thông tin chỉ đòi hỏi việc thiết lập “ngữ pháp” để trao đổi giữa trục thông tin
Áp dụng XML Schema, bảng từ vựng này định nghĩa các giá trị có thể có của các đặc tính mà các tài nguyên sử dụng Các giá trị có thể có và giới hạn của các trường thường được định nghĩa bên trong các hệ thống đang tồn tại và không hề hiển hiện cho người sử dụng Với XML Schema, các giá trị này được kiểm tra và quản lý ngay tại các giao diện dịch vụ Web, vì thế giảm thiểu khả năng nhập/xuất dữ liệu sai và tăng tính ổn định và an toàn của hệ thống
Trang 232.4 Sự cần thiết của môi trường phát triển dựa trên nguồn mở
Phần mềm nguồn mở là những phần mềm được cung cấp dưới cả dạng mã nhị
phân (binary code) và mã nguồn (source code), thường là miễn phí về bản quyền; người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp, chỉ cần tuân theo một số nguyên tắc chung Để so sánh, có hai lọai phần mềm “nguồn đóng” và “nguồn mở” Các phần mềm
“nguồn đóng” thường người dùng phải mua, hay được cung cấp miễn phí để sử dụng,
nhưng thường kèm theo một điều kiện nào đó và không có mã nguồn kèm theo Thí dụ các phần mềm thuộc loại sau:
• Phần mềm thương mại (Commercial Software)
Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ được cung cấp ở dạng mã nhị phân, người dùng phải mua và không có quyền phân phối lại Việc sử dụng có thể được giới hạn trên một máy tính, hay với số lượng người dùng hạn chế Nhiều nhà sản xuất phần mềm đưa vào những công nghệ bảo vệ bản quyền như khóa cứng (dogle, hard key), mã số (serial number)
• Phần mềm thử nghiệm có giới hạn (Limited Trial Software)
Là những phiên bản giới hạn của các phần mềm thương mại được cung cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản phẩm và kích thích người dùng quyết định mua Loại sản phấm này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian dùng thử
XML Schema
JDBC Adapter
Database Request
Web Server
Database Server
Database
Web Response
Database Response
HTTP Request Definitions
HTML Response Definitions
Database Schema
Hình 2 Phương thức kết nối và chuyển dữ liệu tự động
Trang 24• Phần mềm “chia sẻ dùng chung” (Shareware)
Loại phần mềm này có đủ các tính năng và được phân phối tự do, nhưng có một giấy phép khuyến cáo các cá nhân hoặc tổ chức phải mua tùy tình hình cụ thể
• Phần mềm cho phép sử dụng phi thương mại (Non-commercial Use)
Loại phần mềm này được sử dụng tự do và có thể phân phối lại bởi các tổ chức phi lợi nhuận Nhưng các tổ chức kinh tế, thí dụ các doanh nghiệp, … muốn dùng phải mua
• Phần mềm không phải trả tiền cho nhà sản xuất (Free Binaries Software)
Phần mềm được cung cấp dưới dạng mã nhị phân và được dùng tự do trong một số trường hợp, thường kèm theo một gói phần mềm thương mại khác (như các sản phẩm của Microsoft: Internet Explorer, Internet Information Server, Front Page kèm theo HĐH Windows)
• Thư viện phần mềm không phải trả tiền (Royalties Free Software Libraries)
Là những thư viện phần mềm mà mã nhị phân cũng như mã nguồn được dùng và phân phối tự do, nhưng người dùng không được phép sửa đổi
Các phần mềm “nguồn mở” là những phần mềm cấp kèm theo mã nguồn và thường được cung cấp miễn phí hay chỉ thu phí các dịch vụ kèm theo Thí dụ
• Phần mềm nguồn mở với giấy phép BSD
Giấy phép phân phối BSD – Berkely Software Distribution, cho phép sử dụng và phân phối lại các phần mềm dưới dạng mã nhị phân và mã nguồn Tuy người dùng có quyền sửa đổi mã, nhưng về nguyên tắc không cho phép người dùng tự do lấy mã nguồn
từ kho mã ra sửa và đưa mã đã sửa vào lại kho mã mà không được kiểm tra
• Phần mềm nguồn mở kiểu Apache
Chấp nhận nguồn mở kiểu BSD, nhưng cho phép người dùng tự do xâm nhập vào kho mã nguồn nền tảng
• Phần mềm nguồn mở kiểu CopyLeft hay kiểu Linux
Phần mềm nguồn mở kiểu CopyLeft (còn gọi là giấy phép GPL - General Public
Licence) yêu cầu không những mã nguồn gốc phải được phân phối theo các qui định của GPL mà mọi sản phẩm dẫn xuất cũng phải tuân thủ GPL Giấy phép GPL cho người dùng tối đa quyền hạn và tự do đối với các phần mềm nguồn mở tuân thủ GPL, cụ thể người dùng có quyền không những sao chép, sửa đổi, mua bán các phần mềm nguồn mở dưới CopyLeft mà còn được quyền tự do như vậy đối với các phần mềm dẫn xuất (cũng đương nhiên theo CopyLeft)
Với sự phát triển của mạng Internet, cộng đồng người sử dụng và người lập trình có điều kiện tiếp xúc gần gũi, trao đổi ý tưởng và kết quả Ban đầu xu hướng này chủ yếu là trong các trường đại học, viện nghiên cứu Nhưng với số lượng người quan tâm đến ứng dụng và phát triển CNTT ngày càng lớn, xu hướng trao đổi thông tin và kết quả giữa các
cá nhân, nhóm người dùng và phát triển phần mềm đã lan rộng đến cả những chuyên gia phần mềm làm việc cho các công ty chuyên nghiệp Họ sử dụng các kho phần mềm nguồn
mở cho công việc của mình, đồng thời đóng góp lại cho cộng đồng nguồn mở những kết quả sáng tạo mang tính chuyên nghiệp của mình Nhiều người trong số họ làm công việc này ngòai giờ làm việc chính thức như thú vui giải trí, nhưng ngày càng có nhiều công ty
có chính sách sử dụng và đóng góp để phát triển các sản phẩm nguồn mở như một chiến
Trang 25lược cạnh tranh mới trong thị trường cung cấp phần mềm, do những đặc điểm khá hấp dẫn của phần mềm nguồn mở Chúng ta thử điểm qua tình hình sử dụng phần mềm nguồn mở trên thế giới hiện nay:
• 90% máy chủ tên miền ở Hoa kỳ, 70% máy chủ thư tín điện tử và 60% máy chủ web trên thế giới đã dùng phần mềm nguồn mở Thị trường HĐH Linux đã phát triển nhanh hơn dự báo, đã lên hàng thứ nhì vào năm 1999, trước đó người ta cho rằng đến
2002 hoặc 2003 mới đạt được vị trí này
• Đến giữa năm 2001, đã có 56% số doanh nghiệp toàn cầu sử dụng phần mềm nguồn mở
• Trong các cơ quan nhà nước: đến tháng 6-2001, Bộ Văn hóa Pháp đã chuyển 400 máy chủ sang Linux, Tổng Cục Thuế quốc gia, một cơ quan mà vấn đề an toàn và bảo mật
dữ liệu được coi là quan trọng hàng đầu, cũng đã chuyển 950 máy chủ sang hệ điều hành nguồn mở Trung quốc, Mê-hi-cô, Hàn quốc đã chuẩn y các biện pháp để chuyển hệ thống máy tính của tất cả các cơ quan hành chính sang Linux
• Chính phủ Đức đã cấm dùng các sản phẩm Microsoft trong các hệ thống máy tính
“nhạy cảm” Nhằm giám sát và bảo vệ các mạng máy tính của các quốc gia thành viên, Cộng đồng châu Âu đã khuyến cáo các tổ chức của Cộng đồng và các cơ quan công quyền
của các quốc gia thành viên “khuyến khích các dự án dùng phần mềm có mã nguồn mở, vì
đó là cách duy nhất bảo đảm trong phần mềm không có các “cửa sau” (back doors)”.
Phần mềm nguồn mở là một phong trào tin cậy đang phát triển rất nhanh Số lượng các PMNM ngày càng nhiều Có thể liệt kê một số sản phẩm chính như sau:
• Các hệ điều hành Linux, NetBSD và FreeBSD Đó là những hệ điều hành Unix Chỉ Linux là dành được sự tham gia phát triển của cộng đồng quốc tế, còn NetBSD và FreeBSD do Đại học Berkeley, Hoa kỳ phát triển
• Tập hợp các sản phẩm GNU của đặc biệt là trình biên dịch GNU C/C++
• Một loạt ngôn ngữ lập trình (như Perl, Python, ) chất lượng cao
• Các máy chủ Web (như Apache, )
• Các máy chủ Proxy (như squid, )
• Các hệ quản trị cơ sở dữ liệu quan hệ: MySQL, PostgreSQL
• Các hệ phát triển các trang web như HTML, XML,
• Phần mềm SAMBA, cho phép mô phỏng Windows NT và Windows 2000 cho phần quản lý các tệp
• Phần mềm OpenLDAP quản trị thông tin thư mục phân tán trên mạng
Trong thời gian qua, các phần mềm nguồn mở thường chủ yếu gắn với môi trường Unix và mạng Internet Do đó chúng thường được hay dùng trong các máy chủ, trong các máy phân phối dịch vụ và chứa dữ liệu bên trong các hệ thống thông tin của các cơ quan
và trên Internet Ngày nay chúng đã dần dần xâm nhập vào các máy “khách”, đặc biệt sau khi xuất hiện hàng loạt các công cụ văn phòng đủ chất lượng cho các ứng dụng chuyên nghiệp, trong đó có StarOffice, OpenOffice Với những phiên bản sau này, Sun Micro System đã thương mại hóa StarOffice, nhưng OpenOffice vẫn tiếp tục là phần mềm nguồn
mở Linux đã trở thành một hệ điều hành cho phép thực hiện các ứng dụng văn phòng theo các chuẩn thông dụng trên thị trường như Word, Excel, Nhiều công ty CNTT lớn trên thế
Trang 26giới đã ủng hộ PMNM, như IBM, HP, Một phần do tác động của những công ty này, phần khác muốn làm giảm vai trò thống trị của Microsoft, một số công ty khác cũng đã đưa sản phẩm của họ chạy cả dưới Linux với giá thấp hơn nhiều so với các sản phẩm tương tự chạy dưới các hệ điều hành sở hữu riêng, như các hệ quản trị CSDL quan hệ Oracle và Informix, các phần mềm SAP, môi trường phát triển Delphi d’Inprise, các công
cụ văn phòng Corel, vân vân Cũng đã có những sản phẩm thương mại chất lượng rất tốt, cho phép mô phỏng Windows dưới Linux và thực hiện các chương trình viết cho môi trường Windows
Lựa chọn môi trường để phát triển các ứng dụng mạng, quy mô lớn, là vấn đề hết sức quan trọng Những ứng dụng này cần phải dễ dàng phát triển và cài đặt sau đó trên các máy chủ ứng dụng Java trong mô hình J2EE Các công cụ xây dựng ứng dụng cần cho phép người lập trình lựa chọn các ngôn ngữ khác nhau như Java, Perl, C/C++, cùng với các công cụ soạn thảo và biên dịch HTML/XML, công cụ phát triển tích hợp Java, môi trường phát triển tích hợp Web và các phần mềm quản lý cơ sở dữ liệu, quản lý, cấu hình tài nguyên và dịch vụ Ðề xây dựng nhanh các ứng dụng, cần phải lựa chọn môi trường có nhiều các thư viện giao tiếp lập trình ứng dụng API như Java SDK, Perl Modules, C/C++ Libraries, các ứng dụng mẫu (prototype), các hỗ trợ ứng dụng để phát triển các thành phần bussines logic (XML/XSL) Các thư viện lớp mở rộng cần cho phép phát triển các chức năng ứng dụng chính như truy xuất cơ sở dữ liệu nhanh và an toàn, các giao tác thô và phân phối các dữ liệu đã định dạng Một môi trường như vậy cần cho phép sử dụng lại các
mã nguồn, các mô hình kiến trúc sẵn có Một khi đã được phát triển, logic của ứng dụng
có thể được chia sẻ và sử dụng lại qua trong các môi trường ứng dụng khác nhau, cung cấp cho người phát triển khả năng liên tác nhằm bảo toàn quá trình đầu tư phát triển từ ứng dụng này sang ứng dụng khác
Một cách vắn tắt, các chức năng chung mà môi trường phát triển ứng dụng phải đáp ứng sẽ bao gồm:
Khả năng liên tác trên nhiều hệ thống
Khả năng bản địa hoá và quốc tế hoá
Khả năng tạo cluster và phân bố đối tượng
Khả năng quản trị các phiên làm việc
Khả năng đánh giá hiệu năng để cải thiện hoạt động
Khả năng chuyển thông điệp và kiểm soát quá trình này giữa các ứng dụng
Khả năng quản trị công việc theo nhóm
Khả năng quản trị cổng thông tin và cá nhân hoá môi trường làm việc
Sự phong phú các nghi thức giao tiếp các tầng
Cho phép phân chia chức năng giữa các tầng
Tôn trọng các hệ thống ứng dụng cũ
Cho phép lựa chọn đúng các thành phần cần mua thêm
Tích hợp tốt với các thành phần của nhà cung cấp thứ ba
Có cơ chế bảo mật và làm việc tốt với môi trường nhiều firewall/proxy.
Trang 272.5 Hệ điều hành nguồn mở Linux và các phiên bản distro của Linux
Ý tưởng thiết kế hệ điều hành Linux được Linux Torvald (1991) lấy từ một hệ điều hành lớn có tên là UNIX Mục tiêu của hệ điều hành này là tạo ra một môi trường làm việc chia sẻ cho nhiều người dùng Trong khi UNIX được cài đặt và sử dụng rộng rãi trên các
họ máy tính lớn (mainframe) và mini thì Linux được nhắm tới họ máy micro PC
Ngày nay Linux đã trở thành một hệ điều hành khá phổ biến, trước tiên là trong lĩnh vực máy chủ mạng, và sau này là các máy trạm làm việc, nhờ vào các đặc điểm sau:
Linux là một hệ điều hành mã nguồn mở và miễn phí Hơn nữa nhờ vào công cụ truyền thông Internet nó được phát triển và bảo trì bởi hàng ngàn lập trình viên trên phạm vi toàn thế giới
Tổ chức phần mềm miễn phí (Free Software Foundation) đã đóng góp công sức không nhỏ cho sự thành công của Linux bằng nhiều chương trình tiện ích miễn phí cũng như một cơ sở pháp lý bản quyền công cộng (General Public License)
Rất nhiều ý tưởng và công cụ đi kèm với Linux được kế thừa từ hệ điều hành UNIX, nhất là phiên bản Berkley UNIX (BSD) Nhờ nhiều đặc trưng nổi bật mà hệ điều hành Linux đã được các công ty phần mềm lớn hỗ trợ từ nền tảng tạo, ra một tương lai sáng cho hệ điều hành UNIX “tí hon” này
Giống như UNIX, Linux bao gồm 4 thành phần chính: phần nhân, phần vỏ, hệ thống tập tin và các chương trình tiện ích
Phần nhân (kernel) là trái tim của hệ điều hành Nó làm nhiệm vụ điều khiển giao
diện giữa chương trình với các thiết bị phần cứng, quản lý các tài nguyên phần cứng như thời gian thực thi tiến trình của CPU, phân phát và thu hồi bộ nhớ trong, quản lý các thiết
bị lưu trữ và ngoại vi,
Phần vỏ (shell) của Linux cung cấp các chức năng giao tiếp với người dùng Nó
nhận lệnh từ người dùng gửi cho nhân thực hiện và hiển thị kết quả
Hệ thống tập tin (file system) được tổ chức để lưu trữ thông tin khác của hệ thống
và người dùng trên các thiết bị lưu trữ Thông tin sẽ được lưu trữ trong một hệ thống thư mục phân cấp Mỗi thư mục chứa tập tin và nhiều thư mục con
Phần tiện ích (Applications) chứa các chương trình cần thiết như các bộ soạn
thảo, trình biên dịch, công cụ truyền thông
Linux có các đặc trưng nổi bật sau:
Tính ổn định: Linux có tính ổn định cao khi so sánh với các hệ điều hành khác
nhất là MS Windows Nó ít bị lỗi trong quá trình vận hành Các chương trình và dịch vụ chạy trên Linux được quản lý độc lập tránh tình trạng phải khởi động máy nhiều lần, vì thế nó rất thích hợp cho các máy chủ
Tính bảo mật: Linux tạo cho người dùng môi trường làm việc riêng biệt trong
phiên làm việc của mình không bị ảnh hưởng bởi người sử dụng khác, loại bỏ hoàn toàn các chương trình virus làm ảnh hưởng tới hoạt động của người dùng
Tính an toàn: Linux là một trong những hệ điều hành an toàn bậc nhất trên thị
trường (theo kết quả phân tích và đánh giá của nhiều công ty và người sử dụng) bởi vì Linux tạo môi trường làm việc riêng cho mỗi người dùng, nhờ thế tránh được những chương trình ẩn chứa virus như các troyan (chương trình “con ngựa
Trang 28thành Troa”) làm làm ảnh hưởng toàn bộ hệ thống Nói một cách khác Linux cho phép bảo mật nhiều mức Nhiều người có quan niệm sai lầm về tính an toàn kém của các phần mềm mã nguồn mở, nhưng thực tế Linux lại an toàn hơn các
hệ điều hành thương mại như MS Windows Vì các hacker luôn tìm ra những lỗ hổng trong phần mềm để phá Một khi những lỗ hổng này bị che giấu bởi nhà cung cấp thì nó càng bị thủng to hơn Trái lại đối với hệ điều hành mã nguồn
mở, tất cả mọi người đều có thể xem xét mã nguồn và sẽ tìm ra những lỗ hổng
đó, họ sẽ cùng nhau khắc phục Nhờ đó khi lỗ hổng không bị che giấu nó sẽ nhanh chóng dễ dàng bị phát hiện và sửa đổi Ngoài ra hệ điều hành mã mở cho phép người quản trị theo dõi hoạt động của hệ thống cũng như sửa lỗi trên mã nguồn để tăng sự an toàn
Hiệu năng cao: Người ta đã thực hiện nhiều phép đo benchmarks trên hệ điều
hành Linux và thấy rằng chúng đạt kết quả tốt hơn đối với các trạm làm việc Sun Solaris, Windows 9X/NT/2000 Chúng ta sẽ đề cập sâu hơn trong phần
“Đánh giá hệ điều hành Linux”
Độ hoàn thiện: Linux là một hệ điều hành trưởng thành, có thể nói là còn tốt
hơn nhiều phiên bản của MS Windows Tất cả những chương trình tiện ích cần thiết được phát triển bởi hàng ngàn lập trình viên được kiểm tra và đóng gói sẵn bởi các nhà cung cấp như Red Hat, SUSE, Mandarake, Caldera, …
Tính tương thích cao: Linux tương thích hầu như hoàn toàn với các chuẩn
UNIX như IEEE POSIX, UNIX System V, BSD UNIX vì nó được phát triển theo chuẩn mở Linux hiện nay không những chỉ chạy trên các máy PC mà nó còn được cài đặt trên các họ máy tính khác như Apple Macintosh Itanium, Power-PC, Sun, DEC Alpha, … và các máy chủ MainFrame của IBM như họ máy E-Machine hỗ trợ tới 256 CPUs
Tính thân thiện: Với các giao diện đồ hoạ X-Window đẹp mắt như KDE (K
Deskstop Environment) hay GNOME (GNU Network Object Model Environment), người dùng Linux dễ dàng sử dụng các chức năng của hệ điều hành Hơn nữa đối với người dùng đã quen với giao diện MS Windows hay Macintosh thì có thể lựa chọn cho mình một trong các phương pháp thể hiện (themes) phù hợp: MAC OS, KDE default, Windows, hay BeOS
Trang 29PHẦN III NGHIÊN CỨU VỀ CÔNG NGHỆ CỔNG THÔNG TIN
3.1 Phân loại website và cổng thông tin
Phần lớn các website của các đơn vị giáo dục hiện nay chỉ mới dừng ở mức độ
“website thông tin”, tức là mới chỉ sử dụng các máy chủ web đơn giản đi kèm theo hệ điều hành như Apache (Linux) hay Internet Information Server (MS Windows) Các website này chưa đủ để đáp ứng nhu cầu xây dựng HTTT phục vụ quản lý trong trường học, vì chúng không thể đảm bảo cho môi trường vận hành bảo mật, an toàn và trong suốt đối với người sử dụng Việc khai thác website thông tin không cho phép trao đổi, chia sẻ thông tin trong nội bộ, giữa các nhóm người dùng trong mạng LAN, trên mạng diện rộng Internet, đồng thời phục vụ chức năng cung cấp thông tin ra bên ngoài khi cần thiết
Trước thực trạng này, nhiều công ty tin học đã tư vấn cho các trường xây dựng 2
website, một website dùng trong nội bộ và một website dùng cho công cộng Việc này làm cho chi phí chỉ riêng việc xây dựng các website thông tin đã tăng gấp đôi, lại càng khó cho việc quản lý, đồng bộ thông tin các website bên trong và bên ngoài
Đối với giáo viên, sinh viên, học sinh là những người dùng bình thướng, một môi trường thông tin quen thuộc với giao diện trên web, an toàn và đáng tin cậy để phục vụ các nhu cầu cá nhân và các hoạt động của mình là yếu tố quan trọng để tin học hoá đi đến
thành công Ngoài ra mô hình thông tin tích hợp với ứng dụng, tất cả trên web luôn đáp
ứng mục tiêu cải cách hành chính theo mô hình một cửa, đang là xu thế tất yếu trong các
cơ quan, trường học với nhiều bộ phận chức năng khác nhau, có cơ cấu tổ chức phức tạp như hiện nay Thông qua môi trường giao tiếp một cửa, các trường học có thể dễ dàng khai thác, cập nhật thông tin, cung cấp dịch vụ trực tiếp cho người sử dụng thông tin
Nhiều cơ quan, trường học hiện nay là bên cạnh việc phải xây dựng các website thông tin, cũng cần xây dựng các website có chức năng điều hành, quản lý, tiến tới đưa các ứng dụng dịch vụ lên mạng Internet Quá trình xây dựng website thông tin không chỉ dừng
ở mức cung cấp thông tin, mà phải cung cấp cả các ứng dụng truy xuất và quản lý truy xuất thông tin từ các cơ sở dữ liệu và phần mềm Để làm được điều này, phải thực hiện tích hợp lên website các thông tin và ứng dụng tương tác với các dữ liệu nằm sâu bên trong các mạng nội bộ, mạng dùng riêng Intranet Kết quả của quá trình này có thể là việc từng bước công khai hóa các thông tin và thủ tục, giúp cho bộ máy quản lý hiệu quả hơn
và người thụ hưởng thông tin được nhiều lợi ích hơn Do vậy, một môi trường tích hợp
ứng dụng hợp nhất, dễ sử dụng và tin cậy chính là công cụ cho thực hiện cải cách hành
chính về quản lý và là địa chỉ tin cậy mang lại nhiều lợi ích cho bản thân tổ chức lẫn người
sử dụng
Một nhu cầu khác dễ thấy là cần phải có cơ chế quản lý, tổ chức để khai thác thông tin website tốt hơn, có công cụ cung cấp thông tin lên website dễ dàng hơn Người dùng hiện nay gặp khá nhiều khó khăn trong việc tìm kiếm các thông tin và dịch vụ trực tuyến Chủ thể của các website cũng gặp rất nhiều khó khăn trong vấn đề quản lý và bảo trì các website của mình, do sự tăng trưởng đến chóng mặt của thông tin và mong muốn đưa nhiều dịch vụ trên các website Các thông tin dữ liệu cung cấp qua Internet (hoặc Intranet) cần phải được phân loại sắp xếp phù hợp với nhu cầu tìm thông tin của người dùng, theo hướng ngày càng gần với nhu cầu thường nhật, không nên là những thông tin khô cứng, sắp xếp theo ngôn ngữ hoặc cách hiểu biết của những nhà kỹ thuật Website đã và đang đóng góp rất lớn vào việc phổ cập thông tin, như giới thiệu tin tức, các cơ sở dữ liệu, và
Trang 30một số chương trình ứng dụng trên mạng Web site đã làm thay đổi cả thế giới từ khi xuất hiện vào đầu những năm 90 của thế kỷ trước Ngày nay mọi giao tiếp thông qua web site
đã trở thành phổ biến Tuy nhiên, chúng ta có thể mạnh dạn gọi một phần lớn các website
là “web site truyền thống” bởi những mặt tồn tại do công nghệ cũ để lại Điểm yếu nhất là khả năng tích hợp các thông tin, dịch vụ từ nhiều nơi vào một web site là rất khó khăn, thậm chí không thể làm được về mặt nguyên tắc công nghệ Điều căn bản là web site không có nền tảng công nghệ tích hợp để hỗ trợ tính chất phát triển kế thừa và khả năng ghép nối để mở rộng
Hiện nay, nhiều hệ thống thông tin được các cơ quan, tổ chức xây dựng với tên gọi
là các “cổng thông tin” Đây là một trong số các thuật ngữ tin học chưa được chuẩn hóa ở
Việt Nam, thuật ngữ này có thể hiểu theo một số nghĩa:
1 Cổng cung cấp và cập nhật thông tin (Cổng thông tin điện tử).
2 Cổng giao tiếp trao đổi thông tin hai chiều (Cổng giao tiếp điện tử).
3 Cổng giao dịch xử lý thông tin trực tuyến (Cổng giao dịch điện tử).
Cả ba cách hiểu này đều có thể sử dụng thuật ngữ “cổng thông tin”, tuy nhiên chúng thể hiện các mức độ phát triển ứng dụng khác nhau, từ thấp đến cao Tùy theo nhu cầu và định hướng phát triển của từng cơ quan, trường học, chúng ta có thể lựa chọn nội
dung phát triển ứng dụng cho phù hợp, phụ thuộc vào các mức ứng dụng thông tin.
1 Cổng thông tin điện tử: Là một dạng website được tổ chức theo hướng cổng thông
tin, có thể sử dụng công nghệ cổng thông tin mang tính chất quản lý thông tin Đây
là bước phát triển đầu tiên trong quá trình xây dựng cổng giao tiếp điện tử và cổng giao dịch điện tử
2 Cổng giao tiếp điện tử: Là bước phát triển tiếp theo của một cổng thông tin điện tử,
nhưng giàu dịch vụ hơn, và điều căn bản là cung cấp các khả năng giao tiếp 2 chiều giữa người cung cấp và người sử dụng Bên trong của hình thức này là các khả năng giao tiếp ngang giữa các cổng thông tin với nhau, có tính liên thông và tự động cao
3 Cổng giao dịch điện tử: Là bước kế thừa của một cổng giao tiếp điện tử, nhưng
nhiều dịch vụ mang tính giao dịch và thương mại trực tuyến, hướng tới một “phong cách sống trực tuyến” cho mỗi người sử dụng Ngày càng có nhiều dịch vụ được ghép thêm vào cổng, kể cả các ứng dụng thương mại điện tử hay chính phủ điện tử Cổng giao dịch còn thực hiện các chức năng giao dịch với các nhà cung cấp dịch vụ
và các cổng thông tin khác, một cách hoàn toàn tự động, thông qua các dịch vụ bên dưới hệ thống trong suối đối với người dùng
Trang 31điệp nội bộ, lịch công tác, tra cứu danh bạ, tra cứu thông tin văn bản, bản đồ, trạng thái công văn hồ sơ, quản lý nhân sự, tra cứu hệ thống công báo, các giao tiếp giữa các cơ quan chính phủ với nhau, v.v
Công nghệ cổng thông tin như một tất yếu, xuất phát từ nhu cầu thực tế, ra đời để giải quyết những vấn đề mà website truyền thống gặp phải Khi giao tiếp với các "cổng thông tin“, người dùng tuy vẫn chỉ là sử dụng trình duyệt web, nhưng đằng sau website đó
là cả một sự thay đổi cả về quan niệm và triết lý phục vụ, thay cho cách hiểu “tuyên truyền phổ biến thông tin” như trước đây Cổng thông tin bảo toàn đầu tư lâu dài Những công nghệ tạo nên trong thời đại cổng thông tin đều hỗ trợ tính mở và kế thừa rất mạnh, sao cho việc mở rộng các qui mô phục vụ bằng các phần mềm ứng dụng mới có thể được “lắp ráp” vào cổng thông tin đang có, mà không phải hủy bỏ hoặc sửa chữa lớn như công nghệ website trước đây Đặc tính này làm cho cổng thông tin “mở” hơn với các ứng dụng của nhiều nhà cung cấp dịch vụ khác nhau, làm tăng tính độc lập của người sử dụng cổng đối với người cung cấp giải pháp cổng dể dàng làm chủ công nghệ quản lý và phát triển ứng dụng trên cổng
Nếu chúng ta đã quen với khái niệm mạng Internet và mạng Intranet, tương ứng là mạng toàn cầu và mạng “toàn nội bộ” (hiểu theo nghĩa “Intranet” có các công nghệ và giao thức giống hệt Internet nhưng được sử dụng trong một phạm vi nhất định cho nội bộ), thì cổng thông tin phải bao gồm cả hai chức năng trên một “site” (trên Internet và trên Intranet nội bộ) Một cổng thông tin đúng nghĩa phải phục vụ cho khách thăm quan từ
“phía ngoài” (Internet), và người dùng nội bộ “phía trong” (Intranet) Bên dưới cổng là một hạ tầng trao đổi và tích hợp thông tin khá phức tạp, nhằm liên kết với các hệ thống thông tin khác Người dùng nội bộ hay người dùng qua mạng Internet đều phải được quản
lý, họ có các vai trò sử dụng khác nhau, nhưng đều trong một môi trường sử dụng thông tin có quản lý, thông qua trình duyệt web
Tuy khái niệm “phía trong” và “phía ngoài” của cổng chỉ là tương đối, chúng cũng cho thấy các mảng ứng dụng tương ứng với các nhu cầu quản lý hành chính và dung cấp dịch vụ công (trong quản lý hành chính), quản lý trường học, lớp học (trong môi trường giáo dục) Đối với các chức năng “phía trong”, cổng thông tin làm cho các giao dịch quản
lý hành chính mang tính chất nội bộ sẽ không phải đi vòng ra Internet rồi mới trở lại bàn làm việc của một đồng nghiệp trong cùng một phòng, hoặc giữa các đơn vị trong một cơ quan, của một tỉnh, thành phố Một công chức cũng có thể tra cứu hoặc vận hành một dịch
vụ công qua mạng Internet tại bất kỳ lúc nào và tại bất cứ đâu Đối với các chức năng
“phía ngoài”, người duyệt web có thể tra cứu và sử dụng dịch vụ theo quyền hạn được cấp
Do vậy cổng thông tin rõ ràng là một mô hình phù hợp cho các hệ thống thông tin phục vụ
cả quản lý điều hành và dịch vụ công Khi so sánh với website thông thường, dù được xây dựng bằng trình ứng dụng web nào, website chủ yếu chỉ làm tốt các chức năng “phía ngoài”, mà không giải quyết được các chức năng “phía trong”, nhất là khi các giao tiếp bên trong tăng lên qua việc tích hợp các ứng dụng Tóm lại, triết lý của cổng thông tin để phục vụ người dùng tốt hơn (user-centric), khác với sự phát triển tự nhiên của website truyền thống chỉ định hướng trình bày thông tin (data-centric)
Đối với một số “cổng thông tin” đã được xây dựng trên mạng Internet ở Việt Nam trong thời gian qua, có nhiều “cổng” chưa đáp ứng các tiêu chí trên, kể cả CityWEB thành phố Hồ Chí Minh Các website này mới đang ở giai đoạn đầu của quá trình phát triển, nhà nước sẽ còn phải chi nhiều tỷ đồng để nâng cấp trở thành cổng thông tin Và nều chúng ta nhân con số này với nhu cầu của 64 tỉnh thành phải xây “cổng”, hàng ngàn cơ quan,
Trang 32trường học cũng muốn có cổng của riêng mình thì sẽ hình dung được thị trường và nhu cầu to lớn về loại sản phẩm ứng dụng CNTT quan trọng như các giải pháp cổng thông tin
là như thế nào
Điều băn khoăn lớn nhất vẫn là thế nào là giải pháp cổng thông tin đúng nghĩa, và chi phí đế có được giải pháp nền cổng thông tin, cũng như khả năng xây dựng ứng dụng tích hợp trong cổng là bao nhiêu ? Đây vẫn là vấn đề quan tâm của những đơn vị đang tìm kiếm giải pháp xây dựng hệ thống thông tin tích hợp, không muốn phải đầu tư cho sản phẩm website tầm thường nào đó được mang danh “cổng”, vì lý do thương mại đang được
mà các nhà cung cấp chào bán
Điểm đánh giá đầu tiên, thông tin trong “cổng” không thể chỉ dựa trên những trang web tĩnh, được lập trình theo ngôn ngữ HTML, vì điều này sẽ dẫn đến chi phí rất lớn để thiết kế, trang trí cập nhật lại website Điều đáng quan tâm thứ hai khả năng mở rộng và tích hợp thông tin của “cổng” Nếu việc mở rộng thêm vào các ứng dụng mà phải xây dựng lại trang web, viết thêm các thành phần mới, bổ xung các liên kết trang, các truy cập
cơ sở dữ liệu mới, thêm vào hệ thống phân quyền sử dụng mới, v.v thì hệ thống đó không thể gọi là có tính mở được, không có khả năng tích hợp ứng dụng theo kiểu “ghép
là chạy” như công nghệ cổng thông tin Tiếp theo, những tính năng khác của “cổng” rất cần đến hệ thống xác thực và cấp quyền truy nhập, được khai thác sử dụng ở nhiều mức khác nhau Mỗi “cổng” được phát triển mới hoặc lấy từ những hệ thống có bản quyền thương mại đều chỉ tập trung giải quyết một lớp bài toán thực tế, vì thế không phải mọi tính năng liên quan đến “cổng” đều được đáp ứng
Các tính năng sau đối với cổng thông tin là hết sức quan trọng: “Đăng nhập một lần” (Single-Sign-On, viết tắt là SSO), hệ thống phân quyền sử dụng và truy cập các nguồn tài nguyên như mục thông tin hay chương trình ứng dụng dùng chung (Authorization), hệ thống tìm kiếm trong cổng, hệ thống các ứng dụng cộng tác, các giao dịch web (webservice), hỗ trợ các ứng dụng tích hợp (portlet), khả năng cá nhân hóa (để người dùng tự bố trí màn hình với những nội dung và ứng dụng mình cần đến trong từng thời điểm), v.v
Triển khai công nghệ cổng thông tin, nhất là cho việc tích hợp thông tin, phần mềm
và dịch vụ đang là một vấn đề rất thời sự Nhìn chung giá thành xây dựng cổng luôn là khá cao, công nghệ khá phức tạp, sử dụng các tiến bộ mới nhất của lĩnh vực phát triển phần mềm như nền tảng trao đổi dữ liệu XML, các dịch vụ web (web services), các công nghệ lập trình thành phần và phân tầng dựa trên J2EE, dot.NET Các cổng thông tin của các công ty đa quốc gia lớn, phục vụ hàng chục triệu người dùng như Yahoo, MSN, Google, IBM, HP, Intel, Oracle, có chi phí xây dựng hàng chục đến hàng trăm triệu USD Ở quy
mô nhỏ hơn, của các công ty đa quốc gia, giá thành của các giải pháp cổng thông tin thương mại cũng từ vài chục ngàn đến hàng trăm ngàn USD Ngay tại các trường đại học
ở Hoa kỳ, với ngân sách hàng năm có thể lên tới vài trăm triệu USD cũng không dễ dàng
bỏ chi phí để mua các giải pháp thương mại, xây dựng các hệ thống thông tin tích hợp, hình thành các cổng thông tin
Trên thực tế, qua khảo sát của nhóm Đề tài, chi phí thiết lập các cổng thông tin cho các tổ chức lớn phần lớn là chi phí chuyển đổi các ứng dụng và hệ thống thông tin, các phần mềm truy xuất và quản trị cơ sở dữ liệu truyền thống (dos-based, windows-
based, web-based legacy applications) qua nền tảng ứng dụng tích hợp cổng based) Đối với chúng ta, do phần lớn các ứng dụng CNTT đang được xây dựng từ đầu,
(portal-nên việc nhanh chóng áp dụng công nghệ cổng thông tin sẽ giúp tiết kiệm rất nhiều chi
Trang 33phí, nếu phải chuyển đổi công nghệ sau này Đây cũng là lợi thế của người đi sau trong
ứng dụng công nghệ, đi thẳng vào các công nghệ mới.
Theo những nguồn thông tin mà nhóm đề tài khảo sát được, cổng thông tin và các ứng dụng tích hợp trong cổng thông tin hiện vẫn chưa được phổ biến trong cộng đồng CNTT ở Việt Nam, trong khi các công nghệ này đã trở thành phổ biến trên thế giới Các nền tảng phát triển cổng thông tin có thể chia thành ba nhóm, chủ yếu liên quan đến bản quyền phần mềm và tính năng thương mại của mỗi loại sản phẩm:
Bản quyền nền cổng thông tin thương mại có kèm theo một số ứng dụng ở lớp giữa (middleware)
Bản quyền nền cổng thông tin miễn phí hoặc không đáng kể, chủ yếu dành cho các
bộ công cụ thương mại để phát triển ứng dụng trong cổng
Bản quyền nền cổng thông tin và ứng dụng theo hướng nguồn mở
Thứ tự chi phí các nền từ cao xuống thấp, từ khoảng hàng trǎm ngàn USD như IBM Websphere Portal Server, Oracle Portal Server, BEA Portal, SunONE Portal, xuống mức vài chục ngàn USD như Microsoft SharePoint Portal Server, và miễn phí, ngược lại mức độ cần đầu tư bổ sung phát triển và thích ứng thực tế lại từ thấp lên cao Đặc biệt các nhóm middleware và thương mại có thể đòi hỏi các dịch vụ cao cấp để duy tu bảo trì, hỗ trợ kỹ thuật, chi phí hàng nǎm có thể lên đến 20% chi phí thiết lập hệ thống Trong khi đó, nhóm mã nguồn mở có thể không cần chi phí bảo trì theo bản quyền (license) nhưng lại cần có dịch vụ kèm theo như nghiên cứu, làm chủ công nghệ để theo sát các phát triển sản phẩm nền của cộng đồng, cũng như các nỗ lực cài đặt vào thực tế, bởi vì các chức nǎng có sẵn trên phần mềm nguồn mở chỉ minh hoạ các khái niệm, tương đối nghèo nàn, xa rời các
yêu cầu thực tế (Xem thêm phần nghiên cứu khảo sát về các công nghệ Cổng thông tin
trong phần Phụ lục F)
3.3 Tình hình phát triển cổng thông tin mã nguồn mở dựa trên uPortal
Ở trong nước, từ đầu năm 2001, một số ứng dụng tích hợp dựa trên nền uPortal đã
bắt đầu được phát triển tại một số đơn vị và công ty phần mềm như Cita, Unisoft, Danphong, CompoSoft (Tp.HCM), VietSoftware, AsiaSoft, Minh Viet Co (Hà nội),
Đặc biệt nhiều website trong nước đã được xây dựng dựa trên nền uPortal (số liệu khảo
sát nằm 2004) :
1. http://iportal.vnuhcm.edu.vn (2001, ĐHQG TP.Hồ Chí Minh, hỗ trợ bởi UniSoft unisoft.vnhcm.edu.vn)
Trang 342. http://www.math.hcmuns.edu.vn (2001, Khoa Toán-Tin, Trường ĐH KHTN TP HCM,
tự xây dựng)
3. http://www.itpmo-hcm.org (2003, Ban Quản lý các Dự án CNTT thành phố HCM, tự xây dựng)
Trang 354. http://www.hanoi.gov.vn (2003, Cổng giao tiếp điện tử Hà Nội, hỗ trợ bởi công ty Vietsoftware: www.vietsoftware.com )
5. http://samcom.cpt.gov.vn/VPortal/index.jsp (2003, Trang web ban điều hành đề án 112 Chính phủ, hỗ trợ bởi công ty Vietsoftware: www.vietsoftware.com )
Trang 366. http://www.binhdinh.gov.vn (2004, Cổng giao tiếp điện tử Bình Định),
Trang 377. http://www.vinhphuc.gov.vn (2004, Cổng giao thông tin điện tử Vĩnh Phúc, hỗ trợ bởi công ty Asiasoft www.asiasoft.com.vn )
Gần đây (8/2006), Trung tâm CNPM Đại học Cần thơ, cũng trên nền tảng uPortal,
đã phát triển một số ứng dụng Portlet để chạy trong cổng (như CMS Portlet quản trị nội dung website, Calendar Portlet quản lý lịch, công việc)
Mô hình Porlet mang tính mở cao, tuy nhiên sản phẩm Portlet là các sản phẩm thương mại, không thể chia sẻ cho cộng đồng nguồn mở dùng chung mã nguồn
Các phân tích trên đây cho thấy những ưu điểm cũng như hạn chế hiện nay của nô hình phát triển ứng dụng cổng thông tin, các hệ thống thông tin quản lý dựa trên nguồn mở
do một số công ty, đơn vị triển khai cho các cơ quan nhà nước, các trường viện, trung tâm đào tạo vẫn còn mang tính thương mại, không phát huy được ưu điểm thực sự của mô hình ứng dụng nguồn mở, chưa đem lại lợi ích thực sự cho bản thân doanh nghiệp cũng như khách hàng sử dụng ngân sách nhà nước
Trong một số trường hợp, việc ngân sách nhà nước phải chi ra để mua sắm các sản phẩm phần mềm dựa trên nguồn mở cũng tương tự như các sản phẩm phần mềm thương mại (mặc dù là do công ty trong nước phát triển) là không hợp lý, là một sự lãng phí, thay
vì nhà nước nên đầu tư để doanh nghiệp phát triển sản phẩm mẫu (prototype) dựa trên nguồn mở, sau đó công bố rộng rãi để cho các doanh nghiệp khác làm dịch vụ triển khai, tuy biến (customize) cho nhiều khách hàng Đây là mô hình đã triển khai thành công tại một số quốc gia đã ứng dụng nguồn mở cho khu vực chính phủ, giáo dục (Hoa kỳ, Canada, Pháp, CHLB Đức, Brazile, Hàn quốc, Trung quốc, ), Đây cũng là mô hình mà nhóm nghiên cứu đề tài đề xuất trong Báo cáo này
Qua thực tế trên, có thể khẳng định cổng thông tin mã nguồn mở uPortal và một số
ứng dụng trong uPortal đã được các công ty Việt nam triển khai thành công, được thị trường chấp nhận, nhất là trong khu vực cơ quan chính phủ và trường học
Trang 38Trong Phần III, Phần IV, cũng như trong các Phụ lục của Báo cáo này, nhóm
nghiên cứu sẽ cung cấp một số thông tin có liên quan đến kiến trúc cổng thông tin uPortal, các đánh giá chuyên gia về khả năng phát triển ứng dụng trong cổng thông tin tại Việt nam, trong đó khả năng ứng dụng công nghệ uPortal
Cần phải thấy rằng mặc dù uPortal đang được hàng trăm trường đại học tiên tiến trên thế giới sử dụng, cũng như dựa vào đó để phát triển thành các portal riêng của mình
Tuy nhiên giống như phần lớn các phần mềm nguồn mở khác, uPortal không cung cấp sẵn
các ứng dụng và tiện ích (ngoài những ứng dụng tích hợp làm nền tảng) Do đó để có thể
khai thác hiệu quả các công nghệ nguồn mở, rất cần đầu tư nghiên cứu, làm chủ và
triển khai công nghệ.
Một trong các kết quả chính mà nhóm đề tài đạt được là đã đầu tư nghiên cứu tìm hiểu một cách khá sâu sắc kiến trúc nền tảng của uPortal, qua đó đề xuất xây dựng một
khung phát triển phần mềm tích hợp trong cổng (iPortal Framework), phù hợp với
nhu cầu và đặc điểm ứng dụng CNTT của Việt nam Thông qua nghiên cứu làm chủ công nghệ phát triển phần mềm dựa trên nguồn mở, nhóm đã tạo ra nhiều sản phẩm như các gói
phần mềm tích hợp iPortal+iLOC, các ứng dụng iMailManager, iDocsManager,
iContentManager, v.v cùng với quy trình phát triển nhanh các ứng dụng web và portal.
Nhóm nghiên cứu cũng đã thực hiện được 3 lớp đào tạo phát triển phần mềm cho cổng thông tin, với trên 60 học viên là sinh viên CNTT và lập trình viên nhiều công ty phần mềm tại TP.HCM Dựa trên nền tảng iPortal Framework, nhiều sản phẩm phần
mềm do các nhóm sinh viên, học viên cao học sản xuất cho cổng thông tin iPortal khác
nhau cũng đã được hoàn thành, điển hình như hệ thống giám sát tài nguyên mạng iGrid
Portal (ĐH KHTN), phần mềm quản lý Sở hữu công nghiệp (tại Sở KHCN Tp.HCM)
3.4 Các chuẩn về portlet container và Java Specification Request 168
Với giải pháp phần mềm nguồn mở, hệ thống thông tin quản lý có thể được xây dựng dựa trên các chuẩn về portlet container và Java Specification Request (JSR) 168
Porlet là các ứng dụng web trong cổng thông tin (portal web application) dùng trong xử lý
các yêu cầu từ máy khách, trao đổi thông tin với các portlet khác bằng cách yêu cầu portlet container Cổng thông tin truy cập vào portlet container thông qua Portlet Container Invoker API Đây là giao diện chính của portlet container, cho phép các phương thức dựa trên yêu cầu (request-based methods) để gọi các portlet Giao diện Container Provider SPI (Service Provider Interface) cho phép lấy các thông tin liên quan đến cổng thông tin Portlet container truy xuất các portlet thông qua Portlet API
Portlet container chính là môi trường vận hành của các portlet và là thành phần chính của cổng thông tin, nắm các thông tin về cổng thông tin và phải tái sử dụng các đoạn
mã dùng chung của cổng thông tin Nhờ vậy, portlet container hoàn toàn độc lập với các thành phần của cổng thông tin Portlet container riêng rẽ có thể được nhúng vào một cổng thông tin bất kỳ khi tuân thủ các yêu cầu về chuẩn portlet container, ví dụ như cung cấp đầu đủ các SPI
Portlet Container Invoker API, được gọi là điểm can thiệp (entrance point), hoạt động như một giao diện truy cập chính của portlet container API kết hợp chu kỳ hoạt động của portlet container (init, destroy) với các phương thức truy cập dựa trên yêu cầu (initPage(), performTitle(), portletService(), …) Các khai báo phương thức ở đây tương tự giao diện portlet chính Portlet API, do portlet container sẽ gọi portlet vào giai đoạn cuối
Trang 39cùng, ngoại trừ portlet identifier được dùng để container xác định chính xác portlet nào được gọi.
Bên cạnh việc sử dụng các API để truy cập portlet container, cổng thông tin phải cung cấp (xây dựng) các SPI được định nghĩa cho portlet container
Các dịch vụ được cung cấp bởi portlet container bao gồm:
Information provider: cung cấp cho portlet container các thông tin về cổng thông tin và nền tảng của cổng thông tin Chỉ có những thông tin chung và các thông tin cần phải lưu tại cổng thông tin mới 0ược cung cấp thông qua giao diện này (sự tạo ra URL với trạng thái điều khiển, ngữ cảnh của portlet, chế độ hoạt động của portlet, xử lý trạng thái của cửa sổ, …)
Factory manager: định nghĩa cách thức triển khai qua factory (cổng thông tin có sẵn)
Log service: định nghĩa chức năng ghi nhận – logging (cổng thông tin có sẵn)
Config service: định nghĩa cách thức lấy các giá trị cấu hình (cổng thông tin cần thiết
có sẵn)
Property manager (tùy chọn): cho phép cổng thông tin xử lý các thông số định nghĩa
trong yêu cầu kỹ thuật JSR 168