Các công cụ và chức năng XML cho những người dùng pureXML của DB2 Giới thiệu: PureXML của DB2 và dữ liệu XML Các doanh nghiệp đang sử dụng ngày càng nhiều hơn các khả năng của pureXML t
Trang 1Các công cụ và chức năng XML cho những người
dùng pureXML của DB2
Giới thiệu: PureXML của DB2 và dữ liệu XML
Các doanh nghiệp đang sử dụng ngày càng nhiều hơn các khả năng của pureXML trong DB2 để lưu trữ, quản lý và truy vấn dữ liệu XML cùng với các dữ liệu của cơ sở dữ liệu chứa các con số
và văn bản truyền thống PureXML của DB2 cho phép lưu trữ XML có hoặc không có xác nhận hợp lệ với lược đồ, tạo các chỉ mục trên các phần tử hoặc các thuộc tính riêng lẻ trong các tài liệu XML, và lấy ra tất cả hoặc các phần của tài liệu XML dựa trên các giá trị của các phần tử và các thuộc tính Các khả năng pureXML này đã cho phép các công ty giảm số lượng mã ứng dụng cần thiết để xử lý XML, loại bỏ được phần việc rất đáng kể là phân tích cú pháp và chuyển đổi XML thành các định dạng khác phù hợp với các cấu trúc quan hệ Bây giờ các ứng dụng có thể thu nhận, chuyển phát, lưu trữ và lấy ra XML mà không cần các phép chuyển đổi trung gian Dòng
chảy đã được hợp lý hóa này thường gọi là xử lý XML xuyên suốt từ đầu đến cuối (được minh
họa trong Hình 1)
Hình 1 Xử lý XML xuyên suốt từ đầu đến cuối
Việc sử dụng khả năng XML mạnh mẽ này trong cơ sở dữ liệu tạo ra nhu cầu phải có các công
cụ để trợ giúp những người dùng cơ sở dữ liệu trong việc tạo, xem và chỉnh sửa XML thô phục
vụ cho các mục đích phát triển và thử nghiệm, cho việc xây dựng các truy vấn và chỉ mục trên
dữ liệu XML, và để làm việc với các lược đồ XML và các đối tượng liên quan khác Có rất nhiều công cụ của IBM, cũng như không của IBM, có các khả năng XML trong danh sách chức năng của chúng Bài viết này phác thảo một số nhiệm vụ chung mà người dùng cơ sở dữ liệu có thể cần thực hiện với dữ liệu XML và xác định các công cụ IBM có thể trợ giúp các nhiệm vụ này Các nhiệm vụ được phân nhóm theo các vai trò cơ sở dữ liệu điển hình, thường thấy trong các tổ chức công nghệ thông tin hiện nay, và xác định các công cụ phù hợp nhất với các nhu cầu XML
có liên quan
Về đầu trang
Bộ công cụ IBM với chức năng XML cho những người dùng DB2
IBM cung cấp các công cụ cho người dùng cuối để quản lý dữ liệu trong suốt vòng đời, bao gồm các nhiệm vụ như là vận hành và bảo trì cơ sở dữ liệu, điều chỉnh, kiến trúc/thiết kế dữ liệu và
Trang 2phát triển ứng dụng Chúng ta hãy xem danh sách tham khảo các công cụ IBM cùng với một mô
tả ngắn gọn các chức năng chính của chúng và các khả năng XML có liên quan:
DB2 Control Center - Trung tâm điều khiển của DB2 (miễn phí, kèm theo cơ sở dữ liệu DB2)
o Quản lý hệ thống và đối tượng cơ sở dữ liệu DB2; cung cấp một giao diện truy vấn tương tác bằng cách sử dụng Trình soạn thảo lệnh (Command Editor) tích hợp
o XML: Tạo và quản lý các đối tượng cơ sở dữ liệu XML, truy vấn và xem dữ liệu XML
o Lưu ý: DB2 Control Center đã lạc hậu, có nghĩa là nó sẽ không được tiếp tục cải
tiến nữa và sẽ bị gỡ bỏ trong bản phát hành trong tương lai, được thay thế bằng chức năng trong các công cụ khác
Hình 2 Trung tâm điều khiển và Trung tâm lệnh DB2
IBM Optim® Development Studio (ODS-Xưởng phát triển Optim) và Data Studio (Xưởng dữ liệu) của IBM
o Phát triển dữ liệu, bao gồm việc tạo và thực hiện các truy vấn (SQL và XQuery)
và các thủ tục đã lưu, phát triển và triển khai các dịch vụ web dữ liệu, và hỗ trợ cho việc phát triển Java™ để truy cập dữ liệu
o XML: Trình soạn thảo XML/Lược đồ, trình ánh xạ XML, các dịch vụ web, Trình thám hiểm cơ sở dữ liệu (Database Explorer), đăng ký Lược đồ, tạo lược đồ XML
từ XML
Trang 3Hình 3 Optim Development Studio
IBM InfoSphere™ Data Architect (IDA - Kiến trúc sư dữ liệu InfoSphere của IBM)
o Mô hình hóa dữ liệu logic và vật lý - thiết kế các cơ sở dữ liệu; khám phá, liên kết, tích hợp, và tiêu chuẩn hóa các tài sản dữ liệu khác nhau; một số phép chuyển đổi mô hình (UML/LDM/PDM)
Trang 4Hình 4 InfoSphere Data Architect
IBM Rational® Application Developer (RAD- Nhà phát triển ứng dụng Rational của IBM) cho Phần mềm WebSphere®
o Phát triển ứng dụng - cung cấp các công cụ liên quan đến việc phát triển Java (các EJB, JPA, JSF và v.v ), kiểm thử và triển khai, bao gồm cả các dịch vụ web, các ứng dụng cổng thông tin và SOA Bao gồm một môi trường thử nghiệm
WebSphere tích hợp
o XML: Trình soạn thảo XML/Lược đồ/XSL, trình soạn thảo ánh xạ XML, Trình thám hiểm cơ sở dữ liệu (Database Explorer); tạo ra định nghĩa bảng quan hệ từ Lược đồ XML
Trang 5Figure 5 Rational Application Developer
Rational Software Architect (RSA-Kiến trúc sư phần mềm Rational) cho Phần mềm WebSphere
o Thiết kế và phát triển hướng mô hình, bao gồm tất cả các tính năng của RAD, cùng với công cụ mô hình hóa và kiến trúc
o XML: Chứa các công cụ XML của RAD, và các chức năng mô hình hóa và kiến trúc (các phép biến đổi, mô hình hóa, UML, và v.v )
Hình 6 Rational Software Architect
Trang 6 InfoSphere Warehouse Design Studio (Xưởng thiết kế kho lưu trữ InfoSphere)
o Công cụ đồ họa để tạo ra các mô hình dữ liệu vật lý, các sơ đồ luồng dữ liệu xây dựng kho lưu trữ dựa trên SQL của DB2, và các mô hình khối lập phương OLAP
o XML: Ánh xạ dữ liệu nguồn XML thành các định nghĩa kho lưu trữ
Hình 7 InfoSphere Warehouse Design Studio
Tóm tắt XML và các công cụ IBM
Các công cụ XML không phải của IBM
Ngoài những công cụ của IBM này, nhiều trình soạn thảo văn bản và mã khác nhau đã thêm các tính năng làm cho việc chỉnh sửa dữ liệu XML dễ dàng hơn, và chúng thường có thể cung cấp các khả năng cần thiết cho nhiều nhiệm vụ của người dùng cơ sở dữ liệu Ngoài ra, có một số nhà cung cấp đã đưa ra các trình soạn thảo văn bản và các công cụ môi trường phát triển tích hợp IDE (Integrated Development Environment) được đặc biệt xây dựng dành cho XML có thể đáp ứng các nhu cầu được thảo luận trong bài viết này, có lẽ chỉ trừ các nhu cầu gắn chặt nhất với các hoạt động cơ sở dữ liệu Một số trong các công cụ IDE dành cho XML nổi tiếng nhất là
XMLSpy của Altova, oXygen của SyncRO Soft, và Stylus Studio của Progress Software Xem
"Phần công cụ không phải của IBM" để biết thêm về chủ đề này
Các công cụ của IBM này có chung một số khả năng XML và trong một số trường hợp, chúng chia sẻ chung các mô đun thành phần Ví dụ, trong mỗi công cụ này, bạn đều có thể thực hiện
Trang 7chỉnh sửa cơ bản các cá thể hoặc các lược đồ XML Ngoài ra, tất cả các công cụ ấy, chỉ ngoại trừ DB2 Control Center, đều dựa trên Eclipse (một nền tảng phát triển nguồn mở có khả năng mở rộng), vì vậy tất cả chúng đều có chung một dáng vẻ và cảm nhận tương tự nhau Phần còn lại của bài này sẽ giúp làm rõ một công cụ có thể thích hợp hơn với một nhiệm vụ cụ thể ở đâu Thường thì một khuyến cáo công cụ không được dẫn dắt chỉ bởi một nhiệm vụ duy nhất, mà còn bởi một ngữ cảnh rộng hơn về vai trò của người dùng cũng như những gì khác nữa cần được thực hiện Có những công cụ khác của IBM có thể bao gồm các khả năng XML, nhưng để ngắn gọn, bài này tập trung vào những công cụ được liệt kê ở trên
Ngoài ra còn có các sản phẩm của IBM bổ sung PureXML của DB2 dành cho các ứng dụng XML, như gói Tính năng mới dành cho XML của IBM WebSphere Application Server (Máy chủ ứng dụng WebSphere của IBM), IBM WebSphere Integration Developer (Nhà phát triển tích hợp WebSphere của IBM) và WebSphere DataPower của IBM Việc tích hợp này nằm ngoài phạm vi của bài này, nhưng chúng đã góp phần vào việc tích hợp các ứng dụng XML xuyên suốt
từ đầu đến cuối Những người dùng các sản phẩm này có thể có các nhu cầu tương tự đối với công cụ hướng XML (Có nhiều thông tin hơn nữa về các chủ đề này trong phần Tài nguyên.)
Về đầu trang
Những người dùng DB2 và tác động của dữ liệu XML
Các chuyên gia công nghệ thông tin với các vai trò riêng biệt trong các công ty có những trách nhiệm khác nhau, mặc dù có liên quan và đôi khi chồng chéo lên nhau Ở một mức độ lớn, vai trò của một cá nhân quyết định anh ta sẽ cần thực hiện các nhiệm vụ nào với dữ liệu XML trong
cơ sở dữ liệu Ví dụ, một số chuyên gia sẽ cần tạo ra hoặc sửa đổi dữ liệu XML, trong khi những người khác chỉ cần hiểu cấu trúc của nó để có thể truy vấn nó một cách hiệu quả Một số các nhiệm vụ XML ấy sẽ được nhiều chuyên gia thực hiện (ví dụ, xem các dữ liệu XML), trong khi những nhiệm vụ khác sẽ là đặc thù của một vai trò cụ thể Trong một số trường hợp, một công cụ đơn lẻ có thể cung cấp tất cả các chức năng để đáp ứng các nhu cầu của một tập các trách nhiệm
cụ thể và thậm chí có thể đáp ứng các nhu cầu của nhiều vai trò Trong trường hợp khác, để đáp ứng các nhu cầu khác nhau của một vai trò cụ thể có thể đòi hỏi nhiều công cụ Phần này phác thảo một tập các vai trò chuyên nghiệp xử lý thông tin và các nhu cầu có liên quan đến dữ liệu
XML của chúng (Lưu ý: Mặc dù các công ty có thể định nghĩa hoặc phân loại vai trò của mình
một cách khác nhau, mỗi hoạt động này sẽ cần được thực hiện bởi một hoặc nhiều nhóm nhân viên) Trong phần tiếp theo, chúng ta xác định các công cụ của IBM có khả năng đáp ứng các nhu cầu đó
Người quản trị cơ sở dữ liệu (DBA)
DBA chịu trách nhiệm về hoạt động của cơ sở dữ liệu của một tổ chức Các nhiệm vụ bao gồm việc lập kế hoạch và quản trị cơ sở dữ liệu, điều chỉnh hiệu năng và dung lượng, tạo và duy trì các chỉ mục và tối ưu hóa các truy vấn, giám sát, và quản lý sao lưu và phục hồi
Các nhiệm vụ XML: Tạo và duy trì các bảng và các khung nhìn với dữ liệu XML; tạo ra và
điều chỉnh các chỉ mục XML; truy vấn và xem các tài liệu XML; lưu trữ và quản lý các tài liệu lược đồ XML
Trang 8Người phát triển cơ sở dữ liệu (người lập trình cơ sở dữ liệu)
Người phát triển cơ sở dữ liệu tạo và tối ưu hóa truy cập cơ sở dữ liệu, bao gồm các truy vấn, các thủ tục đã lưu, các dịch vụ web dữ liệu, và các báo cáo, đôi khi bao gồm cả dữ liệu giao dịch (OLTP) và dữ liệu hướng kho dữ liệu (OLAP) Trong một số tổ chức, vai trò này do một DBA hoặc một người phát triển phần mềm thực hiện
Các nhiệm vụ XML: Truy vấn XML (SQL/XML, XQuery) và phát triển thủ tục lưu sẵn; ánh xạ
và điền dữ liệu kho lưu trữ XML
Người phát triển phần mềm (người lập trình ứng dụng)
Người phát triển phần mềm chịu trách nhiệm thiết kế và phát triển các ứng dụng hoặc các dịch
vụ web để lưu trữ, truy cập, và lấy ra dữ liệu từ cơ sở dữ liệu, và kết nối với các ứng dụng nghiệp
vụ khác Những người trong vai trò này thường sử dụng Java, nhưng cũng có thể sử dụng các ngôn ngữ bậc cao hoặc các ngôn ngữ kịch bản lệnh khác
Các nhiệm vụ XML: Viết các chương trình ứng dụng hoặc các dịch vụ web để lưu trữ và lấy ra
dữ liệu XML một cách hiệu quả từ cơ sở dữ liệu DB2; xem xét XML đối lập với các cấu trúc quan hệ
Kiến trúc sư dữ liệu (người phân tích cơ sở dữ liệu)
Kiến trúc sư dữ liệu có trách nhiệm xác định và chú giải các sơ đồ luồng dữ liệu và cấu trúc của
dữ liệu được xử lý và lưu trữ, thường sử dụng các kỹ thuật mô hình hóa dữ liệu cho các cấu trúc
dữ liệu vật lý và logic
Các nhiệm vụ XML: Thiết kế các cấu trúc cơ sở dữ liệu, bao gồm các cột XML hoặc các cột
quan hệ với dữ liệu được trích xuất từ XML (ánh xạ XML tới quan hệ)
Kiến trúc sư phần mềm (kiến trúc sư ứng dụng)
Kiến trúc sư phần mềm chịu trách nhiệm về mô hình hóa nghiệp vụ mức cao và xác định kiến trúc cho các ứng dụng thực hiện các mô hình nghiệp vụ Họ thiết kế các sơ đồ luồng và kiến trúc ứng dụng, biểu diễn các quy trình nghiệp vụ trong thiết kế ứng dụng
Các nhiệm vụ XML: Viết ra và duy trì các lược đồ XML, các tài liệu XML, hoặc cả hai để mô
tả nghiệp vụ và xác định bất kỳ phép ánh xạ hoặc các phép biến đổi dữ liệu cần thiết nào
Bài này bàn thêm về những vai trò này và phác thảo các công cụ có thể giúp đáp ứng các nhu cầu XML của họ trong phần "Các vai trò người dùng cơ sở dữ liệu và các nhu cầu XML"
Về đầu trang
Xem xét các nhiệm vụ XML chính và các khả năng của công cụ
Trang 9Trước khi đi sâu hơn nữa vào các vai trò cơ sở dữ liệu và các nhu cầu XML có liên quan, trước tiên chúng ta hãy tạm dừng để mô tả một vài trách nhiệm XML chính phổ biến, nổi lên khi dữ liệu XML là một phần của cơ sở dữ liệu Những trách nhiệm này được chia thành các thể loại như: liên quan đến cơ sở dữ liệu, XML nguyên gốc, và liên quan đến ứng dụng Đây chưa phải là một danh sách đầy đủ (chắc chắn có nhiều hoạt động XML khác mà người dùng cơ sở dữ liệu có thể tham gia), nhưng là một diễn giải căn bản về các nhiệm vụ có liên quan đến XML phổ biến nhất đối với những người dùng cơ sở dữ liệu
Các nhiệm vụ XML có liên quan đến đối tượng cơ sở dữ liệu
Các kiểu nhiệm vụ này có liên quan đến việc tạo ra và quản lý các đối tượng trong cơ sở dữ liệu, như các bảng và các chỉ mục
Định nghĩa cấu trúc cơ sở dữ liệu để quản lý dữ liệu XML
Nhiệm vụ này liên quan đến việc định nghĩa lược đồ cơ sở dữ liệu (các bảng, các cột) để lưu trữ dữ liệu XML trong một cơ sở dữ liệu quan hệ May mắn cho những người dùng DB2, việc tạo các bảng để chứa dữ liệu XML là một quá trình rất đơn giản vì XML đã trở thành một kiểu dữ liệu chính thức trong DB2 9 (LUW và z/OS) Điều này có nghĩa rằng chính các lệnh và các công cụ được sử dụng để tạo các bảng với kiểu dữ liệu khác cũng
có thể được sử dụng để tạo các bảng có chứa các cột XML Ví dụ, create table
mytable (idcol int xmldoc xml) sẽ tạo ra một bảng có một cột số nguyên (idcol) và một cột XML (xmldoc) Các xem xét khác với các bảng và các cơ sở dữ liệu, như định nghĩa vùng bảng và phân bổ vùng đệm, cũng được quản lý giống nhau đối với XML cũng như các kiểu dữ liệu quan hệ khác, vì vậy không yêu cầu tạo ra các công cụ mới Tuy nhiên, điều căn bản nhất là các công cụ hiện hành mà các chuyên gia cơ sở dữ liệu sử dụng để thực hiện các nhiệm vụ này đã được mở rộng để bao gồm các chức năng tương
tự cho dữ liệu XML Với DB2 cho LUW và DB2 cho z/OS, sự hỗ trợ XML đã được kết hợp trong các công cụ này, bao gồm cả DB2 Control Center, Bộ xử lý dòng lệnh (CLP), hoặc SPUFI (Bộ xử lý SQL sử dụng đầu vào là tệp) cho z/OS, Cuối cùng, nếu đã thực hiện mô hình hóa, IDA chứa công cụ để ánh xạ mô hình dữ liệu logic hoặc vật lý tới các lược đồ XML, có thể được biểu diễn như là một cột XML trong DB2
Ánh xạ và phép biến đổi XML-tới-quan hệ và quan hệ-tới-XML
Có những lúc bạn có thể cần chuyển đổi dữ liệu từ một định dạng này sang định dạng khác vì nhiều lý do khác nhau Ví dụ, một doanh nghiệp có thể nhận được XML từ một đối tác nhưng cần tích hợp nó vào các ứng dụng truy cập các giá trị phần tử riêng rẽ, vì vậy cần một công cụ để ánh xạ từ XML sang quan hệ Hoặc cần làm cho các tài liệu XML được lưu trữ trong cơ sở dữ liệu có thể truy cập được bởi các công cụ tạo báo cáo chỉ nhận biết các cột dữ liệu rời rạc và không thể xử lý hoặc định dạng XML, do đó, cần
có một cơ chế chuyển đổi Ngược lại, một ứng dụng có thể cần chuyển phát định dạng XML từ dữ liệu bắt nguồn trong các cột quan hệ, do đó, cần có một ánh xạ dữ liệu quan hệ-tới-XML
Trang 10ODS có chứa một trình ánh xạ trực quan chuyên dụng XML-tới-quan hệ để xây dựng các lược đồ có chú thích xác định cách một cấu trúc XML đã cho sẽ được ánh xạ tới các bảng
và các cột quan hệ như thế nào Lược đồ có chú thích này sau đó được nạp vào cơ sở dữ liệu và được sử dụng để biến đổi XML đầu vào thành các cột quan hệ đã định nghĩa Các ánh xạ khác, như XML-tới-quan hệ hoặc quan hệ-tới-XML, có thể được thực hiện bằng cách sử dụng cú pháp SQL/XML rất mạnh, nhưng đây là các cấu trúc mức mã lệnh, chứ không phải là các công cụ trực quan Các công cụ như MapForce của Altova được tạo một cách rõ ràng để ánh xạ trực quan từ một định dạng dữ liệu này sang định dạng dữ liệu khác, bao gồm các định dạng của cơ sở dữ liệu và XML
Phát triển và hướng dẫn truy vấn XML
Đối với nhiều người dùng cơ sở dữ liệu và ứng dụng, SQL là một ngôn ngữ truy vấn quen thuộc, nhưng các phần mở rộng SQL/XML và XQuery đều mới mẻ với họ Với những người dùng ấy, cần có các công cụ cung cấp một môi trường phát triển hoặc hướng dẫn để xây dựng các truy vấn SQL/XML hoặc XQuery Nhu cầu này có thể được
mở rộng nhằm hỗ trợ phát triển các thủ tục đã lưu để hoạt động trên dữ liệu XML Một nhu cầu có liên quan là cần một công cụ để nhận biết XPath đầy đủ của một phần tử hoặc thuộc tính cụ thể trong một tài liệu XML (các tài liệu này có thể là rất lớn, và rất dễ gõ sai một phần đường dẫn do nhầm lẫn, hoặc gõ chữ thường trong khi phải là chữ hoa, và không nhận ra điều đó cho đến khi gỡ lỗi do các truy vấn không đưa ra các kết quả như
dự kiến)
Trình soạn thảo lệnh của Trung tâm điều khiển của DB2 cung cấp một tiện ích để xây dựng và thi hành các truy vấn XML trên một cơ sở dữ liệu, và xem các kết quả XML trong một khung nhìn Các công cụ ODS và RAD/RSA cũng cung cấp một môi trường phát triển truy vấn nhằm hỗ trợ SQL/XML và XQuery, bao gồm việc kiểm tra cú pháp cơ bản và phác thảo truy vấn, cũng như khả năng thi hành trên một cơ sở dữ liệu, hiển thị các kết quả XML, và xây dựng các thủ tục lưu sẵn (xem Hình 8) Những công cụ này cũng có khả năng phát hiện ra đường dẫn XML cơ bản, nhưng nó gắn liền với trình soạn thảo XSLT, vì vậy nó không thực sự có ích cho sự phát triển truy vấn Ngoài IBM, các công cụ hướng XML, như các sản phẩm IDE của XML, đều cung cấp khả năng này trong các sản phẩm trình soạn thảo của chúng
Hình 8 Tạo một câu lệnh XQuery trong ODS