Tải bản đầy đủ (.pdf) (83 trang)

Nâng cao hiệu quả của một trang web bán hàng bằng việc sử dụng công nghệ web động và các công cụ phân tích nhu cầu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4 MB, 83 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





HOÀNG THỊ HẢI






NÂNG CAO HIỆU QUẢ CỦA MỘT TRANG WEB BÁN HÀNG
BẰNG VIỆC SỬ DỤNG CÔNG NGHỆ WEB ĐỘNG VÀ CÁC
CÔNG CỤ PHÂN TÍCH NHU CẦU




LUẬN VĂN THẠC SĨ






HÀ NỘI - 2011







ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




HOÀNG THỊ HẢI





NÂNG CAO HIỆU QUẢ CỦA MỘT TRANG WEB BÁN
HÀNG BẰNG VIỆC SỬ DỤNG CÔNG NGHỆ WEB ĐỘNG
VÀ CÁC CÔNG CỤ PHÂN TÍCH NHU CẦU


Ngành : Công nghệ thông tin
Chuyên ngành : Công nghệ phần mềm
Mã số : 60.48.10



LUẬN VĂN THẠC SĨ


HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN VĂN VỴ







HÀ NỘI - 2011





3



TÓM TẮT KẾT QUẢ
Luận văn này bao gồm những kết quả sau:
− Nghiên cứu và trình bày mô hình Rich Internet Application, những công nghệ
và công cụ liên quan.
− Nghiên cứu, triển khai xây dựng phần mềm theo mô hình Rich Internet
Application, áp dụng công nghệ Ajax.
− Dùng phương pháp Phân tích thiết kế đối tượng thiết kế lại trang Web nhằm
thực hiện đề tài “Nâng cao hiệu quả của một trang web bán hàng bằng việc sử
dụng công nghệ web động và các công cụ phân tích nhu cầu”, sử dụng ngôn
ngữ UML_Visio2007
− Áp dụng công cụ mô hình phân tích để tạo dữ liệu tổng hợp phụ vụ việc phân
tích nhu cầu khách hàng từ các dữ liệu bán hàng để trợ giúp việc ra quyết định

kinh doanh.
4


MỤC LỤC
LỜI CẢM ƠN 2

MỤC LỤC 4

BẢNG CÁC CHỮ VIẾT TẮT 6

DANH SÁCH CÁC BẢNG VÀ HÌNH VẼ 7

MỞ ĐẦU 8

Chươ
ng 1:
GIỚ
I THI

U
MÔ HÌNH RICH INTERNET APPLICATION 9

1.1 Tổng quan sự phát triển mô hình 9

1.2 Các đặc điểm của RIA 11

1.3 Phương pháp và công cụ sử dụng trong mô hình RIA 16

1.3.1 XML là ngôn ngữ chung của Internet 16


1.3.2 Bảng kiểu nhiều tầng - CSS 17

1.3.3 XHTML trong RIA 18

1.3.4 JavaScript: một ngôn ngữ cho hành động 20

1.4 Một số công nghệ được sử dụng trong RIA 24

1.4.1 Adobe Flex 24

1.4.2 Ajax 25

1.5 Lợi ích dùng RIA 28

1.6. Những hạn chế của RIA 28

Chương 2: BÀI TOÁN NÂNG CẤP TRANG WEB BÁN HÀNG LAMPCENTER 30

2.1. Tổng quan về trang web bán hàng Lampcenter.com 30

2.1.1. Giới thiệu 30

2.1.2. Cấu trúc và công cụ triển khai 32

2.1.3 Những vấn đề tồn tại và và các yêu cầu đặt ra 32

2.2. Giải pháp nâng cấp trang web 34

2.2.1. Những vấn đề và giải pháp 34


2.2.2. Lựa chọn công cụ nâng cấp 35

2.2.3 Mô hình triển khai 35

2.2.4. Một số công cụ, giải pháp cụ thể 36

2.4. Phạm vi nâng cấp 39

Chương 3: ỨNG DỤNG MÔ HÌNH RIA NÂNG CẤP TRANG WEB BÁN HÀNG QUA
MẠNG 40

3.1. Mô tả bài toán 40

3.1.1. Tổng quan về bài toán 40

3.1.2. Các hoạt động của hệ thống 42

3.2. Phát triển mô hình ca sử dụng 45

3.2.1. Xác định tác nhân và vai trò 45

5


3.2.2. Xác định ca sử dụng 46

3.2.3. Mô hình ca sử dụng mức gộp- mức hệ thống 46

3.2.4. Mô hình ca sử dụng mức gộp- chi tiết 48


3.3. Phân tích hệ thống 56

3.3.1. Các ca sử dụng cần phân tích. 56

3.3.2. Phân tích ca sử dụng – Biểu đồ tương tác 57

3.3. Biểu đồ lớp thiết kế hệ thống 60

3.4 Thiết kế cơ sở dữ liệu 62

3.4.1. Các dữ liệu cho quản lý truy nhập 62

3.4.2. Các dữ liệu cho quản lý bán hàng 63

3.4.3. Các dữ liệu cho quản lý khác của webssite 71

3.5 Thiết kế giao diện 77

KẾT LUẬN 82

TÀI LIỆU THAM KHẢO 83

Tiếng Việt 83

Tiếng Anh 83













BẢNG CÁC CHỮ VIẾT TẮT
Viết tắt
Tên đầy đủ
Ajax
Asynchronous JavaScript and XML
API
Application Programming Interface
ADO
ActiveX Data Objects
DOM
Document Object Model
HTML
HyperText Markup Language
HTTP
HyperText Transfer Protocol
IE
Internet Explorer
IP
Internet protocol
OEM
original equipment manufacturer
REST

Representational State Transfer
RIA
Rich Internet Application.
SLM
Service-Level-Management
SOAP
Simple Object Access Protocol
SVG
Scalable Vector Graphics
TCP
Transmission Control Protocol
WPF
Windows presentation foundation
XHTML
Extensible HyperText Markup Language
XAML
Extensible Application Markup Language
XML
Extensible Markup Language
CSS
Cascading Style Sheets
W3C
World Wide Web Consortium
RCP
Rich Client Platform
PDA
A personal digital assistant









7



DANH SÁCH CÁC BẢNG VÀ HÌNH VẼ
Số
Tên bảng và hình
Trang
Hình 1.1
Sơ đồ tương tác giữa người dùng và ứng dụng trên web
12
Hình 1.2
Mô hình giao tiếp trong ứng dụng web theo mô hình RIA
13
Hình 1.3
Cấu trúc giải pháp công nghệ trong mô hình RIA.
13
Hình 1.4
Cấu trúc thành phần trong RIA
16
Bảng 1-1
Sự kiện trang vòng đời của trang
23
Bảng 1-2
Một vài sự kiện người dùng điều khiển

24
Hình 1.5
Mô hình web truyền thống và web sử dụng RIA
27
Hình 1.6
Sơ đồ kiên trúc thành phần với Silverlight
30
Hình 2.1
Trang chủ của trang web Lampcenter.com
31
Hình 2.2
Biểu đồ hoạt động của hệ thống
32
Bảng 2.1
Vấn đề và giải pháp cho việc nâng cấp trang web
34
Hình 2.3
Mô hình 3 tiers
35
Hình 2.4
Mô hình bảo mật được mã hóa dữ liệu ở cả hai chiều
35
Bảng 3.1
Các chức năng của hệ thống bán hàng
42
Hình 3.1
Biểu đồ hoạt động khách đặng ký mua hàng
43
Hình 3.2
Biểu đồ hoạt động tổng hợp, phân tích nhu cầu

43
Hình 3.3
Biểu đồ miền lĩnh vực của hệ thống
44
Bảng 3.2
Các thuật ngữ và giải thích
44
Bảng 3.3
Các tác nhân của hệ thống và vai trò
45
Hình 3.4
Biểu đồ ca sử hệ thống dụng mức gộp
47
Hình 3.5
Biểu đồ ca sử hệ con Đăng ký mua hàng
48
Hình 3.6
Biểu đồ ca sử hệ con quản lý trang web
51
Hình 3.7
Biểu đồ ca sử hệ con kiểm soát truy nhập
52
Hình 3.8
Biểu đồ tuần tự xem và tìm kiếm mặt hàng
54
Hình 3.9
Biểu đồ tuần tự chọn mua hàng
55
Hình 3.10
Biểu đồ tuần tự theo dõi thanh toán

56
Hình 3.11
Biểu đồ tuần tự đăng nhập hệ thống
57
Hình 3.12
Biểu đồ lớp thiết kế vật lý của hệ thống
58




MỞ ĐẦU
Các ứng dụng trên nền web đang có nhu cầu ngày càng lớn khi mà mạng
Internet bùng nổ và ngày càng mở rộng. Ngày nay các thiết bị đầu cuối có thể sử
dụng web không chỉ dừng lại ở các máy tính mà còn bao gồm rất nhiều thiết bị đầu
cuối khác như PDA, mobile, ti vi,…Trong điều kiện như vậy, những trang web tĩnh
như thuở ban đầu không còn thích hợp, bởi vì nó đòi hỏi sự truyền đi cả trang web
mỗi lần có tương tác. Ngay cả khi mà đường truyền đã có thông lượng lớn hơn
nhiều thì sự truyền như vậy vẫn sẽ rất chậm, nhất là khi các dữ liệu có nhiều loại
dạng đa phương tiện như ảnh, bản đồ… Web động ra đời đã cho phép tăng cường
khả năng tương tác nhờ sự làm việc không đồng bộ giữa những gì tiếp nhận trên
giao diện trang web và các dữ liệu trao đổi với máy chủ. Chính vì lý do này mà tôi
đã chọn đề tài ”Nâng cao hiệu quả của một trang web bán hàng bằng việc sử dụng
công nghệ web động và các công cụ phân tích yêu cầu” làm đề tài luận văn tốt
nghiệp của mình. Bên cạnh đó, việc nâng cao hiệu quả kinh doanh luôn cần có
những thông tin mới về nhu cầu của khách hàng. Rõ ràng chỉ nhờ có web động mới
cho phép xử lý các dữ liệu bán hàng để mau chóng có được để những thông tin về
nhu cầu của khách, từ đó đưa ra các quyết định kinh doanh. Như vậy, trang web
được nâng cấp không chỉ nâng cao năng lực đáp ứng được nhu cầu mua hàng một
cách tốt nhất mà còn là phương tiện trợ giúp các quyết định kinh doanh.

Luận văn gồm 3 chương:
Chương 1: Giới thiệu mô hình RIA: trình bày tổng quan về web động – một
mô hình ứng dụng web rất phong phú (Rich Internet Application –RIA) bao gồm
kiến trúc, các đặc trưng, công cụ sử dụng trong RIA và lợi ích của nó.
Chương 2: Bài toán nâng cấp trang web bán hàng qua mạng Lampcenter:
Phân tích thực trang của một trang web bán hàng để thấy được những hạn chế và
tồn tại của nó, và yêu cầu cấp bách phải nâng cấp nó trong điều kiện mới. Nêu
những vấn đề đặt ra và đề xuất giải pháp nâng cấp.
Chương 3: Tiến hành phân tích và thiết kế trang web với những yêu cầu mới
đặt ra và tiến hành phát triển, nó nâng cấp. Kết quả là một trang web bán hàng đạt
được các yêu cầu đặt ra và đã đưa vào hoạt động bình thường.
Cuối cùng là kết luận, bao gồm những kết quả đạt được khi áp dụng RIA nâng
cấp trang web bán hàng và những vấn đề cần tiếp tục hoàn thiện.

Chương 1: GIỚI THIỆU MÔ HÌNH RICH INTERNET
APPLICATION
1.1 Tổng quan sự phát triển mô hình
Mô hình Rich Internet Application (RIA) được hãng Macromedia chính thức
công bố vào năm 2002. Năm 2007 một nhóm nghiên cứu gồm 3 nhà khoa học Dana
Moore thuộc lĩnh vực công nghệ bảo mật BBN, Raymond Budd và Edward (Ted)
Benson là kỹ sư phần mềm thuộc lĩnh vực công nghệ bảo mật BBN đã viết cuốn
sách “Professional Rich Internet Applications” trình bày những vấn đề cơ bản của
mô hình RIA .
Thuật ngữ “Rich Internet Applications” được ra đời từ năm 2002. Nhưng
trước đó, nhiều triển khai theo nội dung này đã được thử nghiệm và có 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) Clients.
Và cuối cùng là Rich Web Application.

Theo Wikipedia, RIA là các ứng dụng trên web có đầy đủ các tính năng và
đặc trưng của các ứng dụng desktop truyền thống. 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ụ.
Trong các ứng dụng web truyền thống ban đầu, 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. Mô hình RIA ra đời đã giải quyết được vấn đề bất tiện này.
Hình 1.1 là sơ đồ tương tác giữa các đối tượng trong môi trường hoạt động
theo mô hình web. Sơ đồ cho ta thấy được các hành vi có liên quan tới quá trình
tương tác giữa người sử dụng và ứng dụng web.
10


Ở mức cao nhất, mô hình minh họa 3 nội dung chính thể hiện bằng ba phần
được đóng khung và tô bằng các màu khác nhau:
− Phần trên cùng(1): thiết kế của ứng dụng và môi trường sử dụng
− Hành vi của người dùng (2): nhìn, suy nghĩ, tác động, bỏ qua
− Hành vi khi sử dụng ứng dụng (3): tương tác của người dùng và cách thức đáp
ứng của hệ thống ứng dụng web.
1
2
3

Hình 1.1. Sơ đồ tương tác giữa người dùng và ứng dụng trên web
Mô hình trên mô tả từng bước 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.
Theo sơ đồ này, nếu chu trình di chuyển thông tin theo mũi tên có thể tách biệt
thành hai vòng luân chuyển dữ liệu giữa người dùng - máy khách và giữa máy
khách – và máy dịch vụ để chúng hoạt động một cách độc lập sẽ cải thiện đáng kể
sự hoạt động của hệ thống này. Mô hình RIA đã phát triển trên ý tưởng này. Hình
1.2 mô tả quá trình tương tác trong ứng dụng web dựa trên mô hình RIA. Sơ đồ cho
ta thấy, các đoạn thẳng với nút đậm hai đầu mô tả sự tương tác giữa hai đối tượng
chứa các đầu mút đó. Rõ ràng là, quá trình tương tác giữa máy khách (engine) và
người dùng (thể hiện ra ở display) có sự độc lập nhất định (tương đối) với quá trình
tương tác giữa máy khách và máy chủ (webserver và CSDL). Sự sai khác này được
xem là sự không đồng bộ của hai quá trình tương tác.
11



Hình 1.2: Mô hình giao tiếp trong ứng dụng web theo mô hình RIA
Để thực hiện được mô hình trên đây, người ta đã sử dụng một sản phẩm công
nghệ được kết hợp từ các bộ sản phẩm Flash của hãng Abode, java applets, và Ajax
. Hình 1.3 là sơ đồ mối quan hệ giữa Flash, Ajax, và java applets.

Hình 1.3. Cấu trúc giải pháp công nghệ trong mô hình RIA.
Sau này chúng ta sẽ phân tích rõ vai trò của mỗi thành phần này trong mô hình RIA.
1.2 Các đặc điểm của RIA
a. RIA (Rich Internet Applications) là động
Đặc điểm đầu tiên của RIAs là động (“Plastic”). Các thế hệ mới của các ứng

dụng Internet được mở rộng và có thể được thêm vào nhiều thành phần khác nhau.
Với mô hình "nhìn và cảm nhận", web với RIA cho ta thấy sự mạnh mẽ của bảng
định dạng (CSS). Các ứng dụng web trước đây chỉ "cho phép lựa chọn", và đơn
giản áp dụng một CSS nhúng trong một trang HTML và hiển thị ra. RIAs kết hợp
các chức năng giao diện người dùng tốt nhất của các ứng dụng desktop với các tiếp
cận rộng lớn và chi phí triển khai thấp của các ứng dụng Web, tương tác tốt nhất với
12


truyền thông phương tiện đa. Kết quả cuối cùng là làm cho các ứng dụng trực quan
hơn, tương tác linh hoạt hơn đáp ứng hiệu quả cho người dùng.
Web với phong cách cũ có một số mức động, luôn xem là một khả năng của
nó. Nhưng trước khi sự xuất hiện RIA, web không cung cấp sự tương tác dễ dàng.
Nhưng với các ứng dụng Web 2.0, tất các yếu tố cơ bản của đặc tả W3C truyền
thống của HTML được sử dụng lại để xây dựng ứng dụng với nhiều tương tác hơn.
Phát triển RIA tạo ra nội dung trong các ứng dụng trung gian khác mà các nhà
phát triển hoặc người dùng cuối có thể tưởng tượng ra các khả năng tương tác với
nó, hiển thị nó, hoặc sử dụng lại nội dung của nó.
b. Với RIA, Trang Web là sự phân chia giao diện và phía sau
Các công nghệ đằng sau RIA đã được phát triển ngay cả trước khi Internet đầu
tiên bùng nổ. Nhưng chỉ có ứng dụng Web2.0 mới cho phép ta làm được tất cả.
RIAs thể hiện mức độ đáp ứng phong phú như của máy khách cần có khi được truy
cập Internet tốc độ cao, băng thông rộng phổ biến trong thị trường. Đó là một điều
kiện tốt để phát triển các ứng dụng RIA. Phát triển RIA là sự cập nhật của mô hình
khách-chủ (client-server) hiện đại. Sự khác biệt sâu sắc ngày nay là ở chỗ, số máy
khách đa dạng có thể, với sự bùng nổ của các thiết bị không dây được kích hoạt,
máy tính xách tay, công nghệ Wi-Fi phổ biến, và thế hệ hậu duệ tiếp theo của PDA
đều có thể tương tác qua web. Vì vậy nhu cầu sử dụng Web đã thay đổi đáng kể,
không đơn thuần chỉ là trình duyệt.
Có thể xem một ứng dụng khác của RIA là AJAX trong trình duyệt, như một

thủ thuật đơn giản của vòng kép kín theo đó dữ liệu đi – về đến máy chủ. Chẳng
hạn, một người sử dụng nhập dữ liệu ban đầu có ảnh hưởng đến một trường dữ liệu
khác trên trang web để "làm mới một phần trang”. Các trình duyệt hiện đại có thể
làm tươi lại các phần nhất định nào đó của trang web mà không phải thay mới cả
trang như trước kia. Làm mới từng phần phía trước đã cải thiện đáng kể cung cách
của người dùng, làm cho ứng dụng diễn ra liên tục hơn.
c. Ứng dụng RIA là vô hình
RIA là sản phẩm vô hình để có được ứng dụng cho các tình huống cần thiết
"phục vụ mọi nhu cầu". Google là một ví dụ điển hình của các ứng dụng vô hình.
Nó thực hiện tức thời như không có gì xẩy ra đối với người dùng cuối. Nguyên tắc
cơ bản của thiết kế Web đã thay đổi. Ban đầu, thiết kế chỉ là làm ra các trang web
thay thế cho các tạp chí. Thiết kế web giờ đây nghiêng về hướng làm cho mọi thứ
trông giống như những gì trên thực tế. Thiết kế web2 đã trở thành những ứng dụng
13


mới cho thiết kế web, và CSS được thêm thắt nhiều tính năng để nâng cao kinh
nghiệm người dùng chứ không còn đơn thuần là việc bố trí nội dung.
d. Ứng dụng RIA phá vỡ “rào cản sở hữu”
Các nền tảng xưa nay có xu hướng kiểm soát kênh sở hữu trí tuệ khi đưa vào
tường bao (walled garden). Khi tạo một tài liệu, mặc dù là tác giả, ta không thể sở
hữu nội dung độc lập với các công cụ sử dụng để tạo ra nó. Nội dung không thể tồn
tại mà không có ứng dụng trung gian – một sự lãng phí. Các nhà cung cấp bán các
ứng dụng và lưu trữ các nội dung mô hình trong một định dạng có thể ngăn chặn bất
cứ ai sử dụng sản phẩm của họ nếu không được sự cho phép. Nhà cung cấp quyết
định khi nào, làm thế nào để sử dụng mà không gây lỗi. Các nhà cung cấp đã tạo ra
các hệ thống phân phối lớn dựa trên sự đóng góp nội dung của người dùng cuối. Sự
đầu tư đó giữ cho các ứng dụng như là “luôn được cập nhật ” và được nhà cung cấp
quyết định chứ không phải người sở hữu chúng.
e. Ứng dụng RIA tạo ra công cụ mới

Sự phong phú của các ứng dụng miễm phí cho phép người dùng sáng tạo nội
dung khi họ tương tác. Họ không cần đầu tư vào việc duy trì các công cụ so với các
thế hệ trước đây của các ứng dụng “tường bao”. Nếu ứng dụng đầu tiên của Internet
là phục vụ và trình bày thông tin siêu liên kết, thì lần thứ hai là cung cấp thông tin
cá nhân để hoàn tất giao dịch, sau đó lần thứ ba chắc chắn là tạo ra, tiêu thụ, và thao
tác các nội dung trong một xã hội hoặc thiết lập tương tác.
Các ứng dụng web cung cấp cho thế hệ máy tính để bàn những công cụ mới,
cho phép người dùng cuối viết, vẽ, in và lưu hành những sáng tạo của họ trong
khuôn khổ khả năng của người dùng. Ngày nay, khả năng không giới hạn số lượng
người dùng tham ra diễn đàn (raters, taggers, and bloggers), chính họ đã nâng tỷ lệ
sáng tạo nội dung, tiêu thụ và tiềm năng cho cuộc tranh luận, các bài viết lên một
mức cao mới.
f. Ứng dụng RIA luôn cập nhật
Là một nhà phát triển, khi tinh chỉnh ứng dụng phía Server, ta chỉ tốn thời
gian sửa chữa các mô hình dữ liệu hoặc chuyển đổi từ một cơ sở dữ liệu sang dữ
liệu khác. Người dùng cuối là hoàn toàn không bị ảnh hưởng. Nơi sinh ra phần mềm
máy tính để bàn không còn hấp dẫn nữa, và mong đợi của người dùng chỉ việc sử
dụng những gì có sẵn mà không cần quan tâm đến công cụ đã hoàn toàn được đáp
ứng. Chính tương tác làm cho người dùng sẽ là người cập nhật cho ứng dụng.

14


g. Ứng dụng RIA như là một hệ điều hành
Phần mềm đã được gắn liền với hệ điều hành từ khi xuất hiện máy tính. Ban
đầu, phần mềm được cung cấp gần như làm mất khả năng điều khiển của nhà cung
cấp để đảm bảo sự ổn định của phần cứng máy tính. Trong thời đại của máy tính cá
nhân, người dùng vẫn không thể mua bất kỳ máy tính cá nhân để vận hành một ứng
dụng nhất định. Một số nhà cung cấp máy chủ có nghệ thuật bán phần mềm như là
một sản phẩm độc lập, người sử dụng ứng dụng cần mua các hệ điều hành để hỗ trợ

cho máy tính đang dùng.
Các hệ thống truyền dữ liệu không có ứng dụng web 2.0 có những hạn chế
cứng nhắc thể hiện trong đồ họa trong Hình 1-4. Giải pháp của RIA đã dỡ bỏ hoàn
toàn các hạn chế đó. Các lớp của các ứng dụng Web 2.0–networked có chỉ dẫn thúc
đẩy các nhà phát triển, phân chia các mối quan hệ liên quan làm tăng trưởng sự phát
triển của mạng, bản thân nó trở nên dễ dàng hơn chèn lớp mới, và cuối cùng là bổ
sung thêm khả năng mở rộng.
Nó sẽ không quan trọng cho dù người dùng đang chạy Windows, Linux, Mac
OS/X, hoặc một cái gì đó khác, vì RIAs sử dụng trang web đó như là nền tảng của
chúng. Trung tâm thiết kế của Web 2.0 yêu cầu phát triển để cung cấp các ứng dụng
chỉ thông qua một địa chỉ URL và XHTML của trình duyệt. Document Object
Model (DOM) được sử dụng để hiển thị động và tương tác mà không cần thực hiện
làm tươi lại trên trình duyệt và phát triển mã nhúng JavaScript bên trong XHTML.









Hình 1.4. Cấu trúc thành phần trong RIA
Nhiều trong số những luật bất di bất dịch là một phần của lỗi khổ khi làm việc
với các ứng dụng trong một hệ điều hành cục bộ: cứ vài phút buộc phải nhấn Save
để tránh văn bản bị mất, phải sắp xếp lại hệ thống phân cấp thư mục, lo lắng chạy
15


một chương trình kiểm tra vi-rút một vài lần một ngày. Với các áp dụng RIAs,

những bất tiện này không còn nữa. Nó thể hiện một sự thay đổi văn hóa cho người
sử dụng, cũng như một công nghệ mới.
h. Ứng dụng RIA là trung tâm trình duyệt
Các trình duyệt đã phát triển từ một thiết bị kết nối thông tin , một thiết bị ứng
dụng đơn giản đến thiết bị ứng dụng hosting đầy đủ trong Web 2.0. Các trình duyệt
đã thay đổi khi phát triển của các ứng dụng Web 2.0, và có thể tận dụng khả năng
sẵn có của nó. Khả năng đơn giản để thực hiện lời gọi thủ tục từ xa bằng cách sử
dụng built-in XMLHttpRequest từ JavaScript đã thay đổi rất nhiều cách chơi. Ta có
thể làm mọi công việc văn phòng trên web tương tự như dùng Microsoft Office,
OpenOffice, Mac iWork suites (gói phần mềm dùng giải trí như trò trơi, xem phim,
ca nhạc…). Đó là những công cụ soạn thảo phong phú như FCKeditor
(www.fckeditor.net) and Tiny MCE (tinymce.moxiecode.com) được viết hoàn toàn
bằng JavaScript và nhúng trực tiếp trong trình duyệt.
i. Ứng dụng RIA xem phần mềm như dịch vụ
Tạo trang web từ nhiều nguồn dữ liệu hay pha trộn nhiều ứng dụng được nhiều
nhà phát triển RIA thực hiện. Nhờ vậy các API của họ đặc biệt dùng để cho phép
pha trộn ứng dụng lấy từ nhiều nguồn khác nhau. Nhiều nhà cung cấp phát triển "áp
dụng" cho một API để đưa ra lời mời dịch vụ xác nhận việc gọi ứng dụng. Người
dùng có thể dùng các ứng dụng từ giao diện này như một phần mềm dịch vụ đang
để ở đâu đó mà ta không cần quan tâm đến.
k. Ứng dụng RIA lấy người sử dụng làm trung tâm
RIAs lấy người sử dụng làm trung tâm theo một cách khác. Đầu tiên, RIAs lấy
người sử dụng làm trung tâm vì nó hoạt động ở mức trên hệ điều hành. Điều này là
quan trọng, bởi vì theo mô hình truyền thống, rất nhiều sản phẩm công nghệ bắt đầu
với lõi bên trong và bọc các kinh nghiệm người dùng xung quanh công nghệ này.
Hầu hết các nhà công nghệ ngày nay bắt đầu với một kiến trúc được quan tâm và
xây dựng dần ra bên ngoài những cái gì đó mà người sử dụng cuối cùng nhìn thấy,
trải nghiệm. Đó là cách tổ chức các ứng dụng với RIA.
m. Ứng dụng RIA là hợp tác từ cộng đồng
Hợp tác của cộng đồng phát triển RIAs cũng được lấy làm trung tâm trong

việc xây dựng những sáng tạo của người khác. Đó là nhận xét của một blog, thêm
siêu dữ liệu vào một ảnh số, hoặc tạo ra một siêu thị địa phương, mọi người đang
16


hình thành các cộng đồng xung quanh các ứng dụng web, và đáng chú ý là các ứng
dụng Web 2.0.
1.3 Phương pháp và công cụ sử dụng trong mô hình RIA
1.3.1 XML là ngôn ngữ chung của Internet
Ngôn ngữ đánh dấu có thể mở rộng (Extensible Markup Language) XML tạo
ra một định dạng dữ liệu cho phép đặc tả tất cả, một cách tự mô tả việc lưu trữ dữ
liệu trong thiết kế. Đó là cách đơn giản nhưng có khả năng vô tận. Nếu dữ liệu được
trình bày trong XML, bất kỳ máy tính nào trên thế giới đều có thể đọc và hiển thị
cấu trúc cơ bản và nội dung của nó, ngay cả khi chương trình không biết chính xác
làm gì với các dữ liệu sau đó. Vì lý do này, một vài quy tắc đơn giản của XML là
những gì cơ bản nhất và quan trọng mà bất kỳ nhà phát triển ứng dụng Web đều
phải học, và là khởi đầu của RIA.
Nguyên tắc cơ bản của XML
Một tài liệu XML bao gồm một loạt các thẻ tag. Một tag là một đánh dấu một
vùng trong các tài liệu khác. Ta có thể nhúng các khu vực này vào các khu vực khác
bất kỳ về số lượng, số lần cho đến cuối cùng ta nhấn kết thúc và tìm kiếm dữ liệu.
Các tag hầu như luôn đi theo từng cặp: một để bắt đầu vùng và một kết thúc vùng.
Sự kết hợp của một thẻ bắt đầu, thẻ kết thúc, và nội dung được gọi là một phần tử
(element). Các định dạng của một phần tử cua XML được mô tả trong Ví dụ sau:
<TAGTYPE attribute1=”value1” attribute2=”value2”>Contents</ TAGTYPE>
Các thẻ bắt đầu với một ký tự (<) (mà người ta thường gọi một khung mở) và
theo sau ngay nó là thuộc tính đại diện nội dung cho các loại thẻ. Số thuộc tính sau
thẻ là không hạn chế, và thẻ kết thúc bằng một ký tự lớn hơn (/>) (thường được gọi
là một khung đóng).
Nội dung của phần tử được viết sau dấu mở thẻ (<) và cuối cùng là một dấu

đóng thẻ (/>). Cặp thẻ này là cấu trúc cơ bản của XML mà bất kỳ ứng dụng RIA
Web sẽ xây dựng nó.
Như đã nói ở trên, nội dung của vùng là một cặp thẻ định nghĩa có thể được
bất cứ điều gì, và quan trọng nhất, có thể được có nhiều các nút XML. Thẻ vật lý
<TAGTYPE> kiểu text trong một tài liệu XML thường được gọi là một thẻ mở,
nhưng đối với thẻ trình bày thường được gọi là một nút hoặc một phần tử. Đoạn 1-
1XML thể hiện một tài liệu XML.
Đoạn 1-1XML
17


<PERSON>
<NAME>Blackbeard The Pirate</NAME>
<PHOTO url=” />
<ADDRESS type=”home”>
<STREET>3 Davy Jone’s Locker</STREET>
<ZIP>08404</ZIP>
<CITY>Atlantic City</CITY>
<STATE>New Jersey</STATE>
</ADDRESS>
</PERSON>
Ngôn ngữ đánh đấu siêu văn bản có thể mở rộng (Extensible HyperText
Markup Language) XHTML là một ngôn ngữ dựa trên XML để mô tả tài liệu. Tài
liệu có một tựa đề và một phần đầu (a title and a header), một đoạn với các phần,
đầu (headings), đoạn (paragraphs), và bảng (tables). Các tài liệu có chứa các mục
(Item) như hình ảnh, liên kết các tài liệu khác, và danh sách gạch đầu dòng. Khái
niệm XHTML là không quy tắc. Kiến thức chuyên môn kỹ thuật là cần thiết để xác
định các tài liệu web sao cho dễ dàng thao tác khi tương tác với cả người dùng và
một máy chủ Web điều khiển từ xa.
Nếu không có thêm ADO, chúng ta hãy xem các phần tử XML cụ thể bao gồm

một trang XHTMLWeb. Có thể dễ dàng nhận ra các phần tử XHTML thuộc vào
năm loại chính:
 Cấu trúc tài liệu (Document structure)
 Cấu trúc văn bản (Text structure)
 Loại văn bản (Text type)
 Đối tượng trong văn bản (In-text objects (such as images and links))
 Cài đặt tài liệu (Document setup)
1.3.2 Bảng kiểu nhiều tầng - CSS
Bảng kiểu nhiều tầng CSS (Cascading Style Sheets) về cơ bản là xây dựng cho
HTML. Nhưng nó được làm thích nghi với các ngôn ngữ lập trình khác, cho những
người đang hướng về phía RIA. Ta có thể thấy rõ điều này trong CSS Ajax. Nó
được sử dụng để giúp thao tác hành vi bên trong HTML. Sử dụng DOM, CSS có thể
được áp dụng sau khi chức năng đã được gắn thẻ cho CSS để giải thích.
18


1.3.3 XHTML trong RIA
Nếu mục tiêu của nhà phát triển chỉ đơn giản là tạo ra các phiên bản điện tử
của một trang đánh máy đẹp, sau đó họ không cần phải quan tâm nhiều đến chữ X
trong XHTML, bất kỳ sự kết hợp của các phần tử đều cho kết quả một trang đủ
thẩm mỹ. Tuy nhiên, phát triển RIA còn có mục tiêu khác. Mục tiêu không chỉ để
tạo ra một trang web hấp dẫn để nhìn, nhưng còn để tạo ra các ứng dụng bên trong
trình duyệt Web. Với điều này, việc ghi nhớ nguồn gốc XML của XHTML là vô
cùng quan trọng.
Tài liệu XHTML không chỉ chứa cấu trúc để tái sản xuất các đối tượng sống
thực mà chúng miêu tả, nó cũng cũng tạo ra giao diện sinh động trong ứng dụng
web của ta. Vì vậy, nó phải được thiết kế để dễ dàng thao tác bằng mã máy tính.
Các cấu trúc dạng cây của XHTML cho phép các vùng của tài liệu được dễ dàng
thao tác và tạo kiểu. Thao tác thông minh của cây DOM thông qua JavaScript là xác
định đặc điểm chung cho tất cả các RIA.

Vì XHTML giới hạn khả năng sử dụng bất kỳ loại thẻ mà ta muốn, để bảo vệ
các thẻ tùy biến trong cây DOM, phải sử dụng rộng rãi các id và các lớp thuộc tính.
Ở ví dụ Đoạn 1-1 XML đã được chuyển hóa thành XHTML trong Ví dụ Đoạn 1-4,
các loại thẻ mô tả biến mất và được thay thế bằng một thẻ div và các phần tử nối.
Để duy trì số lượng thông tin trong văn bản XML ban đầu, thông tin mã hóa trong
các loại thẻ bị mất được giấu trong các id và lớp thuộc tính div mới và các phần tử
nối. Ta sẽ thấy tầm quan trọng của thẻ class khi ta tìm hiểu để viết đặc tả trực quan
cho văn bản XHTML với CSS. Để phát triển cần hiểu rõ thẻ id khi ta bắt đầu thao
tác cấu trúc của cây DOM với JavaScript.
d. Gắn CSS vào một trang web
Có ba cách để gắn CSS vào các trang Web: từ một tập tin bên ngoài, trong
phần header của trang Web, và các thuộc tính của một phần tử. Việc chọn một cách
nào đó phụ thuộc vào những gì ta muốn đạt được tại thời điểm làm việc trên tài liệu.
Một trong những điểm mạnh của CSS là tách các đặc tả trực quan từ đặc tả nội
dung, tất cả các nhà phát triển web cần lưu trữ CSS của họ trong tập tin riêng biệt,
và liên kết đến các tập tin từ các tài liệu XHTML. Nếu ta muốn gỡ lỗi một vấn đề
trên một trang cụ thể và cần phải ghi đè lên một số thuộc tính CSS hiện tại, ta có thể
viết trực tiếp CSS của ta vào tài liệu XHTML. Gắn mã CSS như là một bảng bên
ngoài được thực hiện với một phần tử link bên trong đặt ở trên đầu. Ví dụ Đoạn 1-2
cho thấy một liên kết đến một file CSS bên ngoài.
Đoạn 1-2 XHTML
19


<link rel=”stylesheet”
href=”
Vùng xây dựng cấu trúc CSS nằm trong 1 dòng ở phần đầu của XHTML, sử
dụng tag là phần tử đầu chứa CSS trong đó. Như thể hiện trong Đoạn 1-3
Đoạn 2-3 XHTML / CSS
<head>

<style type=”text/css”>
p { margin-left: 10px; }
body { background-color: blue; }
</style>
</head>
Tận dụng lợi thế của CSS vào trong RIA, để có một thiết kế trang web đẹp
nhóm phát triển Dana Moore, Raymond Budd và Edward Benson đưa ra một số lời
khuyên sử dụng CSS:
- Lớp CSS nên phản ánh cái gì được sử dụng
Một trong những sai lầm phổ biến nhất của cả người mới bắt đầu và các
chuyên gia là việc đặt tên các lớp CSS sau khi nhìn trực quan về các kiểu (style) mà
các nhà thiết kế ban đầu dành cho các phần tử của lớp đó. Mặc dù tên như màu đỏ
và left_column có thể chỉ ra được ý định ban đầu của ta, nhưng chúng không cung
cấp cho ta sự linh hoạt để dễ dàng thay đổi khi cần nâng cấp trang web. Tên các lớp
CSS của ta luôn luôn đi sau ý định này, có nghĩa là cho phép các thuộc tính trong
lớp tự diễn đạt cho chính nó. Nếu tập tin CSS của ta có tên như warning, important,
main_content, and secondary_content, đây sẽ là một dấu hiệu tốt ta tạo ra tên lớp
có thể chịu được sự thử thách của thời gian.
- Cần chú thích và tách từng phần giữ cho CSS rõ ràng
Khi ta phát triển RIA tinh vi hơn, tập tin CSS có thể tăng lên rất lớn. Ngay từ
đầu, sử dụng ý kiến trong file CSS của ta để mô tả cách sử dụng của kỹ xảo CSS
phức tạp hơn, hoặc một lớp có dự định để sử dụng. Các khối riêng biệt của CSS có
ý nghĩa cho ứng dụng. Điều này có thể có nghĩa là nhóm các CSS liên quan đến các
thành phần trong các vùng nhất định của cùng một trang. Hoặc ta có thể nhóm thành
phần lại với nhau dựa trên thành phần XHTML ghi đè chúng lên.
- Luôn nhớ CSS là giao diện RIA
Cũng như các cấu trúc cây DOM XHTML giao diện cho một ứng dụng Web,
CSS cung cấp sự bài trang trí cho giao diện này. Bởi vì các ứng dụng web sử dụng
XHTML như giao diện tương tác thay vì các văn bản tĩnh, CSS là cái để mô tả
20



thông tin phản hồi cho người sử dụng về các sự kiện nhất định xảy ra trên trang
Web. Một mã vùng trong text box có thể chuyển sang màu đỏ nếu nội dung của nó
không phải là một mã vùng hợp lệ, hoặc một vùng của trang có thể chuyển sang
màu cam để cho biết rằng ta có một tin nhắn mới.
- Kiểu lớp cơ bản là cách tốt nhất của phát triển RIA
Vì để áp dụng và sau đó loại bỏ style đến các phần tử trên cây DOM, các
phương thức class-based áp dụng các style đến một đối tượng là một công cụ bảo vệ
chặt chẽ trong phát triển RIA.
1.3.4 JavaScript: một ngôn ngữ cho hành động
Cấu trúc một tài liệu Web với XHTML và làm thế nào để trình bày đẹp tài liệu
với CSS. JavaScript mở ra cánh cửa để ta làm cho các trang web tĩnh trở nên sống
động với sự tương tác đáp ứng thời gian thực. Đó là phương pháp tiếp cận chất
lượng của các ứng dụng desktop truyền thống.
JavaScript là một ngôn ngữ kịch bản hướng đối tượng cho phép nhà phát triển
web đặt code bên trong một tài liệu Web thực hiện cho phía máy khách (client-
side). JavaScript không phải là một dẫn xuất của Java, mặc dù cấu trúc điều khiển
của nó tương tự như ngôn ngữ lập trình Java. Mặc dù vậy, JavaScript có thể sử dụng
ở nhiều nơi không chỉ cho trình duyệt web mà còn hữu ích cho các nhà phát triển
Rich Internet Application, bởi vì JavaScript và DOM APIs được đưa vào tất cả các
trình duyệt web hiện đại.
a. Gắn JavaScript vào trang Web
Ta có thể gắn mã JavaScript vào trang web theo cách tương tự như CSS hoặc
nội tuyến trong một thành phần đặc biệt hoặc như một file riêng biệt. Nhiều nhà
phát triển có thể tìm thấy nó hữu ích để sử dụng nội tuyến JavaScript khi bắt đầu
thử nghiệm một chức năng mới, như giữ cho JavaScript viết riêng vào 1 phần hoặc
tập tin riêng của nó càng nhiều càng tốt vì mục đích trực quan để có thể dùng lại và
bảo trì.
b. Gắn dòng JavaScript

Ta đặt nội tuyến JavaScript vào tài liệu HTML như thể nó là văn bản bình
thường bất cứ nơi nào trong các thành phần đầu hoặc giữa trang của ta, dù ta có thể
chọn hai thành phần này để sử dụng như vùng chứa dựa trên mã JavaScript. Trong
cả hai trường hợp, các mã kịch bản được thực hiện vì nó được phân tích cú pháp bởi
trình duyệt Web. Đoạn 1-4 cho thấy một ví dụ về nội tuyến JavaScript.
21



Đoạn 1-4
XHTML
<script type=”text/JavaScript”>
// Your Code Here
</script>
Vùng script nằm trên đầu được thực hiện ngay sau khi tải trang, vì vậy vị trí
này là tốt nhất để xác định chức năng mà các thành phần bên trong phần thân sẽ sử
dụng. Đó là một cuộc gọi lại của một số thành phần sẽ kích hoạt, hoặc cần phải thực
hiện một số hành động trước khi tải trang. Kịch bản đặt trong thân được thực hiện
khi mà phần của trang được gọi. Vì vậy đây là một vị trí lý tưởng để đặt các kịch
bản vào một số thành phần của thân trang cùng với nội dung. Ví dụ Đoạn 1-5 cho
thấy, một tài liệu XHTML hoàn chỉnh có chứa nội tuyến JavaScript đưa ra một cửa
sổ pop-up trước khi phần còn lại của trang Web được tải.
Đoạn 1-5
XHTML
<html>
<head>
<title>Alert Page</title>
<script type=”text/JavaScript”>
alert(“This is an alert!”);
</script>

<head>
<body>
<p>You should see an alert before this loads!</p>
</body>
</html>
c. Gắn JavaScrip như là 1 file riêng biệt
Để đính kèm JavaScript vào một trang web như là một tập tin riêng biệt, sử
dụng các yếu tố kịch bản chính xác như nhau, nhưng chắc chắn rằng nó là thành
phần đầu và áp dụng một thuộc tính src tới nó. Đoạn 1-4 và 1-5 hiện ra (alert) bằng
cách gắn một tập tin JavaScript. Lưu ý rằng file alert.js được hiển thị trong Đoạn 1-
8 không yêu cầu bất kỳ thẻ kịch bản nào và lựa chọn để chỉ định các mã alert như là
một chức năng được gọi khi thân file tải HTML .
Đoạn 1-5 và 1-6 cũng chứng minh sự khác biệt giữa thực thi JavaScript trong
các thành phần ở đầu chương trình và các thành phần ở thân chương trình. Trong
Đoạn 1-4, các mã alert trong các thành phần ở đầu thực hiện. Nó ngăn cản việc tải
phần thân của trang Web cho đến khi JavaScript kết thúc quá trình thực hiện (có
nghĩa là người sử dụng sẽ không tải trang cho đến khi họ nhấp chuột vào nút OK
22


trên hộp alert). Đối với ví dụ (đoạn) file riêng biệt, JavaScript tải function alert bằng
phần tử đầu chương trình, nhưng không thực hiện cho đến khi tải thành phần thân
(sử dụng thuộc tính onload). Đây là phương thức sau cùng đưa ra tải phần thân của
trang web trong khi JavaScript thực thi, Sự khác biệt thấy ở 2 đoạn sau.
Đoạn 1-6
XHTML
<html>
<head>
<title>Alert Page</title>
<script type=”text/JavaScript” ert.js” />

<head>
<body onload=”showalert()”>
<p>You should see an alert before this loads!</p>
</body>
</html>

Đoạn 1-7: “alert.js”
JavaScript
function showalert() {
alert(“This is an alert!”);
}
d. Gắn JavaScript vào hành động của người dùng
Hầu hết các kịch bản JavaScript bị ràng buộc vào hành động trên các thành
phần trong cây DOM để có hiệu quả mong muốn. Trước khi ta tìm hiểu về các thao
tác cây DOM, ta cần biết những cách khác nhau để có thể làm cho JavaScript thực
hiện trên một trang. Bằng cách này, ta có thể dễ dàng tạo ra các trang của riêng
mình để kiểm tra và vận dụng các kỹ thuật JavaScript. Có ba cách cơ bản để thực
hiện các mã JavaScript trong trang Web:
 Để nguyên dòng (Raw, in-line JavaScript)
 Các sự kiện trong vòng đời trang (Page lifecycle events)
 Các sự kiện người dùng điều khiển (User-driven events)
Để nguyên dòng JavaScript
Dòng JavaScript được thực hiện ngay khi trình duyệt Web bắt gặp nó. Mặc dù
hiếm khi sử dụng kiểu của mã này, bởi vì nó không cung cấp các điều khiển việc
thực thi các mã này khi nào và như thế nào. Nó chỉ hữu ích để kiểm tra mã , khởi
23


tạo các biến, hoặc thiết lập một sự kiện hẹn giờ. Đoạn 1-6 là một ví dụ JavaScript
được thực hiện như các yếu tố đầu của tài liệu HTML.

Theo sự kiện của vòng đời trang Web
Các thuộc tính trong Bảng 1-1 cho phép ta ràng buộc các JavaScript vào vùng
khác nhau trong vòng đời của một trang Web.
Bảng 1-1: Sự kiện trang vòng đời của trang
Thuộc tính
Ý nghĩa
OnLoad
Khi trình duyệt đã tải xong trang
onError
Khi một lỗi xảy ra trong việc nạp các phần tử quy định hoặc
JavaScript
onAbort
Khi người dùng hủy bỏ việc nạp các thành phần quy định trước
khi nó được hoàn thành bằng cách nhấn vào nút Stop của trình
duyệt hoặc bằng cách nhấn vào một liên kết khác
onUnload
Khi người dùng di chuyển ra khỏi trang bằng cách nhấp chuột
vào một liên kết

Ví dụ Bảng 1-1 cho thấy cách sử dụng các thuộc tính onload và onUnload
trong một trang Web. Cả hai đều gắn với các thành phần thân chương trình. Chú ý
rằng, thuộc tính onload có chứa một lệnh gọi hàm, trong khi các thuộc tính
onUnload chứa một câu lệnh Javascript đơn. Thực sự có thể thực thi JavaScript
bằng nhiều cách với các thuộc tính giá trị: mỗi câu lệnh cách nhau bằng dấu chấm
phẩy, nhưng hầu hết trường hợp có thể phục vụ tốt nhất người dùng bằng cách định
nghĩa mã JavaScript như một function và sau đó dùng lệnh gọi hàm từ bên trong sự
kiện thích hợp.
Đoạn 1-8
XHTML
<body onLoad=”loadComments()” onUnload=”alert(„Thanks for

coming!‟);”>
Theo sự kiện người dùng điều khiển
Sự kiện người dùng điều khiển là những sự kiện xảy ra khi người dùng Web
thực hiện một hành động với con chuột hoặc bàn phím. Xây dựng các sự kiện này là
một nội dung để phát triển các ứng dụng Web, bao gồm các nội dung Web với các
tương tác phong phú như: kéo và thả hoặc thay đổi kích thước hình ảnh. Bảng 2-7
24


liệt kê một số sự kiện phổ biến nhất mà người sử dụng điều khiển có thể được đính
kèm, hoặc bị ràng buộc các yếu tố DOM.
Bảng 1-2: Một vài sự kiện người dùng điều khiển.
Tên phần tử
Ý nghĩa
onClick
Khi người sử dụng nhấp chuột một lần lên phần tử
onDblClick
Khi người sử dụng nhấp đúp chuột lên phần tử
onFocus
onBlur
Tương ứng, khi phần tử giành được tập trung hoặc mất tập
trung
onChange
Khi nội dung của phần tử đã thay đổi, chẳng hạn như nội dung
của một hộp văn bản được cập nhật bởi người sử dụng
onMouseOver
onMouseMove
onMouseOut
Tương ứng khi di chuột vào, di chuyển chuột bên trong, và ra
khỏi khu vực của một phần tử

onMouseDown
onMouseUp
Tương ứng, khi người sử dụng ấn xuống và thả chuột trên một
phần tử, tương ứng
Ta có thể đặt hai sự kiện trên nhiều hơn là chỉ các thành phần đầu vào và links
liên kết, ta có thể sử dụng chúng để kiểm soát hình ảnh, văn bản thường, hoặc thậm
chí thành phần thẻ div và thẻ span chạy như thế nào.
1.4 Một số công nghệ được sử dụng trong RIA
1.4.1 Adobe Flex
Để tạo RIA, các nhà phát triển thường sử dụng 2 giải pháp:
Một là dùng DHTML (gồm HTML, CSS, Javascript) kết hợp với AJAX. Đây
là công cụ rất mạnh. Tuy nhiên HTML không phải là một công cụ trình diễn, mà là
một chuẩn tài liệu. Javascript chưa đủ mạnh, và thiếu chặt chẽ. DHTML thường gặp
vấn đề về tương thích với các trình duyệt.
Giải pháp thứ 2 là dùng Flash (công nghệ ảnh động vector của Adobe). Công
cụ này ngày nay được cải tiến rất nhiều, có thể làm các ứng dụng RIA khá tốt.
Nhưng Flash sinh ra không phải để làm ứng dụng; công cụ lập trình không chuyên
nghiệp, giao diện lập trình hạn chế; chi phí để viết ứng dụng rất lớn do thiếu các
thành phần giao diện, thư viện hỗ trợ…
Để khắc phục những nhược điểm này, Adobe đưa ra công nghệ Flex - một
nền tảng công nghệ, công cụ phát triển ứng dụng RIA chuyên nghiệp. Với Flex, lập
trình viên có thể kết hợp giữa phương pháp thiết kế kéo - thả và phương pháp viết
mã lệnh, giúp xây dựng từng phần của ứng dụng một cách thích hợp. Sản phẩm
25


của Flex có thể được xuất sang thành ứng dụng Desktop (AIR). Flex hiện gồm 2
thành phần chính là MXML (Macromedia XML) và ActionScript3.0 (xây dựng theo
ECMAScript 4). ActionScript 3.0 giống Javascript, dễ học và có thể lập trình
hướng đối tượng.

Để xây dựng RIA, người ta sử dụng Flex Builder kết hợp với công nghệ dịch
vụ dữ liệu Flex (Flex Data Services – FDS) và biểu đồ Flex (FlexCharting). Các
công nghệ này giúp đơn giản hoá việc phát triển ứng dụng và tạo ra các ứng dụng
có chất lượng tốt hơn. Nếu không mua FlexBuilder, các nhà phát triển có thể sử
dụng công cụ Flex SDK miễn phí và có khá đầy đủ tính năng. Ngoài ưu thế công
nghệ, so với các giải pháp thiết kế RIA khác, Flex có sự hậu thuẫn mạnh mẽ vì phát
triển trên nền Flash nổi tiếng và được nhiều người sử dụng. Những người
dùng Flash nay chuyển lên Flex không cần phải thay một nền khác.
1.4.2 Ajax
Có thể so sánh AJAX so với các phương pháp tiếp cận truyền thống trong các
ứng dụng web (xem hình 1.5).
Đối với RIA, máy khách sẽ chạy mã ứng dụng với hầu hết các thành phần của
tầng giao diện và tầng giao diện nằm ngay trên máy khách.

Ứng dụng Web truyền thống
Ứng dụng Web sử dụng RIA
Hình 1.5. Mô hình web truyền thống và web sử dụng RIA

×