Chương này trình bày một nội dung mới trong .NET framework 3.5 - ASP.NET AJAX. ASP.Net AJAX cho phép các lập trình viên tạo ra những giao diện web với những thành phần Ajax có thể dùng lại được. Trong đó AJAX là một công cụ dành cho các lập trình viên mà trước đây có mã danh là Atlas giúp xây dựng những ứng dụng web dựa trên tập ngôn ngữ Ajax (Asynchronous JavaScript and XML) – bất đối xứng JavaScript và XML. Ajax chắc hẳn sẽ trở thành một nền tảng cho lựa chọn phát triển kiến trúc các ứng dụng web thế hệ kế tiếp bởi vì công cụ đó cho phép ứng dụng nhanh và mạnh hơn, đồng thời thêm thuận lợi đối với tương tác người sử dụng. Nội dung chương này sẽ giúp sinh viên tìm hiểu được tổng quan về ASP.NET AJAX, đâu là kiến trúc của nó và một số kĩ thuật lập trình cơ bản với ASP.NET AJAX.
Kế hoạch giảng
Đây là chương có nội dung khá dài, giáo viên nên tách thành 2 phần. Mỗi phần sẽ giảng trong thời gian 3 tiết.
Phần 1.
Introducing ASP.NET AJAX (part 1 trong giáo trình) Microsoft AJAX Library (part 2 trong giáo trình)
Introducing ASP.NET AJAX
Phần này giới thiệu cho sinh viên tổng quan về ASP.NET AJAX. Vì trong khoảng thời gian có hạn của chương trình dạy, không thể giảng cho sinh viên từ phần ASP.NET nên trước khi vào nội dung chính giáo viên có thể nên giới thiệu qua về ASP.NET để sinh viên có thể hiểu được nội dung chương này.
Các nội dung chính cần truyền đạt cho sinh viên: - What is Ajax?
Giới thiệu cho sinh viên khái niệm AJAX. Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ: HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin; Mô hình DOM (Document Object Model), được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị, Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn ngữ thường được sử dụng); XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ
định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML. Giáo viên cần nhấn mạnh cho sinh viên Ajax tự nó không phải là một công nghệ mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhóm nhiều công nghệ với nhau.
- Ajax components
Trình bày các thành phần của AJAX. Chú ý nhấn mạnh cho sinh viên 4 thành phần chính của AJAX là:
JavaScript
Document Object Model (DOM)
Cascading Style Sheets (CSS)
XMLHttpRequest
Giáo viên có thể giải thích qua cho sinh viên khái niệm từng thành phần. Ví dụ nên giải thích cho sinh viên javascript là gì? dùng để làm gì? CSS là gì?
- Asynchronous web programming
Hướng dẫn sinh viên mô hình tương tác web browser – server trước đây và khi dùng AJAX. Cần nhấn mạnh với sinh viên: Điểm khác biệt cơ bản nhất của công nghệ AJAX là việc xử lý thông tin được thực hiện trên máy client thay vì máy server như cách truyền thống. Máy chủ chỉ làm một việc đơn giản là nhận thông tin từ máy khách và trả các dữ liệu về cho máy khách. Máy khách xử lý sơ bộ thông tin của người dùng nhập vào, sau đó chuyển về máy chủ rồi nhận dữ liệu từ máy chủ và xử lý để hiển thị cho người dùng.
- ASP.NET AJAX Architecture
Trình bày cho sinh viên kiến trúc của ASP.NET AJAX. Chú ý rằng kiến trúc của ASP.NET AJAX nằm ở cả 2 phía Client và Server.
Client framework
Microsoft Ajax Library
HTML, JavaScript, and XML Script
ASP.NET AJAX service proxies
Server framework
ASP.NET AJAX server controls
Web services bridge
Application services bridge - Development scenarios
Giới thiệu 2 kịch bản phát triển ứng dụng:
Client-centric development model
Server-centric development model
Phân tích cho sinh viên điểm khác biệt của 2 kịch bản này, trường hợp sử dụng của từng kịch bản.
- ASP.NET AJAX goals
Giới thiệu cho sinh viên các ưu điểm của việc lập trình ASP.NET AJAX giúp sinh viên tăng thêm hứng thú học tập.
Đây là thành phần chính trong Client Framework. Giáo viên cần giới thiệu với sinh viên các nội dung:
- A quick overview of the library Đưa ra cái nhìn tổng quan về library.
- Client Library Namespaces: Trình bày tổng quan các namespaces trong library. Chú trọng đến một số namespaces Sys, Sys.Net...
- Client-Side Event Life Cycle: Trình bày vòng đời của sự kiện phía client, mô tả cho sinh viên từng bước trong vòng đời.
Event Handling in the Microsoft AJAX Library: Hướng dẫn sinh viên cách bắt các sự kiện trong Microsoft AJAX Library.
Trong phần đầu này giáo viên nên demo cho sinh viên xem một vài ứng dụng nhỏ sử dụng ASP.NET AJAX để tăng tính trực quan và giúp sinh viên nắm bài tốt hơn trong lần đầu tiên tiếp xúc với một kĩ thuật mới.
Phần 2.
Working with Web Services (part 3 trong giáo trình) ASP.NET AJAX Control Toolkit (part 4 trong giáo trình) Building Web Application (part 5 trong giáo trình)
Working with Web Services
Gọi Web Services là một phần rất quan trọng trong AJAX. Giáo viên cần giới thiệu cho sinh viên khái niệm Web Services, tầm quan trọng của Web Services hiện nay.
Các nội dung cần truyền đạt đến sinh viên bao gồm: - Introduction
Giới thiệu với sinh viên về việc làm việc với Web Services qua ASP.NET AJAX. - Server-Side Operations
Trình bày các lệnh gọi Web Services bên phía Server. Giáo viên có thể trình bày một ví dụ cụ thể trên Visual Studio hay demo qua video để sinh viên thấy rõ hơn.
- Using the ASP.NET Calling Convention - Returning Data
ASP.NET AJAX hỗ trợ làm việc với nhiều kiểu dữ liệu, từ các kiểu đơn giản cho đến phức tạp. Giáo viên lấy một vài ví dụ cụ thể để sinh viên nắm được cách làm việc với dữ liệu.
- Page-Based Web Services
ASP.NET AJAX Control Toolkit
Đây là một tập các control mà Microsoft cung cấp để làm việc với Microsoft AJAX Library và AJAX ASP.NET Extensions. Trong đó Microsoft AJAX Library và AJAX ASP.NET Extensions như là core framework còn ASP.NET AJAX Control Toolkit như là một tập các control được xây dựng trên framework đấy.
- Introduction
- Basic Control Usage
- Control List: Giới thiệu một số control cơ bản.
Accordion
Calendar
ConfirmButton
- Creating Your Own Extender Controls: Giới thiệu cách tạo extender control. Giáo viên có thể trình bày một ví dụ cụ thể cho sinh viên.
Building Web Application
- Securing Web Applications - Profile Services
Phần này trình bày một số vấn đề thường gặp khi xây dựng một ứng dụng Web.
Thực hành: Lab 7.
Bài tập về nhà: Exercise 7.