Bối cảnh và vấn đề nghiên cứu

Vào giai đoạn 2005–2008, sự phát triển mạnh mẽ của hạ tầng mạng băng thông rộng đã thúc đẩy nhu cầu chuyển đổi từ các trang web tĩnh sang các ứng dụng Internet phong phú (Rich Internet Applications - RIA). RIA là mô hình ứng dụng được thực thi trực tiếp trên trình duyệt web nhưng cung cấp khả năng tương tác, giao diện và hiệu năng tương đương các ứng dụng độc lập trên máy tính (Desktop Applications). Mô hình này mang lại ưu điểm vượt trội: người dùng không cần cài đặt cục bộ, việc cập nhật phiên bản diễn ra tập trung ở máy chủ, và dữ liệu có thể truy cập linh hoạt từ mọi máy tính có kết nối mạng.

Tại thời điểm nghiên cứu, ba giải pháp kỹ thuật chính để xây dựng RIA bao gồm:

  1. DHTML (HTML, CSS, JavaScript) kết hợp AJAX: Mặc dù phổ biến, giải pháp này bộc lộ hạn chế do HTML nguyên bản chỉ là chuẩn định dạng tài liệu, JavaScript thiếu tính chặt chẽ trong hướng đối tượng quy mô lớn, và thường xuyên gặp sự cố không tương thích giữa các trình duyệt.
  2. Microsoft Silverlight: Công nghệ plug-in đa nền tảng hỗ trợ media và đồ họa động, tuy nhiên vào năm 2008 vẫn đang trong giai đoạn đầu phát triển, tài liệu hỗ trợ chưa phong phú, chưa hỗ trợ hệ điều hành Linux và cần thêm thời gian thử nghiệm.
  3. Adobe Flash và Adobe Flex: Flash sở hữu độ bao phủ tới 97% trình duyệt theo số liệu từ Adobe Flex 2: Training from the Source. Tuy nhiên, môi trường Flash truyền thống vốn tối ưu cho hoạt họa và quảng cáo, thiếu các thư viện điều khiển giao diện chuẩn cho phần mềm doanh nghiệp. Để giải quyết rào cản này, Adobe phát triển nền tảng Flex (với bộ Flex SDK 2.0 phát hành miễn phí vào tháng 1/2007 và Flex 3.0 hỗ trợ AIR vào tháng 3/2008).

Xuất phát từ bối cảnh trên, đề tài khóa luận "Tìm hiểu ngôn ngữ lập trình trong Adobe Flash và xây dựng ứng dụng minh họa" do sinh viên Vũ Tấn Hưng và Nguyễn Thị Minh Toàn thực hiện tại Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên (ĐHQG TP.HCM) năm 2008 đã xác định các mục tiêu và phạm vi cụ thể:

  • Mục tiêu nghiên cứu:
    1. Khảo sát toàn diện công nghệ Adobe Flex, nền tảng Flash Player 9 và kiến trúc máy ảo AVM2 (ActionScript Virtual Machine 2).
    2. Nghiên cứu sâu ngôn ngữ lập trình hướng đối tượng ActionScript 3.0 và ngôn ngữ khai báo giao diện MXML.
    3. Xây dựng một ứng dụng RIA thực nghiệm hoàn chỉnh: Hệ thống quản lý album ảnh và tạo trình chiếu (slideshow) trực tuyến.
  • Đối tượng và phạm vi nghiên cứu:
    • Đối tượng: Nền tảng Adobe Flex (Flex 2/Flex 3, Flex Framework, Flex Builder 2), ngôn ngữ ActionScript 3.0, các dịch vụ truyền thông dữ liệu (RPC, HTTPService, WebService, Flash Remoting, Socket).
    • Phạm vi ứng dụng: Triển khai hệ thống ứng dụng web quản lý hình ảnh đa người dùng, hỗ trợ tải tệp, tổ chức album, hiển thị hình ảnh đa chế độ (thumbnail, carousel, list) và tạo slideshow.

Cơ sở lý thuyết và phương pháp

Khóa luận được xây dựng dựa trên khung lý thuyết kiến trúc phần mềm phân tầng cho ứng dụng Internet và các chuẩn công nghệ của Adobe:

  • Mô hình kiến trúc RIA đa tầng: So với mô hình 3 tầng truyền thống của ứng dụng HTML (Tầng dữ liệu, Tầng giao tiếp, Tầng thể hiện), ứng dụng Flex chuyển Tầng thể hiện thành Tầng client. Tầng client chạy trên Flash Player giúp giảm tải tính toán cho máy chủ (offload computation), tiết kiệm băng thông mạng và nâng cao tốc độ phản hồi giao diện.
  • Kiến trúc môi trường thực thi Flash Player 9 & AVM2: Nền tảng Flex 2/3 thực thi trên Flash Player 9 với máy ảo AVM2, cho phép biên dịch mã nguồn MXML và ActionScript 3.0 thành tệp mã nhị phân byte-code .swf.
  • Ngôn ngữ và cú pháp:
    • MXML (Macromedia XML): Ngôn ngữ khai báo cấu trúc giao diện dựa trên định dạng XML, hỗ trợ kết buộc dữ liệu (data binding), quản lý trạng thái hiển thị (states) và hiệu ứng chuyển cảnh (transitions).
    • ActionScript 3.0: Ngôn ngữ lập trình bậc cao tuân thủ chuẩn ECMAScript, hỗ trợ đầy đủ các đặc tính hướng đối tượng (class, interface, inheritance, encapsulation, polymorphism), xử lý sự kiện qua mô hình DOM Level 3 Event và xử lý XML phân cấp theo chuẩn E4X (ECMAScript for XML).
  • Cơ chế truyền thông và dịch vụ dữ liệu:
    • HTTPService: Truyền nhận dữ liệu văn bản thô, XML tĩnh hoặc động (qua PHP/ASP.NET).
    • WebService: Gọi hàm từ xa dựa trên chuẩn SOAP và tệp mô tả WSDL qua giao thức HTTP.
    • Flash Remoting & AMF (Action Message Format): Giao thức truyền thông nhị phân tối ưu hóa kích thước gói tin so với SOAP.
    • Kết nối thời gian thực: Cơ chế socket qua XMLSocket và socket nhị phân thuần Socket.
    • FileReference API: Điều khiển trực tiếp tiến trình tải lên (upload) và tải xuống (download) tệp từ máy khách.
  • Mô hình bảo mật dữ liệu liên miền (Cross-domain Security): Kiểm soát quyền truy xuất dữ liệu từ các domain khác thông qua tệp chính sách cross-domain-policy.xml.
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*.example.com" />
</cross-domain-policy>
  • Phương pháp nghiên cứu:
    • Phân tích, tổng hợp và đối sánh kỹ thuật giữa các giải pháp RIA.
    • Phân tích và thiết kế hệ thống theo ngôn ngữ mô hình hóa thống nhất UML (Use Case, biểu đồ quan hệ thực thể cơ sở dữ liệu).
    • Thực nghiệm phát triển phần mềm trên môi trường Flex Builder 2 / Eclipse IDE kết hợp backend PHP và cơ sở dữ liệu quan hệ.

Thiết kế và triển khai

Hệ thống minh họa được xây dựng nhằm chứng minh tính khả thi của công nghệ Flex trong việc xử lý tương tác đồ họa và media phức tạp trên nền web.

1. Kiến trúc hệ thống và luồng dữ liệu

Quy trình biên dịch và thực thi ứng dụng Flex tuân theo luồng xử lý: Mã nguồn ActionScript 3.0 và MXML được chuyển đổi, liên kết tài nguyên nhúng (như ảnh PNG/GIF/JPEG, âm thanh MP3, thư viện SWF) qua bộ biên dịch Flex SDK để tạo tệp thực thi .swf. Khi chạy, client tải tệp .swf về trình duyệt và giao tiếp với server qua HTTPService/PHP:

Tầng kiến trúc Công nghệ sử dụng Chức năng chính
Client Tier Flash Player 9, Flex Framework, AVM2 Hiển thị giao diện tương tác, xử lý sự kiện, kết buộc dữ liệu, render hiệu ứng
Communication Tier HTTPService, Flash Remoting (AMF), FileReference Gửi nhận yêu cầu dữ liệu, xử lý phản hồi XML/Text, upload tệp ảnh
Server/Data Tier Web Server, PHP scripts, Cơ sở dữ liệu quan hệ Xử lý logic nghiệp vụ, thực thi truy vấn SQL, lưu trữ tệp và bảng dữ liệu

2. Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu của ứng dụng quản lý album ảnh gồm 4 bảng quan hệ chính:

  • NGUOIDUNG: Lưu thông tin tài khoản người sử dụng hệ thống.
  • ALBUM: Quản lý danh mục album ảnh do người dùng tạo.
  • HINH: Chứa thông tin chi tiết các tệp hình ảnh được tải lên (tên tệp, đường dẫn, kích thước, mô tả).
  • CHITIETALBUM: Bảng liên kết trung gian thể hiện quan hệ nhiều - nhiều giữa hình ảnh và album, lưu thứ tự hiển thị ảnh trong album.

Hệ thống thiết lập các ràng buộc toàn vẹn khóa chính (Primary Key) và khóa ngoại (Foreign Key) giữa NGUOIDUNG với ALBUM, ALBUM với CHITIETALBUM, và HINH với CHITIETALBUM.

3. Thiết kế các phân hệ giao diện và chức năng

Ứng dụng được thiết kế qua mô hình Use Case với các màn hình chức năng chính:

  • Màn hình đăng nhập & đăng ký: Xác thực người dùng, kiểm tra hợp lệ dữ liệu nhập (validation).
  • Màn hình quản lý: Khu vực trung tâm cho phép người dùng tổ chức album, tải ảnh mới qua FileReference, chỉnh sửa thông tin metadata của ảnh.
  • Màn hình xem ảnh đa chế độ:
    • Chế độ Thumbnail: Hiển thị lưới ảnh thu nhỏ bằng thành phần Repeater.
    • Chế độ Carousel: Hiển thị hình ảnh dạng vòng quay tương tác 3D/chuyển động ngang.
    • Chế độ List: Danh sách chi tiết kèm thuộc tính kỹ thuật của từng ảnh.
    • Màn hình xem chi tiết: Trình diễn ảnh kích thước gốc kèm thông tin mô tả.
  • Màn hình tạo trình chiếu (Slideshow): Cho phép chọn danh sách ảnh, thiết lập thời gian trễ, cấu hình hiệu ứng chuyển cảnh và xuất trình chiếu trực tuyến.

4. Kỹ thuật lập trình tiêu biểu trong ứng dụng

  • Quản lý trạng thái và chuyển cảnh: Sử dụng <mx:State>, currentState, <mx:AddChild>, <mx:RemoveChild>, <mx:SetProperty>, <mx:SetStyle> và <mx:SetEventHandler> để thay đổi giao diện mà không cần tải lại trang.
  • Xử lý hiệu ứng thị giác: Kết hợp các hiệu ứng cơ bản thông qua các khối điều khiển tuần tự (<mx:Sequence>) hoặc song song (<mx:Parallel>), kích hoạt qua triggers (creationCompleteEffect, rollOverEffect, mouseDownEffect).
  • Kỹ thuật đồ họa Scale-9: Thiết lập co dãn 9 vùng cho các thành phần giao diện vector/bitmap nhằm giữ nguyên độ sắc nét ở 4 góc bo:
<mx:Image width="100" height="100" 
    source="@Embed(source='assets/cube.GIF', scaleGridTop='10', scaleGridLeft='10', scaleGridBottom='90', scaleGridRight='90')"/>
  • Kết buộc dữ liệu (Data Binding): Sử dụng cú pháp {...}, thẻ <mx:Binding>, lớp BindingUtils và siêu thẻ metadata [Bindable] để đồng bộ tự động giữa mô hình dữ liệu (Data Model) và các phần tử UI.

Nội dung chính theo từng chương

Chương 1. Tổng quan

Chương 1 phân tích bối cảnh phát triển của các công nghệ RIA trên thế giới vào giữa thập niên 2000. Tác giả tiến hành so sánh chuyên sâu giữa ba hướng tiếp cận: DHTML/AJAX, Microsoft Silverlight và Adobe Flash/Flex. Chương này làm rõ lý do lựa chọn nền tảng Flex xuất phát từ ưu thế sẵn có của Flash Player (97% thị phần trình duyệt), tính năng nhất quán đa nền tảng và sự ra đời của ActionScript 3.0 với máy ảo AVM2. Đồng thời, chương trình bày mục tiêu, phạm vi nghiên cứu và phương pháp tiếp cận của đề tài.

Chương 2. Tìm hiểu công nghệ Flex

Chương 2 trình bày chi tiết về cấu trúc nền tảng Adobe Flex 2/Flex 3. Nội dung bao gồm:

  • Flash Player và AVM2: Cơ chế thực thi tệp .swf, mô hình bảo mật tệp chính sách liên miền cross-domain-policy.xml.
  • Flex Framework & Flex Builder 2: Thư viện lớp thành phần UI (Button, Form, Menu, Grid, Canvas...), công cụ lập trình Eclipse-based IDE và bộ biên dịch Flex SDK.
  • Dịch vụ dữ liệu: Khảo sát các kỹ thuật giao tiếp từ xa gồm HTTPService, WebService (SOAP), Flash Remoting (chuẩn nhị phân AMF) và Socket (XMLSocket, raw Socket).
  • Quản lý dữ liệu và Media: Mô hình dữ liệu <mx:Model>, <mx:Xml>, đối tượng ObjectProxy, kỹ thuật kết buộc dữ liệu ([Bindable], BindingUtils), các lớp xử lý âm thanh/video (Sound, SoundChannel, VideoDisplay, giao thức RTMP cho streaming) và kỹ thuật co dãn đồ họa Scale-9.
  • Quản lý trạng thái và hiệu ứng: Khởi tạo trạng thái giao diện (<mx:State>), các hiệu ứng cơ bản (Blur, Move, Fade, Glow, Resize, Rotate, Zoom, Wipe) và hiệu ứng kết hợp (Sequence, Parallel).

Chương 3. Tìm hiểu ngôn ngữ ActionScript

Chương 3 đi sâu vào cú pháp và các đặc tính lập trình của ActionScript 3.0:

  • Cơ chế hướng đối tượng: Khai báo lớp (class), giao tiếp (interface), phạm vi truy xuất biến/hàm (public, private, protected, internal), phương thức tĩnh, kế thừa, từ khóa super(), ghi đè phương thức (override) và ngăn chặn kế thừa (final).
  • Mô hình xử lý sự kiện: Đăng ký và hủy đăng ký lắng nghe sự kiện (addEventListener, removeEventListener), đối tượng phát tán (target), mức độ ưu tiên xử lý sự kiện.
  • Xử lý cấu trúc dữ liệu XML (E4X): Truy cập nút phân cấp, thao tác duyệt mảng XML bằng cú pháp for-each-in và for-in, kỹ thuật lọc (filtering), thêm/xóa nút và thuộc tính XML trực tiếp trong mã lệnh.

Chương 4. Mô tả ứng dụng

Chương 4 trình bày quá trình phân tích, thiết kế và cài đặt hệ thống quản lý album ảnh và tạo slideshow trực tuyến:

  • Yêu cầu hệ thống: Đặc tả chi tiết các yêu cầu chức năng (đăng nhập, quản lý album, tải ảnh, phân loại, xem ảnh đa chế độ, tạo trình chiếu) và yêu cầu phi chức năng (tính tiện dụng, hiệu năng giao diện RIA).
  • Phân tích mô hình UML: Xây dựng sơ đồ Use Case tổng thể và đặc tả kịch bản tương tác cho từng ca sử dụng.
  • Mô hình dữ liệu quan hệ: Thiết kế lược đồ thực thể quan hệ gồm 4 bảng (NGUOIDUNG, ALBUM, HINH, CHITIETALBUM), thuyết minh thuộc tính, định nghĩa ràng buộc khóa chính và khóa ngoại.
  • Chi tiết giao diện: Mô tả chi tiết thiết kế và mã nguồn MXML/ActionScript cho màn hình đăng nhập, đăng ký, quản lý, xem ảnh dạng thumbnail, carousel, list và màn hình tạo slideshow.

Chương 5. Tổng kết

Chương 5 tổng hợp toàn bộ các kết quả đạt được về mặt lý thuyết và sản phẩm phần mềm thực nghiệm; chỉ ra các điểm còn tồn tại của ứng dụng và đề xuất định hướng nâng cấp hệ thống trong tương lai.

Chương 6. Danh mục tài liệu tham khảo & Chương 7. Phụ lục

Liệt kê các tài liệu kỹ thuật, giáo trình chính thống của Adobe Systems và các công trình liên quan; phần phụ lục cung cấp mã nguồn bổ sung về các kỹ thuật nâng cao trong Flex và ActionScript.


Kết quả và đóng góp

Nội dung Kết quả cụ thể đạt được trong khóa luận
Nghiên cứu lý thuyết Hệ thống hóa toàn diện cơ chế hoạt động của Flex Framework, ActionScript 3.0, Flash Player 9 (AVM2), và 3 phương thức giao tiếp dữ liệu (HTTPService, WebService, Flash Remoting với định dạng nhị phân AMF).
Đặc tả & Thiết kế Xây dựng hoàn chỉnh tài liệu phân tích hệ thống bằng mô hình Use Case UML, mô hình thực thể quan hệ cơ sở dữ liệu gồm 4 bảng chuẩn hóa (NGUOIDUNG, ALBUM, HINH, CHITIETALBUM).
Sản phẩm ứng dụng Xây dựng thành công ứng dụng RIA quản lý album và tạo slideshow trực tuyến với 8 màn hình chức năng, tích hợp 3 chế độ xem ảnh (thumbnail, carousel 3D, list) và cơ chế tải tệp trực tiếp bằng FileReference.
Giải pháp kỹ thuật Ứng dụng thành công kỹ thuật quản lý trạng thái động (<mx:State>), kết buộc dữ liệu hai chiều ([Bindable]), tối ưu hóa hiển thị đồ họa với Scale-9 và phối hợp hiệu ứng chuyển cảnh đa tầng (Sequence/Parallel).

Về mặt đóng góp học thuật và ứng dụng, công trình đã làm rõ giải pháp khắc phục các nhược điểm của công nghệ web truyền thống (DHTML/AJAX) thông qua việc áp dụng RIA, đồng thời cung cấp mã nguồn mẫu chuẩn mực cho việc xây dựng ứng dụng hướng đối tượng bằng ActionScript 3.0 và MXML.


Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế được đề cập trong văn bản:
    • Ứng dụng phụ thuộc hoàn toàn vào môi trường thực thi Flash Player 9 trên trình duyệt của người dùng cuối.
    • Các phương thức truyền thông thời gian thực (như RTMP Streaming) đòi hỏi cấu hình máy chủ chuyên dụng (Flash Media Server) phức tạp.
    • Cơ sở dữ liệu và các thao tác xử lý ảnh còn ở mức cơ bản, chưa tích hợp các công cụ biên tập đồ họa chuyên sâu trực tiếp trên trình duyệt.
  • Hướng nghiên cứu và phát triển tiếp theo:
    • Nâng cấp và chuyển đổi ứng dụng sang nền tảng Adobe AIR (sử dụng Flex 3.0) để có thể đóng gói và thực thi trực tiếp dưới dạng ứng dụng Desktop độc lập không phụ thuộc trình duyệt.
    • Tích hợp máy chủ Flash Media Server nhằm hỗ trợ truyền phát video/audio thời gian thực qua giao thức RTMP.
    • Mở rộng các tính năng chỉnh sửa hình ảnh trực tuyến (cắt, xoay, điều chỉnh màu sắc) bằng các thư viện đồ họa bitmap nâng cao của ActionScript 3.0.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên và học viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm: Tài liệu học tập giá trị về phương pháp phân tích, thiết kế ứng dụng web RIA theo chuẩn UML; nắm bắt tư duy lập trình hướng đối tượng trong ActionScript 3.0 và kỹ thuật xử lý dữ liệu XML theo chuẩn E4X.
  • Lập trình viên và nhà nghiên cứu công nghệ Web: Tham khảo kiến trúc phân tầng RIA, cơ chế truyền thông nhị phân AMF (Flash Remoting), kỹ thuật tối ưu hóa giao diện người dùng với State Transitions, Data Binding và xử lý đồ họa Scale-9.
  • Nghiên cứu lịch sử phát triển công nghệ Web: Tài liệu lưu trữ có tính hệ thống cao phản ánh giai đoạn chuyển tiếp quan trọng của kiến trúc web từ dạng trang tĩnh (HTML) sang các ứng dụng đơn trang tương tác phong phú (Single Page Applications tiền thân).

Câu hỏi thường gặp

1. Tại sao nhóm tác giả lựa chọn nền tảng Adobe Flex thay vì DHTML/AJAX hay Microsoft Silverlight?
Dựa trên phân tích ở Chương 1, DHTML/AJAX gặp hạn chế do HTML chỉ là chuẩn tài liệu tĩnh, JavaScript thời điểm đó thiếu tính chặt chẽ hướng đối tượng và hay gặp lỗi không tương thích giữa các trình duyệt. Microsoft Silverlight thì mới ở giai đoạn đầu phát triển, thiếu tài liệu và chưa hỗ trợ Linux. Trong khi đó, Adobe Flash đã có mặt trên 97% trình duyệt; kết hợp với Flex cung cấp môi trường lập trình chuyên nghiệp, thư viện UI phong phú và ngôn ngữ ActionScript 3.0 hướng đối tượng hoàn chỉnh.

2. Điểm khác biệt cốt lõi giữa máy ảo AVM2 trong Flash Player 9 so với các phiên bản trước là gì?
Flash Player 9 giới thiệu máy ảo ActionScript Virtual Machine 2 (AVM2). Với AVM2, mã nguồn ActionScript 3.0 được biên dịch thành mã nhị phân byte-code và thực thi theo cơ chế tương tự như các ứng dụng Java hoặc .NET, giúp tăng tốc độ xử lý dữ liệu và cải thiện hiệu năng vượt trội so với các phiên bản Flash Player cũ.

3. Cơ chế bảo mật dữ liệu liên miền (cross-domain) trong Flash Player hoạt động như thế nào?
Flash Player áp dụng chính sách bảo mật dữ liệu theo domain. Mặc định ứng dụng Flex chỉ được truy xuất tài nguyên trên cùng một domain. Nếu truy xuất khác domain, máy chủ tiếp nhận dữ liệu phải cấu hình và cho phép rõ ràng thông qua một tệp XML đặc tả chính sách có tên cross-domain-policy.xml.

4. Kỹ thuật Scale-9 trong Flex giải quyết vấn đề gì khi xử lý đồ họa?
Scale-9 là kỹ thuật chia một đối tượng đồ họa (ảnh vector hoặc bitmap) thành lưới 9 phần. Khi co dãn kích thước đối tượng, hệ thống chỉ kéo dãn các phần cạnh và phần trung tâm, trong khi 4 góc của ảnh vẫn giữ nguyên tỉ lệ và hình dạng ban đầu, tránh được hiện tượng méo góc khi thay đổi kích thước giao diện.

5. Cơ sở dữ liệu của ứng dụng minh họa gồm những bảng nào và mối liên kết ra sao?
Cơ sở dữ liệu gồm 4 bảng: NGUOIDUNG (thông tin tài khoản), ALBUM (danh mục album), HINH (thông tin tệp ảnh) và CHITIETALBUM (bảng liên kết nhiều - nhiều giữa hình ảnh và album). Các bảng liên kết chặt chẽ thông qua các ràng buộc khóa chính và khóa ngoại nhằm đảm bảo toàn vẹn dữ liệu.


Kết luận

Khóa luận "Tìm hiểu ngôn ngữ lập trình trong Adobe Flash và xây dựng ứng dụng minh họa" của tác giả Vũ Tấn Hưng và Nguyễn Thị Minh Toàn đã nghiên cứu có hệ thống nền tảng công nghệ Adobe Flex, ngôn ngữ ActionScript 3.0 và môi trường thực thi Flash Player 9/AVM2. Công trình đã phân tích sâu sắc các giải pháp xây dựng ứng dụng RIA, các cơ chế truyền thông dữ liệu từ xa (HTTPService, WebService, Flash Remoting) và xử lý sự kiện, dữ liệu phân cấp E4X. Đồng thời, nhóm tác giả đã hiện thực hóa thành công sản phẩm phần mềm quản lý album ảnh và tạo slideshow trực tuyến với đầy đủ tài liệu đặc tả thiết kế UML và mô hình dữ liệu quan hệ, thể hiện rõ tính ứng dụng thực tiễn của công nghệ RIA trong phát triển phần mềm web.