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

khóa luận tìm hiểu công nghệ xml và xây dựng hệ thống quản lý dịch vụ khách hàng (esupport)

46 653 1
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Định dạng
Số trang 46
Dung lượng 15,43 MB

Nội dung

Trang 1

TRUONG DAI HOC KHOA HOC TU NHIEN

KHOA CONG NGHE THONG TIN

BO MON HE THONG THONG TIN

oO „

NGUYEN THI KIM PHUQNG - TRUONG KIEU GIANG

TÌM HIỂU CÔNG NGHỆ XML Và X€Y DUNG HE THONG QUAN LY

DICH VG KHACH HANG (ESUPPORT)

KHÓA LUẬN CỬ NHÂN TIN HỌC

TP.HCM, 2005

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN

oo OF

NGUYEN THI KIM PHƯỢNG 0112237

TRƯƠNG KIỂU GIANG 0112344

TÌM HIỂU CƠNG NGHỆ XML Và

XâY DựNG HỆ THỐNG QuảN LÝ

DICH VU KHACH HANG (ESUPPORT)

GIAO VIEN HUGNG DAN

THẠC SĨ: NGUYEN TRAN MINH THU’

Trang 3

Bh] & Minh Flue i đỡ khich le odn nay ban da 6 oà giúp tốt luậr cùng các tâm 7 nam 2005 van sie dén cha me, gia +s ot chit, tinh than, dgug ay 12 oién ict t suốt nhấ Øp.Z60ô lu Miu, đặc biệt tà

Gây Óô trong khoa Céng Wghé hông in đã tận tình giảng sau OWguyén De đỡ cluing em trong qua trinh 2 oién, quan on giam st động on Ban on Shae Athém sinh 2 cam sề

Øp.Z6ô @lư /Mink,

em ahitnag kiếm tÍuức cam £ ) ⁄ e 2 cam cùng, Ching toi xin chan thanh cam tướng thận xét, đóng góp biếu

Ching em xin chin thanh Ching em xin chain thanh

Cubi

trường Dai hoe Khoa Foe Fu

cede

nam hoe tap tai trường

thie hién lugn van dé chiing em céAhé hoan

Trang 4

“J

cS ST

, LO! NOI DAU i

[ Thế kỷ 21 - thế kỷ của sự bùng nỗổ công nghệ thông tin, các công nghệ Ì * tiên tiến phát triển như vũ bão, mang một luồng gió mới thổi vào nhận thức : [ của mỗi người Song song đó, thế giới đang trong xu thế toàn cầu hóa, tat ‘

t cả đều mang ý nghĩa hội nhập Lúc này, các doanh nghiệp va chính phủ i | khéng chi canh tranh véi cdc doanh nghiép trong mét quéc gia ma con canh 1

* tranh với các doanh nghiệp, chính phủ ở khắp thế giới.:Vì thế, để tồn tại và : phát triển, mục tiêu mà các doanh nghiệp hướng đến đầu tiên là nâng cao : - chất lượng phục vụ khách hàng Khách hàng là:yêu tố sống còn của bắt kỳ = + doanh nghiệp nào trong thế kỷ 21 Một chính phủ muốn quốc gia mình phát †

t trién phai xem nhan dan va doanh nghiép la*khach, hang Dé cé khach hang j t đã khó, để giữ khách hàng càng khớ hơn nhiều Doanh nghiệp nào làm cho i + khách hàng thỏa mãn, doanh nghiệp đó sẽ phát triển tốt, chính phủ nào làm *

[ nhân dân hài lòng chính phủ đó.sẽ vững mạnh j

L Trong bối cảnh phát triển mạnh mẽ của Internet nói chung, thương mại j † điện tử và chính phủ điện tử nói riêng, việc ứng dụng công nghệ thông tin j vào lĩnh vực dịch vự khách hàng không là mới trên thế giới nhưng là mới ở :

[ Việt Nam Nhiều vấn đề đặt ra là làm thế nào đem đến cho khách hàng sự Ì

‹ phục vụ tốt.nhất, tiện lợi và hiệu quả nhất Chính vi vậy đề tài “Tìm hiểu :

t công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng” Ì f được đưa ra nhằm giúp cho các doanh nghiệp hay các tổ chức nhà nước i * hỗ trợ khách hàng hiệu quả hơn Với luận văn này, nhóm chúng em mong :

Trang 5

I ar ! , _ Nội dung của đê tài gồm các phân chính sau: ! ị j $ Chương 1: Tổng quan - Giới thiệu đôi nét về hệ thống hỗ trợ dịch vụ khách 4 b +

| hang như mục tiêu, phạm vi, đôi tượng mà hệ thông hướng tới Song song |

i đó là các cách tiếp cận bài toán và đưa ra hướng giải quyết bài tốn j

& ®

I à !

, _ Chương 2: Giới thiệu công nghệ XML — De tai sử dụng một công nghệ mới | I x k à Re gyn as ` | i để hỗ trợ trong vấn đề lưu trữ và trao đổi thông tin trong môi trường Internet : [ đó là XML Chương này sẽ giới thiệu được cho mọi người biết XML là gì và Ì

† các công nghệ đang được hỗ trợ trên XML j

| Chuong 3: M6 ta hé thong quan ly dich vu khach hang =M6 ta chi tiét hé /

i thống hỗ trợ dịch vụ khách hàng và đưa ra ác yêu cầu mà hệ thống sé j

, được xây dựng :

[ ,

i Chương 4: Phân tích ứng dụng - Phân tích chỉ tiết các yêu câu theo mô ï

„ hình UML (Unified Model Language) * & + | kk | † Chương 5: Thiễt kê và cài đặt ứng dụng i [ | , _ Chương 6: Kết luận và hướng phát triển — Tổng kết những kết quả đạt được | : y : * và mặt hạn chê của đê tài; đồng thời cũng đưa ra hướng phát triên cho hệ : „ _ thống sau nay : % & | x |

* Phân cuôi cùng là Tài liệu tham khảo và phụ lục : I, Do thời gian có hạn, kinh nghiệm phân tích, thiệt kê, cài đặt còn hạn chế;

i nên chắc chắn không tránh khỏi một số sai sót nhất định Rất mong nhận : ị được sự đóng góp ý kiến của quý Thầy Cô và bạn bè để chúng em hoàn :

Trang 6

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng MỤC LỤC Chương 1: MỞ ĐẦU °-s2s#€EEssEvsseEvssSEvstrvsserrsserrsssre 9 1.1 Giới thiệu ứng dụng - ¿+ + x*k#k#k£vEeksteeeeekekrkrkrrrree 9 1.2 Đối tượng và phạm vi của ứng đụng -¿-cc+czxsercrxee 10 5ñ; 4 10

` ốẻ ` 10

1.3 Mục tiêu cần đạt được và các cách tiếp cận bài tøán - 11 1.3.1 Mục tiêu cần đạt được ẤẾ -.-lằ ll

1.3.2 Các cách tiép cAn bai 0am .cesccseeplteecsssessssseeteesseesesseessssseeees 11

1.3.3 Vấn đề đặt ra cho hệ thống hỗ trợ địch vu khach hang 16

1.4 Hướng giải quyết bài tốn <2 TĐghỀ ào ccveeeerrkeirrrkrrrrrrreerrree 18 1.4.1 Về tốc độ thực hiện câu tfuy vấn ì -¿-ccc+ccvecrcrx 18 1.4.2 Vấn đề tìm kiếm thông tỉn -2¿+ze+cvxzrrrrerrrrrx 21

Chương 2: NGHIÊN CỨU CÔNG:'NGHỆ XML 5 25

2.1 Tổng quan về XML ) -22-©222¿+2EE22EEEEEeEEEEEECEEEEErrrrkerrrrkee 25 bên cố nh ›<‹.1 ÔÒỎ 25

2.1.2 Mục tiêu ra đời và lợi ích khi sử dụng XML 25

2.1.3 Một tài liệu XML trông như thế nào) 2-cs++‡ 27

2.1.4 Tạo lập một tài liệu XML 27

2.1.5 Những thành phần của một tài liệu XML 28 2.1.6 Một tài liệu XML hợp lệ 2¿-©2z++22+zevccvxerrrrrecree 29 ba 33 2.1.8 Nhận xét về XMIL .2-22¿+2CE+EetEEEEeCEEEEErrrrkrrrrrkrcree 34

2.2 Cách sử dụng một tài liệu XML - - 5s +s£+cse+xzxzeees+ 2.2.1 Doc va phan tich tai ligu XML

2.2.2 Định hướng qua tài liệu XML để rút trích dữ liệu: 37

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 7

2.2.3 Truy vấn dữ liệu XML sử dụng XPathDocument và XXPathNaVIAfOT - Gv HT HH ni 39 "Đổ ch 2.3 XML và Cơ sở đữ liệu sẻ 2.3.1 XML có phải là Cơ sở đữ liệu? - «5 c++xecerersre 45 2.3.2 Vai trò XML trong hệ thống hỗ trợ dịch vụ khách hàng 46 2.3.3 Mô hình lưu trữ trong hệ thống quản lý dịch vụ khách hàng u90 Ẽ 47 "“" Y 48 3.1 Đối tượng sử dụng -c“ẾẾ cẦN su c2vrnerkkrrrrrrrrerrrrrrrrer 48 3.2 Mô tả hệ thống quản lý dịch vụ khách hàng - 48 3.2.1 Phân hệ hỗ trợ khách hàng z-` -cc+£©2252ccecccvvsccczee 48 3.2.2 Phân hệ hỗ trợ hệ thống ( é 2¿©22¿©2+eevcvxeeerrrecree 49 3.3 Xác định yêu cầu chức năng hệ thống . - +: 51 3.3.1 Yêu cầu chite ndngnghigp V ccccccccssesscsseescssseessssesssssessesseess 51 3.3.2 Yéu cau chiromang hé th6ng ccccccsssessssssessssseesssseessssseesesseess 61 3.3.3 Yêu cau phi Chtte mang eccccssesssssssssssseesssssescssseecssssesesssessesseess 63 Churong 4: PHAN TICH ssssssssssscsssssscssssessssneecssnseessssecsssssccsssneeessnsecsseseees 64 4.1 Eược đồ USE-CA SE 222+++222E2++rttEEEEErrrrtrrrrrrrrrrrex 64

LU? 0-00 90

4.2.1 Đặc tả Use-Case Tìm kiếm FAQ -

4.2.2 Đặc tả Use-Case Đăng ký tài khoản 5s s<ssx+xsxe 67 4.2.3 Đặc tả Use-Case Tạo yêu cầu -: ccccccccrreerrrreccee 69

4.2.4 Đặc tả Use-Case Xem và hiệu chỉnh yêu cầu cccccccces 70

4.2.5 Đặc tả Use-Case Giải đáp yêu cầu -ccccccccrreccee 72 4.2.6 Đặc tả Use-Case Tìm kiếm yêu cau 7B

4.2.7 Dac ta Use-Case Quan ly yéu Sa 74

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 8

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

4.2.8 Đặc tả Use-Case Quản lý FAQ ccccccccrsecrrrreccee 76 Chương 5: THIẾT KẾ . 2-s°ssess£vsse©vsseevzserrsserrsssrrsse 79

5.1 Hiện thực hóa se-Case - ¿52252322322 *21E£E£EceEesereereererre 79

5.1.1 Use-Case Tìm kiếm FAQ, -22¿-©2czccrkecrrkerrrkerrrkcee 79 5.1.2 Use-Case Đăng ký tài khoản - - s+sskseeerrrsre 81 5.1.3 Use-Case Tao y6u CaU M6 .secscsssessssssesssssseesssseesesssesesssesessseess 83 5.1.4 Use-Case Giải quy6t y6U CaU eecccccssssssessssssessssseesesssesssssessesseess 85 5.1.5 Use-Case Xem và hiệu chinh y6u Cau .cscsssssssesssssesssssseseessees 87 5.1.6 Use-Case Tìm kiếm yêu cầu

5.1.7 Use-Case Quản lý yêu cẦu ếẾ( - TY ccccccccvecrrrreccee 5.1.8 Use-Case Quản lý FAQ e slỀ các ccvecccrrkerrrrkrrrrrrree 93 5.2 Thiết kế cơ sở dữ liệu €sse kcccc222vvvrrrrccvvvrrrrrrrrrrrrree 96 5.2.1 SO 7a 7© 96

5.2.2 Mơ hình quan hệ 97

5.2.3 Mô tả chỉ tiết các lớp đối tượng -c¿-©ccxze+ccrsccee 98

5.2.4 Mơ tả các ràng buộc toằn:vẹn - - - + cssxseerersrsee 102

5.3 Thiết kế cài đặf và triển khai c2cccccccvverrrrrrrrrrcree 105 5.3.1 Mô hình cài đặt . -2¿-©22+eee2EEEecEEEkerrrrkkrrrrrkrrrrrrree 105 5.3.2 Mơ hìnHi triển khai hệ thống 2 22 ©2z2+2+ze+czvzee 106 5.4 Thiết kế gïao diện 2 2++222+ESEEEEE 2212.2211211 107 5.4.1: Sơ đồ Tiên kết các màn hình -2 2¿©zz+cv+ze+rzrsee 108 5.4.2 Thiết kế chỉ tiết một số màn hình -2- ¿+ 109

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 121

6.1 Kết luận -22¿-©2+z+2EEEESEE111127111122711127111.22111 211122 6.2 Hướng phát triỂn 2 2+©++£©++++E++etExxttrxeerrxerrrreerrk

TÀI LIỆU THAM KHẢO

3:0009/e227.5 125

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 9

Danh mục hình vẽ: Hình 1-1: Phạm vi hệ thống 2-2¿+2EE++£+EE+EetEEEEEretEkErrrrrrerrrrex 10 5i 062 ncr 00 n1 ẽ 12 Himh BEcicr 00 hố 13 Hình 1-4: Giải pháp 3 14 5i 06c: 00 1n 14 Hình 1-6: Giải pháp 5 -cccc¿++22222222v2crtEEEEEEEEEErrrrrrrrrrrrrrrerree 15 Himh B6sencr 801 T188 16

Hình 1-8: Mô hình truy vấn đữ liệu Ểt- -1Ă%-cc5ccccccccccvecrrres 17 Hình 1-9: Mô hình truy vấn đữ liệu có hỗ trợ KML `› . - 20 Hình 1-10: Mô hình xử lý tìm kiếm `Ề, -22222se+ccvxererrveerrrrrerrrres 21

Hình 1-11: Mô hình mô tả vai trò của XML¡, -2 -522255scccce2 24 Hình 2-1: Mô hình DOM

18580 07.8

Hình 5-2: Mô hình quan hệ cơ sở dữ liệu . 5+ 555 ++s>+£+ez*++> 97

Hình 5-3: Mô hình cài Ga % 0.0.0 ccccccccssssssseesssecsssssssneeesssesesssssseteeseecessssees 105

Hình 5-4: Mô hình triển khai hệ thống . 2- + sz++ze+ee 107 Hình 5-5: Sơ đồ liên kết cáế màn hình -£©sc+e+tcvvvccee 108

Danh mục các bảng:

Bảng 2-1: Danh sách các kiểu dữ liệu của lược đồ XML -.- 33 Bảng 4-1: Danh sách các ALCfOT xxx ngư 65 Bảng 4-2: Danh sách các se-(Cas§e . -¿- + + +5 St #vEsEsEeeeeevrereree 66 Bảng 5-1: Danh sách các đối tượng lưu trữ đữ liệu - + 98

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 10

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

Chương 1: MỞ ĐÀU

1.1 Giới thiệu ứng dụng

Hệ thống quản lý dịch vụ khách hàng được xây dựng với mục tiêu chủ yếu

là hỗ trợ cho khách hàng khi có nhu cầu tìm hiểu thông tin về sản phẩm và dịch vụ của doanh nghiệp Hệ thống hoạt động như sau:

Khi khách hàng có nhu cầu tìm kiếm các thông.fin liên quan đến sản phẩm va dịch vụ của công ty hay doanh nghiệp, khách hằng vào khu vực dịch vụ khách hàng (gọi là helpdesk) để tìm kiếm:thông tin trong các câu hỏi và câu

trả lời có sẵn (còn gọi là hé thong FAQ)

Trường hợp không tìm thấy thông tin cần thiết trong FAQ, khách hàng có thể gửi yêu cầu và yêu cầu(được giải đáp từ phía doanh nghiệp, công ty Khách hàng có thê gửi trực tiếp qua hệ thống website hỗ trợ khách hàng hoặc gửi email trực tiếp về địa chỉ email hỗ trợ của doanh nghiệp, khách hàng sẽ được giải đáp trong thời gïãñ nhanh nhất có thể

Nhân viêú phụ trách giải đáp yêu cầu của khách hàng sẽ xem xét yêu cầu và giải đáp chö khách hàng, nếu yêu cầu gửi không đúng phòng ban sẽ được nhân viên chuyên qua phòng ban phù hợp

Nội dung câu hỏi và trả lời của mỗi yêu cầu được nhân viên tuyên chọn, sang lọc dé cập nhật vào FAQ Như thế khi khách hàng cần thông tin tương tự thì có thể tìm kiếm ngay trong hệ thống FAQ một cách nhanh chóng và tiện lợi

Quản trị hệ thống theo dõi quá trình giải quyết yêu cầu của các nhân viên, đảm bảo cho các yêu cầu của khách hàng được hỗ trợ kịp thời

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 11

1.2 Đối tượng và phạm vi của ứng dụng 1.2.1 Đối tượng

Hệ thống quản lý địch vụ khách hàng (eSupport) được xây đựng hướng đến các đối tượng là các doanh nghiệp, công ty vừa và lớn trong cả nước song song đó là các khách hàng giao dịch với doanh nghiệp Do nhu cầu cạnh tranh các đoanh nghiệp cần phải phục vụ tốt khách hàng về các mặt hỗ trợ thông

tin, giai dap, vi thế các doanh nghiệp này cần có hệ thống hỗ trợ dịch vụ

khách hàng để kịp thời đáp ứng yêu cầu của khách hăng trong quá trình giao dịch với doanh nghiệp 1.2.2 Pham vi Môi trường: khách hàng, doanh nghiệp, 1 1 hoo t ' Roa

Đầu vào: Phân hệ hỗ trợ khách hàng ' Baur yêu

êu cầu, cầu được

tim kiém, t —N| giải quyết,

download, we ' Phân hệ hỗ trợ hệ thống | /| van de tim ' kiêm được,

' i

Hình 1-1: Pham vi hệ thống

Hệ thống được xây dựng để hỗ trợ, phục vụ khách hàng trong phạm vi

giữa doanh nghiệp và khách hàng xoay quanh các vấn đề về thông tin các sản

phẩm và dịch vụ của doanh nghiệp

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 12

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

1.3 Mục tiêu cần đạt được và các cách tiếp cận bài

toán

1.3.1 Mục tiêu cần đạt được 1.3.1.1 Yêu cầu chức năng

"Yêu cầu chức năng nghiệp vụ

Thực hiện đầy đủ các chức năng nghiệp vụ như tìm Kiếm yêu cầu, tạo yêu

cầu, giải quyết yêu cầu, tải tài liệu, tìm kiếm thông tin, v.va

"Yêu cầu chức năng hệ thống:

Thực hiện các chức năng tự động như: gởi câu trả lời cho khách hàng qua email, gởi thông báo qua email, thống kê, nhận yêu cầu của khách hàng qua

email, v.v Việc lưu trữ dữ liệu phải đạtchi phí tối thiểu và có sự ồn định

cao

1.3.1.2 Yêu cầu phi chức năng

Hệ thống hỗ trợ.địch vụ khách hàng làm việc hiệu quả, có thể giúp doanh

nghiệp giảm chỉ phí về thời gian và nhân lực, giúp doanh nghiệp giải đáp nhanh và chính xác khi khách hàng có yêu cầu, có thể hỗ trợ trực tuyến

(online), v.v

4.3.2 Các cách tiếp cận bài toán

Hệ thống hỗ trợ dịch vụ khách hàng không còn xa lạ với các doanh nghiệp trong cả nước vì tầm quan trọng và ích lợi của nó trong vấn dé giao dịch với

khách hàng Vì thế nhu cầu xây dựng một hệ thống phục vụ khách hàng cho

doanh nghiệp là cần thiết và tất yếu Nhưng khi bắt đầu xây dựng hệ thống,

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 13

điều quan tâm đầu tiên của chúng ta là gì? Bất cứ hệ thống nào vấn đề quan

trọng đầu tiên cần được quan tâm là tổ chức tốt việc lưu trữ dữ liệu Nếu dữ liệu được tổ chức tốt thì hệ thống của chúng ta sẽ cải thiện về mọi mặt như tốc độ truy xuất, chỉ phí lưu trữ, thời gian cập nhật, v.v Như vậy, làm cách nào tổ chức tốt việc lưu trữ đữ liệu, nhất là ứng dụng của hệ thống dịch vụ khách

hàng chạy trong môi trường Internet, môi trường đa người dùng Ví dụ như khách hàng cần tìm kiếm những vấn đề về sản phẩm mà doanh nghiệp nào đó cung cấp, chúng ta lưu trữ dữ liệu như thế nào để cho việc tìm kiếm của khách hàng đạt hiệu quả là nhanh nhất Để giải quyết vấn đề này, một số giải pháp

cho vấn đề lưu trữ đữ liệu của hệ thống được đề nghị như sau: 1.3.2.1 Giải pháp 1 Theo giải pháp này, việc lưu trữ dữ liệu được tô chức theo mô hình sau: = CSDL Quan hé

Hinh 1-2: Giai phap 1

Ký hiệu: A_ Table hay A_ Database chỉ một đối tượng trong ngôn ngữ lập trình có thể giao tiếp với CSDL) quan hệ

1 Cơ sở đữ liệu

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 14

Tim hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

Ưu điểm: Đây là mô hình đang được sử đụng rất phổ biến vì tận dụng được

những ưu điểm của hệ quản trị cơ sở dữ liệu

Khuyết điểm: Không linh động trong vấn đề trao đổi đữ liệu giữa các hệ

thống khác nhau đặc biệt là khi ứng dụng chạy trên web 1.3.2.2 Giải pháp 2 Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau: Hình 1-3: Giải pháp 2 Ký hiệu: A XMLĐom chỉ đến một đối tượng XML có thể đọc và ghi trên tap tin XML

Ưu điểm: Không phụ thuộc vào bất cứ hệ quản trị nào, dễ thực hiện

Khuyết điểm: Việc thao tác truy vấn trên tập tin XML? con nhiéu hạn chế và vấn đề bảo mật không bằng hệ quản trị

1.3.2.3 Giải pháp 3

Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:

? Extensible Markup Language

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 15

Hình 1-4: Giải pháp 3

Ưu điểm: Tận dụng được cả hai cách lưu trữ.đó là trên tập tin và trên hệ

quản trị

Khuyết điểm: Không phải tập tin XML nào cũng có thể đọc/ghi bằng đối tượng Datatable vì có nhiều tập tin XML lưư'trữ phức tạp

1.3.2.4 Giải pháp 4

Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:

Hình 1-5: Giải pháp 4

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 16

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

Ưu điểm: Mô hình này nghiên về việc lưu trữ trên tập tin XML Và việc trao đổi giữa một đối tượng XMLDom và cơ sở đữ liệu quan hệ cũng dé dang

vì từ SQL Server 2000 trở lên đã hỗ trợ truy xuất trên tập tin XML

Khuyết điểm: Mặc dù từ SQL 2000 trở lên có hỗ trợ XML nhưng việc tao

ra tập tin XML vẫn còn bị lỗi do không thể tạo ra đúng cấu trúc mà người dùng mong đợi nếu như cấu trúc XML đó phức tạp 1.3.2.5 Giải pháp 5 Theo giải pháp này, việc lưu trữ dữ liệu được tổ chứ€ theo mô hình sau: Đọc Ghi ili Đọc Ghi Đọc Ghi — Hình 1-6: Giai phap 5

Ưu điển: Việc đọc/ghi trên từng đối tượng đã được tách riêng biệt ra dé

mỗi đối tượng chỉ làm đúng nhiệm vụ của đối tượng đó nên thuận tiện trong

vấn đề xử lý

Khuyết điểm: Vẫn đề là làm cách nào đề thực hiện việc chuyên đổi từ đối tượng XMLDom thành đối tượng Datatable và ngược lại

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 17

1.3.2.6 Giải pháp 6 Theo giải pháp này, việc lưu trữ đữ liệu được tổ chức theo mô hình sau: Đọc Hình 1-7: Giải pháp 6

Ưu điển: Việc trao đổi thông tin giữa các đốifượng rất linh động, vì một

đối tượng XMLDom có thể đọc/ghi trực tiếp đến CSDL quan hệ hoặc có thể

thông qua một Datatable

Khuyết điểm: Do có nhiều cách đọc/ghi nên phức tạp, khó quản lý

> Kết luận: Mỗi giải pháp có ưu điểm và khuyết điểm khác nhau Việc chọn lựa mô hình nào sẽ-tùy thứộc vào nhu cầu của ứng đụng của chúng ta Nghĩa là ứng dụng của chúng ta sẽ quan tam van dé nao? Van dé nao là vấn đề được quan tam hang daw thi lúc đó chúng ta sẽ lựa chọn giải pháp lưu trữ dữ liệu cho phù hợp

1.3.3 Vấn đề đặt ra cho hệ thống hỗ trợ dịch vụ khách

hàng

Vấn đề quan tâm hàng đầu của hệ thống là làm sao tăng tốc độ thực hiện

các thao tác truy vấn trên cơ sở dữ liệu quan hệ Ví dụ như khách hàng cần

tìm kiếm thông tin trong hệ thống FAQ, khách hàng sẽ nhập vào câu hỏi cần

tìm kiếm, sau đó chương trình sẽ thực hiện kết nối với SQL đề thực hiện câu

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 18

Tim hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

truy vấn trả về thông tin tìm kiếm được cho khách hàng Mô hình thực hiện

được mô tả như sau: Kết quả trả về cho khách hàng Khách hàng nhập câu hỏi tìm kiếm Kết quả thực hiện truy vấn Câu truy vấn Kết nối với SQL

Hình 1-§: Mơ hình truy vấn đữ liệu

Như vậy, nếu có nhiều Khách hàng có nhu cầu tìm kiếm thì mỗi khách

hàng đều phải kết hối đến SQL Server để lấy dữ liệu Và sẽ có trường hợp nhiều khách hăng đều cùng truy vấn đến cùng một đữ liệu, khi đó thời gian

thực hiện.câu truy vấn đề trả về kết quả sẽ rất chậm do phải thực hiện việc

điều khiển đồng thoi, phan bé tai nguyên để thực hiện câu truy van tai CSDL Một vấn đề khác đặt ra cho hệ thống là không chỉ tìm kiếm được vấn đề dựa trên câu hỏi mà phải tìm kiếm được tất cả những vấn đề có liên quan đến nội dung câu hỏi Nghĩa là nếu khách hàng nhập vào câu hỏi: “các vấn đề liên quan đến mạng và email” thì hệ thống sẽ phải trả về tất cả những vấn đề có liên quan đến từ khóa “mạng” và “email” Như vậy nếu chỉ đơn thuần tổ chức trên CSDL quan hệ thì không thể giải quyết được vấn đề này vì với cách thực

hiện trên CSDL quan hệ, mà cụ thể là SQL Server 2000, nó sẽ tìm đúng cụm

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 19

từ “các vấn đề liên quan đến mạng và email” và nếu trong CSDL không có đúng cụm từ này thì kết quả trả về là không có, trong khi mong đợi của người dùng là trả ra những vấn đề có liên quan đến “mạng” và “email”

Tóm lại: Chúng ta có hai vấn đề cần giải quyết khi lưu trữ đữ liệu trên

SQL Server

— Tốc độ thực hiện câu truy van

—_ Việc tìm kiếm thông tin hiệu quả

Làm sao giải quyết được bài toán đặt ra cho hệ thống khi chỉ lưu trữ trên

CSDL quan hệ

1.4 Hướng giải quyết bài toán

Chúng ta thấy được việc sử dụng giải pháp 1 để lưu trữ dữ liệu sẽ không giải quyết được những vấn đề đặt ra cho bài toán Và như vậy cần thiết phải

sử dụng mô hình khác để hệ thông thực hiện khả thi hơn

Sau đây, chúng ta sẽ xem qua cách hệ thống thực hiện để giải quyết lần lượt các vấn đề trên, và từ đó chọn ra giải pháp lưu trữ thích hợp nhất

1.4.1 Về tốc độ thực hiện câu truy vấn

Nhu cầu khách hàng tìm kiếm các vấn đề cần giải đáp là thường xuyên xảy ra và với tần suất rất cao nên việc lưu trữ trong SQL Server sẽ không khả thi

Nên chúng ta sẽ sử dụng thêm một cách lưu trữ nữa đó là trên tập tin mà cụ

thể là trên tập tin XML Giải pháp thực hiện cụ thể như sau:

Giả sử trong SQL Server ta lưu trữ dữ liệu của bảng Câu hỏi-Trả Lời

(FAQ) như sau:

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 20

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

FAQ ID FAQ QUESTION FAQ ANSWER FAQ TOP ID Cách nhận biết người nhận Ban làm theo các

FAQ00001 ' thư đã đọc thư của mình bước sau su TOP001 hay chưa? FAQ00002 Hoi về phân mêm gõ tiêng Unikey là một phân TOP002 Việt? mém FAQ00003 FAQ00004 FAQ000020

Bằng việc sử dụng các công cụ hỗ trợ trong.môi trường lập trinh Visual

Studio.NET, ta sẽ tạo được tập tin FAQ.xmI từ đữ liệu được lưu trữ trong

bảng FAQ có nội dung và cấu trúc như sau: <? xml version="1.0"?> <Danh_sach_FAQ> <FAQ FAQ_ID= “#AQ00001” <FAOQ Cau4Hol> Cách nhận biết người nhận thư đã đọc thư của mình hay chưa? </FAOÉCau Hoi> <EAO_Cau TFà Loi>

Bạn làm theo các bước sau, để khi gửi thư cho mọi người trên giao điện Outlook Express sẽ có phản hồi lại là họ đã đọc thư

</FAO Cau Tra Loi>

<FAQ_Ngay_Cap_Nhat> 10-7-2005 </FAO Ngay_Cap_Nhat>

<FAO Ma Chu De> TOP001 </FAO Ma Chu De> <FAO So Tan Xem> 10 </FAO So Lan Xem>

<FAO Ma Tai Lieu Tai Ve> DOC001 </EAO Ma Tai Lieu Tai Ve> </FAQ> <FAQ FAQ_ID= “FAQO0002” <FAQ_Cau_Hoi> </FAQ_Cau_Hoi>

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 21

<FAO Cau Tra Loi> </FAO Cau Tra Loi> <FAO Ngay Cap Nhat> </FAO Ngay Cap_Nhat>

</FAQ>

</Danh_sach_FAQ>

Như vậy, mỗi khi khách hàng có nhu cầu tìm kiếm trong hệ thống FAQ,

thì không cần phải thực hiện kết nối đến SQL Server, mà chỉ cần mở tập tin

FAQ.xml và thực hiện việc truy vấn trên tập tin XML,`cuối cùng trả về kết

quả cho khách hàng Như vậy, việc thực hiện trên tập tin sẽ nhanh hơn rat nhiều so với cơ sở đữ liệu (mở kết nối, tìm kiếm dữ liệu và thực hiện truy vấn

trên dữ liệu tìm được để cuối cùng cho ra kết quả như mong muốn =>truy vấn chậm) Mô hình minh họa như sau: Kết quả trả về cho khách hàng Khách hàng nhập ˆ câu hỏi tìm kiếm Câu hỏi Câu truy vấn Kết quả thực hiện truy vấn

Chuyển đổi dữ liệu

Hình 1-9: Mô hình truy vấn đữ liệu có hỗ trợ XML

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 22

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

1.4.2 Vấn đề tìm kiếm thông tin

Muốn kết quả tìm kiếm đúng như mong muốn người dùng thì phải dựa vào ngữ nghĩa của nội dung câu hỏi mà người dùng nhập vào Để làm được điều này thì phải dựa vào từ điển mới biết được chính xác ngữ nghĩa của câu

Theo đó, dựa trên tập tín FAQ.xml ở trên, chương trình sẽ trích từ dựa trên

từ điển bằng phương pháp LRMM (Left Right Maximum Matching)[4] Sau đây là mô hình minh họa cho quá trình xử lý

Yêu cầu tim kiếm loại bỏ từ thừa Tríchtừvà —=— =| XML Ì Bang dữ liệu XML ===>! Taochimuc | ==> XML Trích từ và loại bỏ từ thừa Hình 1-10: Mô hình xử lý tìm kiếm

Theo phương pháp LRMM, để phân đoạn từ tiếng Việt trong một ngữ/câu,

ta đi từ trái sang phải và chọn từ có nhiều âm tiết nhất mà có mặt trong từ

điển, rồi cứ tiếp tục cho từ kế tiếp cho đến hết câu Với cách này, ta đễ đàng tách được chính xác các ngữ câu như: “hợp tác xã | mua bán”; “thành lập | nước | Việt Nam | dân chủ | cộng hòa” Tuy nhiên, phương pháp này sẽ tách từ sai trong các trường hợp như: “học sinh | học sinh | học”; “một | ông | quan tài | giỏi” Mặc đù vậy, phương pháp này cũng tách từ chính xác đến 95%

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 23

(theo giáo trình Xử lý ngôn ngữ tự nhiên) Vì vậy nhóm chúng em quyết định chọn phương pháp này để sử dụng trong việc trích từ này mặc đù nó chưa phải là phương pháp tối ưu nhất

Trở lại vấn đề trích từ cho tập tin FAQ.xml, bằng phương pháp LRMM, chúng ta sẽ trích được các từ trong tập tin FAQ.xml và lưu thành một tập tin FAQ Word.xml véi cấu trúc như sau: <? xml version="1.0"?> <WORDs> <WORD Name="internet"> <FAQ FAQ_ID="FAQ00003" /> <FAQ FAQ_ID="FAQ00005" /> <FAQ FAQ_ID="FAQ00011" /> <FAQ FAQ_ID="FAQ00012" /> <FAQ FAQ_ID="FAQ00013" /> <FAQ FAQ _ID="FAQ00017" /> </WORD> <WORD Name="yêu cầu"> <FAQ FAQ_ID="FAQ00008" /> <FAQ FAQ TB8="RAO00019" /> </WORD> </WORDs>

Chủ thích: Danh sách các thẻ <FAQ> </FAQ> trong mỗi thẻ

<WORD> </WORDS> cho biết ứng với từ này thì có những tài liệu nào liên quan đến nó

Tập tin FAQ_Word.xml này sau đó sẽ qua một khâu nữa đó là loại bỏ những từ thừa gọi là kỹ thuật “stoplist” Chúng ta sẽ duyệt qua các từ trong tập tin FAQ_ Word.xml và so sánh với tập tin Stoplist.xml (đây là tập tin lưu

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 24

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

những từ thừa), sau đó tiến hành loại bỏ những từ không có nghĩa để cuối cùng được một tập tin FaqDaLoaiStopList.xml với kích thước tập tin giảm đáng kể so với tập tin FAQ_ Word.xml do đã bỏ đi những từ không có nghĩa

Đây sẽ là tập tin chúng ta mong muốn để thực hiện việc so khớp khi khách hàng nhập vào một câu truy vấn

Như vậy, mỗi khi khách hàng nhập vào nội dung câu hỏi cần tìm kiếm, nội dung câu hỏi này sẽ được phân đoạn thành những cụm từ và sẽ loại bỏ những từ thừa, chỉ giữ lại những từ có nghĩa Và những cụm từ này sẽ được so khớp với tập tin FaqDaLoaiStopList.xml dé tra về kết quả tếuy vẫn cho người dùng (xem hình 1.10) Với cách thực hiện này, tất cả những vấn đề có liên quan đến nội đung câu hỏi sẽ được trả về cho người dùñg và tất:cả những điều này đều

thực hiện trên tập tin XML nên sẽ truy vấn rất nhanh Như vậy vấn đề đặt ra

đã được giải quyết

Và bây giờ thì chúng ta đã biết được hệ thống quản lý dịch vụ khách hàng sẽ chọn giải pháp nào để lưu trữ đữ-liệu Đó là giải pháp 5 vì theo như giải pháp này, việc lưu trữ đữ liệu sẽ sử dụng cả trên tập tin XML và trên cơ sở dữ liệu quan hệ

Mặt khác; việc chọn giải pháp 5 này là do nhu cầu cần thiết phải sử dụng thêm XML để hỗ trợ trong vấn đề lưu trữ và truy xuất trên hệ thống Đó là khi dữ liệu được lưu thông trên môi trường web thì vấn đề trao đổi thông tin giữa

các hệ thống khác nhau là yếu tố cần được xem xét Do XML giải quyết rất

tốt trong van dé này nên cần thiết sử dụng thêm XML Sau đây là mô hình để thấy được vai trò của XML:

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 25

Hình 1-11: Mô hình mô tả vaitrò của XML

22 Két luận: Trên đây-là mộf cách nhìn tổng quan về cách thực hiện cũng

như là vấn đề lưu trữ của hệ thống hỗ trợ dịch vụ khách hàng Như vậy, chúng ta muốn tạo lập được những tài liệu XML như mong muốn và thực hiện truy

vấn trên tập tin này thì điều tối thiểu là phải biết được XML là gì cũng như

các thao tác thực hiện truy vấn trên tập tin XML như thế nào? Vấn đề như thế

nao, chúng ta sẽ xem tiếp qua chương sau

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 26

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

Chương 2: NGHIÊN CỨU CÔNG NGHỆ XML

2.1 Tổng quan về XML

2.1.1 Giới thiệu

XML (Extensible Markup Language) ra đời vào tháng 2/1998, là ngôn ngữ có kiến trúc gần giống với HTML nhưng XML nhanh chóng trở thành một

chuẩn phổ biến trong việc chuyên đổi thông tín qua các trang web sử dụng

giao thức HTTP Trong khi HTML là ngôn ngữ chủ yếu về hiên thị dữ liệu thì

XML lai dang phat triển mạnh về việc“€luyễn tải, trao đổi và thao tác đữ liệu

bằng XML XML đưa ra một định dạng chuẩn cho cấu trúc của dữ liệu hoặc

thông tin bằng việc tự định nghĩa định dạng của tài liệu Bằng cách này, dữ liệu được lưu trữ bằng XML sẽ độc lập với việc xử lý Vì vậy XML ra đời sẽ đáp ứng được yêu cầu ngày càng cao của các nhà lập trình trong vấn đề trao đổi và xử lý thông tin:

2.1.2 Mục tiêu.ra đời và loi ich khi sw dung XML 2.1.2.1 Mục tiêu ra đời của XML

Ngày nay, XML đang trở thành một chuẩn chung cho việc trao đổi dữ liệu cho những ứng dụng chạy trên môi trường Internet Vì XML cho phép người dùng có thể tự định nghĩa các thẻ (tag) - những thẻ này làm cho tài liệu XML

đa dạng hơn những ngôn ngữ thông thường như HTML Như vậy mục tiêu dat ra cho su ra doi XML 1a gi? Do 1a, đầu tiên nó sẽ tương thích với SGML,

và dễ dàng viết những chương trình để xử lý cho những tài liệu XML Kế

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 27

tiếp, những tài liệu XML rõ ràng, đễ đọc, dé dang tạo lập Và điều quan trọng là nó được hỗ trợ trong nhiều ứng đụng Nói tóm lại, XML đễ đàng chia sẻ thông tin qua những định dạng khác nhau thông qua môi trường web XML

được thiết kế dành cho mọi người, được mọi người sử dụng

2.1.2.2 Lợi ích khi sử dụng XML

Trong quá trình trưởng thành và phát triển, XML đã đối mặt và đương đầu với nhiều thử thách trong việc thuyết phục các nhà lập trình rằng XML là sự lựa chọn hàng đầu vì nó dễ đàng để hiểu, đễ dàng để đọc, và dễ đàng thực

hiện Sau đây là một số lợi ích khi sử dụng XML

= XML cé thé tách rời đữ liệu Sử dụng XML, đữ liệu được chứa trong

các tập tin XML riêng biệt

= XML cé thể mô tả thông tin của những đối tượng phức tạp mà cơ sở đữ liệu quan hệ không thé giải quyết được

= XML cé thé ding dé chuyén đổi dữ liệu giữa các hệ thống không tương thích “ XML dùng để chỉiãsế dữ liệu với những tập tin văn bản đơn giản dễ hiểu " XML cũng được dùng để lưu trữ dữ liệu, có thể làm cho dữ liệu của chúng ta hữu ích hơn

Như vậy, chúng ta đã biết được lợi ích và vai trò của XML trong vấn đề

lưu trữ và trao đôi thông tin Vấn đề bây giờ là nếu chúng ta muốn có một tài liệu XML thì phải làm như thế nào?

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 28

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

2.1.3 Một tài liệu XML trông như thế nào?

Mục đích của việc tổ chức thông tin là để con người có thể đọc và hiểu được những gì mà nó muốn truyền tải Chúng ta xem một tap tin văn bản sau đây:

F10 Shimano Calcutta 47.76 F20 Bantam Lexica 49.99

Theo cách tô chức thông tin cua tập tin trên, chúng ta thật khó để hiểu tập

tin này muốn nói lên điều gì Bây giờ, chúng ta tổ chức fập tin trên theo định

dạng một tài liệu XML một cách đơn giản nhất <?xml version="1.0"?> <Catalog> <Product> <ProductID>F10</ProductID> <ProductName>Shimano Calcutta </ProductName> <ListPrice>47.76</ListPrice> </Product> <Product> <ProductID>F20</ProductID> <ProductName>Bantam Lexica</ProductName> <ListPrice>49.99</ListPrice> </Product> </Catalog>

Nhu vay, bang cách sử dụng định dạng XML, người dùng có thể hiểu và

biết được tập tin trên đang muốn truyền tải nội đung gì

2.1.4 Tạo lập một tài liệu XML

Chúng ta có thể sử đụng trình soạn thảo đơn giản nhất là Notepad dé soạn thảo tài liệu XML, nhưng phải tuân thủ theo qui tắc sau:

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 29

<root> <child> <subchild> .</subchild> </child> </root>

Theo định dạng trên, chúng ta thấy tuy tài liệu XML rất đơn giản nhưng qui định cũng rất nghiêm ngặt, có nghĩa là các tài liệu XML đều xuất phát từ nút gốc (root), và mỗi phần tử phải có thẻ đóng và thẻ mổ “< ./>”

2.1.5 Những thành phần của một tài liệu XML

"_ Khai báo: Mỗi một tài liệu XML có một chỉ thị khai báo <? xml version="1.0"2> Định nghĩa tài liệu XML tuân theo chuẩn của W3C và đây là phiên bản “1.0” "Chú thích: được khai báo như sau: <! chú thích >

"_ Phần tử (Elemenfs): Một tài liệu XML được cấu thành từ những phần tử Một phần tử có thẻ mở và thẻ đóng Giữa thẻ mở và thẻ đóng là nội dung

của phần tử đó Phần tử có thể chứa dữ liệu hoặc có thể lồng vào một phần

tử khác

“_ Phần tử gốc (root): Trong tài liệu XML, chỉ có một phần tử gốc, và phan tử này sẽ chứa tất cả những phần tử của tài liệu XML do chúng ta tạo ra Theo ví dụ trên, ta thấy chỉ có một phần tử “Catalog”

“_ Thuộc tinh (Attributes): Như đã trình bày ở trên, một phần tử có thể chứa

dữ liệu hoặc chứa phần tử khác hoặc cả hai Bên cạnh đó, phần tử có thể

rỗng, khi đó nó có thể chứa thuộc tính Một thuộc tính chỉ là một sự lựa

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 30

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

chọn đề gắn dữ liệu đến phần tử Một thuộc tính đặt trong thẻ mở của phần tử và chỉ ra giá trị của nó bằng cách sử dụng cặp “name=value” <?xml version="1.0"?> <Catalog> <Product Type="Spinning Reel" SupplierId="5"> <ProductID>F10</ProductID> <ProductName>Shimano Calcutta </ProductName> <ListPrice>47.76</ListPrice> </Product> <Product Type ="Baitcasting Reel" SupplierId="3"> <ProductID>F20</ProductID> <ProductName>Bantam Lexica</ProductName> <ListPrice>49.99</ListPrice> </Product> </Catalog> 2.1.6 Một tài liệu XML-hợp lệ

Như chúng ta đã đề €ập ở trên, một tài liệu XML hợp khuôn dạng là yếu tố

đầu tiên khi tạo lập tài liệu Hợp khuôn dạng có nghĩa là mỗi tài liệu chỉ có

một nút gốc, mỗi phần tử phải có thẻ mở và thẻ đóng, và phải lồng nhau chính xác, và cuối cùng là tên thuộc tính chỉ xuất hiện một lần trong thẻ mở Nhưng một tài liệu XML hợp khuôn dạng không có nghĩa là nó hợp lệ Muốn kiếm

tra sự hợp lệ của một tài liệu XML ta phải dựa vào DTD (Document Type

Definition) hoac Schema XML

2.1.6.1 DTD (Document Type Definition)

DTD va Schema là hai cách khác nhau để qui định những luật về nội dung

của một tài liệu XML Tuy nhiên DTD có một vài hạn chế Đầu tiên, tài liệu DTD không sử dụng định dạng XML, nghĩa là bản thân DTD không phải là

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 31

một tài liệu XML Điều thứ hai là kiểu dữ liệu có sẵn dùng để định nghĩa nội

dung của một thuộc tính hoặc một phần tử thì rất giới hạn trong DTD Điều

thứ ba là DTD không có khả năng mở rộng và không hỗ trợ namespace Cuối cùng là do không viết theo định đạng XML nên DTD khó viết và khó hiểu Vì

vậy, việc sử dụng DTD để kiểm tra sự hợp lệ của một tài liệu XML là không

khả thi Chúng ta cần có một sự lựa chọn khác khả thi hơn để kiếm tra sự hợp lệ của tài liệu XML Đó là chúng ta sử dụng lược đồ XML - Schema XML

Definition (XSD)

2.1.6.2 Luge dé XML (Schema XML) 2.1.6.2.1 Định nghĩa lược đồ XML

Một lược đồ đơn giản chỉ là một tập những luật được định nghĩa lại dé mô tả nội dung dữ liệu của một tài liệu XML Nó tương tự như một định nghĩa cấu trúc bảng trong cơ sở dữ liệu quan hệ: Trong lược đồ XML, chúng ta định

nghĩa một tài liệu XML, những phần.tử của nó, những kiểu dữ liệu của phần tử và những thuộc tính liên quan, và điều quan trọng nhất là mối quan hệ “cha-con” giữa những phần tử Chúng ta có thể tạo lược đồ trong nhiều cách khác nhau Cách đơn giản nhất là sử dụng Notepad Sau đây là một ví đụ một lược đồ XML <xsd:schema id="Catalog" targetNamespace="http://tempuri.org/Catalogl.xsd" xmlns="http://tempuri.org/Catalogl.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn: schemas-microsoft-com: xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> <xsd:element name="Catalog" msdata:IsDataSet="true"

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 32

Tim hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng msdata:EnforceConstraints="False"> <xsd: complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="Product"> <xsd:complexType> <xsd: sequence> <xsd:element name="ProductID" type="xsd: string" minOccurs="0" /> <xsd:element name="ProductName" type="xsd: string" minOccurs="0" /> <xsd:element name="ListPrice" type="xsd: string" minOccurs="0" /> </xsd:sequence> </xsd: complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> </xsd: schema>

2.1.6.2.2 Các kiểu dữ liệu trong lược đồ XML

Khi tập tin XML hoạt động như một cơ sở dữ liệu, và XSL, XPath được sử

dụng để truy vấn trên tập tin XML giống như một số ngôn ngữ truy vấn trong SQL, thì lúc này chúng ta cần biết được vị trí của từng phần tử trong tập tin XML được khai báo ở đâu và với kiểu đữ liệu như thé nao Vì trong bat kỳ cơ

sở dữ liệu quan hệ nào, vi dụ như SQL Server hoặc Oracle, tất cả những cột

đều được định nghĩa kiểu dữ liệu, và vì vậy thật sự cần thiết phải có kiểu dit liệu trong lược đồ XML

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 33

Có hai loại kiểu dữ liệu trong lược đồ XML đó là kiểu dữ liệu cơ bản và kiểu dữ liệu mở rộng Kiểu dữ liệu cơ bản là kiểu dữ liệu không bắt nguồn từ

kiểu đữ liệu nào ví dụ như kiểu dữ liệu float Kiểu đữ liệu mở rộng dựa trên những kiểu đữ liệu khác ví dụ như kiểu infeger dựa trên kiểu đecimal

Kiểu đữ liệu cơ bản được định nghĩa cho mục đích của lược đồ XML thì

không nhất thiết phải giống với một số cơ sở dữ liệu khác Sau đây là danh

sách các kiểu đữ liệu của lược đồ XML

Kiểu dữ liệu cơ bản Kiểu dữ liệu mở rộng Kiểu ràng buộc

String normalizedString length Boolean Token minLength Decimal Language maxLength Float NMTOKEN pattern Double NMTOKENS enumeration dateTime NCName maxinclusive Time ID maxExclusive Date IDREF minExclusive base64Binary negativelnteger

gYearMonth IDREFS minlnclusive

gMonthDay ENTITY totalDigits GMonth Integer GDay ENTITIES fractionDigits long int short byte

SVTH: Nguyễn Thi Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 34

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng nonNegativelnteger unsignedLong unsignedint unsignedShort unsignedByte positivelnteger Bảng 2-1: Danh sách các kiểu đữ liệu của lược đồ XML 2.1.7 XPath

Qua phần trình bày trên, chúng ta biết được.cấu trúc và cú pháp của XML tương đối đơn giản Bước tiếp theo là tìm hiểu cách nào để xử lý một tài liệu

XML

Nhu vay để xử lý một tài liệu XML, chương trình ứng dụng phải có cách

di chuyên bên trong tài liệu để lẫy ra giá trị của các phần tử (Elements) hay thuộc tính (Attributes) Do đó ngôn ngữ XML Path được ra đời, mà chúng ta gọi tat la XPath XPath déng mét vai trò quan trọng trong việc truy vấn đữ liệu cho các chương trình ứng dụng vì nó cho phép ta lựa chọn hay sàng lọc ra những phần tử nào mình muốn để trao đổi hay hiền thị

Nếu khi làm việc với cơ sở đữ liệu ta đùng các phát biểu SQL như SELECT FROM table_name WHERE dé trich ra mé6t số mẫu tin từ một

bảng, thì khi làm việc với tập tin XML, XPath cho ta những biểu thức

(expressions) về điều kién (criteria) giống như mệnh đề WHERE trong SQL

XPath là một ngôn ngữ dùng để xử lý truy vấn trên tài liệu XML, cũng giống như SQL là một chuẩn để làm việc với cơ sở đữ liệu Một biểu thức

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 35

XPath có thể chỉ ra vị trí và mẫu nào đề kết hợp Chúng ta có thể áp dụng toán ttr boolean, ham string, va toan tit sé học trong biếu thức XPath để xây dựng câu truy vấn phức tạp trên tài liệu XML XPath cũng cung cấp một số hàm về số như tính tổng, hàm làm tròn (round), v.v

2.1.8 Nhận xét về XML

XML được xây dựng như là một chuẩn cho việc trình bày và trao đổi dữ liệu trên web Tập đoàn W3C” đã xây dựng chuẩn XML và những công nghệ liên quan bao gồm XML DOM, XPath, XSL, và XML Schema Trong đó

XML DOM được sử dụng để tạo, thay đổi, và duyệt qua tài liệu XML XPath là ngôn ngữ dùng dé truy vấn trên tài liệu XML XSE dùng để chuyên đổi tài liệu XML từ dạng này sang dạng khác XML.Schema định nghĩa cấu trúc và kiểu di liệu cho những nút trong mộtfài liệu XML Tắt cả những công nghệ này đã tạo nên sức mạnh cho XML Vì thế, XML ngày nay đang được sử dụng rất phổ biến và tương lai sẽ là một chuẩn duy nhất được dùng trên web

2.2 Cách sử dụng một tài liệu XML

Khi chúng ta đã:có một tài liệu XML, chúng ta sẽ tự hỏi: sử dụng nó như

thé nào và làm thế nào đề truy cập đến một tập tin XML Sau đây, là một số kỹ thuật được sử dụng trong mội trường Visual Studio.NET để làm việc với tap tin XML

3 World Wide Web Consortium

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 36

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

2.2.1 Đọc và phân tích tài liệu XML

2.2.1.1 Sử dụng lớp XMLTextReader

Lớp XMLTextReader cung cấp một cursor được sử dụng để lấy đữ liệu từ

một tài liệu XML Chúng ta khai báo như sau:

XmlTextReader myRdr =

new Xm1TextReader (Server.MapPath ("catalog2 xm1") ) ;

Khi một thể hiện được tạo ra, con trỏ cursor sẽ được đặt ở đầu tài liệu

Chúng ta có thể sử dụng phương thức #ead() đề lấy.‹ñhững phần dữ liệu một cách tuần tự Mỗi phần đữ liệu tương tự nhu méf nut trong cay XML Thuộc tinh NodeType sẽ lay kiểu của phần dữ liệu, thuộc tính /zme sẽ lẫy tên của

nut, va Value sẽ lay gia tri cua nut Vi thế, khi một phần đữ liệu được đọc, chúng ta có thé sử dụng câu lệnh sau đề hiện:thị tên, giá trị và kiểu của nút

Response.Write (myRdr NodeType.ToString ()

+" " + myRdr.Name + ":" + myRdr.Value);

Nếu muốn kiểm trá nút đó có thuộc tính hay không, chúng ta có thể sử dụng phương thức`H2s4#ibures Nếu giá trị trả về của phương thức HasAfribufes làrue, chúng ta áp dụng phương thức MoveToAfribufe(i) dé lặp qua các thuộc tính của nút if (myRdr.HasAttributes) { for( int i = 0; i< myRdr.AttributeCount-1;i++) { myRdr.MoveToAttribute (1); Response.Write (myRdr.NodeType.ToString()+":"+

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 37

myRdr.Name + ": " + myRdr.Value + "</br>");

}

myRdr MoveToElement () ;

2.2.1.2 Sử dụng mô hình DOM

Bên cạnh XMLTextReader thì mô trường Visual Studio.NET cũng hỗ trợ mô hình DOM (Document Object Module) để đọc và trình bày nội dung của một tập tin XML Việc sử dụng mô hình DOM sẽ thônế qua một số đối tượng

như XMLDocwment, XMLDatftaDocument Khi một XMLDocument được tạo ra, nó tô chức nội dung của một tập tin XML thành một cây Trong khi đối tượng XMLTextReader cung cấp một cúrsor:định vị theo một hướng, thì

XMLDocumenf cung cấp việc truy xúất nhanh và trực tiếp đến một nút Tuy nhiên, việc sử đụng mô hình DOM rấttốn bộ nhớ đề lưu trữ thành một cây, và

thật sự sẽ khó khăn khi tài liệu XML có kích thước lớn

Có nhiều cách khác nhau để tạo một đối tuong XMLDocument Sau day

chúng ta sử dụng d6i tuong XML TextReader dé tạo một XMLDocument

private void Page Load(object sender, System.EventArgs e)

{

if (!Page.IsPostBack)

{

XmlDocument myDoc = new XmlDocument () ; XmlTextReader myRdr = new

XmlTextReader (Server.MapPath ("Catalog2.xml1")); myDoc Load (myRdr) ;

Session("sessionDoc") = myDoc;

//khi cây được tạo ra, chúng ta có thể hiển thị lênlistbox

//với thuộc tính InnerText của những node ProductName int i=0;

for (i=0; i<myDoc.DocumentElement.ChildNodes.Count-1; i++)

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 38

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng { istProducts.Items.Add (myDoc.DocumentElement ChildNodes [i] ChildNodes[i].InnerText) ; } myRdr.Close(); 2.2.2 Định hướng qua tài liệu XML để rút trích dữ liệu:

2.2.2.1 Sir dung lop XMLTextReader

Trong phan trên, chúng ta đã biết cách để đọc vào một tài liệu XML, phần này chúng ta sẽ định hướng qua tài liệu XML và chỉ lấy những đữ liệu nào cần thiết cho ứng dụng của mình Ví dụ như nếu nút đó là ProdwctName

chúng ta sẽ đọc và hiển thị thông tin trên một listbox, cụ thể như sau: while (myRdr.Read()) { if (Xm1NoteType.Element) { if (myRdr.Name="ProductName") { myRdr Read () ; 1stProducts Ttems Add (myRdr ReadString) ; } myRdr.Close();

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 39

2.2.2.2 Sử dụng mô hình DOM

Một cây được tạo thành từ nhiều nút Và một nút cũng là một cây chứa

những nút khác Nút lá thì không có nút con, vì thế nut nay ding dé hiển thị

đữ liệu văn bản

Lớp XmlDataDocument ké thiva từ lớp XmlDocumemt, vì thế nó cũng có một số phương thức nhu l6p XmlDocument Điều thú vị nhất của XmIDafaDocumenf là nó cung cấp hai cách nhìn trên cùng một đữ liệu đó là

XML view và relational view

XmlDataDocument cé mét thudc tinh tén 1a DataSet, thong qua DataSet, XmlIDafaDocumenf trình bày dữ liệu như một hoặc nhiều bảng (DataTable)

có quan hệ hoặc không có quan hệ Khi chúng ta sử dụng phương thức Loađ()

để tải một đối tuong XmlDataDocument, ching ta cd thể xem nó như một

cây hoặc như một bảng (hoặc nhiều bảng) Sau đây là hình minh hoạ cho hai

cách nhìn về một tài liệu XME khi sử dụng XmIDafaDocument mm trong CSDL 5 Hình 2-1: Mô hình DOM

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Trang 40

Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng

2.2.3 Truy vấn dữ liệu XML sử dụng XPathDocument và XPathNavigator

Việc sử dụng lớp XimlDocument và XmlDafaDocument đễ xử lý tài liệu

XML cũng có một vài hạn chế Đầu tiên, toàn bộ tài liệu phải được lưu trong cache Thêm vào đó, việc định hướng thông qua một cây sẽ gặp nhiều khó

khăn, và định hướng thông qua những view quan hệ cũng không thuận tiện Để khắc phục vấn đề này, VS.NET cung cấp lép XPathDocument va

XPathNavigator

Lớp XPathDocumenf cho phép chúng ta xử lý dữ liệu XML mà không phải tải lên toàn bộ cây Và XPafh/Navigaror sử dụng đề thao tác trên dữ liệu của XPathDocumeni Nó cũng được sử đụng để thao tac trén XmlDocument,

và XmlDataDocument N6 hé tro kỹ thuật định hướng cho việc chọn nút, lặp qua các nút đã chọn, và làm việc trên những nút đã chọn này Để thực hiện được việc này, nó sử dụng biểu thức XParh

XPath chỉ ra cú pháp "truy vấn cho việc rút trích đữ liệu từ một tài liệu XML Ý tưởng sử dụng tương tự như trong SQL, tuy nhiên cú pháp của nó thì khác biệt Nói chung, cú pháp truy vấn XPøh có vẻ phức tạp Tuy nhiên qua

các ví dụ sau, Chúng ta có thể thấy được sự ngắn gọn và hiệu quả trong việc

rút trích dữ liệu XML Chỉ tiết về cú pháp của XPath sẽ không đi sâu trong bài viết này vì nó nghiên về lĩnh vực khác Tuy nhiên, chúng ta cũng minh hoa vài cách sử dụng biểu thức XPzrh Sau đây chúng ta xem qua ví dụ một

tài liệu XML mà sẽ được sử dụng để thực hiện truy vấn trên đó Tài liệu này dat tén la bank1.xml <?xml version="1.0" encoding="utf£-8" ?> <Bank> <Account>

SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư

Ngày đăng: 18/06/2014, 13:18

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w