Các dịch vụ phổ thông Universal Services cho pureXML sử dụng các dịch vụ Web dữ liệu Data Web Dễ dàng cho phép các cột pureXML của bạn được tiếp cận thông qua các phương thức dịch vụ We
Trang 1Các dịch vụ phổ thông (Universal Services) cho pureXML
sử dụng các dịch vụ Web dữ liệu (Data Web)
Dễ dàng cho phép các cột pureXML của bạn được tiếp cận thông qua các phương thức dịch vụ Web
Susan Malaika, Chuyên viên kỹ thuật cao cấp, IBM Japan
Christian Pichler, Giải pháp máy chủ dữ liệu, IBM
Tóm tắt: Universal Services (các dịch vụ phổ thông) là tập các phương thức cơ
sở dữ liệu, bao gồm chèn (insert), cập nhật (update), xóa (delete), và truy vấn (query), được thể hiện như là các phương thức của dịch vụ Web Những dịch vụ này cho phép mọi người có cột pureXML™ trong cơ sở dữ liệu DB2® cài đặt các phương thức cơ sở dữ liệu của dịch vụ Web một cách nhanh chóng, chẳng hạn cho việc mô phỏng Sau đó các dịch vụ này cho phép người dùng truy vấn và sử các dữ liệu XML lưu trữ trong cột pureXML thông qua REST hoặc SOAP, các giao thức
có thể thực thi như là nền tảng cho việc phát triển hơn nữa nhiều ứng dụng khác nhau, như các biểu mẫu (form) hoặc các ứng dụng SOA Bài viết này giúp bạn bắt đầu với việc cấu hình, thử nghiệm và thay đổi Universal Services Để hiểu cụ thể hơn, hãy xem hướng dẫn từng bước trong tệp readme đi kèm khi tải Universal Services xuống
Hình 1 cung cấp tổng quan về kiến trúc của Universal Services
Trang 2Hình 1 Tổng quan kiến trúc của Universal Services
Mục tiêu của Universal Services là cho phép bất cứ cột pureXML trong cơ sở dữ liệu DB2 được truy vấn và sửa đổi thông qua các phương thức dịch vụ Web, các phương thức này được sử dụng thông qua cấu hình và các bước triển khai dễ dàng Các bước này được mô tả trong các phần sau của bài viết, để biết chi tiết về những bước này hơn nữa, có thể tham khảo tệp readme khi tải gói Universal Services với đầy đủ chỉ dẫn từng bước
Bài viết bao gồm cách cấu hình, triển khai và sửa đổi Universal Services trên một
cơ sở dữ liệu mẫu và được chia thành ba phần
Cài đặt cơ sở dữ liệu mẫu: Mô tả các cài đặt cơ sở dữ liệu mẫu mà được
sử dụng trong bài viết này để thực hiện cấu hình Universal Services
Cài đặt Universal Services: Mô tả các cấu hình và triển khai Universal Services
Sửa đổi Universal Services: Mô tả cách thay đổi Universal Services cho
phù hợp với môi trường
Chi tiết về từng bước bạn có thể tìm thấy ở phần tải xuống trong từng phần của bài viết
Điều kiện tiên quyết
Trang 3Tải DB2 Express-C miễn phí
Tiếp tục Tải xuống và sử dụng máy chủ dữ liệu XML và dữ liệu quan hệ chức năng đầy đủ mà không phải trả phí
Để cài đặt và chạy Universal Services, bạn cần có DB2 9.x, môi trường Java
Runtime 1.5.0, và máy chủ Web (chẳng hạn WebSphere® Application Server V6.x hoặc Apache Tomcat V6.x), được cài đặt trên hệ thống của bạn Chú ý rằng Java Runtime là một phần của quá trình cài đặt DB2
Bạn đồng thời cần tải hai tài liệu là gói IRS e-File 1120, một phần của việc trình diễn trực tuyến Industry Formats và Services, và bản thân gói Universal Services Bạn có thể tìm các liên kết của những tài liệu này trong Tải xuống của bài viết Những dữ liệu này là cần thiết để theo dõi từng bước mà bài viết giới thiệu
Cài đặt cơ sở dữ liệu mẫu
Universal Services có thể được cài đặt trên bất kỳ cột pureXML DB2 Để thực hiện cấu hình và cài đặt của những dịch vụ này, các phần sau đây sẽ chỉ ra cách để cài đặt cơ sở dữ liệu mẫu được sử dụng trong suốt bài viết này Cơ sở dữ liệu mẫu được tạo ra ở đây dựa trên các dữ liệu tải xuống công khai và miễn phí, là một phần của quá trình trình diễn trực tuyến DB2 pureXML được gọi là công nghiệp định dạng và dịch vụ (Industry Formats and Services) với pureXML
Mỗi một tệp được tải xuống chứa các kịch bản cho phép người sử dụng dễ dàng cài đặt một cơ sở dữ liệu được thiết kế cho một lĩnh vực cụ thể, chẳng hạn như lĩnh vực tài chính hay chăm sóc sức khỏe Kịch bản được sử dụng trong bài viết này tạo ra một cơ sở dữ liệu mẫu và một bảng chứa một cột pureXML, sau đó tải
dữ liệu mẫu vào cơ sở dữ liệu Các tệp tải xuống chứa nhiều kịch bản như quá trình đăng ký lược đồ XML, việc xác nhận sự hợp lệ các tài liệu XML với lược đồ XML đăng ký, và truy vấn dữ liệu XML sử dụng XQuery hoặc SQL/XML, tùy theo sở thích, nhưng không được đề cập trong bài viết này Nếu muốn biết thêm thông tin về nội dung cụ thể tải xuống, tham khảo Tài nguyên
Tạo cơ sở dữ liệu mẫu
Bài viết này dựa trên IRS tài liệu tải xuống e-File 1120, phiên bản điện tử của IRS Tax Form 1120 Phần này giả sử bạn đã tải và giải nén gói IRS e-File 1120 vào
Trang 4thư mục làm việc tạm thời Thư mục làm việc tạm thời chứa các kịch bản cơ sở dữ liệu được sử dụng trong bài viết này là c:\temp\irs1120
Hình 2 Nội dung tài liệu tải xuống IRS e-File 1120, được giải nén vào thư mục làm việc tạm thời
Tên của kịch bản thực hiện quá trình cài đặt cơ sở dữ liệu mẫu trên hệ thống của bạn là "start.bat" (trên Linux: "start.sh") Để thực thi kịch bản này, mở bộ xử lý thao tác lệnh chương trình của DB2script, thay đổi đường dẫn tới thư mục làm việc hiện tại chứa nội dung tệp bạn đã tải xuống Đường dẫn này bao gồm tệp start.bat mà bạn sắp thực thi Do đó, tiếp tục và thực thi kịch bản start.bat
Một khi kịch bản kết thúc, bạn nên xem thông báo chỉ ra quá trình cài đặt cơ sở dữ liệu đã hoàn thành chứa trong tài liệu IRS e-File 1120 Giả sử quá trình cài đặt thành công, bây giờ bạn đã có một cơ sở dữ liệu mẫu trong hệ thống của bạn chứa cột pureXML và dữ liệu mẫu được tải lên cột pureXML Cụ thể hơn, bảng trong
cơ sở dữ liệu chứa cột pureXML có cấu trúc sau:
Bảng 1 Tổng quan về bảng IRS1120
ID INTEGER Là ID duy nhất cho mỗi bản ghi được chèn vào
trong bảng
Trang 5COMMENT VARCHAR(1000) Được sử dụng để lưu ghi chú cho mỗi bản ghi
DOCUMENT XML
Cột thứ ba của bảng là cột về loại XML, dùng để lưu dữ liệu XML Đây là tất cả tài liệu RS e-File
1120 XML
Dựa trên cơ sở dữ liệu mẫu, bây giờ có thể chỉ ra cách để cấu hình và cài đặt Universal Services cho một cột pureXML cụ thể, mà là chủ đề của các phần sau
Cài đặt Universal Services
Trong phần này, giả sử bạn đã tải và giải nén gói Universal Services vào trong thư mục làm việc tạm thời của máy bạn Thư mục làm việc cho Universal Services được sử dụng trong bài viết này là c:\temp\UniversalServices
Hình 3 Nội dung của gói Universal Services được giải nén ra thư mục làm việc
Khi các tệp và kịch bản cần thiết đã sẵn sàng trong hệ thống, bạn có thể tiếp tục quá trình cài đặt Universal Services, bao gồm ba bước Những bước này được mô
tả chi tiết ở dưới, chỉ ra cách:
Cấu hình Universal Services cho phù hợp với hệ thống cài đặt của bạn
Triển khai Universal Services máy chủ ứng dụng của bạn
Kiểm thử Universal Services bằng một trang đính kèm
Trang 6Cấu hình Universal Services
Quá trình cấu hình Universal Services thu được thông qua một kịch bản chứa trong tài liệu tải xuống là tệp "configure.bat" (trong Linux là: "configure.sh") Tuy nhiên, trước khi thực thi kịch bản, nó cần được chỉnh sửa cho phù hợp với cài đặt
hệ thống của bạn, mà được liệt kê trong Bảng 2
Bảng 2 Tổng quan các biến được sử dụng trong kịch bản cấu hình
DBNAME Tên của cơ sở dữ liệu mà Universal
Services được sử dụng với IRS1120
DBTABLE Tên bảng chứa cột XML IRS1120
DBPRIMARY
Tên cột chính của bảng được chỉ ra trong DBTABLE Cột này có thể kiểu INTEGER hoặc VARCHAR
ID
DBCOMMENT Tên cột ghi chú của bảng COMMENT
DBXML Tên cột XML của bảng Đây là cột
chứa dữ liệu XML DOCUMENT
Chú ý rằng ba tham biến trong Bảng 2, DBPRIMARY, DBCOMMENT, DBXML,
là các biến tương tự trong Bảng 1
Trang 7Sửa tệp cấu hình Universal Services configuration để tương ứng với thông tin trong Bảng 2 Ví dụ set DBNAME=SAMPLEDB cần được sửa thành set
DBNAME=IRS1120 Hình 4 thể hiện tệp cấu hình, sau khi nó được sửa đổi theo giá trị được cung cấp trong Bảng 2
Hình 4 Sửa tệp cấu hình configure.bat
Sau khi sửa tệp configure.bat (trong Linux là: configure.sh), có thể thực thi kịch bản mà thực hiện quá trình cấu hình thực sự của Universal Services, chẳng hạn như điều chỉnh tên cột Sau đó kịch bản tạo ra một tệp lưu trữ (WAR) ứng dụng Web, có chứa tất cả các tệp cần thiết cho ứng dụng Web Universal Services, có thể được triển khai đến máy chủ ứng dụng của bạn Nhớ rằng, kịch bản phải được thực thi trên bộ xử lý thao tác lệnh chương trình của DB2, nếu không quá trình thực thi sẽ thất bại
Triển khai Universal Services
Sửa đổi và thực thi kịch bản configure.bat, như đã mô tả ở phần trước, tạo ra một tệp WAR có thể triển khai được trên máy chủ ứng dụng của bạn Trước khi triển khai tệp WAR tới máy chủ ứng dụng, cần cấu hình nguồn dữ liệu (data source) trên máy chủ cho phép Universal Services tiếp cận được cơ sở dữ liệu DB2
Trang 8Để cài đặt nguồn dữ liệu, tiếp tục quá trình cấu hình chuẩn của máy chủ ứng dụng Yêu cầu duy nhất là trong quá trình cài đặt, để ý đến tên nguồn dữ liệu phải đáp ứng theo mẫu sau: jdbc/[database name] Tên nguồn dữ liệu sử dụng trong bài viết này là jdbc/irs1120 Nếu cần thêm thông tin để cài đặt nguồn dữ liệu, tham khảo hướng dẫn của máy chủ ứng dụng của bạn hoặc đọc tệp readme chứa trong tài liệu tải xuống Universal Services
Tệp WAR được tạo ra có thể được tìm thấy trên thư mục con, được đặt trong thư mục làm việc c:\temp\UniversalServices Cụ thể, thư mục war chứa hai thư mục con: tomcat và war Thư mục tomcat chứa tệp WAR để cài đặt trên Apache
Tomcat V6.x, trong khi thư mục chứa trong tệp WAR để cài đặt trên WebSphere Application Server V6.x Để cài đặt tệp WAR trên máy chủ ứng dụng của bạn, làm theo hướng dẫn chuẩn Nếu cần thêm thông tin, hãy tham khảo hướng dẫn máy chủ ứng dụng của bạn, hoặc đọc tệp readme chứa trong gói Universal
Services được tải xuống
Bây giờ bạn có thể kiểm tra quá trình cài đặt bằng trang web thử nghiệm Universal Services, mà đã có sẵn trong quá trình triển khai tệp WAR Để tiến hành kiểm tra, tiếp tục với phần tiếp theo
Bước thứ hai là để triển khai tệp WAR thực sự trên máy chủ ứng dụng Tuy nhiên,
nó cần được thông báo do sự khác nhau trong các thành phần của dịch vụ Web đòi hỏi phải có WebSphere Application Server V6.x và Apache Tomcat V6.x, kịch bản cấu hình tạo ra hai tệp War riêng, mỗi tệp cho một ứng dụng máy chủ trên
Kiểm tra Universal Services
Để đảm bảo quá trình cài đặt và cấu hình Universal Services trên hệ thống của bạn thành công, những dịch vụ này cần được kiểm thử Cách dễ dàng nhất là sử dụng trang HTML đơn giản, đã có sẵn trong máy chủ ứng dụng trong quá trình triển khai Universal Services
Có thể tiếp cận trang web thử nghiệm Universal Services bằng cách đăng nhập trên trình duyệt đường dẫn URL
http://localhost:8080/UniversalServices/testServices.html Chú ý rằng, tùy vào cài đặt hệ thống, tên máy và cổng của máy chủ mà có thể cần được điều chỉnh phù hợp
Trang 9Hình 5 Hình ảnh trang web thử nghiệm
Đây là trang thử nghiệm đơn giản nhất cho phép bạn chèn, cập nhật, xóa và truy vấn dữ liệu XML trong cơ sở dữ liệu của bạn thông qua Universal Services Các dịch vụ Web thể hiện qua các nút trên trang thử nghiệm Hình 6 cho thấy các dịch
vụ Web trả lời Sau hoạt động của dịch vụ Web, getPrimaryKeys được thể hiện thông nút bấm được cung cấp trên trang thử nghiệm
Hình 6 Hồi đáp sau khi hoạt động dịch vụ Web getPrimaryKeys được thực
Trang 10hiện
Sửa đổi Universal Services
Nếu bạn cần phải sửa đổi Universal Services, ví dụ để giới thiệu một tham số mới, bạn có thể mở Universal Services Data Development Project được cung cấp trong phần tải xuống của Universal Services Data Project bằng Data Studio Những phần sau mô tả cách để nạp vào Project vào Data Studio và cách thức cấu hình dự án đã được nạp vào và Data Studio (ví dụ, điều chỉnh các kết nối cơ sở dữ liệu hoặc điều chỉnh các tên lược đồ cơ sở dữ liệu) Để thực hiện theo các bước được nêu dưới đây, khởi động Data Studio
Nạp vào Universal Services Data Development Project
Một khi Data Studio được mở, bấm chuột phải vào vùng trắng trong Data Project
Explorer, một thực đơn con xuất hiện Trong thực đơn con, chọn Import, xem
Hình 7
Trang 11Hình 7 Chọn Import để tải Universal Services Data Development Project
Thủ thuật Import (Import Wizard) sẽ được mở trong một cửa sổ riêng (xem Hình
8) Trong bước đầu tiên của thủ thuật chọn Existing Projects into Workspace, trong nhóm "General." Chọn Next để tiếp tục
Trang 12Hình 8 Import Wizard Chọn nguồn để nạp vào
Bước tiếp theo là xác định tệp lưu trữ Universal Services Data Development
Project Để thực hiện, chọn Select archive file Sau đó, nhấn Browse và chọn tệp
lưu trữ Tệp đó gọi là universal_services_data_studio_project.zip, và được tìm thấy trên thư mục làm việc tạm thời trên máy của bạn trong quá trình giải nén gói Universal Services Thư mục làm việc tạm thời trong bài viết này là
c:\temp\UniversalServices
Sau khi tệp lưu trữ được chọn, Import Wizard liệt kê tất cả các dự án đang có trong phần lưu trữ (xem Hình 9) Bởi vì tệp lưu trữ được cung cấp trong phần tải xuống có chứa duy nhất Data Development Project cho Universal Services, nên chỉ một dự án được liệt kê trong phần Projects Lưu ý rằng trong trường bạn đã có một dự án trong không gian làm việc(workspace) mà có cùng tên dự án
("services") như Universal Services, Import Wizard sẽ không liệt kê dự án trong phần Projects Do đó, Import Wizard không cho phép bạn nạp vào Universal Services Data Development project
Trang 13Hình 9 Import Wizard Chọn tệp lưu trữ
Sau khi tệp lưu trữ và dự án được chọn, bấm vào Finish để kết thúc quá trình nạp
vào dự án Sau khi quá trình nạp vào đã kết thúc, bạn có thể xem dự án Universal Services Data Development project trong Data Project Explorer (xem Hình 10)
Hình 10 Dự án Data Development Project đã được nạp vào trong Data
Trang 14Project Explorer
Cấu hình kết nối cơ sở dữ liệu
Sau khi dự án Universal Services Data Development Project được mở trong không gian làm việc, cần cấu hình kết nối cơ sở dữ liệu Hình 10 chỉ cho thấy dự án sử dụng kết nối cơ sở dữ liệu tên là "Universal Services Database Connection." Tuy nhiên, bạn có thấy kết nối tham chiếu đến cơ sở dữ liệu tên là SAMPLEDB, trên localhost, trên cổng 50000 Để điều chỉnh thông số kết nối cơ sở dữ liệu cho phù
hợp với cấu hình máy bạn, bấm chuột phải vào kết nối cơ sở dữ liệu Universal
Services Database Connection, trên Database Explorer, và chọn Edit
Connection (xem Hình 11)
Trang 15Hình 11 Tiếp cận thông số kết nối cơ sở dữ liệu thông qua Database Explorer
Một cửa sổ riêng mở ra cho phép bạn điều chỉnh các thông số kết nối cơ sở dữ liệu, như tên cơ sở dữ liệu (database name), tên máy chủ (hostname), số cổng (port number), thông tin người dùng (user information), và nhiều tham số khác nhau (xem hình 12) Lưu ý rằng bạn có kiểm tra các thông số cấu hình một cách nhanh
chóng bằng cách bấm vào Kiểm tra kết nối
Đối với Linux: Bạn có thể mở dự án Data Development Project trong Data Studio trên Linux, tham số Class location:, mà xác định vị trí trình điều khiển (driver) cơ
sở dữ liệu DB2, cần được điều chỉnh Trình điều khiển cơ sở dữ liệu được đặt trong thư mục java của thư mục cài đặt java (ví dụ, /home/db2inst1/sqllib/java)
Trang 16Hình 12 Các thông số kết nối cơ sở dữ liệu
Cấu hình tên lược đồ cơ sở dữ liệu
Tất cả các phương thức SQL được thể hiện như là các phương thức dịch vụ Web,
và dự án bạn đã mở lúc trước trong không gian làm việc, sử dụng các câu lệnh SQL đầy đủ Cái thứ hai nghĩa là tên lược đồ cơ sở dữ liệu đủ tiêu chuẩn làm tên
bảng (chẳng hạn SELECT ID FROM IRS1120ADMIN.IRS1120)