Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
759,14 KB
Nội dung
CácdịchvụWebdữliệu:Xâydựngcácdịchvụ
Web, cáchthứcmớiđểtruycậpvàomáychủ
dữ liệuIBM
Dịch vụWEBDữliệu là gì?
Dịch vụWebDữliệu (DWS) là giải pháp thế hệ kế tiếp đểdễ dàng đóng góp vào sự phát triển,
triển khai, và quản lý cáctruycập dựa trên dịchvụWEBvào cơ sở dữliệu DB2 và máychủ
CSDL IDS. DWS cho phép chúng ta thực hiện các lệnh DML (như Lựa chọn, Chèn, Cập nhật,
Xóa, và XQuery) và các lời gọi thủ tục lưu trữ, và tạo ra cácdịchvụWEB mà không cần viết
một dòng mã. DWS cung cấp một giao diện dịchvụWEB đầy đủ, bao gồm hỗ trợ cho SOAP và
kết nối theo kiểu REST. Tất cả những điều này là một phần của Data Studio Developer, trong đó
có nghĩa là chúng ta có thể phát triển cácdịchvụWEB và các ứng dụng cơ sở dữliệu trong một
môi trường phát triển. CácdịchvụWEB tạo ra được đóng gói trong một khuôn dạng sẵn sàng để
triển khai ứng dụngWEB, mà sau đó có thể được triển khai để hỗ trợ cácmáychủ ứng dụng.
Các khía cạnh chính của DWS
Tạo cácdịchvụWEB bằng cách sử dụng DWS không yêu cầu phải lập trình!
o DWS cho phép chúng ta tạo ra cácdịchvụWEB bằng cách sử dụng giao diện kéo
và thả: Kéo và thả bất kỳ hành động DML hoặc lời gọi thủ tục lưu trữ vào một bộ
khung chứa dịchvụWEBđể tạo ra cácdịchvụWEB sẵn sàng để triển khai.
o DWS cũng hỗ trợ môi trường kiểm tra tích hợp cho phép chúng ta triển khai và
thử nghiệm cácdịchvụ đã tạo ra bằng cách sử dụng một vài lần nhấp chuột.
DWS hỗ trợ SOAP trên HTTP và thế hệ mới WSDL.
o DWS tự động tạo ra tệp WSDL chứa mô tả về cácdịchvụ WEB.
DWS hỗ trợ giao diện dịchvụ theo kiểu REST.
o Bên cạnh hỗ trợ SOAP qua HTTP, DWS hỗ trợ HTTP kết nối GET/POST cho các
dịch vụ thử nghiệm theo kiểu REST đến máychủ cơ sở dữ liệu.
DWS có thể áp dụng XSLT phía máychủ tới các yêu cầu, phản hồi dịchvụ XML
đang đến và đang gửi đi.
o DWS cho phép chúng ta áp dụng XSLT phía máychủđể phù hợp với bất cứ yêu
cầu về định dạng dịchvụ nào mà chúng ta có thể có. Điều này có một số khả năng
thú vị trong thế giới Web 2.0, như bạn sẽ nhìn thấy trong phần sau.
Không thế hệ mã nguồn!
o DWS bao gồm một kích hoạt siêu dữliệu hướng điều khiển chung, và không có
mã nguồn "hộp đen" là mã được tạo ra dưới các bao đóng. Kết quả này ở trong
một ứng dụng có độ tin cậy cao và gọn nhẹ.
Về đầu trang
Phát triển cácdịchvụWEBDữliệu
Như được hiển thị trong Hình 1, Phát triển cácdịchvụWEBdữliệu thường bao gồm các bước
sau:
1. Phát triển các lệnh SQL, thủ tục lưu giữ (stored procedure), hay câu lệnh XQuery.
2. Tạo ra dịchvụ WEB.
3. Kéo và thả các thao tác yêu cầu tới dịchvụWEB này.
4. Triển khai dịchvụ tới cácmáychủ ứng dụng.
5. Kiểm tra cácdịchvụWeb bằng cách sử dụngmôi trường kiểm tra tích hợp hoặc khách
hàng dịchvụ Web.
Hình 1. Lược đồ tiêu biểu của sự phát triển dịchvụWebdữliệu
Hướng dẫn từng bước
Bài viết này không phải là một hướng dẫn đầy đủ, nhưng hãy xem xét các bước được liệt kê ở
trên trong bối cảnh của một ví dụ.
Cài đặt và thiết lập
Chú ý: Các bước chi tiết tại đây cung cấp cho chúng ta một ý tưởng tốt hơn về quá trình phát
triển với cácdịchvụWebdữliệu . Đây không phải là một hướng dẫn toàn diện với một mô tả
đầy đủcác bước. Để thử làm theo các bước sau trên máy tính của chúng ta, cần cài đặt IBM Data
Studio và môi trường kiểm tra với IBM WebSphere Application Server - Community Edition.
Nó cũng đòi hỏi phải có DB2 với mẫu cơ sở dữliệu mẫu đã cài đặt.
Kiểm tra các hướng dẫn "IBM Data Studio: Bắt đầu với cácdịchvụWebDữ liệu"
(developerWorks, tháng 11, 2007), theo từng bước hướng dẫn về cácdịchvụWebdữ liệu, và
làm theo nó để có được chương trình đầu tiên của chúng ta với cácdịchvụWebdữ liệu.
Các lựa chọn tài nguyên cũng có phần liên kết đểtải về miễn phí DB2 Express C, WebSphere
Application Server - Community edition, và Data Studio. Kiểm tra trang chủIBM Data Studio
để tìm thêm thông tin liên quan đến Data Studio.
1. Bắt đầu trong IBM Data Studio: Tạo mớiDự án phát triển dữliệu mới. Đối với ví dụ này,
tiêu đề của dự án là Bản trình diễn.
Hình 2. Dữliệumới tạo ra một Dự án phát triển dữliệu trong Data Studio
2. Tiếp theo, tạo ra một lệnh SQL đơn giản mà trả về một bản ghi nhân viên. Bạn có thể sử
dụng hoặc SQL editor/builder trong Data Studio, hoặc đơn giản chỉ sao chép-dán (copy-
paste) lệnh hiện có vào chương trình biên tập. Data Studio cung cấp chương trình xây
dựng truy vấn tích hợp và có thể cung cấp sự trợ giúp dựa trên bối cảnh (như được thấy
trong hình 3) trong khi gõ những lệnh đó. Lưu lệnh này như là getmyEmp.sql.
Hình 3. Tạo lệnh getmyEmp.sql
3. Bây giờ làm cho lệnh SQL này sẵn sàng như là một dịchvụ Web. Để làm như vậy, nhấp
chuột phải vào thư mục dịchvụWeb, chọn New Webservices, và đặt tên nó
myfirstService. DịchvụWeb này, myfirstService, chỉ là một khung chứa các hoạt
động được đưa ra như cácdịchvụ Web.
Hình 4. Khung chứa cácdịchvụWeb
4. Tiếp theo, kéo và thả lệnh SQL mà bạn đã tạo lệnh dịchvụWeb vừa đưa ra. Dịchvụ
Web myfirstService chứa thao tác getmyEmp.sql. Trong trường hợp này, thao tác là lệnh
SQL đưa vào ở trên (getmyEmp.sql); tuy nhiên, chúng ta có thể chọn để kéo nhiều hơn
một "dịch vụ" (bao gồm cả các thủ tục lưu trữ) lên dịchvụWeb này.
5. Nhấp chuột phải vàodịchvụWeb myfirstService, và chọn Build and Deploy.
Hình 5. Xâydựng và triển khai dịchvụWeb lên WS-CE
6. Tiếp theo, chọn máychủ WS-CE mà chúng ta đã cài đặt trên hệ thống như là mục tiêu để
triển khai dịchvụWeb của chúng ta. Theo mặc định, DịchvụWebdữliệu tạo ra cả hai
ràng buộc REST và SOAP. Tất nhiên, nó có thể được thay đổi để tạo ra chỉ có một ràng
buộc. Với tùy chọn, chúng ta cũng có thể chọn bắt đầu Explorer DịchvụWeb sau khi
triển khai như vậy Data Studio kích hoạt bằng cách sử dụng chương trình thám hiểm các
dịch vụWeb được xâydựngđể kiểm tra cácdịch vụ.
7. Cuối cùng, chọn Finish.
Các dịchvụWebdữliệu tạo ra ứng dụngWeb và tạo ra các tập tin cấu hình được cụ thể
cho cácmáychủWeb mà bạn đã chọn. Ứng dụngWeb sau đó sẽ triển khai đến máychủ
cục bộ WS-CE.
Hình 6. Triển khai dịchvụWeb tới WAS-CE
Lưu ý: Chúng ta có lựa chọn thay thế để tạo một tệp ứng dụngWeb (. war) để triển khai.
Dịch vụWebdữliệu sẽ tạo ra sau đó một ứng dụngWeb "sẵn sàng để triển khai" tới các
máy chủ ứng dụngweb bằng cách sử dụngcác mặc định thông minh. Tất nhiên, tất cả
những điều này có thể được tùy biến đầy đủ trước khi triển khai.
8. Sau khi triển khai dịchvụWeb, Data Studio kích hoạt chương trình thám hiểm dịchvụ
WEB, mà chúng ta có thể sử dụngđể thử nghiệm cả hai REST và SOAP điểm kết thúc.
Chọn SOAP bindings (kết dính), và chỉ định một giá trị cho tham số empno.
Lưu ý: Lệnh SELECT được chỉ ra trong ví dụ này có một tham số gọi là điểm đánh dấu:
empno. Giá trị này được gửi trong như là một phần của dịchvụWeb yêu cầu thông báo.
Những phản ứng của dịchvụWeb được hiển thị, như được thấy trong Hình 7. Bạn có thể
nhấp chuột vào liên kết mã nguồn trong Web Services Explorer để xem các mã nguồn
XML.
Hình 7. Kiểm tra dịchvụWeb bằng cách sử dụngWeb Services Explorer
9. Để kiểm tra các ràng buộc REST, trong khi chúng ta có thể sử dụngWeb Services
Explorer để kiểm tra tương tự, hãy sử dụng một trình duyệt Web thay thế. Các trình duyệt
có xâydựng hỗ trợ cho phương thức GET. Chỉ trình duyệt của chúng ta đến URL hiển thị
trong Ví dụ 1 dưới đây. MáychủWeb trả về một XML chứa các câu trả lời kết quả của
lời gọi getmyEmp lệnh SQL với giá trị 000130 đối với tham số empno .
Ví dụ 1. Sử dụng trình duyệt để kiểm tra ràng buộc REST
http://localhost:8080/DemomyfirstService/rest/myfirstService/getmyEmp?e
mpno=000130
10.
Kiến trúc
Bài viết này đã nói ở trên rằng dịchvụWebdữliệu không đòi hỏi bất kỳ công việc lập trình nào
để tạo ra cácdịchvụ Web; hiện nó không tạo ra bất kỳ mã nguồn. Vì vậy, chúng ta có thể thắc
mắc - cái gì là kỳ diệu ở đây, và làm thế nào cácdịchvụWeb được thực hiện?
Hãy hãy xem kiến trúc của DWS để hiểu những gì đang xảy ra bên trong:
DWS hỗ trợ cả các điểm kết thúc theo kiểu SOAP và REST, như bạn đã thấy. Các yêu cầu dịch
vụ Web đi đến được xử lý theo mã số đó là việc chỉ ra đến điểm kết thúc. Vì vậy, bất cứ khi nào
có một yêu cầu đi đến, như REST hoặc SOAP, DWS xử lý nó để tạo ra một biểu diễn chung của
yêu cầu. Yêu cầu này sau đó sẽ được xử lý bởi thực hiện định hướng siêu dữliệu chung, điều này
quyết định làm thế nào để ánh xạ thông báo dịchvụWeb với một yêu cầu cơ sở dữ liệu. Không
có bước ánh xạ trung lập của các tham số và kết quả trong các thông báo dịchvụWeb đến các
kiểu dữliệu Java như thường làm trong thế hệ dịchvụ Web. Tại đây, các kiểu dữliệu XML
trong các thông báo dịchvụWeb được ánh xạ trực tiếp vàocác kiểu dữliệu của cơ sở dữ liệu.
Bỏ qua ánh xạ nhiều lần của các kiểu dữliệu từ một định dạng tới các kết quả khác trong ứng
dụng hoạt động tốt hơn và hiệu quả.
Ứng dụngdịchvụWebdữliệu được đóng gói như là một ứng dụngWeb J2EE có thể được triển
khai lên cácmáychủ ứng dụng hỗ trợ. Triển khai nó trong môi trường của chúng ta cũng giống
như việc triển khai các ứng dụngWeb khác. Chúng ta có thể tận dụng được tối đa cơ sở hạ tầng
đã có tại chỗ. Tạo ra các ứng dụng thông thường bao gồm một tệp chương trình chung JAR và
các tệp cấu hình. Các tệp cấu hình XML chứa các thông tin máychủ - cụ thể ứng dụng với các
thông tin khác. Một trong những tệp cấu hình chứa thông tin cụ thể cho các hoạt động dịchvụ
Web mà chúng ta đã chọn. Các hoạt động rất năng động trong thời gian xác định làm thế nào để
thực hiện cácdịchvụ dựa trên các hoạt động DML đã được lựa chọn để được đưa ra như các
dịch vụ Web. Khi thực hiện chương trình chung, kết hợp với tệp cấu hình này, tạo nên một ứng
dụng gọn nhẹ có thái độ tin cậy và nhất quán khi không có hộp đen tạo mã mỗi khi bạn tạo ra các
dịch vụWeb mới. Mã nguồn hướng siêu dữliệu chung này có khả năng đa dạng, nhưng vẫn thực
hiện nhẹ nhàng về thời gian vận hành.
Hình 8. Kiến trúc tổng quan về cácDịchvụWebdữliệu
Tùy biến cácdịchvụWeb bằng cách sử dụng XSLT
Một tính năng thú vị và hiệu quả của DWS là khả năng để áp dụng XSL phía-máy chủ (server-
side) để chuyển đổi các yêu cầu dịchvụWeb và các phản hồi. Tính năng này cho phép chúng ta
tùy chỉnh định dạng của các thông báo mà khách hàng nhìn thấy. Điều này đặc biệt hữu ích trong
những trường hợp như các yêu cầu định dạng dịchvụWeb từ doanh nghiệp, ngành công nghiệp
chỉ ra những gì các thông báo dịchvụWeb phải thể hiện.
DWS có một định dạng thông báo mặc định khi nó gửi đến yêu cầu dịchvụWeb và các thông
báo phản hồi. Các định dạng thông báo và các tên thẻ XML trong các thông báo này phụ thuộc
vào tên hoạt động dịchvụWeb, tập kết quả tên-cột, loại ràng buộc được sử dụng, Trong một số
trường hợp, chúng ta có thể không muốn các khách hàng đểcác tên thẻ mặc định, hoặc là do các
yêu cầu định dạng thông báo, hoặc chỉ dấu đơn giản cho tên thẻ mặc định. Bằng cách sử dụng
tính năng phía-máy chủ XSLT, các yêu cầu XML gửi đến và các kết quả có thể được xem xét
khác với định dạng thông báo mặc định dữliệudịchvụ Web.
Nói chung, cácdịchvụWeb có thể được xâydựng bằng cách sử dụng phương pháp tiếp cận
hoặc từ trên xuống hoặc dưới lên. Trong phương pháp tiếp cận từ trên xuống, chúng ta nên bắt
đầu với một đặc tả kỹ thuật của dịchvụ (ví dụ, một tệp WSDL) và sau đó thực hiện cài đặt các
mã nguồn để phù hợp với đặc tả kỹ thuật. Trong phương pháp tiếp cận từ dưới lên, chúng ta nên
bắt đầu bằng một chương trình Java hoặc lệnh SQL và đưa ra chức năng như cácdịchvụ Web.
Trong DWS, bắt đầu với các hoạt động DML (như cáctruy vấn) và đưa ra chúng như cácdịch
vụ Web. Vì vậy, sự phát triển chắc chắn là theo tiếp cận từ dưới lên của cácdịchvụ Web. Tuy
nhiên, bằng cách áp dụng XSLT vàocác thông báo dịch vụ, trong nhiều trường hợp, chúng ta có
thể ánh xạ định dạng dịchvụ của các thông báo kiểu dưới lên với thiết kế từ trên xuống. Điều
này sẽ làm giảm bớt một số yêu cầu định dạng dịchvụ từ trên xuống, trong khi cho phép chúng
ta để phát triển cácdịchvụWeb từ dưới lên. Việc chuyển đổi cũng có thể được sử dụngđể cung
cấp dữliệu cho máy khách trong định dạng con người có thể đọc được như HTML, XHTML,
hoặc bất kỳ định dạng văn bản mà có thể là kết quả từ một chuyển đổi XSL.
Hình 9. Các định dạng tùy chỉnh - Ứng dụng XSLT
SOA
Khi nói đến môi trường SOA, các cơ sở dữliệu không chuyển đến trước suy nghĩ của rất nhiều
người. Tuy nhiên, một lợi ích chính của SOA là việc tái sử dụngcác thành phần hiện có. Các
doanh nghiệp đã xâydựngcác logic nghiệp vụ của họ trong các thủ tục lưu trữ và cáctruy vấn
[...]... Web truy cậpvào các cơ sở dữ liệuMáychủ cơ sở dữliệu có thể trở thành một nhà cung cấpdịchvụWeb tới cácmáy trạm SOA truy n thống cũng như cácmáy trạm Web 2.0 Mở khóa dữ liệu, và logic nghiệp vụ trong kho dữliệu bằng cách sử dụngcácdịchvụWeb dựa trên chuẩn cho phép các kịch bản sử dụngdữliệu khác nhau Máychủ cơ sở dữliệu bây giờ có thể phục vụ tích cực vào cơ sở hạ tầng SOA ... và khi ràng buộc đến dữliệu doanh nghiệp Dịchvụ định hướng dữliệuWeb bằng cách sử dụngcácdịchvụWeb được cho là không có khác nhau Những tin tốt với cácdịchvụWebdữliệu là phục vụ lên kho dữliệu trong trường hợp này (nói cách khác, cơ sở dữ liệu) có một mô hình an ninh vững chắc, có thể xác nhận và cho thi hành ủy quyền, và truycập dựa trên vai trò được cấp Như đã đềcập ở trên, với một... hành của các ứng dụng theo phong cáchWeb 2.0 DịchvụWeb theo kiểu REST, định dạng nguồn cấpdữliệu theo chuẩn như RSS và ATOM, và các định dạng gọn nhẹ như JSON là một số công nghệ mà dường như rất phổ biến của ứng dụngWeb 2.0 Cung cấpdữliệu cho các ứng dụngWeb 2.0 từ kho dữliệu là điều then chốt để tạo ra thế hệ kế tiếp của các ứng dụngCác công cụ dịchvụWebdữliệu hỗ trợ dịchvụ theo kiểu... là các tính năng quan trọng cần xem xét khi lựa chọn và triển khai thực hiện các mô hình an ninh cho môi trường dịchvụWeb Về đầu trang Kết luận DịchvụWebdữliệu cho phép chúng ta triển khai hoạt động cơ sở dữliệu và dễ dàng làm cho chúng sẵn sàng như cácdịchvụ Điều này làm cho rất dễ dàng để phát triển giải pháp gọn nhẹ, nhưng vẫn hiệu quả, để cho phép cácdịchvụWeb truy cậpvào các cơ sở dữ. .. hoạt ngữ cảnh tin cậy cho cơ sở dữliệu DB2)" (IBM, tàiliệu WebSphere Application Server (máy chủ ứng dụng), tháng 11, 2007) để biết các thông tin về việc làm thế nào để kích hoạt tính năng ngữ cảnh tin cậy giữa WebSphere Application Server (máy chủ ứng dụng) và DB2 Bảo mật luôn là mối quan tâm khi bạn kích hoạt dịchvụWeb truy cậpvào cơ sở dữliệu của cácdịchvụWeb Sự cân nhắc cẩn thận phải được... ra một SOA CácdịchvụWeb sau đó có thể là một cáchđểthực hiện cácdịchvụ nghiệp vụ này Cáchdễ dàng phát triển bằng cách sử dụngtruy vấn tích hợp Data Studio và thủ tục lưu trữ, với khả năng cho ra những dịchvụWeb sau đó giúp chúng ta đạt được mục tiêu đó Phục vụdữliệu trong thế giới Web 2.0 Web đang trải qua một trong những chuyển đổi lớn nhất của nó từ khi khởi đầu Ứng dụngWeb sử dụng... dịchvụWebdữ liệu, bối cảnh tin cậy cho phép máy trạm dịchvụWeb xác thực bằng cách sử dụng một USERID, và nó cho phép các cơ sở dữliệu phục vụ cho yêu cầu này bằng cách sử dụng quyền hạn của cùng USERID này Ngữ cảnh tin cậy, như là một tính năng, được áp dụng nhiều hơn cho dịchvụWebdữliệuĐể biết thêm thông tin, hãy kiểm tra thanh sách (sidebar) "Ngữ cảnh tin cậy." Trong một số trường hợp, các. .. của các cơ sở hạ tầng J2EE, và chúng ta có thể áp dụng cùng một chính sách an ninh có thể áp dụng cho bất kỳ ứng dụngWeb nào Trong một số trường hợp, các cơ sở dữliệu và máychủ ứng dụng có sự tích hợp chặt hơn về an ninh Ví dụ, IBM WebSphere® Application Server (máy chủdịch vụ) và IBM DB2® có một tính năng gọi là ngữ cảnh tin cậy cung cấpcác xác thực cuối từ cácmáy trạm vào cơ sở dữliệu Với dịch. .. hơn để cắm máychủ cơ sở dữliệuvàomôi trường SOA Tuy nhiên, chỉ cho phép dịchvụWeb hiện không giải quyết được bất cứ điều gì và chúng ta sẽ không đi gần hơn đến một kiến trúc hướng dịchvụ Thảo luận SOA phải bắt đầu ở cấp độ nghiệp vụ và sau đó đến các thành phần cần thiết để đạt được khi kết thúcCác cuộc thảo luận nghiệp vụđể xác định cácdịchvụtái sử dụng, tổng hợp tạicấp độ nhiệm vụ và... cao, bây giờ có khả năng để làm cho các thủ tục này ngay lập tức có sẵn trong môi trường SOA bằng cách sử dụng DWS Tái sử dụngcác thao tác DML hiện tại và các thủ tục lưu trữ đã được phát triển trong thời gian để bao đóng các logic nghiệp vụ và được biết đểthực hiện tốt sẽ tiết kiệm chi phí phát sinh trong các ứng dụng phát triển mới Ngoài ra, cácdịchvụWeb ảo hóa quyền truycập cho bất kỳ người tiêu . Các dịch 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
Dịch vụ WEB Dữ liệu là gì?
Dịch vụ Web Dữ liệu. để cho phép các dịch vụ Web truy cập vào các cơ sở dữ liệu. Máy chủ cơ sở
dữ liệu có thể trở thành một nhà cung cấp dịch vụ Web tới các máy trạm SOA truy n