hn4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com
Full version available at http://4u.jcisio.com/r/article630.htm

Không rõ

Truy cập cơ sở dữ liệu từ web server

World Wide Web (WWW) đã trở thành một dịch vụ thông tin hấp dẫn nhất trên các mạng Internet/Intranet. Trong dịch vụ này, web server đóng vai trò phục vụ đối với các yêu cầu của người sử dụng. Bản thân web server là một phần mềm. Khi làm việc, nó được nạp vào bộ nhớ và đợi các yêu cầu (request) của các khách hàng (client). Khách hàng ở đây có thể là một người sử dụng dùng trình duyệt Web (Web Browser) để gửi yêu cầu đến web server. Yêu cầu cũng có thể được gửi đến từ một web server khác. Khi nhận được yêu cầu của khách hàng, web server phân tích và tìm kiếm thông tin, tư liệu được yêu cầu để gửi cho khách hàng. Sự tương tác giữa các web server và các server khác được thực hiện nhờ một chương trình đóng vai trò như một cổng. Do đó chương trình này được gọi là một gateway. trong khi đó, web browser và web server giao tiếp với nhau theo giao thức HTTP (Hyper Text Transfer Protocol). Tuy nhiên, chúng ta phải lưu ý rằng không phải bất kỳ một nguồn thông tin nào cũng có thể tương hợp với web server, chẳng hạn như các loại cơ sở dữ liệu khác nhau trên mạng. Bản thân các web server nguyên thủy không có khả năng truy nhập các cơ sở dữ liệu. Muốn có điều đó, ta phải xây dựng các chương trình gateway cho phép nhận yêu cầu từ web server và truy nhập được cơ sở dữ liệu để lấy thông tin theo yêu cầu người sử dụng. Dữ liệu này sau đó được gửi về cho các web server dưới dạng tệp HTML. Dưới đây, chúng ta hãy thử xem xét một số công cụ cho phép viết các chương trình gateway.

CGI (Common Gateway Interface).

Như tên gọi của nó. CGI là một giao diện chuẩn cho phép trao đổi thông tin giữa web server với một CSDL. Yêu cầu khai thác CSDL của khách hàng thông qua trình duyệt Web gửi đến web server. Thông tin từ web server được gửi tới CGI gateway bằng tham số dòng lệnh, bằng biến môi trường hoặc bằng dòng nhập chuẩn. CGI sẽ thực hiện truy nhập CSDL để đưa thông tin vào hay lấy thông tin ra và chuyển về cho web server dưới dạng chuẩn HTML để gửi về cho khách hàng. Chương trình CGI gateway có thể viết bằng một ngôn ngữ lập trình nào đó. chẳng hạn như C/C++, Visual Basic, đây là một chương trình thực hiện được (executable). Mỗi khi có yêu cầu thực hiện CGI từ phía khách hàng thì máy chủ (server) sẽ tạo một tiến trình (process) mới cho gateway và truyền thông tin từ khách hàng cho tiến trình này. Như vậy, càng có nhiều yêu cầu của khách hàng, càng có nhiều tiến trình CGI do máy chủ tạo ra. điều đó dẫn đến sự chiếm dụng tài nguyên, gây chậm trễ cho hệ thống. Mặt khác, khả năng tương tá c với người sử dụng của CGI cũng có những hạn chế. Tuy nhiên, CGI cũng có ưu điểm là có thể cài đặt trên các hệ điều hành và các web server khác nhau.

ISAPI (Internet Server Application Programing Interface).

Cũng như CGI, ISAPI là một chuẩn giao diện cho phép mở rộng khả năng khai thác cơ sở dữ liệu của web server. Chương trình ISAPI gateway thực chất là một thư viện liên kết động (DLL) có chứa các hàm thực hiện việc giao tiếp với web server và với cơ sở dữ liệu. So với CGI, ISAPI có hiệu quả hơn vì nó được thiết kế theo nguyên lý khác: khi nhận một yêu cầu từ phía khách hàng, máy chủ không tạo một tiến trình mới mà đọc thư viện (chương trình) vào bộ nhớ tại cùng không gian địa chỉ với web server. Một khi thư viện đã nằm trong bộ nhớ thì cùng một lúc nó có thể thực hiện nhiều yêu cầu của khách hàng, khắc phục được nhược điểm của CGI đã nêu trên. Yếu điểm chính của ISAPI là nó chỉ được chấp nhận trong môi trường Microsoft Windows và không phải web server nào cũng hỗ trợ nó. Ngoài ra, các chương trình CGI và ISAPI còn có một nhược điểm chung là phải dịch lại mỗi khi có thay đổi trong chương trình.

ASP (Active Server Pages)

ASP là một môi trường do Microsoft cung cấp cho phép sử dụng các ngôn ngữ script để tạo những ứng dụng linh hoạt và hiệu qủa cao cho web server. Ngôn ngữ script đóng vai trò trung gian giữa HTML và các ngôn ngữ lập trình khác như C++, Visual Basic, Java v.v và ngôn ngữ script có cú pháp đơn giản và có thể được lồng ngay vào văn bản HTML. Các câu lệnh, các hàm hoặc thủ tục của nó có thể được viết ngay trong cùng một tệp với HTML. Để chạy các chương trình viết bằng ngôn ngữ script cần có các chương trình đặc biệt (kiểu chương trình thông dịch) gọi là Script engine. Chương trình này làm nhiệm vụ đọc tệp nguồn của chương trình và thực hiện các câu lệnh trong đó. ứng với mỗi ngôn ngữ script sẽ có một chương trình engine riêng. Hiện tại, ASP cung cấp sẵn chương trình engine cho hai ngôn ngữ VBScript và JScript. Trong đó, VBScript được xem là ngôn ngữ mặc định (default). Khi khách hàng gửi tới web server yêu cầu một tệp .asp (là tệp có chứa cácHTML tag và chương trình viết bằng ngôn ngữ script nào đó), chương trình ASP sẽ đọc toàn bộ tệp .asp được yêu cầu, xác định ngôn ngữ script dùng để viết các câu lệnh đó và gọi chương trình engine tương ứng để thực hiện. ASP hỗ trợ sẵn các phương thức truy nhập cơ sở dữ liệu để đáp ứng yêu cầu của khách hàng. Sau khi thực hiện xong, ASP trả lại kết quả dưới dạng HTML thuần túy để các browser chuyển cho khách hàng. ở đây, người sử dụng cần phải biết ngôn ngữ script (dễ hơn các ngôn ngữ lập trình) và biết sử dụng các phương thức sử dụng của ASP. ASP có ưu điểm là cho phép kết hợp viết các chương trình bằng nhiều ngôn ngữ khác nhau. Nó tận dụng được thế mạnh của các ngôn ngữ cũng như đáp ứng được nhiều trình độ hiểu biết và kỹ năng lập trình khác nhau. Nếu ngôn ngữ sử dụng là JScript, ASP còn cho phép kết hợp giữa chương trình chạy trên máy server và trên máy client từ đó tạo ra các ứng dụng linh hoạt, mềm dẻo. Đối với các yêu cầu đặc biệt, ASP còn cho phép tích hợp các tệp khác, kể cả tệp văn bản thuần túy, các tệp CGI, hoặc cho phép viết các thư viện liên kết động và gọi từ trong chương trình. Tuy nhiên, ASP cũng có nhược điểm là phụ thuộc vào môi trường Windows.

Java

Là một ngôn ngữ lập trình của hãng Sun Microsystems. Nó được thiết kế gọn nhỏ, tin cậy, khả chuyển và có khả năng nhúng. Java là ngôn ngữ lập trình đa môi trường, có nghĩa là không phụ thuộc vào hệ điều hành và có thể chạy trên các hệ nền (platform) khác nhau. Các ứng dụng nhúng của Java (Java applet) cho phép làm sống động các trang Web bằng các đoạn hình ảnh động, trò chơi, tìm kiếm dữ liệu và nhiều tính năng khác. JavaScript là một ngôn ngữ script được tạo từ Java. Bằng cách tích hợp các lệnh JavaScript vào một trang Web có thể làm thay đổi cách thể hiện và nội dung theo yêu cầu, kiểm soát hoạt động của web server, giao tiếp với các cơ sở dữ liệu trực tuyến hoặc thực hiện các chức năng của chương trình CGI đã nói ở trên. JavaScript có thể được cài đặt cả trên máy client lẫn máy server. Tuy nhiên, do Java là một ngôn ngữ mới được phát triển nên lập trình còn phức tạp, các công cụ hỗ trợ còn chưa hoàn thiện. Bản thân các tính năng về truy nhập cơ sở dữ liệu cũng còn chưa mạnh, đang được tiếp tục phát triển.

Tóm lại, từ web server ta có nhiều phương pháp để truy nhập CSDL. Tùy vào yêu cầu sử dụng cũng như môi trường làm việc cụ thể mà ta lựa chọn phương pháp thích hợp. trong khi chờ đợi Java phát triển hoàn chỉnh, có thể thấy rằng ASP là giải pháp đáng lưu ý nhất.


hainam4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com