Các đặc điểm của ADO.Net

Một phần của tài liệu Tài liệu hướng dẫn giảng dạy chương trình kỹ thuật viên ngành lập trình potx (Trang 81 - 83)

ADO.NET cĩ nhiều thay đổi so với ADO trước đây dù vẫn giữ lại kiến trúc các đối tượng độc lập với nhau và cố gắng khơng thay đổi cách thức các lập trình viên đã sử dụng quen thuộc với ADO. ADO.NET cĩ nhiều đặc điểm mới, nổi bật:

– Interoperability

– Scalability

– Productivity

– Performance

III.1. Interoperability – Tương tác gia nhiu h thng khác nhau

Trong các hệ thống phân tán, dữ liệu được chuyển ở dạng disconnected recordset giữa Data provider và Data consumer. Vì ở dạng RecordSet, cả provider và consumer cần phải sử dụng COM để trao đổi dữ liệu dẫn đến việc khĩ mở rộng hệ thống vì COM khơng làm việc qua Firewall và Network Address Translator (NAT).

ADO.NET giải quyết vấn đề này bằng cách thay đổi về bản chất của việc đĩng gĩi dữ liệu trước khi truyền trên mạng:

ƒ Với ADO, Disconnected RecordSet được đĩng gĩi ở dạng Network Data Representation (NDR) trước khi truyền trên mạng. NDR vẫn là dạng đối tượng mà ở tầng Application, data provider và data consumer phải sử dụng kỹ thuật COM để xử lý.

ƒ ADO.NET thay thế NDR bằng định dạng mới: XML. Với bản chất Text, XML hồn tồn cĩ thể sử

dụng HTTP để trao đổi dữ liệu. Hơn nữa XML document dễ dàng được xử lý mà khơng cần đến kỹ thuật COM. XML là chuẩn để trao đổi dữ liệu mới nhất và đang được hỗ trợ rất rộng rãi.

III.2. Scalability - H tr nhiu người dùng

ADO làm việc trên mơ hình Client/Server, Client sẽ kết nối liên tục với Server trong suốt quá trình làm việc. Điều này làm cho Server trở nên Nạp chồng khi cĩ quá nhiều Client kết nối.

ADO.NET sử dụng dữ liệu ở dạng disconnected data:

ƒ Client tạo kết nối với Server để lấy dữ liệu

ƒ Server gửi dữ liệu về cho Client

ƒ Client ngắt kết nối với Server

ƒ Khi cần cập nhật dữ liệu, kết nối giữa Client và Server được phục hồi

Với cơ chế disconnected data, thời gian kết nối giữa Client và Server khơng cịn lâu dài như trước, Server cĩ khả năng phục vụ nhiều Client hơn hẳn so với cơ chế của ADO trước đây.

Cơ chế disconnected data cĩ hai điểm đáng chú ý:

ƒ Dữ liệu sẽ khơng phản ánh kịp thời những thay đổi dữ liệu trong một hệ thống Client/Server với nhiều người dùng?

Trên thực tế, người dùng khi làm việc với các hệ thống phân tán hiểu và chấp nhận dữ liệu cĩ một độ trễ và sai lệch nhỏ, khơng đáng kể (tương tự như các ứng dụng Web).

ADO trước đây nếu sử dụng RecordSet ở dạng OpenStatic thì cũng khơng tốt hơn cơ chế

disconnected data là bao.

ƒ Thời gian cho một lần tạo kết nối giữa Client và Server là khá lớn, việc ngắt kết nối sau đĩ tạo lại kết nối để cập nhật dữ liệu sẽ chậm?

Vấn đề này được ADO.NET giải quyết khá đơn giản bằng cơ chế connection pooling, thơng tin về mối kết nối vẫn cịn được lưu giữ ở Server trong khoảng thời gian nhất định và khi Server cịn đủ tài nguyên, mỗi khi Client cần kết nối lại với Server, thơng tin kết nối được lấy ra từ

connection pool nên tốc độ khơng bịảnh hưởng.

III.3. Productivity - M rng kh năng làm vic vi CSDL

ADO.NET vẫn giữ nguyên hướng tiếp cận cũ của ADO nên người lập trình sẽ khơng mất nhiều thời gian

để học cách sử dụng. ADO.NET vẫn giữ kiến trúc các đối tượng độc lập và về mặt ý nghĩa nĩi chung, các đối tượng trong ADO.NET và ADO cũng gần giống nhau, vẫn cĩ Connection, Command và đối tượng đại diện cho dữ liệu cần xử lý. Điểm mạnh hơn của ADO.NET là DataSet tích hợp vào trong nĩ nhiều chức năng hơn hẳn những gì mà RecordSet làm được.

Với ADO.NET, cĩ sự tập trung rõ ràng hơn về các chức năng của các đối tượng. Ví dụ, Connection khơng cịn lo việc thi hành một câu lệnh SQL hay một Stored Procedure nữa, cơng việc này được giao hồn tồn cho Command đảm nhận. (adsbygoogle = window.adsbygoogle || []).push({});

Đáng chú ý hơn, ADO.NET phát triển trên .NET là component cĩ thể kế thừa được. Người lập trình hồn tồn cĩ khả năng kế thừa các đối tượng của ADO.NET để xây dựng các đối tượng mới tốt hơn và phù hợp với nhu cầu phát triển ứng dụng của mình.

Cuối cùng, Visual Studio .NET với Component Designer giúp người lập trình tạo ra các DataSet nhanh chĩng với nội dung lệnh rõ ràng hơn những gì Data Form Wizard của Visual Studio 6 trước đây tạo ra.

III.4. Performance - Hiu qu cao trong x lý d liu

Với các thay đổi trong bản chất cơ chế thực hiện, hiệu quả của ứng dụng dùng ADO.NET sẽ cao hơn nhiều.

ƒ Disconnected data đảm bảo ứng dụng trên Client ít gặp lỗi khi xử lý dữ liệu đồng thời giúp mở

rộng ứng dụng tới nhiều người dùng hơn. Các managed provider component hỗ trợ tính năng thiết lập connection pooling ngầm định để giảm bớt thời gian tái kết nối.

ƒ Định dạng XML thay thế cho NDR trong trao đổi dữ liệu giữa Server và Client giúp cho dữ liệu cĩ thểđược xử lý bởi nhiều client hơn dù ứng dụng trên Client cĩ hay khơng sử dụng COM. XML cũng giúp việc truyền thơng nhanh hơn vì khơng cần đĩng gĩi phức tạp như NDR hay chuyển qua chuyển lại giữa dữ liệu thơ sang dữ liệu ở dạng đối tượng.

Một phần của tài liệu Tài liệu hướng dẫn giảng dạy chương trình kỹ thuật viên ngành lập trình potx (Trang 81 - 83)