Tạo ra các dịch vụ WEB dành cho DB2 9 pureXML
lượt xem 7
download
Tạo ra các dịch vụ WEB dành cho DB2 9 pureXML Một kỹ thuật điển hình để tạo ra các dịch vụ WEB từ dưới lên (bottom up) cho dữ liệu XML Vijay Bommireddipalli, Kiến trúc sư giải pháp của nhóm Data Studio Enablement, IBM Tóm tắt: Các dịch vụ WEB là các khối xây dựng quan trọng để đạt được kiến trúc theo hướng dịch vụ (SOA). Khi có thêm nhiều ứng dụng chuyển hướng tới kiến trúc theo hướng dịch vụ, thông thường là cần phải đưa ra các chức năng ứng dụng như các dịch vụ WEB....
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tạo ra các dịch vụ WEB dành cho DB2 9 pureXML
- Tạo ra các dịch vụ WEB dành cho DB2 9 pureXML Một kỹ thuật điển hình để tạo ra các dịch vụ WEB từ dưới lên (bottom up) cho dữ liệu XML Vijay Bommireddipalli, Kiến trúc sư giải pháp của nhóm Data Studio Enablement, IBM Tóm tắt: Các dịch vụ WEB là các khối xây dựng quan trọng để đạt được kiến trúc theo hướng dịch vụ (SOA). Khi có thêm nhiều ứng dụng chuyển hướng tới kiến trúc theo hướng dịch vụ, thông thường là cần phải đưa ra các chức năng ứng dụng như các dịch vụ WEB. Mục đích của bài viết này là để trình bày làm như thế nào để bạn có thể dễ dàng tạo ra các dịch vụ WEB bằng cách sử dụng một lớp Java đơn giản. Giới thiệu Ngày nay, các dịch vụ WEB là một thành phần quan trọng của SOA và cho phép tạo ra các giải pháp linh hoạt và phân hoạch cao. Các dịch vụ WEB có thể được xây dựng bằng cách sử dụng phương pháp tiếp cận hoặc từ trên xuống (top-down) hoặc từ dưới lên (bottom-up). Trong phương pháp tiếp cận từ trên xuống, chúng ta sẽ bắt đầu với một đặc tả kỹ thuật dịch vụ (ví dụ, một tệp WSDL) và sau đó thực hiện các mã mức dưới để phù hợp với đặc điểm kỹ thuật đưa ra. Trong phương pháp tiếp cận từ dưới lên, chúng ta sẽ bắt đầu bằng một chương trình Java và đưa ra các chức năng như dịch vụ web. IBM giới thiệu tính năng pureXML trong DB2 9, cho phép dữ liệu XML sẽ được lưu nguyên dạng trong cơ sở dữ liệu. Nó tạo ra XML – như là kiểu dữ liệu lớp đầu tiên trong DB2, và một cột của kiểu dữ liệu XML có thể lưu trữ bất kỳ khuôn dạng XML được biết trong các dạng cấu trúc cây nguyên thủy trong cơ sở dữ liệu. Sau
- khi dữ liệu được lưu giữ trong cơ sở dữ liệu như XML, dữ liệu có thể được truy vấn rất hiệu quả, như là XML không cần phải phân tích cú pháp tại thời điểm thực hiện khi đánh giá câu truy vấn. Sau đó chúng ta có thể sử dụng XQuery, SQL, hoặc bất kỳ giao diện phát triển ứng dụng mà DB2 cung cấp, để truy cập và thao tác dữ liệu XML. XForms là một công nghệ giao diện điện tử dựa trên XML, có thể gửi khuôn dạng dữ liệu như là một thể hiện dữ liệu XML. Nó là một khuyến nghị của W3C và độc lập về nền tảng và thiết bị. XForms chỉ tách mô hình dữ liệu từ sự trình bày mà cho phép dữ liệu người sử dụng được gửi đi dưới dạng XML. Người nhận các dữ liệu này sau đó có thể lưu trữ và thao tác với người sử dụng đã gửi dữ liệu như là một thể hiện của XML. Có nhiều cách mà trong đó các dữ liệu có thể được gửi bằng cách sử dụng XForms. Trong ví dụ này, hãy sử dụng các dịch vụ WEB. Sử dụng XForms cho giao diện người sử dụng cuối, các dịch vụ WEB được xem như là một cỗ máy phương tiện giao thông, và với DB2 9 cho việc lưu trữ, chúng ta có thể tạo một giải pháp thực sự XML end-to-end mà có thể co giãn để thay đổi và làm giảm đáng kể thời gian phát triển ứng dụng. Kiểm tra Tài nguyên để biết thêm thông tin chi tiết liên quan đến DB2 9, XForms, và Dịch vụ Web. Các yêu cầu Dưới đây là những yêu cầu cần thiết để hiểu rõ hơn về những thông tin được trình bày trong bài viết này: Quen thuộc với DB2 9 và các tính năng pureXML. Kiểm tra Tài nguyên • của bài viết này để làm quen với các tính năng pureXML của DB2 9.
- Kinh nghiệm làm việc với RAD và về khả năng triển khai và gỡ bỏ các ứng • dụng bằng cách sử dụng môi trường thử nghiệm WebSphere Application Server Quen thuộc với khái niệm phát triển các dịch vụ WEB • Về đầu trang Yêu cầu hệ thống Phát triển phía Máy chủ 1. DB2 9 với pureXML Bạn cũng có thể sử dụng miễn phí DB2 Express-C. DB2 Express-C có thể được chạy trên máy chủ dual-core CPUs, có đến 4 GB bộ nhớ, với thiết lập hệ thống lưu trữ bất kỳ và không có giới hạn về kích thước cơ sở dữ liệu hay bất cứ điều hạn chế nào khác. Kiểm tra phần các nguồn cho các liên kết để tải về Express-C. 2. RAD Version: 7.0.0 (hoặc mới hơn) Lưu ý: Ví dụ này thông tin chi tiết các bước để kiểm tra kết quả, bằng cách sử dụng phiên bản WebSphere Application Server 6.1.0.2 thử nghiệm mà đi kèm với RAD. Bạn có thể chọn để xuất tập tin WAR và triển khai lên một WebSphere Application Server duy nhất (phiên bản 6.1.0.2 và mới hơn). Ví dụ sẽ không thành công trên phiên bản thấp hơn của WebSphere Application Server. Phía Client
- Mozilla Firefox 1.5.x hoặc mới hơn (tốt nhất là Firefox 2.0.x) với những • trình bổ sung (plugin) XForms. Các XForms trình bổ sung có thể được cài đặt từ trang Add-on của trình duyệt Firefox. Để cài đặt trình bổ sung XForms, chạy URL này sử dụng Firefox 2.0.x, và chọn Cài đặt ngay bây giờ. Về đầu trang Thủ tục Tổng hợp Ví dụ này bạn đưa bạn đi qua các thế hệ của các dịch vụ WEB dành cho dữ liệu XML bằng cách sử dụng phương pháp tiếp cận từ dưới lên. Việc cài đặt một chương trình Java (FormServices.java) được xem như là một điểm bắt đầu. Chương trình Java này có chứa thao tác truy cập dữ liệu và phương pháp cập nhật đối với dữ liệu cột XML của cơ sở dữ liệu ví dụ DB2 9. Kiểm tra thanh công cụ có tiêu đề "FormServices.java explained" cho một giải thích chi tiết về nội dung của chương trình Java. Sau đó, chúng ta sẽ đưa ra những phương pháp trong chương trình Java như các dịch vụ WEB sử dụng công cụ RAD. Cuối cùng, chúng ta sẽ kiểm tra các dịch vụ WEB, sử dụng các Xforms được cung cấp. Hãy xem xét theo từng bước 1. Tạo cơ sở dữ liệu ví dụ và bảng xmlcustomer 1. Tạo ra một cơ sở dữ liệu ví dụ về bảng mã UTF8 (nếu nó không tồn tại), ví dụ:
- DB2 tạo ví dụ db sử dụng codeset UTF8 của Hoa Kỳ DB2 9 sử dụng bảng mã cơ sở dữ liệu UTF8 để tạo cột kiểu dữ liệu XML. 2. Tại dấu nhắc lệnh DB2, tạo ra bảng xmlcustomer bằng cách sử dụng các lệnh sau: connect to sample CREATE TABLE XMLCUSTOMER( CID INT NOT NULL PRIMARY KEY, INFO XML ) Cột INFO có thể lưu trữ bất kỳ khuôn dạng XML nào. Bạn có thể thử chèn bằng cách gõ lệnh sau tại dấu nhắc lệnh DB2: insert into xmlcustomer values ( 9999, ''); 2. Chạy RAD và tạo ra dự án "Dynamic Web Project." 1. Hãy chắc chắn rằng chúng ta đang ở trong ngữ cảnh Web. (nếu không, chọn Window > Open Perspective > Web để tiến hành.)
- 2. Gõ "XForm" như là tên của dự án (chú ý chữ hoa). 3. Sử dụng các ngầm định và nhấp chuột vào nút Finish. Hình 1. Tạo lập một dự án Web 3. Nhập các tập tin mã nguồn Java được cung cấp và thực hiện những thay đổi cần thiết 1. Mở dự án XForm được tạo ra ở trên cho đến khi thấy thư mục Java Resources. 2. Nhấp chuột phải và chọn New > package. Chỉ ra "com.ibm.test" như là tên của gói ứng dụng (package) và nhấp chuột vào nút Finish.
- Hình 2. Tạo ra package 3. Nhắp chuột phải trên gói vừa tạo và chọn Import > File System và nhập vào FormServices.java (tệp mã nguồn Java cung cấp). Giải thích chi tiết FormServices.java: Mã nguồn Java FormServices.java bao gồm hai lớp: Lớp DB: •
- Lớp này xử lý về kết nối cơ sở dữ liệu. Lưu ý rằng chúng ta cần phải tạo ra các thay đổi tới môi trường để chạy chương trình. Các phương thức: • Kết nối: Cho phép mã ứng dụng kết nối vào cơ sở dữ liệu DB2. Phương thức kết nối sử dụng loại hình 4 trình điều khiển tổng hợp Java Database Connectivity (JDBC). Ngắt kết nối: Ngắt kết nối của ứng dụng từ cơ sở dữ liệu và giải phóng tài nguyên JDBC. Lớp FormServices: • Lớp này có các phương thức để thao tác dữ liệu trong cơ sở dữ liệu và lấy dữ liệu sẽ được hiển thị trên biểu mẫu(form). Những phương thức này được đưa ra như các dịch vụ WEB. Có ba phương thức cơ bản cho phép thao tác dữ liệu XML. Cả ba phương thức được lặp đi lặp lại để cho phép dữ liệu XML để được xử lý như các chuỗi. Các phương thức được mô tả như sau: Các phương thức: • insertFormData: Phương thức này lấy dữ liệu XML nhập vào và ghi lại chúng trong một cột XML của cơ sở dữ liệu DB2. Lưu ý rằng XML được nhập nên là dữ liệu XML (ví dụ, không chuỗi thoát như <). retrieveFormData: Phương thức này lấy dữ liệu lưu trữ trong một cột XML dựa trên duy nhất một khoá. retrieveFormIDs: Phương thức này lấy ID và trả lại chúng XML phù hợp với các XForm. Bạn có thể sử dụng phương thức này để tạo một thực đơn (menu) thả xuống trong vòng một biểu mẫu giao diện.
- Ba phương thức *AsString() có cùng một phương thức chủ yếu như trên, nhưng thay vì chuyển giao dữ liệu XML trực tiếp, XML được chuyển đổi thành một chuỗi ký tự. Vì vậy, trở thành “<hello/>”. Những phương thức thuận tiện được cung cấp để chúng ta có thể sử dụng WEB service explorer xây dựng sẵn để kiểm tra nó. genSOAPElement: Đây là một phương thức trợ giúp được sử dụng để chuyển đổi các payload từ một chuỗi ký tự vào một SOAPElement. genStringfromSOAP: Đây là một phương thức trợ giúp được sử dụng để chuyển đổi các payload SOAPElement đến một chuỗi ký tự.
- Hình 3. Nhập mã nguồn ví dụ FormServices.java 4. Tìm theo mẫu dưới đây //Thay đổi và thực hiện các thay đổi nếu cần thiết, cho mỗi môi trường của bạn. Các chú thích trong các mã nguồn này sẽ giúp hướng dẫn chúng ta thông qua các thay đổi. 5. Nếu chúng ta làm theo ví dụ này như trình bày, sự thay đổi cần thiết sẽ là userid và mật khẩu trong lớp Cơ sở dữ liệu mà cũng được đánh dấu bằng các mẫu //Thay đổi (như trên).
- 6. Hãy chắc chắn rằng mã nguồn dịch hoàn chỉnh và tất cả các nhập vào đã được giải quyết. Điều này đòi hỏi chúng ta thêm db2jcc.jar tới Java Build Path của dự án XForm. 7. Để thêm jar ngoài db2jcc.jar, nhấp chuột phải vào project và chọn Properties > Java Build Path > Add External Jars > và chọn db2jcc.jar từ sự cài đặt DB2(\sqllib\java). 5. Đưa ra các mã nguồn Java như là một dịch vụ WEB 4. Nhấn nút phải vào FormServices.java, sau đó nhấn Web Services > Create Web Service. Nếu chúng ta không nhìn thấy thực đơn dịch vụ WEB, hãy đọc để xem làm thế nào để kích hoạt nó. 5. Nếu chúng ta không nhìn thấy thực đơn dịch vụ WEB. Chúng ta có thể cho phép các khả năng của các dịch vụ WEB của phiên làm việc. Để làm như vậy, nhấn Windows > Preferences > Workbench > Capabilities và kiểm tra Web Service Developer để thấy nó được kích hoạt.
- Hình 4. Tạo ra các dịch vụ WEB từ mã nguồn Java 3. Kiểm chứng rằng các thiết lập được hiển thị như dưới đây. Nhấn OK trên các thông báo đưa ra. Lưu ý: Khi các dịch vụ được tạo ra, có công cụ để liên kết các kiểu dữ liệu Java khác nhau tới các kiểu XSD tương đương của nó như được định nghĩa trong đặc tả kỹ thuật JAX-RPC. Máy xử lý IBM
- WebSphere SOAP sẽ liên kết kiểu dữ liệu javax.xml.soap.SOAPElement trong chương trình Java tới XML schema xsd: anyType trong WSDL. Tuy nhiên, đặc tả kỹ thuật JAX- RPC hiện nay không xác định các tiêu chuẩn Java đối với liên kết cho xsd: anyType. Việc triển khai cài đặt JAX-RPC không bắt buộc phải hỗ trợ xsd: anyType. Ví dụ này có thể không hoạt động trên các máy SOAP khác và đã không được kiểm tra trên các máy SOAP khác.
- Hình 5. Xem xét lại các thiết lập dịch vụ WEB 4. Nhấn vào Next cho đến khi chúng ta nhìn thấy thực đơn để lựa chọn các dịch vụ cần phải được kích hoạt. Hãy đảm bảo rằng tất cả các dịch vụ được kiểm tra để được đưa ra như là một dịch vụ web, và sau đó nhấn vào Finish.
- Lưu ý: nhấn OK để đến cảnh báo đưa ra (xem ghi chú ở trên để có giải thích chi tiết). Hình 6. Chọn phương pháp đưa ra các dịch vụ WEB 5. Nhấn Start Server nếu chúng ta được nhắc nhở để làm điều đó. Các dịch vụ tạo ra sẽ được đưa ra trên các WebSphere Application Server thử nghiệm.
- 5. Chạy thử XForms trên WebSphere Application Server thử nghiệm 1. Trước khi kiểm tra ứng dụng XForms, cần đảm bảo các tập tin JAR yêu cầu được cài đặt các phiên bản chính xác bằng cách sử dụng loại 4 JDBC driver để kết nối với DB2. 1. Đi đến thư mục cài đặt ứng dụng WebSphere Application Server và kiểm tra xem có các tập tin sau: db2jcc.jar, db2jcc_license_cu.jar. (Ví dụ, trong trường hợp sau đây, tôi đã có để cài đặt các tập tin JAR trong "C:\Program Files\IBM\SDP70\runtimes\base_v61\lib'".) 2. Nếu các tập tin JAR không ở đó, sao chép các tập tin JAR trên và bảo đảm khởi động lại hệ thống máy chủ WebSphere Application Server. 2. Trước khi chạy XForms với các dịch vụ tạo ra trong bước trước, bạn cần phải cài đặt các SOAPForwarding servlet trên cùng một máy chủ ứng dụng WebSphere Application Server. Tệp tin này (SOAPResolution.war) được cung cấp như một phần của việc tải xuống bao gồm trong mục Tải xuống của tài liệu này. Bước này là sự thu xếp một khoảng cách dừng lại như XForms Add- on của Mozilla hiện không tạo ra các lời gọi SOAP hợp lệ. Bước này là không cần thiết một khi lỗi này sẽ được chỉnh sửa trong một bản phát hành sau này của Mozilla XForms Add-on. Khi bài viết này được viết, dịch vụ WEB gọi sử dụng Firefox Xforms phiên bản 0.7.0.1 đã thiếu tiêu đề SOAPAction. SOAPForwarding servlet này chỉ cần thêm tiêu đề SOAPAction đó là cần thiết. 1. Nhắp nút phải trên XformEAR và chọn Import > war file.
- 2. Duyệt qua các hệ thống tập tin để lựa chọn tập tin SOAPResolution.war được cung cấp. Tên của dự án Web sẽ tự động điền vào như được hiển thị sau đây. Hãy chắc chắn rằng nó sẽ được thêm vào dự án XFormEAR hiện có. Hình 7. SOAPResolution WAR 3. Nhấn vào Finish để nhập vào servlet. 6. Kiểm tra các dịch vụ WEB bằng cách sử dụng chương trình thám hiểm RAD's built-in Web Services
- 1. Bây giờ chúng ta đã triển khai và bắt đầu ứng dụng thành công, bây giờ là lúc để kiểm tra triển khai các dịch vụ. 2. Nhấn chuột phải vào FormServices.wsdl trên RAD và chọn Kiểm tra với Web services explorer. 3. Chỉ định endpoint, như được hiển thị, với số cổng đúng và thử ra bất kỳ một trong các phương pháp mà kết thúc với *AsString. Trong ví dụ này, có ba phương pháp mà kết thúc với *AsString mà trả về XML như các chuỗi ký tự thoát. Hầu hết các trình duyệt thích chọn XML như chuỗi thoát (< instead of “
- explorer 7. Kiểm tra các dịch vụ WEB XML bằng cách sử dụng XForms 1. Khởi chạy các XForms được cung cấp với bản trình diễn. Nhấp nút phải vào xmlcustomer.xhtml tệp cung cấp và chọn Open with Firefox. Bước này giả định rằng bạn có cài đặt trình bổ sung XForms như được chỉ ra trong phần Điều kiện tiên quyết của tài liệu này. Chúng ta nên xem XForm như được hiển thị trong màn hình chụp dưới đây. 2. Hãy chắc chắn rằng chúng ta chỉ định một "Id Val" và nhập / sửa đổi tên, và như vậy là cần thiết. 3. Sử dụng xmlcustomer Form, chỉ ra một ID trong Id Val và ấn Submit.
- Id Val chỉ ra là duy nhất với cột CID của bảng XMLCUSTOMER trong DB2. 4. Khi chúng ta ấn Submit, XForm làm cho dịch vụ Web gọi tới dịch vụ insertFormData, để chèn các dữ liệu người dùng của biểu mẫu như là một thể hiện XML vào DB2. Nếu có một lỗi, hoặc nếu không có gì xảy ra, xem phần "Gỡ lỗi" đối với các nguyên nhân có thể và các gợi ý. Troubleshooting tips XForms: Nếu bạn bấm "Submit" và không có gì sẽ xảy ra: Trên trình duyệt Firefox, hãy vào Tools > điều khiển Java tập lệnh • (script) để xem nếu có bất kỳ lỗi nào ở bên ngoài các lỗi stylesheet. Nếu chúng ta nhìn thấy XForms Error (14): kiểm tra an toàn thất bại! Hãy • cố gắng để gửi dữ liệu vào một tên miền khác với trên tài liệu: Mở rộng Mozilla XForms không cho phép gửi qua tên miền theo mặc định. Hãy kiểm tra liên kết sau đây url để biết thêm chi tiết. Để kích hoạt tính năng gửi qua tên miền, hãy tìm một tập tin gọi là "hostperm.1" và thêm dòng này vào tập tin "host xforms-xd 3 scheme:file". (Chúng ta nên xem các dòng tương tự như này.) Tập tin hostperm.1 nằm trong thư mục C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\m6g6ho0d.default, nhưng đường dẫn của bạn có thể khác. Sau đó, khởi động lại trình duyệt.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hacking Web Application
150 p | 664 | 365
-
Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web), Phần 1
71 p | 173 | 52
-
Creating a Web Service
5 p | 151 | 47
-
Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa, Phần 5
92 p | 125 | 35
-
Ultimate mashup – Các dịch vụ Web và Web ngữ nghĩa (semantic Web), Phần 2
58 p | 148 | 35
-
Building the ProductService Web Service
13 p | 126 | 33
-
Ajax cho các nhà phát triển Java: Xây dựng các ứng dụng Java động Ajax mở đường cho các ứng dụng Web tốt hơn
22 p | 144 | 21
-
Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2
30 p | 129 | 16
-
Hello World (bản cập nhật): Rational Application Developer phiên bản V7 Tạo ra các ứng dụng Java, ứng dụng dịch vụ Web, và ứng dụng cơ sở dữ liệu
40 p | 186 | 15
-
Tài liệu tham chiếu Java API Phần 3: Cấu trúc tham chiếu Eclipse Javadoc API được tạo ra thông qua việc chạy Java
38 p | 102 | 9
-
Các dịch vụ về Web dữ liệu: Xây dựng các dịch vụ Web, cách thức mới để truy cập vào máy chủ dữ liệu IBM
13 p | 105 | 8
-
XML: Cầu nối giữa GWT và PHP GWT có thể sử dụng các dịch vụ PHP, và XML cung cấp một cầu nối giúp trao đổi dữ liệu giữa chúng trở nên đơn giản
22 p | 97 | 8
-
Giới thiệu về Tự động hóa Thư viện Bài 7 Các khuynh hướng CNTT quan trọng nói chung đối với thư viện
4 p | 94 | 7
-
Create a Simple XML Web Service Using Parameters
5 p | 77 | 7
-
Xem các tài liệu Office trực tuyến thông qua dịch vụ của Microsoft
5 p | 67 | 6
-
JiBX 1.2, Phần 2: Từ lược đồ XML thành mã Java Tạo mã Java tùy chỉnh, sạch hơn từ lược đồ XML
67 p | 106 | 6
-
Các dịch vụ blog hỗ trợ chuyển dữ liệu từ Yahoo 360
10 p | 88 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn