• Thứ Sáu, 16/04/2004 08:00 (GMT+7)

    Xây dựng ứng dụng WAP với IIS và ASP

    WAP, viết tắt của Wireless Application Protocol (Giao thức ứng dụng không dây), kế thừa các chuẩn Internet (HTML, XML và TCP/IP), cho phép các thiết bị cầm tay có thể kết nối tới Server truy xuất thông tin và các dịch vụ. Giao thức này được thiết kế cho các trình duyệt siêu nhỏ (micro browser) dùng ngôn ngữ đánh dấu WML (Wireless Markup Language). Công nghệ WAP đang là công nghệ chuẩn chủ đạo cho các ứng dụng trên các thiết bị không dây như điện thoại di động.

    WAP, viết tắt của Wireless Application Protocol (Giao thức ứng dụng không dây), kế thừa các chuẩn Internet (HTML, XML và TCP/IP), cho phép các thiết bị cầm tay có thể kết nối tới Server truy xuất thông tin và các dịch vụ. Giao thức này được thiết kế cho các trình duyệt siêu nhỏ (micro browser) dùng ngôn ngữ đánh dấu WML (Wireless Markup Language). Công nghệ WAP đang là công nghệ chuẩn chủ đạo cho các ứng dụng trên các thiết bị không dây như điện thoại di động.
    Một số ứng dụng WAP điển hình đang được áp dụng: đặt vé; kiểm tra email; xem dự báo thời tiết, tỉ giá, giá cổ phiếu; xem kết quả bóng đá; tra cứu danh bạ điện thoại…



    Hình 1:hiển thị với Deck-it

    Trình duyệt WAP siêu nhỏ (WAP Micro Browser) và  WML
    Để vừa vặn hiển thị các trang thông tin lên các thiết bị không dây cỡ nhỏ, WAP sử dụng trình duyệt siêu nhỏ. Trình duyệt siêu nhỏ thực chất là một phần mềm nhỏ tốn rất ít tài nguyên bộ nhớ cũng như các yêu cầu về phần cứng và CPU. Một số trình duyệt Wap thông dụng hiện nay: Klondike (http://www.apachesoftware.com), Deck-it (http://www.pyweb.com), Gelon (http://www.gelon.net)…
    WML, viết tắt của Wireless Markup Language, là ngôn ngữ đánh dấu kế thừa từ HTML nhưng dựa trên XML do đó nó chặt chẽ hơn HTML. WML được sử dụng để tạo ra các trang có khả năng hiển thị trên WAP browser. Trang WML được gọi là DECK, mỗi DECK gồm một hoặc nhiều CARD.
    Ví dụ một trang WML:

    <?xml version='1.0'?>

    <!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN'

    'http://www.wapforum.org/DTD/wml_1.1.xml'>

     
    Hình 2:Trang WML này sau khi save vào đĩa và hiển thị nhờ Klondike(trình duyệt cho phép mở trực tiếp trang WML bình thường như mở một file)

    <wml>

    <card id='card1' title='Minh hoa card 1'>

    <p>

    Chao ban da den voi wml

    </p> </card>

    </wml>
    Bạn có thể tham khảo thêm về cú pháp của WML tại địa chi www.w3schools.com/wap.

    Cấu hình IIS thực hiện chức năng WAP Server
    Như đã biết, kể từ Windows 2000, IIS (Internet Information Services) được tích hợp sẵn trong bộ cài đặt và là một thành phần tùy chọn (option). Mặc định, IIS được cấu hình làm Server phục vụ các ứng dụng Web; để IIS có thêm khả năng phục vụ các ứng dụng Wap, cần thêm một số thiết lập sau:
    1. Từ menu Start, chọn Settings.Control Panel.Administrative tools.Internet Services Manager. Mở dấu '+' ở tên máy và nhấn chuột phải vào Default Web Site.
    2. Chọn Properties.
    3. Chọn Tab HTTP Headers, ở mục MIME Map, chọn File Types.

    4. Nhấn New Type.
    5. Gõ wml vào ô Extension
    6. Gõ text/vnd.wap.wml vào ô Content MIME.
    7. Lặp lại các bước từ 4 đến 6 và gõ vào các thông số theo bảng 1.









    Giống như xây dựng trang Web động, ta có thể dùng công nghệ ASP (Active Server Pages) để xây dựng các ứng dụng WML cho phép tương tác với người sử dụng. Nếu bạn đã từng sử dụng ASP cho các ứng dụng Web thì bạn sẽ nhận thấy một điều cơ bản là ASP sau khi thực thi trên máy chủ sẽ trả về cho Client mã HTML mà trình duyệt có thể hiểu được. Tương tự, khi xây dựng ứng dụng WML, để hiển thị được trang trả về trên WAP browser bạn chỉ cần chỉ định ASP trả về mã WML, các thao tác còn lại giống hệt như Web động.
    Hiện tại cấu hình WML của ta vẫn ở trạng thái tĩnh, cần phải thêm vào asp.dll để IIS có khả năng tạo ra văn bản wml. Để làm điều này, trong Properties của Default Web Site, chọn tab Home Directory, Nhấn Configuration, bảng trong hình 3 sẽ hiện ra.
    Chọn Add, sau đó điền nội dung vào hộp thoại Add/Edit Application Extension Mapping như trong hình 4.



    Hình 3

    Như vậy là ta đã cấu hình xong IIS, ngoài ra, muốn hiển thị trên wap browser ở trên đầu mỗi trang asp ta cần thêm đoạn lệnh sau:

    <% response.ContentType = 'text/vnd .wap.wml' %>

    Sau khi cấu hình máy chủ, ta có thể tạo riêng 1 thư mục trên ổ C, ví dụ: C:\WAP-applications, sau đó chép file WML ở trên và đặt tên file là index.wml. Ngoài ra, ta gõ thêm file sau và đặt tên là index.asp

    <% response.ContentType = 'text/vnd.wap.wml' %>

    <?xml version='1.0'?>

    <wml>

    <card id='card1' title='Minh hoa asp'>

    <p>

    <%response.write('Chao ban')%>

    </p></card>

    </wml>


    Hình 4




     





    Thiết lập đường dẫn ảo (virtual directory) tới thư mục này mang tên wap, sau đó khởi động trình duyệt WAP, gõ vào ô địa chỉ dòng chữ: http://localhost/wap/index.wml và http://localhost/wap/index.asp. Nếu cả hai trường hợp trên màn hình trình duyệt hiện ra nội dung 'Chao ban' có nghĩa là máy chủ của ta đã sẵn sàng để chạy các ứng dụng tiếp theo.

    Minh hoạ ứng dụng hiển thị và cập nhật CSDL qua WAP Browser
    Chúng ta sẽ cùng nhau xây dựng một ứng dụng nhỏ cho phép hiển thị CSDL là 1 danh sách bao gồm tên và số điện thoại. CSDL của ta được tạo trên Access, có tên là danhba.mdb, gồm 1 bảng danhsach và 2 trường Ten (kiểu text) và Dienthoai (kiểu số).

    Chương trình có 3 file:
    Display.asp: hiển thị CSDL
     Form.wml: nhập dữ liệu
    Insert.asp: cập nhật dữ liệu từ form vào CSDL.
    Ghi cả 3 tập tin trên vào thư mục bạn vừa tạo, khởi động Wap browser rồi gõ vào địa chỉ: http://localhost/wap/form.wml. Sau khi nhập tên và số điện thoại rồi submit, nếu màn hình hiển thị tên và số điện thoại bạn vừa nhập thì có nghĩa là bạn đã thành công.
    Tương tự như vậy, bạn có thể tham khảo thêm cú pháp các thẻ của WML cũng như WML Script (Java Script thu gọn) để xây dựng cho mình các ứng dụng phong phú hơn. Riêng đối với ứng dụng CSDL vừa làm, bạn có thể thêm chức năng xóa, sửa và tìm kiếm để chương trình trên trở thành một ứng dụng hoàn chỉnh.ÿ

     Ngọc Minh
    minhdn@vnu.edu.vn

     

    ID: A0312_96