WebSphere DataPower và DB2 pureXML: DB2 pureXML như log kiểm toán cho WebSphere DataPower

Khía cạnh quan trọng của xác thực cấu trúc và nội dung của các cá thể tài liệu XML là khả năng dò vết các thất bại về xác thực. Phần 1của bàinày minh hoạ việc xác thực cấu trúc và nội dung của các cá thể tài liệu XML thông qua lược đồ XML và Schematron. Việc xác thực đã được thực hiện qua thiết bị IBM® WebSphere® DataPower® SOA. Trong bài này, hãy xem cách IBM DB2® pureXML™ có thể bổ sung hơn nữa thiết bị SOA WebSphere DataPower bằng cách cung cấp một log kiểm toán dễ truy cập và truy vấn.

pdf24 trang | Chia sẻ: haohao89 | Lượt xem: 1629 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu WebSphere DataPower và DB2 pureXML: DB2 pureXML như log kiểm toán cho WebSphere DataPower, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
WebSphere DataPower và DB2 pureXML, Phần 2: DB2 pureXML như log kiểm toán cho WebSphere DataPower 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: Khía cạnh quan trọng của xác thực cấu trúc và nội dung của các cá thể tài liệu XML là khả năng dò vết các thất bại về xác thực. Phần 1 của bài này minh hoạ việc xác thực cấu trúc và nội dung của các cá thể tài liệu XML thông qua lược đồ XML và Schematron. Việc xác thực đã được thực hiện qua thiết bị IBM® WebSphere® DataPower® SOA. Trong bài này, hãy xem cách IBM DB2® pureXML™ có thể bổ sung hơn nữa thiết bị SOA WebSphere DataPower bằng cách cung cấp một log kiểm toán dễ truy cập và truy vấn. Kịch bản minh hoạ trong bài này có thể áp dụng được cho bất kỳ tình huống mà các cá thể tài liệu XML đang được trao đổi. Các điều kiện tiên quyết The ideas presented in this article follow on from Phần 1 của bài này, “Xác thực lược đồ và nội dung XML trong ngữ cảnh của DataPower và DB2 pureXML” (developerWorks, 5.2008) Xin tham khảo bài viết đó để có nền tảng lý thuyết về chủ đề này. Giới thiệu Bài viết trước trong loạt bài này minh hoạ việc xác thực cấu trúc và nội dung của các cá thể tài liệu XML thông qua thiết bị SOA IBM WebSphere DataPower trước khi lưu lại các cá thể tài liệu XML trong một cơ sở dữ liệu DB2 pureXML. Đích của bài viết này là minh họa cách sử dụng của một cơ sở dữ liệu DB2 pureXML như log kiểm toán dễ truy cập và truy vấn cho thiết bị WebSphere DataPower (xem Hình 1). Ngoài việc ghi log các cá thể tài liệu XML, thông tin kiểm tra còn có thể gộp vào các chi tiết về việc định tuyến, chuyển đổi hoặc xác thực các cá thể tài liệu XML qua thiết bị WebSphere DataPower. Hình 1. Kịch bản log kiểm toán DB2 pureXML Ý tưởng cơ sở của kịch bản này là ở chỗ thiết bị WebSphere DataPower lưu lại các kết quả xác thực trong một cơ sở dữ liệu log kiểm toán DB2 pureXML, sau khi thực hiện xác thực lược đồ XML và Schematron về các cá thể tài liệu XML nhận được từ đầu trình nộp. Một thí dụ đối với đầu gửi đi có thể là một máy khách XForms hoặc thậm chí một hệ thống thông tin khác đang trao đổi các cá thể tài liệu XML. thiết bị SOA WebSphere DataPower lưu lại một thông báo thành công hoặc thất bại trong cơ sở dữ liệu log kiểm toán, chứa thông tin chi tiết về nguyên nhân xác thực thất bại. Không quan tâm đến kết quả xác thực, thiết bị WebSphere DataPower cũng chuyển giao cá thể tài liệu XML được xác thực cho đầu tiếp nhận, mà có thể là, chẳng hạn như, một cơ sở dữ liệu DB2 pureXML khác, hoặc thậm chí một ứng dụng hoặc hệ thống thông tin khác. Một lợi ích chính của giải pháp minh hoạ ở đây là ở chỗ nó có thể được áp dụng cho bất kỳ kịch bản nào nơi mà các cá thể tài liệu XML được trao đổi. Việc trao đổi các cá thể tài liệu XML có thể là, chẳng hạn như, giữa hai hệ thống thông tin hoặc ứng dụng thông qua các dịch vụ Web. Một bài viết tương tự với nhan đề "Sử dụng DB2 9 pureXML với WebSphere ESB" (developerWorks, 6.2008) mô tả cách sử dụng DB2 pureXML như một log kiểm toán cho Bus Dịch vụ Doanh nghiệp WebSphere (WESB). Thiết lập kịch bản Các mục sau đây mô tả việc cài đặt kịch bản đơn giản, như minh hoạ trong Hình 2, hiển thị cách sử dụng một cơ sở dữ liệu DB2 pureXML như là một log kiểm toán cho thiết bị SOA WebSphere DataPower. Để giữ cho kịch bản ngắn gọn và đơn giản, giả định rằng các cá thể tài liệu XML được chuyển từ máy khách đến thiết bị WebSphere DataPower, thiết bị này xác thực các cá thể tài liệu XML và sau đó chuyển giao chúng cho một cơ sở dữ liệu DB2 pureXML khác. Hình 2. Kịch bản mẫu log kiểm toán DB2 pureXML Để cài đặt kịch bản minh hoạ trong Hình 2, làm theo các bước phác thảo sau đây:  Bước 1: Tạo ra các tài liệu XML, lược đồ XML, Schematron và đầu tiếp nhận  Bước 2: Tạo ra cơ sở dữ liệu log kiểm toán DB2 pureXML  Bước 3: Lập cấu hình thiết bị SOA WebSphere DataPower Bước 1: Tạo ra các tài liệu XML, lược đồ XML, Schematron và đầu tiếp nhận Kịch bản minh hoạ trong Hình 2 là một phiên bản được mở rộng của kịch bản sử dụng trong Phần 1 của loạt bài này. Bước thứ nhất để cài đặt kịch bản sử dụng trong bài này là làm theo các bước 1 và 2 của Phần 1. Bước 2: Tạo ra cơ sở dữ liệu log kiểm toán DB2 pureXML Mục này mô tả việc cài đặt cơ sở dữ liệu DB2 pureXML, hoạt động như một log kiểm toán để xác thực các kết quả từ thiết bị WebSphere DataPower. Như đã minh họa trong các Liệt kê 1 và 2 dưới đây, việc cài đặt cơ sở dữ liệu log kiểm toán chỉ gồm có một bảng và một thủ tục được lưu lại: Liệt kê 1. Cài đặt cơ sở dữ liệu log kiểm toán DB2 pureXML DROP DATABASE AUDIT@ CREATE DATABASE AUDIT@ CONNECT TO AUDIT@ CREATE SCHEMA DB2ADMIN@ CREATE TABLE DB2ADMIN.AUDIT (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY, AUDITINFO XML, RECORD XML)@ Liệt kê 2. Cài đặt thủ tục được lưu giữ để chèn thông tin kiểm tra vào bảng Kiểm tra CREATE PROCEDURE insertAuditRecord (IN xmlAuditInfo XML, IN xmlRecord XML) SPECIFIC insertAuditRecord P1: BEGIN INSERT INTO DB2ADMIN.AUDIT (AUDITINFO, RECORD) VALUES (xmlAuditInfo, xmlRecord); END P1@ Thủ tục đã lưu lại insertAuditRecord, rồi được bộc lộ qua một Dịch vụ Web Dữ liệu, như trong Hình 3 dưới đây, nó có nghĩa là thủ tục được lưu lại có thể được gọi thông qua các truy vấn SOAP hoặc REST: Hình 3. Tổng quan cấu hình cơ sở dữ liệu log kiểm toán DB2 pureXML Bài này sẽ không đề cập các chi tiết sâu hơn về cách tạo ra Các Dịch vụ Web Dữ liệu. Nếu bạn cần nhiều thông tin hơn, xin đọc bài hướng dẫn "IBM Data Studio: bắt đầu với Các Dịch vụ Dữ liệu Web" (developerWorks, 11.2007). Bước 3: Lập cấu hình thiết bị SOA WebSphere DataPower Nền tảng lý thuyết về thiết bị SOA WebSphere DataPower liên quan đến kịch bản này được giới thiệu trong Bước 3 của bài viết đầu trong loạt bài này. Bước thứ nhất là lập cấu hình xác thực Lược đồ XML. Nói một cách khác, các tài liệu XML mà đang được gửi đến giải pháp này trên thiết bị DataPower sẽ được xác thực đối với một lược đồ XML riêng. Để lập cấu hình việc xác thực lược đồ XML, bổ sung một hành động xử lý xác thực lược đồ XML vào luật xử lý, như trong Hình 4, Số 3: Hình 4. Lập cấu hình tường lửa XML của thiết bị SOA DataPower Hành vi mặc định của việc xác thực lược đồ XML là nếu hành động xác thực thất bại, thiết bị DataPower sẽ phản hồi truy vấn với một thông báo thất bại và mã lỗi HTTP 500 trở lại máy khách mà lúc đầu đã gửi tài liệu XML. Thông báo lỗi chuẩn cho trường hợp này không chứa bất kỳ thông tin nào đặc biệt về lý do hành động xác thực bị thất bại. Để vô hiệu hoá hành vi mặc định và cung cấp nhiều thông tin hơn về xác thực thất bại, chúng ta sẽ gộp cả một hành động đang gặp lỗi trong luật, như trong Hình 4, Số 2. Hành động đang gặp lỗi khiến giải pháp gọi một luật khác gọi là Luật #2 (như trong Hình 5, Số 1). Nếu Luật #2 được gọi, nó thực thi kiểu trang XSL như trong Liệt kê 3. Hình 5. Ảnh chụp màn hình của cấu hình tường lửa thiết bị SOA XML DataPower Sau khi thực hiện Luật #2, hành vi mặc định đối với hành động đang gặp lỗi là hủy bỏ giải pháp xử lý, nó có thể bị vô hiệu hoá để tiếp tục xử lý. Trong kịch bản này, hành động đang gặp lỗi được lập cấu hình để tiếp tục xử lý nếu xảy ra bất kỳ lỗi nghiêm trọng nào trong khi xác thực lược đồ XML. Liệt kê 3. Kiểu trang XSL đọc các chi tiết xác thực thất bại và chèn bản ghi kiểm tra vào cơ sở dữ liệu log kiểm toán DB2 pureXML <xsl:stylesheet version="1.0" xmlns:xsl="" xmlns:dp="" extension-element-prefixes="dp" exclude-result-prefixes="dp"> <dp:url-open target="" response="ignore" data-type="xml" content-type="text/xml"> Kiểu trang XSL trong Liệt kê 3 thu được thông báo lỗi riêng giải thích lý do hành động xác thực bị thất bại và chèn thông báo lỗi vào cơ sở dữ liệu log kiểm toán thông qua Dịch vụ Web Dữ liệu của cơ sở dữ liệu log kiểm toán DB2 pureXML. Kiểu trang sau đó chuyển giao cá thể tài liệu XML gốc cho đầu tiếp nhận. Bây giờ có hai mục còn lại mà thiết bị DataPower cần thực hiện. Mục thứ nhất là áp dụng kiểu trang XSL Schematron vào cá thể tài liệu XML truy vấn sắp tới. Sau khi xác thực Schematron, thiết bị WebSphere DataPower chuyển giao kết quả xác thực Schematron cho Dịch vụ Web Dữ liệu của cơ sở dữ liệu log kiểm toán, nó chèn kết quả xác thực vào cơ sở dữ liệu log kiểm toán DB2 pureXML. Không cần để ý đến đến kết quả xác thực, thiết bị DataPower cũng chuyển giao cá thể tài liệu XML truy vấn cho đầu tiếp nhận. Việc xác thực Schematron và việc chuyển giao đạt được thông qua một hành động chuyển đổi kiểu trang XSL khác, như trong Hình 4, Số 4, nó thực thi kiểu trang XSL như minh hoạ trong Liệt kê 4: Liệt kê 4. Kiểu trang XSL thực thi kiểu trang XSL, chèn kết quả vào cơ sở dữ liệu log kiểm toán DB2 pureXML, và chuyển giao cá thể tài liệu XML cho đầu tiếp nhận <xsl:stylesheet version="1.0" xmlns:xsl="" xmlns:dp="" extension-element-prefixes="dp" exclude-result-prefixes="dp"> <dp:url-open target="" response="ignore" data-type="xml" content-type="text/xml"> All validation Steps completed successfully! <dp:url-open target="" response="xml" data-type="xml" content-type="text/xml"> Trình diễn cURL là một thiết bị dòng lệnh truyền các tệp đến một URL đặc biệt, hỗ trợ các giao thức đa dạng, có cả HTTP và có sẵn để tải về (xem Tài nguyên). Sau khi cài đặt thành công mẫu thí dụ này, bây giờ là lúc cho thấy thiết bị DataPower SOA, DB2 pureXML và Các Dịch vụ Dữ liệu Web hành động cùng nhau. Các tài liệu XML đã được định nghĩa trước trong bài này, sẽ được sử dụng trong trình diễn này. Để bắt đầu, ba cá thể tài liệu XML được gửi đến thiết bị SOA WebSphere DataPower qua công cụ dòng lệnh cURL. Việc trình nộp các cá thể tài liệu XML mẫu được minh hoạ trong Liệt kê 5 dưới đây: Liệt kê 5. Trình nộp các cá thể tài liệu XML mẫu cpichle@DAIRYFARM /tmp $ curl --data-binary @simple_1.xml <ns1:insertPatientResponse xmlns:ns1="urn:example" xmlns:xsi=""/> cpichle@DAIRYFARM /tmp $ curl --data-binary @simple_2.xml <ns1:insertPatientResponse xmlns:ns1="urn:example" xmlns:xsi=""/> cpichle@DAIRYFARM /tmp $ curl --data-binary @simple_3.xml <ns1:insertPatientResponse xmlns:ns1="urn:example" xmlns:xsi=""/> cpichle@DAIRYFARM /tmp $ Sau khi trình nộp các cá thể tài liệu XML mẫu, có thể kiểm tra thông tin kiểm tra và đầu tiếp nhận, được mô tả trong các mục sau đây. Thông tin kiểm toán Lợi ích chính của việc sử dụng DB2 pureXML như một log kiểm toán đối với thiết bị SOA WebSphere DataPower là ở chỗ nó cung cấp một log dễ truy cập. Chúng ta mong đợi ba thông báo lỗi khác nhau và một thông báo thành công trong cơ sở dữ liệu log kiểm toán kết quả như là kết quả của việc trình nộp ba cá thể tài liệu XML mẫu sang thiết bị SOA DataPower. Cá thể tài liệu XML thứ nhất vi phạm luật Schematron, tài liệu thứ hai vi phạm cấu trúc đã định nghĩa trong lược đồ XML và luật Schematron, và cá thể tài liệu XML thứ ba phù hợp với cả lược đồ XML lẫn Schematron. Bây giờ đã có thể truy vấn cơ sở dữ liệu log kiểm toán DB2 pureXML cho các kết quả xác thực các cá thể tài liệu XML. Lệnh truy vấn để thực hiện việc này được minh hoạ trong Liệt kê 6. Lưu ý rằng lệnh truy vấn được cung cấp không trả về các cá thể tài liệu XML gốc chứa trong log kiểm toán. Liệt kê 6. Các bản ghi kiểm tra truy vấn trong cơ sở dữ liệu log kiểm toán DB2 pureXML C:\scenario_2\>db2 CONNECT TO AUDIT Database Connection Information Database server = DB2/NT 9.5.1 SQL authorization ID = CPICHLE Local database alias = AUDIT C:\scenario_2\>db2 SELECT ID, AUDITINFO FROM DB2ADMIN.AUDIT ID AUDITINFO -- ------------------------------------------------------------------- 22 First name must not be 'christian'! 23 cvc-particle 3.1: in element person with anonymous type, found (in default namespace), but next item should be identification 24 First name must not be 'christian'! 25 All validation Steps completed successfully! 4 record(s) selected. C:\scenario_2\> Ngoài các thông báo lỗi và thông báo thành công, cơ sở dữ liệu log kiểm toán còn lưu lại các cá thể tài liệu XML mà các thông báo thuộc về chúng. Truy vấn để lấy ra tất cả các thông báo và các cá thể tài liệu XML được minh hoạ trong Liệt kê 7: Liệt kê 7. Truy vấn khác để lấy ra các bản ghi log kiểm toán đầy đủ chứa cá thể tài liệu XML gốc C:\scenario_2\>db2 SELECT ID, AUDITINFO, RECORD FROM DB2ADMIN.AUDIT Đầu tiếp nhận Do thiết bị SOA WebSphere DataPower thực hiện việc xác thực ba cá thể tài liệu XML, chúng ta có thể mong đợi ba bản ghi tại đầu tiếp nhận. Ở thí dụ trong bài này, đầu tiếp nhận là một cơ sở dữ liệu DB2 pureXML riêng biệt. Cơ sở dữ liệu có thể được truy vấn, như minh hoạ trong Liệt kê 8: Liệt kê 8. Các cá thể tài liệu XML truy vấn lưu trữ trong cơ sở dữ liệu đầu DB2 pureXML C:\scenario_2\>db2 CONNECT TO HOSPITAL Database Connection Information Database server = DB2/NT 9.5.1 SQL authorization ID = CPICHLE Local database alias = HOSPITAL C:\scenario_2\>db2 SELECT ID, COMMENT, RECORD FROM DB2ADMIN.PATIENT ID COMMENT RECORD -- ------- ---------------------------------------------------------- 13 <person xmlns:xsi= xsi:noNamespaceSchemaLocation="simple.xsd"> 1 christian pichler 14 <person xmlns:xsi="" xsi:noNamespaceSchemaLocation="simple.xsd"> christian pichler 15 <person xmlns:xsi="" xsi:noNamespaceSchemaLocation="simple.xsd"> 3 keith wells 3 record(s) selected. C:\scenario_2\> Tóm tắt Bài viết này đã minh hoạ cách sử dụng thực tế và thuận tiện của DB2 pureXML như một log kiểm toán đối với thiết bị SOA WebSphere DataPower. Kịch bản được trình bày có thể áp dụng cho các loại kịch bản ở nơi mà các cá thể tài liệu XML đang được trao đổi. Bài này cho thấy cách DB2 pureXML thêm giá trị phụ vào kịch bản do nó cung cấp một log kiểm toán dễ dàng truy vấn. Các thông tin log kiểm toán được lưu trong cơ sở dữ liệu sẵn sàng dùng để xử lý và phân tích sâu hơn các thất bại của việc xác thực cá thể tài liệu XML. Bài này một lần nữa cho thấy rằng sự kết hợp giữa thiết bị SOA WebSphere DataPower và DB2 pureXML cung cấp một môi trường mạnh và linh hoạt để thực hiện việc xác thực cá thể tài liệu XML. Lời cảm ơn Cảm ơn Bob Callaway và những người đã góp phần vào tác phẩm này qua việc cung cấp các kiến thức và tư vấn hướng dẫn của mình. Mục lục  Giới thiệu  Thiết lập kịch bản  Bước 1: Tạo ra các tài liệu XML, lược đồ XML, Schematron và đầu tiếp nhận  Bước 2: Tạo ra cơ sở dữ liệu log kiểm toán DB2 pureXML  Bước 3: Lập cấu hình thiết bị SOA WebSphere DataPower  Trình diễn  Tóm tắt  Lời cảm ơn
Tài liệu liên quan