Siêu thị PDFTải ngay đi em, trời tối mất

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
MIỄN PHÍ
Số trang
58
Kích thước
472.7 KB
Định dạng
PDF
Lượt xem
1549

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-tomcat￾5.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

Tải ngay đi em, còn do dự, trời tối mất!
Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web), Phần 2 pot | Siêu Thị PDF