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