LOI NOI DAU
Có rất nhiều người trong chúng ta đã nhận định rằng thế kỷ 21 là thế kỷ của
Internet Internet đã mở ra cho chúng ta nhiều cơ hội, nhiều cách tiếp cận tới
các lĩnh vực hết sức rộng lớn cả trong lĩnh vực kinh tế và khoa học kỹ thuật Nó góp phần làm thay đổi bộ mặt của thế giới trong những năm gần đây, làm thu hẹp khoảng cách địa lý và văn hoá của các quốc gia trên thế giới
Ngày nay cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật đã góp phần
làm thay đổi cuộc sống của con người Do đó mà nhu cầu mua bán, trao đổi hàng hoá giữa mọi người ngày càng trở nên cần thiết hơn bao giờ hết Cách
thức mua bán và hình thức tìm hiểu thông tin về sản phẩm cũng như việc
quảng bá thương hiệu của doanh nghiệp đòi hỏi phải có một hình thức mới hiệu quả hơn và tiết kiệm chỉ phí và thời gian hơn
Việc ra đời của thương mại điện tử đã đáp ứng được phần nào nhu cầu nói trên Đây là một cách thức tiếp cận mới, làm giảm chi phí về mặt thời gian và
tiền bạc của khách hàng Giúp cho các khách hàng có được những thông tin
Trang 2CHUONG I
PHAN TICH VA THIET KE HE THONG 1)Mô tả hệ thống
Chức năng chính của hệ thống là hỗ trợ hoạt động thương mại của các công ty kinh doanh trong lĩnh vực máy tính
Hiện nay tại các công ty kinh doanh trong lĩnh vực máy tính cả về phần mềm và phần cứng cần thiết phải quảng bá thương hiệu của mình một cách rộng rãi trên thị trường trong nước và ngoài nước Cùng với sự phát triển của mạng Internet thì nhu cầu đó trở nên bức xúc hơn bao giờ hết Internet đã đem lại cho các doanh nghiệp một hình thức quảng bá thương hiệu của mình một cách tối ưu nhất và với chi phí hợp lý nhất Thông qua mạng Internet doanh nghiệp có thể quảng bá sản phẩm, các thông tin giới thiệu về công ty, các
chính sách cũng như phương châm kinh doanh của mình
Các chức năng chính của hệ thống:
- _ Quảng bá sản phẩm, cập nhật giá thường xuyên thường yêu cầu của
hoạt động kinh doanh
- _ Quản lý các đại lý bán buôn, như việc cung cấp các mức giá khác
nhau cho các đại lý đối với từng sản phẩm Nhận đơn hàng của các đại
lý qua mạng
- _ Tư vấn khách hàng như cung cấp giá, xây dựng cấu hình máy tính vv
- _ Cung cấp thông tin trong lĩnh vực công nghệ, kinh tế vv
- Quản trị người dùng Thêm người dùng, cấp quyền và cập nhật thông
tin
Việc quảng bá sản phẩm trên Internet nhằm mục tiêu là cung cấp thông tin cho khách hàng một cách khái quát nhất về giá cả, chất lượng , thông số kỹ
thuật về sản phẩm Qua đó giúp cho khách hàng có thể đưa ra những quyết
định mua bán tốt nhất với chất lượng sản phẩm là cao nhất và mức giá hợp lý nhất Ngoài ra còn cung cấp một số dịch vụ như tư vấn xây dựng cấu hình cho máy tính
Trang 3Hệ thống còn cho phép doanh nghiệp đưa tin tức nên mạng được xây dung theo mô hình báo điện tử Như có người đưa tin và có người biên tập quyết định xem tin đó có được đăng hay không Các thông tin mà doanh nghiệp có
thể đưa nên mạng Internet có thể là tin chính sách về công ty, tin nội bộ, tin
công nghệ,kinh tế vv Hệ thống tin tức sẽ làm cho trang Web trở nên sinh
động hơn và cung cấp các thông tin quý báu cho các khách hàng như chính
sách khuyến mãi, tin tức về thị trường công nghệ
Hệ thông cho phép giám sát và quản lý những người có thẩm quyền đăng nhập hệ thống như nhập sản phẩm, hiệu chỉnh giá, đưa các tin tức lên mạng, nhằm ngăn ngừa việc truy cập trái phép vào hệ thống 2)Từ điên dữ liệu Tên thuộc tính Giải thích ý nghĩa Mã_sp Mã sản phẩm Tên_sp Tên sản phẩm
Dac tinh Đặc tính của sản phẩm
Giới thiệu Lời giới thiệu về sản phẩm
Giá Giá bán phổ thông của sản phẩm
Thời gian_bh Thời gian bảo hành
Hang_sx Hang san xuat
Trạng thái Sản phẩm còn tồn hay không
Tiêu đề Tiêu đề của tin tức Trích dẫn Trích dẫn của bản tin Nội dung Nội dung của bản tin Tóm tắt Tóm tắt bản tin Ngày nhập Ngày nhập của bản tin ảnh ảnh của bản tin
Đăng Bản tin đã được đăng hay chưa
Cấp độ Cấp đọ của bản tin có phải tin nóng hay không Tên kh Tên khách hàng Địa chỉ Địa chỉ của khách hàng Số dt Số điện thoại Số Fax Số Fax Email Địa chỉ Email của khách hàng Tén_nv Tén nhan vién
Phong ban Phòng ban trực thuộc
Chức danh Chức danh của nhân viên
Trang 4S6_dt S6 dién thoai Dia_chi Dia chi 3)Đặc tả hệ thống Hệ thống hỗ trợ thương mại trực tuyến a e Khách hàng Ban giám đốc b f Hệ thống hỗ trỡ thương mại truc tuyến Đại lý Chú thích mô hình Nhân viên a)Khách hàng yêu cầu thông tin về sản phẩm như giá cả,thông số kỹ thuật, tin tức về công nghệ
b)Cung cấp các thông tin, tư vấn cho khách hàng
c)Đại lý nhận báo giá, tra cứu thông tin về sản phẩm, đặt hàng
đ) Hồi đáp thông tin và tư vấn cho khách hàng
e)Ban giám đốc yêu cầu các thông tin về giá và quản lý việc đăng, nhập thông tin
f)H6i dap thong tin
h)Nhân viên nhập tin tức,nhập sản phẩm mới, cập nhật giá đại lý và nhận đơn
hàng
g)Hồi đáp các thông tin
Trang 11
Ban tin Nhan vién
Tiéu dé ban Số hiệu nhân
tin viên
Trích dẫn Tên nhân viên
Ngày nhập Phòng ban
Tóm tắt Chức danh
Nội dung Địa chỉ
Cấn đô Số điên thoai Quan hệ giữa Nhóm hàng và mặt hàng là quan hệ 1-n Một nhóm hàng có thể có nhiều mặt hàng Quan hệ giữa quốc gia và nhà sản xuất là quan hệ 1-n Một quốc gia có thể có nhiều nhà sản xuất
Quan hệ giữa nhà sản xuất và sản phẩm là quan hệ n-n Vì một nhà sản xuất
có thể sản xuất nhiều mặt hàng, đồng thời một sản phẩm cũng có thể do
nhiều nhà sản xuất sản xuất Quan hệ này cần phải phá khi cài đặt bảng dữ liệu Quan hệ giữa nhân viên và bản tin là quan hệ 1-n Một nhân viên có thể nhập nhiều bản tin Quan hệ giữa nhân viên và đại lý là quan hệ 1-n Một nhân viên có thể quản lý nhiều đại lý Quan hệ giữa khách hàng và đơn hàng là quan hệ I-n Một khách hàng có thể có nhiều đơn hàng
Quan hệ giữa sản phẩm và giá đại lý là quan hệ 1-n Một sản phẩm có thể có
nhiều mức giá đại lý khác nhau 5)Thiét ké chỉ tiết cơ sở dữ liệu Bảng nhóm sản phẩm
Tên trường Kiểu dữ liệu Kích thức | Mô tả
Ma_nhom Int 4 Ma nhom
Ten_nhom Nvachar 50 Tên nhóm
Mo_ta Nvarchar 200 Mô tả nhóm sản phẩm
Trang 12Bang san pham
Chứa thông tin về sản phẩm Tên trường Kiểu dữ liệu Kích thức | Mô tả Masp Nvarchar 50 Mã sản phẩm
Tensp Nvachar 100 Tên sản phẩm
Gioi_thieu Nvarchar 200 Lời giới thiệu
Dac_tinhVt Nvarchar 200 Dac tinh viét tat
Dac_tinhDd Nvarchar 200 Dac tinh day du
Anh Image 16 Ảnh sản phẩm Gia Float Giá của sản phẩm
Bao_ hanh Nvarchar 50 Bao hanh
Kieusp Int Là sản phẩm mới
Bảng tin tức
Tên trường Kiểu đữ liệu Kích thức | Mô tả
Tieu_de int 4 Ma nhom
Trich_dan Nvachar 50 "Tên nhóm
Noi_dung Nvarchar 200 Nội dung tin
Anh Image anh cua tin
Dang Bit Trạng thái của tin
Kieu tin bít Kiểu của tin tức là
quảng cáo hay bản tin Thong tin khach hang
Tên trường Kiểu đữ liệu Kích thức | Mô tả
Ten_dd int 4 Tén day du
Dia_chi Nvachar 50 Dia chi
Tel Nvarchar 50 Nội dung tin
Fax Nvarchar 50 Số fax
Email Nvarchar Địa chỉ Email
Trang 13
Thong tin nha sản xuất
Tên trường Kiểu dữ liệu Kích thức | Mô tả
Ten_dd int 4 Tén day du
Ma_nuoc Int Mã quốc gia
Dia_chi Nvachar 50 Dia chi
Tel Nvarchar 50 Noi dung tin
Fax Nvarchar 50 S6 fax
Email Nvarchar Dia chi Email
Thong tin nha sản xuất
Tên trường Kiểu dữ liệu Kích thức | Mô tả
Mã quốc gia int 4 Mã quốc gia
Tên quốc gia Nvarchar Tên quốc gia
Thông tỉn nhân viên
Tên trường Kiểu đữ liệu Kích thức | Mô tả
Tendd int 4 Tên đây đủ
Add Nvachar 50 Địa chỉ
Tel Nvarchar 50 Nội dung tin
Fax Nvarchar 50 Số fax
Email Nvarchar 50 Địa chỉ Email
Chuc_ danh Nvarchar 50 Chức danh
Ma_ phong Int Phòng ban trực thuộc
Bảng đơn hàng
Tên trường Kiểu dữ liệu Kích thức | Mô tả
So_dh int 4 S6 hiéu don hang
Ngay_dh Nvachar 50 Ngay don hang
IDKhach_hang Nvarchar 50 Mã khách hàng
Trang 14
Chi tiét don hang Tên trường Kiểu dữ liệu Kích thức | Mô tả Masp Int 4 Mã sản phẩm
So_luong Int 50 Số lượng
Trang 15CHƯƠNG II
CÔNG NGHỆ TRONG XÂY DỰNG HỆ THỐNG
I)Tổng quan về mang Internet va mo hinh Client -Server
Theo cách ngắn gọn, Internet là một mang diện rộng(WAN) công cộng cho
phép bất kỳ hai mạng máy tính nối kết với nhau theo kiểu Internet để thiết
lập các tiếp xúc và trao đổi dữ liệu với nhau Không giống như mạng cục bộ LAN, một mạng WAN như Internet được thiết kế để vận hành trên mọi khoảng cách địa lý khác nhau, lớn hay bé Các mạng WAN khác cũng đã tồn
tại, nhưng Internet là đáng kể nhất do quy mô rộng lớn và sự phát triển nhanh
chóng của nó
Một công nghệ theo dạng Internet có thể được dùng để tạo ra các mạng máy
tính không phổ biến, được thiết kế để sử dụng trong nội bộ một tổ chức nào
đó Với tên gọi Intranet, các mạng máy tính này hoạt động cũng như Internet
Ở khoảng cách xa hay gần , mạng máy tính kết nối các máy tính lại với nhau
và cho phép chúng chia sẻ dữ liệu với nhau Nhưng việc chia sẻ này không diễn ra một cách tự động Để làm cho máy tính trở nên hữu dụng người lập trình tạo ra hai loại chương trình là Server(chủ) và Client(Khách)
Server là chương trình cung cấp thông tin trên một mạng máy tính Chúng
được thiết kế để nhiều máy máy tính khác có thể truy xuất được thông tin
một cách đồng thời Một Web Server có thể cung cấp thông tin cho hàng chục hoặc thậm chí hàng trăm nghìn người sử dụng một cách đồng thời
Microsoft Internet Information Server là một chương trình được thiết kế để
cung cấp nội dung Web cho người dùng mạng Mô hình Client Server
Client là chương trình chạy trên máy người dùng Một chương trình Client
được thiết kế để làm việc với một dạng Server nào đó Ví dụ một chương
trình client dùng cho thư điện tử như Outlook Express chẳng hạn sẽ làm việc
với các Server thư điện tử
Trước nay, mô hình đối tượng sơ sở dữ liệu( hay nói rộng ra là hệ điều hành ) đã che chắn phần làm việc phức tạp khi truy cập cơ sở dữ liệu từ xa Ta không nhận thấy sự khác biệt khi cơ sở dữ liệu chứa trên mạng hay máy
Trang 16Tuy nhiên, VB.NET cung cấp một số cách để chuyển dữ liệu với với
một cơ sở dữ liệu trên mạng, và ta có thể duy trì các truy cập bề vững, tin cậy
đến cơ sở dữ liệu qua mạng: cũng như bạn có thể thiết lập các hệ thống cho
phép sao chép các mẩu tin một cách thông minh trong cơ sở dữ liệu đến từng máy tính trong cơ quan
Với việc nghiên cứu “Làm quen với SQL Server “, “QDBC với các đối
tượng dữ liệu từ xa” và hiểu biết về lập trình hướng đối tượng, ta sẽ hiểu được
khái niệm: Mô hình truy cập cơ sở dữ liệu từ xa như thế nào
2) Mô hinh Client ! Server và các thành phần
Thuật ngữ thành phần tầng trung gian (middle-tier) đã thay đổi từ khi kỹ thuật này được giới thiệu lần đầu tiên Ví dụ, ta tạo một điều khiển
ActiveX nhúng trong một ứng dụng Client để nói chuyện với một thành phần
ActiveX Server cũng chứa trên Client Sau đó, thành phần ActiveX Server sẽ nói chuyện với ActiveX Server chứa trên máy thuộc tầng trung gian, đến lượt tần trung gian sẽ nói chuyện với Server cơ sở dữ liệu chứa trên WinT Server
Ta lượt qua một số khái niệm cơ bản:
e_ ActiveX: Là khái niệm gắn liền với các đối tượng trong chương trình dùng giao tiếp với nhau Nó không phải là một sản phẩm,
cũng không là một kỹ thuật
e_ Điều khiển ActiveX: Là một thành phần thường có giao diện
(nhưng khơng phải tồn bộ các thành phân đều có) Thành phần Lưới cơ cở dữ liệu (DBGrid) dược cung cấp bởi Visual Basic là một thành phần ActiveX ấn bản Professional và Enterprise có vô số thành phần như thế
e ActiveX Server con goi 1a thanh phan ma hod ActiveX Trong
VB4.0,n6 được gọi la OLE Server ActiveX Server là một thành
phần đưa ra một hay nhiều lớp chứa trong một khối đã được biên
dịch ứng dụng sẽ dùng các đối tượng được sinh ra từ các lớp chứa
trong thành phần ActiveX Ta có thể truy cập khối biên dịch này
qua mạng thông qua kỹ thuật DCOM ( Mô hình đối tượng thành
phanphan tán — Distributed Compnent Object Model)
2.1Cau tric Client / Server three Tier
Những nguyên tắc mà người lập trình phải tuân thủ:
e©_ Duy trì một hệ thống ổn định để đáp ứng với các quy luật kinh doanh thường xuyên thay đổi
e_ Cung cấp điểm khởi đầu đơn giản và nhất quán cho dữ liệu, trong khi cùng lúc bảo vệ cơ sở dữ liệu khỏi các ứng dụng Client, và trái lại, bảo vệ các ứng dụng Client khỏi tính phức tạp và bất thường của Server
Trang 17e ý tưởng xây dựng các quy luật kinh doanh trong ngôn ngữ lập trình
bất kỳ, không chỉ với SQL
e ý tưởng triển khai các quy luật kinh doanh trên một máy tính không phải là một Server cơ sở dữ liệu, để bảo toàn năng lực xử lý của Server cơ sở dữ liệu
e_ ý tưởng triển khai trên quy luật kinh doanh vào Client để giảm thiểu lưu thông trên mạng
e_ Triển khai các quy luật kinh doanh tại một điểm đơn giản trong hệ
thống (trái với ý nghĩ triển khai toàn bộ trên mọi máy Client mỗi
lần có một thay đổi)
Cau tric Client / Server giải quyết vấn đề này Trong một cấu trúc 3
tầng (three-tier), các quy luật kinh doanh được đóng gói trong một thành phần trung gian giữa ứng dụng Client và Server cơ sở dữ liệu
Những thành phần như thế gọi là tầng trung gian Tầng này nhận
tương tác từ ứng dụng Client, đáp ứng bằng cách chuyển các yêu cầu
hay các lệnh đến Server cơ sở dữ liệu
Tầng trung gian là một thành phan ActiveX Các thành phần
trung gian ActiveX hoạ động tương tự các thành phần ActiveX khác
Các thành phần trung gian phục vụ chủ yếu cho truy cập dữ liệu Client/Server
Ngoài các khả năng cung cấp một giao diện hướng đối tượng cho cơ sở dữ liệu, thành phần ActiveX có thể truy cập từ xa, qua mạng Kỹ thuật
này gọi là DCOM(Mô hình đối tượng thành phần phân tán - Distributed
Cômpnent Object Model).Với DCOM, một ứng dụng Client có khả năng tạo
những instanse từ ActiveX Server, dù cho Server có tồn tại trrên cùng máy
với Client hay không
2.2)Thiết lâp môt cấu trúc phần cứng cho DCOM
Có vô số tổ hợp Client và Server để thực hiien cấu trúc phần
cứng Client/Server Giả sử có 2 máy, trong đó I máy là Winnt Server chạy Microsoft SQL Server, đây là Server Máy Client là Win95, hoặc
Win98, hoac WinNT
Người sử dụng trên mạng muốn truy cập dữ liệu khách hàng Để giữ được tính nhất quán, khả năng dùng lại, dễ lập trình và bảo trì, bạn nên truy cập đến cơ sở dữ liệu thông qua thành phần ActiveX Thành phần này được biên dịch và thiết lập trên mạng saôch ứng dụng Client
có thể truy cập nó từ xa Sau đây là sơ đồ cấu trúc 3 tầng tổng quát Nó
kết hợp cấu trúc vật lý (2 máy tính) và lôgic (từng tầng cung cấp các chức năng khác nhau)
Trang 18May Client
Thanh phan ActiveX Truy vấn cơ sở dữ liệu Cung cấp đối tượng cho Client CSDL
Lược đồ của một cấu trúc 3 tầng tổng quát
Ta có thể chia thành phần tầng trung gian qua nhiều máy Vì vậy, cấu
trúc Client /Server 3 tầng khi đó trở thành cấu trúc n tầng như sau: Máy Client Thành phần ActiveX Truy vấn cơ sở dữ liệu Cung cấp đối tượng cho Client CSDL Máy Server
Cấu trúc Client/Server n tầng trình bày tầng trung gian thể hiện trên 1 máy: Ta triển khai các thành phần tầng trung gian trên một máy theo những tình huống sau:
Trang 19e Ta muốn mở rộng khả năng ứng dụng bằng cách triển khai nhiều bản sao của cùng một ActiveX Server đến nhiều hơn một máy Bất lợi của việc cung cấp cho thành phần ActiveX một máy tính riêng là cấu hình này đòi hỏi thêm một bước chuyển qua mạng từ Client đến cơ sở dữ liệu và ngược lại Điều này có thể khiến giảm khả năng hoạt động và tăng lưu lượng trên mạng Rrường hợp này có được chấp nhận
hay không tuỳ thuộc chức năng định cấu hìnhmạng và các Prototype ta
làm trong giai đoạn thiết ké của đồ án
Thậm trí khi ta không có điều khiể trên hệ điều hành trên đó cơ
sở dữ liệu thi hành, ta vẫn có thể sử dụng tầng trung gian ~Nếu ta triển
khai nó đến một máy riêng Tầng cơ sở dữ liệu là một khối UNIX hay
bộ mainframe của côngty ứng dụng Client dùng kỹ thuật DCOM vì 2 lý do:
*tmg dung Client khong bao giờ truy cập đến Server cơ sở dữ
liệu; thay vào đó, chúng truy cập dữ liệu thông qua thành phần ActiveX
*Đây là lý do quan trọng nhất, DCOM che chắn cho ứng dụng
khỏi các phần rắc rối của giao thức qua mạng, các phần mềm nên(Platform), và biên của máy tính
Triển Khai một hệ thống Client/Server trong đó, Server cơ sở dữ liệu không phải là Windows thì dễ hơn trong thế gới 3 tầng, bởi vì, ta không cần phải định cấu hình cho middleware (phần mềm tầng giữa- tập hợp các chương trình điều khiển chuyên xử lý việc giao tiếp qua nhiều Platform và các giao thức mạng) trên từng máy Client.Với kiểu 3 tầng, ta chỉ phải chỉ định cấu hình chương trình một lần-trong phần cấu trúc giữa tầng giữa và Server cơ SỞ đữ liệu Nhờ đó, có thể tiết kiệm thời gian sai sót khi định cấu hình và triển khai ứng dụng đến nhiều Client
Trang 20Mô hình hoạt động giữa trình duyệt browser và máy chủ Server nơi chứa tài liệu Máy khách Máy chủ Page.html <=— Browser Web Server Page.html
ở bước đầu của công nghệ Web, với các trang html hoặc dữ liệu tĩnh như các hình ảnh hay tập tin văn bản(text file), trình chủ Web Server đơn giản chỉ đọc và lấy nội dung của toàn bộ file trên máy chủ và trả về máy khách Hoạt
động của Web Server mang chức năng tương tự như file Server Nhưng trên
thực tế trong kinh doanh thông tin thay đổi mỗi ngày và chúng đến từ nhiều
nguồn khác nhau Vì vậy mà yêu cầu đặt ra là làm thế nào để chúng ta có thể
cập nhật các thông tin trên Web site một cách thường xuyên trở nên cần thiết hơn bao giờ hết
Xuất phát từ nhu cầu xử lý động, trình chủ Web Server cho phép cài đặt các
ứng dụng CGI(Common Gateway Interface) tiếp nhận các yêu cầu của trình
khách, thực hiện thao tác xử lý và biến đổi dữ liệu trước khi đưa kết quả trả
về cho trình duyệt phía máy Client CGI là các chương trình thực thi nhị
phân(như các file exe) viết bằng các ngôn ngữ biên dịch(điển hình như C/C++) Với một số cấu hình cần thiết Web Server sẽ gọi đến chương trình CGI và chuyển giao các yêu cầu từ trình khách cho chương trình CGI xử lý Hoàn tất quá trình xử lý CGI sẽ trả lại kết quả lại cho Web Server và Web Server lại tiếp tục trả lại cho trình khách Quá trình triệu gọi và xử lý các CGI hoàn toàn trong suốt hay không thấy được đối với trình khách
Cho đến này các hãng phần mềm lớn trên thế giới đã lần lượt đưa ra một số giải pháp của mình như JSP(Java Server Page) của Sun ASP(Active Server Page) của Microsoft vv
Microsoft cung cấp trình chủ Web Server mang tên IIS(Internet Information
Server), cho phép sử dụng cách thức tạo trang Web động bằng CGI, ISAPI Trang ASP đơn giản là một file văn bản(text) chứa mã HTML và kết hợp mã
thông dịch như Vbscript hay Jscript(thường mang tên mở rộng là.asp) Đơn
thể ASP.DLL được tích hợp vào Web Server IIS Khi nhận được yêu cầu của
trình khách cần hiển thị trang asp Web Server sẽ triệu gọi đơn thể xử lý
Trang 21Kết quả sau đó sẽ được ASP.DLL sẽ gửi lại trình chủ dé tra về theo yêu cầu của máy khách Web Server Máy khách Page.asp Browser ASP.DLL œ Asp.dll Data Response] | ISAPI Source Component.dll
Một ưu điểm của thiết kế ứng dụng Web bang ASP và ngôn ngữ kịch bản đó là ứng dụng dễ bảo trì, sửa đổi cùng với việc việc xử lý dữ liệu động hiệu quả
Giới thiệu về ASP.NET
Mặc dù ASP phiên bản 3.0 ra đời chưa lâu, Microsoft đã và đang nỗ lực cho một công nghệ web sử lý phía máy chủ hoàn toàn mới đó là ASP.NET Microsoft còn gọi là công nghệ “Dịch vụ Web thế hệ kế tiếp”(Next
Generation Web Service).ASP đã cho thấy sự thành công của nó trong các
ứng dụng Web, nhưng tại sao Microsoft lại quyết định thay đổi công nghệ và
cho ra đời ASP.NET là một phiên bản hoàn toàn mới so với ASP Có các
nguyên nhân sau đây:
-_ Hiện tại ASP chỉ là ngôn ngữ kịch bản phi định kiểu dựa trên Vbscript
hoặc Jscript không tận dụng được các ngôn ngữ rằng buộc kiểu mạnh như C++ hay Visual Basic ASP cho phép sử dụng ngôn ngữ trung lập
Trang ASP.NET có thể viết bằng nhiều ngôn ngữ như
Vbscript,Jscript, Visual Basic,C++,C#,Pearl
-_ Một bất tiện của trang ASP đó là mã lệnh và giao diện trộn lẫn với
nhau Khi phát triển các dự án lớn thường các dự án tách làm hai
nhóm Một nhóm thiết kế giao diện, một nhóm viết lệnh lập trình
ASP.NET cho phép tách rời mã lập trình và nội dung tài liệu
Trang 22tượng thành phần loại bỏ nhiều công đoạn viết mã mà lập trình viên 'WEEB thường phải làm ASP.NET cung cấp các thành phần điều khiển hoạt động phía trình chủ hoạt động theo hướng xử lý sự kiện Mọi việc
kiểm soát trạng thái và tương tác với các thành phần điều khiển được
trình chủ Web Server với kiến trúc ASP.NET lo liệu
Ngày nay thế giới thay đổi nhanh chóng với các thiết bị cầm tay như điện thoại di động, TV có thể kết nối với Internet Những thiết bị mới này đều chuẩn bị khả năng kết nối với Internet và máy chủ phục vụ Web, Vấn đề thách thức lớn nhất của các ứng dụng Web ngày nay là
tính tương thích trên các trình duyệt và độ phức của trang tài liệu do
ứng dụng tạo ra Công việc phải được xử lý trên máy chủ là rất nhiều Chẳng hạn ngoài việc xử lý trang HTML bạn còn phải có khả năng tạo
các trang WML phục vụ cho điện thaọi di động và trao đổi dữ liệu
XML ASP.NET có sẵn các dịch vụ này để bạn sử dụng
3)Tóm tắt các đặc điểm mới của ASP.NET
3.1)Các đặc điểm nổi bật
Pages(trang ứng dụng):sử dụng các thành phần điều khiển có khả năng hoạt động và tương tác với nhau ngay trên trình chủ Web Server Đặc
điểm này giảm thiểu quá trình viết mã tương tác giữa các trang Lập
trình trong môi trường ASP.NET tương tự như lập trình thiết kế trong
VB Form và do đó các ứng dụng ASP.NET còn gọi là Web Forms
HTML Server Side Controls: Các thành phần điều khiển HTML có khả năng xử lý ngay trên trình chủ dựa vào phương thức và thuộc tính
tương tự cách hoạt động của chúng trên trình khách Những thành
phần điều khiển này cho phép kết hợp mã xử lý của trang ASP.NET
với một sự kiện nào đó phát sinh phía trình khách được xem như đang
diễn ra trên trình chủ
Rich Controls: Tap cdc diéu khién da nang: Cac diéu khién Rich
Controls chạy trên Server và có thể tạo ra các phần tử cũng như đối
tượng HTML phức hợp cho trình khách ví dụ như khung lưới(gr1d),
bang (table), Khung nhin(listView)vv Rich Controls cho phép ban
rằng buộc dữ liệu và xử lý dữ liệu tương tự như bạn viết một ứng dụng Desktop thực sự Xoá đị biên giới của mô hình khách chủ
Web Server: Các dịch vụ Web Trang ASP.NET của bạn có thể không
cần hiển thị kết xuất cho trình khách Chúng hoạt động như những chương trình xử lý yêu cầu ở hậu cảnh Ví dụ như trang ASP.NET có thể là một lớp đối tượng cung cấp phương thức trả về giá trị nào đó khi nhận được yêu cầu từ trình khách
Trang 23thống trước khi sử dụng nữa Bạn chỉ cần copy các trang ASP.NET hay các đối tượng lên máy chủ, chỉ ra vị trí của chúng và thế là chương trình cũng như dịch vụ của bạn có thể sẵn sàng sử dụng
- Tu dong quản lý trạng thái của đối tượng Session và Application: Ban có thể lưu nội dung của Session hay Application của một ứng dụng đặc thù nào đó xuống trên các file trên đĩa để sử dụng lại
- _ Xử lý lỗi, debug: Các công cụ gỡ lỗi, lần vết thông tin được nâng cấp và đáng tin cậy hơn Mỗi trang tài liệu có thể sử dụng một trang xử lý riêng biệt và kết xuất nội dung của biến để theo dõi ngay trong quá
trình thực thi trang Các trình gỡ lỗi debug được tích hợp xử lý trong
môi trường đa ngôn ngữ VB,C++,C#
-_ Quản lý bảo mật: Bạn có thể tận dụng các dịch vụ đăng nhập tuỳ biến trong trang tài liệu ASP.NET theo phong cách của Web hoặc cơ chế đăng nhập và kiểm tra quyền xuất dựa trên hệ thống bảo mật của hệ điều hành
- Tuy bién vùng đệm trên trình chủ Vùng đệm của kiến trúc ASP.NET
rất linh động Bạn có thể tự tạo ra vùng đệm riêng cho mình chứa kiểu
giá trị và đối tượng trong quá trình xử lý của trang nhằm tăng tốc độ của ứng dụng
- Mot tap các đối tượng phong phú các thư viện lớp và các đối tượng phục vụ cho hầu hết những gì mà nhà phát triển ứng dụng cần đến
Bằng những thư viện này công việc viết ứng dụng cho Web trở nên dễ
dàng, đơn giản hơn bao giờ hết 3.2)Các điều khiển trong ASP.NET
ASP.NET có tất cả 4 loại thành phần điều khiển mà chúng ta cần phân biệt là:
-_ Điều khiển nội tại : Các phần tử này sẽ tạo ra những phần tử theo kiểu HTML phía trình khách Bạn có thể dựa vào điều khiển nội tại để tạo
các phần tử HTML thông minh có khả năng quản lý trạng thái của chính nó hoặc những thành phần chỉ thuần HTML không cần quản lý trạng thái
- _ Điều khiển danh sách(List Control): Thành phần điều khiển này cho
phép bạn hiển thị mọi loại dữ liệu kiểu danh sách Ví dụ như bảng dữ
liệu(Table) khung nhìn (View) Điều khiển danh sách còn cho phép bạn rằng buộc với các thành phần dữ liệu trên Server
-_ Điều khiển đa năng: Những điều khiển đa năng trên Server sẽ sinh ra mã tổ hợp nhiều phần tử HTML, đôi khi kèm theo mã điều khiển
Javascript để chạy phía trình khách Rich Control cung cấp nhiều giao
Trang 24- Diéu khién kiém tra(alidate Control): Các điều khiển này thường
không khả kiến Chúng hoạt động hậu cảnh ở cả hai phía trình khách và trình chủ Mục đích của thành phần điều khiển này là cho phép kiểm tra khuôn dạng của dự liệu vào trước khi trình khách gửi ngược(Post Back) dữ liệu về trình chủ đưa dữ liệu về trình khách a)Điều khiển nội tại:
Các thành phần điều khiển như<input>,<select> được coi là điều khiển nội
tại Các điều khiển này có khả năng tự quản lý trạng thái và sử lý các sự kiện phát sinh Tất cả các phần tử HTML nếu đặt thuộc tính “runat Server” thì sẽ
được kiểm soát bởi điều khiển nội tại duy nhất Trang ASP.NET còn có thể
sử dụng các thành phần điều khiển nội tại khác được định nghĩa với tiếp đầu
ngữ “asp” Các điều khiển này chỉ chạy trên trình chủ (Với thuộc tính
“runat=Server” Chúng cung cấp thuộc tính và các phương thức tương tự như
điều khiển nội tại HTML chuẩn”
Danh sách các điều khiển “asp° và HTML tương ứng nhau ASP.NET Kết xuất HTML <asp:button> <input type="submit”’> <asp:Linkbutton> <a href=”javascript:dopostBackQ> </a> <asp:Hypelink> <a href=” ”></a> 332 3% <asp:TextBox> <input type=”text”> <asp:Radiobutton> <input type=”radio”> <asp:CheckBox> <¡input type=”checkbox”> <asp:listBox> <asp:Dropdownlist> <select></select> <select size=””></select> <asp:Image> <img src=””> <asp:Label> <span></span> <asp:Panel> <div></div> <asp:Table> <table></table> <asp:Tablerow> <tr></tr> <asp:TableCell> <td></td> II Tóm tắt về thế giới Net
1)Khái quát về Net
Trái tim của NET cung cấp cho người dùng cách thức truy cập thông tin,
Trang 25thiết bị Họ không cần biết nơi nào chứa thông tin hoặc chỉ tiết về cách truy cập thông tin đó Chỉ vài năm nữa Microsoft và các công ty khác sẽ huỷ bỏ
việc phân phối phần mềm qua CD Thay vào đó sẽ là các dịch vụ cung cấp các tính năng mà người dùng sẽ lấy để cài đặt vào máy thông qua dịch vụ
Web phân phối qua mạng Internet Khách hàng không phải mua phần mềm,
cài đặt vào máy, sau đó lại phải duy trì nó Thay vào đó là các dịch vụ cung
cấp những chức năng theo yêu cầu Một số phần mềm sẽ được tải xuống, cài
đặt, duy trì bằng dịch vụ web Việc cập nhật, sửa chứa sẽ xảy ra tự động qua
mạng Internet Nếu ta cần sử dụng phần đặc biệt của phần mềm cho đề án
như chương trình CAD / CAM, nhưng lại không muón mua nó, ta có thể sử dụng nó qua dịch vụ web và được tính chi phí bởi nhà cung cấp
Rõ ràng đây là viễn cảnh lớn của công nghệ và những lĩnh vực kinh doanh trong tương lai không xa Điều đó chỉ có thể có được và nâng cao hiệu quả hơn phát triển những ứng dụng hiện nay khi ta sử dụng và ứng dụng của
.NET Lúc đó mỗi ứng dụng sẽ trở thành một dịch vu “web-web service”
Chiến lược NET cho phép chúng ta khắc phục yếu kém trong giao tiếp của DCOM, NET cho phép thu thập dữ liệu từ các máy tính khác ở bất kỳ nơi nào trên mạng Website của bạn sử dụng dịch vụ web của công ty cung
cấp dịch vụ bằng cách gọi phương thức hoàn toàn được bảo mật và trong suốt
đối với khách hàng của bạn Bạn có thể đăng ký với một nhà cung cấp dịch vụ web khác hỗ trợ cung cấp dịch vụ Khi dịch vụ web của bạn sử dụng các
dịch vụ web khác để cung cấp một sản phẩm hay dịch vụ tuỳ chọn, nó tạo ra
một liên đoàn của các dịch vụ web Khách hàng của bạn không biết rằng bạn đang sử dụng kết hợp nhiều dịch vụ khác nhau, được xây dựng, bảo trì bởi
người khác
2)Giớói thiệu về ngôn ngữ Visual Basic.Net
Trang 26Trước đây Visual basic không khuyến khích cơ chế truy cập trực tiếp vào API (Application Programming Interface) cua windows bên dưới, không cung cấp tính kế thừa, không có khả năng kết hợp tính năng từ những lớp khác Không có khả năng viết DLL thuần tuý của windows và giao tiếp với
các ngôn ngữ khác như C++
Visual Basic.Net là phương pháp phát triển phần mềm hoàn toàn mới
Nó cho phép lập trình viên phát triển về phần cứng, kỹ thuật truyền thơng, tối ưu hố , gia tiếp với Internet , tránh đụng độ phần cứng khi PC chuyển từ kiến trúc 16 bít sang 32 bít mà hai kiến trúc này phải được theo dõi và quản
lý phụ thuộc vào nền máy tính mà khách hàng sử dụng Trong tương lai khi kiến trúc 64 bít ra đời và ngày càng nhiều công ty dựa vào Internet để phân
bổ thông tin và các dịch vụ thì vấn đề lập trình trở nên khó khăn nếu không
có nền Net Đặc biệt các thiết bị cầm tay, vô tuyến, Window CE, máy
Pocket, Palm chạy trên CPU không có Intel X86 và hiển nhiên là để xây
dưng một phần mềm và phân bổ nó cho các thiết bị khác biệt này là không
thể được với các Visual Basic cổ điển
Để không phải học kỹ thuật mới để tối ưu hoá các chương trình phần
mềm và hệ điểu hành, sử dụng trinhf biên dịch đặc biệt về kỹ thuật khác nhau cho mỗi nên mới và sau đó dò theo mối phiên bản, những nhà phát triển
có thể sử dụng Net
Mà hạt nhân của cách tiếp cận này là bộ diễn dịch ngôn ngữ thực thi chung
CLR( Comom Language Runtime) CLR cung cấp nhiều thuận lợi cho việc lập trình viên Visual Basic, nó là phần quan trọng trong lập trình bằng ngôn
ngữ Net - Visual Basic, C++, C# hoặc một trong 17 ngôn ngữ lập trình hỗ
trợ Net khác
Khi lập trình với Visual Basic Net, hầu hết các ứng dụng có thể được
Trang 27các lỗi xung đột DLL không còn xảy ra do phiên bản bị cũ hoặc không phù hợp bị cài chồng lên Eile hiện hành bằng một chương trình mới
Microsoft.Net.Framework khắc phục được lỗi xung đột DLL mà các lập trình viên và người dùng vẫn thường gọi là “ Địa ngục DLL”
Trong hầu hết các trường hợp, việc cài đặt ứng dụng Visual Basic Net được dễ dàng với tất cả các file đã kết hợp với nó trong cùng một thư mục
Trong Visual Basic cổ điển khi phải xoá cài đặt trước đó kết quả không ổn định, có thể chương trình sau khi tháo bỏ, để lại những file mồ côi mà những
mục nhập trong Registry không dùng đến Còn ở Visual Basic Net, khi xoá
nội dung của thư mục (Cây thư mục) chứa ứng dụng thì chương trình bị loại
bỏ hoàn toàn
2.1- Giới thiêu về Net Framework
Những nền tảng xây dựng nên Visual Basic Net nghĩa là chúng ta bắt đầu từ
dưới lên Về khái niệm thì trình biên dịch của Visual Basic Net nằm ở lớp
trên của lớp Net FrameWork Trình biên dịch của Visual Basic Net đơn giản đưa ra những phân khác nhau của Net FrameWork đã được chỉ định
dùng cho ngôn ngữ Visual Basic Net Trình biên dịch kiểm tra ngặt về phần
cú pháp của ngôn ngữ, nhưng tât cả các hàng động lại xảy ra ở mức Net
FrameWork
Hạt nhân của Net FrameWork là CLR(Common language Runtime).CLR quan lý sự thực thi của đoạn mã.Net và cung cấp các dịch vụ
tạo quá trình phát triển chương trình ứng dụng dễ dàng hơn Các trình biên
dịch và các công cụ làm cho các chức năng của thư viện thực thi Runtime trở nên phong phú và hiệu quả hơn
Trang 28language) Tich hgp quản lý các lỗi ngoại lệ, khởi động và chấm dứt các luồng ở mức thấp, hỗ trợ về bảo mật, quản lý phiên bản, đóng gói cài đặt
CLR cung cấp sự dễ dàng cho các nhà phất triển Visual basic Net khi thiết kế và xây dựng ứng dụng mà những đối tượng của chúng có thể tương tác với các đối tượng và đối tượng được viết bằng ngôn ngữ khác Sự
tương tác này là có thể bởi vì các trình biên dịch ngôn ngữ và các công cụ
phát triển hướng đên sử dụng CRL với một hệ thống kiểu dữ liệu chung định
nghiã bởi thư viện Runtime Visual Basic.Net bao gồm rất nhiều các kiểu dữ liệu mới, các kiểu dữ liệu của Visual Basic 6.0 như Variant không còn được
hỗ trợ nữa, sự thay đổi này để làm thích nghi với đặc tả CLR
Các thành phần cấu thành trong NET Framework mô tả như hình 1
*Mức trên cùng là trình biên dịch Visual Basic (hoặc các trình biên
dịch của các ngôn ngữ khác Bên dưới là trình biên dịch đặc tả ngôn ngữ
chung(Common laguage Specification- CLS) Đặc tả là một tập hợp những
quy tắc chịu ảnh hưởng bởi những quy định mà CLS đề ra.Khi một ngôn ngữ tuân thủ theo đặc tả củaCLS, nó được đảm bảo làm việc với nền CLR một cách đúng đắn Như vậy, khi các trình biên dịch của những nhà phát triển thứ ba muốn hướng tới NET Framework, chúng chỉ cần thích hợp với CLS và
đoạn mã biên dịch chắc chắn sẽ được NET Framework thực thi
Vậy là Visual Basic là hoàn toàn ngang hàng với những ngôn ngữ khác như C++,C#,và bất kỳ ngôn ngữ nàobiên dịch theo đặc tả CLS mà NET
đưa ra Visual Basic Net giờ đây có những kiểu biến, kiểu mảng, kiểu do
Trang 29— IDE) dé lập trình với Visual Basic và nền NET flatform Do IDE mới tương
tự IDE của Visual Basic 6.0, các lập trình viên Visual Basic sẽ nhanh chóng cảm thấy gần gũi và thân thuộc hơn với môi trường mới này Framework, language, Tools Visual Basic C++ C# CLS — Common Language Specification Web Service User Interface Data and XML Basic Class Library CLR — Common language Runtime Visual Basic Net *Tiép theo mttc CLS (Hinh 1)
la web services(cac dich vu web) va user Interface(giao diện người dùng).Web services cung cấp một giao diện người
dùng có khả năng truy cập web với những công cụ web bao gồm HTML (Hypertext Markup language) và điêù khiển web khác nhau.Web services
cũng điều khiển những giao thức khác web nhau, các trạng thái bảo mật và
các phiên làm việc Web services sử dụng các khái niệm Desktop truyền thống với tên gọi là Windows Forms Đó là một phần giao diện giao tiếp với
người dùng tiếp cận web services Ta có thể xây dựng giao diện web dễ dàng cũng như giao diện windows, giúp cho ta giảm được những điêù cần phải học
khi muốn phát triển NET
Trang 30ứng dụng tao web form chi cần chuẩn HTML phiên bản 3.2, nó cho phép Form hiển thị trên bất cứ một trình duyệt của bất kỳ nền hệ diều hành nào mà không càan phải chỉnh sửa gì thêm cả
* Cùng mức với web services là giao diện giao tiếp người dùng (user interface) sẽ trình bày thông tin thiết kế cho các cửa sổ trên Windows(windows Form) Urer interface 14 noi Windows dung v6 Nó cung
cấp các thư viện phục vụ thao tác vẽ trên màn hình, máy in, văn bản, hiển thi
hình ảnh
*Mức Data and XML (eXtensible Markup Language) để cho web services và Urer interface thiết kế dựa trên nó: Dữ liệu định nghĩa theo chuẩn
XML dùng để gửi dữ liệu qua internet Cả HTML và XML đều sử dụng các
thẻ đánh dấu tuy nhiên HTML thì được dùng để điều khiển và quy định cách hiển thị dữ liệu còn XML lại dùng để mô tả dữ liệu, tất cả chúng làm việc kết
hợp với nhau bằng giao thức SOAP (Simple Object Access Potocol) Đây là
giao thức cho phép tài liệu và dữ liệu được đóng gói bởi file XML có thể gửi dược dễ dàng xuyên qua bức tường lửa (filewall)
* Mức BCL (Basic Clas Lïbrary) thư viện các lớp cơ sở, là phần nền
của cơ chế xử lý dữ liệu XML BCL là nguồn gốc cho tất cả các lớp cơ sở của tất cả các chương trình NET, cung cấp các tập hợp (Collection), các lớp văn ban (texbox), các đoạn mã tương tác giữa đối tượng NET và ActiveX Controls, và hỗ trợ nhiều dịch vụ khác
* Cuối cùng là mức CLR (Common language Runtime) thư viện thực
thi ngôn ngữ chung CLR đóng vai trò chính trong việc thực thi các chương trình NET Framework Để chạy chương trình NET, tất cả các đoạn mã đều
được được dịch ra ngôn ngữ CLR và môi trường NET.framework sẽ diễn
dịch ngôn ngữ CLR để thực thi chương trình Và bằng cách này chương trình
mà mã đã chuyển qua ngôn ngữ CLR sẽ có thể chạy ở bất kỳ hệ điều hành
Trang 31chuẩn mà bất kỳ chương trình NÑET nào cũng có thể tận dụng và khai thác
nó, từ bất cứ một ngôn ngữ nào có hỗ trợ NET Tất cả các ngôn ngữ đều
ngang nhau, không còn phân biệt nhau về mặt chức năng nữa trong NET
Chúng được hỗ trợ tất cả các dịch vụ NET thông qua tập hợp các đối tượng
trong thư viện chuẩn
CLR bao gồm những hỗ trợ về BCL, nơi điều khiển các cấu trúc va
giao diện
Form của chương trình CLR cũng chịu trách nhiệm quản lý các luồng thực thi và xử lý lỗi ngoại lệ, điều khiển các bộ thu gom rác, chịu trách nhiệm giải phóng các đối tượng bị xố khơng cịn sử dụng nữa
CLR tiếp nhận đoạn mã được phát sinh bởi trình biên dịch NET (Hoặc của trình biên dịch NET khác hướng đến nền NET) và chuyển nó sang
ngôn ngữ máy tự nhiên của cấu trúc máy hiện hành Bằng sự chuyển đổi
này, cơ chế thực thi chương trình độc lập với hệ điều hành là hoàn toàn
thoả mãn Các lập trình viên viết mã chương trình bằng Visual Basic và
CLR chịu trách nhiệm chuyển mã để chương trình có thể chạy được trên
nhiều hệ điều hành khác nhau nhưng có hỗ trợ CLR Do đó họ tách khỏi những xử lý của phần cứng và thật sự họ không cần phải biết hoặc quan tâm đoạn mã của họ viết sẽ được thực thi ở nền flat form nào Tất nhiên họ phải sử dụng cú pháp của Visual Basic đúng đắn và ứng dụng biên dịch không bị lỗi, NET đảm bảo và lo mọi phần thực thi chương trình còn lại Ta có thể thấy CLR hỗ trợ tất cả các thành phần nằm trên (hình 1) và (hình 2), và chịu trách nhiệm chuyển đổi mã Visual Basic NET sang cấu trúc máy đặc trưng mà ứng dụng đang thực thi trên đó Nó cũng tự động
cung cấp những đoạn mã mang tính an toàn kiểu nghĩa là đoạn mã đó chỉ làm những gì mà chúng ta mong muốn Không có chuyện chuyển đổi
Trang 32đệm và treo máy, treo các chương trình khác sẽ không hề xảy ra với đoạn mã Visual Basic NET Common Language Runtime Thư viện hỗ trợ BCL
Xử lý tiểu trình Quản lý COM
Kiểm tra kiểu Quản lý lỗi ngoại lệ
(exception)
Trinh bao mat Bô gỡ rối
Trình biên dịch tức Quản lý đoạn Bộ thu gom rác thời ngôn ngữ IL code Trình nạp các lớp vào để xử lý (Hình 2) Khi đoạn mã được xác định hướng tới nền NET, ta gọi đó là mã được quản
lý (managed code), nghĩa là đoạn mã tự động thực thi dưới “Sự quản lý và
Trang 33Những lưu ý trước hết là phải có cái nhìn tổng thể về kiến trúc mới này
đó là những chức năng lôgíc được nhóm lại trong các thành phần của NET
Framework để dễ quản lý Ta có thể truy cập những chức năng này trong chương trình của mình bằng cách tham chiếu không gian tên (Gọi là Namespace) Namespace là lược đồ sắp xếp kiểu dữ liệu theo nhóm các chức năng logic có liên quan với nhau trong NET Ví dụ khi tạo một cửa sổ Form, IDE sẽ thêm khai báo Imports System.Windows.Forms vào đoạn mã Lệnh Imports tương tự với việc thêm vào tham chiếu Reference trong Visual Basic
6.0 trước đây Imports một NÑamespace là để kế thừa những chức năng cơ bản của lớp forms tạo nên cửa sổ giao điện người dùng .NET cung cấp một kho giàu có các dịch vụ, các dịch vụ này được thiết kế để làm tăng hiệu suất của
tiến trình phát triển ứng dụng từ thiết kế đến viết mã, phát triển, bảo mật
2.2- Visual Basic.Net là ngôn ngữ thế hệ kế tiếp của Visual Basic 6.0, với sự kế thừa những tinh hoa mà phiên bản trước đã có đồng thời khắc phục được những hạn chế của Visual Basic 6.0 như việc cho phép kế thừa một cách toàn diện và trở thành một ngôn ngữ lập trình hướng đối tượng đầy đủ,
Không cho phép dùng biến mà không khai báo Với các công cụ truy cập cơ dữ liệu cực mạnh mà ADO.net cung cấp thực sự Microsoft đã làm một cuộc cách mạng thực sự trong lập trình cơ sở dữ liệu
Visual Basic.Net là một phương pháp phát triển mới hoàn toàn Nó cho phép lập trình viên phát triển về phần cứng, kỹ thuật truyền thơng, tối ưu hố, giao tiếp với Internet là những vấn đề nóng bỏng của nền công nghiệp phần
mềm hiện đại Một điều khác nữa là tránh đụng độ phần cứng khi PC chuyển
từ kiến truc 16 bit sang 32 bit va hai kiến trúc này được theo dõi và phụ
thuộc vào nên máy tính mà khách hàng sử dụng vào những năm tới hoặc lâu
Trang 343-So sanh ADO va ADO.NET
Để hiểu sự khác nhau giữa ADO và ADO.NET ta so sánh các đặc điểm của chúng để thấy được sự tối ưu của ADO.NET với ADO trong Visual
Basic6.0.Sự khác nhau đó có thể phân định trong bảng dưới đây: Bảng so sánh ADO và ADO.NET Đặc điểm ADO ADO.NET Dữ liệu thường trú trong bộ nhớ Sử dụng đối tượng Recordset giống như một bảng dữ liệu Sử dụng DataSet có thể bao hàm
một hay nhiều bảng hiện thực bởi đối tượng DataTable Quan hệ (Relationship) giữa Kết nối dữ liệu giữa các bảng bằng phát
Hỗ trợ đối tượng DataRelation dé
kết nối nhiều mẩu tin trong đối
hai hay nhiều bảng | biểu Join và kết quả | tượng DataTable này với đối tượng trả về một bảng dữ | DataTable khác
liệu
Truy cập Dữ liệu Duyệt mẩu tin tuần tự | Cho phép duyệt không tuần tự nhiều
trên Recordset mẩu tin trên bảng dưc liệu, cho phép định hướng một số mẩu tin trên bảng này và một số mẩu tin
trên bảng khác
Ngắt kết nối Đối tượng Recordset hỗ trợ bởi đối tượng
Connection gọi OLE DB Provider để kết nối với cơ sở dữ liệu Để kết nối cơ sở dữ Basic.NET DataSetCommand liệu Visual sử dung đối tượng Lập trình Sử dụng đối tượng Connection để thực
hiện chuyển giao câu Sử dụng đặc tính của XML, tự mô tả
đữ liệu, đọc và ghi dữ liệu dễ dàng
Trang 35
lệnh Chia sẻ dữ liệu giữa các tầng hay phần sau khi ngắt kết nối Dùng COM để sắp xếp và chuyển giao dữ liệu(COM chuẩn) Chuyển giao DataSet với tinXML tập Chuyển giao dữ liệu qua Firewall Firewall là cấu hình ngăn ngừa yêu cầu của người dùng ở mức hệ thống như đối COM tượng hay Banary
Không có vấn đề trở ngại, vì đối tượng DataSet của ADO.NET dử dụng tập tin dạng văn bản XML có
thể truyền qua Eierwall
Hiệu lực
Cơ sở dỡ liệu khoá,
Cơ sở dỡ liệu kết nối
trong thời gian dài Ngắt kết nối cơ sở dữ liệu
Một sự khác biệt thứ hai xuất phát từ đối tượng connection trong ADO va ADO.NET Trong connection cua ADO.NET, không có thuộc tính CursorLocation
Trong ADO.NET không có khái niệm Cursor, thay vào đó đối tượng DataSet
được xem như một con trỏ tính và đối tượng DataReader như một con trỏ ADO chỉ đọc
Trong thực tế ADO.NET không hỗ trợ cursor trên phía Server, đó là
một ngoại lệ, tuy nhiên đối tượng DataReader dử dụng để đọc từng mẩu tin,
nhưng để xử lý trên Server thì ADO vẫn còn khả dụng
Một ứng dụng có thể thiết lập một tập kết quả ngay trong quản trị xử
lý ứng dụng (Client Side) hay trên nguồn đữ liệu phía máy chủ (Server side)
Trang 36Với con trỏ này bạn nên sử dụng một cách cẩn thận, bạn không thể sử dụng cuộn hay cập nhật dữ liệu trên Server side cursor, tuy nhiên để làm điều này
bạn phải sử dụng Stored Procedure để thực hiện các thao tác trên Server
4- Các đối tương của ADO.NET 4.1- Đối tương DataSet
Đối tượng DataSet là một đối tượng của ADO.NET, cung cấp cách thông thường nhất để trình bày và thao tác dữ liệu Điều quan trọng ở đây là bạn không nên nghĩ đối tượng này như một cơ sở dữ liệu mà chúng là một đối tượng nắm bắt dữ liệu từ bất kỳ nguồn dữ liệu khác
Bạn không chỉ sử dụng đối tượng DataSet để truy vấn dữ liệu mà còn
di chuyển dữ liệu bất kỳ thời điểm nào,sau đó gửi dit liéu thong qua XML
Tập dữ liệu được định dạng XML, và cũng có thể là một đối tượng nhị phan, và có thể đọc hay ghi XML, trong thực tế là XML
Trong trường hợp phân phối dữ liệu trên mạng, vì bạn có khái niệm
Trang 37(Hinh 3) : ADO.NET va XML trong NET Framework
Đối tượng DataSet trong ADO.NET, được định nghĩa trong không gian tên System.Data, không gian tên này chứa đựng các lớp và phương thức với
mục đích thao tác dữ liệu trong đối tượng DataSet, trong không gian tên System.Data bao gồm các đối tượng :
Đối tượng Diễn giải
DataSet Bộ nhớ chứa đựng dữ liệu
DataTable Dùng để truy vấn dữ liệu từ đối tượng
Tables Collection cùng với đối tượng đối tượng
DataTable và DataSet
DataRow Dùng để truy vấn mẩu tin từ đối tượng Rows Collection
cùng với đối tượng DataRow và DataTable
4.2- Đối tượng DataTable:
Để ADO.NET làm việc trên cơ sở dữ liệu, bạn cần phải sử dụng một số đối tượng khác, trong đó có DataTable, để thêm một đối tượng DataTable
từ nguồn dữ liệu như MS SQL Server 2000 chẳng hạn, hay tạo một
DataTable trong đối tượng DataSet, bạn cần tham khảo một số thông tin của đối tượng này trong bảng sau:
Đối tượng Diễn giải
Coulmns Truy cập dữ liệu từ cột như tập hợp dữ liệu, trả về DataColumn Collection
Rows Truy mẩu tin trong đối tượng DataTable trả về DataRow Collection của đối tượng DataRow
ParentRelation | Trả về DataRelation Collection của tất cả các quan hệ giữa các
Trang 38bang Constraints Tra vé DataSet cia DataTable trực thuộc PrimaryKey Gan hay lấy khoá chính của bảng dữ liệu trong mảng cột của bảng
4.3- Đối tương DataSet và XML
Đối tượng DataSet có thể sử dụng bất kỳ loại dữ liệu, chế độ mở của
chúng thông qua định dạng XML Như đã trình bày ở phần trên, DataSet có khả năng đọc và ghi dữ liệu trên chính chúng và lược đồ như XML
Tuy nhiên, khả năng này cho phép bạn tạo hay cập nhật dữ liệu trên tập dữ liệu sử dụng XML, hay giải pháp XML như trong SQL Server 2000
XML là khái niệm cơ bản để trình bày đữ liệu văn bản, điều nàycũng có nghĩa bạn đã truy cập thông qua Firewall, không giống như các dữ liệu nhị phân khác (như đối tượng COM, COM+), Firewall (bức tường lửa trong
hệ thống mạng Internet) có thể xem xét dữ liệu XML và nhận dạng chúng
như văn bản
Xuất phát từ khái niệm này, dữ liệu dạng XML có thể truyền và đi ra
ngoài thông qua Firewall bằng port 80 (Port chuẩn của Internet HTML)
Trong thực tế, bạn có thể kết hợp giữa XML và HTML, để có thể chuyển đổi thông qua hệ thống Internet Đây là một cơ chế được biết dưới
tên SOAP(Simple Object Access Potocol) Sau đây là bảng phương thức của đối tượng DataSet
Phương thức Diễn giải
ReadXML Đọc lược đồ XML và dữ liệu vào DataSet
ReadXMLSchema Doc lược đồ XML vao DataSet
WriteXML Ghi tap tin XML tir DataSet
Trang 394.4- Đối tượng DataView
Sử dụng đối tượng DataView,bạn có thể tạo ra nhiều Viewtừ các bảng
dữ liệu cho trước Chẳng hạn có bang Employers với hai cột department và skills Để tạo hai View khác nhau, một là department View và skills View (ý
tưởng tương tự như trong View của SQL Server) Đối tượng DataView được thiết kế cho Windows Forms và ngay cả Web Form như trong bảng sau:
Bảng thông tin của đối tượng DataView
Thuộc tính Diễn giải
Table Gán hay lấy nguồn dữ liệu từ Table cho view
Sort Nhận hay thiết lập sắp xếp dữ liệu tăng hay giảm dần
RowFilter Gan hay thiét lap biéu thức điều kiện lọc dữ liệu
RowStateFilter Gán hay nhận trạng thái của bộ lọc bao gồm các giá trị
enumeration như CurrentRows, Deleted,
ModifiedOriginal, New, originalRows, Unchanged
5- Visual Basic.Net mot ngôn ngữ hướng đối tương đầy đủ
Nếu là một lập trình viên Visual Basic, bạn có thể nghĩ rằng hiện bạn
vẫn không cần phải lập trình hướng đối tượng Visual Basic cổ điển đã đáp
ứng đủ cho những nhu cầu của bạn bạn có thể làm hầu hết những gì bạn cần chỉ với một ít kiến thức về ngôn ngữ tuy nhiên, rất nhiều lập trình viên lại
cảm thấy rằng việc biến chuyển từ kiểu lập trình truyền thống sang Net ít
nhất là sẽ không phức tạp so với giai đoạn chuyển từ lập trình Dos sang Windows Một điều mới đó là Visual Basic hoàn toàn mang tính mang tính hướng đối tượng một mô hình lập trình thế hệ mới
Trang 40Visual Basic 5.0, Visual Basic6.0 không may nhiều nghiên cứu cho thấy rằng
trên 50% những lập trình viên Visual Basic đã xem nhẹ chúng mặc dù vậy chúng ta khó có thể bỏ qua và cách tiếp cận về lớp và đối tượng ở Visual
Basic Net được nữa
Tương tự như Java, mọi thứ trong Visual Basic Net đều là đối tượng
Không như lập trình với những phiên bản trước của Visual Basic, lập trình với Visual Basic Net đòi hỏi một hiểu biết không chỉ về cơ cấu mà còn về ngôn ngữ và cơ sở hạn tầng của các gói thư viện (assembly).Net kết hợp
với nhau
Visual Basic của phiên bản trước đây được thiết kế đơn giản và tính toán đơn giản đã chứng minh cho sự thành công lạ thường của Visual Basic
Với Visual Basic, việc tạo các ứng dụng với Button, TextBox, image rất dễ dàng
Tuy nhiên các khả năng hướng đối tượng như kế thừa thì không phải là thành phần của ngôn ngữ Visual Basic Net loại bỏ một số tính đơn giản của
Visual Basic để trở thành mạnh mé hon Visual Basic.Net cho phép phat triển
kết nối hàng loạt các ngôn ngữ hướng đối tượng trong sáng khác để điều