CHƯƠNG 1 MÔ HÌNH RICH INTERNET APPLICATION 1. Giới thiệu mô hình Các ứng dụng web ban đầu ra đời với ý tưởng giúp các nhà nghiên cứu khoa học chia sẻ tài liệu dưới dạng các trang thông tin tĩnh được liên kết với nhau và được lưu theo chuẩn HTML. Kể từ đó, các trang web nhanh chóng được mở rộng ra để thể hiện các thông tin theo định dạng văn bản phức tạp cũng như dạng hình ảnh. Đính kèm theo các trang web là các ứng dụng nhúng cho phép nghe và xem các thông tin dưới dạng âm thanh, phim ảnh.
Các nhà phát triển web bổ sung thêm các đoạn mã script chạy trên phía máy khách bên cạnh các chức năng cơ bản của trình duyệt là tạo ra các trang HTML. Các mã script này tạo ra thêm các hiệu ứng thể hiện giao diện trang web trong quá trình tương tác với người sử dụng như tạo ra các thanh trượt (slider) để cuộn các trang dữ liệu trên màn hình hiển thị, tạo ra các menu có khả năng ẩn hoặc mở rộng theo các chiều ngang hoặc dọc… Thậm chí, các đoạn mã này có thể thực hiện việc xử lý dữ liệu như kiểm soát tính đúng đắn của dữ liệu do người dùng trang HTML nhập vào. Bên cạnh việc tăng cường hiệu quả tương tác của người dùng trên từng trang web, những khả năng này của script không phá vỡ mô hình của các ứng dụng web truyền thống ban đầu và phần ứng dụng về mặt lôgic vẫn chạy trên máy chủ để thực hiện các xử lý sau khi người dùng gửi yêu cầu tới nó bằng cách chọn đường liên kết (link) hoặc nút lệnh trên giao diện. Cơ chế này được gọi là cơ chế đồng bộ, có nghĩa là, người dùng sau khi gửi yêu cầu đi phải đợi máy chủ xử lý và tải lại trang kết quả xử lý.
Quá trình này cứ lặp đi lặp lại một cách chậm chạp mỗi khi có yêu cầu mới gây cảm giác khó chịu, bất tiện cho người sử dụng. Ngày nay, các nhà phát triển web đã tìm ra một mô hình phát triển mới, đó là mô hình Rich Internet Application (RIA). Mô hình RIA là một sự kết hợp giữa ứng dụng web truyền thống với mô hình ứng dụng destop thể hiện ở ý tưởng là đưa một số xử lý trước đây vẫn được thực hiện trên máy chủ trong mô hình truyền thống về thực hiện trên máy khách, giữ lại các xử lý khác trên máy dịch vụ. Thuật ngữ “Rich Internet Applications” được hãng Macromedia chính thức công bố vào năm 2002.
Trước đó, nhiều triển khai theo nội dung này đã được thử nghiệm và có - 9- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phạm Thùy Linh – Lớp K10T3 rất nhiều tên gọi khác nhau đã được sử dụng: - Remote Scriptting, được Microsoft đưa ra năm 1998. - X Internet, được tổ chức nghiên cứu Forrester đưa ra năm 2000. - Rich Web Application. Những sản phẩm công nghệ triển khai theo mô hình này điển hình như bộ sản phẩm Flash của hãng Abode, java applets, và một tập hợp các công nghệ được gọi bằng thuật ngữ Ajax – “là một loạt các công nghệ, mà mỗi công nghệ tự bản thân chúng có những ảnh hưởng nhất định, cùng liên kết trong một cách thức phát triển triển ứng dụng web mới mẻ mạnh mẽ”.
Sau đây là sơ đồ mối quan hệ giữa Flash, Ajax, và java applets.1: Quan hệ giữa Flash, Ajax, Java applet/hoặc các công nghệ java khác. Sơ đồ tương tác giữa các đối tượng trong môi trường hoạt động theo mô hình RIA được mô tả cụ thể ở Hình 1. Mô hình không chỉ ra một cách cụ thể những rằng buộc người dùng phức tạp mà chỉ xác định các hành vi tự động, dựa trên kinh nghiệm, trực quan. Chúng đơn thuần biểu diễn một vài kết quả hành vi có liên quan tới nội dung của sự tương tác giữa người sử dụng và ứng dụng RIA.
Ở bậc cao nhất, mô hình minh họa 3 nội dung chính (các phần được tô màu và đóng khung trên hình vẽ), mỗi phần có những ảnh hưởng nhất định tới hiệu suất của ứng dụng: - Thiết kế của ứng dụng và môi trường sử dụng hay nội dung (hàng trên cùng trong vùng đóng khung 1) - 10- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phạm Thùy Linh – Lớp K10T3 1 2 3 Hình 1.2: Mô hình tương tác giữa các đối tượng trong mô hình RIA. - Mong muốn và hành vi của người sử dụng (phần dưới bên trái, trong phần đóng khung 2) - Hành vi khi sử dụng của ứng dụng (phân dưới bên phải, trong phần đóng khung 3) Đó là mô hình mô tả từng bước thông qua những gì xảy ra trong suốt quá trình tương tác giữa người sử dụng và ứng dụng dựa trên trình duyệt. Phần mũi tên đen đậm thể hiện luồng hoạt động của một ứng dụng Web truyền thống bắt đầu từ yêu cầu của người sử dụng (click), thông qua giao thức HTTP gửi yêu cầu tới máy chủ, sau khi nhận yêu cầu, xử lý, máy chủ sẽ trả lại kết quả về cho máy trạm tại bộ nhớ tạm thời của trình duyệt (browse cache), khi dữ liệu đã trả về đủ tại bộ nhớ tạm, người sử dụng có thể nhận được dữ liệu thông qua các khung nhìn trên trang web. Kinh nghiệm người sử dụng của thời gian phản hồi dữ liệu từ máy chủ chính là khoảng thời gian cần cho tổng thể quá trình từ khi người dùng click vào một đường liên kết trên trình duyệt đến khi nhận được kết quả trả về từ máy chủ trên trang web.
Việc tải thậm chí chỉ một trang web đơn cũng bao gồm một loạt các chuyến đi từ máy trạm tới máy chủ (một trang Web thường bao gồm một tập các phần tử như các file .css, các đoạn mã script, các ảnh nén, …) mà mỗi phần tử đó thường được tải một cách độc lập, riêng rẽ bởi trình duyệt. Như vậy, với một ứng dụng web thông thường có thể nhận thấy rằng, tiến trình máy trạm yêu cầu, máy chủ xử lý và gửi lại cứ lặp đi lặp lại mỗi khi người sử dụng click vào một đường link trên trình duyệt 1. Đặc điểm - 11- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phạm Thùy Linh – Lớp K10T3 Các ứng dụng Web truyền thống tập trung mọi hoạt động xung quanh kiến trúc client-server. Với kiến trúc này, mọi thao tác xử lý dữ liệu được thực hiện tại ứng dụng chạy trên máy chủ.
Phần ứng dụng trên máy khách được phát triển chỉ để hiển thị nội dung tĩnh (trong trường hợp này là các trang HTML) hoặc hiển thị kết quả xử lý dữ liệu từ ứng dụng trên máy chủ. Trở ngại lớn nhất của kiến trúc này là tất cả các tương tác với ứng dụng đều được xử lý trên máy chủ, nghĩa là yêu cầu xử lý dữ liệu phải được gửi tới máy chủ xử lý, và sau đó trả lại kết quả cho ứng dụng trên máy khách (Hình 1.3) và dữ liệu gửi đi là cả trang web, bao gồm cả những phần vốn đã có trên máy khách mà không hề có thay đổi gì sau một yêu cầu mới. Thời điểm tương tác Thời điểm xử lý trên máy dịch vụ Hình 1.3: Mô hình giao tiếp trong ứng dụng web truyền thống Điều đó có nghĩa là, các trang hiển thị thông tin tại máy khách thường xuyên phải lặp lại việc tải kết quả xử lý dữ liệu cập nhật từ ứng dụng trên máy chủ. Bằng việc sử dụng công nghệ mới cho phép phía máy khách có thể thực thi một số các thao tác xử lý tương tác với người sử dụng.
Các ứng dụng RIA vì thế có thể phá vỡ được ngay cả các dữ - 12- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phạm Thùy Linh – Lớp K10T3 liệu đã có sẵn ở máy khách. Nghĩa là sẽ không còn tình trạng gửi yêu cầu, chờ máy chủ nhận yêu cầu, phân tích yêu cầu, xử lý yêu cầu và trả lại kết quả nữa mà tại cùng một thời điểm sẽ đồng thời có nhiều yêu cầu, nhiều tương tác người dùng được đáp ứng đồng bộ tại cùng một thời điểm một cách nhanh chóng và trong suốt. Sự khác nhau đó tương tự như sự khác nhau giữa cách tiếp cận của mô hình sử dụng thiết bị đầu cuối tương tác với máy chủ (terminal – mainframe) và cách tiếp cận Client-Server/Fat client.4: Mô hình giao tiếp trong ứng dụng web theo mô hình RIA Các công nghệ và chuẩn liên quan đến mô hình RIA trên Internet tiến hóa một cách chậm chạm và diễn ra liên tục trong thời gian qua. Do đó, rất khó để có thể phân định được rõ ràng thế nào là ứng dụng thuộc mô hình RIA và thế nào là không phải.
Để đảm bảo những ưu việt của Web truyền thống và khắc phục được khó khăn nêu trên, những vấn đề sau được đặt ra: - Cần xác định nội dung xử lý và tạo chung trình xử lý trên máy khách để thực hiện nó mà không cần cài đặt sẵn. - Đảm bảo sự đồng bộ giữa máy khách và máy dịch vụ Web trong quá trình tương tác. Giải quyết những vấn đề trên, tất cả các ứng dụng RIA đều có chung một đặc điểm là tạo một tầng chứa mã trung gian giữa người sử dụng và ứng dụng trên máy chủ. Tầng chứa mã trung gian này hoạt động như một bộ máy riêng biệt tại máy khách (client engine) (Hình 1.
Nó thường được tải từ máy chủ về máy khách ngay khi ứng dụng bắt đầu được truy cập từ máy khách, và có thể được bổ sung thêm trong suốt quá trình chạy - 13- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phạm Thùy Linh – Lớp K10T3 ứng dụng. Cơ chế này cho phép tầng trung gian hoạt động như một phần mở rộng của trình duyệt, thường chịu trách nhiệm cho việc trình diễn các giao diện người dùng của ứng dụng và việc giao tiếp với máy chủ. Những gì có thể thực hiện được đối với một ứng dụng RIA có thể bị giới hạn bởi khả năng của hệ thống được sử dụng tại phía máy khách. Tuy nhiên, tầng trung gian được lập trình để thực thi các chức năng của ứng dụng được lưu trên máy chủ và chỉ được tải về vận hành trên máy khách khi thực thi ứng dụng.
Nó sẽ tăng cường hiệu quả thể hiện giao diện tương tác với người dùng, hoặc cải thiện sự sẵn sàng đáp lại khi thực hiện các tương tác người dùng so với mô hình truyền thống. Với chức năng thực hiện như vậy, rõ ràng ứng dụng phát triển theo mô hình này sẽ ít bị ảnh hưởng bởi cấu hình của máy khách.