Hình 11 : Cấu trúc của ứng dụng Gadget.
Gadget là một tập hợp các file HTML, XML, JavaScript, CSS, và hình ảnh đóng gói vào một tập tin. Một gói với phần mở rộng là .gadget thực sự là một file Zip có chứa những tập tin này để chạy các tiện ích.
Gadget.xml : Đây là tập tin manifest, trong đó có tất cả các thông tin cần thiết bởi các bên để xác định và hiển thị gadget.Gadget này là gì ? Làm thế nào để chạy tiện ích này. Nó chứa các siêu dữ liệu của gadget dưới dạng thức XML như tên tác giả, thông tin URL, bản quyền, biểu tượng của tiện ích, tên hiển thị, và bất kỳ trang web liên kết với tiện ích này. Nó tham chiếu đến một tập tin gadget.html. Được sử dụng để chạy các gadget.
Gadget.html : Nó giống như trang chủ của một Website, bạn sẽ thấy trang này khi Gadget được gọi (docked trong sidebar hay undocked trên màn hình desktop). Nơi sẽ hiện thị toàn bộ những thông tin mà bạn quan tâm.
Settings.html : Cửa sổ cho phép người dùng tùy biến ứng dụng của gadget này. Ví dụ như lựa chọn nguồn cung cấp, thành phố, dữ liệu hiện thị trong chức năng xem thông tin thời tiết của Gadget.
Flyout.html : Đây là một cửa sổ tùy chọn sẽ được bung ra khi người dùng yêu cầu, chứa thông tin chi tiết liên quan trong trang gadget.html.
File CSS : Chứa các tập tin css lưu lại cấu hình định dạng, trình bày của các trang HTML tương ứng trong Gadget.
File image :Chứa các file ảnh được sử dụng trong Gadget.
File settings.ini :File lưu lại thông tin cấu hình, các tùy chọn của người sử dụng, như nguồn lấy dữ liệu, nội dung hiện thị,…Gadget khi được gọi sẽ đọc nôi dung trong file này để load lại trang HTML.
File include : Thành phần cốt lõi của Gadget chứa 2 file Javascript main.js và settings.js được include trong 2 file .html tương ứng.
-Main.js: chứa các đoạn mã Javascipts kết nối đến các dịch vụ web bằng cách sử dụng đối tượng XMLHttpRequest của AJAX lấy kết quả trả về là một file XML, RSS hoặc HTML. Sau đó sử dụng công nghệ DOM, Xpath kết hợp các biểu thức chính quy và thư viện của HTML Tidy để phân tích kết quả trả về lọc ra thông tin mong muốn. Cuối cùng là xuất dữ liệu lên trang HTML hiện thị cho người sử dụng.
-Settings.js: chứa các đoạn mã xử lí các tùy chọn của người dùng, đọc, ghi các tùy chọn này vào file settings.ini.