III. Bức tranh toàn cảnh: Thiết kế server thông dụng
3.3.4 T−ơng tác data-centric
Trong một vài tr−ờng hợp, ta muốn chia sẻ bảng dữ liệu của client Ajax với một vài dạng client khác nh− client Java hay .Net. Trong tr−ờng hợp này, ta có thể đ−a ra một dạng dữ liệu trung gian thay vì một tập các lệnh JavaScript. Giải pháp ở đây là server sẽ phục vụ một luồng dữ liệu “sạch”, của riêng mã client của ta, thay vì dùng một thực thể JavaScript.
*) Sử dụng dữ liệu XML
Dữ liệu XML là dạng dữ liệu đ−ợc dùng trong máy tính hiện đại. Môi tr−ờng trình duyệt hiện đại, và đối t−ợng XMLHttpRequest cung cấp các hỗ trợ để xử lý XML rất tốt. Nếu nh− XMLHttpRequest nhận đ−ợc một phải hồi với một loại nội dung XML nh− là application/xml hoặc text/xml, nó có thể biểu diễn phản hồi đó d−ới dạng một DOM.
Ưu điểm lớn nhất của XML ở chỗ nó tự động xây dựng thông tin, và ta lợi dụng −u điểm này để cung cấp một số l−ợng các tag <info>, ta dịch ra thành một danh sách HTML trong mã parseXML().
Bằng việc sử dụng XML, ta cũng tạo ra sự chia tách giữa các tier client và server. Với việc cung cấp thông tin về dạng tài liệu, ta có thể thay đổi mã client và server mà không làm ảnh h−ởng tới nhau. Mặc dù vậy việc biên dich
JavaScript để làm tất cả các công việc cho ta trong giải pháp script-centric vẫn là một ý t−ởng hay.
Hình 2.19: Kiến trúc Data-centric trong ứng dụng Ajax
Server trả lại luồng thông tin thô (dạng XML), nó sẽ đ−ợc tier client phân tích và đ−ợc sử dụng để cập nhật mô hình client cũng nh− giao diện ng−ời sử dụng.