ASP:
Lập trình
máy chủ

  |  

Internet ngày nay đã trở thành một thành phần quan trọng trong ngành truyền thông và cuộc sống hàng ngày. Song song với việc phát triển của mạng là sự phát triển của một hướng mới trong lập trình. đó là lập trình mạng. Sự bùng nổ thông tin trên toàn càu, sự ra đời của Web đặt ra yêu cầu phải xử lý thông tin một cách nhanh chóng, chính xác giữa các Web server với client.

Để giải quyết vấn đề này, một trong những công cụ lập trình máy chủ phổ biến hiện nay là ASP. Bài viết không đi vào chi tiết các thủ thuật lập trình mà cung cấp cho bạn đọc một cái nhìn tổng quát, nguyên lý về ASP cũng như sẽ so sánh nó với một số ngôn ngữ lập trình máy chủ khác như Perl, CGL, Rexx, Python.

ASP là gì ?

Microsoft Active Server Pages (ASP) không hẳn là một ngôn ngữ lập trình, Microsoft gọi nó là môi trường server-side scripting, môi trường này cho phép tạo và chạy các các ứng dụng Web server động, tương tác và có hiệu quả cao. Để làm việc trong môi trường này, các ASP coder thường sử dụng VBScript hoặc JavaScript, cả hai loại này đều tự động hỗ trợ ASP.

Trong các HTML, mỗi tag được bắt đầu và kết thúc bởi cặp "< />" , ASP cũng tương tự như vậy. Để đánh dấu nơi nào ASP script bắt đầu và kết thúc dùng cặp lệnh "<% %>".

Các đoạn ASP script có thể xuất hiện ở mọi nơi trong trang HTML, ASP & HTML có sự gắn bó chặt chẽ với nhau. Với ASP ta có thể chen các script thực thi được vào trực tiếp các file HTML. Khi đó việc tạo ra trang HTML và xử lý script trở nên đồng thời, điều này cho phép tạo ra các tương tác của Websife một cách linh hoạt uyển chuyển, có thể chen các thành phần HTML động vào trang Web tuỳ vào từng trường hợp cụ thể.

VBScript là ngôn ngữ mặc định của ASP nếu muốn sử dụng một ngôn ngữ khác thì chúng ta cần phải định nghĩa ngôn ngữ. Tại đầu trang thêm dòng : <%@LANGUAGE=tên ngôn ngữ%>

VBScript dễ học và rất tiện lợi nếu chúng ta đã học qua VB, các ví dụ trong bài báo này đều viết bằng VBScript. Các ASP script được viết và đặt trong các file có phần mở rộng là ".asp". Khi cho script chạy, ví dụ như: http://msdn.microsoft.com/default.asl) thì mọi quá trình xử lý của file default.asp sẽ diễn ra trên server thay vì chạy ở client, Web server sẽ làm mọi công việc cần thiết để tạo ra một trang kết quả dạng HTML, như thế không cần phải bận tâm rằng các Web browser có thể xử lý trang Web hay không vì server đã làm mọi việc.

Các tính chất và ưu điểm của ASP

Các ASP script thông thường chỉ chạy trên các server cài IIS (Microsoft Internet Information Server). Quy trình như sau: khi một user thông qua trình duyệt Web gửi yêu cầu tới một file .asp ở server thì script chứa trong file đó sẽ được chạy trên server và trả kết quả về cho browser đó. Khi Web server nhận được yêu cầu tới một file .asp thì nó sẽ đọc từ đầu tới cuối file .asp đó, thực hiện các lệnh script trong đó và trả kết quả về cho Web blowser là một trang HTML. Do môi trường hoạt động là mạng nên một script ASP khi được viết ra có thể sử dụng được ở mọi nơi, không cần trình biên dịch hay kết nối . Các ASP script được viết dựa trên các ngôn ngữ hướng đối tượng nên rất tiện lợi, sẵn có các object đi kèm như: Request, Response, Application, Server, Session. Tận dụng được các ActiveX components như : Database access , Content linking, Collaboration Data Object, Browser capabilities, File Access, ... Hơn nữa nó cũng có thể tận dụng được components từ các nhà phân phối khác, cung cấp dưới dạng các file .dll

Những tính chất trên đem đến cho ta những lợi ích xác thực, cho phép tạo ra các ứng dụng Web thương mại có tương tác chứ không chỉ đơn thuần là phổ biến các nội dung tĩnh. Ví dụ như để lưu giữ lại thông tin về các khách hàng đã ghé thăm qua web site của mình, các web builder có thể dùng ASP để tạo ra các file cơ sở dữ liệu khách hàng lưu trên máy chủ, khi cần có thể tiện tra cứu.

Các Objects & Components cơ bản

Object là những đoạn chương trình có khả năng thực hiện những công việc cơ bản nào đó. Mỗi object là một kết hợp giữa lập trình và dữ liệu mà có thể xử lý như một đơn vị thống nhất. Các ASP object cho phép chúng ta giao tiếp tương tác với cả máy chủ lẫn trình duyệt, thông thường chúng ta dùng vài object trong các scripts. Các objecl này đã sẵn có nên ta chỉ cần nhớ cách sử dụng chúng

Request Object

Request object cho phép lấy thông tin thông qua một HTTP request. Chúng ta có thể dùng Request object để đọc URL, truy cập thông tin từ một form, đọc cookies và các HTTP header.

Response object

Response object là chìa khóa để gửi thông tin tới user, là đại diện cho phần thông tin do server trả về cho Web browser. Chúng ta có thể viết lên màn hình, tái định hướng các trang, tạo các cookies sử dụng Response object.

Application Object

Sử dụng Application object chúng ta có thể điều khiển các đặc tính liên quan đến việc khởi động và dùng ứng dụng, cũng như việc lưu trữ các thông tin có thể được truy nhập bởi các ứng dụng nói chung.

Server Object

Server object cho phép thực thi một chuỗi các tác vụ chẳng hạn như ánh xạ một đường dẫn ảo tới một đường dẫn vật lý và tạo một instance của một component.

Session obiect

Sử dụng object này chúng ta có thể lưn thông tin liên quan tới từng user đã truy nhập vào site của bạn.

Khác với các object, các ASP components là các điều khiển ActiveX ghép nối với ASP để đơn giản hoá các thủ tục thông thường. Chúng ta sẽ lướt qua số components thường được sử dụng.

Browser Capabilities

Component này cho phép xác định trình duyệt của user là gì và những tính năng nào được hỗ trợ bởi trình duyệt đó. Collaboration Data Objects (CDO) CDO được liên kết chặt chẽ với IIS SMTP server; CDO hỗ trợ chúng ta gửi và nhận email. Ví dụ với CDO chúng ta có thể xử lý một form mà không cần nhận biết đó là Perl script hay CGI.

Database Access

Một trong những tài sản lớn nhất mà ASP có được là khả nàng thâm nhập vào các cơ sở dữ liệu. ASP thường làm việc với hai người bạn đồng nghiệp là Access và hệ cơ sở dữ liệu SQL. Component rất hữu ích giúp chúng ta có thể kết nối vào một cơ sở dữ liệu bằng cách sử dụng ActiveX Data Object để viết nội dung lên màn hình trình duyệt và tạo lập hoặc cập nhật các file cơ sở dữ liệu.

File Access

File Access component chứa đựng các phương thức và thuộc tính có thể sử dụng để truy cập vào các file trên máy tính. Thông qua component này ta tạo ra một object là FileSystemObject giúp ta thực hiện một số công việc như tạo, đọc file,... Ngoài ra còn có những components được cung cấp miễn phí hoặc phải mua từ các nhà phân phối khác như :

Microsoft Aspcomponent Catalog (http://msdn.microsoft.com/workshop/server/components/catalog.asp)

ASP Central (http://www.aspcentral.com/ac/)

Active Server Pages.Com (http://www.activeserverpages.com/components/toc.asp )

Một ví dụ về ASP script

Các phần trên đã giúp bạn có một nhìn nhận cơ bản, mục này sẽ đưa ra một ví dụ đơn giản để hình dung rõ hơn cách viết mã lệnh và thưởng thức hương vị sức mạnh của ASP. Một điều cần lưu ý là để test chương trình chúng ta cần phải cài bộ IIS (Internet Information Server) hoặc bộ PWS ( Personal Web Server), sau đó máy tính của chúng ta sẽ trở thành một local server. Hoặc chúng ta upload các file test lên một server nào đó cho phép chạy các asp script. Trong hai bộ này đều có phần trợ giúp hưóng dẫn ta về các hàm và lệnh, nếu các hàm trong ví dụ này bạn chưa nắm được thì có thể tra cứu trong đó.

Có một điều gây khó khăn cho chúng ta khi muốn tìm kiếm các mã lệnh ASP đó là khi truy nhập vào một site dùng ASP (ví dụ http://msdn.microsoft.com/default.asp) chúng ta không thể xem mã nguồn được. Sự thực những thông tin bạn xem trên browser đã được default.asp xử lý và trả về mã html. Một ví dụ khác, nếu bạn thêm dòng <% Response.Write "Đây là"&strname %> vào trang Web của bạn (giả sử strname được gán bằng "TinHọc&ĐờiSống") thì khi chạy và xem mã nguồn bạn sẽ thấy dòng: Đây là TinHọc&ĐờiSống .

Còn bây giờ chúng ta hãy mở một trình soạn thảo nào đó, Notepad chẳng hạn và viết những mã lệnh sau:

<HTML>

<HEAD>

<TITLE>Ví dụ 1 về ASP script</TITLE>

</HEAD>

<BODY>

<% Response.Write "Chào bạn" %>

<BR> Bây giờ là<%= Time %>

</BODY>

</HTML>

Sau khi viết xong ghi file ày tên là vd1.asp và chạy, trên màn hình browser sẽ xuất hiện dòng "Chào bạn - Bây giờ là...". Trong ví dụ này ta dùng object Response và hàm Time của VBScript để đưa thông tin ra màn hình của user. Chúng ta có thể thấy rõ là asp đã được xử lý trên server một cách dễ dàng bằng cách chỉnh lại đồng hồ máy tính của bạn và chạy lại script trên thì vẫn báo giờ chuẩn vì giờ ở đây lấy ở máy chủ chứ không lấy giờ ở máy client. Ví dụ trên chỉ là một minh hoạ rất thô sơ cho ASP, bạn có thể viết các chương trình khác phức tạp hơn nhiều.

Những bàn luận khác về ASP

Phần này chúng ta sẽ so sánh ASP với một số ngôn ngữ lập trình máy chủ khác như CGI, Perl, Python,... Theo quan điểm cá nhân thì tôi thích ASP vì rất dễ học, mã lệnh tương tự như VisualBasic, đễ thực hành thí nghiệm. So với học Perl thì chúng ta mất ít thời gian hơn nhiều để học ASP. Có nhiều chuyên gia cho rằng ASP có độ bảo mật kém hơn CGI, theo tôi có thể lý giải điều này là do ASP chạy trên các server với hệ điều hành mạng của Microsoft, mà Microsoft vẫn có tiền lệ là tính bảo mật hệ thống kém, không thể bì được với UNIX. Nhưng mặt khác, ASP lại có tính năng truy cập cơ sở dữ liệu tuyệt vời, nhất là đối với các SQL server, nếu so với CGI thì ASP hơn hẳn mặt này.

Kết:

Trong phạm vi một bài báo không thể nêu đầy đủ mọi mặt của một hệ thống như ASP, hy vọng bài viết sẽ giúp các bạn mới tìm hiểu biết thêm nhiều điều. Dưới đây là một số tài liệu tham khảo rất hay về ASP mà các bạn có thể tìm đọc

1. MSDN Library / Active Server Pages & VisualBasic Scripting

2. http://www.developer.com

3. http://www.activeerverpages.com

4. http://www.zdnet.com/developer

 (theo Tin học đời sống)

Close


Bạn tìm đến nhóm thiện nguyện VTT qua
www.tuoitre.org, tuoitre.org, www.tuoitre.de hoặc tuoitre.de.
Mọi ý kiến đóng góp xin bạn hãy liên lạc với chúng tôi qua lienlac@tuoitre.org.