Chương I LẬP TRÌNH ỨNG DỤNG WEB VỚI ASP.NET Kết thúc chương này các bạn có thể: Nắm vững khái niệm ứng dụng Web Hiểu rõ về các khái niệm cơ bản về Web, về mô hình kiến trúc Client-Server 2 lớp (two tier) và 3 lớp (three tier) Nhận biết các ngôn ngữ lập trình ứng dụng Web: HTML, DHTML, VBScript, JavaScript Cài đặt được Web Server IIS trên máy chạy hệ điều hành Windows Trình bày được các đặc điểm của ASP và ASP.NET Sử dụng được Visual Studio.Net 2008 để tạo ứng dụng Web 1. SỰ CẦN THIẾT PHẢI TRIỂN KHAI ỨNG DỤNG WEB Với sự phát triển nhanh chóng và mạnh mẽ của ngành công nghệ thông tin, đặc biệt là sự phát triển các hệ thống mạng intranet, internet, trong các lĩnh vực như: thương mại, y tế, giáo dục, nhu cầu trao đổi thông tin thực sự là rất cần thiết, giúp cho công việc được triển khai dễ dàng, chính xác, với tốc độ nhanh và tiết kiệm chi phí, thông tin được cập nhật kịp thời. Từ đó vấn đề đặt ra ở đây là chúng ta cần phải có một ứng dụng cho phép trao đổi thông tin mọi lúc, mọi nơi, dễ sử dụng,… thông qua môi trường mạng. Ứng dụng Web đáp ứng được các yêu cầu đặt ra với các lý do sau: Dễ dàng trao đổi và chia sẽ thông tin qua mạng Sử dụng giao diện đồ họa giúp cho người dùng dễ sử dụng Hỗ trợ về multimedia như: hình ảnh, âm thanh, phim ảnh,… Hỗ trợ nhiều chương trình duyệt web (web-browser) để truy cập Web Hỗ trợ truy cập web trên các thiết bị đi động: PocketPC, SmartPhone,… Hỗ trợ nhiều ngôn ngữ để phát triển Web: ASP, ASP.NET, JSP, PHP,… 9 Web client (Browser) Các máy khách (Client) sẽ sử dụng chương trình để triệu gọi đến các trang web gọi là trình duyệt web hay Web browser.
Hiện nay, có rất nhiều trình duyệt web thông dụng như: Internet Explorer, Mozila FireFox, Google Chrome, Opera,. Web server Các máy chủ (Server) chứa các ứng dụng Web, sẵn sàng truy xuất các trang web hay các tài liệu và gửi về cho client khi nhận được yêu cầu từ phía client. Hiện nay có rất nhiều Web server và chạy trên nhiều hệ thống như: Apache, Microsoft, Sun,… Giao thức HTTP Quá trình giao tiếp giữa client và server được thực hiện thông qua giao thức chuẩn HTTP (HyperText Transfer Protocol). Hình minh họa sau mô tả việc truy cập ứng dụng Web.1: Minh họa truy cập ứng dụng Web Ứng dụng Web được xây dựng theo mô hình Khách-Chủ (Client- Server) Quá trình giao tiếp giữa client và server được thực hiện thông qua giao thức chuẩn của Web là HTTP (HyperText Transfer Protocol).
Mô hình Client-Server là mô hình Three Tier gồm ba thành phần chính là: máy khách (client tier), máy phục vụ (Web server tier) và máy chủ dữ liệu (data server tier).1 trên minh họa một kiến trúc ứng dụng Web với công nghệ của Microsoft với Webserver là IIS, và tầng máy chủ dữ liệu thường là cơ sở dữ liệu MS Access hoặc MS SQL Server. 10 Client sử dụng giao thức HTTP Request để gửi yêu cầu (trang web) lên Server, Server xử lý và sử dụng giao thức HTTP Response để gửi kết quả về cho Client. Ngôn ngữ đánh dấu siêu văn bản HTML (HyperText Transfer Markup Language) Ngôn ngữ chuẩn được sử dụng để thiết kế một trang Web. HTML cho phép người viết có thể phân chia và trình bày thông tin trên một trang tin.
HTML đơn giản, dễ học. HTML đơn giản là tập tin có phần mở rộng .html), sử dụng các thẻ (tag): kiểu văn bản, danh sách, các siêu liên kết (hyperlinks),… Chúng ta có thể dùng các phần mềm thiết kế web như: FrontPage, DreamWeaver,… để thiết kế các trang HTML. Ngôn ngữ đánh dấu HTML sử dụng các thẻ ký hiệu quy định sẵn (được gọi là tag) để trình bày nội dung văn bản.2: Trang siêu văn bản HTML Thí dụ 1.1: Nội dung trang web Hello.html <Html> <Head> <Title>Trang ASP.NET</Title> </Head> <Body> <P align="center"> <FONT size="12"> Chào các bạn đã đến với ASP.5!!! </FONT> </P> </Body> </Html> 11 Client Scripting và Server Scripting Các ngôn ngữ dùng để viết mã lệnh cho trang web. Một trang web được xử lý ở server và trả kết quả về cho client.
Do đó, các ngôn ngữ viết mã cho trang web được chia thành hai dạng: ClientScript: được xử lý tại trình duyệt (Web browser) trên máy client. Các ngôn ngữ thường dùng để viết là: VBScript, JavaScript, DHTML,… o JavaScript là ngôn ngữ phổ biến sử dụng nhiều nhất hiện nay. JavaScript được dùng để thực hiện một số tác vụ như kiểm tra thông tin nhập vào, kiểm tra trình duyệt,. o DTHML: là sự kết hợp của HTML, Style Sheet (CSS) và JavaScript nhằm làm cho trang web dễ tương tác, điều khiển và giảm bớt việc xử lý phía Server.
o VBScript là ngôn ngữ script của Microsoft. Chức năng của VBScript cũng giống như JavaScript. o Sau này có thêm thư viện JavaScript là JQuery rất mạnh được thiết kế để đơn giản hóa lập trình phía máy client. Server Scripting: được xử lý tại Web server trên máy Server.
Các ngôn ngữ dùng để viết là: ASP, ASP.NET, PHP, JSP,… Trong chương này, chúng ta sẽ tìm hiểu ngôn ngữ ASP và ASP. Các mô hình ứng dụng Mô hình ứng dụng hai tầng Hình 1.3: Mô hình hai tầng (Two Tier) Đây là một dạng mô hình đơn giản, khá phổ biến của một ứng dụng phân tán. Trong mô hình này, việc xử lý dữ liệu được thực hiện trên máy chủ dữ liệu Database Server, việc nhận và hiển thị dữ liệu được thực hiện ở Client. Mô hình này dùng cho ứng dụng lập trình trên Windows.
12 Ưu điểm Dữ liệu tập trung đảm bảo dữ liệu được nhất quán. Dữ liệu được chia sẻ cho nhiều người dùng. Nhược điểm Các xử lý tra cứu và cập nhật dữ liệu được thực hiện ở Database Server, việc nhận kết quả và hiển thị phải được thực hiện ở Client -> Khó khăn trong vấn đề bảo trì và nâng cấp. Khối lượng dữ liệu truyền trên mạng lớn -> chiếm dụng đường truyền, thêm gánh nặng cho Database Server.
Mô hình ứng dụng ba tầng Mô hình hai lớp phần nào đáp ứng được các yêu cầu khắt khe của một ứng dụng phân tán. Tuy nhiên, khi khối lượng dữ liệu lớn, ứng dụng đòi hỏi nhiều xử lý phức tạp, số người dùng tăng, mô hình hai tầng không thể đáp ứng được. Mô hình ba lớp sử dụng thêm WebServer hay còn gọi là Application Server giữ nhiệm vụ tương tác giữa Client và Database server, giảm bớt các xử lý trên Database server, tập trung các xử lý nhận và hiển thị dữ liệu tại Application server.4: Mô hình ba tầng (Three Tier) Ưu điểm Hỗ trợ nhiều người dùng Giảm bớt xử lý cho Client Không yêu cầu máy tính ở Client có cấu hình mạnh. Xử lý nhận và hiển thị dữ liệu tập trung tại Application Server dễ quản lý, bảo trì và nâng cấp.
Xử lý truy cập dữ liệu tập trung tại Database Server. 13 Nhược điểm Phải sử dụng thêm một Application Server tăng chi phí. GIỚI THIỆU VỀ ASP & ASP. Giới Thiệu về ASP Công nghệ Active Server Page (ASP) do Microsoft phát triển là môi trường lập trình về phía server (server side programming), hỗ trợ mạnh trong việc xây dựng các ứng dụng thương mại điện tử (các trang Web Ecommerce).
Các ứng dụng ASP rất dễ viết và dễ sửa đổi, đồng thời tích hợp các công nghệ sẵn có của Microsoft như: COM, DCOM,… Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin,…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript. Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài. Một ứng dụng ASP được triển khai trên Web Server là IIS (Internet Information Service) có sẵn trong môi trường Windows.
Để có thể triển khai ứng dụng ASP trên các môi trường khác ta phải cài đặt các thư viện hỗ trợ ASP. Đặc điểm của trang ASP ASP là một tập tin văn bản (text file) có phần mở rộng. Phần mở rộng này sẽ giúp Web server yêu cầu trình xử lý trang ASP (ASP engine) trước khi trả về cho trình duyệt. Ngôn ngữ script thông dụng nhất để viết mã của ASP là VBScript.
Ngoài ra, ta cũng có thể viết mã bằng các ngôn ngữ khác như: JavaScript, Perl, Python,… nếu trên Web server có cài đặt các bộ xử lý ngôn ngữ này. Các đoạn mã viết trong trang ASP sẽ được các bộ xử lý ngôn ngữ trên Web server xử lý tuần tự từ trên xuống dưới. Kết quả của việc xử lý này là trả về trang mã HTML cho web server và web server sẽ gửi trang HTML này về cho trình duyệt (Browser). Do đó, tại trình duyệt không thể thấy được, các đoạn mã chương trình đã viết trong trang ASP.
14 Một trang ASP gồm bốn phần: Dữ liệu văn bản (text) Các thẻ (tag) HTML Các đoạn mã chương trình phía client đặt trong cặp thẻ <SCRIPT> và </SCRIPT> Mã chương trình ASP được đặt trong cặp thẻ <% và %> Ba thành phần đầu tiên là cấu trúc của một trang HTML thông thường, do đó, có thể xem một trang ASP là một trang HTML được nhúng thêm phần xử lý viết bằng mã ASP (VBScript, JavaScript,…).2: Minh họa trang Sample.asp <HTML><BODY> <CENTER><I><FONT COLOR="HOTPINK" size = 5> <% @Language=VBScript %> <P> <B> to my website</B>. Today is <% Response.Write Date() %> </FONT></I></CENTER> </BODY> </HTML> Kết quả thực thi: Hình 1.5: Minh họa kết quả trang Sample.asp 15 Ưu điểm Trang ASP được diễn dịch một cách tự động Xây dựng ứng dụng Web động Xử lý dữ liệu động hiệu quả Nhược điểm Chỉ sử dụng hai ngôn ngữ kịch bản phi định kiểu (non-type): VBScript và JavaScript, Sử dụng trình thông dịch cho các trang ASP Các đoạn mã lệnh và giao diện (HTML) trộn lẫn với nhau Không sử dụng lại được (reuse) các đoạn mã Không hỗ trợ cơ chế bẫy lỗi (Debug) 1.2 Giới thiệu về ASP.NET Như chúng ta đã biết, ASP vẫn còn tồn đọng một số khó khăn như mã lệnh ASP và HTML lẫn lộn, điều này làm cho quá trình viết mã khó khăn, thể hiện và trình bày mã không trong sáng, hạn chế khả năng sử dụng lại mã.