intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web), Phần 2

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:58

146
lượt xem
34
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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...

Chủ đề:
Lưu

Nội dung Text: Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web), Phần 2

  1. 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:
  2. 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ề:
  3. 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ề
  4. 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
  5. 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
  6. pureXML là tên thuộc tính cho các bảng DB2. Các bảng này được thiết kế để lưu các tài liệu XML được tổ chức tốt trong các cột, cùng với các cột chứa dữ liệu quan hệ. Giống như các kiểu khác nhau của dữ liệu quan hệ nhị phân, chẳng hạn như LONG, VARCHAR, hoặc LOB, được lưu trữ tách biệt với các nội dung khác của bảng, dữ liệu XML được lưu trữ trong các cột của bảng có kiểu XML ở các đối tượng lưu trữ XML mở rộng. Để sử dụng sức mạnh của các máy truy vấn của DB2 để quản lý dữ liệu, bạn tách riêng XML với dữ liệu quan hệ mà bạn dùng để chỉ số hóa nó. Một khi bạn lưu trữ XML và dữ liệu chỉ số quan hệ của nó, bạn có thể truy cập nó qua một ngôn ngữ truy vấn đặc biệt. XQuery là ngôn ngữ riêng của XML mà nó có thể truy cập dữ liệu XML sử dụng các biểu thức XPath thay vì SQL. Nó là thành quả của World Wide Web Consortium, bên cạnh XPath 2.0, trong những năm vừa rồi và đã đạt đến điểm mà các sản phẩm chủ đạo như DB2 bắt đầu hỗ trợ cho nó. XQuery tổ hợp các thủ tục đơn giản (chẳng hạn như vòng lặp) với XPath một cách linh hoạt và mạnh mẽ cho việc lựa chọn và vận chuyển dữ liệu mà bạn không thể thực hiện được với chỉ XPath. Bạn định hoàn thành cái gì Trong phần 1, bạn đã tạo ra một ứng dụng gọi tới một số dịch vụ, thu nhận dữ liệu từ chúng như một luồng XML và chuyển đổi dữ liệu đó sang dạng HTML để hiển thị trên trình duyệt (xem Các tài nguyên). Bởi vì đó là một mashup nên bạn đang xử lý các dịch vụ. Thực tế, trong trường hợp các dịch vụ con, bạn phải thực hiện hàng tá hoặc hơn các truy vấn cho một trang. Nếu bạn chạy ví dụ ở phần 1, bạn có thể khó chịu vì độ dài của các truy vấn đó như thế nào. Trong bài viết này, bạn sẽ tạo ra một hệ thống để lưu tạm thời các kết quả trả về từ các dịch vụ khác nhau mà bạn sử dụng. Dữ liệu sẽ chứa thông tin trên URL, thường là yêu cầu dữ liệu, ngày tháng, thời gian yêu cầu được thực hiện cũng như các dữ liệu thực tế trả ra cho yêu cầu. Trong servlet, trước tiên bạn sẽ kiểm tra cơ sở dữ liệu này, và nếu dữ liệu không tồn tại bạn sẽ yêu cầu một bản sao mới nhất và lưu nó vào cơ sở dữ liệu trong lần tiếp theo.
  7. Bằng cách làm này, bạn có khả năng chuyển một trang có thể chứa một tá hoặc hơn các yêu cầu web (và làm trong một phút hoặc thậm chí hơn) thành các kết quả nhanh chóng. Điều đó cũng dễ dàng hơn nhiều trên các dịch vụ tìm kiếm. Cài đặt Khi bạn thêm vào một máy chủ DB2 thành một hỗn hợp, bạn sẽ cài "deamon" trên một máy chủ thuận tiện nhất. Bạn nên có Tomcat và Apache được cài đặt sẵn, nhưng bạn cũng sẽ cần kết nối Tomcat với cơ sở dữ liệu sử dụng JDBC. Cài đặt DB2 Tải về phiên bản dùng thử DB2 9 (xem Các điều kiện tiên quyết). Bạn có thể đăng nhập vào developerWorks và truy cập đến phiên bản beta DB2 mới nhất miễn phí với khả năng hỗ trợ pureXML để lưu trữ XML. Chúng ta sẽ sử dụng các đặc tính mới này để lưu trữ các đối tượng dữ liệu từ các truy vấn của ứng dụng. Một khi bạn đã tải về phần mềm, hãy giải nén tệp ZIP và đặt tệp Setup.exe vào thư mục db2\ESE\image. Nhấn đúp chuột và bắt đầu quá trình cài đặt với thuật sỹ cài đặt (setup wizard). Cửa số đầu tiên là DB2 Setup Launchpad (xem Hình 1).
  8. Hình 1. Setup Launchpad Danh sách bên trái ghi vài lựa chọn, chọn Installation Prerequisites và Install a Product. Các lựa chọn còn lại chứa những chuyển đổi từ các sản phẩm khác sang và đưa ra các chú thích cho phiên bản DB2 này. Nếu đây là cài đặt mới, thì sự chuyển đổi không có tác dụng. Nhưng nếu muốn, bạn hãy tiếp tục và đọc các chú thích đưa ra để có các thông tin cơ bản về phiên bản DB2 này. Bắt đầu với Installation Prerequisites, đó là các cài đặt quyết định thành công của DB2. Danh sách đó nằm ngoài phạm vi của bài viết này. Bạn hãy cài đặt các thủ tục cập nhật và vá hệ thống. Chúng tôi khuyên bạn theo dõi các liên kết đã cung cấp ở Setup Launchpad. Các liên kết sẽ chỉ dẫn cho bạn các thông tin trong phạm vi của yêu cầu. Các giới hạn thực hiện ở đây chính là việc chắc chắn rằng bạn cập nhật và hỗ trợ tối thiểu các yêu cầu phần cứng như không gian đĩa và RAM. Một khi bạn đã xác nhận rằng máy chủ của bạn đáp ứng được hãy nhấn chọn Install a Product và bắt đầu cài đặt
  9. Hình 2. Cài đặt một Product Khi bạn chọn Install a Product từ thực đơn bên trái, chương trình cài đặt đưa cho bạn lựa chọn để tạo một cài đặt mới của máy chủ (server) hoặc máy khách (client). Với các mục tiêu của bài viết này, bạn sẽ cài đặt cả hai, cho bạn chức năng máy chủ và có khả năng quản trị máy chủ của bạn sau khi nó được cài đặt. Bắt đầu với Enterprise Server. Khi cửa sổ cài đặt installation Wizard bắt đầu, bạn chỉ cần nhấn Next cho đến khi có hợp đồng đăng ký (license agreement). Nếu hợp đồng phù hợp với bạn hãy chấp nhận và nhấn Next lần nữa. Tiếp theo bạn sẽ lựa chọn cài đặt đặc trưng (typical), rút gọn (compact) hoặc tùy ý (custom). Chọn cài đặt typical và nhấn Next để di chuyển đến cửa sổ tiếp theo. Hộp thoại tiếp theo hỏi bạn nếu muốn cài đặt, hãy lưu lại các cài đặt phản hồi từ cửa sổ wizard vào một tệp để sử dụng sau. Việc này có lợi khi bạn cài đặt các server tương tự hoặc nếu bạn định sử dụng các đặc tính môi trường cơ sở dữ liệu phân hoạch của DB2. Ngay bây giờ, bạn chọn Install DB2 Enterprise Server Edition và nhấn Next. Ở hộp thoại tiếp theo trong hình 3, hãy nhập vào đường dẫn nơi mà bạn muốn cài đặt server và nhấn Next, nếu bị nhắc bạn hãy chọn một tên cho việc cài đặt cơ sở dữ liệu. Trừ phi có lí do nào đó còn nếu không bạn có thể chấp nhận tên mặc định là DB2_01 và thực hiện cài đặt mặc định này trên máy tính.
  10. Hình 3. Đặt hộp thoại thông tin người dùng Nếu bạn đang dùng Windows™ XP hoặc NT, bước cài đặt tiếp theo yêu cầu tên miền (Domain) mà tài khoản người dùng của bạn sẽ là thành viên của tên miền đó. Nhưng bạn có thể sử dụng một người dùng hiện có. Cài đặt này sẽ tạo ra một người dùng phục vụ cho mục đích đó, tùy theo bất kỳ nhu cầu của bạn có nằm ngoài phạm vi của bài viết này. Trong bài viết này sử dụng các lựa chọn mặc định. Chúng ta đang cài đặt các công cụ phát triển ứng dụng trên cùng một máy, nên hãy tiếp tục chọn None - user local user account cho Domain và hủy bỏ username mặc định. Nhập và xác nhận lại mật khẩu và chắc chắn rằng hộp kiểm ở cuối đã được kiểm tra. Nhấn Next. Bạn sẽ được hỏi bạn muốn tạo ra máy chủ gì. Hãy sử dụng mặc định của DB2 và nhấn Next. Bạn có thể bỏ qua hộp các công cụ Prepare the DB2 tools catalog bằng cách không chọn gì ở hộp thoại tiếp theo và nhấn Next. Bạn không cần khai báo e-mail. Hãy xóa hộp kiểm Set up your DB2 server to send notifications và nhấn Next.
  11. Để bảo mật dịch vụ DB2 hơn, bạn có thể kích hoạt người dùng và các nhóm quản trị như là những người nắm giữ hợp lệ duy nhất đối với dữ liệu DB2 đã lưu trữ và phục vụ. Điều đó là không cần thiết trong bài học này nhưng nó sẽ không làm tổn hại vì vậy hãy để nguyên và nhấn Next. Cuối cùng bạn được xem hộp thoại với tất cả các lựa chọn bạn đã làm. Nhấn Finish để hoàn tất việc cài đặt. Cài đặt JDBC Để truy cập DB2 qua JDBC, bạn cần thực hiện một số phân lớp, bao gồm DB2 JDBC driver để hoạt động với Tomcat servlet. Bạn có thể thực hiện việc đó theo một số cách, bao gồm việc thêm vào nó một ứng dụng riêng của bạn. Cách khác là làm cho nó có thể dùng được với tất cả các ứng dụng chạy trên Tomcat. Để làm được điều đó hãy sao chép tệp /sqllib/java/db2java.zip vào thư mục Tomcat's common/lib. Mặc dù đó là tệp zip chứ không phải tệp JAR, máy chủ sẽ tìm ra nó. Lưu trữ XML Bây giờ hãy xem cách DB2 lưu trữ thông tin XML trong cơ sở dữ liệu Tạo cơ sở dữ liệu Trước tiên bạn cần một cơ sở dữ liệu để lưu trữ các đối tượng XML đã trả về. Với các ưu điểm của thuộc tính XML trên DB2, bạn nên cân nhắc kỹ lưỡng để định hình một cơ sở dữ liệu mới. Vì vậy chúng ta sẽ thực hiện từng bước quá trình tạo cơ sở dữ liệu này Trên thanh taskbar của Windows, trong khay hệ thống có một biểu tượng của máy chủ DB2 với tên là DB2. Nhấn phải vào biểu tượng đó và chọn DB2 Control Center để mở DB2 Control Center. Ở bên phải, bạn sẽ thấy một nhánh thực đơn với hai lựa chọn là All Systems và All Databases. Nhấn phải chuột vào All Databases chọn Create Database>Standard. Việc này sẽ mở ra cửa sổ thuật sỹ tạo cơ sở dữ liệu được trình bày trong Hình 4.
  12. Hình 4. Thuật sỹ (wizard) tạo cơ sở dữ liệu, bước 1 Tại đó, bạn được hỏi tên cơ sở dữ liệu là gì và bạn muốn lưu trữ nó ở đâu. Với bài viết này, bạn dùng mashup_1 cho tên và định danh của cơ sở dữ liệu. Bạn có thể thêm vào bất kỳ tên chú thích nào bạn muốn. Tiếp theo hãy chọn nơi bạn sẽ lưu trữ các tệp cơ sở dữ liệu. Các cơ sở dữ liệu có thể chứa một lượng rất lớn dữ liệu. Hãy chọn nơi mà có thể quản lý được khối lượng dữ liệu đó của ứng dụng của bạn. Để phát triển ứng dụng n ày bạn chỉ lần khoảng 10-20MB bộ nhớ, nhưng cũng có thể tăng thêm ở một môi trường lớn. Bây giờ hãy chọn một nơi có không gian nhớ lớn hơn 10MB để có thể dùng được và tạo một thư mục ở đó. Gõ vào đường dẫn thư mục ở trường Default path. Bạn có thể nhấn vào Browse và chọn một thư mục theo cách đó. Nhấn vào hộp kiểm Enable database for XML. Hộp này yêu cầu bạn cài đặt kiểu mã là UTF-8. Đó là khóa cho các yêu cầu của bạn. Hãy giữ các cài đặt mặc định còn lại và nhấn Next (Xem Hình 5).
  13. Hình 5. Thuật sỹ tạo cơ sở dữ liệu, bước 2 Trình cài đặt sẽ hỏi bạn nơi lưu trữ dữ liệu cho DB một lần nữa. Giữ nguyên hộp kiểm Use the database path as a storage path và nhấn Next (Xem Hình 6).
  14. Hình 6. Thuật sỹ tạo cơ sở dữ liệu, bước 3 Bạn gặp một chọn lựa quan trọng cho cơ sở dữ liệu mới, đó là sự địa phương hóa (locale settings). Để các bản XML hoạt động, chúng yêu cầu bảng mã UTF-8. Bạn có thể chọn bất kỳ mã quốc gia nào nhưng bạn phải chọn UTF-8 ở danh sách đổ xuống Code set. Để nguyên mục Collating Sequence với các giá trị mặc định của nó và nhấn Next (Xem Hình 7).
  15. Hình 7. Thuật sỹ tạo cơ sở dữ liệu, bước 4 Cuối cùng bạn sẽ hoàn tất được việc cài đặt với màn hình tổng hợp. Hãy nhấn nút Finish và đợi trong giây lát để hệ thống tạo ra các tệp khởi tạo và bắt đầu các tiến trình với cơ sở dữ liệu mới của bạn. Khi cơ sở dữ liệu được hoàn thành, bạn sẽ tìm thấy nó ở cây All Databases. Bạn có thể mở rộng mashup_1 và nhìn thấy các thành phần. Bây giờ bạn đã có một nơi cho XML, bạn cần định dạng nó để chứa dữ liệu. Tạo bảng Ở phần 1, bạn đã kết nối với hai dịch vụ web Yahoo! News, Technorati và YouTube, để tập hợp dữ liệu XML và sửa đổi nó đưa vào cơ sở dữ liệu của bạn (xem Các tài nguyên). Hai dịch vụ này cung cấp các định dạng dữ liệu rất khác nhau nhưng bạn sẽ lưu tất cả chúng vào cùng bảng cơ sở dữ liệu. Chọn Tools>Command Editor trên ứng dụng Control Center. Theo thường lệ, cách nhanh nhất là sử dụng dòng lệnh và thực hiện các lệnh trên đó. Trong Command Editor, chèn đoạn mã trong Ví dụ 1 vào.
  16. Ví dụ 1. Tạo bảng queryResults connect to MASHUP_1; create table queryresults (id INT generated always as identity, requestdate TIMESTAMP, query XML) Sau khi bạn nhập đoạn mã vào cửa sổ Command Editor, nhấn Execute và chờ thông báo "The SQL command completed successfully" thể hiện câu lệnh SQL đã hoàn thành. Cột id là khóa chính và cột requestdate là cột quan hệ đặc thù biểu diễn ngày giờ của truy vấn gốc. Mặt khác, cột query là một giá trị XML. Cấu trúc của nó biến đổi dựa trên dữ liệu được trả về cho truy vấn. Ví dụ, bạn có thể có hai dòng cơ sở dữ liệu khác nhau như trong Ví dụ 2. Ví dụ 2. Các dòng cơ sở dữ liệu mẫu 1, 2006-07-25-13.26.46,
  17. source-info-name="TMS Data Direct Service" generator-info-name="XMLTV" generator-info-url="http://www.xmltv.org/"> Flintstones The Gravelberry Pie King Fred gets fired and enters the pie-baking business. Alan Reed Jean Vander Pyl Mel Blanc Gerry Johnson Don Messick 19651112 Children Animated Series
  18. EP001648.0149 65149 TV-G Dastardly & Muttley Muttley On the Bounty Children Animated Series EP001168.0006 6901 TV-G
  19. 2, 2006-07-25-13.38.46, http://www.chaosmagnet.com 25 0 Gary Said... ( The blog of Gary LaPointe ) http://garysaid.com http://garysaid.com/index.rdf 60 2161 2006-07-24 20:26:25 GMT http://garysaid.com Doug Dave (goodness) Angela (fluid) Tonya Martha
  20. Racheline Heather (dooce) ZuDfunck Ryan (fait) Eleanor alisa Kristin Elizabeth Sherri Meg Jacqueline Melissa (geek) James (american) Nicholas Lorna Evie Rachael Kachina Jeff (geekable) Tim Sa mantha SarahB Melissa (stars) David Kates Christine (pink) Kristine Psychbloke KelliDiane Clancy Molly.com Ryan (rant) Todd Nikita 2006-07-14 19:59:03 GMT http://www.chaosmagnet.com/blog/ Cho dù các dòng đều có cấu trúc cơ sở dữ liệu như nhau, không có hạn chế nào áp đặt cho cấu trúc XML được chứa trong các cột truy vấn. Nhưng đôi khi đó không phải là những gì bạn muốn. Dữ liệu hợp lệ Các chuyên gia cơ sở dữ liệu đôi khi lo lắng về chất lượng dữ liệu khi dùng XML vì tính tự nhiên linh hoạt của nó. Do chúng ta có thể lưu trữ bất kỳ tài liệu XML nào vào bất kỳ cột nào được xác định bởi một kiểu dữ liệu XML mới trong DB2, nên bạn có thể dễ dàng rơi vào hậu quả là các cấu trúc dữ liệu XML bị thay đổi hoặc mâu thuẫn với sự logic ứng dụng của bạn. Nhà cung cấp dữ liệu có thể thay đổi cấu trúc của XML đầu ra mà không hề thông báo cho bạn. Mashup của bạn dùng ba nguồn dữ liệu khác nhau với ba cấu trúc tệp khác nhau và ngay lập tức sự thay đổi thể hiện trên bản thân nó. Trong khi bạn đang cân nhắc tạo ra một kết quả
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2