đoạm mã này có thể thực hiện việc xử lý đữ liệu như kiểm soái tinh ding dn cia dé liệu do người dùng Irøng HTMI, nhập vào lên cạnh việc tăng cường hiệu quả tương tác của người dùng t
Trang 1UNG DUNG MO HINH RIA
TRONG VIỆC PHÁT TRIỂN HỆ THỐNG QUẦN
LÝ TÁC NGHIỆP VĂN PHÒNG
Học viên: Phạm Thủy Linh
Cần bộ hướng dẫn: PGS [5 Nguyễn Văn Vụ
Trang 21.7 Những ưu việt được ghi nhận
1.8, Các phương pháp và công nghệ sử dụng trong mô hình RIA
2.3.1 Giới thiệu Mé hink t6 chite cita NHNo& PINT se - 40
2.3.3 Công tác diều bành và qun lý công việc co ccccccccrret wee AL
Trang 3Pham Thùy Lĩnh — Lớp KI0T3
CHUONG 3 UNG DUNG M6 AINE RIA TRONG VIEC TRIEN KHAT HE
'THÔNG QUẦN LÝ TÁC NGHIỆP VĂN PHÒN¿
1.2 Taya chọn công nghệ xây dung phan mêm ứng đụng 81
3.1.4, Ste dung Rico LiveGrid dé biéu dign đữ liệu trên máy khách 84
3.1.5 Vấn dễ về an toàn bão mật " - 1 8
Trang 4Pham Thity Linh —Lép K10T3
DOM Document Object Model
HTTP HyperText Transfer Protocol
NHNo&PTNTVN | Nean hang néng nghiép va phat trién néng thén Viet Nam
REST Representational State Transfer
SOAP Simple Object Access Protocol
SVG Scalable Vector Graphics
TCP Transmission Control Protocol
Trang 5Pham Thùy Lĩnh — Lớp KI0T3
MỞ ĐẦU
Ngày nay, khi Internet trở thành một phần không thế thiêu trong cuộc sống của
mỗi người, cũng như đối với hoạt động của các doanh nghiệp, tổ chức, thì yên cầu đáp ứng các yêu câu khắt khe của người đủng đã đặt ra cho những nhả nghiên cứu công nghệ,
nhà phát triển sản phẩm địch vụ trên Internet nhiều thách thức Đặc biệt là khoáng cách về khả năng tương tác với người dùng giữa các ứng đụng trên Internet và các ĩng dung trên
nên desktop Người dimg càng ngày càng khó chấp nhận chuyển đổi thói quen khi sử dụng các ứng dụng desklop truyền théng, sang str dung «:
ứng dựng web xây dụng theo
mô tình Clent-Server Iruyễn thông
Với cách nay, hoạt động tương tác xáy ra rất chậm chạp do với mô hình client- server trên các mạng LAN, Các nhả cung cấp dịch vụ trên Imtemet cũng chú động lỗi cuốn người dùng bằng cách thu hẹp sự khác biệt này Do đó, một mô hình phát triển ứng dụng trên môi trường Internet đã ra đời nhằm đáp ủng kỷ vợng của cộng đồng khi tương
táo trên Web như trên máy desktop Dó chính là mô hình phát triển Rich Intemet Application (RIA) kém theo cdc céng nghé lién quan
Sura di cia mé hinh RIA da m6 ra mat hudng moi, him hen Lae ra mot cude each mang siu réug wén Tntemel, Cac img dung dirge xy dimg theo mé hinh RTA đã và dang
thâm nhập vào mọi Tĩnh vực của cuộc sống và nhận được những kết quả đáng khích lê Mặc dù vẫn còn nhiều y kiển khác nhau va cén có nhiều vẫn để căn khắc phục và tiếp hái triển nhưng áp đụng mô hình RIA vẫn là một lựa chọn hap dan cho các nhà phốt triển,
nhá nghiền cửu và ứng dụng
Là một ngân hàng lớn hàng đầu Việt Nam, trong cuộc đổi mới, mở cửa hội nhập với thể giới của đất nước, Ngân hàng Nông nghiệp và phát triển nông thôn Việt Nam luôn
lây Công nghệ thông tin là một hướng đầu tư chính tạo ra sức mạnh cạnh tranh và nhân tô
thúc ty phải triển Do nhủ cầu cấp thiết phát triển các hệ thống ứng dung lớn của Ngân tàng và với những tu điểm nói trội cùng sự tiên bộ về mặt công nghệ không thể phủ nhận, tôi đã chơn chợn để tài “Ứng dưng mô hình Rich Tnlernel Application trong vi
Trang 6
Chuong 1— Gidi thigu mé hinh Rich Internet Application
Chương 2 — Phân tích và thiết kế hệ thống Quản lý tác nghiệp văn phòng theo phương pháp hướng đổi tượng
Chương 3 — Ứng dụng mô hình Rích Internet Applocation triển khai phần mềm Quản lý tác nghiệp văn phòng
VA cudi cùng là đánh giá những nội dung da dat được, các nội đưng cần tiên tục nghiên cứu và hoản thiện
Trang 7Pham Thùy Lĩnh — Lớp KI0T3
CHƯƠNG 1
MÔ HÌNH RICH INTERNET APPLICATION
1.1 Giới thiệu mô hình
Các ứng dựng web ban đầu ra đời với ý tưởng giúp các nhà nghiên cửu khoa học
chia sẻ tải liệu dưới dạng các trang thông tin tĩnh được liên kết với nhau vả được lưu theo
chuẩn IITML Kể từ đó, các trang web nhanh chóng được rnở rộng ra đề thể hiện các
thông tin theo định dạng văn băn phức tạp cũng như dạng hình ánh Dinh kèm theo các trang web là cáo ứng đụng nhúng cho phép nghe và xem các thông tin đưới dạng âm
thanh, phim ảnh Các nhà phát triển web bổ sung thêm các đoạn mã script chạy trên phia
xnáy khách bên cạnh oác chức năng cơ bản của trinh đuyệt là tạo ra các trang HTML Các
ma script nay tao ra thém các hiệu ứng thế hiện giao điện trang web trong quá trinh trơng,
tác với người sử dụng như tạo ra các thanh trượt (sliđer) để cuộn các trang đữ liệu trên màn hình hiển thị, tạo ra các menu có khả năng án hoặc mở rộng theo các chiêu ngang,
hoặc đọc Thậm chỉ đoạm mã này có thể thực hiện việc xử lý đữ liệu như kiểm soái
tinh ding dn cia dé liệu do người dùng Irøng HTMI, nhập vào
lên cạnh việc tăng cường hiệu quả tương tác của người dùng trên từng trang web,
những khá năng này của seript không pha vỡ mỏ hình của các ứng đụng web truyền thông, ban đầu và 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 điện Cơ chế này được gọi là co chế đồng bộ, có nghĩa là, người ding san khi gii 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ử đụng
Ngày may, các nhà phát triển web đã tìm ra một mã bình phát triển mới, đỏ là mô
hinh Rich Internet Application (RIA) Mé hinh RIA 1a mét au két hop gitia img dung web
én thống với mé hinh img dung desiop thé hign & ¥
day vẫn dượ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 địch vụ
Thuật ngữ “Rich Internet Applicatians” được hãng Macromedia chính thức công
bổ vào năm 2002 Trước đó, nhiêu triển khai theo nội dưng này đã được thử nghiệm và có
Trang 8
-9-Phạm Thùy Linh—Lép K10T3
rat nhiêu tên gọi khác nhau đã được sử dụng:
- Remote Scriptting, due Microsoft dua ra nim 1998
- X Intemet, duge t6 chite nghién ctr Forrester dura ra nam 2000
- Rich (Web) Clients
- Rich Web Application
Những sản phầm công nghé trién khai theo m6 hinh nảy điển hình như bộ sản
phẩm Flash của hãng Abode, Java applets, và một tập hợp các công nghệ được gọi bằng
thuật ngữ Ajax — "là một loạt các công nghệ, mả mỗi công nghệ tự bản thân chủng cỏ những ảnh hưởng nhất định, củng liên kết trong một cách thức phát triển triển ứng dung
web mới mẻ mạnh mế” Sau đây là sơ đồ mỗi quan hé giita Flash, Ajax, va java applets
Rich Internet [TT DỰ
Hình 1.1: Quan hệ giữa Flash, Ajax, Java applet/hoặc các công nghệ java khác
Sơ dé tương tác giữa các đối tượng trong môi trường hoạt động theo mô hình RỊA được
mồ tả cụ thể ở Hình 1.2
Mô hình không chỉ ra một cách cụ thẻ những rằng buộc người dùng phức tạp mà
chỉ xác đình các hành vi tự động, dựa trên kinh nghiệm, trực quan Chúng đơn thuận biểu điển một vải kết quả hành vi có liên quan tới nội dung của sự tương tác giữa người sử
dụng và ứng dụng RIA
Ở bậc cao nhất, mô hình minh hoa 3 nội dung chính (các phản được tõ màu vả
đóng khung trên hình vẽ), mỗi phần có những ảnh hưởng nhất định tới hiệu suất của ứng,
dụng:
~_ Thiết kẻ của ứng dung và môi trường sử dụng hay nội dung (hàng trên củng trong,
vùng đóng khung 1)
Trang 9Pham Thity Linh—Lép K10T3
GÀ" ND
BÊ
Hình 1.2: Mô hình tương tác giữa các đối tượng trong mé hinh RIA
~_ Mong muốn vả hảnh vi của người sử dụng (phân dưới bên trải, trong phần đóng
khung 2)
~ Hành vi khi sử dụng của ứng dụng (phân dưới bên phải, trong phân đóng khung 3)
Đỏ là mô hình mô tả từng bước thông qua 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ớ tam 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 Kinh nghiệm người sử dụng của thời
gian phản hỏi dữ liệu từ máy chủ chỉnh là khoảng thời gian cần cho tổng thê quả trình từ khi người đùng click vào một đường liên kết trên trình đuyệt đên khi nhận được kết quả tra ve tir may chủ trên trang web Việc tải thậm chí chỉ một trang web đơn cũng bao gồm
một loạt các chuyên đi từ may tram toi may chủ (một trang Web thường bao gồm một tập
các phân tử như các file css, các đoạn mã seript, các ảnh nén, .) mà mỗi phân tử đó
thường được tải một cách độc lập, riêng rẽ bởi trình duyệt Như vậy, với một ứng dụng
web thông thường cỏ thể nhận thấy rằng, tiến trình máy trạm yêu cau, may chủ xử lý và
gửi lại cử lặp đi lặp lại mỗi khi người sử dụng eliek vào một đường link trên trình đuyệt
1.2 Đặc điểm
aie
Trang 10Phạm Thủy Linh ~— Lớp KI0T3
máy chủ xử lý, và sau đó trả lại kết quả cho ứng dụng trên máy khách (Hình 1.3) và dữ
liệu gửi đi là cả trang web, bao gồm cả những phan von đã có trên máy khách mả không,
hề có thay đôi gỉ sau một yêu cầu mới
Thời điểm tương tác
trên máy dịch vụ
Hình 1.3: Mô hình giao tiếp trong ứng dụng web truyền thống
Điều đó có nghĩa là, các trang hiẻn thị thông tin tại máy khách thường xuyên phải lặp lại việc tải kết quả xử lý dữ liệu cập nhật từ ứng dụng trên máy chủ Bằng việc sử
dụng công nghệ mới cho phép phía máy khách có thẻ thực thi một số các thao tác xử lý
tương tác với người sử dụng, Các ứng dụng RA vỉ thế có thê phả vỡ được ngay cả các dữ
Trang 11
-l2-Pham Thùy Linh ~ Lớp K10T3
liệu đã cỏ sẵn ở máy khách Nghĩa lả sẽ không cỏn tỉnh trạng gửi yêu câu, chờ máy chủ
nhận yêu câu, phân tích yêu cầu, xử lý yêu câu và trả lại kết quả nữa mả tại củng một thời điểm sẽ đồng thời có nhiều yêu câu, nhiêu tương tác người đủng được đáp ứng đồng bộ
tại củng một thời điểm một cách nhanh chỏng vả trong suốt Sự khác nhau đỏ tương tự
như sự khác nhau giữa cách tiếp cân của mô hình sử dụng thiết bị đầu cuối tương tác với
may chti (terminal — mainframe) va cach tiép can Client-Server/Fat client
đảm bảo những tru việt của Web truyền thống vả khắc phục được kho khăn nêu trên,
những vẫn đẻ sau được đặt ra:
~_ Cần xác định nôi dung xử lý và tao chung trình xử lý trên máy khách đề thực hiện
nó mà không cân cải đặt sẵn
~_ Đảm bảo sự đồng bộ giữa máy khách vả máy dich vu Web trong quả trình tương tác
Giải quyết những vân đề trên, tất cả các ứng dụng RIA đều co chung một đặc
là tạo một tầng chứa mã trung gian giữa người sử dụng và ứng dụng trên máy chi Tang
chứa mã trung gian này hoạt động như một bộ máy riêng biệt tại máy khách (client
engine) (Hình 1.4) Nó thường được tải từ máy chủ vẻ máy khách ngay khi ứng dụng bắt
đầu được truy cập từ máy khách, và có thể được bỏ sung thêm trong suốt quá trình chạy
êm
Trang 12
từng dụng Cơ chế nảy cho phép tằng trưng gian hoạt động như một phân mớ rộng của
trinh duyệt, thường chịu trách nhiệm cho việc trình điễn các giao điện người đừng của
ung dung và việc giao tiếp với máy chủ
Những gì có thể thực hiện được đối với một ứng đụng RIA có thế bị giới hạn bởi khả năng của hệ thống được sử dụng lại phỉa máy khách Tuy nhiên, tầng trưng gian được
lập trình để thục thi các chức răng của ứng đụng được lưu trên máy chủ và chỉ được tải
về vận hành trên máy khách kỳú thực thí ứng dụng Nó sẽ tăng cường hiệu quả thể hiện
giao điện Lương lâu với người dùng, hoặc dải thiên sự sẵn sàng đáp lại khi thực hiện các
tương tác người dùng sơ với mỏ hình truyền thông, Với chức năng thực hiện như vậy, rõ
ràng ứng dụng phát triển theo mô hình này sẽ it bi ảnh hưởng bởi cầu bình của máy khách
Vi vậy, việc thêm một tằng trung gian không làm cho một ứng dụng theo mô hình RỊA vì phạm các tương tác đồng bộ thông thường giữa trinh đuyệt và máy chủ Mặt khác, liên
quan tới vấn đẻ thử hai, tủy thuộc vào môi trường ứng dụng rnà xác định những nội dung,
xử lý nảo cần tiền hành trên máy khách và các dữ liệu tương ứng nao cần có phục vụ cho các xử lý này đề tải sẵn từ máy địch vụ về máy khách hạn chế việc tải lặp nhiều lần
Để có thể thực hiện những giải pháp trên day cần có công nghệ vả công cụ thích hợp Rõ ràng điều nảy làn việc phát triển các ứng dụng Web trở nên phúc tạp lên nhiền
lan Bu lại những khó khăn cầu làm, ta sẽ có những ứng đụng trên Web gân gũi với ứng
dung én desktop ma người dung vốn đã quen thuộc
1.3 Lợi ích của các tng dung RIA
De cae img dung RTA triển khai một tẳng trung gián để xử lý các tương tác với
người sử dụng nên đã đem lại nhiều lợi ích như sau:
- Link thứo thể hiện tương tác giữa ứng dụng với người dùng trên giao điện phong phi hon (Richer): Gan như tương đương với cáo ứnp đụng được triển khai cải đặt
trực tiếp trên máy khách, các ứng dụng xây dung theo mô hinh RIA cé thé thé hién
các tương tác với người sử đụng rất phong phú Ví như, việc đi chuyến các thông tin trên giao điện theo cách kéo thả (drap-drep), hoặc thay đổi đữ liệu hiển thị trong một khưng nhịn bị giới hạn bằng cách sử đựng thanh trượt (slider), hoặc thực
hiện các phép tính toán dựa trên các số liệu hiện thời được cung cấp trên giao diện
người dùng,
-_ Khả nắng đáp ứng yêu cầu của người sử đụng cao: Việc đồng bộ các giao tiếp
-14
Trang 13Pham Thùy Lĩnh — Lớp KI0T3
khác nhau giữa máy khách và máy chủ cung cấp khả năng tôi ưu việc trao đổi dữ
liệu giữa máy chủ vả máy khách Tránh được việc tải lại toản bộ trang thông tin
bao gồm cả các thông tin không bị thay đổi, cũng như cưng cắp sẵn rưững dữ liệu
có thẻ được sử dụng tiếp theo, tăng khả năng sẵn sảng đáp ứng của ứng dụng,
~_ Phù hợp với thôi guen và tâm ]ý người đừng: sự tương tác là lrơng suỗi, không phải chờ đợi lâu
liẫu hết các ứng dụng phức tạp áp dựng mô hình RIA đều có cách tiếp cận trong việc thể hiện giao diện vả tạo cảm giác sứ đụng cho người dùng như đang làm việc với các ứng dựng đesktop triển khải cài đặt trực tiếp trên môi trường máy khách Về hiệu năng (performance) của hệ thống, có thể cỏ các đánh giá như sau:
-_ Phâm tải giữa máu khách và máy chủ: Khác với mô hình truyền thống, mô hình
RIA cho phép một phần các xử lý được thục hiện tại lãng trung gian trên way khách Do đó, cùng với máy chủ, máy khách chia sẻ bót các xử lý với máy dịch vụ Tai nguyên trên máy chủ được giành cho mỗi một phiên lảm việc với muội máy
khách sẽ giäm di, Điều dỏ có nghĩa lả, với một máy dịch vụ có tài nguyên cố dịnh,
sơ với mô hình máy khách/mảy dịch vụ truyền thống, nếu triển khai ứng dụng áp dụng mô hình RIA, có thể đáp ứng được nhiều hơn số lượng, các phiên làm việc
với các máy khách/máy địch vụ
-_ Thêm giao tiếp không đẳng bộ: trong mô hình RTA, mày khách cỏ thể tương tác
với máy chủ một cách không đồng bộ - nghĩa lá, máy khách thực hiện các tương, tảo với máy chủ mã không cần phải đợi các thao tác cửa người sử dụng thục hiện trên giao diện tương lắc (như kích một đường Tĩnk hay xuột nút lệnh) Tủy chọn này
cha phép các nhà thiệt kế ứng đựng RIA chuyến dữ liện giữa máy khách và máy chủ mà không tạo ra sự chờ đợi phía người sử dụng Thông thường, hẳn hết các
ứng dụng xây dựng theo mô hình RIA đều là các ứng dụng có cơ chế “tự làm đây” (prefotcinng) Theo cách này, một ứng dựng sẽ tiên đoán những đữ liêu cầu thiếL
được yêu câu trong Lương lai, và tải chúng về máy khách trước khi có yêu câu từ
phía người sử dụng Nhờ vay téc dé dap tng yêu câu đữ liệu phản hỗi cho các yêu cầu về sau này của ứng dụng được nàng lên đáng kể Đây cũng chính là kỹ thuật đã dược hệ thống Bản đổ Google sử dụng đẻ chuyển các doạn bản dỗ liên nhau về máy khách trước khi người sử dụng cuộn dễ hiển thị
- Tang hiệu suất sử dụng hạ tằng mợng truyền thông: lưu lượng dữ liệu lưu truyền
Trang 14
trên mạng có thể giảm một cách đảng kế bởi cơ chế hoạt động thông mứnh của tẳng
trung gian trên máy khách so với một trình đuyệt Web thông thường khi đưa ra
quyết định đữ liệu nảo cần được trao đổi với máy địch vụ Diễu này giúp tăng tốc
độ của những yêu cầu cu thé hodc phân hỏi đữ liệu bởi sẽ có ít đữ liệu hơn được truyén đi ở mỗi tương tác, và toàn bộ lưu lượng đữ liệu tải trong mạng sẽ giảm
Tuy nhiên, sử dụng kỹ thuật “tự làm đây" không đồng bộ có thế làm vô
déu sẽ làm tiếp theo đó Nó thường chỉ là kỹ thuật để cho phép tải một lượng đữ
liệu lớn hơn kèm theo dữ liệu đuợc yêu câu, điều này là không thực sự cẩn thiết cho cho nhiễu hoặc tất cỗ người sử dụng
1.4, Những mặt hạn chế
Các ứng dụng xây dung theo mô hình RỊA có những hạn chế sau
- Sứ đụng cơ chỗ khép kín h6p cat (sandbox): Tằng trung gian được tải vé may
khách trong ứng đụng RIA vận hành theo cơ chế khép kín Vì thể nó có những giới
hạn vẻ quyền truy cập và khai thác nguồn nguồn tải nguyên cúa hệ thống, và phụ
thuộc vào các nên tăng công nghệ được triển khai trên máy khách Nếu việc truy
cập tới các nguồn tài nguyên không được thực hiện đúng đắn theo như thiết kế, các ứng dụng khó có thể thực hiện các chức năng như mong muốn
-_ Các ngôn ngữ kịch bản (seriping) cá thể bị vô hiệu hóa: ngôn ngữ TavaSeripL hay
bat ky một ngôn ngữ kịch bản nào khác thuờng được sử dụng trong các ứng dụng
web theo mô hình RIA Nếu người sử dụng dặt tùy chọn vô hiệu hóa các kịch bản trên trình duyệt của họ, các clute nẵng của ứng dung RTA có thể sẽ không dược
thực hiện một cách dung din
-_ Tác độ xử {ý của máy khách bị ảnh hướng và giới hạn ngoài lâm kiêm soát đề cô
được nên phát triển độc lập, một số ứng đụng RIA sit dumg các kịch bản phía máy Khách được viết bằng các ngôn ngữ thông dịch như IavaScript sẽ làm giảm tốc độ của máy khách Điều này sẽ không thành
dịch tại máy khach như Java, khi đó hiệu suất có thế so sánh được với các ngôn
để đối với các ngôn ngữ được biên
tigữ biển địch truyền thống
-_ Cẩn thời gian tải tầng trung giam: mặc đù khéng phai cai dit, tang trung, gian của
Trang 15
-16-Pham Thùy Lĩnh — Lớp KI0T3
các ứng dụng RIA cản được phân phôi từ máy chủ tới các máy khách Trong hầu hết các trường hop str dung, tang trung gian này được tự động tải về bộ nhớ trang (cache) trén máy khách ít nhất một lần khi bắt đầu chạy ứng dung Tory thuộc vào
kích cỡ va kiễu ímg dụng được phần phối, thời gian tải t 1 trung gian có thế kéo dải hơn mong đợi Nhũng người phát triển ứng dụng RIA có thể lảm giảm bớt ảnh
tưởng của độ trễ nảy bằng cách nén các kịch bản hoặc đàn đựng đề phân tải chứng qua nhiều trang của ứng đụng
- Mat di tính loàn ven: “én img dumg Ja sit dung XHTML, xung dot nãy sinh giữa mục dích của ứng dụng (diểu khiển việc trình diễn và hành vi) va mục dich của X/HTML (yến đi muốn bỏ di mọi điều khiển), Nếu sử dụng thư viện giao diện của
DOM voi X/HTML có thể tạo ra các ứng dụng RIA, tuy nhiên không dám báo dược tỉnh đúng, đấn khi thực hiện các chức năng Vì máy khách của ứng dụng RỊA
có thể tự súa chữa cầu trúc cơ bản của tẳng trung gian vả thay thể cách trình diễn
và hành vị của ứng dụng, nẻn điều nảy có thể là nguyên nhân dẫn đến sự thất bại
và đỗ vỡ khỏng thể cứu chữa tại máy khách IĨạn chế này cỏ thể được giải quyết
bởi mệt cơ chế mới phía máy khách, theo đó các máy khách trong ứng đụng RIA
sẽ bị hạn chế chỉ được phép sửa những tài nguyên trong phạm vi của ứng dụng
chạy tại nó Điêu này sẽ không xây ra ở các ứng dụng phân mềm chuẩn nhờ sự định nghĩa chương trình xử lý một cách tự động cho tật cả các quyên đối với tất cả các nguôn tài nguyên được sử dụng:
~_ #hếp kin trước các cơ chế tìm kiém (search engine): Cac co ché tim kiêm không
thể tao chỉ số chơ các nội dung van ban trong tmg dung RIA
-_ Sự phụ thuộc vào kẻi nối đường buyền mạng: Tính đến thời gian này (2007), các img dung RIA luên đòi hỏi duy trì kết nồi mạng giữa máy khách và my chữ trong quá trình người dùng sử đụng,
1.8 Những thách thức đặt ra cần giải quyế:
Sự ra đời của mô hình RIA mở ra một hướng phát triển mới mạnh mẽ của các tmp,
đụng Web nhưng cũng lảm gia tăng đáng kế độ phúc tạp trong việc phát triển tng dụng,
ử đựng những trang HTML chuẩn cùng với một kiến trúc phẩn mềm tương đổi đơn giãn để cầu trúc một tập hữu hạn
Web Đổi với các ứng đựng Web truyền thống, do chỉ cân
các tùy chọn phát triển, nên đễ đảng quản lý và thiết kê Đải với các cả nhân hoặc tổ chúc
Trang 16
để cho đến nay vẫn chưa giải quyết được Các yêu cầu về quân lý địch vụ không phải luôn
luGn quan (am tới việc pleat triển ứng dung nuờ thế nào boặc hiểm khi quan tam Lới việc
người sử dụng phần mễm có thể sử đụng dược không mà lập trung vào khả năng môi ứng
dụng sau Khi hoàn thành xây đựng có thể triển khai được thành công hay không (về tính
én dinh — khả năng kiểm soát dành giá chất lượng sản phẩm , khả nắng mở rộng, bảo
hanh, bao trí, hỗ trợ trong và sau quá trình triển khai) Những thách thức đặt ra từ sự phức
tạp trong tiền trình quản lý các ứng dụng phát triển theo mô hinh RLA bao gdm:
-_ Càng phúc tạp, càng khó phát triển: Khả năng chuyển mã của tang trung gian tới máy khách giúp cho những nhà thiết kế và phát triển ứng đụng tự do sảng tạo hơn
Chính điều này cũng khiển cho việc phát triển trở nên vất va hon, các sai sót, lỗi
chương trình đễ xây ra hơn, đồng thời các hoạt động kiểm thử phân mêm cũng trở nén phức tạp Những khó khăn này gấp phải trong suốt tiễn trình phát triển phân
âm thiêu
mểm, dù là phương pháp hay tiến ninh đặc biệt nào được sử dụng Đi
các khó khăn có thể sử dụng một Web application framework che việc thiết kế và
phát triển ứng dụng RIA Tuy nhiên, việc tăng độ phức tạp trong giải pháp phân mễm có thể khiến tiễn trình kiểm thử trở nên rất thời gian và rắc rồi hơn nếu số
lượng các ca sử dụng cần kiểm thử tăng lên Việc kiểm thử không day di sé lam
giâm chất lượng và dộ tin cậy của ứng dụng trong suốt quá trình sử dụng
-_ #iến trúc RLA làm phá vẽ mô hình của rang web truyền thẳng: Các ímg dụng web truyền thông có thẻ được hiến thị như một loạt cáo trang Web khác nhau, mỗi trang
yêu câu tãi một số dữ liệu khác nhau, va được khởi tạo bởi một yêu câu theo
phương thức HTTP GET Ứng dung RIA lam mat đặc tính này của ứng dụng web
bởi việc iêm vào những giao tiếp không đồng bộ với máy chủ đề hỗ trợ một cách
thuận lợi hơn trong tương tác qua giao diện với người dừng Trong mô hình RIA,
số lồn môi trang web tải thành công không còn lả quan trọng như những gì người
sử dụng nhận thấy Cơ chế tại mày khách cho phép lãi sẵn một số nội dụng có thể
sử dụng trong tương lai Các kỹ thuật do lường 1uới đã dược thiết lập cho ứng dụng RIA, cho phép lập các bên báo cáo từ những lân phân bồi qua kinh nghiệm của
Trang 17
-18-Pham Thùy Lĩnh — Lớp KI0T3
người sử dụng rong trường hợp thiểu các chuẩn đẻ thực hiện việc này, những nhà phát triển mg dụng phải cưng cắp mã ứng dung để sản sinh ra được dữ liệu đo lường cần thiết
-_ Sự không đồng bộ hóa trong giao niếp khiên việc xác định và đánh giá các vấn dé
về biệu suấi trở nên khó khẩn hơn: Một nghịch Tý là, những cải Hiện lan tăng khả
rừng lương lác của ứng dựng với người dùng cíng chính là nguyên nhân khiến
sau khi trang dẫu tiên dược tôi, bằng việc sử dụng các yêu cầu
những nội dung web mới và làm tươi phân hiển thị, hoặc có thể xây dựng cơ chế từ máy chủ tự động đây nội dưng mới về trình duyệt trên máy khách qua một kết nói
luôn được duy trì Trong trường hợp đỏ, khái niệm “ái nội dung một trang, web” sẽ
không còn giá trị sử đụng Dộ phức tạp này khiến ủng dụng trở nên khó có thể đo
lường và phản tách được thời gian đáp tmg yêu cầu của ứng dụng, một yéu cau ca bản cha van dé phan biệt và quan lý các tầng dich vụ mạng khác nhau Các công,
cu được thiết kế đế đo lường các mg dụng Web truyền thống có thế: dưa trên chỉ tiết của các ứng dung và công eu - thông kê mỗi một yêu cầu HTTP tương img vai
một (rang web được lãi, hoặc như muội tập hợp riêng tiệt các hoạt động trên ruáy
chủ Tất cả cuối củng đến không phân ánh những gì thật sự điển ra tại tmg dung áp
dung m6 hinh RIA
ing trung gian tai may khách khiến v
Đôi với các ứng dụng Web truyền thông, phần mềm do lưỡng có thể ở tạitrên máy khách hoặc trên một máy nảo đó khác gần với máy chú, miễn sao chúng có thể quan sát được ludng giao thông mang tai cde tang ‘ICP va HTTP Bởi vì các giao thức là đồng bộ và có thể đự đoán trước, một gói đữ liệu có thể đọc và hiểu tại ting
dữ liệu, vả khá năng phán hỏi được suy ra từ kinh nghiệm người đùng bởi việc theo đõi thông điệp IITTP và
(ACK) Kiến trúc RIA giảm thiểu khả năng của các ứng dụng packet sniffer bởi cơ chế máy khách làm phả vỡ giae tiếp giữa người sử dụng và máy chủ thành hai chu
trinh điêu hành riêng biệt một cách không đồng bộ - chủ trình thứ nhất được Thực
hiện trong phạm vi giữa tẳng trung gian trên máy khách với người ding, chu trinh
ô lần các gói TCP cơ bản và thông điệp báo nhận
Trang 18
-19-Phạm Thùy Linh—Lép K10T3
thứ hai được thực hiện trong phạm vi giữa tẳng trung gian trên máy khách với máy
chủ Cả hai chu trình nảy đều quan trọng bởi mỗi cái trong đỏ không thẻ hoạt động một mình, môi quan hệ giữa chúng định nghĩa ra hành vi của ứng dụng Tuy nhiên,
mối quan hệ này chỉ phụ thuộc vảo thiết kế ứng dung, mả thông thường không thể
được suy ra từ một công cụ đo lường nào đỏ, đặc biệt lả những thứ mả cỏ thể quan
sát được chỉ một trong hai chu trình Bởi vậy, hầu hét các công cụ đo lường ứng
dụng RIA hoàn thiện có thẻ chỉ đạt được bởi việc sử dụng các công cụ được đặt
trên máy khách va quan sát được cả hai chu trình
1.6 Hiện trạng phát triển
Mô hình RIA mới ở giai đoạn đầu của quả trinh phát triển, do đỏ hiện vẫn cỏn có những giới hạn vả các yêu câu cân xử lý tiếp tục như sau:
Sự chấp nhận của trình duyệt: Nhiều ứng dụng RIA yêu cầu các trình duyệt web
hiện đại để chạy mả không chạy được trên các trình duyệt phiên cũ hoặc các phiên
bản cũ của các trình duyệt hiện đại Những khả năng nâng cao của JavaScript áp
dụng tại tẳng trung gian trong mô hình RIA phải được hỗ trợ tại trinh duyệt cũng như việc áp dụng các kỹ thuật XMLHTTPRequest cho giao tiếp giữa máy khách
và máy chủ, hay DOM Seripting, hoặc các kỹ thuật nâng cao của CSS cho phép thẻ hiện giao diện người dùng phong phủ hơn
Các chuẩn IWeb: Sự khác nhau giữa các trình duyệt Web khiến việc viết mot img
dung RIA dé có thể chạy trên tất cả các trình duyệt trở nên khỏ khăn Tỉnh ben vững của nên tảng phát triển của ngôn ngữ Java, đặc biệt là các phiên bản sau phiên bản Java 1.1, khiến công việc này trở nên đơn giản hơn đổi với các ứng dụng RIA viet bai Java Applet, mac du chúng nổi tiếng là thực thi chậm
Các công cụ phát triển: Một sô nên tảng phát triển ứng dụng theo mé hinh RIA
như Ajax #ameworks, hoặc các sản phẩm như Adobe Flex của hàng Adobe,
Sliverlight ctia Microsoft cung cap một môi trường tích hợp cho việc xây dung các
ứng dung RIA
Vấn đề về khả năng truy cập: việc có thêm các tương tác không đồng bộ trong hệ
thong yêu câu cách tiếp cận kỹ thuật có thê gây ra một số hạn chế vẻ khả năng truy
cập của ứng dụng
Sự chấp nhận của người sử dụng: Người sử dụng đã quen với các ứng dụng web
Trang 19
~30-Pham Thùy Lĩnh — Lớp KI0T3
Mặc dù việc phát triển ứng dụng theo mỏ hình RIA dang 6 giai đoạn phát triên nên
vẫn còn khá nhiều hạn ché, khó khăn và phúc tạp so với việc phát triển ung dung destop
thông thường Tuy nhiên mỏ hinh này được sử đựng ngày một nhiều bởi những tính năng
sau
-_ Không yêu câu cài đặt tại máy khách: việc cập rhật và phân phối ứng đụng là một tiền trình được diều khiển một cách tự động và ngay lập lie trên máy chủ
- Nang cdp lén cdc phiên băn mới một cách tự động
- Khéng cdn quan tâm tới hệ điều hành: Người sử dụng có thể sử đựng ứng đụng từ
bal ky một máy tính mảo có kết nối internet, và thông thường không can phải quan
tâm tới việc máy Lính đó đang chạy hệ điều hành náo
- Han ché lay nhiễm virus: Các ng dụng dựa trên web thường ít bị lây nhiễm viut hơn sơ với các ứng dụng trực tiếp cải dặt và dược thực thị trên máy khách
-_ Được người dùng web ưu thích bơn: Khi việc sử dụng web tăng, người sử dụng
máy tính sẽ trở nên ít mong muốn thử những rắc rối của việc cải đặt một phân tmiểm mới nếu có một lựa chọn thay thể khác đó là sử dụng những trình duyêt sẵn
có Điều mày luôn là sự thội thậm chí nếu sự thay thế này đầu có châm hơn hay
không có nhiều tỉnh năng phong phú hơn di chăng nữa
1.8 Các phương pháp và công nghệ sử dụng trong mô hình RIA
1.8.1 JavaScript
Ngôn ngữ và công nghệ quan trọng đầu tiên sẵn có, có khả năng chạy mã và cài đặt
trên phân lớn các máy khách tng dựng web là JavaSeript Lại thời điểm ra đời, việc sứ dụng javascript là tương đối hạn chế Tuy nhiên, kết hợp với các công nghệ khác nhau,
jayascript có thể xây dựng một hệ thống RIA má không cân một giải pháp hợp nhất với
phía máy khách Ajax là một thuật ngữ mới để chỉ sự kết hợp các kỹ thuật nảy thành một khung 1am viée (Frameworks) va gn day néi bật nhất là duoc hang Google str dung cho
Trang 20
cae dy an nhu Gmail, Google Map
Tuy nhiên, sử dụng nên tảng Ajax để tạo một mg đụng lớn là võ củng khó khăn,
cân nhiều công nghệ khác phải lác động để chúng hoại động và khả năng tương thích của trình đuyệt yêu câu rất trong yếu Một loạt các nên tảng Ajax đã được phát triển phục vụ
việc phát tiễn ứng dụng web với JavsscripL được để dàng hơn
này không phụ thuộc vào một nên tâng liên đổi nảa và khá mạnh để tạo các ứng đựng
giao điện người dùng phong phú
San phẩm Adobe Flex cung cáp một cách dễ tạo các giao diện Flash bằng việc biên
dich MXML, một ngôn ngữ đặc tâ giao diện dựa trên XML Hãng Adobe hiện hoạt dộng,
dựa trên việc cung cấp một nên táng mạnh mẽ với bộ sắn phẩm Adobe All, một công, nghệ kết nối người sứ dụng Flash HTML (bao gồm cá các ứng dụng Ajax) đựa trên các từng dụng và PDFs AIR không phải la RIA, đến nay chúng được sử đụng đề phát triển cae ing dung I2esktop bằng việc sử đụng các công nghệ Web
1.8.3 Windows presentation foundation(W PE) and silverlight
Với nên tăng NHT 3.0, Microsoft đã giới thiệu bộ sản phẩm WPE nhằm cung cập một cách thúc xây đựng các ứng dựng đơn nên với một số điểm tương tự như các từng
dụng RIA sử dụng XAML vá các ngôn ngữ lập trình ví dụ như C# hay Visual Basic Thêm vào đó, Microsoft cũng đã đưa ra thị trường một sản phẩm mới bỏ sung được gọi là
Silver cưng cấp một tập nhỏ oác tính năng của WPT chạy trên mọi thiết bị và đa nên
1.8.4 ActiveX Controls
Việc gắn các điều khiển ActiveX vào IITMIL đã tạo nền một cách thúc võ cùng mạnh mẽ để phát triển các ửng dụng Intemet theo mỏ hình: RIA Tuy nhiên, chủng chỉ được đảm bảo chạy đúng trên trình duyệt IZ ofa Microsoft Iiơn nữa, từ khi hướng tiếp cận Active X phá vỡ mỏ hình sandbox, chứng trở thành mục tiêu tiểm năng cho chương
trình virút máy tinh và malware haat động Việc sử dụng ActiveX trở nên rủi ro cao về bảo mat va dé an toan Ilign nay, Adobe Flash Player stt dung cho trình duyệt IE được coi nhur 14 mét ActiveX comtrol cho các môi trường cửa Microsoft Tuy nhiên, nẻu các tập đoàn thống nhật sử đựng IE như là trình duyệt chính thức, thi ActiveX van la su lua chọn
-22
Trang 21Pham Thùy Lĩnh — Lớp KI0T3
Taval'X Mobile Trong đó JavaFX Seript cho phép phát triển nhanh chóng các giao điện
2D phong phú bằng việc sử dụng củ pháp khai bảo tương tự như SVG [lang Sưn dự kiến
sé phat trién Javal'X thành sản phẩm mã nguồn mở, cèn JavaFX Mobile sé là sản phẩm
thương mại thông qua bản quyền OIM cho các hãng sản xuất máy cầm tay và hãng
truyền thông
1.8.6 Các kỹ thuật khác
- java Applet
- Ứng đụng Java
- _ Ngôn ngữ giao điện người sử dụng,
- ng dung RIA với công nghệ đầy thời gian thực
- Cae chức năng và công cụ phát wién phia may khách cần cho ứng dựng RIA
1.9 Một số sản phẩm và công nghệ đáng chú ý
1.9.1 Adobe Flex
a Gidi thigu vé Adobe Flex
Dông sân phẩm Adobe Flex là giải pháp hoàn thiện nhất để phát triển
dung theo mé hinh RIA c4 trong lĩnh vực ứng dụng doanh nghiệp vả phát triển các ứng,
dúp các nhà phải triển ứng dụng cũng như
các ứng
dụng web thông dụng Flex được thiết k
các đơn vị lỗ chức phát triển ứng dung để dàng giải quyết những vẫn để gặp phải khủ phát
triển ửng dụng theo mỏ hình RỊA Hiện nay, Flex dã dược hang trim ode đơn vị sử dụng, trong các lĩnh vực ứng dung khée nhau như dịch vụ chăm sóc khách Làng của doanh
nghiệp, dịch vụ bản hàng trên mạng, dịch vụ B2B,
1lex cung cắp một mẽ hình lập trình bậc cao dưới dạng rnột khung lam viée Flex
(Flex framework), kém theo bộ công cụ xây đựng (Flex Buiiđer) tích hợp với với môi
Trang 22
trường phát trién (LDL) Lelipse, và các địch vụ tích hợp đữ liệu ('lex Data Service) cho
phép các tổ chức nhanh chóng triển khai các ứng đụng có khả năng tăng cường hiệu qua làm việc của người sử dựng cũng như lợi nhuận từ các dịch vụ trực tuyến, đồng thời vẫn
đảm bảo khả năng tích hop với các mg đụng hay các website đã tổn tại
Những ứng dựng được triển khai có sử đụng Flex để phát triển cung cập các tính răng được xây đựng cần cứ trên sự tổng kết, đúc rút từ nhu câu và thói quen sử dụng của nguoi ding thông qua việc sử dụng những ưu diễm của phần mềm Flash Phayer và các trinh duyệt web Được cài đặt trên 97% cáo máy lính PC kết nối mạng Tntemel, Flash Player cung cáp môi trường hoạt động hiệu xuất cao thống nhất trên tất cả các nên tảng,
khác nhau, hỗ trợ hiển thí tất cả các loại ngôn ngữ và hình ảnh, và các dạng đữ liệu khác
Để có dược những khả năng dỏ, khung làm việc Flex sử dụng một tập phong phủ các
thành phản (component) thực hiện chức năng tạo giao điện tương tác với người sử dụng,
và các quy tắc thiết kế đề xây dụng những giải pháp theo mé hinh RIA
Flex cung cap mét tập các thành phần chạy trên phía máy khách đưới dạng các địch vụ thục hiện việc tương lác với máy chủ ở xa thông qua SOAP Webserviue, địch vụ
REST, hoặc giao thúc HTTP, hay các giao thức truyền thông trên socket (cơ chế truyền
nhận dữ liệu thông qua các cổng kết nổi sử dựng giao thức TCPIP ) Đối với các yêu cầu
tich hop phức tạp, Flex Dala Service hỗ trợ thêm khả năng gửi nhận thông điệp, tuyền dữ
liêu ảm thanh/hưủi ảnh theo thời gian thực, hoặc tích hợp với các thành phân đã dược
triển khai trên các máy chủ ứng dung java hay bất cứ ứng đụng máy chủ chạy back-cnd
(không trực tiếp tương tác với với người đủng) nảo khác trong việc quân lý phiên làm việc, bão mat
Cuỗi cùng, Flex cũng cấp một mô hình phát triển sản phẩm có hiệu quả cao, dé đàng tích hợp với các quy trình phát triển hiện có, tuân theo các chuẩn ofing như căn cứ
theo kinh nghiệm thực tế trong mệt thập kỷ phát triển ứng dụng web vừa qua Mô hình
phát triển của Elex sử dựng XMIL để thiết kế giao điện tương tác với người đùng, tổ chức
subVersion, ) Ngoai ra, Flex Builder cũng hỗ trợ kiểm thử tự động bằng các công cụ
kháp nhau
Trang 23Phạm Thùy Linh—Lép K10T3
b Flex và Nền tảng phát triển hỗ trợ của Adobe
Sự kết hợp với hãng Macromedia đã giúp Adobe xây dựng được giải pháp kết hợp
được ưu điểm của các công cụ, dịch vụ và đổi tượng khách hàng lại với nhau, qua đó chỉ phí phát triển vả bảo trì vận hành mặc nhiên được giảm đi, cũng như lảm giảm độ phúc
tạp của việc phát triển ứng dụng,
Thông qua việc kết hợp giữa hai hãng có công nghệ mạnh nay, Abode đã triển khai một nên tảng công nghệ có khả năng tạo ra một lĩnh vực mới, mả ở đỏ các ứng dụng cỏ thể cải thiện một cach dang ke cach thie lam thể nào để hoạt động kinh doanh có thẻ gắn kết với con người, với các tiên trình và với thông tin (Hình 1.5)
Enterprise Infrastructure and Web Services |
Hinh 1.5: Kién tric ctia Adobe Engagement Platform
Trong đó
-_ Công nghệ Universal Client : Két hop với thể mạnh là sự phỏ biến của Flash Player với phần mềm Acrobat Reader, HTML, javascript, các nhà phát triển có thẻ triển khai các ứng dụng có thể kiểm soát được và chất lượng cao trên bất cứ trình duyệt, thiết bị và nên tảng desktop nảo
Trang 24
chức triển khai các ứng dụng RIA khai thác triệt để các thế mạnh của các công, nghệ được triển khai trên máy khách
- Development and Design Tools: Cimg vii các sản phẩm như Adobe Photoshop,
Dreamweaver, Flash Professional, va Ilustrator, Adobe duce thita nhận là nhà
cung cấp các giải pháp công nghệ hàng đầu lrên thì tường ngày may Thông qua
việc tích hợp git
Flex Builder với các công cụ của các hãng thử ba, Adobe Flex
cho phép người thiết kế và nguời phát triển ứng dụng kết hợp các công cu dé lat dé
lân dụng tối đa các kỹ năng và kinh nghiệm sẵn có
- Server and Framework: Adobe Server duoc xây dựng trên các nên tang chuẩn đã tốn tại như Java L2 hoặc Microsoft Net kết hợp với việc cung cắp các dịch vụ đơn
giản hóa việc tích hợp và mở rộng khả năng của các công nghệ triển khai trên máy khách Tiên cạnh các dịch vụ dugc cung cdp béi Flex Data Services, Flash Media
Server chó phép tích hợp việc trình diễn các thông tin âm thanh và phim ảnh, sản
phẩm Adobe LiveCycls cung cắp dich vu quản lý tiền trình xử lý nghiện vụ, tạo tài
liệu, bảo hiểm thông lu
e Kiến trúc vận hành của Flex
Kiến trủc vận hành của l:lex tương tự như kiến trúc tương ứng của của các ủng
dung web, phan tmg dung chạy trên máy khách được triển khai đưới dạng tệp nhị phân
chửa các mã bytescode đã được biên dịch Người sử dụng sau đó sẽ triển khai tệp này trên
may chủ tương tự như đổi với các tép dạng HTML hoặc các tệp hình ảnh Khi được yêu câu bởi trình đuyệt, tệp chứa mã bytescode sẽ được tải về máy khách và chạy bởi Flash Player (Hinh 1.6)
Trang 25
Existing Applications and Infrastructure
Hinh 1.6: Kién tric hoat d6ng ctia Flex Trong hinh 1.6, khi bat đâu, ứng dung có thể yêu câu thêm nhiêu đữ liệu và nội
dung khác nhau trên mạng thỏng qua giao thức HTTP hoặc qua các webservices (SOAP)
Phan ứng dụng chạy trên máy khách của Flex có thẻ kết nổi với bất kỳ môi trường ứng dung Server nao, bao gồm các webserver chuẩn, các môi trường chạy các ngôn ngữ seript
thông dụng như Java Server Pages (SP), Aetive Server Pages (ASP), ASP Net, PHP,
Nếu phân ứng dung Flex chạy trên máy khách được sử dụng để kết nối với Flex
Data Services, img dung sé cỏ khả năng truy cập thêm các địch vụ khác: Có thể gọi trực
tiếp các đổi tượng được viết bằng ngôn ngữ java, gửi các thông điệp tới các ứng dụng
Flex chạy trên các máy trạm khác, tích hợp được với Java Message Service Flex Data Services chạy trên ứng dụng máy chủ Java Web Container
Để xây dựng ứng dụng Flex Adobe cung cấp 2 ngôn ngữ là MXML và
ActionScript
d Ngôn ngữ MXML
Adobe cung cấp ngôn ngữ MXMUL theo chuẩn ngôn ngữ XML được sử dụng đề xây
dựng giao diện người dùng bằng một thư viện các thẻ (tag) vả thực hiện các thao tác với tầng dịch vụ trên máy chủ web như truy cập các kho dữ liệu (data source) trên máy
Trang 26
chủ hoặc gắn (bind) dữ liệu từ nguồn đữ liệu trên máy chủ vào các thể điều khiển dữ liệu, hoặc truy cập vào các webservioe Về mặt hình thúc, các thế của MXML tương
tự như các thẻ IITML Tuy nhiên, điểm khác biệt cơ bản giữa HTML và MWXCML thể
hiện ở việc MXML là ngôn ngữ định nghĩa các ime dung (MXML-defined applications) duge Adobe® Flash Player địch và tạo ra các tp SWF, nhờ đó tạo ra được các ứng dựng có nôi dưng động, phong phú, tương tác với người dùng hơn là các trang web được tạo bởi HTML bằng cach truyén thống Ví dụ một số thẻ MXML
- Thẻ «mwcApplieation> «/mx:Applicsliow> chứa lất cả các thê khác của MXMI, trong tệp vam,
- Thé dinh nghia mit lénh <mx-Button></mx:Button> hoge <mx:Bution’>:
<mx:Button id="myButton” label="I'm a button!" />
- Thẻ định nghĩa danh sách dữ liêu dạng bảng 2 chiểu <mx: DaiaGrid> </mx DataGrid> Vi dus
<mx ‘DataGrid id="entries” width=” freader.width-15}3”
<onx :DataGridCohonn columnName= “title” headerText="Tille” />
<my-DataGridColumn columnName “pubDate” headerfext "Date”/>
<Anx-drray>
<Anx-cohunns>
“/mx:DataGrid>
- Thẻ định nghĩa diéu khiến lưu nội dung văn bản textArea
<mx:TextArea></mx:TextArea> hodc <mx:TextArea/> Vi dw
<mx-Lextdrea id “body” editable “false” width “(reader.wvidih-15}”
height—"300” />
'Tất cá các thẻ MXML được đặt trong nội dung tệp văn bán lưu dưới dạng có tên md
rộng là mnznÍ Sau đây là một ví du IelloWorld viét bang MXML luu trong tép
Trang 27
-28-Pham Thùy Lĩnh — Lớp KI0T3
J11ellolWorld.nezmi
xml version="1.0"?>
<mx:Application xmins:mx “hitp://www.adobe.com/2006/mxml”>
<1m::Panel title=""My Application” paddingTop="10" paddingBottom="10"
padding! efi="10" paddingRight="10" >
<my.Label text— "Hello World!” fontWeight—"bold” fontSize—"24"/>
<#mv:Panel>
<4mx:AppHoation>
Dé dịch tệp có tên mở rộng là mnxml thành ứng dụng lưu dưới dạng SWE, cần bộ dịch
compiler ctia Adobe Ilex Vi dy: Tại thư ruụe chứa tệp 1ielloWorld.mxmn, gỗ lệnh:
asmlc —shơw-actianscriptatarmings=tue =atrici=etue HelloWorld mm
Ta sé thu due lp HelloWorld SWF
'Trong thực tế, một ứng dụng viết bằng ngén ngtt MXML duge viết trên nhiều tệp có
phân mở rộng là mxmÌ Tuy nhiên, chỉ có một tệp trong ứng dụng chứa thẻ
<mx:Application> </mx:Application> được gọi là tập chính Từ mỗi tệp MXML, có thế tham chiều tới các tệp MXML khác, hoặc tệp viết băng ngên ngữ ActionScript,
hoặc một tệp biết băng một số ngôn ngữ khác đã được biên địch Việc tổ chức một img dung viết bằng MXML tương tự như các ngôn ngữ lập trình khác như việc chia
module, chia thanh nhiéu tép MXML, tép ActionScript khác nhau Để thuận tiện cho
việc tỗ chúc và xây dựng ứng dụng MXML, hãng Adobe cung cấp bộ công cu Flex Builder dé cac nha phat trién sit dung,
e Ngôn ngữ ActonScript
Ngoài khả năng thể hiện giao điện và các phương thức tương táo chuẩn gắn liên với
các thẻ MXML, Flex sử dựng thêm ngên ngữ ActionScript để :
j sự kiện trên cac thé
- Định nghĩa cac gan (listener) voi
- Dinh nghia cae xtt ly trong thé <mx: Script
- Gép (include) cae tép ActionScript lại với nhau
~ Nhíng (imper) các lớp viết bằng AclienScnpt vào trơng dt lép ActionScrip!
-_ Tạo các thành phần (component)
« Sir dung ActionScript bat cic su kign trong MXMT
+29.
Trang 28Một cách sử dụng ActionScript trong MXML 1a bit cac su kién gin vai cae thé Vi dw
ActionScript bat sự kiện onelick như sau:
function — ryRusEan ø1iek(evert:Mosnervent):vaid {
sabi
"Hello World's vextareal.t
ø _ Viết các mã ActionScript trong tập mxmi
Đổ chèn các đoạn mã ActionScripl trong tép MXML., ait dung thé <mix:Seript>
public var s:Boolean;
public function doSomething@:void {
H The following statements must be inside a function
Trang 2930-Pham Thùy Lĩnh — Lớp KI0T3
Chủ ý: Tắt cả các mã lệnh ActionScript déu phái được đặt trong CDATA đề bộ dịch phân
biệt với mã MXML, Sau đây là câu trúc khuyến cáo với tắt cá các đoạn mã chén trong tập
ø Tao cae thanh phan (component)
Các thành phân tạo béi ActionScript cé thể được sử dựng đề xử lý cáo hiện ứng về đồ họa,
vẻ các quy tắc nghiệp vụ hoặc tham chiếu tới các thành phần khác Các thành phần cũng
có thể được thừa kế từ thành phản khác Ví đự
packaga myControls (
import mx.controls Button;
public class MyButton extends Button {
public function MyButton() {
Trang 30ATAX, viết tắt tir Asynchronous JavaScript and XMT (JavaScript va XML khang
đồng bộ), là bộ công cụ cho phép xây dựng các ứng dụng theo mô hinh RIA ATAX
xrả là sự kết hợp một nhóm công nghệ với nhau Trong,
đó, HTMI, và CSS déng vai hiển thị đữ Nệu, mô hình DOM tình bày thông lin động, đối
tượng XMLHt<ipRcquest trao dỏi dữ liệu không đồng bộ với máy chủ web, con KML là dinh dang chủ yếu cho đỡ liệu tuyển di Day déu 1a công nghệ sẵn có nhưng Javacript di lắp ráp chúng lại dẻ thực hiện những "sử mệnh” dáng khảm phục
Nguồn gốc của AIAX được bắt đầu từ khi Microsoft phát triển công nghệ Remote
Scripting vao nam 1998 Tuy nhiên, phương pháp tài không đồng bộ nội dung trên một trang web đã xuất hiện trong thành tô TER AME của Internet Explorer 3 (1996) va thanh tả LAYER cila Netscape 4.0 niin 1997 Khi gidi thigu Internet Explorer 4.0, Microsofl đã sử dụng mô hinh đổi tượng tải liệu DOM khác biệt Đân năm 2000, Netscape hoàn toán đánh
mất thị trường trình duyệt vào lay hãng phần mềm cia Bill Gates và thành tổ TAYER,
không phải mội công nghệ đơn
cũng không còn được các chuyên gia phái triển web chú ý lới
Phải vải năm sau, ATAX mới lại lới kéo được sự quan tôm của giới công nghệ và trở thành công cụ cái tiến giao diện người dùng cho vng dụng web, Thuật ngữ này cũng
chỉ mới xuất hiện cách đây vài năm (tháng 2/2005) trong bài viết nổi tiếng của Jesse
James Garrett trén trang Adaptive Path, Te 46, ATAX trở thành trung tâm trong mọi câu
chuyện liên quan đẻn thẻ hệ Web 2.0
a AJAX hoạt động như thế nào?
Trang 31
-32-Pham Thity Linh —Lép K10T3
serverside system \ senverside system /
Hinh 1.7: Ung dung web truyền thông (trái) và ứng dung AJAX
Để khắc phục hạn chẻ trong mô hình hoạt động đồng bộ của ứng dụng web truyền thống, các chuyên gia phát triển giới thiêu hình thức trung gian - cơ chẻ xử lý AIAX
giữa máy khách và máy chủ Điều nay giống như việc tăng thêm một lớp giữa cho ứng
dụng để giảm quả trình “đi lại” của thông tin và giảm thời gian phần hồi Thay vì tải lại
toàn bộ một trang web, no chi nap những thông tin được thay đổi côn giữ nguyên các
phan khac Vi thé, khi đuyệt một trang hé tro AJAX, người sử dụng không bao giờ nhìn
thấy một cửa số trắng (blank) và biểu tượng đồng hỗ cát — đâu hiệu cho thấy máy chủ đang thực hiện nhiệm vụ Ví dụ trong một website ảnh, với ứng dụng truyền thông, toản
bồ trang chứa các ảnh sẽ phải mở lại từ đầu nêu có một thay đổi nảo đó trên trang Còn khi áp dụng AJAX, DHTML chỉ thay thể đoạn tiêu đẻ và phần vừa chỉnh sửa, do vậy tạo
niên các giao tiếp trơn tru, nhanh chóng (Hình 1.7),
Trang 32
Pham Thity Linh —Lép K10T3
Tương tắc của người dùng
classic web application model (synchronous)
Trao đổi dữ liệu
voi may dich vu
mà
may dich vụ
Hinh 1.8: Twong tac déng bé trong ứng dụng web truyền thông (trên) và
khéng dong bé trong ing dung AJAX
“Môi thao tác của người sử dụng sẽ gửi lênh JavaScript tới tầng xử lý trung gian trên máy khách của AJAX, thay vì tạo ra một yêu cau HTTP và truy vẫn trực tiếp tới máy
chit”, Jesse James Garrett da ghi trong bai viết đầu tiên định nghĩa vẻ thuật ngữ nảy “Nếu
cần gì từ server, như tải vẻ bỏ sung mã giao diện hay nhân dữ liệu moi, AJAX sẽ truyền yêu câu tới máy chủ một cách không đồng bộ, thông thường sử dụng XML, mà không
Trang 33
-34-Phạm Thùy Linh—Lép K10T3
lâm giản đoạn sự tương tác của người dùng với ứng dụng web” (Hình 1.8)
sử dụng đổi tượng XMLHttpRequest hoặc Microsoft XMLHTTP đẻ thực hiện rất dễ dàng Tất cả những việc ta cần lâm là truyền cho nó địa chỉ URL của máy chủ Ví dụ: Ta sẽ sử dụng hảm viết bằng,
javascript nhu sau:
- Gửi một yêu cầu đến máy chỉ
var req;
function retrieveURL(url, nameOfFormToPost) {
//Lấy các tham số trên form url-url+getFormAsString (nameOfFormToPost) ;
if (window XMLHttpRequest) (//Trinh duyét khong phéi 14 MS IE /7sử đụng đôi tượng XMLHttpRequest
req = new XMLHttpRequest ();
req onreadystatechange = processStateChange;
try (
xeq.open(*GET“, url, true);
} catch (2) { alert ("LOi giao tiếp với máy chủ”+e)¿
} xeq send (nu11) z ) else if (window.ActiveXObject) ( // Trình duyệt lả MS TE /2 sử dụng đỗi tượng XMLRTTP
req = new ActivexObject (“Microsoft XMLHTTP”) ;
if (req) ( req onreadystatechange = processStateChange;
req.open("GET”, url, true req.send();
//Lây các điều khiển trên form html
formElements=document forms [formName].elements;
for ( var i=formElements.length-1; i>=0; i }{
returnString-returnString+”&”+escape (formElements [i] name) +=’
Trang 34lả đường dan url cia máy chủ và tên của thẻ form trong trang chứa điều khiển
~-_ Nhận dữ liệu kết quả xử lý từ máy chủ: Sau khi gửi yêu cau tới máy chủ, ứng
dụng sẽ tự động cập nhật và xử lý dữ liêu (không phải trang thông tin-page) trên
kết quả trả vẻ từ máy chủ Việc nhân biết dữ liệu trả vẻ từ máy chủ, sử dụng hàm
sau:
function processStateChange() {
if (req readyState == 4) { // hoan thánh xử lý trên máy chủ
if (req.status == 200) { // Nhan due dit ligu từ máy chủ
// alert(“ Dữ liệu trả về tiemay chit :”+req.responseText);
⁄ Thực hiện xứ lý dữ liệu trả về hoặc gọi tới hàm xử lý
} else { alert(“Problem with server response:\n “ + req.status Text);
} } }
Sau nhận kết quả xử lý trả vẻ từ máy chủ, các thao tác xử lý bằng javaseript nội dung trén trang html khong dân tới việc tải lại toàn bộ nội dung trang, chỉ một phan thông tin của trang hữn] được cập nhật thay đôi
b Các ứng dụng AJAX phổ biến
Google Suggest hiện thị các thuật ngữ gợi ý gân như ngay lập tức khi người sử dụng chưa gõ xong từ khóa Còn với Google Maps, mọi người có thể theo dõi những thay
đổi, xê dịch, kéo thả bản đổ như trên môi trường desktop Google Suggest vả Google
Maps là hai ví dụ nỗi bật về phương pháp ứng dụng web thể hệ mới
Thách thức lớn nhất khi tạo ứng dụng AJAX không nằm ở khâu kỹ thuật bởi
những thành phân của nó đã xuất hiện tử lâu, hoạt động ôn định vả được nhiều người biết
đến Vấn đẻ ở đây chỉ lä “các chuyên gia thiết kế cân quên đi những giới hạn của web, bắt
đầu nghĩ rộng hơn, sâu hơn vẻ khả năng của công nghệ và sảng tạo nó theo cách riêng của
Trang 35
-36-Pham Thùy Lĩnh — Lớp KI0T3
mỗi người”, Alexei White, Giảm đốc sắn xuất của công ty eBusiness (My), nhan xét
“ATAX sẽ làm mắt dần ảnh hưởng của Microsoft trên thị trường Tuy chưa thẻ lắn át hoàn toàn, nỏ sẽ mang lại những tính năng thay thẻ cho hảu hết các sản phần như Office”
c Những nhược điểm của AJAX
AJAX có thể gop phan tạo nên một thế hệ mới cho mg dụng web (như colr.org,
hay backpackit.com) Tuy nhiên, nó cũng lả một công nghệ “nguy hiển” khi gây ra không
it tắc rối về giao diện người dùng Chẳng hẹn, phim “Back” (trở lại trang trước) được đánh giá cao trong giao diện của trình duyệt website chuẩn Đảng tiếc, chức năng nảy không hoạt động ăn khép với Javascript va mọi người không thể tìm lại nội dung trước đó khi bắm phim l3ack Bối vậy, chỉ một sơ xuất nhỏ lả dữ liệu trên trang đã bị thay đổi vả
khé có thể khôi phục lại đuợc Đây là một trong những nguyên nhàn chính khiến nhiêu người không ứng hộ ứng đụng Javascript
Bên cạnh đó, mọi nguời không thể lưu lại địa chỉ web vao (hu muc Favorite
(Bookmark) dễ xem lại về sau Do áp dụng lớp trung gian dễ giao tiếp, các ứng dụng,
AJAX khéng có một dịa chỉ có dịnh cho từng nội dung Khiếm khuyết này làm cho AJAX
để “mắt điểm” trong mắt người dùng
Những trình duyệt hễ trợ AJAX là Microsoft Internet Iixplerer 5.U trở lên; các trinh duyệt đụa trên Gecko nhu Mozilla, Firefox, SeaMonkey, Epiphany, Galeon và Netscape 7.1; trình đuyệt chứa KITTML API 3.2 tré lén nlur Konqueror, Apple Safari
Trang 36
-_ Xây đựng một hệ thông thông tin thống nhất phục vụ điều hành và quân lý công
vin, công việc tại TTCNTT cũng như các đơn vị trong nói bộ hệ thống NHNo&PTNTVN
- _ Nâng cao công tác quản lý, phân công công việc, giảm sát việc thực hiện công việc
một cách hiệu quả, nhanh chỏng nắm bắt được thông tin, tiến độ thực hiện công
việc,
2.2 Phạm ví
-_ Đẳi tượng sử dụng: Toàn bộ cán bộ, nhàn viên hoạt động trong các phòng ban của các đơn vị trong Ngân háng Nông nghiệp và Phát triển Nông thôn Việt narn có cải đặt phân mềm
-_ Phạm vi ứng dạng : ng đụng được triển khai tại tật các đơm vị thuộc Ngân hàng
Nong nghiệp và Phát triển Nông thôn Việt Nam
Trang 37
-38-Phạm Thùy Linh—Lép K10T3
2.3 Hién trang
2.3.1 Giới thiệu
Thành lập ngảy 26/3/1988, hoạt động theo Luật
các Tô chức Tin dụng Việt Nam, đến nay Ngan hang
Nông nghiệp và Phát triển Nông thôn Việt Nam
(AGRIBANK) hiện là Ngân hàng thương mại hàng đâu
giữ vai trò chủ đạo và chủ lực trong đầu tư vốn phát triển
kinh tế nông nghiệp, nông thôn cũng như đối với các lĩnh
vực khác của nên kinh tế Việt Nam
AGRIBANK là ngân hàng lớn nhất Việt Nam cả
về vốn, tài sản, đội ngũ CBNV, màng lưới hoạt động và
số lượng khách hàng Đến tháng 3/2007, vị thế dan dau
của AGRIBANK vẫn được khẳng định với trên nhiều F
phương điện: Tổng nguồn vén dat gan 267.000 ty dong,
vốn tự có gản 15.000 tỷ đồng, Tổng dư nợ đạt gân rp„y 2 7: Trụ sở chinh của
239.000 tỷ đồng, tý lệ nợ xau theo chuẩn mực mới, phủ NHNo & PINT
hop voi tiéu chuan quéc te 1a 1,9% AGRIBANK hiện có
hon 2200 chi nhánh vả điểm giao dịch được bố chỉ rộng khắp trên toản quốc với gần
30.000 cản bộ nhân viên
Là ngân hàng luôn chủ trong dau tư đổi mới và ứng dụng công nghệ ngân hang phục vụ đắc lực cho công tác quản trị kinh doanh vả phát triển mảng lưới dịch vụ ngân hàng tiên tiến AGRIBANK là ngân hảng đầu tiên hoàn thành giai đoạn 1 Dự án Hiện đại
hóa hệ thông thanh toán và kế toán khách hàng (IPCAS) do Ngân hàng Thẻ giới tải trợ và đang tích cực triển khai giai đoạn II của dự án nảy Hiện AGRIBANK đã vi tính hoá hoạt
động kinh doanh từ Trụ sở chính đến hầu hết các chỉ nhánh trong toản quốc; và một hệ thống các địch vụ ngân hàng gồm địch vụ chuyển tiền điện tử, dịch vụ thanh toản thẻ tín dung quốc tế địch vụ ATM, dịch vụ thanh toán quốc tẻ qua mạng SWIET Đền nay, AGRIBANK hoản toản cỏ đủ năng lực cung ứng các sản phẩm, dịch vụ ngân hảng hiện đại, tiên tiền, tiện ích cho mọi đôi tương khách hàng trong và ngoài nước
Là một trong số ngân hảng cỏ quan hệ ngân hàng đại lý lớn nhất Việt Nam với trên
979 ngân hàng đại lý tại 113 quốc gia vả vùng lãnh thổ tính den thang 2/2007 La thanh
Trang 38
viên Liiệp hội Tin dụng Nông nghiệp Nông thôn Chiu A ‘Thai Binh Duong (APRACA),
TIiệp hội Tín đụng Nông nghiệp Quốc tế (CICA) và liiệp hội Ngân hang Chau A (ABA),
đã đăng cai tổ chức nhiều hội nghị quốc tế lớn như IIội nghị FAO năm 1991, Hội nghị
APRACA năm 1996 vả năm 2004, Hội nghị tín đụng nồng nghiệp quốc tế CICA năm
2001, TIệi nghị APRACA về thuỷ sản năm 2002
Tà ngân hàng hàng đầu tại Viêt Nam trong việc tiếp nhận và triển khai các dự án
nước ngoài, đặo biệt là các dự áu của WB, ADB, AFD Củc dự án nước ngoài đã Hiếp
nhận và triển khai đến cudi thang 2/2007 là 103 dự ám với tổng số vốn trên 3,6 lÿ USD, số
vén qua NHNo là 2,7 tỷ USD, dã giải ngân được 1,1 tỷ USD,
Với vị thể là ngân hang thương mại hàng đầu Việt nam, AGRIBANK đã nỗ lực
hết mình, đạt được nhiều thành tựu đáng khich lệ, đóng gép to lớn vào sự nghiệp công
nghiệp hoá, hiện đại hơá và phát triển kinh tế của đất nước
2.3.2 Mô hình tổ chức của NHNo&PLNTVN
+* Mô hình tổng quát:
Các b§ phận giún việc J Han kiếm soát
Hội đồng quản trị Hội đồng quản trị
Trang 3940-Pham Thùy Lĩnh — Lớp KI0T3
2.3.3 Công tác điều hành và quản lý công việc
Hiện nay, các chương trình phản mềm phục vụ các nghiện vụ ngân hảng như nghiệp vụ Core-bamk, nghiệp vụ thanh toán thể, nghiệp vụ Phân loại nợ trích lập dir
phòng và chấm điểm khách hàng tín đụng, X gân hàng bán lẽ, v.v đã đâm bảo được việc
quân lý mọi nghiệp vụ thanh toán giao địch qua ngân hàng cho mọi loại đối tượng khách
tràng có nhụ cầu
‘Theo xu thể chưng của công nghệ trên thể giới, NLINo cũng đã có những mỗi quan tâm đầu tư thích đảng cho việc nghiên cứu các công nghệ mới ứng dụng phát triển các hệ thống phục vụ quản lý điều hành nội bộ trong hệ thống cùng như đổi với khách hàng, đặc
biệt là các công nghệ đựa trên Web
Là một ngân hàng lớn, nhiều đơn vị và phòng ban trực thuộc, với mạng lưới chỉ
nhánh trải khắc các tình thành cã nước, nhu cầu tổ chức, kiểm soái, đánh giá hiệu quả
tioại động là vô củng quan trọng, Được sự đẳng ý của lãnh đạo ngân làng, lãnh đạo Trưng
- Quan lý công văn nội bê
- Quận lý hoại động điểu hành
-_ Trao déi théng tin trong nội bộ cơ quan
Trang 40
[ign tại, vẻ mặt nghiệp vụ, các công văn được xử lý như sau:
s* Mô hình lưu chuyển công văn trong hệ thống