Nội dung chương này trình bày chi tiết về 3 mô hình do chúng tôi đề xuất trong luận văn, cụ thể là Mô hình biểu diễn các thành phần trong widget, Mô hình biểu diễn sự phối hợp widget và Mô hình biểu diễn ứng dụng Mashup tổng hợp (Mashup Canvas). Ngoài ra, chúng tôi cũng đề xuất các biểu diễn mở rộng nhằm nâng cao mức độ phối hợp, hạn chế sự phụ thuộc về tham sốtruyền và mở rộng khả năng kết buộc trễ giữa các widget. Chi tiết về các widget hỗ trợ quá trình xây dựng Mashup cũng được đề cập ở cuối chương.
21 trang |
Chia sẻ: vietpd | Lượt xem: 1434 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề xuất mô hình biểu diễn widget, sự phối hợp widget và ứng dụng Mashup, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
48
Chương 4
Đề xuất mô hình biểu diễn widget, sự phối hợp
widget và ứng dụng Mashup
Tóm tắt:
Nội dung chương này trình bày chi tiết về 3 mô hình do chúng tôi đề xuất
trong luận văn, cụ thể là Mô hình biểu diễn các thành phần trong widget, Mô
hình biểu diễn sự phối hợp widget và Mô hình biểu diễn ứng dụng Mashup
tổng hợp (Mashup Canvas). Ngoài ra, chúng tôi cũng đề xuất các biểu diễn
mở rộng nhằm nâng cao mức độ phối hợp, hạn chế sự phụ thuộc về tham số
truyền và mở rộng khả năng kết buộc trễ giữa các widget. Chi tiết về các
widget hỗ trợ quá trình xây dựng Mashup cũng được đề cập ở cuối chương.
4.1 Mô hình đặc tả widget
4.1.1 Các thành phần trong widget
Qua khảo sát các chuẩn đặc tả widget với trọng tâm là nâng cao khả năng phối
hợp, tương tác widget, chúng tôi đề xuất đặc tả widget bao gồm các thành phần được
mô tả trong Hình 4-1. Ý nghĩa của từng thành phần được trình bày trong Bảng 4-1.
Hình 4-1: Các thành phần trong cấu trúc widget
49
Thành phần Mô tả
Widget Description Chứa các thông tin mô tả về widget
User Preferences Khai báo các tham số cấu hình hoạt động của widget
Libraries Khai báo tham chiếu đến các thư viện Javascript mà widget sử dụng
Style Khai báo các tham chiếu đến tập tin CSS
Structures Khai báo các cấu trúc tham số sự kiện truyền (event data), tham số
của thao tác (input data)
Operations Khai báo các phương thức có thể được gọi bởi widget khi thực hiện
phối hợp
Events Khai báo các sự kiện mà widget cung cấp
Content Mô tả giao diện thể hiện của widget
Bảng 4-1: Ý nghĩa các thành phần trong widget
4.1.2 Các thuộc tính của widget khi sử dụng trong Mashup
Các thuộc tính của widget sử dụng trong ứng dụng Mashup được mô tả trong
Hình 4-2. Chi tiết ý nghĩa các thuộc tính widget được trình bày trong Bảng 4-2.
Hình 4-2: Các thuộc tính của widget sử dụng trong ứng dụng Mashup
Thuộc tính Mô tả
Id Định danh widget tại Client, thuộc tính này chỉ sử dụng trên
MashupCanvas.
ReferenceModel Tham chiếu đến mô hình biểu diễn đầy đủ các thành phần của
widget, thuộc tính này chỉ sử dụng trong MashupCanvas.
Top
Vị trí góc trên trái của widget trên Mashup Canvas.
Left
Width
Chiều rộng, chiều cao widget được hiển thị trên Mashup Canvas
Height
AutoScrolling (true/false), Tự động hiển thị thanh cuộn nếu chiều rộng/cao widget
nhỏ hơn chiều rộng/cao của nội dung.
Bảng 4-2: Ý nghĩa các thuộc tính trong widget
50
4.1.3 Thành phần mô tả widget (widget Description)
Thành phần mô tả widget (Widget Description) chứa các thông tin mô tả tổng
quan về ý nghĩa, công dụng widget cho người sử dụng hoặc xử lý tự động bởi máy
tính. Các thuộc tính trong Widget Description được mô tả trong Hình 4-3. Chi tiết về
ý nghĩa các thuộc tính trong Widget Description được trình bày trong Bảng 4-3.
Widget Description
-Name
-Title
-Author
-AuthorEmail
-AuthorWebsite
-Description
-Version
-Keyword
-Tag
-MinWidth
-MinHeight
-MaxWidth
-MaxHeight
-Icon
-Thumbnail
Hình 4-3: Các thuộc tính của widget Description
Thuộc tính Mô tả
Name Tên widget được dùng trong Mashup Framework
Title Tiêu đề widget thể hiện trong Mashup Canvas
Author Tên người phát triển widget
AuthorEmail Email của người phát triển widget
AuthorWebsite Địa chỉ Website của người phát triển widget
Description Mô tả ý nghĩa, công dụng widget…
Version Thông tin phiên bản
Keyword Phân loại widget do Author định nghĩa, có thể được khai thác bởi
các Search Engine.
Tag Phân loại widget do người dùng widget định nghĩa
MinWidth Chiều rộng tối thiểu widget khi hiển thị
MinHeight Chiều cao tối thiểu widget khi hiển thị
51
Thuộc tính Mô tả
MaxWidth Chiều rộng tối đa widget khi hiển thị
MaxHeight Chiều cao tối đa widget khi hiển thị
Icon URL Icon (16x16) hiển thị trên Title của widget
Thumbnail URL Icon (64x64) sử dụng trong Mashup Environment
Bảng 4-3: Ý nghĩa các thuộc tính trong Widget Description
4.1.4 Tham số cấu hình hoạt động (UserPreferences)
Mối quan hệ giữa các thành phần biểu diễn tham số cấu hình hoạt động của
widget được mô tả trong Hình 4-4.
Hình 4-4: Các thành phần biểu diễn tham số cấu hình hoạt động (User Preferences)
Thành phần tổng thể User Preferences chứa 2 thông tin chính: thuộc tính Display
và các nhóm tham số Preference Group với ý nghĩa được mô tả trong Bảng 4-4.
Thuộc tính Mô tả
Display Chứa các giá trị: Tab/Accordian/Groupbox, cho biết cách
thức hiển thị các nhóm tham số
Thành phần con Mô tả
Prefence Group Chứa thông tin mô tả cho một nhóm tham số
Bảng 4-4: Ý nghĩa các thành phần biểu diễn tham số cấu hình hoạt động
52
Trong đó, thành phần Preference Group là biểu diễn do luận văn đề xuất nhằm
cung cấp khả năng gom nhóm các tham số cấu hình có liên quan, tạo ra sự tiện lợi
cho người dùng trong quá trình sử dụng widget. Chi tiết về các thành phần bên trong
Preference Group được mô tả trong Bảng 4-5.
Thuộc tính Mô tả
Label Tiêu đề nhóm
Thành phần con Mô tả
Prefence Mô tả một tham số
Bảng 4-5: Ý nghĩa các thành phần trong Preference Group
Preference là thành phần mô tả ý nghĩa của một tham số, chi tiết thành phần này
được trình bày trong Bảng 4-6.
Thuộc tính Mô tả
Name Định danh tham số, dùng để truy cập giá trị tham số tại trình
duyệt bằng Javascript.
Type Kiểu dữ liệu tham số. Tùy thuộc vào kiểu dữ liệu sẽ phát sinh ra
control nhập liệu tương ứng, có ý nghĩa tương tự như mô hình
của Netvibes[36], Google Gadget[37]. Các giá trị Type có thể
chứa là:
Bool: CheckBox
Text: TextBox
Password: Password Field
DateTime: Calendar
Enum: Menu/ComboBox
Hidden: Hidden Field
Label Nhãn nằm cạnh control nhập liệu tham số
DefaultValue Giá trị mặc định hoặc đã lưu trữ trong các lần sử dụng trước
(thông tin này có thể truy cập trong UserProfile).
Required Cho biết tham số có bắt buộc nhập liệu hay không
Thành phần con Mô tả
EnumValue (Gogole
Gadget [37])
Chỉ sử dụng nếu Type có giá trị là Enum, mỗi EnumValue
tương ứng với thẻ trong HTML.
Bảng 4-6: Các thành phần trong Preference
53
Bảng 4-7 mô tả ý nghĩa thành phần EnumValue. Enum Value là biểu diễn
mô tả cho một dòng chọn nếu Preference là một ComboBox.
Thuộc tính Mô tả
Value Giá trị tương ứng với dòng chọn
Label Nội dung thể hiện của dòng được chọn, có thể khác với Value
Bảng 4-7: Các thành phần trong EnumValue
4.1.5 Thành phần mô tả tham chiếu thư viện (Libraries)
Thành phần Libraries được dùng để khai báo tham chiếu đến các thư viện
Javascript mà widget sử dụng trong quá trình hoạt động được minh họa trong Hình
4-5.
Hình 4-5: Các thành phần trong Libraries
Mỗi tham chiếu thư viện sẽ được mô tả bởi thành phần con Library được mô tả
trong Bảng 4-8.
Thuộc tính Mô tả
Href Chứa địa chỉ đến tập tin .js. Địa chỉ này có thể tham chiếu đến
tập tin cục bộ bên trong website hoặc từ website bên ngoài
Bảng 4-8: Mô tả thuộc tính Href trong thành phần Library
4.1.6 Thành phần mô tả tham chiếu sử dụng kiểu định dạng thể hiện (Style)
Thành phần Style chứa khai báo tham chiếu đến tập tin CSS chứa các kiểu định
dạng mà widget sử dụng khi thể hiện nội dung được mô tả trong Hình 4-6.
Style
-Href
CSSReference
Hình 4-6: Các thành phần trong Style
54
Mỗi tham chiếu sẽ được mô tả bởi thành phần con CSSReference với ý nghĩa
được trình bày trong Bảng 4-9.
Thuộc tính Mô tả
Href Chứa địa chỉ đến tập tin .css
Bảng 4-9: Mô tả thuộc tính Href trong thành phần CSSReference
4.1.7 Cấu trúc tham số (Structures)
Thành phần Structures có vai trò mô tả các cấu trúc tham số sự kiện truyền (event
data) hoặc đối số của thao tác (input data) sử dụng trong quá trình phối hợp. Biểu
diễn này là đặc tả mở rộng đối với phương pháp của Jin Yu [14] và có vai trò tương
tự [54] trong đặc tả IBM iWidget. Mối quan hệ giữa các thành
phần biểu diễn cấu trúc tham số được mô tả trong Hình 4-7.
Hình 4-7: Các thành phần mô tả cấu trúc tham số (Structures)
Mỗi cấu trúc sẽ được mô tả bởi thành phần con Structure được trình bày trong
Bảng 4-10.
Thuộc tính Mô tả
Name Tên cấu trúc
Thành phần con Mô tả
Member Mô tả một thành phần bên trong cấu trúc kiểu cơ sở
Structure Mô tả một thành phần bên trong cấu trúc kiểu cấu trúc
Bảng 4-10: Các thành phần trong Structure
55
Trong mỗi Structure, Member là thành phần mô tả một trường trong cấu trúc, chi
tiết đặc tả thành phần Member được mô tả trong Bảng 4-11.
Thuộc tính Mô tả
Name Tên thành phần trong cấu trúc
DataType Kiểu dữ liệu của thành phần, các giá trị có thể là: String,
Boolean, Number, Array
Nếu DataType là Array, cần phải khai báo thêm thuộc tính
ElementDataType.
ElementDataType Được sử dụng khi DataType là Array, cho biết cho biết các phần
tử bên trong Array có kiểu dữ liệu là gì.
Bảng 4-11: Các thành phần trong Member
4.1.8 Thao tác trong widget (Operations)
Thành phần này là biểu diễn mở rộng đối với chuẩn OpenAjax widget, có vai trò
tương đương với Handled Event trong IBM iWidget [26] và thao tác (operation)
trong giải pháp của Jin Yu[14], nhằm mô tả các thao tác có thể được thực hiện bởi
widget khi sự kiện xảy ra. Thành phần này được mô tả trong Hình 4-8.
Hình 4-8: Các thành phần biểu diễn thao tác xử lý của widget (Operations)
56
Mỗi thao tác sẽ được biểu diễn bởi thành phần con Operation với cấu trúc được
trình bày theo Bảng 4-12.
Thuộc tính Mô tả
Name Tên của thao tác
Description Mô tả ý nghĩa, công dụng thao tác
Thành phần con
Input Tham số truyền mà thao tác cần để xử lý
Bảng 4-12: Các thành phần trong thao tác (operation)
Mỗi thao tác sẽ khai báo một tập tham số (input). Cấu trúc mỗi tham số được
mô tả theo Bảng 4-13.
Thuộc tính Mô tả
Name Tên tham số
DataType Kiểu dữ liệu tham số, có thể là kiểu cơ sở hoặc kiểu cấu trúc (tham
chiếu đến thành phần Structures).
Required Cho biết tham số có bắt buộc phải cung cấp hay không, nếu không
khai báo, giá trị mặc định là false. Thành phần này cung cấp thông
tin cho biết quá trình phối hợp chỉ có thể xảy ra khi những đối số
nào trong thao tác phải được cung cấp.
Nếu tham số không được cung cấp trong quá trình phối hợp và
Required là false, Engine sẽ tự cung cấp cho nó giá trị mặc định
nhằm đảm bảo lời gọi đúng cú pháp, ví dụ: Boolean gán là false,
Array là mảng rỗng [].
Thuộc tính này là biểu diễn bổ sung so với đặc tả của Jin Yu [14]
và IBM iWidget [26].
Bảng 4-13: Các thành phần biểu diễn tham số thao tác (Input)
Ví dụ: biểu diễn thao tác canh giữa bản đồ đối với widget hiển thị bản đồ
<Operation Name=“setCenter”
Description=“show map with the center point”>
57
4.1.9 Sự kiện trong widget (Events)
Thành phần này khai báo các sự kiện mà widget hỗ trợ trong quá trình sử dụng.
Đặc tả này có vai trò tương tự với biểu diễn sự kiện của Jin Yu[14] và Published
Event trong IBM iWidget [26] được minh họa theo Hình 4-9.
Hình 4-9: Các thành phần trong tập sự kiện (Events)
Mỗi sự kiện sẽ được biểu diễn bởi thành phần con Event với cấu trúc được mô tả
trong Bảng 4-14.
Thuộc tính Mô tả
Name Tên sự kiện được dùng khi đặc tả sự phối hợp
Description Mô tả ý nghĩa về tình huống sự kiện được phát ra
Thành phần con
Param Mô tả một thành phần trong tham số sự kiện (event data)
truyền cho widget khác và sẽ được ánh xạ với tham số nhận
của thao tác (operation)
Bảng 4-14: Các thành phần trong sự kiện (event)
Mỗi sự kiện khi phát ra sẽ cung cấp tập các tham số sự kiện cho các widget khác.
Tùy vào nhu cầu sử dụng, các widget khác có thể tiếp nhận toàn bộ hoặc một phần
các tham số này (OpenAjax widget [38], Jin Yu [14], IBM iWidget [26] chỉ cho phép
tiếp nhận toàn bộ cấu trúc tham số sự kiện).
Cấu trúc của mỗi thành phần tham số được trình bày trong Bảng 4-15.
Thuộc tính Mô tả
Name Tên thành phần tham số
DataType Kiểu dữ liệu thành phần tham số
Bảng 4-15: Các thành phần trong tham số sự kiện (param)
58
Ví dụ: Đối với widget thể hiện danh sách các địa điểm, khi người dùng chọn
một địa điểm, sự kiện LocationSelectionChanged sẽ được phát ra và truyền đi tham
số sự kiện bao gồm 3 thành phần: tên địa điểm (locationName), kinh độ (Lng), vĩ độ
(Lat). Biểu diễn sự kiện được biểu diễn như sau:
<Event Name=“LocationSelectionChanged”
Description=“raise when selecting a location” >
4.2 Mô hình phối hợp widget
4.2.1 Mô hình biểu diễn
Thành phần này biểu diễn mối quan hệ phối hợp giữa 2 widget và được tách biệt
ra khỏi đặc tả widget nhằm mở rộng khả năng tái sử dụng widget trong nhiều ứng
dụng khác nhau (Jin Yu [14]). Các thành phần trong biểu diễn phối hợp được thể hiện
trong Hình 4-10.
Hình 4-10: Các thành phần trong biểu diễn phối hợp
Mỗi biểu diễn về mối quan hệ phối hợp giữa hai widget được đặc tả bởi thành
phần Listener, với cấu trúc được trình bày trong Bảng 4-16.
59
Thuộc tính Mô tả
Publisher Định danh (id) của widget phát ra sư kiện
SourceEvent Tên sự kiện được phát ra bởi Publisher
Subscriber Định danh (id) của widget đăng ký xử lý sự kiện
Operation Thao tác của Subsriber được thực hiện
DestinationEvent Biểu diễn mở rộng trong mô hình của Jin Yu[14], cho phép
thực hiện cơ chế lan truyền sự kiện giữa các widget
Thành phần con
(ý nghĩa các thành phần sẽ được mô tả chi tiết ở phần đề xuất biểu diễn mở rộng 4.2.2)
Mapping Biểu diễn ánh xạ thành phần tham số sự kiện vào tham số của
thao tác
ParamGroup Biểu diễn gom nhóm tham số tự động
Bảng 4-16: Các thành phần trong mối quan hệ phối hợp (Listener)
Ví dụ: biểu diễn phối hợp giữa widget hiển thị danh sách địa điểm và widget
bản đồ được thể hiện như sau:
<listener xmlns=“”
publisher=“locationwidget”
event=“LocationSelectionChanged”
subscriber=“mapwidget”
operation=“setCenter “/>
Khi người dùng chọn một địa điểm, sự kiện LocationSelectionChanged được phát
ra và kích hoạt thao tác showLocation của widget bản đồ.
Trong Hình 4-10, các thành phần: thuộc tính DestinationEvent trong Listener,
ActionTimerListener, JavascriptAdapterListener, EventExplorerListener,
ParamGroup, Mapping là các biểu diễn mở rộng được luận văn đề xuất nhằm khắc
phục các hạn chế về khả năng phối hợp trong các phương pháp của Jin Yu (xem mục
3.3), IBM iWidget (mục 3.4). Phần tiếp theo sẽ trình bày chi tiết về đặc tả biểu diễn
trong các thành phần này.
60
4.2.2 Một số đề xuất biểu diễn mở rộng khả năng phối hợp
4.2.2.1 Biểu diễn lan truyền sự kiện
Biểu diễn này mở rộng khả năng phối hợp trong mô hình đề xuất của Jin Yu [14]
và có ý nghĩa tương đương với sự kiện được khai báo đồng thời là Published và
Handled trong IBM iWidget [26]. Biểu diễn nhằm bổ sung thêm khả năng phối hợp
khi sự kiện xảy ra trên widget này, sự kiện thuộc về widget khác sẽ được kích hoạt
theo. Để biểu diễn mối quan hệ này, ta thay thế thuộc tính Operation trong Listener
bằng DestinationEvent.
Ví dụ: Đặc tả biễu diễn phối hợp dựa trên sự kiện.
<ActionTimerListener
Publisher=“timer1”
SourceEvent=“Tick”
Subscriber=“stock1”
DestinationEvent=“stockChanged”/>
Trong ví dụ trên, định thời, sự kiện Tick ở widget timer1 sẽ được phát ra và kích
hoạt sự kiện stockChanged bên phía widget stock1. Tham số định thời (interval) sẽ
được cấu hình trong thành phần tham số cấu hình hoạt động (User Preferences) của
widget nguồn timer1.
4.2.2.2 Ánh xạ thành phần tham số
Biểu diễn đề xuất này cho biết thành phần nào trong cấu trúc tham số sự kiện
(event data) phía widget nguồn (widget phát sự kiện) sẽ được gán cho đối số nào bên
thao tác (operation) ở phía widget nhận. Biểu diễn này cho phép khai báo tùy ý số
lượng và thứ tự tham số bên phía widget nguồn và nhận; từ đó hạn chế sự phụ thuộc
chặt về tham số truyền giữa các widget, mở rộng khả năng kết buộc trễ (late binding),
giúp cho khả năng tích hợp linh hoạt và dễ mở rộng hơn.
Mỗi ánh xạ sẽ được biểu diễn bởi thành phần Mapping với cấu trúc được mô tả
trong Bảng 4-17.
61
Thuộc tính Mô tả
ParamName Tên thành phần trong tham số sự kiện truyền
InputName Tên tham số nhận do thao tác khai báo
Bảng 4-17: Các thành phần trong biểu diễn ánh xạ tham số (Mapping)
Ví dụ: khi sự kiện LocationSelectionChanged xảy ra trên widget nguồn
(locationwidget), các thành phần lng, lat trong mảng tham số sự kiện truyền sẽ được
ánh xạ vào các đối số lng, lat trong thao tác setCenter phía widget nhận (mapwidget).
Phối hợp này được đặc tả như sau:
<Listener
Publisher=“locationwidget”
SourceEvent=“LocationSelectionChanged”
Subscriber=“mapwidget”
Operation=“setCenter”>
4.2.2.3 Gom nhóm tham số tự động
Trong trường hợp thao tác (operation) bên widget nhận chỉ chấp nhận tham số
thuộc kiểu cấu trúc (đã mô tả trong Structures), đề xuất cũng cung cấp biểu diễn cho
phép gom nhóm các thành phần trong cấu trúc tham số sự kiện để tạo thành kiểu cấu
trúc phù hợp với đối số đầu vào (input) trong thao tác.
Mỗi biểu diễn gom nhóm tham số được mô tả bằng thành phần ParamGroup với
cấu trúc được trình bày trong Bảng 4-18.
Thuộc tính Mô tả
Name Tên của tham số cấu trúc được tạo ra
DataType Tên kiểu dữ liệu kết quả của quá trình gom nhóm
Thành phần con
Mapping Biểu diễn ánh xạ thành phần tham số sự kiện vào thành phần
trong cấu trúc cần tạo
Bảng 4-18: Các thành phần trong biểu diễn gom nhóm tham số (ParamGroup)
62
Ví dụ: Giả sử thao tác setCenter trong widget bản đồ có tham số đầu vào thuộc
kiểu cấu trúc GLatLng được khai báo như sau:
function setCenter ( centerPoint : GLat_Lng {
Lat : Number,
Lng : Number } )
Việc gom nhóm tham số được biểu diễn như sau:
<Listener Publisher=“locationwidget”
SourceEvent=“LocationSelectionChanged”
Subscriber=“mapwidget”
Operation=“setCenter”>
<!-- sau khi tạo xong kiểu cấu trúc sẽ ánh xạ kết quả tham số cấu trúc vào Input
của Operation -->
Mỗi thẻ ParamGroup biểu diễn cho một biến cấu trúc được tạo với kiểu được mô
tả trong thuộc tính DataType. Trong ví dụ trên: ta tạo ra một biến cấu trúc với tên
MyNewParam và kiểu là GLatLng. Biến cấu trúc sẽ bao gồm 2 thành phần Lat, Lng
(được xác định bởi thuộc tính InputName). Giá trị trong mỗi thành phần sẽ được lấy
từ các thành phần Lat, Lng trong tham số sự kiện LocationSelectionChanged.
Kết quả của biến cấu trúc MyNewParam sẽ được ánh xạ vào đối số centerPoint
của thao tác setCenter.
63
4.3 Mô hình biểu diễn Mashup Canvas
Mashup Canvas đóng vai trò là container chứa các widget được sử dụng trong
ứng dụng và sự phối hợp giữa các widget. Mashup Canvas cũng chính là biểu diễn ở
mức trừu tượng của trang Web kết quả. Mô hình biểu diễn các thành phần trong
Mashup Canvas được minh họa trong Hình 4-11.
-ID
-CanvasWidth
-CanvasHeight
-PublishedUrl
MashupCanvas
-Widget Array
Layout
-Listener Array
EventListeners
Hình 4-11: Các thành phần trong MashupCanvas
Hai thành phần chính trong biểu diễn Mashup Canvas bao gồm:
Layout: mô tả tập hợp widget thể hiện giao diện trong ứng dụng kết quả.
Event Listeners: mô tả sự phối hợp hoạt động giữa các widget
Các thành phần thuộc tính, Layout, EventListener được mô tả trong Bảng 4-19.
Thuộc tính Mô tả
Id Định danh của Canvas
CanvasWidth Chiều rộng vùng thể hiện của Canvas
CanvasHeight Chiều cao vùng thể hiện của Canvas
PublishedUrl Địa chỉ của trang Web phát sinh từ Canvas sau khi tổng hợp
Thành phần con
Layout Khai báo các widget được sử dụng trên Canvas
Event Listeners Khai báo các mối quan hệ phối hợp giữa các widget tồn tại trên
Canvas
Bảng 4-19: Các thành phần trong Mashup Canvas
64
Ví dụ: Biểu diễn Mashup Canvas bao gồm:
Layout: bao gồm 2 widget(widget hiển thị địa điểm, widget bản đồ)
Event Listeners: bao gồm 1 Listener mô tả sự phối hợp: khi chọn một địa
điểm trong danh sách, vị trí địa điểm sẽ được hiển thị trực quan lên bản đồ.
Chi tiết về đặc tả Mashup Canvas này được mô tả như sau:
<MashupCanvas CanvasWidth=“100%” CanvasHeight=“100%”
PublishedUrl=“”>
<widget id=“Locationwi