Microsoft đã phát triển active server page như một kiến trúc server side dùng để xây dựng các ứng dụng web động.
ASP là môi trường kịch bản trên máy server (Server side scripting environment) dùng để tạo và chạy các ứng dụng trong trang web. Nhờ tập các đối tượng có sẵn (building object) với các tính năng phong phú, khả năng hỗ trợ Vbscript, Javascript cùng một số thành phần active X khác kèm theo.
ASP cung cấp một cách làm mới để tạo trang web động. ASP không phải là một kỹ thuật mới nhưng nó sử dụng dễ dàng và nhanh chóng.
ASP sẽ tham vấn trực tiếp vào browser gửi dữ liệu đến server và từ đây sẽ đưa lên mạng.
Trong khi ASP thực thi trên máy mà nó hỗ trợ dùng, thì ta có thể xem ASP từ bất cứ máy nào và với bất cứ browser nào.
ASP cung cấp giao diện lập trình nhanh và dễ dàng triển khai ứng dụng.
ASP chạy trên môi trường Internet Information Server 4.0 và Personal Web Server 4.0. Nó cho phép ta quản lý việc truyền nối giữa một browser, web server, hình thức động của trang web là phản hồi lại cho người dùng. Nó có thể cho phép ta truy cập đến CSDL và quay trở về với kết quả ngắn nhất trên Website, cập nhật nội dung trên website khi thay đổi.
CGI : Common gateway interface (CGI) là một quy trình quản lý tương tác giữa phân mềm website và trình browser. CGI làm việc dựa vào phương thức gửi yêu cầu đến cho server, CGI script sẽ xử lý thông tin này bằng cách dùng phương thức thay POST, GET, HEAD và trả về kết quả cho server.
Process request:
Hình 5: Process request. I.6.2 ASP là gì và tại sao sử dụng ASP.
I.6.2.1 ASP là gì?
ASP không là một ngôn ngữ và cũng không là một ứng dụng, nó giống như : Fontpage, hay word. Ta có thể gọi ASP là một kỹ thuật dùng cho việc xây dựng trang web động và tương tác đến trang web.
ASP tạo dưới hình thức nào cũng đều biên dịch thành chuẩn Active X scripting. ASP đơn giản chỉ là tập tin “*.asp” bên ngồi được lưu trữ dưới dạng text, html, xml. Khi một browser yêu cầu một tập tin có đuôi là “.asp” thì lập tức IIS sẽ đưa yêu cầu này đến cho ASP.
Ta dùng bất cứ loại văn bản nào cũng có thể soạn thảo một tập tin có đuôi “.asp”, nhưng việc sử dụng công cụ thiết kế như: Frontpage, Maromedia DreamWearver sẽ đưa ra kết quả tốt nhất.
Frontpage cho phép ta thêm ASP vào trang web dùng dòng lệnh insert script. Macromedia Dream: là môi trường đặc biệt được thiết kế riêng cho ASP dựa vào website và cung cấp môi trường dùng để thiết kế và kiểm tra lỗi.
I.6.2.2 Tại sao sử dụng ASP?
Sự khác biệt giữa ASP và các kỹ thuật mới khác là: ASP thực thi trên web server trong khi các trang lại được sinh ra từ những kỹ thuật khác được biên dịch bởi browser hay client. Những lợi điểm mà ASP dùng thích hợp hơn là dùng CGI và Perl.
Tầm quan trọng của Web Server .
And send to Info
Server
Client CGI script
Request
Những nguời sử dụng internet hay các mạng cục bộ intranet thường phải đánh địa chỉ của trang web (URL). Vậy web server là gì?
Đơn giản đó chỉ là một máy tính dùng được cung cấp các dịch vụ web trên internet hoặc intranet tạo ra trang web hiển thị lên tất cả cho người dùng và có thể dùng truy cập đến các trang này.
I.6.2.3 Những sự việc xảy ra trong ASP?
•Đọc những yêu cầu từ browser. •Tìm trang cần thiết trong server.
•Thực hiện bất cứ những giới thiệu đã cung cấp trong ASP để cập nhật vào
trang web.
•Sau đó gửi trả về cho browser.
I.6.2.4 Lợi ích của việc sử dụng ASP.
Tập trung tại Browser : Tất cả các ứng dụng đều có thể thực thi trên server với mỗi phần điều khiển hồn tất những gì được gửi đên cho browser.
ASP không phải là ngôn ngữ mới: ASP có thể được ghi vào trong
ngôn ngữ Vbscript, Javascript.
ASP không phải là công cụ phức tạp: mặc dù tồn tại những công cụ phát triển mạnh, ASP vẫn có thể sử dụng cho phần thiết kế HTML.
Kiểm tra lỗi: cript debugging hỗ trợ tương tác (interactive) cho việc kiểm tra lỗi của cả hai loại client và server.
Độ tin câỵ: không như client-side scripting và các thành phần khác (components), ASP không thay đổi và chỉ chạy trên server. Không thể xem ASP trên trình duyệt browser mà chỉ có thể xem trên trang HTML.
Tính ổn định: Mỗi ứng dụng ASP có thể bị tách ra khỏi phần không gian vùng nhớ riêng từ web server. Nếu một ứng dụng web lỗi thì những ứng dụng khác vấn tiếp tục chạy.
I.6.3 Cách hoạt động của ASP
ASP chứa trong các tập tin file có đuôi là “*.asp”. trong script nào đó khi ta nhập đuôi địa chỉ có phần là “*.asp” trên web brower thì lập tức nó gửi yêu cầu đến cho ASP. Khi nhận yêu cầu web serser đồng thời web server sẽ tìm các tập tin trên địa chỉ có tập tin yêu cầu web server gửi tập đến tập tin. Chương trình đặc biệt này gọi là “asp.dll”. Khi đó các câu lệnh yêu cầu sẽ được thực hiện.
Đây là một ví dụ điển hình mà ta có thể sử dụng ASP:
•Tạo những nội dung của trang web bằng cách cập nhật tin văn bản hay nội dung cơ sở dữ liệu.
•Tạo những trang giới thiệu chỉ để hiện thị.
•Hiển thị và cập nhật cơ sở dữ liệu được hiển thị trên trang web. •Tạo những trang web mà có thể được sắp xếp thứ tự.
•Phản hồi từ phía người dùng và đưa thông tin trở về cho người dùng.
Truy cập cơ sở dữ liệu với các đối tượng Active Data: dùng ADO, ODBC, CSDL
có thể truy cập từ ASP script và các ngôn ngữ phổ biến như Visual Basic và C++.
Các vấn đề cơ bản để xây dựng các ứng dụng trên ASP Tập tin Global. asa
Tập tin Global.asa là tập tin tuỳ chọn, có thể khai báo các script đáp ứng biến cố, các oject trong ứng dụng hay các session (các phiên làm việc). Đây là tập tin mà các người không cần thực thi thì nó vẫn tự động chạy khi chương trình trên server chạy. Thông tin nó chứa là những thông tin được dùng cho tồn cục. Tập tin này phải đặt tên là “global.asa” và được đặt trong thư mục gốc của ứng dụng. Mỗi ứng dụng chỉ có một tập tin “global.asa” duy nhất: application, event, session events.
ASP: ASP được thiết kế để kết hợp cùng với HTML để tạo trang web động. ASP có thể tạo ra trang HTML. Một trang web sử dụng ASP bao gồm 3 kiểu syntax. Một vài trang sẽ có cấu trúc từ văn bản, thẻ HTML và mã lệnh ASP.
Các tính chất của ASP: ASP cho phép chèn script thực thi trực tiếp trên trang HTML và có thể chèn các thành phần HTML và trang web.
Có thể dùng ASP để xem trên Netscape hoặc Internet Explorer : ASP được thực thi trên server, có nghĩa là ta có thể dùng bất cứ trình duyệt nào để xem kết quả. ASP có thể được xem dễ dàng trong trình netscape navigator hay internet oxplorer. Tuy nhiên, ta cần chú ý đến web server phải có khả năng chạy ASP. ASP là một trong nhiều kỹ thuật dùng để tạo các trang Web động.
Active Websites: với nhiều kỹ thuật mới, chúng được kết hợp xây dựng với nhiều ngôn ngữ và kỹ thuật, ta có thể dùng bất cứ một trong những kỹ thuât ngôn ngữ này:
•Active X Controls: được tạo bởi các ngôn ngữ Vissual C++ hay Visual Basic. • Java.
•Ngôn ngữ kịch bản (script language) như: VBScript và JavaScrips/Jscript/ECMAScript.
•Active Server Page và Dynamic HTML.
Sơ nét về ngôn ngữ ActiveX Controls: ActiveX Contrls được biết như là một công cụ và được viết dưới dạng ngôn ngữ như: C++ hay Visual Basic. Khi thêm vào trang web chúng cung cấp những hàm đặc biệt như: bar charts (thanh đồ thị), graphs(đồ hoạ), hay truy cập cơ sơ dữ liệu.
ActiveX cotrols được thêm vào trang HTML bởi tag <object> đây là chuẩn của HTML. Nó có thể thực thi bởi trình browser hay server khi chúng chạy trên treng web.
Sơ nét về Scrips Language:
Nó cung cấp nhiều cổng truy cập vào chương trình. Việc dùng trang web client-side scripting phát triển cung cấp từ trang HTML động đến trang HTML tĩnh.
JavaScript là ngôn ngữ kịch bản đầu tiên. VBScript do Microsoft phát triển nó dựa vào ngôn ngữ Visual Basic. Script chạy trên trình duyệt Internet Explorer 3.0 và trong trình Netcape Navigator/Communication 2.0
Internet Explorer 4.0 trở lên hỗ trợ cả hai ngôn ngữ: Jscript và VBScript trong khi đó Communication 4.0 trở lên hỗ trợ cả hai ngôn ngữ: Jscript và VBScript trongkhi đó Communication 4.0 chỉ hỗ trợ cho JavaScript.
ASP và dynamic HTML đều là ngôn ngữ mở rộng của ngôn ngữ kịch bản và HTML. Tuy nhiên không phải cả hai chương trình ngôn ngữ đều đúng. ASP lấy đoạn mã chương trình và chuyển sang HTML trên server, trước khi trả nó về browser.
Dynamic HTML: Người dùng nhập một địa chỉ vào browser hay chọn dòng sáng hyperlink trên trang khác sẽ gửi yêu cầu từ browser đến server.
Active Server Objects: gồm có 6 objects.
•Request. •Response. •Server . •Application. •Session. •ObjectContext.
Mô hình đối tượng của ASP
Hình 6: Mô hình đối tượng của ASP.
Trong đó Request và Response tự minh định. Request phải được tạo trong hình thức nhập từ một trang HTML. Response dùng để trả lời kết quả từ server cho browser.
Server dùng để cung cấp nhiều chức năng như tạo một object mới.
Client Server Server Object Application Object Session Object Request Object Response Object ObjectContext Object
Aplication và session dùng để quản lý thông tin về các ứng dụng đang chạy trong chương trình.
Object context dùng với Micrsoft transaction server.
Request Object: Cho phép ta lấy thông tin dọc theo yêu cầu HTTP. Việc trao đổi bên ngồi từ server bị quay trở về như một phần của kết quả (response). Request tập trung nhiều đến phần lưu trữ thông tin.
Tồn bộ các Request Object: gồm có 5 loại.
QueryString: lưu trữ một tập những thông tin để vào địa chỉ cuối (URL). VD: <% = Request.QueryString(“buyer”)%>
Form: lưu trữ một tập tất cả các biến gửi đến HTTP request. VD:<% = Request.Form(“buyer”)%>
Cookies: chứa tập các cookie chỉ đọc gửi đến bằng client browser với yêu cầu.
ClientCertificate: khi client tạo một tập với một server yêu cầu sự bảo mật cao.
Server Varialbles: khi client gửi một yêu cầu và thông tin được đưa tới server, nó không chỉ gửi qua mà còn thông tin việc ai tạo trang, tên server và cổng mà yêu cầu gửi đến.
Vd: <% = Request.ServerVariable(“HTTP_USER_AGENT”)%>
Response Object : cung cấp những công cụ cần thiết để gửi bất cứ những thứ gì cần thiết trở về client.
Tập các Response Object: đối tượng response lưu trữ chỉ tập cookie. Các tập cookie là những tập văn bản nhỏ (giới hạn 4KB) được chia trên ổ đĩa cứng của client mà những tập này lưu trữ thông tin về người dùng.
VD: Tạo một cookie trên máy client.
Response.Cookies(“BookBought”) = “Beginning ASP”
Những đặctính có thể dùng:
Domain: một cookie chỉ được gửi đến trang đã yêu cầu bên trong vùng từ nơi nó được tạo.
Haskey: định rõ cookie sử dụng một trong hai loại: index/dictionary object hay không dùng.
Secure: định rõ cookie là an tồn. Một cookie an tồn là nếu gửi qua giao thức HTTP.
Những phương thức của Response Object:
Write: ghi biến, chuỗi, cho phép ta gửi thông tin trở về browser . VD: text = “Hello World !”
Response. Wirte text
My message is <%=text%>
AddHeader: cho phép ta thêm hoặc thay đổi giá trị ở phần đầu HTTP. VD: Response.AddHeader “CustomServerApp”, “BogiePicker/1.0”
AppendToLog: cho phép thêm một chuỗi vào bản ghi tập tin của web server, cho phép thêm tuỳ ý các thông điệp vào bản ghi tập tin.
BinaryWrite: User cho phép ta chuyển đổi vòng các ký tự thường khi dữ liệu được gửi trở về client.
Clear: cho phép ta xố bỏ bất cứ vùng nhớ bên ngồi HTML.
End: cho phép ngừng việc xử lý tập tin ASP và dữ liệu đệm hiện thời quay trở về browser .
Flush: cho phép dữ liệu đệm hiện thời quay trở về browser và giải phóng bộ đệm.
Redirect: cho phép ta bỏ qua sự điều khiển của trang hiện thời nối kết vào trang web khác.
VD: <%
If (Not Session(“LoggedOn”)) Then Response.Redirect “login.asp” End If
%>
Những đặc tính của Response Object: Buffer: định rõ trang.
CacheControl: xác định proxy server được cho phép phát sinh ra do ASP.
Charset: nối thêm tên ký tự vào đầu content-type.
ContentType: HTTP content type cho phần trả lời.
Expires: số lần phát sinh giữa lần lưu trữ và phần kết thúc cho một trang lưu trữ trên browser.
ExpiresAbsolute: ngày giờ được phát sinh trên browser
IsClientConnected: client ngưng việc kết nối từ server.
Status: giá trị của HTTP status quay trở về server .
Application Object: Mỗi ứng dụng được trình bày bởi một application object. Đây là đối tượng được chứa các biến và các đối tượng cho phạm vi ứng dụng cách dùng.
Những tập các Application object:
Content: chứa tất cả các mẫu tin thêm vào ứng dụng thông qua các lệnh script.
StaticObjects: chứa tất cả các đối tượng thêm vào ứng dụng bằng thẻ <object>.
Những phương thức của Application object:
OnStart: xảy ra khi trang web trong ứng dụng được tham chiếu lần đầu.
OnEnd: xảy ra khi ứng dụng kết thúc, khi web server ngưng hoạt động.
Session Object: được dùng để kiểm tra browser khi nó điều hướng qua trang web.
Tập các Session Object:
Content: chứa tất cả các mẩu tin thêm vào session thông qua các lệnh script.
StaticObject: chứa tất cả các đôi tượng thêm vào session bằng thẻ <object>.
Những phương thức của Session Object:
Abandon: huỷ một session và giải phóng nó ra khỏi nguồn.
Những đặc tính của Session Object:
CodePage: lấy đoạn mã sẽ dùng cho symbol mapping.
LCID: lấy nơi định danh.
SessionID: quay trở về định danh phiên làm việc cho người dùng.
Timeout: lấy khoản thời gian cho trạng thái phiên làm việc cho ứng dụng trong vài phút.
Những sự kiện của Session Object:
OnStart:xảy ra khi server tạo một session mới.
OnEnd: xảy ra khi một sesion đã giải phóng hay hết giờ làm việc.
Server Object: dùng để tạo các component.
Những đặc tính của Server Object:
ScriptTimeOut: khoảng thời gian dài khi script chạy trước khi xảy ra lỗi.
Những phương thức của Server Object:
CreateObject: Tạo một đối tượng hay server component.
HTMLEncode: Ứng dụng HTML vào chuỗi chỉ định.
MapPath: chuyển đường dẫn ảo vào đường dẫn vật lý.
Urlencode: áp dụng địa chỉ URL.
ObjectContext Object: khi chúng ta dùng MTS (Microsoft transaction Server) quản lý một giao tác, chúng ta có chức năng bên trong script hồn thành (hay abort) giao tác.
Những phương thức của ObjectContext Object:
SetComplete: khai báo mà script không cần nguyên nhân cho giao tác không hồn thành.
Những sự kiện của ObjectContext Object:
OntransactionCommit: xảy ra sau khi giao tác của script hồn tất.
Ontransaction Abort: xảy ra nếu giao tác không hồn tất.
Quản lý ASP và Session: một trong những lợi ích của ASP là nó có phiên làm việc (session) quản lý tốt được xây dựng trong chương trình.
Các thẻ định dạng của ASP: các đoạn mã chương trình đều chứa ở trong thẻ <% %>.
VD: đây là một ví dụ về đoạn mã ASP nằm trong thẻ định dạng <% và %> <table> <tr> <td> <% x = x+1 y = y-1 %> </td> </tr> </table>
Active X Server Components:
Active X server component thiết kế chạy trên web server như là một phần của ứng dụng trên web component chứa đựng những đặc trưng mà ta không cần phải tạo ra lại những đặc trưng này. Component thường được gọi là những tập tin “*.asp”.
I.6.4 Ưu diểm và khuyết điểm ASP.I.6.4.1 Ưu điểm. I.6.4.1 Ưu điểm.
ASP bổ sung cho các công nghệ đã có từ trước như CGI, giúp người xây dựng các ứng dụng web với những tính năng sinh động.
Dễ dàng tương thích với các công nghệ của Microsoft. ASP sử dụng Active X data object (ADO) để thao tác với cơ sở dữ liệu hết sức tiện lợi.
Với những gì ASP cung cấp, các nhà phát triển ứng dụng web dễ dàng tiấp cận công nghệ này và nhanh chóng tạo ra các sản phẩm có giá trị.
ASP có tính năng mở. Nó cho phép các nhà lập trình xây dựng các component và đăng ký sử dụng dễ dàng. Hay nói cách khác ASP có tính năng component object model (COM)
I.6.4.2 Khuyết điểm:
ASP chỉ chạy và tương thích trên môi trường Window điều này làm ASP
bị hạn chế rất nhiều.
Dùng ASP chúng ta sẽ gặp không ít khó khăn trong việc can thiệp sâu vào hệ thống như các ứng dụng CGI.