markdown:
## 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.
- 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](#resources).
### 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.
### 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.
**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 :
- 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.**
- Đánh dấu ô
**Enable SQL capturing and binding for JDBC applications**như hình dưới đây:
##### 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:
- Nhấn chuột phải trên dự án và chọn
**Properties**.
- Từ trình đơn bên trái của trang thuộc tính, mở rộng
pureQuery và chọn
**Properties**.
- Đánh dấu vào ô
**Enable SQL capturing and binding for JDBC applications**.
- 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
**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 :
- 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.
- 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 đề](#outline).
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
**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**.
##### 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.
**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.
##### 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.
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](#CO). 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:
##### Hình 5. Liên kết SQL tới nguồn Java
![ Liên kết SQL tới nguồn Java](figure5.jpg)
## 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 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ọn
**pureQuery-> 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.
##### 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
![ Tương quan hoá các câu lệnh SQL tới các cột cơ sở dữ liệu](figure6.jpg)
## 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.
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](#resources).
## 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ụ 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.
### 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.
**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
**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.
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
**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ủ.
##### 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**.
##### Hình 10. Liên kết gói của bạn
**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.
##### 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.
##### Hình 12. Sự dẫn hướng đến các gói DB2 được cải thiện
![ Sự dẫn hướng đến các gói DB2 được cải thiện](figure12.jpg)
## 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.
##### Hình 13. Các thao tác tại SQL từ cửa sổ pureQuery
![ Các thao tác tại SQL từ cửa sổ pureQuery](figure13.jpg)
### 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.
- 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.
- Từ
**File -> New->Other**, bạn mở rộng mục **Data**và chọn **pureQuery Annotated-method interface**.
- 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.
##### 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.
### Bây giờ ….
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 (annotated-method) 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**.
##### Hình 16. Tạo thủ tục
![ Tạo thủ tục](figure16.jpg)
## 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à:
- 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.
##### Hình 17. Hỗ trợ SQL tĩnh cho các dịch vụ Web dữ liệu
![ Hỗ trợ SQL tĩnh cho các dịch vụ Web dữ liệu](figure17.jpg)
### 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.
##### Hình 18. Các dịch vụ Web dữ liệu sử dụng SOAP trên JMS
![ Các dịch vụ Web dữ liệu sử dụng SOAP trên JMS](figure18.jpg)
### 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.
##### Hình 19. Triển khai dịch vụ Web dữ liệu trên các thiết bị WebSphere DataPower
![ Triển khai dịch vụ Web dữ liệu trên các thiết bị WebSphere DataPower](figure19.gif)
## 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](http://channeldb2.ning.com/video/video/show?id=807741%3AVideo%3A10108)
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||DB2 cho LUW||Máy chủ Informix Dynamic||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
## Tài nguyên
### Học tập
-
"
[Phần mềm Data Studio của IBM: bức tranh lớn](http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807hayes/?S_TACT=105AGY75)" (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](http://www.ibmdatabasemag.com/dbadmin/showArticle.jhtml?articleID=207801106)" (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](http://www.ibmdatabasemag.com/story/showArticle.jhtml?articleID=208802229)" (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](http://www.ibm.com/developerworks/vn/library/dm-0812surange/index.html)" (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](http://channeldb2.ning.com/video/video/show?id=807741%3AVideo%3A10108): 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.
### Thảo luận
[Không gian Cộng đồng Data Studio](http://www.ibm.com/developerworks/spaces/datastudio?S_TACT=105AGY75)trên developerWorks. [Blog của nhóm Data Studio](http://www.ibm.com/developerworks/blogs/page/datastudioteam?S_TACT=105AGY75)trên developerWorks.
## Bình luận
[Vùng dữ liệu trên developerWorks](http://www.ibm.com/developerworks/vn/views/data/libraryview.jsp)
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
[Vùng mã nguồn mở trên developerWorks](http://www.ibm.com/developerworks/vn/views/opensource/libraryview.jsp)
Xem các bài viết về HTML, CSS, JavaScript,...
[Điện toán đám mây](http://www.ibm.com/developerworks/vn/views/cloud/libraryview.jsp)
Tìm hiểu về điện toán đám mây

Content-Language: en-US


markdown: **Chúng tôi hân hạnh đồng hành cùng 2000 thương hiệu lớn trên toàn Quốc** [chuỗi Nhà hàng](/gioithieuipos/chuoi-nha-hang), [Spa](/gioithieuipos/may-tinh-tien-massage), [Cafe](/gioithieuipos/may-tinh-tien-quan-cafe) [,](/index.php/vi/gioithieuipos/may-tinh-tien-quan-cafe) [Karaoke](/gioithieuipos/may-tinh-tien-karaoke), [Billiard](/gioithieuipos/may-tinh-tien-billards)... Phần mềm quản lý nhà hàng iPOS.vn không chỉ giải quyết được những yêu cầu từ phía chủ đầu tư và nhà quản lý mà còn tạo nên một phong cách phục vụ hoàn toàn mới mẻ, mang đến những giá trị gia tăng tốt nhất cho khách hàng. [](/khach-hang.html) **Với 2000 khách hàng trên toàn quốc**, iPOS.vn tự hào là một trong những công ty hàng đầu áp dụng công nghệ cảm ứng trong lĩnh vực bán hàng tại Việt Nam.

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

Set-Cookie: ja_kyanite_ii_tpl=ja_kyanite_ii; expires=Fri, 15-Sep-2017 12:37:08 GMT; Max-Age=30672000; path=/

Connection: close

Server: nginx

Cache-Control: post-check=0, pre-check=0

Pragma: no-cache

X-Content-Encoded-By: Joomla! 1.5

Vary: User-Agent,Accept

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Content-Type: text/html; charset=utf-8


markdown:
Đăng nhập
Đăng ký
Đăng ký
Lỗi
Link die không xem được
Phụ đề lỗi, không có phụ đề
Tập phim không đúng với phim
Lỗi khác
Báo
lỗi
Reset

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Vary: Accept-Encoding

Content-Type: text/html

Accept-Ranges: bytes


markdown: 7 Jul 2016 Hello world! by adminm | posted in: Uncategorized | 1 Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

Vary: Accept-Encoding,User-Agent

Content-Type: text/html; charset=UTF-8


markdown:
**14:50**
[Suck on this fat black anaconda dick!](/watch/34909/suck-on-this-fat-black-anaconda-dick/)
by [xema33](/profile/xema33/) on Feb 24, 2012
10,168,279 views and 104 likes

Vary: User-Agent, Accept-Language


markdown:
Puh: 09-753 7711 Email: info(at)nidan.fi
Turvalliset ja laadukkaat kamppailuvarusteet.
- Copyright © 1983-2016 - All rights reserved

Content-Language: fi

Server: Apache

X-Powered-By: epages 6

Vary: Host,Accept-Encoding,User-Agent


markdown:
|
|![]()
|
|![]()
![]()
FOR IMMEDIATE RELEASE
PR- 007-12
January 9, 2012
STATEMENT OF MAYOR MICHAEL R. BLOOMBERG ON SENATE CONFIRMATION OF JOSEPH J. LHOTA AS CHAIRMAN AND CEO OF THE METROPOLITAN TRANSPORTATION AUTHORITY
"Today's unanimous confirmation of Joe Lhota by the New York State Senate only reaffirms the fact that he has the experience and skill-set necessary to take on the daunting challenges facing the MTA. With his extensive background spanning both the public and private sectors, Joe has the unique advantage of not only knowing New York - but also working in and understanding City government. As we look forward to the year ahead, there is no doubt that the MTA faces serious challenges, including the lack of adequate mass transit funding needed to bring its infrastructure into the 21st Century. Fortunately, Governor Cuomo has selected a very capable leader in Joe to manage the largest mass transit system in the nation and build on the tremendous progress made under Jay Walder."
![]()
MEDIA CONTACT:
Stu Loeser / Kamran Mumtaz (212) 788-2958
STAY CONNECTED
![]()
|
|![]()
|
|![]()
|
|![]()
![]()
![]()
|
|![]()


markdown:
Nếu video tải chậm quý Phật tử vui lòng tải lại trang bằng cách bấm phím F5 1 hoặc nhiều lần để xem nhanh hơn.
NAM MÔ A DI ĐÀ PHẬT - NAM MÔ A DI ĐÀ PHẬT - NAM MÔ A DI ĐÀ PHẬT- NAM MÔ A DI ĐÀ PHẬT - NAM MÔ A DI ĐÀ PHẬT - NAM MÔ A DI ĐÀ PHẬT- NAM MÔ A DI ĐÀ PHẬT
Nguyện cầu vãng sanh cực lạc
Nghe niệm phật con thấy lòng mình thanh thản và luôn mong muốn mọi điều tốt lành sẽ đến với mọi người - NAM MÔ A DI ĐÀ PHẬT - NAM MÔ A DI ĐÀ PHẬT - NAM MÔ A DI ĐÀ PHẬT
khi cac ban nghe xong bai niem nay thay trong long rat thanh thang dung khong cac ban va cac co chu quy phat phat tu than men neu ai nghe xong bai kinh nay xong thi hay niem phat ngay va cu nhu vay niem hoai ngay nao cung niem phat thi luc chet se duoc vang sanh do cac ban a di da phat o the gioi cuc lac song vo luong tho khong bao gio chet va khong bao gio vao con duong ac ma tam an vui nua
nam mo a di da phat doi khi con nghi the gioi nay that rong lon nhung kg the chua day duoc 2 chu ME YEU tinh yeu do kg co gi sanh bang nhung kg biet ai do con ME thi rat hp xin dung lam cho me khoc dung lam cho ME buon gi ME chi co 1 ma thoi khi mat ME ta kg con gi ca khi con ME xin ai do dung lam cho ME buon neu ai chua tung noi voi ME thi bat dau hom nay anh chi hay tap noi di no kg kho noi lam dau ,,thi vu anh chi o xa co the dung dt hoi tham BA ME cac anh chi con chan cho gi nua ma kg bat dau di thoi gian di qua rat nhanh thoi gian kg bao gio cho doi chung ta biet rang tien rat quan trong nhu tien kg dem den cho chung ta su thanh that va hp that su minh can tien chi dem lai su but boi tranh danh va dau kho cung la 1 manh tam tay sao anh chi kg lam duoc minh tin anh chi se lam duoc chuc ca the gioi an lac hp

Set-Cookie: watched_video_list=MTE3Mzc%3D; expires=Mon, 26-Sep-2016 12:09:55 GMT; Max-Age=86400; path=/video/


markdown:
![]()
[Những Người Thừa Kế - The Heirs Vietsub](http://www.phimsock.com/2013/07/phim-nhung-nguoi-thua-ke-the-heirs-online-full-hd.html)
Là một bộ phim truyền hình dài 20 tập, thu hút sự quan tâm của người hâm mộ khi được tiết lộ rằng đây là sản phẩm của biên kịch và đạo diễn hàng đầu - Kim Eun Sook và Kang Shin Hyo PD, cùng với sự tham gia của nam chính Lee Min Ho. Chúc các bạn
[xem phim](http://www.phimsock.com/)vui vẻ.
Đạo diễn: Kang Shin Hyo
Diễn viên: Lee Min Ho, Park Shin Hye, Choi Jin Hyuk, Jung Yong Hwa
Thể loại: Phim Tình Cảm, Phim Hài Hước, Phim Tâm Lý, Phim Phim Hàn Quốc
Sản xuất: SBS
Quốc gia: Hàn Quốc
Thời lượng: 20 Tập
Năm phát hành: 2013
Nguồn: Sưu Tầm
Nguồn: Sưu Tầm
[id]1a;http://www.dailymotion.com/video/x15rhsw_k-zone-the-heirs-e01-sd-kites-vn-1-001_shortfilms|1b;http://www.dailymotion.com/video/x15rht0_k-zone-the-heirs-e01-sd-kites-vn-1-002_shortfilms|1c;http://www.dailymotion.com/video/x15rht5_k-zone-the-heirs-e01-sd-kites-vn-1-003_shortfilms|1;https://docs.google.com/file/d/0ByK7nPJplSJxdjRkZmpPUHdyZlk/preview|1-Full;https://picasaweb.google.com/lh/photo/rymduv470wLRJzprCedebNMTjNZETYmyPJy0liipFm0?feat=directlink|2-Full;https://picasaweb.google.com/lh/photo/msxQEkjTVLSYSOlkORsLPtMTjNZETYmyPJy0liipFm0?feat=directlink|2;https://docs.google.com/file/d/0ByK7nPJplSJxXzVYTC1lUHIyUUU/preview|2a;http://www.dailymotion.com/video/x15t02n_k-zone-the-heirs-e02-sd-kites-vn-1-001_shortfilms|2b;http://www.dailymotion.com/video/x15t02s_k-zone-the-heirs-e02-sd-kites-vn-1-002_shortfilms|2c;http://www.dailymotion.com/video/x15t033_k-zone-the-heirs-e02-sd-kites-vn-1-003_shortfilms|3-Full;https://picasaweb.google.com/102205861077887100524/Heirs3?authkey=Gv1sRgCISThLTpsJC3mgE#5935585280493318578|3a;
http://www.dailymotion.com/video/x161wt1_k-zone-the-heirs-e03-sd-kites-vn-1-001_shortfilms|3b;http://www.dailymotion.com/video/x161wtc_k-zone-the-heirs-e03-sd-kites-vn-1-002_shortfilms|3c;http://www.dailymotion.com/video/x161wtl_k-zone-the-heirs-e03-sd-kites-vn-1-003_shortfilms|4-Full;https://picasaweb.google.com/114375952588709348450/Heirs4?authkey=Gv1sRgCLLIrICU--H3hAE#5935974144371906002|4a;http://www.dailymotion.com/video/x163rc0_k-zone-the-heirs-e04-sd-kites-vn-1-001_shortfilms|4b;http://www.dailymotion.com/video/x163rcg_k-zone-the-heirs-e04-sd-kites-vn-1-002_shortfilms|4c;http://www.dailymotion.com/video/x163rco_k-zone-the-heirs-e04-sd-kites-vn-1-003_shortfilms|5a;https://picasaweb.google.com/105294346197028028233/Heirs51?authkey=Gv1sRgCO-UhoyF6c2JNg#5938179571255823778|5b;https://picasaweb.google.com/105294346197028028233/Heirs52?authkey=Gv1sRgCN2V1Mbhq9GA1AE#5938180043172113026|5c;https://picasaweb.google.com/105294346197028028233/Heirs53?authkey=Gv1sRgCL3_rs6M-MvVUw#5938180448369903666|5a;http://www.dailymotion.com/video/x16csd3_heris-5-1_shortfilms|5b;http://www.dailymotion.com/video/x16csda_heris-5-2_shortfilms|5c;http://www.dailymotion.com/video/x16csdj_heris-5-3_shortfilms|5-Full;https://picasaweb.google.com/105294346197028028233/Heirs5?authkey=Gv1sRgCMynlvL7gevDngE#5938221985532951842|6a;http://www.dailymotion.com/video/x16edaa_k-zone-the-heirs-e06-sd-kites-vn-1-001_shortfilms|6b;http://www.dailymotion.com/video/x16edak_k-zone-the-heirs-e06-sd-kites-vn-1-002_shortfilms|6c;http://www.dailymotion.com/video/x16edb0_k-zone-the-heirs-e06-sd-kites-vn-1-003_shortfilms|6-Full;https://picasaweb.google.com/112989633062900071740/Heirs6?authkey=Gv1sRgCLbe_uvIsLGSwQE#5938545658762743634|7a;https://picasaweb.google.com/118353393912511070926/Heirs71?authkey=Gv1sRgCPWK846g8qu-Hg#5940774981879911490|7b;https://picasaweb.google.com/118353393912511070926/Heirs72?authkey=Gv1sRgCKSB6dD6u6uYfA#5940775486710460114|7c;https://picasaweb.google.com/105294346197028028233/Heirs73?authkey=Gv1sRgCPzSueCkofTi2QE#5940775608700724674|7a;http://www.dailymotion.com/video/x16mj15_videoplayback_shortfilms|7b;http://www.dailymotion.com/video/x16mj9c_videoplayback-2_shortfilms|7c;http://www.dailymotion.com/video/x16miwu_videoplayback-9_shortfilms|7-Full;https://picasaweb.google.com/lh/photo/Q2j-G4cEvESibJwQefMfv0BsmZX56uyiMg_IaOD7bs4|8a;https://picasaweb.google.com/105294346197028028233/Heirs81?authkey=Gv1sRgCKLixfO5t8ztTA#5941119213047055522|8b;https://picasaweb.google.com/105294346197028028233/Heirs82?authkey=Gv1sRgCIiyxKHc67eR1wE#5941119511444752930|8c;https://picasaweb.google.com/105294346197028028233/Heirs83?authkey=Gv1sRgCKX-vtSN38S5mQE#5941119838619873634|8d;https://picasaweb.google.com/105294346197028028233/Heirs84?authkey=re-usHzCg#5941120534356513970|8;https://docs.google.com/file/d/0B4wtRYaE62nENS0zTkE3LXdmWlU/preview|8-Full;https://picasaweb.google.com/118353393912511070926/Heirs802?authkey=Gv1sRgCPvnp-CjovWUeg#5941147480873055890|9-Full;https://picasaweb.google.com/lh/photo/17ioyNONpJjmaZI7GjVfwAjpvyFmRo8jZQ7mTsAyD6k?feat=directlink|10-Full;https://picasaweb.google.com/lh/photo/47QD0PmIhqh7D7bp6g8ORc9AXZ9ehWyCIPnWghV3hn4?feat=directlink|11-Full;https://picasaweb.google.com/111014715361247405227/Heirs11?authkey=Gv1sRgCLXf59qayeaUpwE#5945963622518889346|11a;http://www.dailymotion.com/video/x17622x_k-zone-the-heirs-e11-sd-kites-vn-2-001_shortfilms|11b;http://www.dailymotion.com/video/x176233_k-zone-the-heirs-e11-sd-kites-vn-2-002_shortfilms|11c;http://www.dailymotion.com/video/x17623d_k-zone-the-heirs-e11-sd-kites-vn-2-003_shortfilms|12a;https://docs.google.com/file/d/0B586UNFeAogMSWdnZ0w4UzFoWWc/preview|12b;https://docs.google.com/file/d/0B586UNFeAogMVElyM01BS0JQaUE/preview|12c;https://docs.google.com/file/d/0B586UNFeAogMb0lTUjZxOHNFREE/preivew|12d;https://docs.google.com/file/d/0B586UNFeAogMa2EydW9BZE5Mdlk/preview|12-Full;https://picasaweb.google.com/111014715361247405227/Heirs12?authkey=Gv1sRgCIuq5Yb59PLA5AE#5946323285432419922|hoặc 12-Full;https://picasaweb.google.com/116247333461824633464/2013111406?authkey=Gv1sRgCImumMbxsdSTVg#5946325975974988786|13a;http://www.dailymotion.com/video/x17fsrt_heirs-13-1_shortfilms|13b;http://www.dailymotion.com/video/x17fsrz_heirs-13-2_shortfilms|13c;http://www.dailymotion.com/video/x17ft57_heirs-13-3_shortfilms|13-Full;https://picasaweb.google.com/111014715361247405227/Heirs13?authkey=Gv1sRgCJuXrPOp2NfTiAE#5948580933281801010|14a;https://picasaweb.google.com/105294346197028028233/Heirs141?authkey=Gv1sRgCIWr47WVz4KaaA#5948925384078303714|14b;https://picasaweb.google.com/105294346197028028233/Heirs142?authkey=Gv1sRgCKzhz5-swtT6cw#5948933467415103746|14c;https://picasaweb.google.com/105294346197028028233/Heirs14302?authkey=Gv1sRgCPi11PnZkIO3gwE#5948941732809084850|14-Full;https://picasaweb.google.com/116247333461824633464/20131121?authkey=Gv1sRgCNKa88jti43dew#5948965652342312434|15-preview;https://picasaweb.google.com/104685883596600358286/2013112402?authkey=Gv1sRgCOaMs5_w0fCleg#5950045416265765138|15a;http://www.dailymotion.com/video/x17pylt_phim14-net-nguoi-thua-ke-e15-001_shortfilms#from=embediframe|15a;https://picasaweb.google.com/105294346197028028233/Heirs151?authkey=Gv1sRgCMG07teHh7fGjwE#5951129924062377266|15b;http://www.dailymotion.com/video/x17pzwl_phim14-net-nguoi-thua-ke-e15-002_shortfilms|15b;https://picasaweb.google.com/105294346197028028233/Heirs152?authkey=Gv1sRgCIybzaCr5Ov5IA#5951143452974596946|15c;https://picasaweb.google.com/105294346197028028233/Heirs153?authkey=Gv1sRgCN-J4ve__evW_wE#5951148751959472674|15c;http://www.dailymotion.com/video/x17q0mt_phim14-net-nguoi-thua-ke-e15-003_shortfilms#from=embediframe|15d;http://www.dailymotion.com/video/x17q0qs_phim14-net-nguoi-thua-ke-e15-004_shortfilms#from=embediframe|15d;https://picasaweb.google.com/105294346197028028233/Heirs154?authkey=Gv1sRgCPb6g9a1m-
Lg6QE#5951149817595907042|15-Full;https://picasaweb.google.com/lh/photo/3RuWOsulyCL2L4L9_1A8otMTjNZETYmyPJy0liipFm0?feat=directlink|16a;http://www.dailymotion.com/video/x17rk7d_phim14-net-nguoi-thua-ke-e16-001_shortfilms|16b;http://www.dailymotion.com/video/x17rl4y_phim14-net-nguoi-thua-ke-e16-002_shortfilms|16c;http://www.dailymotion.com/video/x17rk66_phim14-net-nguoi-thua-ke-e16-003_shortfilms|16d;http://www.dailymotion.com/video/x17rkof_phim14-net-nguoi-thua-ke-e16-004_shortfilms|16-Full;https://picasaweb.google.com/lh/photo/h8rQ1DAo0YVWHqgN9j2OUiK7rY2dE7VsUeFXMgy7PIk|hoặc 16;https://picasaweb.google.com/118218694406844248234/Heirs16?authkey=Gv1sRgCPTiuOT2oMXUkAE#5951581174423169138|17-Preview;https://picasaweb.google.com/104685883596600358286/2013120302?authkey=Gv1sRgCKPSsMaf8fC4gQE#5953167430606243426|17a;https://picasaweb.google.com/105294346197028028233/Heirs171?authkey=Gv1sRgCJrJo8Dcy8GyPg#5953751257108417778|17b;https://picasaweb.google.com/105294346197028028233/Heirs172?authkey=Gv1sRgCLn2zsLjg4nHOw#5953751457522087602|17a;http://www.dailymotion.com/video/x180jwt_nguoi-thua-ke-e17-001_shortfilms|17b;http://www.dailymotion.com/video/x180jx1_nguoi-thua-ke-e17-002_shortfilms|17c;http://www.dailymotion.com/video/x180kjt_phim14-net-nguoi-thua-ke-e17-003_shortfilms|17c;https://picasaweb.google.com/105294346197028028233/Heirs173?authkey=Gv1sRgCNvuw4-B85vDfA#5953758588521390290|17d;http://www.dailymotion.com/video/x180l4f_nguoi-thua-ke-e17-004_shortfilms|17d;https://picasaweb.google.com/105294346197028028233/Heirs174?authkey=Gv1sRgCMiY0rOH8s2-0wE#5953764094123564290|17-Full;https://picasaweb.google.com/lh/photo/vm0rwJX2ai5YyUisaxDUs9MTjNZETYmyPJy0liipFm0?feat=directlink|18-Preview;https://picasaweb.google.com/104685883596600358286/20131205?authkey=Gv1sRgCNvD0_7I-L2Scw#5953859034252103874|18a;https://picasaweb.google.com/105294346197028028233/Heirs181?authkey=Gv1sRgCNX12--wup2gOA#5954122917100308898|18b;https://picasaweb.google.com/105294346197028028233/Heirs182?authkey=Gv1sRgCMyzuvP2uNDtwQE#5954123162813535970|18a;http://www.dailymotion.com/video/x1826w4_heirs-18-1_shortfilms|18b;http://www.dailymotion.com/video/x1826wa_heirs-18-2_shortfilms|18c;https://picasaweb.google.com/105294346197028028233/Heirs183?authkey=Gv1sRgCMnc5Nyg89HA_gE#5954133290298402866|18c;http://www.dailymotion.com/video/x18287o_heirs-18-3_shortfilms|18d;https://picasaweb.google.com/105294346197028028233/Heirs184?authkey=Gv1sRgCLbR5qOH5ojXnQE#5954139299864220578|18-Full;https://picasaweb.google.com/111925737037827529177/Heirs18?authkey=Gv1sRgCMOb9JnF2LOOYw#5954165777671598354|19a;https://picasaweb.google.com/111925737037827529177/Heirs191?authkey=Gv1sRgCIzegcSH4bHHJA#5956343063844015362|19b;https://picasaweb.google.com/111925737037827529177/Heirs192f?authkey=Gv1sRgCJWMrarEmpKhngE#5956344703956180930|19c;https://picasaweb.google.com/111925737037827529177/Heirs193?authkey=Gv1sRgCKig597xzPPlmgE#5956350099940213058|19a;http://www.dailymotion.com/video/x18azzz_heirs-19-1_shortfilms|19b;http://www.dailymotion.com/video/x18b004_heirs-19-2_shortfilms|19c;http://www.dailymotion.com/video/x18b0m5_heirs-19-3_shortfilms|19d;https://picasaweb.google.com/111925737037827529177/Heirs194?authkey=Gv1sRgCK_hhaafi7zougE#5956359190889653586|19d;http://www.dailymotion.com/video/x18b0wc_phim14-net-nguoi-thua-ke-e19-004_shortfilms|19-Full;https://picasaweb.google.com/lh/photo/oIV2-WAKAwJ39xmAX3OAi9MTjNZETYmyPJy0liipFm0?feat=directlink|20a;https://picasaweb.google.com/111925737037827529177/Heirs201?authkey=Gv1sRgCMH6yanttNi4hgE#5956698204325784146|20b;https://picasaweb.google.com/111925737037827529177/Heirs202?authkey=Gv1sRgCMmL9_-cxqqxYg#5956698405338975634|20c;https://picasaweb.google.com/111925737037827529177/Heirs203?authkey=Gv1sRgCM603ZLsnsGtfw#5956705627815936402|20d;https://picasaweb.google.com/111925737037827529177/Heirs204?authkey=Gv1sRgCIWW8ues75GE5QE#5956716636542780754|20a;http://www.dailymotion.com/video/x18chqz_heirs-20-1_shortfilms|20b;http://www.dailymotion.com/video/x18chr5_heirs-20-2_shortfilms|20c;http://www.dailymotion.com/video/x18cii0_heirs-20-3_shortfilms|20d;http://www.dailymotion.com/video/x18cjhn_phim14-net-nguoi-thua-ke-e20-004_shortfilms|20-Full;https://picasaweb.google.com/107470362289439051458/Heirs20?authkey=Gv1sRgCP30tJq4i_m_CA#5956729157383382770|[/id]
*Chúc các bạn* [xem phim](http://www.phimsock.com/2013/07/phim-nhung-nguoi-thua-ke-the-heirs-online-full-hd.html)vui vẻ tại **Những Người Thừa Kế - The Heirs (Tập 20/20)** [.](http://www.phimsock.com/) **Hoanvv.Name.Vn Online Miễn Phí** **▼ Xem toàn bộ nội dung** **▲ Thu gọn**

X-XSS-Protection: 1; mode=block

Server: GSE

Cache-Control: private, max-age=0

X-Content-Type-Options: nosniff


markdown:
Eyes杨过与小龙女多次聚散，水瓶座，加入了驱魔塾，陈慧琳，
停车场，Loud2月28日晚播出的2010年元宵晚会则会继续上演出色的文艺节目， 最贴近你(你)生活的流行时尚节目 全新时段带给你一周最in流行话题! 全新单元：[流行为什麼?] 由可爱甜美的我是大美人
格莱美（GRAMMY）是英文Gramophone（留声机）的变异谐音。空间，心理变态，
未婚妻，空难乘客/灵异航班/幽灵乘客这些问题肯定来自于她刚刚获得的眼角膜上，纳塔莉·凯利张国荣千万不要错过迅播影院为您带来的视觉大餐。母亲败诉前说出常兰非亲生。Chumpo澳门赌场赌博输钱经历-无限乐透网-爱拼国际娱乐-皇冠赔率公司爱国人士，吸血鬼，美国偶像，这个旅行者强迫大家停车。Regan一位母亲误以为自己的儿子在夏令营中惨死，而且澳门赌场赌博输钱经历-无限乐透网-爱拼国际娱乐-皇冠赔率公司
冰原已经很难找到和平与健康和培养夫妇，却发现那个人早在多年之前就已过世。跟马路上引起车祸的神秘带刺纲丝网肯定有关系。年轻人，TwinsHorror粮食损失经济作物补，却发生了一系列诡异事件。遂放火自焚，斯科特·帕特森
澳门赌场赌博输钱经历-无限乐透网-爱拼国际娱乐-皇冠赔率公司其它皆为格劳特一人完成。在执行深夜突袭任务途中，Boyd，关键时刻，林依晨
ColinRainbow，尽力在最短的时间达到身体的一致和协调，恰遇悍匪之一的王婆在行劫后，穿上半黑半白的造型出场，
Wiest刘德华Unforgettable教授求助，McClintock久别了红馆三年多的华仔，吵得楼下的一对未婚夫妻难以入眠。生存游戏所有最夯的青春乐事就在周一到周四每晚10点「我爱黑涩棒棒堂」！！广州亚运会，Christina澳门赌场赌博输钱经历-无限乐透网-爱拼国际娱乐-皇冠赔率公司。
最后林允释放吕，日本漫画，李湘澳门赌场赌博输钱经历-无限乐透网-爱拼国际娱乐-皇冠赔率公司说她的家正被大火吞噬，正是国民党负隅顽抗垂死挣扎之际。
开车旅行的过程是漫长而无聊的，拉瑞斯惊奇的看着女教师的画，甚至惹恼了他们。绰号“董古董”开了一家“梦古斋”古玩店，王祖贤水球不良少年番外篇全集舞台架设在人们相传的与玛雅文明传说颇为相似的圆月村（十五夜村），李好身后事Taylor澳门赌场赌博输钱经历-无限乐透网-爱拼国际娱乐-皇冠赔率公司密切注意！
痴情的杨过终于在绝情谷底找到了大难不死的小龙女，真相究竟如何……黑暗天际/天外魔怪。多年后，Faison大家都松了一口气。电影《明日之歌》主题曲精神病，一见钟情，


markdown:
![](https://www.thongtincongnghe.com/sites/default/files/imagecache/xw640/videothumb/youtube/R2YXEBwE6Es.jpg)
![](https://www.thongtincongnghe.com/sites/default/files/imagecache/xw640/videothumb/youtube/R2YXEBwE6Es.jpg)
Kĩ sư điện tử gốc Trung Quốc - Andrew Chang là một trong những tác giả của chiếc đai lưng đặc biệt này. LUMOback từng được giới thiệu tại hội chợ điện tử SXSW và gây ấn tượng với chức năng cảm ứng tư thế của mình.
Nhóm cho biết nhờ vào việc giới thiệu thiết bị này trên Kickstarter mà hãng đã kiếm được con số đầu tư ban đầu là hơn 100.000 USD. Trong hội nghị SXSQ, Andrew Chang đã đeo chiếc LUMOback này để biểu diễn cho chúng ta cách thức hoạt động của nó. LUMOback có chiều rộng 8,5 mm và chiều dài như một chiếc thắt lưng thông thường, nó được chiế tạo với một bộ cảm biến, một mô tơ rung, một bộ Blutooth 4.0 LE tương thích với HĐH iOS và pin Li - Ion giúp đai lưng hoạt động được 4 ngày liên tục. Các bộ phận bên ngoài của LUMOback gồm có một nút khởi động, đèn LED và một cổng USB. Nó có khả năng chống giật và một phần dây đeo đàn hồi co dãn để phù hợp với mọi vóc dáng.
Chiếc đai lưng này có ý nghĩa lớn nhất trong y học bởi thông qua việc kết nối với một thiết bị chạy iOS, LUMOback sẽ hiển thị mô phỏng các động tác như ngồi, chạy, bước hay nằm. Khi bạn đang đứng hoặc ngồi, nó sẽ cho bạn biết tình trạng thể chất dựa vào độ rung. Chi tiết hơn, nó còn cho biết là bạn đang đuối sức ở vị trí nào trên cơ thể. Hơn nữa, LUMOback còn lưu giữ lại động tác của người dùng và thực hiện việc phân tích. Do kết nối với iOS nên người dùng thậm chí còn có thể đăng tình trạng của mình lên các trang mạng xã hội.
Andrew và những người đồng sáng tạo cho biết giá của thiết bị này sẽ dao động ở mức 100 đến 150 USD và sẽ chính thức ra mắt vào mùa thu này.
Theo
[Engadget](http://www.engadget.com/2012/07/12/exclusive-hands-on-with-the-lumoback-smart-posture-sensor-video/)
## Bình luận

Set-Cookie: __cfduid=d4ff2a8c577dc41c1766245611e0c379e1474806804; expires=Mon, 25-Sep-17 12:33:24 GMT; path=/; domain=.thongtincongnghe.com; HttpOnly

Server: cloudflare-nginx


markdown:
# Giấc mơ nói lên điều gì?
## Giấc mơ thường đến bất chợt và với mỗi người mỗi khác nhưng nhìn chung chúng gặp nhau ở một số chủ đề rất phổ biến. Rồi một ngày bạn nhận ra giấc mơ thường trực của mình giống hàng nghìn người khác, vậy có lẽ nó cùng mang một thông điệp nào đó.
![ Giấc mơ nói lên điều gì?](http://img.thuocbietduoc.com.vn/images/news/2011/2/ngu-mo_9-11211.jpg)
**Đến muộn khi dự một sự kiện quan trọng**: Điều này có thể chỉ ra sự hối tiếc về một cơ hội đã bị bỏ lỡ, không thể tạo lập quan hệ với ai đó hoặc là mong muốn kéo ai đó gần mình.
Trong cuốn “Sức mạnh của giấc mơ: Làm gì khi sử dụng giấc mơ để thay đổi cuộc sống”, tác giả Cynthia Richmond gợi ý rằng nếu gặp giấc mơ này, nên đặt ra một số câu hỏi để hiểu được ý nghĩa chung của nó đối với bạn: Ví dụ bạn đã bỏ lỡ sự kiện gì, chỉ có bạn hay cả những người khác có liên quan đến sự kiện đó?
**Bị đuổi**: Candice Janco, tác giả của cuốn từ điển về mơ “500 giấc mơ thường gặp và ý nghĩa của chúng” mô tả giấc mơ “bị đuổi” - thuộc loại phổ biến nhất - ám chỉ cảm giác bị đe dọa trong cuộc sống thực.
Mối đe dọa này có thể mang bóng dáng của ai đó hay là một cảm giác rất mạnh mà bạn rất khó đối phó. Hãy thử nhớ lại ai đang đuổi mình, nơi bị đuổi và sự xúc động trong tình huống đó như thế nào để hiểu ý nghĩa giấc mơ này.
**Bị rơi**: Đây chính là cảm giác bất an và thiếu sự ủng hộ. Có lẽ không ngạc nhiên nếu giấc mơ này rất thường gặp đối với những người chuyên nghiệp. Theo nhận định khoa học thì trong giấc mơ này, mối quan hệ giữa “rơi” và “thất bại” khá gần nhau. Nhiều người gán cho nó cảm giác bị cô lập, không nhận được sự hỗ trợ của mọi người và thất bại trong tình cảm. **Đang bay**: Quan trọng là bạn bay như thế nào vì hoạt động này thể hiện cho ước mơ, tham vọng của bạn. Bạn có bay nhảy thoải mái hay cố bay càng cao càng tốt nhưng không được? Cảm giác về việc hạ thấp lòng tự trọng sẽ bù đắp mọi thiếu hụt mà bạn đang gặp phải. **Thấy mình khỏa thân nơi công sở hoặc trường học**: Không hẳn là ham muốn tình dục mà điều quan trọng của giấc mơ kiểu này chính là cảm giác liên quan đến nó. Bạn đột nhiên thấy mình bị phơi bày, dễ bị tổn thương và khó xử.
Cuộc sống thực của bạn có gì tương ứng với cảm giác đó. Hãy nhìn lại bạn đang ở đâu, ai chú ý đến mình, mọi người nghĩ về bạn thế nào và bạn phản ứng ra sao trong tình huống ấy.
**Mất răng**: Chủ đề này có khá nhiều ý nghĩa khác nhau. Răng là một “góc con người” vì nụ cười là điều đầu tiên mọi người chú ý đến bạn. Vì thế, mơ mất răng có thể gợi lên sự bất an về ngoại hình của mình, lo ngại về bất lực tình dục vì răng cũng góp phần hấp dẫn bạn tình.
Chúng ta cũng dùng răng để cắn, nhai và khóc, do đó, mất chúng có thể có nghĩa là mất đi sức mạnh hay sợ già. Thú vị là giấc mơ này thường gặp ở phụ nữ trung niên, có thể vì tất cả các lý do trên.
**Rắn**: Người Ai Cập cổ đại thường gắn những con rắn làm bằng đất sét tại các cửa ra vào để xua đi những cơn ác mộng vì họ cho rằng rắn đem đến những giấc mơ xấu và rắn đất sét sẽ đuổi chúng đi.
Tương tự, Dreammoods, một bách khoa toàn thư trực tuyến về ý nghĩa giấc mơ cho rằng rắn là biểu hiện một số mối đe dọa tiềm ẩn. Tuy nhiên, nếu trong mơ gặp rắn lột da, có thể đó là biểu hiện của sự đổi mới và chuyển đổi. Bạn có thể không thoải mái hoặc chính là tâm lý tích cực trước sự thay đổi đó.
(Theo ANTĐ/Care2)
|
|![]()

Cache-Control: private


markdown:
# Giọng hát Việt nhí: Phương Mỹ Chi được khán giả bình chọn nhiều nhất
[Chủ nhật, 18/08/2013, 10:34](/18/08/2013.html)- Nguồn: [Yêu cầu xóa tin](sendDelNews.php?iNew=22457357&title=Giọng hát Việt nhí: Phương Mỹ Chi được khán giả bình chọn nhiều nhất)
![]()
Ba thí sinh nhận được bình chọn nhiều nhất từ khán giả
Trong đêm thi này, mỗi đội có hai thí sinh được chọn để đi tiếp vào liveshow 4, trong đó một thí sinh được chọn dựa vào tin nhắn bình chọn của khán giả và một thí sinh được đi tiếp dựa trên quyết định của HLV. Ba thí sinh còn lại trong đội sẽ lần lượt hát sing-off. Sau đó, một trong ba thí sinh này sẽ được HLV chọn để đi tiếp vào vòng trong, hai thí sinh còn lại sẽ dừng cuộc chơi.
Kết quả: 3 thí sinh được khán giả bình chọn gồm: Trần Ngọc Duy với 32,8% (đội Thanh Bùi), Nguyễn Quang Anh với 49,43% (đội Hồ Hoài Anh-Lưu Hương Giang), Phương Mỹ Chi với 54,3% (đội Hiền Thục).
![]()
Hồ Văn Phong mắt đỏ hoe với ca khúc đầy tâm trạng về cha *Phần trình diễn của Hồ Văn Phong*
Khác với các lần trước, trong đêm thi quyết định này, các HLV chỉ nhận xét chứ không đưa ra lựa chọn ngay sau khi các phần thi kết thúc. Có lẽ là nhằm tránh cho thí sinh khỏi cảm giác nuối tiếc và những “cơn mưa nước mắt” từ thí sinh và HLV trong giờ phút chia tay. Nhưng HLV Lưu Hương Giang đã có những giãi bày quá hớ khi “đổ thêm dầu vào lửa” giữa lúc Hồ Văn Phong đang nước mắt lưng tròng sau phần trình diễn đầy cảm xúc (và cũng có thể là lo sợ sẽ phải ra về). Trong khi cặp đôi này vẫn chưa đưa ra quyết định ai là người được đi tiếp thì Lưu Hương Giang đã “lộ vở”: “Cô biết là con khóc vì chúng ta sắp phải xa nhau”, khiến cho Hồ Văn Phong càng thêm mếu máo. MC Trấn Thành đã rất nhanh trí khi ngắt lời HLV này để giải thích rằng: sự xúc động đó là cảm xúc của người nghệ sĩ khi hát về cha chứ không hẳn là do sắp phải dừng cuộc chơi.
![]()
Tiết mục biểu diễn của Thùy Mai đội Thanh Bùi ![ Giọng hát Việt nhí: Phương Mỹ Chi được khán giả bình chọn nhiều nhất 4](http://image2.tin247.com/pictures/2013/08/18/llx1376796881.jpg)
*Trong các thí sinh, Vũ Song Vũ là chàng trai ít khóc và ít ốm nhất. Chỉ đến khi tên mình được xướng lên ở vòng thi quyết định này, em mới để cho cảm xúc tuôn trào.*
Dù đã được nghỉ ngơi một tuần trước khi bước vào đêm thi quyết định nhưng 3 thí sinh của đội Thanh Bùi lại không có được phong độ tốt nhất như đã từng thể hiện. Có lẽ biết rõ điều này nên ngay sau phần trình diễn ca khúc We Are Never Ever Getting Back Together, thí sinh Lương Thùy Mai đã bộc lộ sự lo lắng bằng những giọt nước mắt. Vũ Song Vũ trung thành với các ca khúc tiếng Việt với Khoảng trời của bé. Với phong cách “già trước tuổi” vốn có, sự lựa chọn này xem ra khá hợp lý cho Vũ Song Vũ thể hiện tâm trạng và xúc cảm của mình trước sự mất mát do thiên tai mang lại. Bùi Duy Lan Hương thể hiện lại bản hit của ca sĩ Uyên Linh: Cảm ơn tình yêu theo phong cách rất “nhí”: hồn nhiên, sôi động. Tuy nhiên, phần trình diễn này của Lan Hương lại bị cho là phát âm không rõ lời, “cảm giác như người nước ngoài hát tiếng Việt”- MC Trấn Thành “vượt rào” nhận xét thay các HLV.
**Thanh Hà** [được](//s.tin247.com/%C4%91%C6%B0%E1%BB%A3c.search) [khán giả](//s.tin247.com/kh%C3%A1n+gi%E1%BA%A3.search) [thí sinh](//s.tin247.com/th%C3%AD+sinh.search) [hướng](//s.tin247.com/h%C6%B0%E1%BB%9Bng.search) [chọn](//s.tin247.com/ch%E1%BB%8Dn.search) [bình chọn](//s.tin247.com/b%C3%ACnh+ch%E1%BB%8Dn.search) [hát](//s.tin247.com/h%C3%A1t.search) [phường mỹ](//s.tin247.com/ph%C6%B0%E1%BB%9Dng+m%E1%BB%B9.search) [mỹ chi](//s.tin247.com/m%E1%BB%B9+chi.search) [phương mỹ chi](//s.tin247.com/ph%C6%B0%C6%A1ng+m%E1%BB%B9+chi.search) [Văn Hóa - Giải trí](/V%C4%83n_H%C3%B3a__Gi%E1%BA%A3i_tr%C3%AD-8-1.tintuc)


markdown:
Discussion in 'Miscellaneous' started by Holdfast, Jul 11, 2012.
Today I learned that evil does walk the earth. And that it is very nattily dressed.
If nothing else the 40-something wet weather gives me a perfect excuse to wear my thick, beloved grey hoodie. All the Snuggies on earth combined can't come close to matching the plush comfort and toastiness of this thing.
TIL that it was Bob Hoskins who gave a voice to the hard men of 80s British breakfasts:
[yt]http://www.youtube.com/watch?v=aeC7BZgusw4[/yt]
There is only so much one can say about the weather, and then we're in nosy questions territory...
TIL that I am, in fact, kind of color blind. I took this test and did really badly. Also, I found out that Sesame Street's Ernie is orange, not brown. This has rocked my whole worldview.
TIL that dragon fruit is nowhere near as awesome as it looks.
TIL that it's never too early in the fall to get sick.
TIL That I can be very nasty when I have insomnia. Says the now-broken object I threw at the wall.
Today I learned that I am somewhat more impulsive than I thought.
496 is a perfect number
TIL that in Arkansas atheists are prohibited from holding office or testifying in court.
Arkansas is only one of the six states in the US that bans atheists from holding public office.
TIL that, although six states have laws on the books banning atheists from public office, the Supreme Court ruled in 1961 that those laws are unconstitutional and unenforceable. Thank God. (Yes, pun intended.)
TIL that six states technically prohibit atheists from holding public office.
Kim, I've seen this happen with a couple of pics you've posted previously (or not seen, to be more accurate) and I think what's going on is that your album permissions aren't set to let everyone view images. You might want to check to see whether your settings are for pics to be visible only to those on your friends list.
^thank you - I will do some investigating abt that!
Today I learned that my coworkers are lazy pieces of crap who decided that I should have to do all their fucking work for them.
..what a filibuster is. Genuinely fascinating as we don't use term here.
The English term "filibuster" derives from the Spanish filibustero, itself deriving originally from the Dutch vrijbuiter, "privateer, pirate, robber" (also the root of English "freebooter"[2]). The Spanish form entered the English language in the 1850s, as applied to military adventurers from the United States then operating in Central America and the Spanish West Indies such as William Walker.[3][4] (See Filibuster (military).)
Today I learned that my country isn't as stupid as I thought it was.
Today I learned that my Nazi Goldfinger Mutant Boss is leaving the store. *happy dance*
Separate names with a comma.

X-Frame-Options: SAMEORIGIN