Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web), Phần 2 pot
Nội dung xem thử
Mô tả chi tiết
Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web),
Phần 2: Quản lý bộ đệm dữ liệu mashup
Tóm tắt: Rất nhiều ứng dụng lớn mà bạn sử dụng hàng ngày để tìm kiếm, mua
sắm trực tuyến hoặc để tìm đường đi trong thị trấn cung cấp dữ liệu cho bạn sử
dụng theo một cách hoàn toàn mới. Những người phát triển ứng dụng tạo ra nhiều
ứng dụng mashup để đạt được mục đích cụ thể từ việc kết hợp các tập dữ liệu của
một vài ứng dụng. Phần 1 của loạt bài này đã đề cập một ứng dụng, đó là bắt đầu
rút dữ liệu từ một số dịch vụ và tổ hợp nó lại. Bây giờ chúng ta sẽ xem xét làm thế
nào để lưu các kết quả yêu cầu vào một cơ sở dữ liệu DB2 9, cộng với làm giảm
tải các dịch vụ mở rộng đó và cải tiến hiệu suất một cách đáng kể.
Trước khi bạn bắt đầu
Hướng dẫn này dành cho những người phát triển web muốn học cách sử dụng và
kết hợp các dịch vụ web từ quan điểm của XML và xuất dữ liệu XML tới web.
Điều đó có nghĩa là bạn đã biết về Java™, XML, SQL, việc phát triển web và các
khái niệm cơ bản của các dịch vụ web. Sự hiểu biết về JDBC sẽ rất có ích. Nếu
bạn cần nhớ lại các chủ đề đó thì hãy xem lại phần Các tài nguyên để có thêm
thông tin.
Giới thiệu về loạt bài này
Bạn không thể thay đổi hoàn toàn trang web mà không nhảy vào một trang web
mà ở đó cho phép bạn truy cập đến các dữ liệu của nó thông qua một API dựa trên
các dịch vụ Web, hoặc sử dụng dữ liệu từ một trang khác thu được thông qua API
dựa trên các dịch vụ web. Khi bạn xem xét ưu điểm của thông tin hiện có trong
các ứng dụng của riêng bạn, điều đó không chắc là có sự ngạc nhiên lớn nào. Điều
đó không chỉ là vấn đề thời gian trước khi ai đó bắt đầu kết hợp dữ liệu từ các hệ
thống khác nhau để tạo ra vài thông tin trọn vẹn. Các ứng dụng này được gọi là
các mashup. Các mashup là ứng dụng gần đây nhất trên web, từ các trang dựa trên
cộng đồng tới các trang tìm kiếm chuyên biệt.
Hầu hết các Mashup đều rất hữu ích, chúng có điểm chung là được phát triển với
tập các dịch vụ riêng biệt. Nếu một trong các dịch vụ thay đổi hoặc nếu sở thích
của bạn với các loại dịch vụ thay đổi thì bạn sẽ có nhiều việc phải làm.
Mục đích của các bước hướng dẫn này là tạo nhanh một ứng dụng mashup để
người dùng có thể thêm hoặc hủy các dịch vụ một cách tùy ý và hệ thống sẽ không
biết được người dùng đã làm gì với chúng. Loạt bài tiến hành như sau:
Trong phần 1, Nicholas Chase đã giới thiệu các khái niệm của mashup, đã chỉ ra
các mashup làm việc như thế nào và chỉ dẫn bạn quá trình xây dựng một phiên bản
đơn giản như thế nào (xem Các tài nguyên). Bạn cũng đã nhận thấy các vấn đề về
hiệu suất quan trọng khi thực hiện gọi hàng tá các trang web tiềm ẩn.
Trong phần 2, bạn giải quyết vài vấn đề đó bằng cách sử dụng khả năng
pureXML™ mới của IBM® DB2® để xây dựng một nơi lưu trữ XML, nơi này
lưu trữ các kết quả của các yêu cầu trước đó và cũng cho phép bạn lấy thông tin
đặc trưng.
Cuối cùng, bạn sẽ cần sử dụng các bản thể luận (ontology) hoặc các từ vựng mà
các khái niệm và mối quan hệ giữa chúng là xác định, do đó trong phần 3 bạn bắt
đầu quá trình đó bằng việc tìm hiểu về RDF và RDFS, hai thành phần khóa của
Web Ontology Language (OWL). Các vấn đề này ta sẽ thảo luận trong phần 4. Ở
phần 5, chúng tôi đưa ra các bản thể luận mà bạn đã tạo ra ở phần 4 và sử dụng
chúng để cho phép người dùng thay đổi các nguồn thông tin.
Trong phần 6, những điều thú vị sẽ tăng lên. Tại đó, bạn có một ứng dụng đang
thực thi và khung làm việc (framework) trong đó, do vậy hệ thống có thể sử dụng
tùy ý suy dẫn ngữ nghĩa để hiểu các dịch vụ. Trong phần này, bạn đưa ra kiểm
soát người dùng, cho phép họ ánh xạ các dịch vụ mới vào bản thể luận và nhấc
hoặc chọn dữ liệu được dùng với một mashup tùy ý.
Giới thiệu về bài viết này
Bài viết này là phần 2 trong một loạt bài gồm 6 bài viết về sử dụng và kết hợp các
dịch vụ web như thế nào từ quan điểm của XML và xuất dữ liệu lên web. Trong
phần 1, bạn đã học về việc lựa chọn XML từ các dịch vụ sử dụng REST, nhưng
các khái niệm về các dịch vụ SOAP là tương tự (xem Các tài nguyên). Bạn sẽ tiếp
tục loạt bài này với việc lưu trữ các dữ liệu XML đó vào một cơ sở dữ liệu, tạo ra
một bộ đệm lưu trữ các kết quả truy vấn. Hơn nữa bạn sẽ lấy được các dữ liệu đã
lưu trữ để sử dụng trong các ứng dụng Java của bạn.
Sau bài viết này, bạn sẽ học cách cài đặt một máy chủ cơ sở dữ liệu (database
server) như thế nào và sửa đổi nó để nhận dữ liệu cũng như là viết các câu truy
vấn như thế nào để gắn một dữ liệu XML vào một cột XML một cách rõ ràng.
Bạn sẽ học về:
Cài đặt DB2 Enterprise Edition
Tạo một cơ sở dữ liệu DB2 9 mới, cấu hình nó để gắn với XML
Tạo một bảng cơ sở dữ liệu sử dụng kiểu cột XML
Chọn thông tin đã lưu dưới dạng XML trong cơ sở dữ liệu quan hệ sử dụng
XPath
Viết các câu truy vấn XML XQuery
Viết các câu truy vấn SQL và XQuery lai ghép
Hướng dẫn này sử dụng Java, nhưng các khái niệm là giống nhau với bất kì ngôn
ngữ lập trình hoặc hệ điều hành nào.
Các điều kiện tiên quyết
Theo đoạn mã trong hướng dẫn này, bạn cần phải cài đặt và kiểm tra các phần
mềm sau đây:
IBM® DB2® 9 (thường được gọi là "Viper"): Cơ sở dữ liệu quan hệ này
cũng chứa đựng những khả năng XML quan trọng, bạn sẽ cần chúng. Bạn
có thể tải về một phiên bản dùng thử của DB2 9 hoặc DB2 Enterprise 9
hoặc DB2 Express-C 9 một phiên bản miễn phí của máy chủ dữ liệu DB2
Express 9.
Apache Tomcat hoặc một máy servlet khác: Bạn sẽ xây dựng các ứng dụng
web sử dụng các servlet, vì vậy bạn cần có một máy servlet chẳng hạn như
Apache Tomcat. Nếu bạn chọn xây dựng ứng dụng trên một môi trường
khác, hãy chắc chắn rằng bạn đã có nó trong tay. Tải về apache-tomcat5.5.17.zip và cài đặt vào một thư mục với tên thư mục không chứa dấu
cách.
Java: Apache Tomcat 5.5 yêu cầu Java 1.5 hoặc cao hơn. Hãy tải về J2SE
SDK.
Hãy làm cho mọi việc dễ dàng hơn, bạn có thể sử dụng một IDE chẳng hạn
như Eclipse hoặc IBM Rational Web Developer™. Bạn có thể tải về
Eclipse ở địa chỉ Eclipse.org, tải về một bản dùng thử Rational Web
Developer ở địa chỉ Rational Web Developer, hoặc bạn sử dụng một môi
trường phát triển mà bạn thích. Tuy nhiên bạn sẽ không làm những gì quá
sức với trình biên dịch và việc thực thi.
Đi một ngày đàng học một sàng khôn
Trước khi chúng ta bắt đầu việc tạo các nơi lưu trữ, hãy kiểm tra dữ liệu hiện có.
Bạn nên hiểu về bối cảnh của XML và các cơ sở dữ liệu.
Truyền DB2 9 vào ứng dụng
Các dịch vụ web là tiện ích cho việc xem thông tin một cách nhanh chóng. Ngày
nay, nhiều trang web cho người dùng truy cập trên giao diện hạn chế, đó là trình
duyệt. Bây giờ họ có thể truy cập chúng thông qua các dịch vụ web. Các dịch vụ
web được phổ biến và được sử dụng trong hầu hết các ứng dụng thứ cấp. Các ứng
dụng này gọi là mashup. Và các ứng dụng này nổi lên ở bất cứ đâu thông tin có thể
giúp giải quyết một vấn đề thích hợp.
Trong phần 1, bạn đã gặp mashup và đã bắt đầu lấy thông tin từ nhiều hơn một vị
trí nào đó, sửa đổi tập các dữ liệu vào các ứng dụng tùy ý của bạn (xem Các tài
nguyên). Bây giờ chúng ta muốn lưu tạm thời vào bộ đệm các tập dữ liệu để sử
dụng chúng một cách hợp lý. Tại sao phải lưu dữ liệu vào bộ đệm? Một lí do quan
trọng đó là các dịch vụ mà bạn kết nối có một lượng lớn các yêu cầu ở mọi thời
điểm. Bạn lấy các dữ liệu này miễn phí nên để lịch sự thì bạn giảm số lượng yêu
cầu mà bạn gửi đi trong suốt phiên làm việc của người dùng trên ứng dụng của
bạn. Bởi vì các ứng dụng không yêu cầu dữ liệu thời gian thực, bạn có thể làm
giảm tải băng thông một cách rõ ràng. Bạn cũng có thể lợi dụng kho dữ liệu cục
bộ, làm giảm thời gian cho truy vấn thực hiện (và trong hầu hết trường hợp là
nhiều truy vấn).
Để đạt được các mục tiêu đó, bạn sẽ tận dụng máy chủ DB2 và các đặc tính mới
của XML mà IBM đã giới thiệu trong phiên bản 9 cũng như vài mẹo Java để quản
lý việc lưu trữ tạm thời của bạn.
Dữ liệu quan hệ với dữ liệu XML
Một trong những lợi ích lớn nhất của việc sử dụng cơ sở dữ liệu quan hệ đó là tốc
độ mà ở đó bạn có thể truy cập và thao tác dữ liệu. Các mô hình hệ thống quản lý
cơ sở dữ liệu quan hệ RDBMS có thể phân tích lượng lớn dữ liệu trong các bảng
qua vài cơ sở dữ liệu và trả về các truy vấn gần như ngay lập tức. Chẳng hạn bạn
muốn biết "có bao nhiêu nắp cống đã được đặt ở Minneapolis MN bởi các nhà
thầu khác nhau vào tháng chín trong vòng 5 năm?". Nếu bạn biết viết truy vấn và
bạn có các cơ sở dữ liệu bạn có thể có câu trả lời trong nháy mắt. Một trở ngại đó
là bạn cần bản thân dữ liệu và truy cập tới nó. Nhưng dữ liệu đã chờ sẵn trong cơ
sở dữ liệu và bạn sẽ phải hiểu đưa nó tới nơi bạn cần như thế nào và hiểu nó theo
cách của bạn như thế nào.
Lưu trữ dữ liệu dưới định dạng đọc được và có khả năng truyền từ nơi này đến nơi
khác là một chức năng của XML. Khi dữ liệu được lưu trữ trong một cơ sở dữ liệu
dưới dạng các bảng giống như bảng tính, nó thường được định dạng cho ứng dụng
cụ thể. XML cho phép bạn lưu trữ dữ liệu ở phần mở rộng, con người có thể đọc
được định dạng, điều đó chuẩn bị sẵn sàng cho sự trao đổi giữa các ứng dụng với
con người. Bạn có thể sắp đặt tất cả các cách để phân chia dữ liệu và mang nó vào
các ứng dụng. Ở đó bạn có thể bắt đầu thao tác lại dữ liệu. Đây chính là nền tảng
để xây dựng khối mashup của bạn, khả năng tổ hợp dữ liệu từ hai ứng dụng rất
khác nhau, cấu trúc lại nó và tạo các biến thể của riêng bạn.
Những thách thức mà bạn phải đối mặt là làm thế nào để kích hoạt tính năng XML
để có thể xử lý một số các phân tích phức tạp hơn và làm thế nào để tận dụng lợi
thế của máy chủ DB tốc độ cao?
Hầu hết các cơ sở dữ liệu quan hệ cố gắng xử lý dữ liệu XML từ đầu. Nhưng hầu
hết các lần, các kỹ thuật của chúng có một chút hỗn độn, bao gồm việc lưu trữ dữ
liệu văn bản hoặc phá vỡ nó vào nhiều bảng. Một phần của vấn đề liên quan đến
dữ liệu XML khứ hồi (round tripping), hoặc lấy lại dữ liệu từ cơ sở dữ liệu theo
cấu trúc giống với trước khi lưu trữ và phần khác liên quan đến việc bạn sử dụng
các truy vấn quan hệ để truy cập dữ liệu đã được cấu trúc XML.
Mặt khác, các cơ sở dữ liệu XML nguyên gốc thường lưu trữ XML trong cấu trúc
chính xác ở chỗ mà chúng nhận được. Các cơ sở dữ liệu XML cũng cung cấp truy
cập đến dữ liệu sử dụng ngôn ngữ truy vấn được thiết kế đặc biệt cho XML như
XPath, XQuery và XUpdate.
Vì bạn đang làm việc với dữ liệu XML như là một phần của ứng dụng, bạn thực sự
cần có khả năng về cơ sở dữ liệu XML nguyên thủy. May thay, bạn có pureXML.
Dữ liệu XML lưu trữ trong DB2