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 : Luận văn ThS. Công nghệ thông tin: 60 48 10

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
1.2 Các đặc điểm của RIA

9
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ố
Hình 1.1
Hình 1.2

Tên bảng và hình
Sơ đồ tương tác giữa người dùng và ứng dụng trên web
Mô hình giao tiếp trong ứng dụng web theo mô hình RIA


Trang
12
13

Hình 1.3
Hình 1.4
Bảng 1-1
Bảng 1-2
Hình 1.5
Hình 1.6
Hình 2.1

Hình 2.2
Bảng 2.1
Hình 2.3
Hình 2.4
Bảng 3.1
Hình 3.1
Hình 3.2
Hình 3.3
Bảng 3.2
Bảng 3.3
Hình 3.4
Hình 3.5

Hình 3.6
Hình 3.7
Hình 3.8
Hình 3.9
Hình 3.10
Hình 3.11
Hình 3.12

Cấu trúc giải pháp công nghệ trong mô hình RIA.
Cấu trúc thành phần trong RIA
Sự kiện trang vòng đời của trang
Một vài sự kiện người dùng điều khiển

Mô hình web truyền thống và web sử dụng RIA
Sơ đồ kiên trúc thành phần với Silverlight
Trang chủ của trang web Lampcenter.com
Biểu đồ hoạt động của hệ thống
Vấn đề và giải pháp cho việc nâng cấp trang web
Mô hình 3 tiers
Mô hình bảo mật được mã hóa dữ liệu ở cả hai chiều
Các chức năng của hệ thống bán hàng
Biểu đồ hoạt động khách đặng ký mua hàng
Biểu đồ hoạt động tổng hợp, phân tích nhu cầu
Biểu đồ miền lĩnh vực của hệ thống
Các thuật ngữ và giải thích

Các tác nhân của hệ thống và vai trò
Biểu đồ ca sử hệ thống dụng mức gộp
Biểu đồ ca sử hệ con Đăng ký mua hàng
Biểu đồ ca sử hệ con quản lý trang web
Biểu đồ ca sử hệ con kiểm soát truy nhập
Biểu đồ tuần tự xem và tìm kiếm mặt hàng
Biểu đồ tuần tự chọn mua hàng
Biểu đồ tuần tự theo dõi thanh toán
Biểu đồ tuần tự đăng nhập hệ thống
Biểu đồ lớp thiết kế vật lý của hệ thống

13

16
23
24
27
30
31
32
34
35
35
42
43

43
44
44
45
47
48
51
52
54
55
56
57

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 11XML 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

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 (clientside). 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>

You should see an alert before this loads!


</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 18 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” src=”alert.js” />
<head>
<body onload=”showalert()”>

You should see an alert before this loads!


</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
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ử
onClick
onDblClick
onFocus
onBlur
onChange
onMouseOver
onMouseMove

onMouseOut
onMouseDown
onMouseUp

Ý nghĩa
Khi người sử dụng nhấp chuột một lần lên phần tử
Khi người sử dụng nhấp đúp chuột lên phần tử
Tương ứng, khi phần tử giành được tập trung hoặc mất tập
trung
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
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ử
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


×