Xây dựng ứng dụng pureXML DB2 trong một ngày Một cách tiếp cận phát triển lặp nhiều vòng Ronny Bartsch Phát triển phần mềm IBM 23 10 2009 Bài viết này mô tả cách thức để xây dựng một ứng dụng IBM® DB2® hoàn chỉnh trong một ngày bằng cách sử dụng kiến trúc XML thông suốt từ đầu đến cuối (end-to-end). Kiến trúc XML thông suốt từ đầu đến cuối có nghĩa là XML sẽ được sử dụng để lưu trữ, xem và thao tác các thông tin. Các ứng dụng có thể được đưa cho các đồng nghiệp và khách hàng xem để có thông tin phản hồi về kiến trúc, cơ sở hạ tầng, và giao diện người dùng. Khả năng phát triển, gia tăng thêm, sửa đổi các ứng dụng thông qua các vòng lặp ngắn sẽ đẩy mạnh phương pháp tiếp cận phát triển ứng dụng lanh lẹn (agile). Giới thiệu XML là sự lựa chọn phổ biến nhất cho việc trao đổi dữ liệu trong ký pháp tự mô tả và có cấu trúc. Bộ các tiêu chuẩn XML của W3C mô tả một tập hợp các đặc tả rất được chào đón bởi các doanh nghiệp, các chính phủ, giới khoa học và các ngành công nghiệp khác. Bởi vì ngôn ngữ SGML, tiền thân trực tiếp của XML đã được sử dụng từ những năm 1980, đã có hơn 20 năm kinh nghiệm và các công cụ để làm việc với XML. Nhiều ngành công nghiệp khác nhau sử dụng tiêu chuẩn XML để định nghĩa các khuôn dạng đặc thù của ngành công nghiệp dành cho việc trao đổi thông tin chuẩn hóa. Ngoài ra, XML là một ký pháp phổ biến để xem và thao tác dữ liệu, ví dụ như thông qua các mẫu XForms hoặc Lotus Forms. XML và các hệ thống cơ sở dữ liệu lai (hybrid), chẳng hạn như DB2 pureXML™, cung cấp cách lưu trữ XML nguyên sinh. Lưu trữ XML nguyên sinh có nghĩa là XML được lưu giữ đúng như bản thân nó vốn có, không cần phải phân chia các thông tin được mã hóa trong các phần tử và các thuộc tính của XML thành các bảng quan hệ (còn gọi là băm nhỏ - shredding). Khả năng sử dụng các định dạng XML và định dạng công nghiệp dựa trên XML cho phép tạo ra các ứng dụng sử dụng kiến trúc XML thông suốt từ đầu đến cuối. Một trong những lợi thế chính của các các ứng dụng XML thông suốt từ đầu đến cuối là cùng một định dạng công nghiệp dựa trên XML hoặc các ký pháp tùy chỉnh có thể được sử dụng để lưu trữ (xem tầng "Data" trong hình 1), để trao đổi (xem tầng "Information Exchange” (Trao đổi thông tin) trong hình 1), và để xem và thao tác XML (xem tầng "User Interaction” (Tương tác người dùng) trong hình 1). © Copyright IBM Corporation 2009 Xây dựng ứng dụng pureXML DB2 trong một ngày Nhẫn hiệu đăng ký Trang 1 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 1. Kiến trúc XML thông suốt từ đầu đến cuối Tổng quan Mục đích của bài viết này là để minh họa cách tạo ra một ứng dụng hoạt động được một cách nhanh chóng bằng cách áp dụng kiến trúc XML thông suốt từ đầu đến cuối cho một định dạng trao đổi đặc thù công nghiệp cụ thể. Định dạng trao đổi được sử dụng như là cơ sở để làm việc được trình bày là định dạng IRS e-File 1120, đó là một định dạng trao đổi được định nghĩa bởi Cục Kho bạc Mỹ cho mục đích báo cáo thuế (xem phần Tài nguyên). Các bước để tạo ra một ứng dụng XML thông suốt từ đầu đến cuối bao gồm: • Tạo một cơ sở dữ liệu pureXML của DB2 có khả năng lưu trữ các tài liệu XML theo định dạng IRS E-file 1120 đúng như nguyên gốc của nó • Trưng ra cơ sở dữ liệu bằng cách sử dụng các dịch vụ phổ quát (Universal Services) để truy cập vào cơ sở dữ liệu thông qua các dịch vụ web • Tạo một giao diện người dùng bằng cách sử dụng Bộ tạo các mẫu biểu XML (XML Forms Generator - XFG) để xem và thao tác tài liệu XML theo định dạng IRS e-File 1120 Cuối cùng, ý tưởng đưa ra là cho các bạn thấy các ứng dụng sử dụng kiến trúc XML thông suốt từ đầu đến cuối có thể được gia tăng thêm với các công nghệ bổ sung để cải thiện chức năng của chúng như thế nào. Trước khi tiếp tục đọc bài viết này, bạn phải đảm bảo rằng các phần mềm được liệt kê trong phần Các yêu cầu đã được cài đặt và được định cấu hình đúng cách. Các yêu cầu Để thử nghiệm và làm theo các chỉ dẫn này, các phần mềm được liệt kê dưới đây cần được cài đặt đúng cách. Chú ý Bản cập nhật của bộ XFG đã được lên kế hoạch để phát hành. Tôi rất khuyên bạn nên đợi đến năm 2009, sau khi thực hiện cập nhật, hãy dùng thử bộ XFG. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 2 của 26 ibm.com/developerWorks/vn/ developerWorks® • IBM DB2 Express-C (BẢN MIỄN PHÍ): Hệ thống cơ sở dữ liệu lai sử dụng công nghệ pureXML để lưu trữ dữ liệu XML theo đúng nguyên gốc. Để biết thêm thông tin, tham khảo mục Tài nguyên của bài viết này. • IBM Data Studio (Bản dùng thử): Đây là môi trường phát triển cung cấp nhiều chức năng, chẳng hạn như đưa ra các phép toán cơ sở dữ liệu dưới dạng các dịch vụ web. IBM Data Studio cũng chính là môi trường cần thiết để chạy XFG. Để biết thêm thông tin, tham khảo phần Tài nguyên của bài viết này. • XML Forms Generator (BẢN MIỄN PHÍ): Là trình cắm thêm (Plug-in) dựa trên nền Eclipse cho phép bạn tạo ra các XForms dựa trên một cá thể tài liệu XML và một tệp tin WSDL (Ngôn ngữ mô tả dịch vụ Web). Để sử dụng đầy đủ các khả năng của trình cắm thêm với pureXML của DB2 IBM, nó phải được cài đặt trong IBM Data Studio. Để biết thêm thông tin, tham khảo phần Tài nguyên của bài viết này. Tạo cơ sở dữ liệu (gói công nghiệp của pureXML DB2) để lưu trữ XML. Gói công nghiệp của pureXML DB2 chứa các mẫu tài liệu XML cho các chuyên ngành hẹp, các liên kết đến các lược đồ XML có liên quan, và mã mẫu để giúp các quản trị viên cơ sở dữ liệu, các nhà phát triển phần mềm và các kiến trúc sư trong các doanh nghiệp chuyên ngành hẹp bắt đầu sử dụng các đặc tính pureXML của cơ sở dữ liệu DB2 phiên bản 9.x. Một gói công nghiệp thường được tạo ra cho một công nghiệp cụ thể, chẳng hạn như gói công nghiệp dành cho Ngôn ngữ đánh dấu sản phẩm tài chính (FpML - Financial products Markup Language) hoặc định dạng IRS e-File 1120. Gói công nghiệp cho định dạng IRS e-File 120 được sử dụng trong bài viết này để tạo ra một cơ sở dữ liệu và điền các tài liệu XML mẫu vào cơ sở dữ liệu đó, cung cấp tầng đầu tiên cho kiến trúc XML thông suốt từ đầu đến cuối (xem hình 2). Hình 2. Tầng đầu tiên cung cấp khả năng lưu trữ XML nguyên thủy Để cài đặt và điền thông tin cho cơ sở dữ liệu pureXML DB2, hãy tham khảo mục Thiết lập cơ sở dữ liệu mẫu trong bài "Các dịch vụ phổ quát cho pureXML bằng cách sử dụng dịch vụ Web dữ liệu" (developerWorks, tháng năm 2008). Nếu bạn cần biểt tổng quan rộng hơn về các gói Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 3 của 26 developerWorks® ibm.com/developerWorks/vn/ công nghiệp, hãy tham khảo bài viết "Bắt đầu với các định dạng và dịch vụ công nghiệp với pureXML" (alphaWorks, tháng Mười hai 2006). (xem phần Tài nguyên). Các cơ sở dữ liệu đã điền thông tin sẽ dùng làm cơ sở để tiếp tục mức phát triển tiếp theo: trưng ra cơ sở dữ liệu thông qua các dịch vụ web. Tạo ra các dịch vụ web (Dịch vụ phổ quát) để trao đổi XML Các dịch vụ phổ quát (Universal Services), dựa trên cơ chế dịch vụ Web dữ liệu là một tập hợp cố định các phép toán cơ sở dữ liệu, bao gồm chèn (insert), cập nhật (update), xóa (delete) và truy vấn để truy cập cơ sở dữ liệu thông qua các yêu cầu REST hoặc SOAP đơn giản như được minh hoạ trong hình 3. Việc thiết lập các dịch vụ phổ quát được thực hiện thông qua việc định cấu hình và thi hành một kịch bản dòng lệnh. Việc thi hành kịch bản lệnh này tạo ra tệp tin lưu trữ web (WAR), có thể được triển khai lên một máy chủ ứng dụng, chẳng hạn như máy chủ WebSphere® Application Server hay Apache Tomcat. Hình 3. Tầng thứ hai trưng ra cơ sở dữ liệu thông qua các hoạt động dịch vụ web Thao tác định cấu hình và cài đặt dịch vụ phổ quát không được minh hoạ thêm nữa vì nó đã được mô tả trong bài báo viết khác, đi kèm theo bài viết này. Vì vậy, hãy tham khảo phần Cài đặt dịch vụ phổ quát của bài viết "Các dịch vụ phổ quát cho pureXML bằng cách sử dụng dịch vụ Web dữ liệu." Nếu bạn cần biết thêm thông tin về Dịch vụ Web dữ liệu, hãy tham khảo phần Tài nguyên. Bây giờ có thể phát triển một giao diện người dùng (UI) để truy cập vào cơ sở dữ liệu thông qua các yêu cầu dịch vụ web đơn giản, như được minh họa trong phần sau đây. Tạo các mẫu (XFG) để xem và thao tác XML Trong phần sau, XForms để xem và thao tác các dữ liệu được lưu trữ trong cơ sở dữ liệu sẽ được tạo ra, và như vậy là cung cấp tầng thứ ba, tầng "Tương tác người dùng", như được minh hoạ tại hình 4. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 4 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 4. Tầng thứ ba để xem và thao tác các thông tin Các mẫu XForms được tạo ra bằng cách sử dụng các trình cắm thêm XFG được cài đặt như là một bộ phận của IBM Data Studio. Vì vậy, chúng tôi giới thiệu tóm tắt về trình cắm thêm XFG này, sau đó là một minh hoạ cho thấy làm thế nào để tạo các mẫu XForms bằng cách sử dụng các trình cắm thêm XFG. Tổng quan về XFG Trong phần sau chúng tôi cung cấp cho bạn một cái nhìn khái quát về các chức năng của các trình cắm thêm XFG. Tuy nhiên, các mô tả chỉ chứa các thông tin có liên quan đến bài viết này mà thôi. Nếu bạn cần có cái nhìn tổng quan rộng hơn và chi tiết hơn về các khả năng của XFG, hãy tham khảo loạt các bài báo viết liên quan sau: "Tích hợp giữa bộ tạo mẫu XML (XFG) và Data Studio" tại phần Tài nguyên. Để tạo các mẫu XForms đầy đủ các chức năng, trình cắm thêm XFG dựa vào quá trình sinh ra nhiều tạo phẩm khác nhau, đó là: các tệp tin WSDL của dịch vụ web sẽ được sử dụng, một tài liệu XML mẫu, và tùy trường hợp có thể thêm một lược đồ XML phù hợp với tài liệu XML. Hình 5. Các tạo tác thời gian chạy thi hành được các trình cắm thêm XFG sử dụng Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 5 của 26 developerWorks® ibm.com/developerWorks/vn/ Để sinh ra các mẫu XForms, trình cắm XFG trước tiên phân tích các tệp tin WSDL, mô tả tất cả các hoạt động của dịch vụ Web có sẵn thông qua một dịch vụ web cụ thể (xem hình 5, mục số 1). Sau khi người dùng chọn một trong những hoạt động có sẵn, trình cắm thêm XFG phân tích các tham số đầu vào khác nhau của hoạt động này, vì đối với mỗi một tham số đầu vào cần phải tạo ra một trường đầu vào thích hợp trong mẫu biểu. Các trường đầu vào này là đơn giản cho các kiểu dữ liệu, ví dụ như các số nguyên hoặc ký tự, nhưng sẽ phức tạp hơn cho các tham số đầu vào thuộc kiểu XML. Việc tạo ra các trường đầu vào cho các kiểu dữ liệu XML được dựa trên một tài liệu mẫu XML (xem hình 5, mục số 2), và tùy trường hợp cũng có thể dựa trên lược đồ XML hậu thuẫn cho (xem hình 5, mục số 3) tài liệu XML đang được sử dụng. Vì vậy, trình cắm thêm tự động lấy ra một bộ các cá thể tài liệu XML mẫu từ cơ sở dữ liệu (xem hình 5, mục số 2). Trong số các tài liệu mẫu XML được lấy ra, người sử dụng có thể chọn một tài liệu XML mẫu làm cơ sở để sinh ra các mẫu XForms. Nếu lược đồ XML hậu thuẫn mà tài liệu XML tham chiếu có sẵn trong kho chứa các lược đồ XML (XSR - XML schema Repository) của DB2, thì người sử dụng có thể chọn để sử dụng các thông tin về lược đồ XML trong việc sinh ra các mẫu XForms. Theo mô tả ở trên thì đây có vẻ là một quá trình phức tạp, nhưng đó là một tác vụ dễ làm, như được minh họa dưới đây. Trước khi tiếp tục, bạn phải đảm bảo rằng một vùng làm việc có chứa tất cả các tạo phẩm mà trình cắm thêm XFG cần đến đã có sẵn. Vùng làm việc này cũng được mô tả tại phần sau. Tạo và chuẩn bị vùng làm việc trong Data Studio Như đã đề cập ở trên, một trong những tạo phẩm mà trình cắm thêm XFG cần đến để sinh ra các mẫu XForms là tệp tin WSDL, tệp tin này mô tả dịch vụ web sẽ được sử dụng. Đặc biệt, điều này có nghĩa là ta cần có một vùng làm việc có chứa tệp WSDL của các dịch vụ phổ quát. Để làm điều này thì các dịch vụ phổ quát thường được nhập khẩu vào một vùng làm việc hiện có hay một vùng làm việc mới. Vì rằng các dịch vụ phổ quát được cấu hình sẵn cho một cơ sở dữ liệu mẫu cụ thể, cần phải điều chỉnh các dịch vụ cho phù hợp với các chi tiết của cơ sở dữ liệu được sử dụng trong kịch bản của bài viết này. Trước khi tiếp tục đọc những chỉ dẫn dưới đây, bạn lưu ý rằng ta có thể: hoặc nhập khẩu và điều chỉnh dự án như được mô tả dưới đây, hoặc nhập khẩu một dự án đã được định cấu hình trước mà không cần phải thực hiện bất kỳ điều chỉnh cụ thể nào. Tôi khuyến khích bạn làm theo cách thứ hai. Tùy chọn 1: Nhập khẩu dự án khởi đầu để phát triển dữ liệu của các dịch vụ phổ quát Để nhập khẩu và điều chỉnh dự án khởi đầu phát triển dữ liệu của các dịch vụ phổ quát, bạn hãy theo các hướng dẫn được cung cấp trong phần Sửa đổi dịch vụ phổ quát của bài viết "Dịch vụ phổ quát cho pureXML bằng cách sử dụng dịch vụ Web dữ liệu" (developerWorks, tháng Năm 2008). Tùy chọn 2 (khuyến khích): Nhập khẩu dự án phát triển dữ liệu của các dịch vụ phổ quát đã được định cấu hình trước Để sử dụng dự án phát triển dữ liệu được định cấu hình trước bằng cách sử dụng các chi tiết kết nối cơ sở dữ liệu chính xác, tên bảng và tên lược đồ của cơ sở dữ liệu chính xác, trước hết bạn tìm đến tệp tin lưu trữ universal_services_data_studio_project_irs1120.zip, sẵn có tại phần Tải về của bài viết này. Để nhập khẩu tệp lưu trữ, bạn làm theo các chỉ dẫn được mô tả trong phần Nhập khẩu dự Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 6 của 26 ibm.com/developerWorks/vn/ developerWorks® án phát triển dữ liệu của các dịch vụ phổ quát trong bài viết "Dịch vụ phổ quát cho pureXML bằng cách sử dụng dịch vụ Web dữ liệu." Bạn lưu ý là sau khi nhập khẩu tệp tin lưu trữ, bạn không cần phải điều chỉnh gì thêm. Sử dụng XFG Phần này minh hoạ cách để tạo ra các mẫu biểu XML cho định dạng thông điệp IRS e-File 1120 bằng cách sử dụng XFG. Việc tạo ra các mẫu XForms yêu cầu Data Studio phải được khởi chạy bằng cách sử dụng vùng làm việc có chứa dự án phát triển dữ liệu của dịch vụ phổ quát được nhập khẩu tại bước ở trên. Người sử dụng XFG trong Data Studio được hướng dẫn từng bước quá trình tạo ra các mẫu XForms nhờ một trình thủ thuật. Tất cả các bước được thực hiện thông qua trình thủ thuật được mô tả chi tiết hơn dưới đây. Bước 1: Để khởi chạy trình thủ thuật sẽ hướng dẫn bạn quá trình tạo ra các mẫu XForms, bạn dẫn hướng chuyển tới tệp tin WSDL mô tả dịch vụ phổ quát tại trình thám hiểm (explorer) dự án dữ liệu của Data Studio, sau đó nhấn chuột phải vào tệp tin WSDL. Thao tác nhấn chuột sẽ làm xuất hiện một trình đơn phụ . Trong trình đơn phụ hãy chọn Generate XHTML/XForm để khởi chạy trình thủ thuật, như được minh họa tại hình 6. Hình 6. Khởi chạy trình thủ thuật Bước 2: Như đã đề cập ở phần trên, trình cắm thêm XFG sử dụng một tài liệu XML mẫu và một tệp tin WSDL để tạo mẫu XForms. Để lấy ra các tài liệu XML mẫu từ cơ sở dữ liệu, thì trình cắm thêm XFG cần các ủy nhiệm của người sử dụng để truy cập vào được cơ sở dữ liệu. Vì vậy, như được mô tả tại hình 7, bạn cần phải cung cấp tên người dùng và mật khẩu hợp lệ. Ngoài ra, cần phải đánh dấu chọn tùy chọn "Lấy ra một cá thể PureXML từ cơ sở dữ liệu” (Retrieve PureXML instance from Database) để kích hoạt trình cắm thêm XFG thực sự lấy được các mẫu từ cơ sở dữ liệu. Nhấn Next để tiếp tục. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 7 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 7. Định cấu hình các thông tin truy cập cơ sở dữ liệu Bước 3: Sau khi XFG phân tích tệp tin WSDL và ghi nhận tất cả các hoạt động sẵn có, trình thủ thuật cho phép lựa chọn một trong những hoạt động đó. Vì các mẫu XForms được sử dụng để chèn thêm các thông tin mới vào cơ sở dữ liệu, hoạt động có tên là "insertXML()" được chọn, như được minh hoạ tại hình 8. Nhấn Next để tiếp tục. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 8 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 8. Chọn hoạt động dịch vụ Web Bước 4: Vì hoạt động đã lựa chọn trong bước trên chứa một tham số đầu vào có kiểu XML, trình thủ thuật cho phép bạn chọn một tài liệu XML mẫu được sử dụng làm cơ sở để tạo ra các trường đầu vào và các điều khiển (controls) thích hợp. Việc lấy ra các tài liệu XML mẫu được kích hoạt thông qua thao tác nhấn vào nút nằm trong cột "Cá thể tham chiếu” (Reference Instance) (xem hình 9). Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 9 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 9. Chọn tài liệu XML mẫu để tham chiếu Một cửa sổ riêng biệt mở ra, hiển thị các tài liệu XML mẫu được lấy ra từ cơ sở dữ liệu. Một trong những tài liệu XML mẫu đó cần phải được chọn (xem hình 10). Nhấn OK để tiếp tục. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 10 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 10. Chọn tài liệu XML mẫu để tham chiếu Tài liệu XML mẫu được chọn trong bước trên giờ đây được sử dụng làm cơ sở để tạo ra các trường đầu vào và các điều khiển cho mẫu XForms (xem hình 11). Nhấn Next để tiếp tục. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 11 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 11. Chọn tài liệu XML mẫu để tham chiếu Bước 5: Trình cắm thêm XFG cần có một tên tệp tin và vị trí phù hợp để lưu trữ mẫu XForms đã được tạo ra. Vì vậy, hoặc là bạn giữ nguyên cài đặt mặc định không sửa đổi (xem hình 12) hoặc bạn chọn tên tệp tin và vị trí của nó tùy ý muốn. Nhấn Next để tiếp tục. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 12 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 12. Chọn tên tệp tin và vị trí cho XForms Bước 6: Để tạo ra các mẫu XForms với đầy đủ chức năng, trình cắm thêm XFG cho phép bạn xác định điểm cuối (endpoint) của dịch vụ web sẽ được sử dụng. Trong kịch bản này, điểm cuối là điểm cuối SOAP của các dịch vụ phổ quát (http://localhost:8080/UniversalServices/services/ UniversalServices). Để chỉ rõ một điểm cuối tùy chỉnh, bạn bỏ chọn mục Use default submit target. và nhập điểm cuối SOAP của dịch vụ phổ quát vào trường đầu vào có tên là "Use this submit target" (xem hình 13). Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 13 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 13. Xác định điểm đích sẽ được sử dụng Bước 7: Một tạo phẩm khác được trình cắm thêm XFG sử dụng là lược đồ XML kết hợp với cá thể tài liệu XML. Vì một lược đồ XML mô tả cấu trúc của các cá thể tài liệu XML, cho phép bạn định nghĩa các phần tử và các thuộc tính bắt buộc cũng như tùy chọn, nên trình thủ thuật cho phép lựa chọn giữa hai khả năng: các trường đầu vào được tạo ra cho tất cả các phần tử và các thuộc tính (tùy chọn cũng như bắt buộc), hoặc chỉ các thành phần và thuộc tính bắt buộc mà thôi. Hãy để nguyên không thay đổi các cài đặt và nhấn Next để tiếp tục (xem hình 14). Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 14 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 14. Chọn kiểu phần tử và thuộc tính sẽ được tạo ra Bước 8: Trình cắm thêm XFG cũng cho phép bạn lưu trữ lược đồ XML và tài liệu XML mẫu được sử dụng làm cơ sở để tạo ra các mẫu XForms. Vì vậy, hãy chọn tên tệp tin và vị trí cho tài liệu XML này (xem hình 15) cũng như cho lược đồ XML (xem hình 16). Đối với mỗi thao tác bạn nhấn Next để tiếp tục. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 15 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 15. Chọn tên tập tin và vị trí cho tài liệu XML mẫu Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 16 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 16. Chọn tên tập tin và vị trí cho lược đồ XML Theo các cài đặt được lựa chọn thông qua các trang khác của trình thủ thuật, mẫu XForms đã được tạo ra (xem hình 17). Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 17 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 17. Mẫu XForms đã được tạo ra hoàn chỉnh Chạy ứng dụng Sau khi bạn hoàn tất cả ba nhiệm vụ chủ yếu, thì đây là lúc để xem các mẫu XForms được tạo ra hoạt động như thế nào. Để biểu hiện đúng đắn các mẫu XForms, bạn cần sử dụng trình duyệt Web Mozilla Firefox. Hơn nữa, Mozilla Firefox cần được cài đặt trình cắm thêm XForms dành cho Mozilla. Lưu ý rằng không phải tất cả các phiên bản của trình cắm thêm XForms cho Mozilla đều tương thích với mọi phiên bản của Mozilla Firefox. Phần mềm được sử dụng trong kịch bản này là Mozilla Firefox, phiên bản 2.0.0.18 cùng với trình cắm thêm XForms cho Mozilla, phiên bản 0.8.6ff2. Mẫu XForms được biểu hiện có thể tương tự như mẫu XForms được minh hoạ tại hình 18. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 18 của 26 ibm.com/developerWorks/vn/ developerWorks® Hình 18. Mẫu XForms được biểu hiện trong Mozilla Firefox với các dữ liệu đầu vào đã được nhập Để tiếp tục bạn nhập thông tin vào các trường đầu vào có sẵn. Lưu ý rằng hai trường đầu vào đặc biệt, được đặt tên là "P1" và "P2", là hai thông số đầu vào của hoạt động dịch vụ web được sử dụng để tạo ra mẫu XForms. Tham số đầu có tên là "P1" có kiểu dữ liệu là số nguyên (integer), còn tham số đầu vào "P2" kia có kiểu là ký tự (character). Các dữ liệu mẫu được nhập để minh họa mẫu XForms trong kịch bản này là số "24" cho tham số "P1" và đoạn văn bản "data entered through XForms” (dữ liệu được nhập vào thông qua mẫu XForms cho tham số "P2". Hai trường đầu vào cho các tham số "P1" và "P2" sẽ có một số trường đầu vào theo sau, các trường này được tạo ra dựa trên các phần tử và thuộc tính của tài liệu XML mẫu được sử dụng để tạo ra mẫu XForms. Dữ liệu mẫu có thể được nhập vào trong bất kỳ trường đầu vào nào. Sau khi nhập dữ liệu cần thiết, bạn cuộn xuống dưới, tới tận phần cuối của mẫu biểu, nơi có nút Submit (xem hình 19). Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 19 của 26 developerWorks® ibm.com/developerWorks/vn/ Hình 19. Nút Submit để gọi chức năng đệ trình mẫu XForms Nhấn Submit để gọi chức năng đệ trình mẫu XForms, chèn dữ liệu đã nhập vào cơ sở dữ liệu pureXML DB2 thông qua các dịch vụ phổ quát. Do đó, thông điệp trả lời từ dịch vụ Web được hiển thị (xem hình 20), thông báo rằng việc chèn dự liệu vào cơ sở dữ liệu đã thành công. Hình 20. Trả lời từ dịch vụ Web Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 20 của 26 ibm.com/developerWorks/vn/ developerWorks® Để đảm bảo rằng các bản ghi mới được đưa vào cơ sở dữ liệu, ta lại có thể sử dụng trang kiểm thử, được bao gồm kèm theo như một phần của dịch vụ phổ quát. Nếu bạn muốn biết thêm thông tin về cách truy cập vào trang kiểm thử, xin tham khảo phần Kiểm thử các dịch vụ phổ quát trong bài viết "Các dịch vụ phổ quát cho pureXML bằng cách sử dụng dịch vụ Web dữ liệu." Đường dẫn URL để truy cập vào dịch vụ phổ quát thường là như sau: http://localhost:8080/UniversalServices/wsdl. Lưu ý rằng tên máy chủ và số hiệu cổng có thể thay đổi tùy theo cấu hình hệ thống đang được sử dụng trên máy tính cục bộ của bạn. Tại trang kiểm thử, bạn điều hướng tới hoạt động getXMLDocumentByKey, và nhập mã định danh của bản ghi mới được tạo ra (ví dụ, số "24" được nhập vào trường đầu vào "P1" của mẫu Xforms) và nhấn vào Invoke để gọi ra hoạt động dịch vụ Web. Kết quả là dữ liệu được nhập vào mẫu XForms trước đó sẽ được hiển thị, như minh hoạ trong hình 21. Hình 21. Thông tin được nhập trước đó vào mẫu XForms Gia tăng thêm cho ứng dụng Bài viết này đã trình bày việc tạo ra một ứng dụng rất dễ dàng, đơn giản và nhanh chóng bằng cách sử dụng một kiến trúc XML thông suốt từ đầu đến cuối. Giao diện người dùng và dịch vụ phổ quát sau đó có thể được điều chỉnh để đáp ứng các phản hồi. Ngoài ra, còn có một số khả năng để mở rộng ứng dụng bằng các chức năng bổ sung. Một trong những khả năng mở rộng có thể là việc xác nhận hợp lệ dữ liệu nhập vào mẫu XForms. Hiện tại, mẫu XForms được tạo ra thông qua trình cắm thêm XFG có thể chứa các quy tắc xác Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 21 của 26 developerWorks® ibm.com/developerWorks/vn/ nhận hợp lệ đơn giản được sinh ra dựa trên những siêu dữ liệu của các thông số đầu vào của các hoạt động dịch vụ web đã sử dụng và dựa trên lược đồ XML được sử dụng làm cơ sở để sinh ra mẫu XForms. Tuy nhiên, có một công nghệ phụ để xác nhận tính hợp lệ của nội dung XML là Schematron, nó có thể được sử dụng kết hợp với XForms. Bạn có thể xem ví dụ về cách tích hợp quy tắc xác nhận hợp lệ của Schematron vào mẫu XForms tại bài viết "Áp dụng các ràng buộc của Schematron vào các tài liệu XForms một cách tự động" (developerWorks, tháng Sáu, năm 2006). Một tùy chọn khác, thích hợp nhất trong các ứng dụng phức tạp, là đưa tải công việc xác nhận hợp lệ cấu trúc và nội dung tới một thiết bị ngoài, ví dụ như thiết bị SOA DataPower WebSphere của IBM. Thiết bị này là một phần cứng chuyên xử lý XML, nó cung cấp một số chức năng, chẳng hạn như xác nhận lược đồ XML và xác nhận hợp lệ Schematron. Một kịch bản ví dụ là đệ trình dữ liệu được nhập vào mẫu XForms tới thiết bị SOA DataPower WebSphere của IBM, thiết bị này, nếu xác nhận hợp lệ thành công, sẽ chuyển tiếp dữ liệu tới các dịch vụ phổ quát để cuối cùng chèn dữ liệu vào cơ sở dữ liệu. Nếu không thành công, dữ liệu sẽ không được chấp nhận. Để xem một ví dụ thực tế thiết bị này có thể được sử dụng như thế nào trong bối cảnh dịch vụ phổ quát, xin tham khảo "DataPower WebSphere và pureXML DB2, phần 1" (developerWorks, tháng Năm, 2008) và "DataPower WebSphere và pureXML DB2, phần 2" (developerWorks, tháng Sáu, 2008). Kết luận Bài viết này đã cho bạn thấy rằng, không cần nhiều nỗ lực, có thể tạo ra một ứng dụng với đầy đủ chức năng bằng cách sử dụng kiến trúc XML thông suốt từ đầu đến cuối. Như được minh họa trong bài viết, việc tạo ứng dụng bao gồm ba bước cơ bản, trong đó mỗi bước được hỗ trợ thông qua các tạo phầm đã có sẵn. Một trong những lợi thế chính của việc tạo ra một ứng dụng bằng cách sử dụng XML ở tất cả các cấp độ của kiến trúc ứng dụng là tránh được việc phải chuyển đổi dữ liệu từ định dạng này sang định dạng khác. Thực vậy, cùng một định dạng thông tin có thể được sử dụng để lưu trữ thông tin, trao đổi thông tin, để xem và thao tác thông tin. Chúng tôi hy vọng rằng bài viết này sẽ giúp bạn khởi công các dự án, sử dụng tất cả các lợi thế của kiến trúc XML thông suốt từ đầu đến cuối. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 22 của 26 ibm.com/developerWorks/vn/ developerWorks® Các tải về Mô tả Tên Kích thước Universal Services data development project universal_services_data_development_project_irs1120.zip 204KB Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 23 của 26 developerWorks® ibm.com/developerWorks/vn/ Tài nguyên Học tập • Các định dạng và dịch vụ công nghiệp với pureXML: Tải về miễn phí rất nhiều ví dụ đa dạng! Mỗi ví dụ minh hoạ cách làm việc với các định dạng công nghiệp dựa trên XML và pureXML. Các ví dụ cho ta biết cách đăng ký một lược đồ XML, cách thực hiện các xác nhận hợp lệ các cá thể tài liệu XML, cách truy vấn dữ liệu XML bằng cách sử dụng XQuery hoặc SQL/XML và nhiều hơn nữa. • W3C XForms: Tìm liên kết tới đặc tả kỹ thuật chính thức của XForms, cũng như một loạt các lựa chọn để biểu hiện mẫu XForms. • Trang chủ của W3C: Tìm hiểu thêm về XHTML, CSS (Cascading Style Sheets phiếu định kiểu xếp tầng) XML, các sự kiện XML, XPath, và các tiêu chuẩn khác có liên quan. • Sở Thuế Vụ nội vụ - Cục Kho bạc Mỹ: Lấy thông tin về Sở Thuế Vụ (IRS), các mẫu để lập các báo cáo khác nhau, và lấy phiên bản điện tử của các mẫu đó, được gọi là mẫu e-File. • "Tạo dịch vụ Web cho pureXML DB2 9" (developerWorks, tháng Bảy 2007): Tạo các dịch vụ web để chèn vào và lấy ra các dữ liệu XML từ cơ sở dữ liệu pureXML DB2 9. • "Trưng ra cơ sở dữ liệu pureXML DB2 version 9 bằng cách sử dụng WebSphere Integration Developer" (developerWorks, tháng Chín 2007): Xây dựng trình khách để truy cập các dịch vụ phổ quát. • "Data Studio IBM: Bắt đầu với dịch vụ Web dữ liệu" (developerWorks, tháng Mười một, 2007): Cung cấp các hướng dẫn rất chi tiết và đơn giản về cách phát triển dịch vụ web dữ liệu đầu tiên của bạn. • "Dịch vụ Web dữ liệu: Xây dựng dịch vụ Web, cách thức mới để truy cập vào máy chủ cơ sở dữ liệu IBM" (developerWorks, tháng Mười hai, 2007): Tạo và tuỳ chỉnh một dịch vụ web dữ liệu. Bài viết cung cấp các nền móng lý thuyết hữu ích về dịch vụ web dữ liệu, bao gồm một tổng quan kiến trúc về dịch vụ Web dữ liệu. Bài viết đề cập đến các khía cạnh khác nhau của dịch vụ Web dữ liệu, chẳng hạn như đảm bảo an ninh. • Schematron: Schematron là một ngôn ngữ để thực hiện xác nhận các mẫu được tìm thấy trong các tài liệu XML và do đó nó có thể được sử dụng để kiểm tra hợp lệ nội dung của các tài liệu XML. • IBM WebShpere DataPower SOA Appliance: Đọc bài tổng quan về dòng sản phẩm các thiết bị SOA DataPower của IBM. • Vùng Quản lý thông tin của developerWor:Tìm hiểu thêm về DB2. Tìm tài liệu hướng dẫn kỹ thuật, các bài viết báo “làm thế nào”, tài nguyên đào tạo, tải về, thông tin sản phẩm, và nhiều hơn nữa. • Theo dõi sát các sự kiện kỹ thuật và phát tin trên Web của developerWorks . Lấy sản phẩm và công nghệ • IBM Data Studio: Tải về môi trường phát triển được sử dụng để phát triển các dịch vụ Web dữ liệu, miễn phí. • DB2 Express-C: Tải về phiên bản miễn phí của DB2, bao gồm các đặc tính lõi như các máy chủ dữ liệu khác, chẳng hạn như công nghệ pureXML. DB2 Express-C sản phẩm là miễn phí để phát triển, triển khai và phân phối. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 24 của 26 ibm.com/developerWorks/vn/ developerWorks® • Trình tạo các mẫu XML: Tạo các mẫu hoạt động được, tuân thủ chuẩn chỉ với một cú nhấn chuột bằng cách sử dụng công cụ dựa trên nền Eclipse này từ alphaWorks. • Mozilla XForms: Biểu hiện các mẫu tuân thủ chuẩn trong Mozilla Firefox bằng cách sử dụng trình cắm thêm này. • FormsPlayer: Một trình cắm thêm cho Internet Explorer, biểu hiện các mẫu XForms. • Visual XForms Designer: Xem trang chủ, với các liên kết đển hướng dẫn cài đặt, các yều cần trước và diễn đàn. • Bộ công cụ cho tài liệu XML pha trộn: Khám phá các đánh dấu XML theo chuẩn mở khác, bao gồm cả Scalable Vector Graphics (SVG), MathML, VoiceXML, và Synchronized Multimedia Integration Language (SMIL). • Xây dựng dự án phát triển kế tiếp của bạn với phần mềm dùng thử của IBM, có sẵn để tải trực tiếp từ developerWorks. Thảo luận • Xem trang developerWorks blogs và dành tâm trí cho cộng đồng developerWorks. Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 25 của 26 developerWorks® ibm.com/developerWorks/vn/ Đôi nét về tác giả Ronny Bartsch Ronny Bartsch là nhà phát triển phần mềm và làm việc cho bộ phận Quản lý thông tin của IBM (một bộ phận của Tập đoàn phần mềm IBM). Ông đã phát triển các bó công nghiệp và các sản phẩm trình diễn liên quan đến các tiêu chuẩn công nghiệp bằng cách sử dụng XML và DB2 pureXML © Copyright IBM Corporation 2009 (www.ibm.com/legal/copytrade.shtml) Nhẫn hiệu đăng ký (www.ibm.com/developerworks/vn/ibm/trademarks/) Xây dựng ứng dụng pureXML DB2 trong một ngày Trang 26 của 26