1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ quản trị hypermedia

178 225 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Quản Trị Hypermedia Hướng Đối Tượng
Tác giả Cao Thi Thuy Lien, Nguyen The Vu
Người hướng dẫn Thạc Sĩ Nguyen Thi Bi
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Luận Văn
Năm xuất bản 2004
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 178
Dung lượng 2,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xây dựng hệ quản trị hypermedia

Trang 1

CAO THỊ THÙY LIÊN - NGUYỄN THẾ VŨ

XÂY DỰNG HỆ QUẢN TRỊ HYPERMEDIA

HƯỚNG ĐỐI TƯỢNG

LUẬN VĂN CỬ NHÂN TIN HỌC

TP HCM, 2004

Trang 2

XÂY DỰNG HỆ QUẢN TRỊ HYPERMEDIA

HƯỚNG ĐỐI TƯỢNG

LUẬN VĂN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

Thạc sĩ NGUYỄN THỊ BÍCH

NIÊN KHÓA 2000 - 2004

Trang 3

em phải cố gắng hơn nữa

Thành quả này cũng xin được gửi đến cha mẹ, để ghi dấu kết thúc cho một chặng đường dài cha mẹ nuôi con ăn học, và mở ra chân trời mới cho con bay vào đời

Cuối cùng xin gởi lời cảm ơn đến tất cả thầy cô, anh chị, bạn bè đã có những ý kiến quý báu cũng như động viên chúng em thực hiện thành công đề tài

Mặc dù chúng em đã rất nỗ lực để thực hiện đề tài, thế nhưng khối lượng công việc nhiều mà thời gian có hạn, cho nên không thể tránh khỏi một vài thiếu sót Rất mong thầy cô và các bạn góp ý

Chúng em xin chân thành cảm ơn !

Thành phố Hồ Chí Minh, ngày 11 tháng 7 năm 2004

Nhóm thực hiện

ѯÒ

Trang 4

KHOA CNTT –

ĐH KHTN

MỤC LỤC

TÓM TẮT LUẬN VĂN 12

1 VẤN ĐỀ NGHIÊN CỨU 12

2 HƯỚNG TIẾP CẬN – CÁCH GIẢI QUYẾT VẤN ĐỀ 12

3 KẾT QUẢ ĐẠT ĐƯỢC 12

PHẦN MỞ ĐẦU 13

4 M Ụ C TIÊU 13

5 Đ Ố I T ƯỢNG VÀ PHẠM VI NGHIÊN CỨU 13

CHƯƠNG 1:TỔNG QUAN 15

6 T HẾ HỆ THỨ BA CỦA CÁC HỆ THỐNG HYPERMEDIA 15

7 HỆ QUẢN TRỊ HYPERMEDIA HƯỚNG ĐỐI TƯỢNG DỰA TRÊN PHƯƠNG PHÁP LUẬN CỦA OOHDM 16

7.1 Vì sao lựa chọn hệ quản trị hypermedia hướng đối tượng? 16

7.2 OOHDM và hệ quản trị hypermedia hướng đối tượng 17

8 GIẢI QUYẾT VẤN ĐỀ LƯU TRỮ DỮ LIỆU 18

9 OOHDM - TỪ PHƯƠNG PHÁP LUẬN ĐẾN THỰC TIỄN 20

CHƯƠNG 2:OOHDM 22

10 GIỚI THIỆU 22

11 PHƯƠNG PHÁP THIẾT KẾ HYPERMEDIA HƯỚNG ĐỐI TƯỢNG 22

11.1 Pha Thiết kế mức quan niệm: 23

11.2 Pha Thiết kế duyệt: 23

11.3 Pha Thiết kế giao diện trừu tượng: 24

11.4 Pha Thực thi: 24

12 PHA THIẾT KẾ MỨC QUAN NIỆM 24

13 PHA THIẾT KẾ DUYỆT 26

13.1 Lớp duyệt (Navigation class) 26

13.2 Ngữ cảnh duyệt (Navigation context) 30

13.2.1 Ngữ cảnh lớp đơn lẻ (Simple class derived context) 31

13.2.2 Nhóm ngữ cảnh lớp (Class derived context group) 31

13.2.3 Ngữ cảnh link đơn lẻ (Simple link derived context) 31

Trang 5

KHOA CNTT –

ĐH KHTN

13.2.4 Nhóm ngữ cảnh link (Link derived context group) 32

13.2.5 Ngữ cảnh tuỳ ý (Arbitrary context) 32

13.2.6 Ngữ cảnh động (Dynamic context) 32

14 PHA THIẾT KẾ GIAO DIỆN TRỪU TƯỢNG 36

15 PHA THỰC THI 41

16 SỬ DỤNG OOHDM 41

17 ĐÁNH GIÁ VÀ LỰA CHỌN 43

CHƯƠNG 3:XÂY DỰNG BỘ CÔNG CỤ HỖ TRỢ PHƯƠNG PHÁP OOHDM 45

18 CÔNG CỤ THIẾT KẾ LỚP - TẠO CƠ SỞ DỮ LIỆU 45

18.1 Tạo lớp duyệt 45

18.2 Nhập liệu cho lớp duyệt 46

18.3 Mô tả ngữ cảnh duyệt 46

19 C ÔNG CỤ THIẾT KẾ TEMPLATE 50

19.1 Hệ thống hàm sử dụng trong công cụ: 51

19.1.1 Index Function 51

19.1.2 Formatting Function 57

19.1.3 Navigation Function 59

19.1.4 Attrib Function 60

19.2 Frame 61

19.3 Cấu trúc tập tin template 61

20 CÔNG CỤ BROWSER 62

21 MÔ HÌNH LỚP ĐỂ XÂY DỰNG BỘ CÔNG CỤ 63

21.1 CArbitraryCtx 63

21.1.1 Thuộc tính 63

21.1.2 Phương thức 64

21.2 CClassAttribute 64

21.2.1 Thuộc tính 64

21.2.2 Phương thức 64

21.3 CClassDerivedGroupCtx 65

21.3.1 Thuộc tính 65

21.3.2 Phương thức 65

21.4 CClassObject 66

21.4.1 Thuộc tính 66

Trang 6

KHOA CNTT –

ĐH KHTN

21.4.2 Phương thức 66

21.5 CContextSummary 67

21.5.1 Thuộc tính 67

21.5.2 Phương thức 67

21.6 CDatabase 68

21.6.1 Thuộc tính 68

21.6.2 Phương thức 68

21.7 CDBData 69

21.7.1 Thuộc tính 69

21.7.2 Phương thức 70

21.8 CLinkDerivedGrpCtx 70

21.8.1 Thuộc tính 70

21.9 CNavigationClass 71

21.9.1 Thuộc tính 71

21.9.2 Phương thức 71

21.10 CNavigationContext 72

21.10.1 Thuộc tính 72

21.10.2 Phương thức 72

21.11 CSimpleClassDerivedCtx 74

21.11.1 Thuộc tính 74

21.11.2 Phương thức 74

21.12 CSimpleLinkDerivedCtx 75

21.12.1 Thuộc tính 75

21.12.2 Phương thức 75

21.13 CFrame 76

21.13.1 Thuộc tính 76

21.13.2 Phương thức 76

21.14 CFunction 77

21.14.1 Thuộc tính 77

21.14.2 Phương thức 77

21.15 CHypertext 80

21.15.1 Thuộc tính 80

21.15.2 Phương thức 80

Trang 7

KHOA CNTT –

ĐH KHTN

21.16 CTemplate 81

21.16.1 Thuộc tính 81

21.16.2 Phương thức 81

22 LỚP CHTML 82

23 CÀI ĐẶT 84

23.1 Tổ chức thư mục cho hypertext 84

23.2 Công cụ thiết kế lớp, tạo cơ sở dữ liệu 85

23.2.1 Thiết kế lớp duyệt 85

23.2.2 Tạo đối tượng cho các lớp duyệt 88

23.2.3 Mô tả ngữ cảnh duyệt 89

23.3 Công cụ soạn thảo template 91

23.4 Công cụ Browser 94

CHƯƠNG 4:XÂY DỰNG SERVER CHO OOHDM 99

24 GIỚI THIỆU CHUNG 99

25 GIẢI PHÁP CHO VIỆC LỰA CHỌN CƠ SỞ DỮ LIỆU 99

26 CÀI ĐẶT ỨNG DỤNG OOHDM SERVER 100

26.1 Kiến trúc tầng lưu trữ 100

26.2 Kiến trúc tầng runtime 103

26.3 Giao diện chương trình 104

26.4 Chức năng của Server 106

27 C HI TIẾT CÁC LỚP ĐỐI TƯỢNG T ẦNG STORAGE 107

27.1 PERCArbitraryCtx 108

27.1.1 Thuộc tính 108

27.1.2 Phương thức 109

27.2 PERCAttributeValue 109

27.2.1 Thuộc tính 109

27.2.2 Phương thức 109

27.3 PERCClassAttribute 109

27.3.1 Thuộc tính 109

27.3.2 Phương thức 110

27.4 PERCClassDerivedGroupCtx 110

27.4.1 Thuộc tính 110

27.5 PERCClassObject 110

Trang 8

KHOA CNTT –

ĐH KHTN

27.5.1 Thuộc tính 110

27.5.2 Phương thức 111

27.6 PERCContextSummary 111

27.6.1 Thuộc tính 111

27.6.2 Phương thức 111

27.7 PERCDatabase 112

27.7.1 Thuộc tính 112

27.7.2 Phương thức 112

27.8 PERCLinkDerivedGrpCtx 112

27.8.1 Thuộc tính 112

27.8.2 Phương thức 113

27.9 PERCNavigationClass 113

27.9.1 Thuộc tính 113

27.9.2 Phương thức 113

27.10 PERCNavigationContext 114

27.10.1 Thuộc tính 114

27.10.2 Phương thức 114

27.11 PERCSimpleClassDerivedCtx 114

27.11.1 Thuộc tính 114

27.11.2 Phương thức 115

27.12 PERCSimpleLinkDerivedCtx 115

27.12.1 Thuộc tính 115

27.12.2 Phương thức 115

27.13 FillDB 116

27.13.1 Thuộc tính 116

27.13.2 Phương thức 116

27.14 OOHDMCtl 117

27.14.1 Thuộc tính 117

27.14.2 Phương thức 117

28 C HI TIẾT CÁC LỚP ĐỐI TƯỢNG T ẦNG RUNTIME 120

28.1 Client 121

28.1.1 Thuộc tính 121

28.1.2 Phương thức 121

Trang 9

KHOA CNTT –

ĐH KHTN

28.2 Server 122

28.2.1 Thuộc tính 122

28.2.2 Phương thức 122

28.3 ClientHandler 122

28.3.1 Thuộc tính 122

28.3.2 Phương thức 123

28.4 ServerHandler 125

28.4.1 Thuộc tính 125

28.4.2 Phương thức 125

28.5 HDBServerEngine 126

28.5.1 Thuộc tính 126

28.5.2 Phương thức 126

28.6 HDBSession 127

28.6.1 Thuộc tính 127

28.6.2 Phương thức 127

28.7 HDBSessionClient 129

28.7.1 Thuộc tính 129

28.7.2 Phương thức 130

28.8 HDBSessionServer 130

28.8.1 Thuộc tính 130

28.8.2 Phương thức 130

CHƯƠNG 5:HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 132

29 DẪ N NH Ậ P OODBMS 132

30 V ERSANT 133

30.1 Giới thiệu sản phẩm 133

30.2 Cài đặt 134

30.3 Tìm hiểu 134

30.3.1 Các công cụ hỗ trợ phát triển ứng dụng của Versant 134

30.3.2 Các trình hỗ trợ ứng dụng 136

30.3.3 Biên dịch project MSVC++6.0/MSVC++7.0 137

30.3.4 Tạo database trong Versant 139

30.3.5 Xây dựng file schema (imp) để compile chương trình 143

30.4 Nhận xét 144

Trang 10

KHOA CNTT –

ĐH KHTN

31 F AST O BJECTS 145

31.1 Giới thiệu sản phẩm 145

31.2 Cài đặt 146

31.3 Tìm hiểu 147

31.3.1 Compile một project MSVC++6.0/MSVC++7.0 147

31.3.2 Tạo database trong FastObject 148

31.3.3 Xây dựng file schema (ptxx) để compile chương trình 149

31.3.4 Một số lưu ý 149

32 F AST O BJECTS – F AST O BJECTS NET COMPONENT 150

32.1 Giới thiệu – Nét chính 150

32.1.1 Lưu đối tượng một cách trực tiếp, dễ dàng hơn với FastObject.NET 151

32.1.2 Khả năng trong suốt 151

32.1.3 Chi phí về source code cho việc lưu trữ một đối tượng 152

32.1.4 Khả năng truy vấn như thế nào? 154

32.1.5 Database như là một bộ nhớ mở rộng 156

32.2 Khả năng tích hợp với Visual Studio 157

32.3 Hỗ trợ - Cài đặt 159

32.4 Giới thiệu FastObject.NET – phiên bản cho Microsoft NET Framework 160 32.4.1 Giới thiệu 160

32.4.2 Kiến trúc 161

32.4.3 Thông tin kĩ thuật 163

32.5 Một số lưu ý 164

32.5.1 Vấn đề phiên bản 164

32.5.2 Vấn đề cài đặt 165

32.5.3 Vấn đề runtime 165

33 Ứ NG D Ụ NG 166

34 LỜ I K Ế T 166

CHƯƠNG 6:TỔNG KẾT 168

35 KẾT QUẢ ĐẠT ĐƯỢC 168

36 HƯỚNG PHÁT TRIỂN 169

TÀI LIỆU THAM KHẢO 170

PHỤ LỤC:CÁC KHÁI NIỆM VỀ CÁC HỆ QUẢN TRỊ CSDL 172

Trang 11

KHOA CNTT –

ĐH KHTN

37 G I Ớ I THI Ệ U 172

38 Q UÁ TRÌNH QU Ả N LÝ D Ữ LI Ệ U 172

38.1 Giai đoạn đầu 172

38.2 Xử lý tập tin 173

39 T I Ế P C Ậ N CSDL VÀ H Ệ CSDL 175

39.1 Các cách nhìn về dữ liệu 176

39.2 Lịch sử phát triển các Mô hình dữ liệu 177

39.2.1 Khái niệm: 177

39.2.2 Lịch sử phát triển các Mô hình dữ liệu 177

Trang 12

Luận văn "Xây dựng hệ quản trị hypermedia hướng đối tượng" tập trung

tìm hiểu các lý thuyết cũng như sản phẩm phần mềm liên quan, nhằm xây dựng hệ quản trị hypermedia hướng đối tượng lưu trữ dữ liệu trên hệ quản trị hướng đối tượng

Đồng thời, luận văn cũng thiết kế một ứng dụng sử dụng hệ hypermedia đã xây dựng để minh hoạ

- Phương pháp thiết kế hypermedia hướng đối tượng OOHDM được nghiên cứu và là hướng tiếp cận chính để xây dựng hệ hypermedia

- Để giải quyết phần lưu trữ dữ liệu cho hệ hypermedia, luận văn chọn biện pháp sử dụng một hệ quản trị khác phù hợp, đó là hệ cơ sở dữ liệu hướng đối tượng Do đó, đi tìm một hệ quản trị hướng đối tượng đáp ứng yêu cầu, tìm hiểu và sử dụng nó cũng là một công việc cần làm

- Đối với ứng dụng minh hoạ, luận văn mong muốn xây dựng một ứng dụng hay, gắn liền với kiến thức lý thuyết Vì vậy mà bộ công cụ hỗ trợ phương pháp OOHDM được lựa chọn

Những công việc luận văn đã làm:

- Tìm hiểu và vận dụng phương pháp OOHDM

- Tìm hiểu hệ quản trị hướng đối tượng Versant, FastObjects và sử dụng FastObjects để cài đặt

- Cài đặt hệ hypermedia hướng đối tượng theo phương pháp OOHDM

- Xây dựng bộ công cụ hỗ trợ phương pháp OOHDM

Trang 13

Nhiều đề tài luận văn trước đây đã có sự nghiên cứu sâu sắc về lý thuyết hypermedia cũng như xây dựng mô hình hệ quản trị cơ sở dữ liệu hypermedia, chương trình soạn thảo các tài liệu điện tử

Chọn đề tài "Xây dựng hệ cơ sở dữ liệu hypermedia hướng đối tượng", luận văn này

mong muốn tiếp nối và phát triển các đề tài trước, với mục tiêu, đối tượng và phạm

vi nghiên cứu như sau:

- Tìm hiểu phương pháp thiết kế hypermedia hướng đối tượng OOHDM Đây là phương pháp được đưa ra để phục vụ cho việc thiết kế các ứng

Trang 14

KHOA CNTT –

ĐH KHTN

dụng hypermedia với đặc thù riêng: dữ liệu là các node và link Phương pháp này do Daniel Schwabe và Gustavo Rossi, Rita de Almeida Pontes, Isabela Moura giới thiệu vào khoảng năm 1998 và phát triển dần

- Xây dựng mô hình và cài đặt hệ quản trị hypermedia hướng đối tượng dựa trên phương pháp OOHDM

- Tìm hiểu hệ quản trị cơ sở dữ liệu hướng đối tượng Versant và FastObjects, sử dụng FastObjects phục vụ cho việc cài đặt chương trình

- Xây dựng ứng dụng minh hoạ: gồm 3 phần:

o Chương trình cho phép thiết kế lớp, tạo cơ sở dữ liệu theo phương pháp OOHDM

o Chương trình cho phép soạn thảo template (khuôn mẫu) theo phương pháp OOHDM Chương trình này cũng sẽ xây dựng và đưa ra một bộ hàm để soạn thảo

o Chương trình Browser với bộ phân tích template, từ đó tạo ra các trang htm và trình bày

ѯÒ

Trên đây là phần mở đầu sơ lược về lý do chọn đề tài cũng như mục đích, đối tượng

và phạm vi nghiên cứu, với mong muốn giúp người đọc có cái nhìn bao quát về đề tài Chi tiết nội dung đề tài sẽ được thể hiện qua các chương tiếp theo

Trang 15

KHOA CNTT –

ĐH KHTN

CHƯƠNG 1: TỔNG QUAN

Chương này xin điểm qua một số nét làm nền tảng, xuất phát điểm cho các vấn đề

sẽ trình bày chi tiết ở các chương sau

Nhắc lại, theo đề tài luận văn cử nhân khoá 1998 "Tìm hiểu các mô hình

hypermedia – Xây dựng mô hình hypermedia ứng dụng trong việc soạn thảo các tài liệu điện tử" (Trần Ngọc Minh Công - Nguyễn Ngọc Đức, GVHD:

Thạc sĩ Nguyễn Thị Bích):

§ Khái niệm hypertext do Vannevar Bush đưa ra vào năm 1945

§ Hai mươi năm sau, thế hệ thứ nhất của hypermedia ra đời, hỗ trợ văn bản thuần tuý, cho nhiều người dùng chia sẻ

§ Thế hệ thứ hai ra đời vào những năm 80, hỗ trợ thêm giao diện đồ hoạ và các đoạn phim, cho một người hay một nhóm nhỏ người sử dụng

§ Hiện nay, nhiều nghiên cứu nỗ lực xây dựng thế hệ hypermedia thứ ba theo các hướng khác nhau:

• Các hệ thống ứng dụng mô hình HAM HAM do Brad Campell và Joseph M.Goodman đưa ra năm 1988, là server quản lý giao dịch lưu trữ tập trung các node, link

• Các hệ thống ứng dụng mô hình Dexter: Devise, Amsterdam Mô hình Dexter do Frank Halasz và Mayer Schwartz đề xuất vào năm

1990, được rất nhiều hệ thống hypermedia sử dụng bởi nó có một nền tảng cấu trúc bền vững của các tầng, tính mở cao dễ dàng cho các hệ

Trang 16

KHOA CNTT –

ĐH KHTN

thống khác phát triển, cho phép link nhiều đầu, cho phép chia sẻ dữ liệu

• Các hệ thống thiết kế theo mô hình hướng đối tượng: Harmony

• World Wide Web: hệ hypermedia được phát triển trở thành kho tri thức chung rộng lớn, không thể thiếu của nhân loại

TRÊN PHƯƠNG PHÁP LUẬN CỦA OOHDM 7.1 Vì sao lựa chọn hệ quản trị hypermedia hướng đối

§ Đối tượng hay node đều được truy cập đến bằng định danh (identifier)

§ Một link có thể được mô tả bằng một tập ít nhất hai định danh đối tượng Bản thân link cũng là một đối tượng với định danh của chính nó, được sử dụng để trích ra thông tin chỉ mục (index) từ nội dung tài liệu

§ Một composite object (tạo bởi mạng các node và link) được xem như một aggregation của các simple object

§ Các khái niệm dữ liệu trừu tượng (data abstraction) hay tính đóng gói (encapsulation) có thể được áp dụng qua việc định nghĩa các phương thức tạo, xoá, sửa, thao tác trên node, link, duyệt link cũng như phát động (trigger) sự kiện

Trang 17

KHOA CNTT –

ĐH KHTN

§ Node và link có thể được gom nhóm thành các lớp khác nhau dựa trên ngữ nghĩa cấu trúc và hành vi Việc tổ chức node và link theo ngữ nghĩa có tác dụng giúp quản trị mạng tốt hơn, loại bỏ tính mơ

hồ, phân biệt rõ ràng mục đích của những đối tượng này

§ Node và link của một lớp nào đó cũng có thể kế thừa từ thuộc tính của lớp khác

§ Còn những khái niệm hướng đối tượng khác thích hợp với hypertext bao gồm: kiểm soát đồng bộ, quản lý phiên bản và

persistent

Do ngữ nghĩa mang tính hướng đối tượng như vậy, nên hệ hypermedia phát triển theo hướng đối tượng là tự nhiên và phù hợp nhất, bao gồm cả hai khía cạnh lưu trữ và thiết kế

7.2 OOHDM và hệ quản trị hypermedia hướng đối tượng

Phương pháp thiết kế hypermedia hướng đối tượng OOHDM do Daniel Schwabe và Gustavo Rossi, Rita de Almeida Pontes, Isabela Moura giới thiệu vào khoảng năm 1998, phục vụ cho việc thiết kế các ứng dụng hypermedia

Phương pháp thiết kế này sẽ phát huy tác dụng hơn nếu nó được chương trình hoá thành một công cụ hỗ trợ người dùng thay vì chỉ là

lý thuyết

Muốn vậy, hệ quản trị hypermedia cũng phải được xây dựng tương

ứng với các khái niệm của OOHDM Chương 2 của luận văn sẽ trình bày lý thuyết OOHDM và qua các chương 3, 4, mô hình hệ

hypermedia hướng đối tượng dựa trên OOHDM sẽ được xây dựng

Trang 18

KHOA CNTT –

ĐH KHTN

Như nhận xét ở trên, hệ hypermedia lưu trữ dữ liệu trên hệ quản trị hướng đối tượng là sự lựa chọn tự nhiên nhất Điều này được khẳng định cụ thể và

rõ ràng hơn qua một số nghiên cứu của các trường Đại học:

Filesystem KnowledgeBase RDBMS OODBMS

Dễ dàng thực hiện do các khái niệm đã được biết rõ

Kỹ thuật còn mới, và do đó khó thực hiện

Thích hợp cho dữ liệu đơn giản, “flat data”

Tốt cho dữ liệu phức tạp

Cấu trúc được chuyển đổi sang quan hệ Cấu trúc được mô tả như bản thân nó Đối tượng nhận được thông qua truy vấn Thao tác (operation) trên đối tượng được

lưu trong DB

Trang 19

KHOA CNTT –

ĐH KHTN

Sử dụng nhiều câu truy vấn để lấy ra 1 đối tượng

Thông điệp (message) gửi đến đối tượng

và đối tượng này lại có thể gửi thông điệp đến các đối tượng khác

Kết quả truy vấn được chứa trong cấu trúc dữ liệu của ứng dụng

Thông điệp có thể thao tác trực tiếp dữ liệu trong DB và trả về con trỏ

Mỗi record trong 1 quan hệ (relation)

trong cấu trúc (hierachy) có thể bị khoá (lock)

Toàn bộ cấu trúc có thể bị khoá trong 1 thao tác (single operation)

Dữ liệu phức được "flatten" có thể dẫn đến mất đi tính trừu tượng, tính đóng gói

Có cơ chế quản lý dữ liệu phức

Không hỗ trợ tốt lắm cho làm việc hợp tác như quản lý phiên bản, kiểm soát đồng bộ

Xử lý giao tác uyển chuyển, có nhiều

Tính tương đồng giữa cơ sở dữ liệu và

mô hình hypertext làm cho việc thực thi trực tiếp cấu trúc và hành vi của dữ liệu được dễ dàng hơn

Bảng 1 2 - Sự khác biệt giữa RDBMS và OODBMS, theo kết quả đánh giá của

Dại học Brown [Smith & Zdonik, 1987] , và [Lange, 1993]

Những nghiên cứu trên cho thấy hệ quản trị hướng đối tượng là thích hợp hơn cho cơ chế lưu trữ của hệ hypermedia Bằng cách tích hợp mô hình dữ liệu với hypertext, cách thức thu nhận thông tin sẽ được phát triển, bằng cách chuyển các chức năng từ mức độ người dùng thành mức độ cơ sở dữ liệu, sử dụng hệ quản trị hướng đối tượng

Trang 20

KHOA CNTT –

ĐH KHTN

Tuy nhiên, qua các tài liệu mà chúng tôi tham khảo đến thời điểm này, thì tư tưởng trên vẫn chỉ ở mức đang được phát triển, chủ yếu là do sự chưa phổ biến của các hệ quản trị cơ sở dữ liệu hướng đối tượng

Trong quá trình tìm kiếm, chúng tôi có điều kiện tiếp xúc, tìm hiểu và sử dụng một số hệ quản trị hướng đối tượng nổi tiếng, phát triển như Versant và FastObjects Sau khi nghiên cứu và so sánh cả hai, chúng tôi quyết định chọn FastObjects cho công việc của mình

Kết quả tìm hiểu cả hai hệ cũng như lý giải sự lựa chọn trên sẽ được chúng

tôi nêu ra trong Chương 5 – Các hệ quản trị CSDL hướng đối tượng

Như trên đã nói, OOHDM vốn là một phương pháp thiết kế, và nó sẽ hiệu quả hơn nếu được chương trình hoá thành một công cụ hỗ trợ người dùng Ý tưởng này cũng được cha đẻ của OOHDM, những người có công đề ra hệ phương pháp luận này, nghĩ đến, qua công cụ thiết kế, soạn thảo trang Web động OOHDM-Web

Được mô tả chi tiết trong Chương 3 – Xây dựng bộ công cụ hỗ trợ phương pháp OOHDM, ứng dụng minh hoạ trong luận văn chúng tôi cũng

đi theo hướng này, với mong muốn thể hiện được cụ thể, rõ nét ý nghĩa cũng như tác dụng của phương pháp OOHDM Phát triển trên ý tưởng đó, nhưng ứng dụng của chúng tôi có nhiều khác biệt:

o Công cụ thiết kế lớp, tạo cơ sở dữ liệu OOHDM Definition: cho phép thiết kế và tạo các lớp dữ liệu một cách tự nhiên, vì dữ liệu được lưu trữ bằng hệ quản trị hướng đối tượng (OOHDM-Web sử dụng cơ sở dữ liệu quan hệ để lưu trữ, và theo tài liệu chúng tôi tham khảo thì công cụ này vẫn chỉ ở mức đang được phát triển)

o Công cụ thiết kế template OOHDM Template Designer: hỗ trợ người dùng soạn thảo template một cách trực quan Trong khi với OOHDM-Web, template được soạn thảo trên trình soạn thảo html bất kỳ, do đó sự

Trang 21

KHOA CNTT –

ĐH KHTN

hỗ trợ người dùng cho các tính năng OOHDM bị hạn chế Ngoài ra, chúng tôi cũng cải tiến hệ thống hàm cho đơn giản, gần gũi với người dùng, đồng thời bổ sung các hàm ngoài phạm trù OOHDM, phục vụ cho việc soạn thảo trang html được hoàn thiện hơn

o Công cụ phát sinh trang htm động OOHDM Browser: phát sinh trang Web động lúc duyệt từ các template thiết kế sẵn là một ý tưởng độc đáo, giúp tiết kiệm không gian lưu trữ, và công sức của người thiết kế Web Đối với những trang Web có cấu trúc giống nhau, họ chỉ cần soạn thảo duy nhất một template (quá trình soạn thảo cũng như tập tin kết quả template đều rất đơn giản) Trình duyệt với bộ phân tích cú pháp sẽ tự phân tích template và phát sinh trang htm động Công cụ này có ý nghĩa quan trọng vì nó cho ra thành quả cuối cùng, quyết định sự thành công của ứng dụng

Ñ¯Ò Trên đây là cái nhìn tổng quan về những vấn đề được đặt ra và giải quyết trong luận văn này Cụ thể từng vấn đề sẽ được đào sâu trong từng chương sau

Trang 22

(Object-1998

Phương pháp này cung cấp một hệ thống các khái niệm trừu tượng phục vụ cho việc thiết kế ứng dụng hypermedia cũng như làm cho các tác vụ của ứng dụng trở nên dễ dàng hơn

Thông qua kỹ thuật hướng đối tượng, phương pháp OOHDM giúp nhà thiết

kế xây dựng được một kiến trúc duyệt tốt, đây là một trong những chìa khoá đưa đến thành công cho ứng dụng hypermedia

TƯỢNG

Cơ sở của hướng tiếp cận OOHDM:

- Các đối tượng duyệt được xem là khung nhìn (view - từ dùng trong cơ

sở dữ liệu) của các đối tượng mức quan niệm

- Hình thành các khái niệm trừu tượng thích hợp để tổ chức không gian duyệt, và giới thiệu khái niệm ngữ cảnh duyệt

- Tách các vấn đề giao diện ra khỏi vấn đề duyệt

- Nhận thức rõ rằng có những quyết định thiết kế cần được đưa ra trong và chỉ trong giai đoạn thực thi mà thôi

Trang 23

KHOA CNTT –

ĐH KHTN

Nền tảng của hướng tiếp cận OOHDM là tách quá trình thiết kế ứng dụng hypermedia thành bốn pha riêng biệt: Thiết kế mức quan niệm (Conceptual design), Thiết kế duyệt (Navigation design), Thiết kế giao diện trừu tượng (Abstract interface design) và Thực thi (Implementation)

11.1 Pha Thiết kế mức quan niệm:

Giai đoạn mô tả lĩnh vực (domain) của ứng dụng, không quan tâm đến người sử dụng (user profile) hay tác vụ Có hai loại đối tượng được mô tả gồm:

o Những đối tượng cuối cùng sẽ trở thành các node trong mô hình duyệt (entity object)

o Những đối tượng hỗ trợ tính toán cho ứng dụng, đóng gói hành vi như thuật toán, truy cập cơ sở dữ liệu, v.v

Kết quả, giai đoạn này xây dựng nên mô hình cho lĩnh vực của ứng dụng Mô hình này có thể phục vụ cơ bản cho những ứng dụng khác trong cùng lĩnh vực, và không chứa bất cứ thông tin cụ thể nào liên quan đến việc duyệt

11.2 Pha Thiết kế duyệt:

Thông tin về những loại người sử dụng và các tác vụ tương ứng được

sử dụng để rút ra các đối tượng duyệt (node, link, kiến trúc truy xuất)

và cách chúng được cấu trúc

Ở giai đoạn này, nhà thiết kế sẽ thu thập các đối tượng của không gian duyệt thành một tập hợp có nghĩa gọi là ngữ cảnh duyệt (navigation context) Mỗi ngữ cảnh định nghĩa cách thức mà quá trình duyệt diễn tiến, bằng cách chỉ ra sự biến đổi trong không gian duyệt, nghĩa là, tập hợp các đối tượng duyệt có thể truy cập vào một thời điểm nhất định

Trang 24

KHOA CNTT –

ĐH KHTN

11.3 Pha Thiết kế giao diện trừu tượng:

Các đối tượng duyệt được ánh xạ vào bản vẽ giao diện (interface construct)

Công việc của giai đoạn này là chỉ ra các đối tượng giao diện (interface object) làm trung gian cho tương tác của người dùng với các đối tượng duyệt Kết quả, mô hình giao diện (interface model) chỉ ra: đối tượng giao diện nào người sử dụng có thể thấy, đối tượng giao diện nào sẽ hoạt hoá quá trình duyệt, các đối tượng giao diện multimedia sẽ được đồng bộ hoá như thế nào, và sự biến đổi giao diện sẽ xảy ra thế nào

11.4 Pha Thực thi:

Mang trách nhiệm thi hành bản vẽ giao diện, giai đoạn này ánh xạ các đối tượng quan niệm, duyệt và giao diện vào một môi trường run-

time đích, có thể bao gồm việc định nghĩa các trang HTML, script,

truy vấn dữ liệu v.v… Qua đó nhà soạn thảo sẽ có được ứng dụng hypermedia thật sự để chạy

Việc phân chia thiết kế quan niệm, duyệt và giao diện thành các hoạt động riêng biệt cho phép ta tập trung vào một công việc trong một thời điểm Kết quả, ta có những đơn vị thiết kế có thể tái sử dụng

Mặt khác, thiết kế nguyên thuỷ cũng có thể ánh xạ vào môi trường hay ngôn ngữ thực thi phi đối tượng

Sản phẩm của bước này là lược đồ lớp bao gồm các hệ thống con system), lớp và quan hệ

Trang 25

(sub-KHOA CNTT –

ĐH KHTN

OOHDM dùng hệ ký hiệu tương tự như UML, nhưng khác biệt ở chỗ sử dụng các thuộc tính đa trị, và việc phân biệt hướng rõ ràng trong các quan

hệ

Để minh hoạ, ta xem xét ví dụ sau, một lược đồ đơn giản cho tạp chí trực tuyến:

Hình 2 1 – Mô hình mức quan niệm cho một tạp chí trực tuyến

Trong mô hình này, Story có thể là Essay, Translation hay Interview Một

Interview là một aggregation của Q&A (question & answer) Mỗi Story có

một Author, và một Interview có quan hệ với Person liên quan nó

Không có lớp Magazine trong lược đồ này, mà nó sẽ tồn tại trong giai đoạn

Thiết kế duyệt

Thuộc tính lớp được phân loại, mỗi loại được gọi là một perspective Ví dụ

trong hình trên, thuộc tính Illustration của Essay có thể là Photo hay Video,

ký hiệu [p1, p2], dấu + có thể thêm vào một perspective để cho biết nó là giá

trị mặc định

Trang 26

KHOA CNTT –

ĐH KHTN

Aggregation trong định nghĩa lớp tương tự như khái niệm component trong

mô hình hypermedia Mối quan hệ tiềm ẩn tồn tại giữa một đối tượng phức

tạp với thành phần của nó và giữa các thành phần với nhau được gọi là link

cấu trúc trong mô hình hypermedia

Việc sử dụng mô hình hướng đối tượng để mô tả các khía cạnh khác nhau của một ứng dụng hypermedia cho phép diễn tả phong phú các hoạt động tính toán như là truy vấn động, chỉnh sửa đối tượng trực tuyến, tìm kiếm heuristic

Mô hình duyệt (navigational model) ở giai đoạn này được xây dựng như là một khung nhìn trên mô hình quan niệm, do đó có thể xây dựng các mô hình duyệt khác nhau tương ứng với người sử dụng khác nhau

Có hai lược đồ được quan tâm đến trong giai đoạn này:

- Lược đồ lớp duyệt (navigational class schema): định nghĩa phạm vi

duyệt (navigational domain) của ứng dụng hypermedia Tương tự như

mô hình hypermedia, trong OOHDM có một tập hợp các loại lớp duyệt được định nghĩa trước: node, link, anchor và các cấu trúc truy cập (index – mô tả các cách có thể để bắt đầu duyệt)

- Lược đồ ngữ cảnh duyệt (navigational context schema)

13.1 Lớp duyệt (Navigation class)

Lớp duyệt (navigation class, tức là node) được ký hiệu bằng ký hiệu lớp với một ô vuông ở góc trên bên phải Thuộc tính đa trị trong mô hình quan niệm được ánh xạ thành các thuộc tính khác nhau của lớp duyệt

OOHDM cho phép node được định nghĩa bằng cách kết hợp các thuộc tính của các lớp riêng biệt có liên quan nhau trong mô hình quan niệm Node sở hữu các thuộc tính đơn, link anchor, và có thể là

Trang 27

KHOA CNTT –

ĐH KHTN

atomic hoặc composite Anchor là thể hiện của lớp Anchor (hoặc một

trong những lớp con của nó) và được tham số hoá bằng loại link nó sở hữu Hành vi duyệt chuẩn khi một node nhận được thông điệp

“anchorSelected()” là giao phó thông điệp này cho anchor tương

ứng, để nó hoạt hoá link tương ứng Có thể định nghĩa lại hành vi chuẩn của anchor hay node để thực hiện kiểm tra trước khi quá trình duyệt diễn ra

Đây là một trong những cải tiến chính của OOHDM, nhận ra các đối tượng mà người dùng duyệt không phải là đối tượng mức quan niệm

Do đó, thuộc tính node được định nghĩa như là những khung nhìn hướng đối tượng của các lớp mức quan niệm, bằng ngôn ngữ truy vấn Điều này cho phép node được định nghĩa bằng cách cung cấp truy cập đến thuộc tính của các lớp riêng biệt có liên quan nhau trong lược đồ quan niệm

Link phản ánh những mối quan hệ mức quan niệm dự kiến sẽ được duyệt bởi người dùng cuối Các ứng dụng khác nhau (trên cùng một lĩnh vực) có thể chứa không gian duyệt khác nhau tuỳ theo người dùng Ví dụ, website về kiến trúc có thể chứa thông tin phân loại công trình cho các chuyên gia, và không chứa thông tin này đối với người dùng thông thường

Link kết nối các đối tượng duyệt và có thể là quan hệ 1-1 hay 1-n Cấu trúc truy cập (index hay guided tour) được định nghĩa như lớp,

mô tả các cách duyệt thay thế trong ứng dụng hypermedia Quan hệ giữa node và các đối tượng mức quan niệm, giữa link và các quan hệ trong lược đồ được diễn tả bằng Observer Design Pattern Cú pháp chung định nghĩa thuộc tính node như sau (tương tự đối với link):

NODE name [FROM className: varName] [INHERITS FROM

nodeClass]

Trang 28

KHOA CNTT –

ĐH KHTN

attri: type1 [SELECT name1] [FROM class1:varName1, classj:

varNamej

WHERE logical expression]

attr2: type2 [SELECT name2]

attrn: typen [idem]

END

Trong đó:

- name: tên lớp của node đang tạo

- className: tên lớp mức quan niệm (từ đó node được ánh xạ)

- nodeClass: tên super-class

- attri: tên thuộc tính của lớp, typei là loại thuộc tính

- namei: chủ thể cho biểu thức truy vấn, vari là các biến diễn tả điều

kiện logic

- logical expression: cho phép định nghĩa lớp có thể hiện là kết hợp

của các đối tượng được định nghĩa trong lược đồ quan niệm, khi những điều kiện trên các thuộc tính và/hay quan hệ của chúng có hiệu lực

Ví dụ, một lớp node Story, chứa như là thuộc tính của nó name và

bio của Person viết nó, và một anchor của một link đến Person đó

Trong mô hình quan niệm, name và bio của Person là thuộc tính của

lớp này

Ví dụ ở trên cho kết quả định nghĩa node như sau:

Trang 29

KHOA CNTT –

ĐH KHTN

NODE Story [FROM Story:St] [INHERITS FROM Person]

author: String [SELECT Name] [FROM Person:Pr WHERE Pr Is

Author of St]

auhtor_bio: String [SELECT Bio] [FROM Person:Pr WHERE Pr Is

Author of St]

(các thuộc tính khác được giữ lại từ lớp Story mức quan niệm)

toAuthor: Anchor (Is Author of) END

Giá trị thuộc tính toAuthor là một anchor được tham số hoá với lớp

Link Is Author of Khi định nghĩa thể hiện giao diện của lớp node Story ta có thể để anchor xuất hiện như một button ẩn phía trên tên

tác giả (thuộc tính author) Mặc dù có vẻ như hai thuộc tính có cùng

hành vi, nhưng chỉ anchor là hồi đáp lại sự kiện giao diện

Trang 30

KHOA CNTT –

ĐH KHTN

Hình 2 2 – Mô hình duyệt cho tạp chí trực tuyến

Lớp Person không xuất hiện, và thuộc tính của Author bây giờ là bộ phận của

lớp Story Tương tự với lớp Interview

13.2 Ngữ cảnh duyệt (Navigation context)

Một ứng dụng hypermedia thiết kế tốt phải quan tâm đến cách người dùng duyệt không gian hypermedia Ta cần giúp người dùng chọn cách duyệt nào phù hợp mà họ có thể kiểm soát được Giải pháp thông thường cho vấn đề này là có một công cụ định hướng, chính vì vậy mà khái niệm ngữ cảnh duyệt xuất hiện

Sau khi các lớp duyệt đã được xây dựng, tiếp theo ta sẽ cấu trúc không gian duyệt có thể cho người dùng Trong OOHDM, ta nhóm các đối tượng duyệt thành những tập hợp gọi là ngữ cảnh (context)

Trang 31

KHOA CNTT –

ĐH KHTN

Một ngữ cảnh duyệt là một tập node, link, lớp ngữ cảnh và các ngữ cảnh duyệt khác Mỗi định nghĩa ngữ cảnh bao gồm: các yếu tố nó chứa; đặc tả cấu trúc duyệt bên trong nó; một điểm vào; giới hạn truy cập bằng các lớp và thao tác người dùng; và những cấu trúc truy cập liên quan

Có năm cách khác nhau để định nghĩa ngữ cảnh:

13.2.1 Ngữ cảnh lớp đơn lẻ (Simple class derived context)

Chứa tất cả đối tượng của một lớp thoả một vài tính chất, ví dụ

“buildings with address = Rio de Janeiro” Một biến thể của

loại này là query-based context, người dùng xác định các tính

chất vào lúc duyệt

Ký hiệu đồ hoạ:

Hình 2 3 – Ký hiệu đồ hoạ cho ngữ cảnh lớp đơn lẻ

13.2.2 Nhóm ngữ cảnh lớp (Class derived context group)

Là tập hợp các ngữ cảnh lớp đơn lẻ, trong đó tính chất mang tính định nghĩa cho mỗi ngữ cảnh được tham số hoá; ví dụ

“building by location” (location có thể thay đổi)

Ký hiệu đồ hoạ:

Hình 2 4 – Ký hiệu đồ hoạ cho nhóm ngữ cảnh lớp

13.2.3 Ngữ cảnh link đơn lẻ (Simple link derived context)

Chứa tất cả đối tượng liên quan đến đối tượng cho trước; ví dụ

“buildings designed by Oscar Niemeyer” Ký hiệu đồ hoạ

như 4.2.1

Trang 32

KHOA CNTT –

ĐH KHTN

13.2.4 Nhóm ngữ cảnh link (Link derived context group)

Tập hợp các ngữ cảnh link đơn lẻ, mỗi ngữ cảnh có được bằng

cách thay đổi yếu tố nguồn của link; ví dụ “buildings designed

by architect” (architect thay đổi) Ký hiệu đồ hoạ như 4.2.2

13.2.5 Ngữ cảnh tuỳ ý (Arbitrary context)

Là một tập hợp liệt kê (enumerated set); ví dụ, một guided

tour Ký hiệu đồ hoạ như 4.2.1

13.2.6 Ngữ cảnh động (Dynamic context)

Ngoài năm loại ngữ cảnh trên, loại ngữ cảnh động xuất hiện trong một số tài liệu, là tập hợp trong đó các yếu tố của một ngữ cảnh có thể thay đổi như là kết quả của quá trình duyệt bởi

người dùng; ví dụ history, shopping basket (được người đọc

xây dựng trong khi duyệt qua các đối tượng (ví dụ là sách) trong các ngữ cảnh khác) Nếu ứng dụng cho phép tạo hay chỉnh sửa đối tượng (class instance), tất cả ngữ cảnh nhận được từ những đối tượng này sẽ là động, điều này cũng đúng trong trường hợp link

Ký hiệu đồ hoạ:

Hình 2 5 - Ký hiệu đồ hoạ cho ngữ cảnh động

Với tất cả các ngữ cảnh trên, nếu có một cấu trúc truy cập được định nghĩa cho nó, thì ký hiệu đồ hoạ tương ứng chứa một ô đen nhỏ ở góc trên bên trái Kết hợp với ngữ cảnh có các cấu trúc truy cập (index)

ký hiệu đồ hoạ bởi:

Trang 33

KHOA CNTT –

ĐH KHTN

Hình 2 6 – Ký hiệu đồ hoạ cho các cấu trúc truy cập

Ngữ cảnh duyệt tổ chức không gian duyệt thành các tập hợp phù hợp (consistent) có thể được duyệt theo một thứ tự nhất định

Cấu trúc duyệt của một ứng dụng được định nghĩa trong lược đồ ngữ cảnh (context diagram), trình bày tất cả cấu trúc truy cập và ngữ cảnh được định nghĩa cho ứng dụng này, và quá trình duyệt có thể có giữa chúng

Hình 2.7 là lược đồ ngữ cảnh duyệt cho tạp chí trực tuyến, trong đó

Magazine hình thành bởi Story được nhóm theo một số tiêu chuẩn

khác nhau

Hình 2 7 - Lược đồ ngữ cảnh duyệt cho tạp chí trực tuyến

Index được chỉ ra bởi các ô với đường đậm, nét đứt, như là "Main Menu" Loại ngữ cảnh đơn giản nhất (tập các node) được ký hiệu bởi:

Trang 34

KHOA CNTT –

ĐH KHTN

Hình 2 8 – Ký hiệu đồ hoạ cho tập các node

Trong ví dụ này, tập các Story được mô tả như là “Highlights” của 1

Magazine nhất định

Một nhóm các ngữ cảnh bao gồm các node của cùng một lớp, theo tiêu chuẩn khác nhau, ký hiệu nhóm ngữ cảnh như sau:

Hình 2 9 – Ký hiệu đồ hoạ cho nhóm ngữ cảnh

Ô đen ở góc trên bên trái chỉ ra rằng nhóm có một index đến các thành phần của nó Định nghĩa của ngữ cảnh tự nó sẽ chỉ ra loại của quá trình duyệt được cho phép trong ngữ cảnh, giá trị điển hình là

“sequential”, “circular sequential”, “index” (chỉ có thể duyệt từ một index đến một yếu tố và trở lại), hoặc “index sequential”

Việc thiếu một đường đứt giữa các nhóm cho biết có thể tự động chuyển từ một ngữ cảnh của một nhóm sang một ngữ cảnh của nhóm kia Còn các nhóm ngữ cảnh “by reference”, “by query” và

“hightlights” đều được ngăn cách bởi đường nét đứt Có nghĩa là, ví

dụ như, nếu người đọc đang xem một Story trong một section cho trước, anh ta sẽ được phép duyệt qua, hoặc là Story kế tiếp của

section này, hoặc là Story kế tiếp của cùng tác giả Tuy nhiên, anh ta

sẽ không được phép duyệt qua Highlights kế tiếp

Trang 35

KHOA CNTT –

ĐH KHTN

Mũi tên đi từ "Story" trở lại chính nó cho biết Story có thể tham khảo đến các Story khác liên quan Nếu người đọc đang xem một Story, và lần theo link đến một Story liên quan, anh ta sẽ ở trong ngữ cảnh tất

cả các Story liên quan được nhóm lại Lúc này, anh ta phải quay trở lại, hoặc là Story ban đầu, được chỉ ra bởi mũi tên hai đầu, hoặc là

"summary index", được chỉ ra bởi mũi tên từ “Story” đến “Index of sections”

Một khi ngữ cảnh được định nghĩa, có thể mở rộng định nghĩa của các lớp duyệt bằng cách chỉ ra “decorator”, là các thuộc tính chỉ hiển thị khi một đối tượng được truy cập trong một ngữ cảnh cho trước Những thuộc tính như vậy được định nghĩa trong các lớp InContext Node được làm phong phú hơn bởi tập các lớp InContext, cho phép một node trông khác biệt và trình bày các thuộc tính khác nhau (bao gồm anchor), cũng như các phương thức khác nhau khi được duyệt

trong một ngữ cảnh nhất định (hình 2.10) Ví dụ, khi duyệt “Stories

by Bob Woodward”, tiểu sử tác giả có thể không được chứa như là

thuộc tính của Story, trong khi nó có thể được chứa khi duyệt

“Highlights” (hình 2.11) Việc làm phong phú node này tuân theo

cấu trúc của Decorator Design Pattern

Hình 2 10 – Node trong ngữ cảnh được tạo bởi node cơ bản và decorator

Trang 36

KHOA CNTT –

ĐH KHTN

Hình 2 11 - Đặc tả của lớp InContext cho Story trong ngữ cảnh Highlights

Trong trường hợp này, tiểu sử tác giả chỉ được thấy khi một Story được truy cập

bên trong ngữ cảnh Highlights

Giai đoạn này:

- Định nghĩa cách thức các đối tượng duyệt khác nhau sẽ xuất hiện; đối tượng giao diện nào sẽ hoạt hoá quá trình duyệt và các chức năng ứng dụng; đối tượng giao diện nào mà người dùng sẽ nhìn thấy; cũng như những diễn tiến giao diện nào sẽ xảy ra và xảy ra khi nào

- Cho phép xây dựng các giao diện khác nhau cho cùng một mô hình duyệt, dẫn đến sự độc lập mức cao về kỹ thuật giao diện người dùng

- Chỉ ra một cách rõ ràng diễn tiến nào thuộc về giao diện cũng đồng thời

là diễn tiến của quá trình duyệt Có sự phân biệt giữa các thao tác duyệt

và thao tác giao diện, không phải tất cả những gì xảy ra ở giao diện đều liên quan đến quá trình duyệt

- Chỉ ra diễn tiến giao diện nào là cục bộ đơn giản không ảnh hưởng đến tình trạng của quá trình duyệt, do đó không cần truy cập đến web server

Trang 37

KHOA CNTT –

ĐH KHTN

Khi thực thi, giao diện của ứng dụng Web thường được tạo bởi các trình soạn thảo HTML chuyên biệt, nhiều khía cạnh quan trọng của giao diện có thể bị loại trừ

OOHDM dùng hướng tiếp cận Khung nhìn dữ liệu trừu tượng (Abstract Data View design) để mô tả giao diện người dùng của một ứng dụng hypermedia

Khung nhìn dữ liệu trừu tượng (ADV - Abstract Data View) là các mô

hình chính thức của đối tượng giao diện và được chỉ ra bằng cách cho biết:

- Các khía cạnh tĩnh, có cấu trúc của những đối tượng giao diện

- Cách thức chúng liên hệ tĩnh với Đối tượng dữ liệu trừu tượng (ADO -

Abstract Data Object), ở đây là các đối tượng duyệt Ta sử dụng Lược đồ cấu hình (configuration diagram) để diễn tả những mối quan hệ này Một ADV liên hệ với một đối tượng ứng dụng tương ứng, đối tượng này hành động như một server đối với các thao tác không đặc trưng cho giao

diện Đối tượng này được gọi là ADV owner

- Cách thức chúng cư xử để phản ứng lại các sự kiện bên ngoài; cụ thể, chúng kích hoạt quá trình duyệt thế nào, và diễn tiến giao diện nào xảy

ra khi người dùng tương tác với ứng dụng OOHDM sử dụng

ADV-chart, và một hệ thống ký hiệu tương tự Petri-Net để diễn đạt các vấn đề

đồng bộ hoá thường được gặp khi làm việc với dữ liệu multimedia

ADV là các đối tượng có trạng thái và giao diện, trong đó giao diện có thể được thi hành thông qua thông điệp (cụ thể là các sự kiện bên ngoài phát sinh bởi người dùng) ADV trừu tượng ở chỗ chúng chỉ mô tả giao diện và trạng thái chứ không thực thi ADV được sử dụng để mô tả giao diện giữa hai phương tiện khác nhau như là người dùng, mạng hay một thiết bị (ví dụ Timer), hoặc giao diện giữa hai hay nhiều ADO ADO là các đối tượng không hỗ trợ sự kiện bên ngoài do người dùng phát sinh Từ quan điểm kiến trúc, ADV là nhà quan sát (observer) cho ADO, vì v ậy giao thức liên lạc

Trang 38

KHOA CNTT –

ĐH KHTN

giữa giao diện và đối tượng ứng dụng sẽ tuân theo quy tắc mô tả trong Observer Design Pattern

Một ADV được sử dụng trong thiết kế ứng dụng web có thể được xem như một đối tượng giao diện Nó gồm một tập các thuộc tính định nghĩa những

đặc tính perception của nó, và một tập các sự kiện nó có thể xử lý, ví dụ như

những sự kiện do người dùng phát sinh

Giá trị thuộc tính có thể được định nghĩa như hằng số, để xác định các kiểu trình bày cụ thể như vị trí, màu sắc, âm thanh Nói chung, ADV chỉ ra tổ chức và hành vi của giao diện, nhưng trình bày vật lý thật sự hay trình bày ADV trên màn hình được làm ở giai đoạn thực thi

Một biến được lưu trữ, “perceptionContext”, dùng để chỉ ra sự chỉnh sửa của

không gian perception (tập hợp các đối tượng có thể thấy tại một thời điểm)

Khi ta muốn để đối tượng nào đó có thể được thấy, ta bổ sung nó vào perceptionContext, và các yếu tố được loại khỏi perceptionContext sẽ không được thấy nữa

Trong ngữ cảnh của OOHDM, các đối tượng duyệt như là node, index sẽ

đóng vai trò ADO, và ADV liên kết với chúng sẽ được dùng để xác định thể

hiện của chúng đến người dùng Chúng ta sẽ dùng từ ADV để chỉ các đối

tượng và các lớp giao diện

ADV có thể được bao gồm bởi aggregation hay composition của các ADV

mức thấp hơn, do đó cho phép việc xây dựng giao diện người dùng với các đối tượng có thể thấy được lại bị ẩn đi Giả sử, ví dụ, ta có ứng dụng vẽ Hình 2.12 cho thấy một ADV mô tả một bức vẽ có thể tạo bởi 3 ADV, chứa một image, text và một button Ngoài ra, ADV có thể được tổ chức trong những cấu trúc tổng quát hoá / đặc biệt hoá cung cấp một framework mức quan niệm để định nghĩa thứ bậc của các đối tượng giao diện

Trang 39

KHOA CNTT –

ĐH KHTN

Hình 2 12 – ADV có thể là aggregation

Hình 2 13 – ADV sử dụng khái niệm kế thừa

Trong Hình 2.13, AnchoredText là một đối tượng giao diện, nó thêm một tập anchor (được thực thi trong ví dụ như là các hotword) vào TextField tổng quát hơn Trong khi Description là một button được chuyên biệt hoá bằng

cách thêm vào một hành vi được tuỳ biến hơn (không cho thấy trong hình)

Trang 40

KHOA CNTT –

ĐH KHTN

Hình 2 14 – ADV Painting trong trang Web Portinari

ADV Painting chứa một số thuộc tính mô tả các khía cạnh nhất định của một

bức vẽ và nhiều ADV ẩn như Picture, References và People Trong ký hiệu ở Hình 2.14 References và People không được cho thấy cùng một lúc, do đó ADV của chúng chồng lên nhau Các ADV ShowPeople, ShowReferences là

control cho phép hiển thị một trong các ADV đề cập trước đó ADV

InContext Theme thi hành giao diện của lớp InContext Theme và cung cấp

những công cụ duyệt bên trong ngữ cảnh duyệt Paintings of a Theme

Trong khi lược đồ trên cho thấy bản chất tĩnh của giao diện Painting, tính

chất động được mô tả bằng ADV-chart Khi ShowPeople được click, nó gửi

thông điệp trình bày danh sách People liên quan đến bức vẽ, và tương tự với

ShowReference Đây là hiệu ứng hoàn toàn về giao diện, không tính đến việc

duyệt qua node khác Trong khi đó, khi đối tượng giao diện Previous được

click, nó gửi thông điệp "anchorSelected (previous)" đến ADO tương ứng, trong trường hợp này một đối tượng InContext liên lạc với anchor tương ứng

và nhờ đó ta duyệt đến bức vẽ khác

Ngày đăng: 10/11/2012, 08:14

HÌNH ẢNH LIÊN QUAN

Hình  2.  14  —  ADV  Painting  trong  trang  Web  Portinari - Xây dựng hệ quản trị hypermedia
nh 2. 14 — ADV Painting trong trang Web Portinari (Trang 40)
Hình  3.  I  -  Mô  hình  lớp  xây  dựng  chương  trình - Xây dựng hệ quản trị hypermedia
nh 3. I - Mô hình lớp xây dựng chương trình (Trang 63)
Hình  3.  2—  Đăng  nhập  để  sử  dụng - Xây dựng hệ quản trị hypermedia
nh 3. 2— Đăng nhập để sử dụng (Trang 85)
Hình  3.  3  -  Form  tao  database,  thiét  ké  lép  duyệt - Xây dựng hệ quản trị hypermedia
nh 3. 3 - Form tao database, thiét ké lép duyệt (Trang 86)
Hình  3.  4  -  Thực  hiện  tao  cae  lop  duyét  cho  hypertext  BookShopPrj - Xây dựng hệ quản trị hypermedia
nh 3. 4 - Thực hiện tao cae lop duyét cho hypertext BookShopPrj (Trang 87)
Hình  3.  9  -  Giao  diện  công  cụ  thiết  kế  template  Thành  phần  giao  diện  của  công  cụ  gồm  có: - Xây dựng hệ quản trị hypermedia
nh 3. 9 - Giao diện công cụ thiết kế template Thành phần giao diện của công cụ gồm có: (Trang 91)
Hình  3.  10  —  Context  menu  cho  hypertext - Xây dựng hệ quản trị hypermedia
nh 3. 10 — Context menu cho hypertext (Trang 92)
Hình  3.  17  -  Tap  tin  htm  duoc  tao  twong  ting  voi  template - Xây dựng hệ quản trị hypermedia
nh 3. 17 - Tap tin htm duoc tao twong ting voi template (Trang 96)
Hình  4.  1  -  Kiến  trúc  tầng  lưu  trữ - Xây dựng hệ quản trị hypermedia
nh 4. 1 - Kiến trúc tầng lưu trữ (Trang 101)
Hình  4.  4  -  Form  điêu  chỉnh  các  tham  s6  vé  connection - Xây dựng hệ quản trị hypermedia
nh 4. 4 - Form điêu chỉnh các tham s6 vé connection (Trang 105)
Hình  4.  5  -  Form  diéu  chinh  cdc  tham  sé  vé  session - Xây dựng hệ quản trị hypermedia
nh 4. 5 - Form diéu chinh cdc tham sé vé session (Trang 106)
Hình  4.  6  -  Sơ  đô  quan  hệ  giữa  các  lóp  OOHDM - Xây dựng hệ quản trị hypermedia
nh 4. 6 - Sơ đô quan hệ giữa các lóp OOHDM (Trang 108)
Hình  5.  8  -  Lựa  chọn  Option  dé  thiét  lap  đường  dẫn - Xây dựng hệ quản trị hypermedia
nh 5. 8 - Lựa chọn Option dé thiét lap đường dẫn (Trang 138)
Hình  5.  14  -  Điêu  chỉnh  các  tham  số  khác  khi  tạo  database - Xây dựng hệ quản trị hypermedia
nh 5. 14 - Điêu chỉnh các tham số khác khi tạo database (Trang 141)
Hình  5.  20  —  Thém  thu  vién  pt90.lib - Xây dựng hệ quản trị hypermedia
nh 5. 20 — Thém thu vién pt90.lib (Trang 148)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w