PDF:

Những điểm mới và lý thú trong sản phẩm Data Studio
Developer 1.2 của IBM
Cải thiện chất lượng dịch vụ và thời gian đưa ra thị trường của các ứng
dụng Java
Sonali Surange ([email protected])
Trưởng nhóm Các công cụ pureQuery của Data Studio
EMC
20 05 2009
Rafael Coss ([email protected])
Kiến trúc sư giải pháp của nhóm Data Studio Enablement
IBM
Vijay Bommireddipalli ([email protected])
Kiến trúc sư giải pháp của nhóm Data Studio Enablement
IBM
Sản phẩm Data Studio Developer IBM® phiên bản 1.2 tăng tốc quá trình phát triển và tăng
cường khả năng kiểm soát đối với một phạm vi rất đa dạng các ứng dụng. Dù bạn là một chuyên
viên phát triển hay là một quản trị viên cơ sở dữ liệu (DBA) hướng ứng dụng, sản phẩm Data
Studio Developer có nhiều đặc tính mới, có thể giúp cho công việc của bạn được nhanh chóng
và dễ dàng hơn, bao gồm các khả năng độc nhất vô nhị về cô lập vấn đề và phân tích tác động,
khả năng nâng lên SQL tĩnh cho bất kỳ ứng dụng JDBC hiện tại nào, khả năng cải thiện việc
phát triển và quản trị SQL tĩnh, các dịch vụ Web và nhiều hơn thế nữa. Bài báo này sẽ nêu bật
các đặc tính ấy trong phiên bản sản phẩm này để giúp đỡ bạn đơn giản hóa những nhiệm vụ
phức tạp của mình.
Các điểm nổi bật
Sau đây là những đặc tính mới, then chốt của Data Studio Developer phiên bản 1.2 và Data Studio
pureQuery Runtime phiên bản 1.2:
• Tối ưu hóa các ứng dụng JDBC hiện có (tối ưu hóa phía khách) mà không thay đổi một dòng
mã Java nào.
© Copyright IBM Corporation 2009
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Nhẫn hiệu đăng ký
Trang 1 của 30
developerWorks®
ibm.com/developerWorks/vn/
• Các chuyên viên phát triển dễ xác định vấn đề cần giải quyết hơn với khả năng khoan sâu lên,
vào trong các mã lệnh của ứng dụng để nhận diện và hiển thị vị trí mã nguồn có lỗi khi thực
hiện truy vấn.
• Cải thiện việc phân tích tác động trong các ứng dụng cơ sở dữ liệu với khả năng khoan sâu
xuống vào trong quá trình thực hiện câu lệnh SQL để phân tích "where used" (được sử dụng ở
đâu).
• Những đặc tính bổ sung của pureQuery Runtime của Data Studio:
• Tạo bó lệnh không đồng nhất để nâng cao hiệu năng các cập nhật, thậm chí tại các bảng
khác nhau.
• Khả năng chạy bẩm sinh (một cách tự nhiên) trên nền z/OS.
• Hợp tác có hiệu quả với quản trị viên cơ sở dữ liệu để phát triển SQL tĩnh:
• Cải thiện các công cụ liên kết để tạo thuận lợi cho quá trình liên kết từ thiết kế đến liên
kết và kiểm tra.
• Cải thiện việc quản lý các gói (package).
• Cho phép chuyên viên phát triển hoàn thành các dự án pureQuery nhanh chóng hơn.
• Kiểm tra chất lượng của SQL và chia sẻ SQL một cách dễ dàng với quản trị viên cơ sở dữ
liệu hoặc với các thành viên trong đội.
• Di chuyển (di trú) các ứng dụng cơ sở dữ liệu Java™ hiện tại sang pureQuery.
• Biến đổi các phương thức Java của bạn thành một thủ tục lưu của cơ sở dữ liệu chỉ bằng
một cú nhấn chuột.
• Hỗ trợ SQL tĩnh cho các thủ tục lưu.
• Khả năng sinh mã tiên tiến và tùy biến được.
• Cải thiện các dịch vụ Web dữ liệu để cho phép các ứng dụng theo kiến trúc hướng dịch vụ
(SOA) khai thác tài sản dữ liệu một cách nhanh chóng
• Hỗ trợ SQL tĩnh cho các dịch vụ Web dữ liệu
• Các dịch vụ Web trên nền JMS cho các ứng dụng dịch vụ Web có độ tin cậy cao
• Tạo và triển khai các dịch vụ Web dữ liệu lên IBM WebSphere DataPower
Tối ưu hoá các ứng dụng theo khung công tác hiện có
SQL tĩnh có thể cung cấp một mô hình nhất quán hơn hay thậm chí mô hình có hiệu năng tốt hơn
và các quyền truy cập tốt hơn cho các ứng dụng cơ sở dữ liệu DB2. Để có cái nhìn tổng quan hơn
về các lợi ích của SQL tĩnh, hãy xem bài báo " No Excuses " tại phần Tài nguyên.
Trước đây….
Việc quyết định nâng lên SQL tĩnh của DB2 đối với chương trình Java là một quyết định ở mức
thiết kế (design-time). Các chuyên viên phát triển lựa chọn một API cụ thể hay một khung công
tác Java bền vững thì cũng đã ngầm quyết định phương thức thực thi SQL cho bạn. Trừ phi SQLJ
được lựa chọn làm API, thì tất cả các sự lựa chọn truy nhập khác đều sử dụng cách thực hiện động.
Không có cách nào để có được các lợi ích của SQL tĩnh trong các ứng dụng JDBC hay các ứng
dụng dựa trên khung hiện tại của bạn. Nếu bạn đã sử dụng pureQuery, bạn cần sử dụng API theo
phong cách chú giải phương thức (annotated-method) để có khả năng chuyển đổi giữa SQL tĩnh và
SQL động.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 2 của 30
ibm.com/developerWorks/vn/
developerWorks®
Bây giờ …
Bạn có thể có được các lợi ích của SQL tĩnh với bất kỳ ứng dụng JDBC cho DB2 hiện có nào bằng
cách dùng tính năng tối ưu hóa phía khách của pureQuery. Các ứng dụng có thể sử dụng một
khung công tác Java bền vững, ví dụ như: Hibernate, JPA hay iBatis, hay có thể là bất kỳ JDBC
giản dị nào để truy nhập cơ sở dữ liệu. Và thực sự là bạn thậm chí không cần truy nhập tới mã
nguồn. Bạn không cần thay đổi bất kỳ mã nào. Đặc tính tối ưu hoá phía khách của pureQuery làm
việc thông qua cách liên kết câu lệnh SQL mà bạn đã bắt giữ trước từ ứng dụng đang chạy. Nó cho
phép bạn bắt giữ các lời gọi SQL động, chọn các câu lệnh để chạy chế độ tĩnh, liên kết những câu
lệnh đã chọn và chuyển đổi chế độ thực thi SQL của các câu lệnh đã chọn từ SQL động sang SQL
tĩnh.
Để nâng lên mức có đặc tính này từ bộ công cụ Data Studio Developer, hãy theo các bước lớn
(high-level) sau đây.
1. Bước 1. Bật cho phép dự án thực hiện tính năng tối ưu hóa phía khách.
Để ra lệnh cho Data Studio Developer rằng một dự án cá biệt được phép tối ưu hóa phía
khách, bạn theo các bước sau :
1. Nhấn chuột phải vào dự án Java chứa mã ứng dụng hay tệp nhị phân của bạn. Sau đó
chọn pureQuery -> Add pureQuery Support.
2. Đánh dấu ô Enable SQL capturing and binding for JDBC applications như hình dưới
đây:
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 3 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 1. Cho phép bắt giữ và liên kết SQL trong các ứng dụng JDBC
Đối với dự án đã thêm hỗ trợ của pureQuery rồi, bạn theo các bước sau:
1. Nhấn chuột phải trên dự án và chọn Properties.
2. Từ trình đơn bên trái của trang thuộc tính, mở rộng pureQuery và chọn Properties.
3. Đánh dấu vào ô Enable SQL capturing and binding for JDBC applications.
2. Bước 2. Bắt giữ các lệnh SQL
Để bắt giữ câu lệnh SQL, bạn phải cho chạy ứng dụng theo chế độ capture. Chế độ capture
hành động giống như một cái chắn trình điều khiển JDBC để thu thập tất cả các câu lệnh SQL
xuất phát từ ứng dụng, thông qua trình điều khiển và đi tới cơ sở dữ liệu. Khi bạn bật chế độ
capture lên, PureQuery thu thập tất cả các câu lệnh SQL được thực hiện thành công từ ứng
dụng vào trong một tệp. Khi ứng dụng được thực hiện, tệp này chứa đựng tất cả những câu
lệnh SQL có thể được chuyển thành SQL tĩnh. Nếu tất cả các đường truy nhập dữ liệu trong
ứng dụng được thực hiện, thì thông tin đã thu thập chứa một danh sách đầy đủ các câu lệnh
SQL được gửi tới cơ sở dữ liệu..
Câu lệnh SQL có thể được bắt giữ trong bất kỳ kịch bản nào sau đây :
1. Bên trong môi trường phát triển, hãy chạy tính năng “kiểm thử các đơn vị” để sử dụng tất
cả các bộ phận của ứng dụng sẽ tạo ra câu lệnh SQL. Đây là cách tiếp cận nên theo trong
trường hợp bạn có các bộ kiểm thử (test cases) thích hợp.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 4 của 30
ibm.com/developerWorks/vn/
developerWorks®
2. Trong môi trường đảm bảo chất lượng (QA) hay môi trường sử dụng thực tế, bạn có thể sử
dụng phiên bản dòng lệnh để thu thập các câu lệnh SQL.
Nếu bạn đang sử dụng phiên bản dòng lệnh của tiện ích bắt giữ câu lệnh, bạn có thể nhập nội
dung đã thu được vào môi trường phát triển để lợi dụng đặc tính cô lập vấn đề và phân tích sự
phụ thuộc mà cửa sổ chính (outline view) pureQuery mới sẽ cung cấp. Cửa sổ chính pureQuery
được mô tả ở mục Cô lập vấn đề.
Bên trong môi trường phát triển, để có thể bắt giữ câu lệnh bạn phải bật cho phép đặc tính đó,
sử dụng tệp DB2JccConfiguration.properties, như trình bày trong hình dưới. Các trợ giúp nội
dung với thông tin về mỗi tùy chọn và mã màu phân biệt giúp cho bạn dễ dàng thực hiện thao
tác này.
Ghi chú : Bước 1 nêu ở trên sẽ thiết lập dự án với chế độ capture được bật cho phép.
Hình 2. Bật cho phép chế độ capture
3. Bước 3. Liên kết các câu lệnh SQL đã thu thập được
Để chạy bất kỳ câu lệnh SQL nào theo phương thức tĩnh, cần phải có một gói SQL cho DB2
gắn với nó. Bạn tạo các gói bằng cách sử dụng quá trình liên kết (bind). Bây giờ, khi đã thu
thập được các câu lệnh SQL vào một tệp, bạn cần phải liên kết các câu lệnh SQL có trong tệp
tới cơ sở dữ liệu đích, và việc này tạo ra gói. (Có thể tùy chỉnh các gói lệnh, loại bỏ một số gói
nhất định hay một số câu lệnh SQL bên trong các gói. Sắp tới, các bài báo và hướng dẫn trong
developerWorks sẽ mô tả chi tiết hơn về tối ưu hóa phía khách của pureQuery). Liên kết (bind)
là quá trình ghi lưu kế hoạch truy nhập gắn với một câu lệnh SQL vào trong một gói SQL cho
DB2. Chọn tệp các lệnh đã bắt giữ, trong trường hợp này là tệp capture.pdqxml, nhấn chuột
phải và chọn pureQuery > Bind.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 5 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 3. Liên kết tập lệnh SQL đã thu được
Một khi các gói được tạo ra, người quản trị cơ sở dữ liệu cần phải cấp ủy quyền thích hợp cho
phép truy cập các gói. Bạn có thể làm điều này từ cửa sổ Database Explorer của Data Studio
Developer.
4. Bước 4. Thực thi việc sử dụng SQL tĩnh
Bạn bây giờ đã sẵn sàng để chuyển phương thức thực hiện SQL cho các câu lệnh SQL đã
chọn từ SQL động sang SQL tĩnh. Trong tệp tin DB2JccConfiguration.properties, hãy sử dụng
trợ giúp nội dung để TẮT, chế độ capture, đặt phương thức thực hiện sang STATIC, rồi chạy ứng
dụng của bạn lần nữa để hưởng các lợi ích của SQL tĩnh.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 6 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình 4. Thực thi việc sử dụng SQL tĩnh
Ghi chú quan trọng: Không phải tất cả các ứng dụng JDBC đều là ứng viên tốt để tối ưu hóa
phía khách mà không có cải biến. Ví dụ, việc sử dụng tệp DDL hay các bộ đăng ký đặc biệt có
thể cần xử lý đặc biệt. Các bài báo và những hướng dẫn tới của developerWorks sẽ bàn sâu
hơn về đề tài này.
Các chuyên viên phát triển cô lập vấn đề dễ dàng hơn
Trước kia ….
Trước đây, các chuyên viên phát triển ứng dụng cơ sở dữ liệu và các quản trị viên cơ sở dữ liệu gặp
nhiều khó khăn khi thử cô lập các tập lệnh SQL hoạt động kém hay khi cố gắng xác định tất cả các
câu lệnh SQL đã phát ra đối với cơ sở dữ liệu phục vụ mục đích kiểm định. Việc tìm ra và làm nên
mối tương quan giữa câu lệnh SQL và mã nguồn Java có liên quan là rất mệt mỏi, tốn thì giờ và
đôi khi gần như không làm được.
Xác định mối tương quan giữa tập lệnh SQL đã thực hiện trên cơ sở dữ liệu tới dòng lệnh thực tế
khởi sự nó bao gồm việc tập hợp và vất vả truy vết từ trình điều khiển cơ sở dữ liệu và các thành
phần truy cập dữ liệu khác nhau mà ứng dụng đã truy nhập. Quá trình này phải lặp lại mỗi khi có
vấn đề xảy ra trong ứng dụng. Khả năng xác định mối tương quan nói trên phụ thuộc vào các thành
phần nằm ở bên dưới để cung cấp những vết tích thích hợp và là một gánh nặng liên tục cho các
chuyên viên phát triển khi phải bổ xung các vệt tin và giữ cho chúng luôn chính xác.
Các quản trị viên cơ sở dữ liệu cũng bị hạn chế trong việc nhận diện các lớp Java nào đã phát ra
câu lệnh SQL vì thông tin tìm thấy trong các vệt tin cơ sở dữ liệu là hạn hẹp. Vì các chuyên viên
phát triển chọn JDBC hay một khung công tác dựa trên nền JDBC, nên các quản trị viên cơ sở dữ
liệu không có nhiều công cụ để giúp đỡ các chuyên viên phát triển biết được các tập lệnh SQL đến
từ các ứng dụng nào.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 7 của 30
developerWorks®
ibm.com/developerWorks/vn/
Việc xác định mối tương quan trở nên phức tạp hơn với các kiến trúc ba tầng (three-tier) và khi các
khung công tác được sử dụng. Các ứng dụng sử dụng các khung công tác như Hibernate hay JPA
tạo ra câu lệnh SQL trên đường bay (on-the-fly – trong thời gian thực thi chương trình) và rất khó
cho các chuyên viên phát triển lần ngược lại một câu lệnh SQL cá biệt (hay tập hợp các câu lệnh)
tới ngôn ngữ truy vấn của khung công tác đã phát sinh ra nó, thậm chí khi mã nguồn có sẵn. Khi mã
nguồn không có sẵn, điều này còn khó hơn. Bởi vậy, nếu người dùng cuối cùng, chuyên viên phát
triển, hay quản trị viên cơ sở dữ liệu than phiền về một câu lệnh SQL kém hiệu quả, thì sẽ cần đến
một nỗ lực lớn để thử và xác định vị trí câu lệnh SQL kia tại nguồn Java phát sinh nó.
Bây giờ …
Data Studio Developer 1.2 làm cho điều đó dễ dàng hơn khi tạo tương liên giữa câu lệnh SQL với
một lớp Java cụ thể và số hiệu dòng lệnh, ngay cả khi một khung công tác tạo ra câu lệnh SQL
này. Bạn có thể thấy điều này khi sử dụng cửa sổ chính pureQuery mới. Hơn nữa, tại cửa sổ này bạn
có thể khoan sâu lên, vào trong mã nguồn ứng dụng đã khởi sự tạo ra câu lệnh SQL đó.
Để tận dụng cửa sổ chính của pureQuery bạn cần phải làm một trong những việc sau :
• Viết ứng dụng của bạn bằng cách sử dụng API theo phong cách chú giải phương thức
(annotated-method) của pureQuery. Việc này sẽ tạo trước các thông tin để gỡ lỗi, để sẵn dùng
trong quá trình phát triển và kiểm thử.
• Bắt giữ câu lệnh SQL từ ứng dụng đang chạy (hoặc nhập các câu lệnh SQL đã thu được trước
đó) như đã mô tả trong phần tối ưu hóa phía khách. Sau khi làm điều này, bạn cũng có thể
phát huy tác dụng của cửa sổ chính.
Từ danh sách của các câu lệnh SQL tại cửa sổ chính, bạn có thể nhấn đúp trên bất kỳ câu lệnh
SQL nào để xem dòng mã nào đã tạo ra câu lệnh SQL đó, hay bạn có thể nhấn nhấn chuột phải
trên SQL và chọn Show in source.
Hình 5 ở dưới cho thấy cách thức cửa sổ chính pureQuery liệt kê danh sách các câu lệnh SQL
được sinh ra từ một ứng dụng OpenJPA và cách thức mỗi câu lệnh SQL liên kết như thế nào đến
nguồn của nó trong ứng dụng:
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 8 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình 5. Liên kết SQL tới nguồn Java
Nâng cao việc phân tích tác động trong các ứng dụng cơ sở dữ liệu
Trước đây ….
Trước đây, không có cách dễ dàng nào để nhìn thấu được những đối tượng cơ sở dữ liệu nào được
tham chiếu bởi những phần nào của ứng dụng truy nhập dữ liệu với Java. Các thành viên của đội
lập trình làm việc trên các phần khác nhau của ứng dụng không có cách nào để biết các phần khác
có thể sẽ phát ra những câu lệnh SQL nào tới cơ sở dữ liệu. Ngoài ra, đối với cơ sở dữ liệu, các lược
đồ được thay đổi liên tục như là một phần của quá trình phát triển ứng dụng. Vì không có khả năng
nhìn thấu để biết sự thay đổi có thể ảnh hưởng đến ứng dụng như thế nào, nên các thay đổi đó trở
nên nguy hiểm. Các chuyên viên phát triển và các quản trị viên cơ sở dữ liệu không thể dễ dàng
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 9 của 30
developerWorks®
ibm.com/developerWorks/vn/
làm việc cùng nhau để hiểu tác động của các thay đổi đó. Vì lý do này, quá trình phức tạp để xác
định tác động của thay đổi làm chậm tiến trình phát triển, dẫn đến sự chậm trễ giao thành phẩm,
hay thậm chí đôi khi dẫn đến quyết định không thay đổi nữa vì ngại các chậm trễ như thế.
Bây giờ ….
Với cửa sổ chính pureQuery của Data Studio Developer 1.2 được mô tả ở trên, bạn có thể dễ dàng
có được cái nhìn thấu vào trong để biết phần nào của ứng dụng sử dụng những bảng nào, cột nào,
khung nhìn nào của cơ sở dữ liệu. Điều này cho phép các chuyên viên phát triển và quản trị viên cơ
sở dữ liệu dễ dàng xác định mối tương liên của các câu lệnh SQL riêng lẻ tạo ra bởi một lớp Java
cụ thể và cùng lúc xác định những bảng nào, những cột nào được tham chiếu trong câu lệnh.
Vì cửa sổ chính pureQuery cho phép bạn khoan sâu lên, vào trong mã nguồn ứng dụng, nó cũng
cho phép bạn khoan sâu xuống vào trong các đối tượng của cơ sở dữ liệu mà câu lệnh SQL sử
dụng. Các chuyên viên phát triển bây giờ có thể thấy câu lệnh SQL của họ ảnh hưởng đến các đối
tượng cơ sở dữ liệu nào. Các quản trị viên cơ sở dữ liệu và các chuyên viên phát triển có thể làm
việc cùng nhau và làm đi làm lại nhiều lần để tiến gần đến các thay đổi cơ sở dữ liệu sao cho tác
động ít nhất đối với các ứng dụng-- như vậy giảm bớt hay loại trừ được các nguy cơ. Sự phát triển
mang tính đồng đội có hiệu quả đó có thể thực hiện được bởi họ có thông tin về tất cả các câu lệnh
SQL được dùng trong ứng dụng và cơ sở dữ liệu bị ảnh hưởng bởi mỗi câu lệnh SQL ở ngay trong
tầm tay của chuyên viên phát triển.
Sử dụng phiếu Database trong cửa sổ chính pureQuery để thấy đối tượng cơ sở dữ liệu nào được sử
dụng bởi ứng dụng của bạn. Khi khoan sâu xuống vào trong mỗi lược đồ và bảng hay khung nhìn,
bạn sẽ thấy các câu lệnh SQL đang sử dụng các đối tượng ấy. Thâm nhập sâu hơn vào trong câu
lệnh SQL, bạn sẽ thấy cột nào được SQL sử dụng. Nhấn đúp vào SQL--- hay nhấn phím phải chuột
trên SQL và chọn Show in source -- bạn sẽ thấy số hiệu dòng lệnh trong ứng dụng đã tạo ra câu
lệnh SQL này.
Phiếu Database trong cửa sổ chính pureQuery cũng giúp bạn hiểu ứng dụng của bạn phải thay đổi
như thế nào nếu một bảng hay khung nhìn đã cho thay đổi. Để có thông tin này đối với các cột, bạn
có thể sử dụng trình đơn lọc trên cửa sổ chính pureQuery và cung cấp tên cột. Kết quả sau khi lọc,
cửa sổ chính chỉ liệt kê các câu lệnh SQL đang sử dụng cột này. Hoặc nếu bạn có sẵn mã nguồn
Java, bạn có thể nhấn phím phải chuột bên trong một cột trong câu lệnh SQL và chọnpureQuery> Show In-> pureQuery outline.
Mỗi thành viên của đội phát triển bây giờ có thể dễ dàng đánh giá được bộ phận nào của ứng dụng
của mình bị ảnh hưởng bởi thay đổi lược đồ mà quản trị viên cơ sở dữ liệu đã đề nghị. Qua làm việc
cùng nhau, các quản trị viên cơ sở dữ liệu và các chuyên viên phát triển có thể xác định những
thay đổi nào có thể mang lại lợi ích nhiều nhất và nguy cơ ít nhất.
Phiếu Database cho thấy các lược đồ và bảng được các câu lệnh SQL trong ứng dụng sử dụng.
Công cụ lọc trong hình ở dưới chỉ cho thấy các câu lệnh SQL đang sử dụng cột FIRSTN.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 10 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình 6. Tương quan hoá các câu lệnh SQL tới các cột cơ sở dữ liệu
Những đặc tính bổ sung thêm của Runtime pureQuery Data Studio
Trước kia …
Data Studio Developer 1.1 hỗ trợ những cách dùng JDBC tốt nhất, chẳng hạn như thực hiện các
câu lệnh SQL theo bó. JDBC hỗ trợ việc thu thập các câu lệnh SQL trên một bảng và hỗ trợ thực
hiện tập hợp các câu lệnh theo bó. Các câu lệnh SQL được gửi lên đường truyền từng nhóm nhiều
câu trong một hành trình mạng. Phong cách inline của PureQuery tạo điều kiện thuận lợi cho cách
dùng JDBC tốt nhất như nói trên bằng việc sử dụng API updateMany. Phong cách chú giải phương
thức (annotated-method) của PureQuery cũng hỗ trợ ngầm cách dùng này khi một nhóm các đối
tượng được chuyển tới một phương thức kèm với các lệnh INSERT, UPDATE hay DELETE.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 11 của 30
developerWorks®
ibm.com/developerWorks/vn/
Nếu bạn muốn thu thập một tập hợp các phép toán SQL mà sẽ hoạt động trên nhiều bảng, thì
JDBC không hỗ trợ việc tạo bó từ các câu lệnh như thế. Ví dụ, giả thiết rằng bạn muốn thực hiện
một gói lớn lệnh chèn vào trong một bảng mà cũng yêu cầu chèn dữ liệu vào trong một số bảng
con. Đó là vì có các ràng buộc khóa ngoài. Lựa chọn duy nhất là thêm lôgic xử lý vào một thủ tục
lưu và sau đó gửi dữ liệu theo gói lớn đến các thủ tục lưu.
Bây giờ …
Với khả năng tạo bó lệnh không đồng nhất, của pureQuery, bạn có thể bó các câu lệnh INSERT,
UPDATE, và DELETE tham chiếu tới các bảng khác nhau. Việc cập nhật theo bó lệnh không đồng
nhất này cho phép tất cả các bảng có liên quan được cập nhật trong một chu trình mạng tới máy
chủ. pureQuery bổ xung các phương thức cập nhật theo bó không đồng nhất. Bạn gọi các phương
thức này để ra lệnh cho pureQuery biết là bạn đang bắt đầu và đang kết thúc việc cập nhật theo bó.
Việc tạo bó không đồng nhất mang lại tiềm năng cải thiện hiệu quả thực hiện các câu lệnh chèn,
cập nhật và xóa hoạt động trên nhiều bảng. Nó cũng có thể cải thiện tính gắn bó lôgic của cơ sở dữ
liệu Java của bạn bằng việc chỉ ra rằng nhóm các thao tác chèn, cập nhật và xóa là có liên quan
đến nhau. .
Hỗ trợ hệ điều hành z/OS
pureQuery Runtime của Data Studio IBM cho hệ điều hành z/OS cho phép bạn triển khai runtime
pureQuery trên máy chủ z/OS và truy nhập cơ sở dữ liệu DB2 cho hệ điều hành z/OS bằng cách
sử dụng truy cập JDBC kiểu 2 hoặc kiểu 4. Để biết chi tiết hơn về các lợi ích hiệu năng và tiết kiệm
CPU có thể đạt được khi sử dụng pureQuery trên z/OS, hãy xem bài nghiên cứu về hiệu năng trong
Tài nguyên.
Cộng tác hiệu quả với quản trị viên cơ sở dữ liệu để phát triển SQL tĩnh
Trước đây …
Chuyên viên phát triển phát triển dữ liệu và quản trị viên cơ sở dữ liệu không kết hợp được kinh
nghiệm của mình với nhau; nếu người phát triển dữ liệu sử dụng những công cụ để cung cấp các
tùy chọn liên kết các gói, thì quản trị viên cơ sở dữ liệu phải bắt đầu từ đầu để cung cấp cùng các
tùy chọn liên kết ấy trên dòng lệnh. Thông thường hơn, quản trị viên cơ sở dữ liệu tạo ra những tùy
chọn liên kết và các chuyên viên phát triển cần sử dụng chúng để liên kết trong phát triển hay kiểm
thử các cơ sở dữ liệu. Các tuỳ chọn liên kết do các quản trị viên cơ sở dữ liệu tạo ra như vậy, các
chuyên viên phát triển có thể không sử dụng lại trong môi trường phát triển. Các chuyên viên phát
triển và quản trị viên cơ sở dữ liệu sử dụng Data Studio Developer không nhận được phản hồi về
các gói được tạo ra trên cơ sở dữ liệu từ kết quả liên kết hoặc không thể dễ dàng xác định các gói
kết hợp với một lớp Java cá biệt.
Bây giờ
Nhiều đặc tính trong Data Studio Developer 1.2 tăng cường sự hợp tác giữa chuyên viên phát triển
và quản trị viên cơ sở dữ liệu. Các tùy chọn liên kết nằm trong các tệp tin chung, có thể được dùng
trong dòng lệnh hay trong những công cụ phát triển tích hợp cho Java. Khi sử dụng những công cụ
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 12 của 30
ibm.com/developerWorks/vn/
developerWorks®
phát triển, chức năng hỗ trợ nội dung với thông tin về các tùy chọn liên kết cho phép các chuyên
viên phát triển tập sự tạo ra các tùy chọn liên kết rất nhanh chóng.
Chúng ta hãy xem xét một số kịch bản được cải thiện nhờ có các đặc tính hợp tác này:
• Quản trị viên cơ sở dữ liệu và chuyên viên phát triển làm việc riêng rẽ.
Theo đặc thù công việc, các quản trị viên cơ sở dữ liệu chịu trách nhiệm về những thao tác liên
kết và có kiến thức để cung cấp và tinh chỉnh các tùy chọn liên kết thích hợp. Các chuyên viên
phát triển hay các chuyên viên bảo đảm chất lượng chịu trách nhiệm sử dụng các tùy chọn mà
các quản trị viên cơ sở dữ liệu đưa ra và chạy các liên kết để kiểm tra.
Quản trị viên cơ sở dữ liệu có thể đơn giản tạo ra các tệp tùy chọn liên kết và gửi chúng cho
chuyên viên phát triển hay chuyên viên bảo đảm chất lượng để sử dụng lại trong môi trường
phát triển.
• Chuyên viên phát triển chia sẻ vai trò với quản trị viên cơ sở dữ liệu
Chức năng hỗ trợ nội dung về các tùy chọn liên kết với thông tin kết hợp với mỗi tùy chọn cho
phép các nhân viên phát triển tập sự tạo ra những tùy chọn liên kết phức tạp không cần phải
tham khảo tài liệu hay phải có trước kiến thức về các tùy chọn. Chuyên viên phát triển bây giờ
có khả năng thực hiện một số nhiệm vụ giống như nhiệm vụ của quản trị viên cơ sở dữ liệu một
cách dễ dàng và như vậy sẽ làm giảm bớt gánh nặng của quản trị viên cơ sở dữ liệu.
• Quản trị viên cơ sở dữ liệu chia sẻ vai trò với chuyên viên phát triển
Các quản trị viên cơ sở dữ liệu khi có các công cụ sẵn có của Data Studio Developer có thể
sử dụng các đặc tính năng suất cao trong bộ biên tập để xây dựng các tùy chọn liên kết phức
tạp một cách dễ dàng. Họ có thể thử trên công cụ kiểm thử hay trên các cơ sở dữ liệu sử dụng
thực tế mà không phải thay đổi các dự án phát triển. Việc duyệt các gói được cải thiện đáng
kể trong Database Explorer bây giờ cho phép quản trị viên cơ sở dữ liệu duyệt tính hợp lệ cho
các gói được triển khai trên cơ sở dữ liệu.
Các công cụ liên kết được cải thiện
Bây giờ Data Studio Developer 1.2 làm cho việc phát triển và triển khai câu lệnh SQL tĩnh được dễ
dàng hơn, thậm chí cho một số kịch bản phức tạp. Một số tính năng mới nổi bật bao gồm:
• Hỗ trợ nội dung và tô màu trong bộ biên tập để xây dựng các tùy chọn sinh gói khi thiết kế
gói.
• Hỗ trợ nội dung và tô màu trong bộ biên tập để xây dựng các tùy chọn liên kết phức tạp.
• Khả năng liên kết một, nhiều, hay tất cả các tạo tác (artifact) bên trong môi trường phát triển.
• Khả năng liên kết đối với cơ sở dữ liệu đang phát triển, đang chạy thử, đã sử dụng thực tế hay
bất kỳ cơ sở dữ liệu nào khác mà không phải thay đổi các thiết đặt của dự án phát triển của
bạn.
• Xem trước các gói và SQL trong các gói trước khi triển khai chúng.
• Nối từ cửa sổ thiết kế đến cửa sổ cơ sở dữ liệu để kiểm tra các gói được tạo ra trên cơ sở dữ
liệu.
• Loại bỏ, thay thế hay thêm những phiên bản mới cho các gói.
• Tạo gói đơn từ nhiều giao diện pureQuery.
Mục kế tiếp đi sâu vào chi tiết hơn các đặc tính này.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 13 của 30
developerWorks®
ibm.com/developerWorks/vn/
Từ thiết kế đến liên kết : Các công cụ cải tiến để phát triển SQL tĩnh
Data Studio Developer cung cấp nhiều tính năng điều khiển và phản hồi hơn cho các chuyên viên
phát triển và các quản trị viên cơ sở dữ liệu trong quá trình phát triển và liên kết SQL tĩnh, từ thiết
kế đến liên kết.
1. Bước 1. Thiết kế các gói của bạn.
Khi sử dụng sự trợ giúp nội dung và tô màu trong các bộ biên tập mới trong Data Studio
Developer 1.2, bạn có thể đặt tên gói, ID của sưu tập hay phiên bản của gói. Khi làm việc với
những ứng dụng JDBC hay ứng dụng trên nền khung công tác hiện có, bạn cũng có thể loại bỏ
một số SQL nhất định từ các gói.
Hình ở dưới cho thấy sự trợ giúp nội dung để thiết kế gói.
Hình 7. Thiết kế các gói của bạn
Một ví dụ của các thuộc tính để thiết kế gói:
com.demo.ActData=-collection myNewColl -rootPkgName myPkg -pkgVersion V1
2. Bước 2. Xem trước các gói.
Với Data Studio Developer, bạn có thể xem trước các gói trong chế độ thiết kế để bảo đảm
rằng nó có tên đúng, câu lệnh SQL đúng và vân vân. Lặp lại chu trình "thiết kế - xem trước"
cho đến khi gói sằn sàng để liên kết.
Để xem trước các gói trước khi liên kết chúng, bạn chuyển tới phiếu SQL của cửa sổ chính
pureQuery và nhấn vào gói định xem. Cửa sổ Properties cung cấp nhiều thông tin hơn như tên
phiên bản, ID của sưu tập, vân vân.
Để thấy câu lệnh SQL sẽ đưa vào trong trong gói, bạn mở rộng nút gói. Nếu bạn đã chỉ rõ rằng
những gói hay câu lệnh SQL nhất định không nên liên kết (như là một phần của tối ưu hóa
phía khách), thì bạn sử dụng cửa sổ này để bảo đảm chúng không được đưa vào trong phiếu
SQL của cửa sổ chính pureQuery.
Để lặp lại chu trình "thiết kế - xem trước", chỉ cần thay đổi tệp default.genprops và làm mới lại
cửa sổ chính pureQuery.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 14 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình bên dưới cho thấy các gói tại cửa sổ “preview”. Bạn có thể thấy gói myPkg được liên kết
vào sưu tập có ID là myNewColl và có ID phiên bản là V1. Bạn cũng có thể thấy các câu lệnh
nào được đưa vào gói.
Hình 8. Xem trước các gói của bạn
3. Bước 3: Liên kết các gói của bạn.
Bộ biên tập mới giúp cho việc định rõ các tùy chọn phức tạp dễ dàng hơn nhiều. Tổ hợp gồm
hỗ trợ nội dung, thông tin miêu tả cho mỗi tùy chọn và bộ biên tập tích hợp nhiều trải nghiệm
cho phép bạn xây dựng các kịch bản lệnh liên kết phức tạp mà không yêu cầu bạn phải tra
khảo sổ tay hay nhớ lại các cú pháp phức tạp. Chức năng tô màu làm cho thao tác với các tập
hợp phức tạp các tùy chọn trở nên dễ dàng hơn.
Hình phía dưới cho thấy sự trợ giúp về nội dung về các tùy chọn liên kết, trên từng máy chủ.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 15 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 9. Trợ giúp nội dung về các tùy chọn liên kết
Ví dụ về các thuộc tính để liên kết các gói :
com.demo.ActData =-isolationLevel CS -bindOptions "QUALIFIER SSURANGE"
Khi gói đã sằn sàng để liên kết, bạn có thể liên kết tới cơ sở dữ liệu đang phát triển, đang chạy
thử hay đã sử dụng thực tế mà không phải thay đổi môi trường dự án phát triển của mình.
Hình ở dưới cho thấy bạn có thể nhấn phím phải chuột trên giao diện pureQuery và chọn trình
đơn pureQuery->Bind như thế nào. Chọn một cơ sở dữ liệu để liên kết và chọn OK.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 16 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình 10. Liên kết gói của bạn
4. Bước 4: Kiểm tra sự liên kết.
Sau khi thao tác liên kết thành công, bạn có thể dễ dàng dẫn hướng tới gói đã được liên kết tại
cơ sở dữ liệu bằng cách chuyển tới phiếu SQL trong cửa sổ chính pureQuery và nhấn đúp lên
tên gói (hoặc bằng cách khác, nhấn chuột phải trên gói và chọn Show in Database Explorer.)
Thao tác này cung cấp cho bạn một phản hồi tức thời về các gói được tạo ra trên cơ sở dữ liệu
là kết quả của liên kết đã thành công như minh hoạ dưới đây.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 17 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 11. Đường link tới các gói trong Database Explorer sau khi liên kết
Mục tiếp theo mô tả các cải tiến trong Database Explorer, nó cho phép bạn có nhiều thông tin
hơn về các gói.
Cải thiện hỗ trợ việc dẫn hướng đến các gói của DB2
Database Explorer được nâng cao tính năng với các gói để cung cấp cho bạn hầu hết thông tin mà
bạn muốn biết về các gói của mình trong môi trường phát triển.
Data Studio Developer cho phép bạn dễ dàng khám phá các gói hiện tại. Bằng việc quan sát cửa
sổ Properties bạn có thể thấy những thông tin, ví dụ như các câu lệnh SQL trong mỗi gói, các tùy
chọn liên kết được sử dụng, thời gian liên kết cuối cùng, phiên bản gói, sưu tập, mức cô lập, quyền
của người sử dụng, vân vân. Hình 12 cho thấy các cải thiện hỗ trợ việc dẫn hướng đến các gói của
DB2.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 18 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình 12. Sự dẫn hướng đến các gói DB2 được cải thiện
Hoàn thành các dự án pureQuery nhanh chóng hơn
Data Studio Developer 1.2 gia tăng tập trung vào tích hợp liền khối (seamlessly) các công cụ phát
triển SQL vào môi trường phát triển Java. Khả năng có được mọi câu lệnh SQL phát ra từ ứng
dụng sẵn sàng trong tầm tay của chuyên viên phát triển đã tăng sức mạnh cho họ trong nhiều kịch
bản như được mô tả trong một số mục tiếp theo.
Kiểm tra chất lượng của SQL
Các phần trước đây mô tả bằng cách nào bạn có thể sử dụng cửa sổ chính pureQuery để thấy tất cả
các SQL trong một ứng dụng.
Bằng cách nhấn nút chuột phải trên SQL từ cửa sổ chính pureQuery, bạn có thể chạy Visual Explain
để thấy đường truy nhập của SQL (Hình 13). Chuyên viên phát triển bây giờ có thể cải thiện SQL
(hay cùng làm việc với quản trị viên cơ sở dữ liệu để làm điều này) và lặp lại chu trình cho đến khi
SQL sử dụng được một đường truy nhập mong muốn.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 19 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 13. Các thao tác tại SQL từ cửa sổ pureQuery
So sánh các thay đổi của SQL giữa các phiên bản ứng dụng
Khả năng xuất SQL từ một ứng dụng cho phép bạn so sánh các thay đổi trong SQL giữa các phiên
bản ứng dụng. Điều này có thể mang lại các lợi ích đáng kể khi bạn điều tra sự suy giảm hiệu năng
qua các lần phát hành hay những vấn đề được đưa vào các phiên bản mới hơn.
Chia sẻ SQL với quản trị viên cơ sở dữ liệu hay các thành viên khác trong đội
Nếu các chuyên viên phát triển muốn gửi SQL cho quản trị viên cơ sở dữ liệu để có phản hồi, thì họ
có thể làm điều này từ cửa sổ chính pureQuery. Bạn chọn một hoặc nhiều câu lệnh SQL, nhấn phím
phải chuột và chọn Export SQL. Toàn bộ các lệnh SQL từ các ứng dụng bây giờ có thể được chia
sẻ với quản trị viên cơ sở dữ liệu để đều đặn nhận ý kiến phản hồi và cải tiến trong chu kỳ phát triển
ứng dụng. Việc xuất tất cả các lệnh SQL trong một lớp Java cho phép quản trị viên cơ sở dữ liệu dễ
dàng xem lại tất cả các SQL được sinh ra bởi một lớp Java mà không phải xem mã nguồn Java và
chuyên viên phát triển có thể nhanh chóng và dễ dàng tạo ra danh sách này.
Các thành viên trong đội có thể nhận thấy được SQL phát sinh bởi các phần khác của ứng dụng,
điều này giúp họ có một cái nhìn toàn bộ về SQL và các đối tượng cơ sở dữ liệu được sử dụng.
Nếu quản trị viên cơ sở dữ liệu cũng có sản phẩm Data Studio Developer thì họ cũng có thể xem
lại tất cả các SQL trong tệp các lớp Java chỉ bằng cách sử dụng cửa sổ chính pureQuery mà không
phải xuất nó. Quản trị viên cơ sở dữ liệu có thể chạy SQL và chạy tiện ích giải thích trên mọi SQL từ
trong cửa sổ chính pureQuery. Cửa sổ chính pureQuery cung cấp một bản tóm lược dễ đọc cho tất
cả các câu lệnh SQL trong lớp Java.
Di chuyển các ứng dụng cơ sở dữ liệu Java hiện tại tới pureQuery
Nhiều khi người ta mong muốn di trú từ những ứng dụng hiện hữu tới pureQuery để cho các ứng
dụng có thể có mọi lợi ích từ mô hình lập trình dễ sử dụng của nền pureQuery. Quá trình này được
thực hiện dễ dàng hơn nhiều trong Data Studio Developer 1.2 bằng việc xuất SQL hiện có từ cửa sổ
chính và sau đó tạo ra một giao diện pureQuery từ câu lệnh SQL được xuất kia.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 20 của 30
ibm.com/developerWorks/vn/
developerWorks®
1. Từ cửa sổ chính pureQuery, bạn chọn một hoặc nhiều câu lệnh SQL, nhấn chuột phải và chọn
Export SQL to File, như hình dưới.
Hình 14. Xuất SQL sang tệp tin
Bây giờ bạn có thể tạo mã
pureQuery từ một hoặc nhiều câu lệnh SQL.
2. Từ File -> New->Other, bạn mở rộng mục Data và chọn pureQuery Annotated-method
interface.
3. Bây giờ bạn có thể tạo ra một tầng truy nhập dữ liệu pureQuery cho tất cả các câu lệnh SQL
trong tệp *.sql chỉ bằng một lần sử dụng thủ thuật làm sẵn (wizard).
Các bước của thủ thuật bao gồm nhập tệp *.sql và tuỳ ý thay đổi các đặc trưng bean mặc định
mà các công cụ đề nghị. Tầng truy nhập dữ liệu pureQuery với tên giao diện đã xác định và
những gợi ý về API cho mỗi câu lệnh SQL sẽ được sinh ra một mạch.
Hình ở dưới cho thấy những hoạt động trong thủ thuật.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 21 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 15. Tạo mã pureQuery cho một danh sách các câu lệnh SQL
Tùy biến tạo mã
Trước đây…
Data Studio Developer cung cấp khả năng uốn nắn (tweak) các mã lệnh sẽ sinh ra thông qua các
hội thoại và thiết đặt của thủ thuật giao diện người dùng.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 22 của 30
ibm.com/developerWorks/vn/
developerWorks®
Bây giờ ….
Làm được nhiều hơn trên khuôn mẫu JET
Các khuôn mẫu JET là một khung công tác tạo mã được Eclipse sử dụng. Để biết chi tiết hơn,
bạn tham khảo mục ""Tạo mã nhiều hơn -- tốt hơn trong Eclipse với JET”".
Bạn có nhiều linh hoạt hơn trong việc tùy biến mã được sinh ra ở bên ngoài các công cụ. Data
Studio Developer 1.2 cho xem các khuôn mẫu JET Eclipse được sử dụng để tạo ra tất cả các thao
tác tạo mới, đọc, cập nhật và xóa (CRUD) của SQL, các tầng truy nhập cơ sở dữ liệu pureQuery
và mã kiểm tra. Bạn có thể coi các khuôn mẫu này như của riêng mình, tùy biến chúng và chia sẻ
chúng với tất cả các chuyên viên phát triển. Khi đội của bạn sử dụng Data Studio Developer 1.2,
bây giờ mã được sinh ra tuân theo các thay đổi từ các khuôn mẫu đã tùy biến. Bạn có thể sử dụng
chức năng này để tạo ra các tệp mới, thay đổi các tệp đã sinh hiện có và nhiều thao tác nữa.
Hỗ trợ sinh mã tiên tiến
Các khung công tác như Hibernate thường giả định sẵn về sự ánh xạ (đặt tương ứng) giữa những
đối tượng Java và dữ liệu (trong bảng) quan hệ nằm bên dưới và không cung cấp cho chuyên viên
phát triển khả năng điều khiển để thay đổi các ánh xạ đó. Ví dụ, khung công tác có thể giả định
rằng bất kỳ trường CHAR(1) nào cần phải được ánh xạ với một kiểu dữ liệu Boolean.
Data Studio Developer 1.2 bây giờ cho bạn khả năng để xác định rõ ánh xạ kiểu dữ liệu từ cơ sở dữ
liệu tới Java, mặc định ở mức không gian làm việc. Bạn có thể tùy biến các thiết đặt này để phù hợp
với các nguyên tắc chỉ đạo phát triển ứng dụng và các yêu cầu nghiệp vụ của mình. Sau đó bạn có
thể xuất các ưu tiên này và chia sẻ nó với các chuyên viên phát triển để đảm bảo sử dụng ánh xạ
kiểu nhất quán.
Sau đây là một số đặc tính bổ sung có thể giúp đỡ bạn có năng suất cao và tính linh hoạt trong các
dự án lớn:
• Tổ chức mã được phát sinh cho các giao diện pureQuery và kiểm thử trong những gói SQL
DB2 khác nhau
• Định khuôn dạng SQL khi mã được phát sinh hay sau khi SQL được sửa đổi
• Tạo ra các tầng truy nhập dữ liệu đầy đủ từ một hoặc nhiều câu lệnh SQL bằng một thao tác
Tạo một thủ tục Java bằng một cú nhấn chuột
Chưa bao giờ việc phát triển thủ tục thường lệ (routine) hay thủ tục lưu cho cơ sở dữ liệu Java lại dễ
dàng như bây giờ. Bạn chỉ cần trỏ chuột vào phương thức Java và nhấn để triển khai.
Thêm nữa, bây giờ bạn có thể sử dụng SQL tĩnh theo phong cách chú giải phương thức (annotatedmethod) của pureQuery trong các thủ tục của mình và có được cùng những lợi ích hiệu năng như
bạn đã từng có được từ COBOL khi sử dụng SQL tĩnh, nhưng nhàn hạ hơn với lập trình pureQuery
và Java. Bạn nhấn nút chuột phải vào bất cứ nơi đâu trong thủ tục Java và chọn Create Stored
Procedure.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 23 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 16. Tạo thủ tục
Dịch vụ Web dữ liệu được cải thiện
Trước đây ….
Bản phát hành đầu tiên của Data Studio giới thiệu một giải pháp mới khéo léo để phô bày dữ liệu
của cơ sở dữ liệu như là các dịch vụ Web. Giải pháp này, được đặt tên rất thích đáng là dịch vụ Web
dữ liệu, cho phép bạn tạo ra dịch vụ Web từ các thao tác trên cơ sở dữ liệu như các câu lệnh SQL
(Chọn, Cập nhật, Chèn, Xoá, Truy vấn XQueries) và những thủ tục lưu mà không yêu cầu bất kỳ
thao tác lập trình nào!. Một số đặc tính nổi bật của dịch vụ Web dữ liệu là:
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 24 của 30
ibm.com/developerWorks/vn/
•
•
•
•
•
developerWorks®
Cách tiếp cận “không viết mã” để phát triển dịch vụ Web.
Cài sẵn các hỗ trợ cho cả hai cách liên kết SOAP và REST-styled.
Khả năng triển khai dịch vụ Web tại cơ sở hạ tầng SOAP hiện có với vài lần nhấn chuột.
Tự động sinh ra tệp WSDL dựa trên dịch vụ Web đã trưng bày.
Môi trường phát triển tích hợp cho cả truy nhập dữ liệu và dịch vụ Web cài sẵn cách thao tác
tốt nhất.
Bây giờ …
Data Studio 1.2 cải thiện hơn nữa các dịch vụ Web dữ liệu với một số đặc tính, các đặc tính này cải
thiện độ an toàn, tính dễ quản trị và cung cấp một phạm vi rộng hơn các tùy chọn triển khai. Chúng
ta hãy xem xét một số tính năng nâng cao then chốt.
Hỗ trợ SQL tĩnh cho dịch vụ Web dữ liệu
Bây giờ Data Studio Developer cho phép sử dụng pureQuery bên trong dịch vụ Web dữ liệu. Các
lợi ích của pureQuery như khả năng thực hiện tốt hơn, độ an toàn tốt hơn và dễ điều khiển hơn bây
giờ cũng được mở rộng cho các dịch vụ Web dữ liệu.
Đối với máy chủ Web J2EE, ta có một tùy chọn triển khai mới, cho phép chỉ rõ dịch vụ Web truy
nhập cơ sở dữ liệu bằng cách sử dụng JDBC hay sử dụng pureQuery. Mô hình cấp quyền dựa trên
nền gói của SQL tĩnh được cho phép qua pureQuery cũng cho các quản trị viên cơ sở dữ liệu một
khả năng kiểm soát tốt hơn các dữ liệu được dịch vụ Web trưng bày.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 25 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 17. Hỗ trợ SQL tĩnh cho các dịch vụ Web dữ liệu
Các dịch vụ Web dữ liệu sử dụng SOAP trên JMS
Để cung cấp các dịch vụ Web có yêu cầu chuyển phát bảo đảm, bạn có thể sử dụng SOAP trên JMS
thay vì SOAP trên HTTP. Như được minh hoạ tại hình 18, bây giờ bạn có thể chọn SOAP trên JMS
làm tầng chuyển tải nằm ở bên dưới khi bạn chọn máy chủ WebSphere Application làm nền tảng
đích. Các ứng dụng JMS tương tác với nhau, sử dụng hoặc mô hình truyền tin điểm tới điểm hoặc
mô hình xuất bản/thuê bao (publish/subscribe). Dịch vụ Web dữ liệu trong phiên bản này chỉ hỗ
trợ mô hình truyền tin điểm tới điểm sử dụng các hàng đợi. Dịch vụ Web dữ liệu được phát triển
bằng cách tiếp cận không viết mã tại Data Studio có thể được triển khai tại một môi trường truyền
tin đáng tin cậy bằng việc định nghĩa các tạo tác (artifacts) cần thiết trong máy chủ WebSphere
Application để cho phép JMS hoạt động.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 26 của 30
ibm.com/developerWorks/vn/
developerWorks®
Hình 18. Các dịch vụ Web dữ liệu sử dụng SOAP trên JMS
Truy nhập dựa trên dịch vụ Web tới DB2 bằng các thiết bị dùng công nghệ SOA
DataPower WebSphere.
Giải pháp này kết hợp những điểm tốt nhất của cả hai công nghệ - mô hình phát triển được đơn
giản hóa của dịch vụ Web dữ liệu kết hợp với việc xử lý tốc độ cao của DataPower để đạt được
thông lượng cao của dịch vụ Web.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 27 của 30
developerWorks®
ibm.com/developerWorks/vn/
Hình 19. Triển khai dịch vụ Web dữ liệu trên các thiết bị WebSphere DataPower
Tóm tắt
Chúng tôi mới chỉ giới thiệu qua những đặc tính mới then chốt của Data Studio Developer 1.2.
Cách tốt nhất để bạn thật sự cảm nhận được các đặc tính nâng cao đã mô tả ở đây là tải phiên bản
chạy thử xuống và tự mình thử nghiệm nó. Chúng tôi cũng đề nghị bạn xem đoạn băng video mà
một kỹ sư của chúng tôi đã tải lên để xem các đặc tính then chốt mà chúng tôi đã mô tả ở đây.
Bảng 1 tổng kết về hỗ trợ các đặc tính của Phiên bản 2.1 theo từng nền tảng cơ sở dữ liệu:
Bảng 1 Hỗ trợ các đặc tính theo từng nền tảng cơ sở dữ liệu:
Đặc tính
Máy chủ Informix
Dynamic
DB2 cho LUW
DB2 cho z/OS
DB2 cho i
Tối ưu hóa phía khách
để cho phép chạy các ứng
dụng JDBC hiện có theo
phương thức tĩnh
Có
Trong tương lai
Có
Có
Xác định vấn đề cho các
chuyên viên phát triển
Có
Có
Có
Có
Phân tích tác động cho các
ứng dụng cơ sở dữ liệu
Có
Có
Có
Có
Bó lệnh không đồng nhất
Có
Không
Có
Có
Truy nhập dựa trên dịch
vụ Web tới DB2, sử dụng
các thiết bị dùng công
nghệ SOA DataPower
WebSphere.
Có
Không
Có
Có
Tất cả các đặc tính khác
Có
Có
Có
Có
Lời cảm ơn
Xin gửi lời cảm ơn đặc biệt tới Kathryn Zeidenstein vì đã có nhiều đóng góp cho bài báo này
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 28 của 30
ibm.com/developerWorks/vn/
developerWorks®
Tài nguyên
• "Phần mềm Data Studio của IBM: bức tranh lớn" (developerWorks, tháng Bảy 2008): Xem tổng
quan về phần mềm Data Studio của IBM. Xem bạn có thể sử dụng sản phẩm mới này để cải
thiện năng suất, tăng chất lượng dịch vụ và khuyến khích liên kết mạnh hơn nhờ công nghệ
thông tin như thế nào
• "'No Excuses” - lập trình cơ sở dữ liệu cho Java" (Tạp chí Cơ sở dữ liệu IBM, tháng Năm
2008): Lập chương trình của bạn với SQL tĩnh và pureQuery.
• "Hiệu năng của pureQuery Runtime Data Studio cho z/OS" (Tạp chí Cơ sở dữ liệu IBM, tháng
Bảy 2008): Tổng quan ngắn gọn về công nghệ pureQuery và các đặc tính tối ưu hóa phía
khách mới trong phiên bản 1.2, phiên bản mở rộng các lợi ích của SQL tĩnh tới bất kỳ ứng
dụng Java hiện tại nào.
• "Những điểm mới và lý thú trong sản phẩm Data Studio Developer 2.1" (developerWorks,
tháng Mười hai 2008): Xem cài đặt mới của Data Studio Developer có thể cải thiện năng suất
và tăng cường sự hợp tác giữa các chuyên viên phát triển và các quản trị viên cơ sở dữ liệu
như thế nào.
• Video về các đặc tính của Data Studio Developer 1.2: Xem một trưởng nhóm phát triển công
cụ của Data Studio dẫn dắt bạn làm quen với các đặc tính mới của Data Studio phiên bản 1.2.
• Không gian Cộng đồng Data Studio trên developerWorks.
• Blog của nhóm Data Studio trên developerWorks.
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 29 của 30
developerWorks®
ibm.com/developerWorks/vn/
Đôi nét về các tác giả
Sonali Surange
Sonali Surange là người lãnh đạo nhóm công cụ pureQuery của Data Studio IBM,
thuộc tổ chức Công cụ của máy chủ dữ liệu của IBM tại Phòng thí nghiệm Thung lũng
Silicon của IBM, tại San Jose, California. Trước đó Sonali đã lãnh đạo công tác phát
triển một vài bộ phận quan trọng của phần công cụ của Visual Studio .Net cho cơ sở
dữ liệu của IBM
Rafael Coss
Rafael Coss là kiến trúc sư giải pháp của nhóm Enablement Data Studio của IBM tại
Phòng thí nghiệm Thung lũng Silicon của IBM, tại San Jose, California. Tại phòng thí
nghiệm này ông chịu trách nhiệm phát triển về mặt kỹ thuật các quan hệ đối tác và
quan hệ khách hàng của họ sản phẩm Data Studio IBM. Trước đó, ông đã giữ một số
vị trí khác trong hãng IBM, bao gồm trách nhiệm truyền bá các khả năng pureXML
của DB2 tới khách hàng và đối tác. Ông gia nhập hãng IBM vào năm 1998 và có bằng
thạc sĩ về khoa học máy tính tại Trường đại học Bách khoa quốc gia California ở San
Luis Obispo, California.
Vijay Bommireddipalli
Vijay Bommireddipalli là kiến trúc sư giải pháp của nhóm Enablement Data Studio của
IBM tại Phòng thí nghiệm ở Thung lũng Silicon của IBM, San Jose, California, tại đây
ông phát triển công nghệ Data Studio cho khách hàng và đối tác. Trước khi gia nhập
nhóm, Vijay là thành viên của đội phát triển pureXML. Ông gia nhập hãng IBM vào
năm 2000, sau khi nhận bằng thạc sĩ về kỹ thuật máy tính và điện tại Trường đại học
Massachusetts Dartmouth
© Copyright IBM Corporation 2009
(www.ibm.com/legal/copytrade.shtml)
Nhẫn hiệu đăng ký
(www.ibm.com/developerworks/vn/ibm/trademarks/)
Những điểm mới và lý thú trong sản phẩm Data Studio Developer
1.2 của IBM
Trang 30 của 30