Phần mềm nguồn mở với việc xây dựng các ứng dụng CPĐT

Thứ bảy - 09/06/2007 08:28
XÂY DỰNG CÁC ỨNG DỤNG, DỊCH VỤ CHO CHÍNH PHỦ ĐIỆN TỬ (CPĐT) BẰNG CÁC PHẦN MỀM NGUỒN MỞ (PMNM)

1. Xây dựng phần mềm theo cách truyền thống

Từ trước tới nay, khi xây dựng một phần mềm, ngoài việc chúng ta phải tuân thủ các bước khảo sát, phân tích, thiết kế, lập trình, kiểm thử, triển khai... nhằm đáp ứng các yêu cầu chức năng nghiệp vụ của cơ quan, tổ chức người sử dụng thì chúng ta không mấy khi phải chú tâm tới các thành phần khác cùng nằm trong hệ thống thông tin.

Một ví dụ dễ thấy nhất là khi làm theo cách này, trong mọi ứng dụng phần mềm đều phải có module quản trị người sử dụng với khả năng tạo mới, cập nhật, sửa, xóa các thông tin liên quan tới người (nhóm người) sử dụng. Đối với người sử dụng thì để có thể sử dụng được ứng dụng phần mềm, họ sẽ phải đăng nhập vào chương trình thông qua một tài khoản sử dụng (account) mà thông thường được xác định bởi một cặp giá trị về tên sử dụng (user name) và mật khẩu (password).

Kết quả là, với một người sử dụng, khi số lượng các ứng dụng phần mềm tăng lên thì số lượng các tài khoản cũng tăng lên tương ứng. Chỉ có điều các giá trị về tên sử dụng và mật khẩu đối với chính người sử dụng này nhưng trong các ứng dụng khác nhau lại có thể sẽ rất khác nhau. Điều này là khó có thể chấp nhận được.

Câu hỏi đặt ra là: khi xây dựng các ứng dụng và dịch vụ phần mềm cho Chính phủ điện tử (CPĐT), chúng ta phải chú tâm tới các thành phần khác nào của hệ thống? Kiến trúc của các phần mềm tham chiếu đó ra sao?

2. Kiến trúc phần mềm tham chiếu với các thành phần nền tảng cơ bản khi xây dựng các ứng dụng và dịch vụ phần mềm cho CPĐT

Hình 1 cho ta thấy kiến trúc phần mềm tham chiếu với các thành phần nền tảng cơ bản khi xây dựng các ứng dụng và dịch vụ phần mềm cho CPĐT 1.

Các thành phần nền tảng cơ bản mà mỗi một ứng dụng và dịch vụ phần mềm cho CPĐT khi xây dựng phải được tính tới, phải được tích hợp bao gồm:

2.1 Thành phần nền tảng cơ bản “Dịch vụ thư mục”.

Thành phần này thường sử dụng LDAP (Lightweight Directory Access Protocol) đối với các hệ thống không dựa trên hệ điều hành Windows hoặc AD (Active Directory) đối với các hệ thống dựa trên hệ điều hành Windows để quản lý các thông tin về người sử dụng và các thông tin liên quan khác. Thành phần này chính là nền tảng để xây dựng một hệ thống đăng nhập duy nhất (Single Sign On) đối với tất cả các ứng dụng và dịch vụ tồn tại trong hệ thống thông tin.

2.2 Thành phần nền tảng cơ bản “Cổng điện tử” (Portal).

Thành phần này sử dụng để làm môi trường cho việc tích hợp các qui trình nghiệp vụ, với người sử dụng và đặc biệt là với các thông tin từ các nguồn thông tin khác nhau, các định dạng dạng thông khác nhau với các công nghệ xây dựng khác nhau. Ví dụ để tích hợp các thông tin phi cấu trúc từ các trang thông tin điện tử (website), từ các ứng dụng và dịch vụ phần mềm được xây dựng trên bất cứ nền tảng nào – bất kể là Windows hay không Windows, nguồn mở hay nguồn đóng, sử dụng bất cứ hệ quản trị cơ sở dữ liệu nào – bất kể là MS SQL Server, Oracle, DB2, Informix, Sybase, MySQL, PostgreSQL ..., bằng bất cứ ngôn ngữ lập trình nào – bất kể là Java, Visual Basic, Perl, PHP...

Thành phần này chính là nền tảng để người sử dụng có thể truy cập các thông tin, dịch vụ của các cơ quan khác nhau thông qua một địa chỉ duy nhất trên Internet.

2.3 Thành phần nền tảng cơ bản “Hệ thống quản lý nội dung” CMS (Content Management System).

Thành phần này có nhiệm vụ chính là cung cấp các thông tin đã được tiêu chuẩn hóa từ các ứng dụng, dịch vụ phần mềm lên thành phần nền tảng “Cổng điện tử” thông qua bộ công cụ quản lý các bước xử lý thông tin từ việc tìm kiếm, thu thập, xem, kiểmduyệt, xuất bản thông tin để mọi người có thể sử dụng được trên Internet.

2.4 Thành phần nền tảng cơ bản “An ninh dữ liệu” (Data security)

Có thể có nhiều cách khác nhau để đảm bảo an ninh dữ liệu, nhưng thông thường thì người ta sử dụng hạ tầng cơ sở khóa công khai PKI (Public key Infrastructure) và thẻ thông minh (Smart card) để xác thực người sử dụng và mã hóa – giải mã đối với nội dung thông tin được truyền đi trên Internet. Điều này là hết sức quan trọng trên Internet để trả lời cho 2 câu hỏi: Ai là ai thực sự trên mạng và liệu thông tin ta truyền qua mạng từ máy tính này tới máy tính khác có còn giữ được tính toàn vẹn dữ liệu hay không? (có bị ai đó can thiệp và sửa đổi trên đường truyền hay không?).

2.5 Thành phần nền tảng cơ bản “Mẫu biểu điện tử” (Form server)

Thành phần này cung cấp cho người sử dụng trên Internet các mẫu biểu hành chính của các cơ quan hành chính các cấp. Thông thường việc triển khai thành phần này được chia làm 2 giai đoạn. Giai đoạn đầu cung cấp các mẫu biểu điện tử dạng có thể in ra được để mọi người điền thông tin vào đó như đối với một mẫu biểu thông thường bằng giấy rồi được đưa vào qui trình xử lý như các phương pháp truyền thống tại các cơ quan hành chính. Trong giai đoạn tiếp sau, các mẫu biểu này sẽ được thiết kế thành các mẫu biểu điện tử để mọi người có thể điền trực tiếp các thông tin cần thiết một cách trực tuyến trên Internet rồi các thông tin đó được lưu giữ trong các cơ sở dữ liệu và được tiếp tục xử lý trong hệ thống mạng của các cơ quan hành chính.

2.6 Thành phần nền tảng cơ bản “Thanh toán điện tử” (e-payment)

Thành phần này thường kết hợp với thành phần “An ninh dữ liệu” làm cơ sở để tạo nên hệ thống thanh toán trực tuyến trên Internet một cách an toàn thông qua các cổng thanh toán (Payment gateway) liên ngân hàng của một quốc gia hoặc liên quốc gia.

Cả 6 thành phần nền tảng cơ bản trên cùng với các ứng dụng và dịch vụ phần mềm dùng chung được triển khai trên nền tảng hệ thống mạng diện rộng WAN (Wide Area Network) của Chính phủ và trên Internet nhằm cung cấp các thông tin, ứng dụng và dịch vụ cho người dân, doanh nghiệp và các cơ quan hành chính các cấp của Chính phủ.

Cần lưu ý rằng thành phần nền tảng cơ bản “Cổng điện tử” và thành phần nền tảng cơ bản “Hệ thống quản lý nội dung” là 2 thành phần nền tảng cơ bản khác nhau, riêng biệt nhau với những chức năng hoàn toàn khác nhau chứ không phải là dạng “2 trong 1” như chúng ta vẫn thường thấy đối với nhiều Cổng điện tử tại Việt Nam hiện nay.


Photo Sharing and Video Hosting at Photobucket

Hình 1. Kiến trúc phần mềm tham chiếu với các thành phần nền tảng cơ bản khi xây dựng các ứng dụng và dịch vụ phần mềm cho Chính phủ

3. Tích hợp các ứng dụng và dịch vụ với các thành phần nền tảng cơ bản

Với kiến trúc được trình bày trên Hình 1 thì mọi ứng dụng và dịch vụ được xây dựng cần phải tích hợp được với cả 6 thành phần nền tảng cơ bản được nêu ở trên. Đây chính là khác biệt rất quan trọng so với cách xây dựng các ứng dụng phần mềm theo cách truyền thống được nêu ở bên trên.

Việc tích hợp này được thực hiện không như những gì chúng ta thường thấy hiện nay là chỉ thông qua các đường liên kết (link) tới các ứng dụng và dịch vụ khác nhau được xây dựng trên công nghệ web (web – based application) thông qua tầng trình diễn của các ứng dụng và dịch vụ đó, mà chúng được tích hợp với nhau chủ yếu thông qua tầng trung gian – tầng nghiệp vụ như được trình bày bằng các mũi tên 2 chiều trên Hình 1 bằng việc sử dụng các chuẩn mở như XML (Extensible Markup Language), RSS (Really Simple Syndication) hoặc các dịch vụ web (Web Service).

Cần lưu ý rằng các thành phần nền tảng cơ bản nêu trên phải được hiểu là những thành phần KHÔNG THỂ THIẾU trong mọi ứng dụng, dịch vụ được xây dựng cho CPĐT, hay nói một cách khác là nếu không có đủ các thành phần nền tảng cơ bản nêu trên thì KHÔNG THỂ CÓ CPĐT được. Điều này còn cho thấy tính cấp thiết tới mức nào trong việc phải xây dựng cho được các nền tảng cơ bản đó cho CPĐT của Việt Nam chúng ta, nhất là các thành phần nền tảng cơ bản “An ninh dữ liệu” và “Thanh toán điện tử”, bởi đơn giản là một khi không tồn tại các nền tảng cơ bản này đồng nghĩa với việc các phần mềm và ứng dụng được xây dựng sẽ không có cơ sở để tích hợp với chúng và một ngày nào đó trong tương lai chúng ta sẽ phải nâng cấp, hay như từ chuyên môn thường được dùng tới là CHUYỂN ĐỔI (migration) đối với tất cả các ứng dụng, dịch vụ đã được xây dựng trước đó để có được sự tích hợp như mong muốn phục vụ cho CPĐT.

Việc xây dựng nền tảng cơ bản “máy chủ mẫu biểu” xét về mặt kỹ thuật sẽ không phải là một khó khăn vì xét cho cùng nó tương đương với việc xây dựng một ứng dụng cơ sở dữ liệu quản lý các mẫu biểu của tất cả các thủ tục hành chính mà các cơ quan công quyền cung cấp cho người dân và doanh nghiệp, nhưng về mặt cải cách hành chính thì lại không phải dễ dàng gì vì phải đảm bảo sao cho hiệu lực pháp luật của từng mẫu biểu đó trong một qui trình nghiệp vụ cụ thể là như nhau ở mọi lúc, mọi nơi.

Ví dụ vắn tắt dưới đây về một dịch vụ phần mềm cho CPĐT có tích hợp với các thành phần nền tảng cơ bản nêu trên có thể được thực hiện theo một kịch bản như sau: Người sử dụng dùng các thông tin cơ bản nhất về chính mình được lưu trữ trong thành phần nền tảng cơ bản “Dịch vụ thư mục” để truy cập thành phần nền tảng cơ bản “Cổng điện tử”, rồi sau đó người sử dụng tìm tới thành phần nền tảng cơ bản “máy chủ mẫu biểu” để lấy ra một mẫu biểu điện tử cần thiết rồi điền các thông tin vào mẫu biểu điện tử đó. Các dữ liệu ngầm định có liên quan khác của người sử dụng được lưu trữ trong thành phần nền tảng cơ bản “Hệ thống quản lý nội dung” được đưa lên mẫu biểu điện tử khi người sử dụng điền các thông tin cần thiết khác lên mẫu biểu điện tử được chọn. Thành phần cơ bản an ninh dữ liệu được sử dụng để truyền một cách an toàn các dữ liệu cá nhân này, cho việc ký điện tử và hoàn tất mẫu biểu và cho việc truyền an toàn các dữ liệu của mẫu biểu điện tử này trên đường truyền và cũng để đảm bảo giao tiếp an toàn khi xác nhận việc nhận và công bố giá thành được gửi tới người sử dụng bằng thư điện tử. Thành phần cơ bản thanh toán điện tử được sử dụng để tạo một khoản ghi nợ trong hệ thống thanh toán do Chính phủ qui định. Người sử dụng sẽ thanh toán hóa đơn thông qua chuyển khoản ngân hàng. Việc sử dụng các ứng dụng và dịch vụ phần mềm khác cho CPĐT cũng tương tự như vậy.

Qua ví dụ trên, ta có thể lý giải được vì sao các ứng dụng và dịch vụ phần mềm được xây dựng cho CPĐT cần phải tích hợp với các thành phần khác của hệ thống, chứ không đơn giản như theo cách truyền thống chúng ta vẫn làm.

4. Xây dựng các ứng dụng, dịch vụ cho CPĐT bằng các PMNM

Liệu có thể xây dựng các ứng dụng, dịch vụ phần mềm cho CPĐT bằng các PMNM? Câu trả lời là “CÓ”. Dưới đây liệt kê một số PMNM có thể được sử dụng để xây dựng không chỉ các ứng dụng, dịch vụ phần mềm, mà còn để xây dựng các thành phần nền tảng cơ bản được trình bày ở phần trên.

4.1 PMNM để xây dựng các thành phần nền tảng cơ bản

TT

Tên dịch vụ

Phần mềm nguồn mở

1

Dịch vụ quản lý thư mục

OpenLDAP

2

Cổng điện tử

Apache Jetspeed Portal, uPortal, Exo Portal...

3

Hệ thống quản trị nội dung

OpenCms, Lenya, WebCMS2

4

CA và hạ tầng cơ sở khóa công khai

IdealPKI, OpenCA

5

Máy chủ mẫu biểu

PostgreSQL, MySQL

4.2 PMNM3 để xây dựng các dịch vụ hệ thống cho các trung tâm tích hợp dữ liệu

TT

Tên dịch vụ

Phần mềm nguồn mở

1

Hệ điều hành máy chủ

Red Hat

2

Dịch vụ quản lý tên miền DNS

Bind

3

Dịch vụ thư tín điện tử (Mail)

Postfix

4

Dịch vụ quản lý hộp thư (POP3/IMAP)

Cyrus

5

Dịch vụ Web Server

Apache

6

Dịch vụ Virtual Host

Apache

7

Dịch vụ truyền tệp (FTP)

ProFTP

8

Dịch vụ truy cập bằng quay số từ xa

Radius

9

Dịch vụ quản lý địa chỉ IP động DHCP

ISC DHCP

10

Dịch vụ chia sẻ ổ đĩa trên mạng NFS

Samba

11

Dịch vụ bảo mật tường lửa (firewall)

Shorewall

12

Dịch vụ kiểm soát, theo dõi truy cập trái phép

Snort

13

Dịch vụ chống thư rác

SpamAssasin

14

Dịch vụ sao lưu hệ thống

RSYNC

15

Dịch vụ phục hồi dữ liệu hệ thống

Tar

16

Dịch vụ uỷ quyền (Proxy)

Squid

17

Hệ quản trị cơ sở dữ liệu

PostgreSQL, MySQL

18

Dịch vụ thẩm định người dùng

SASLAUTHD

19

Dịch vụ quản trị từ xa có bảo mật

SSH

20

Dịch vụ Mail Offline

Fetchmail

21

Dịch vụ Mobile user

Squirrelmail

22

Dịch vụ chống virus

ClamAV

23

Dịch vụ theo dõi hoạt động của mạng

Nagios, MIDAS

24

Theo dõi hoạt động các dịch vụ mạng

Ntop

25

Dịch vụ theo dõi băng thông trên mạng

MTRG (Multi Traffic Router Graph)

26

Dịch vụ mạng riêng ảo VPN

OpenVPN, OpenSwan


5. Không chỉ là PMNM, mà còn là chuẩn mở

Các nghiên cứu4 đã chỉ ra rằng, việc xây dựng CPĐT bằng các PMNM và chuẩn mở5 đối với Chính phủ sẽ đem lại những mặt tích cực sau:

  • Giảm thiểu sự phụ thuộc vào các nhà cung cấp phần mềm nước ngoài.

  • Đấu tranh với tình trạng độc quyền trong thị trường phần mềm để tránh việc lạm dụng tình trạng độc tôn thị trường.

  • Nâng cao chất lượng các hệ thống thông tin chính phủ

  • Giảm chi phí phát triển và triển khai phần mềm (trong điều kiện tôn trọng quyền sở hữu trí tuệ)

  • Trao đổi tốt hơn dữ liệu giữa các cơ quan Chính phủ với nhau, giữa Chính phủ với người dân và doanh nghiệp

Với PMNM chúng ta đã nói tới nhiều và chúng ta sẽ không nhắc lại ở đây, còn một chuẩn mở là một chuẩn đạt được các yêu cầu sau:

  • Giá thành sử dụng chuẩn thấp và không có bất cứ khó khăn nào khi tiếp cận nó.

  • Chuẩn đã được công bố.

  • Chuẩn được chấp nhận trên cơ sở một qui trình ra quyết định cũng mở (quyết định đồng thuận hoặc của đa số).

  • Quyền sở hữu trí tuệ đối với chuẩn này được trao cho một tổ chức phi lợi nhuận hoạt động với một chính sách truy cập hoàn toàn tự do.

  • Không có bất cứ hạn chế nào về việc tái sử dụng chuẩn.

Trong lĩnh vực công nghệ thông tin và truyền thông, ta đặc biệt quan tâm tới “Các chuẩn mở vì lợi ích của việc tương hợp (interoperability) các hệ thống thông tin” vì tính tương hợp của hệ thống thông tin là cần thiết để tạo điều kiện cho việc hợp tác giữa các tổ chức chính phủ và điều phối các quá trình nghiệp vụ bên trong và giữa các tổ chức này. Việc nâng cao trao đổi dữ liệu giữa các ứng dụng cũng sẽ cải thiện tính tương hợp giữa các qui trình cũng như các bước qui trình hành chính trong các cơ quan Chính phủ.

6. Lời kết

Việc Việt Nam hội nhập WTO với tư cách là một thành viên đầy đủ trong nay mai có thể sẽ là một sức ép lớn nhưng cũng có thể là cơ hội tốt cho chúng ta từ bỏ thói quen sử dụng phần mềm “vi phạm bản quyền” để chuyển sang sử dụng các PMNM hay chí ít có thể làm đối trọng cho việc đàm phán về giá cả đối với các phần mềm thương mại cho một mục tiêu cuối cùng là xây dựng cho được CPĐT theo cách mà một đất nước Việt Nam đang phát triển và còn rất nghèo có thể chấp nhận được.

Trần Lê

1 Theo tài liệu SAGA (Standards and Architecture for e-Government Application) của Chính phủ CHLB Đức, phiên bản 2.0, tháng 12/2003

2 Là phần mềm mà công ty của tác giả bài viết này xây dựng để chạy được trên các PMNM như Red Hat, PostgreSQL, Apache...

3 Là các PMNM mà công ty của tác giả bài viết này sử dụng để xây dựng các dịch vụ cơ bản cho Trung tâm tích hợp dữ liệu tại một số tỉnh, bộ, ngành theo Đề án 112 Chính phủ.

4 Chương trình “Chuẩn mở và phần mềm nguồn mở” OSOSS (Open Standards and Open Source Software) của Chính phủ Hà Lan, 2004

5 Thông tin mục này trích từ tạp chí Tin học và Đời sống, số tháng 06/2006, bài: Chuẩn mở và phần mềm nguồn mở.


PS: Bài đăng trên tạp chí Tin học và Đời sống số tháng 09/2006

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập0
  • Hôm nay35,538
  • Tháng hiện tại562,071
  • Tổng lượt truy cập32,040,397
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây