Sử dụng XSLT trong IBM Data Studio Developer để chuyển đổi các thông điệp dịch vụ Web dữ liệu (Data Web Services) ppsx

116 394 0
Sử dụng XSLT trong IBM Data Studio Developer để chuyển đổi các thông điệp dịch vụ Web dữ liệu (Data Web Services) ppsx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sử dụng XSLT trong IBM Data Studio Developer để chuyển đổi các thông điệp dịch vụ Web dữ liệu (Data Web Services) Cách sử dụng đặc tính XSLT trong dịch vụ Web dữ liệu để tùy biến các thông điệp vào và ra của dịch vụ Web Kavitha Pullela, Kỹ sư phát triển phần mềm, IBM Michael Schenker, Kỹ sư phần mềm, IBM Tóm tắt: IBM® Dịch vụ Web dữ liệu là một phần của IBM Data Studio Developer, một nền công cụ đồng nhất cho các máy chủ cơ sở dữ liệu IBM. Dịch vụ Web dữ liệu có thể được sử dụng để thể hiện các thao tác cơ sở dữ liệu và các thủ tục đã được lưu trữ như là các dịch vụ Web mà không phải lập trình. Bạn có thể tùy biến thêm các thông điệp mà các ứng dụng khách gửi và nhận từ các dịch vụ Web. Bài viết này hướng dẫn bạn cách áp dụng các phép biến đổi XSL cho các thông điệp vào và ra để phù hợp với đa dạng khách hàng. Trước khi bắt đầu Tìm hiểu xem mình mong đợi gì từ bài viết này và làm thế nào để có được kết quả cao nhất Lời giới thiệu Một đặc tính rất mạnh của các dịch vụ Web dữ liệu là khả năng ứng dụng các biến đổi XSL phía máy chủ cho các phản hồi và yêu cầu dịch vụ Web. Đặc tính này cho phép bạn tùy biến định dạng của các thông điệp mà khách hàng nhìn thấy. Đặc tính này đặc biệt quan trọng trong các trường hợp mà các yêu cầu định dạng dịch vụ Web cho các tổ chức, các ngành chỉ rõ là các thông điệp dịch vụ cần phải có dạng như thế nào. Các dịch vụ Web dữ liệu có định dạng thông điệp mặc định khi có yêu cầu dịch vụ Web và các thông điệp phản hồi. Định dạng thông điệp và các tên thẻ XML trong các thông điệp đó phụ thuộc vào tên thao tác dịch vụ Web, tập kết quả tên các cột, Trong một số trường hợp, do yêu cầu định dạng thông điệp hoặc chỉ đơn giản là bởi vì bạn muốn giấu các tên thẻ ngầm định, bạn có thể không muốn để cho khách hàng nhìn thấy các tên thẻ ngầm định đó. Sử dụng đặc tính XSLT phía máy chủ, chúng ta có thể làm cho các yêu cầu XML đến và các kết quả đi có dạng khác với định dạng thông điệp ngầm định của dịch vụ Web dữ liệu. Nói chung, các dịch vụ Web có thể được xây dựng bằng cả cách tiếp cận từ trên xuống (top-down) hoặc từ dưới lên (bottom-up). Với cách tiếp cận từ trên xuống, bạn bắt đầu với một đặc tả dịch vụ (ví dụ, một tệp WSDL) rồi tiếp theo, chạy đoạn mã phía dưới để sao cho phù hợp với đặc tả đó. Với cách tiếp cận từ dưới lên, bạn bắt đầu với một Java bean hoặc một câu lệnh SQL và đưa ra kết quả là các dịch vụ Web. Sử dụng các dịch vụ Web dữ liệu, bạn bắt đầu với các thao tác DML (ví dụ, các truy vấn) và hiển thị chúng như là các dịch vụ Web. Do đó, đặc trưng là kiểu phát triển chương trình từ dưới lên. Tuy nhiên, bằng cách áp dụng XSLT vào các thông điệp dịch vụ, trong nhiều trường hợp, bạn có thể chiếu định dạng dịch vụ của các thông điệp dạng bottom-up sang thiết kế top-down. Cách này làm giảm bớt một số yêu cầu định dạng dịch vụ kiểu top-down trong khi cho phép bạn phát triển các dịch vụ Web bottom-up. Việc chuyển đổi cũng có thể được sử dụng để chuyển dữ liệu đến cho khách hàng dưới định dạng có thể đọc được ví dụ như là HTML, JSON, RSS feeds hay bất cứ định dạng văn bản(text) nào mà có thể là kết quả từ một phép biến đổi XSL Bài viết này hướng dẫn để bạn tạo ra và triển khai các dịch vụ Web dữ liệu IBM trên một máy chủ ứng dụng và cũng đưa ra một cái nhìn tổng quát toàn diện về việc làm thế nào để sử dụng đặc tính XSLT để tùy biến các thông điệp đến và đi của một dịch vụ Web minh họa cho vừa vào lược đồ XML tùy biến của bạn. Hình 1. Áp dụng XSLT – Tùy chọn các định dạng phân tán Các mục tiêu Trong bài viết này bạn sẽ học:  Sử dụng đặc tính XSLT, mà giờ đây đặc tính này là một phần của các dịch vụ Web dữ liệu.  Tạo ra một lược đồ ngầm định cho một dịch vụ Web minh họa.  Ứng dụng các phép biến đổi kiểu Web để hiển thị đầu ra dưới các định dạng HTML, JSON và RSS.  Ứng dụng các lược đồ tùy biến của bạn cho các thông điệp SOAP. Các điều kiện tiên quyết Bài viết này viết cho các lập trình viên cơ sở dữ liệu, những người đã quen thuộc với IBM Data Studio và biết làm thế nào để thực hiện các thao tác thông thường như là tạo một kết nối cơ sở dữ liệu, một dự án phát triển dữ liệu và các tập lệnh SQL hoặc các thủ tục lưu trữ. Nếu bạn chưa quen thuộc với các thao tác này thì trước tiên bạn nên hoàn thành giáo trình "IBM Data Studio: Get started with Data Web Services" (developerWorks, 11 - 2007). Các kiến thức cơ sở về XSLT, XSD, và XPath được giới thiệu ở giáo trình này. Bởi vì tất cả các ví dụ trong tài liệu hướng dẫn này đều dựa trên WebSphere® Application Server Community Edition server như là môi trường đích, nên ở đây chúng ta giả sử rằng người đọc đã cài đặt Data Studio Developer 1.2 với WebSphere Application Server Community Edition server và đã thiết lập kết nối với cơ sở dữ liệu DB2 SAMPLE. Các yêu cầu hệ thống Để chạy các ví dụ trong tài liệu hướng dẫn này, bạn cần:  IBM Data Studio Developer 1.2 cài đặt trên Windows  IBM WebSphere Application Server Community Edition 1.1.0.2  DB2 Versions 8 or 9 for Linux, Unix and Windows với cơ sở dữ liệu SAMPLE đã được tạo sẵn. Tạo một dịch vụ Web đơn giản Bài viết này sử dụng một ứng dụng Web đơn giản để minh họa các đặc tính XSLT. Phần này mô tả cách bạn tạo ra dịch vụ Web này bằng cách sử dụng IBM Data Studio Developer. Dịch vụ Web này dựa trên cơ sở dữ liệu DB2 SAMPLE. Bài viết "IBM Data Studio: Get started with Data Web Services" (developerWorks, 11 - 2007) chỉ cho bạn cách làm thế nào để có thể tạo ra một kết nối cơ sở dữ liệu và một khởi tạo WebSphere Application Server Community Edition server. Bài viết này giả sử rằng bạn đã có kết nối cơ sở dữ liệu DB2 SAMPLE và WebSphere Application Server Community Edition server đã được cài đặt. Tạo một dự án phát triển dữ liệu 1. Tạo một dự án phát triển dữ liệu bằng cách nhấn chuột phải vào khoảng trống trong Data Project Explorer và chọn New > Data Development Project. Hình 2. Tạo một dự án phát triển dữ liệu mới 2. Đặt tên dự án ProjectXSLT, và nhấn Next. Hình 3. Các tùy chọn để tạo một dự án mới 3. Sử dụng kết nối với cơ sở dữ liệu DB2 SAMPLE mà chúng ta đã thiết lập trước đây, rồi nhấn Finish. Hình 4. Các tùy chọn để tạo một dự án mới 4. Dự án mới trong Data Project Explorer cần phải có dạng như sau: Hình 5. Dự án phát triển dữ liệu đã được tạo ra Tạo ra một dịch vụ Web mới trong dự án 1. Tạo ra một dịch vụ Web mới bằng cách nhấn chuột phải vào thư mục Web Services trong dự án phát triển dữ liệu của bạn và chọn New Web Service. Hình 6. Tạo một dịch vụ Web 2. Đặt tên cho dịch vụ Web MyWebServiceXSLT và để urn:example như là namespace (không gian tên) URI. Không gian tên URI được sử dụng trong WSDL để làm cho dịch vụ Web cũng như các lược đồ XML phù hợp với các thông điệp vào và ra của XML. Bằng cách tuân thủ các quy định về việc tạo URI, bạn có thể đưa vào bất cứ chuỗi kí tự nào. nhấn Finish. Hình 7. Các tùy chọn để tạo một dịch vụ Web 3. Đến bây giờ thì dự án phát triển dữ liệu của bạn cần phải có dạng như Hình 8. Sử dụng thủ thuật này, bạn đã tạo ra một “lớp vỏ” cho dịch vụ Web dữ liệu, và giờ đây thì dịch vụ Web dữ liệu này đã có thể được đưa vào sử dụng với các thao tác cơ sở dữ liệu. [...]...Hình 8 Dự án với dịch vụ Web mới đã được tạo ra Thêm các thao tác cơ sở dữ liệu vào dịch Web 1 Bạn có thể thêm các thao tác cơ sở dữ liệu và lưu các thủ tục vào dịch vụ Web của bạn bằng cách nhấn chuột phải vào dịch vụ Web và chọn New Operation Hình 9 Thêm các thao tác cơ sở dữ liệu vào dịch vụ Web 2 Đặt tên cho thao tác getAllEmp và định nghĩa thao tác đó, như đã được chỉ ra trong Hình 10 rồi chọn... dụ của dịch vụ Web đã được định nghĩa Trong phần sau, bạn sẽ sinh ra lược đồ ngầm định cho thông điệp vào và ra Sinh ra một lược đồ ngầm định cho thông điệp vào và ra Phần này hướng dẫn bạn cách lấy lược đồ ngầm định cho các thông điệp vào và ra Khi bạn sử dụng Data Studio Developer để thêm một thao tác vào dịch vụ Web dữ liệu, thì một phép chiếu lược đồ XML ngầm định được sinh ra cho các thông điệp. .. Extension để có thêm thông tin về các hàm Xalan Ba phần tiếp theo giới thiệu các ví dụ về việc làm thế nào bạn có thể chuyển từ XML sang nhiều các định dạng khác, ví dụ như HTML, JSON, và RSS Các ca sử dụng (use case) kiểu REST thì đơn giản và dễ hiểu hơn bởi vì chúng không chứa các lược đồ XML tùy chọn và việc biến đổi đổi chỉ áp dụng cho các thông điệp ra Dịch vụ Web dữ liệu sử dụng XSLT để biến đầu... name="empNumber" type="xsd:string"/> Ở phần sau, chúng ta sẽ có một số ví dụ về XSL Chuyển từ XML sang HTML Các hàm mở rộng Xalan (Xalan Extension) có sẵn trong dịch vụ Web dữ liệu Dịch vụ Web dữ liệu sử dụng việc mở rộng bộ xử lý Xalan XSLT để kết hợp với hàm Java gốc Các hàm Xalan sau hiện đang được hỗ trợ trong dịch vụ Web dữ liệu:  encodeJSON(): JSON-mã hóa một xâu kí tự  getHTTPRequestHeader(String... Phiên bản 1.0 của XSLT bị thiếu một số các hàm xử lý xâu kí tự cơ bản, do đó dịch vụ Web dữ liệu sử dụng việc mở rộng bộ xử lý Xalan XSLT để kết nối vào hàm Java gốc có khả năng biến đổi bất cứ xâu kí tự nào Việc mở rộng ở đây bao gồm các phương thức tĩnh được thực thi trong lớp com .ibm. datatools.dsws.rt.common.Util, vì vậy nó có sẵn đối với bất cứ cài đặt dịch vụ Web dữ liệu nào Để biết chi tiết hãy... 12 Định nghĩa một thao tác cơ sở dữ liệu khác 5 Sử dụng SQL editor để soạn thảo tệp đã được tạo ra như Hình 13: Hình 13 Soạn thảo tệp 6 Kéo tập lệnh từ thư mục SQL Scripts thả vào thư mục dành cho dịch vụ Web mà bạn đã tạo ra Bước này biến SQL tập lệnh thành thao tác trong dịch vụ Web Hình 14 Kéo thả tập lệnh 7 Định nghĩa dịch vụ Web đã hoàn thành Bây giờ thì dịch vụ Web với 2 thao tác (getOneEmp và... cho các thông điệp vào và ra của thao tác đó Để sinh ra một XSLT tập lệnh, bạn phải biết được lược đồ của XML mà bạn bắt đầu với (hoặc là bạn muốn chiếu đến) bởi vì lược đồ này định nghĩa các định dạng thông điệp đến và đi XML ngầm định và có thể được sử dụng làm điểm bắt đầu để phát triển các XSL tập lệnh Bạn có thể sử dụng công cụ dịch vụ Web dữ liệu để lấy lược đồ ngầm định cho một thao tác Lấy... biểu thức Xpath Trong trường hợp này thì đây là một hàm Xpath cho ta tên vùng của phần tử, đây là tên của phần đầu bảng o Lệnh tiếp theo, xsl:for-each được sử dụng để lặp lại cho tất cả các dòng Trong đó, bạn lại sử dụng xsl:for-each để lặp lại cho tất cả các cột o Bạn sử dụng lệnh xsl:value-of để viết các giá trị ra tài liệu kết quả Để lấy được giá trị đó, bạn dùng hàm XPath text() để lấy nốt văn bản... phép biến đổi từ XML sang HTML Hãy hoàn thành các bước sau để chuyển từ đầu ra XML thành định dạng HTML: 1 Bạn có thể sử dụng các công cụ XSL được cung cấp với Data Studio Developer để phát triển các tệp XSL của mình nhấn chuột phải vào dự án và chọn New > XSL Nếu bạn không thấy tùy chọn XSL thì hãy chọn New > Other, rồi chọn XML > XSL Hình 23 Tạo ra một tệp XSL tùy biến 2 Bạn có thể sử dụng tên ngầm... Trả lại URL được sử dụng cho yêu cầu hiện tại  setHTTPResponseHeader(String header, String value): Cho phép bạn thiết lập phần đầu của phản hồi HTTP Các hàm này là các phương thức tĩnh được thực thi trong lớp com .ibm. datatools.dsws.rt.common.Util và vì vậy chúng có sẵn đối với bất cứ cài đặt dịch vụ Web dữ liệu nào Các phương thức này có thể được tham chiếu hoặc gọi trực tiếp từ các XSL tập lệnh tùy . Sử dụng XSLT trong IBM Data Studio Developer để chuyển đổi các thông điệp dịch vụ Web dữ liệu (Data Web Services) Cách sử dụng đặc tính XSLT trong dịch vụ Web dữ liệu để tùy biến các thông. thế nào. Các dịch vụ Web dữ liệu có định dạng thông điệp mặc định khi có yêu cầu dịch vụ Web và các thông điệp phản hồi. Định dạng thông điệp và các tên thẻ XML trong các thông điệp đó phụ. đồng nhất cho các máy chủ cơ sở dữ liệu IBM. Dịch vụ Web dữ liệu có thể được sử dụng để thể hiện các thao tác cơ sở dữ liệu và các thủ tục đã được lưu trữ như là các dịch vụ Web mà không phải

Ngày đăng: 07/08/2014, 09:22

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan