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.
51 trang |
Chia sẻ: lylyngoc | Lượt xem: 2442 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng hệ thống thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
f)Hồi đáp thông 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.
Hệ thống hỗ
trỡ thương
mại trực
tuyến
Khách hàng
Đại lý
Nhân viên
Ban giám đốc
6
Biểu đồ phân cấp chức năng của hệ thống
Hỗ trợ thương mại trực
tuyến
Quản lý đại lý
Gửi báo giá
Nhận đơn hàng
Quản lý tin
tức
Cập nhật tin
tức
Kiểm duyệt tin
Quản lý sản phẩm
Cập nhật sản phẩm
Cập nhật giá
Quản trị hệ
thống
Cập nhật người
dùng
Phân quyền
Đăng tin Tra cứu sản phẩm
Tra cứu tin tức
7
Sản phẩm
Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý sản
phẩm
Thêm và
cập nhật
Nhân viên bán hàng
Thêm, xoá,sửa đổi một sản
phẩm
Tìm kiếm
sản phẩm
Khách hàng
hê và
c p nh t
Các yêu cầu tìm kiếm
Kết quả tìm
8
Giá đại lý
Đại lý
Sản phẩm Giá đại lý
Đơn hàng
Cập nhật
giá đại lý
Đặt hàng
Đại lý
Đặt
hàng
và
sửa
đơn
hàng
Đại lý
Đơn
hàng
9
Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý đại lý
Bản tin
Thêm, xoá và sửa bản tin
Thêm và
cập nhật
Nhân viên
Kiểm duyệt
và đăng tin
Khách hàng, đại lý
người xem
Cung cấp tin
Tìm kiếm tin
tức
Khách hàng
Yêu
cầu
tìm
kiếm
Kết
quả
tìm
kiếm
10
Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý tin tức
Người dùng
Đăng ký truy cập hệ
Nhận đăng ký
người dùng dùng
Khách hàng
Cấp quyền
truy cập
Khách hàng
Tên
truy
cập,
Mật
khẩu
11
Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý người dùng
4)Xác định thực thể và quan hệ giữa các thực thể
Nhóm hàng(NHOMHANG)
Khách hàng(KHACHHANG)
Sản phẩm(SANPHAM)
Nhà cung cấp(NHACC)
Đơn hàng(DONHANG)
Nhân viên(NHANVIEN)
Quốc gia(NUOC)
Bản tin(BANTIN)
Khách hàng
Số hiệu KH
Tên khách hàng
Địa chỉ
Số điện thoại
Số Fax
Email
Đơn hàng
SH Đơn hàng
SH Khách hàng
Ngày ĐH
Sản phẩm
Mã SP
Tên hàng
Đặc tính
Giới thiệu
Đơn vị tính
Đơn giá
Chi tiết đơn
hàng
SH Đơn hàng
Mã hàng
Số lượng
Đơn giá
Giá đại lý
SH khách hàng
Mã hàng
Đơn giá
Nhóm hàng
SH Nhóm hàng
Tên nhóm hàng
Đặc tả
Quốc gia
Mã nước
Tên nước
12
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.
Bản tin
Tiêu đề bản
tin
Trích dẫn
Ngày nhập
Tóm tắt
Nội dung
Cấp độ
Nhân viên
Số hiệu nhân
viên
Tên nhân viên
Phòng ban
Chức danh
Địa chỉ
Số điện thoại
13
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ệ 1-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ế chi 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 Mã nhóm
Ten_nhom Nvachar 50 Tên nhóm
Mo_ta Nvarchar 200 Mô tả nhóm sản phẩm
Bảng sản phẩm
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
Giơi_thieu Nvarchar 200 Lời giới thiệu
Dac_tinhVt Nvarchar 200 Đặc tính viết tắt
Dac_tinhDd Nvarchar 200 Đặc tính đầy đủ
Anh Image 16 Ảnh sản phẩm
Gia Float Giá của sản phẩm
Bao_hanh Nvarchar 50 Bảo hành
Kieusp Int Là sản phẩm mới
Bảng tin tức
Tên trường Kiểu dữ liệu Kích thức Mô tả
Tieu_de int 4 Mã nhóm
Trich_dan Nvachar 50 Tên nhóm
Noi_dung Nvarchar 200 Nội dung tin
Anh Image ảnh của tin
Dang Bit Trạng thái của tin
14
Kieu_tin bit Kiểu của tin tức là
quảng cáo hay bản tin
Thông tin khách hàng
Tên trường Kiểu dữ liệu Kích thức Mô tả
Ten_dd int 4 Tên đầy đủ
Dia_chi Nvachar 50 Địa chỉ
Tel Nvarchar 50 Nội dung tin
Fax Nvarchar 50 Số fax
Email Nvarchar Địa chỉ Email
Thông tin nhà 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 đầy đủ
Ma_nuoc Int Mã quốc gia
Dia_chi Nvachar 50 Địa chỉ
Tel Nvarchar 50 Nội dung tin
Fax Nvarchar 50 Số fax
Email Nvarchar Địa chỉ Email
Thông tin nhà 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 tin nhân viên
Tên trường Kiểu dữ liệu Kích thức Mô tả
15
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 Số hiệu đơn hàng
Ngay_dh Nvachar 50 Ngày đơn hàng
IDKhach_hang Nvarchar 50 Mã khách hàng
Chi tiết đơn hàng
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
Don_gia Float 50 Đơn giá sản phẩm
Giá đại lý
Tên trường Kiểu dữ liệu Kích thức Mô tả
Ma_kh Int 4 Mã khách hàng
Ma_sp Int 50 Mã sản phẩm
Don_gia Float 50 Đơn giá sản phẩm
16
CHƯƠNG II
CÔNG NGHỆ TRONG XÂY DỰNG HỆ THỐNG
I)Tổng quan về mạng Internet và mô hình Client -Server
Theo cách ngắn gọn, Internet là một mạng 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
17
đó. 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
cục bộ
Tuy 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 “, “ODBC 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
18
Ta lượt qua một số khái niệm cơ bản:
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
Điều khiển ActiveX: Là một thành phần thường có giao diện
(nhưng không phải toà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ế.
ActiveX Server còn gọi là thành phần mã hoá ActiveX. Trong
VB4.0,nó đượ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
phầnphân tán – Distributed Compnent Object Model).
2.1Cấu trúc Client / Server three Tier.
Những nguyên tắc mà người lập trình phải tuân thủ:
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.
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.
ý 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 .
ý 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
ý 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.
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).
Cấu trúc 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.
19
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 phần 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 đó 1 máy là Winnt Server
chạy Microsoft SQL Server, đây là Server. Máy Client là Win95, hoặc
Win98, hoặc 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)
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
20
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:
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:
Server cơ sở dữ liệu chạy trên hệ điều hành không hỗ trợ ActiveX .
Ta muốn giữ gìn năng lực của Server cơ sở dữ liệu
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.
Máy Server
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
21
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:
*ứng dụng Client không 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ở dữ 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.
Khái quát về công nghệ xây dựng Web động ASP(Active Server Page)
Cơ chế hoạt động Web tuân theo mô hình Client Server. Trình khách gửi yêu
cầu đến trình chủ xử lý và trả kết quả về cho trình khách hiển thị. Trình chủ
trong các ứng dụng Web là Web Server trình khách thường là Web
Browser(trình duyệt).
Mô 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 Data Store
22
DD
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(ASP.DLL). Trang được đọc, diễn dịch và thực thi các lệnh kịch bản.
Kết quả sau đó sẽ được ASP.DLL sẽ gửi lại trình chủ để trả về theo yêu cầu
của máy khách.
Máy khách Page.asp
Browser
Web Server
ASP.DLL
Asp.dll
ISAPI
Component.dll
Data
Source
23
Response
Một ưu điểm của thiết kế ứng dụng Web bằng 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.
- Trong phiên bản ASP trước kia, bạn hầu như phải viết mã để quản lý
mọi chuyện. Bạn muốn quản lý trạng thái của các trường nhập liệu
trong FORM, cần phải viết mã. ASP.NET thực sự là mô hình đối
tượng thành phần loại bỏ nhiều công đoạn viết mã mà lập trình viên
WEB 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.
24
- 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: Tập các điều khiển đa năng: Các điề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(grid),
bảng (table), Khung nhìn(listView)vv. Rich Controls cho phép bạn
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.
- Cờu hình và phân phối: đơn giản và dễ dàng với các file cấu hình theo
địch dạng XML. Các thành phần đối tượng không cần đăng ký với hệ
thố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.
25
- Tự động quản lý trạng thái của đối tượng Session và Application: Bạn
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.
- Tuỳ 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.
- Một tập 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
diện bắt mắt và rất độc đáo.
- Điề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
26
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ư, đượ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
..
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,
file, hoặc chương trình của họ ở mọi lúc, mọi nơi trên cấu hình phần cứng và
27
thiết bị. Họ không cần biết nơi nào chứa thông tin hoặc chi 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 vụ “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.
28
Vissual Basic truyền thống là ngôn ngữ lập trình mạnh và tương đối
đơn giản.
Trướ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) của 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 hoá , 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ôĩ 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.
29
Khi lập trình với Visual Basic .Net, hầu hết các ứng dụng có thể được
phát triển khong cần cài đặt; như khong phải viết câu lệnh dài đăng ký với
Registry, không phải sử dụng Regedit32 để đăng ký các thành phần Com,
cá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 File 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 dầ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 quản 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.
30
Đoạn mã mà bạn viết hướng đến một kiến trúc đích cụ thể gọi là mã
được quản lý(mannaged code). CLR quản lý đoạn mã ở mức thấp nhất, kết
hợp khả năng sử dụng đồng thời nhiều ngôn ngữ đan xen nhau (cross
language). Tích hợp 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 người dùng định nghĩa, các lớp Form, các điều khiển trực quan và các
giao diện hoàn toàn giống như các ngôn ngữ khác.Cờu trúc chung này cho
31
phép gọi một lớp đối tượng trong một ngôn ngữ .NET khác. Ví dụ ta gọi lớp
đối tượng của C++ trong Visual Basic cũng tương tự như gọi lớp đối tượng
Visual Basic từ C++. Hình 1 cũng cho biết ta có thể sử dụng Visual Studio
.Net kết hợp với môi trường phát triển (Intergrated Development Enviroment
– IDE) để 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.
(Hình 1)
*Tiếp theo mức CLS là web services(các dịch vụ web) và 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
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
32
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.
ứng dụng tạo web form chỉ 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 là nơi Windows dụng võ. 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 thị
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 Library) 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 bản (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
33
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 nào có hỗ trợ.NET .Framework. CLR là một tập hợp của nguồn tài
nguyên chuẩn mà bất kỳ chương trình .NET 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ị xoá 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
34
(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 hoặc sử dụng sai kiểu dữ liệu như trong C hay Visual Basic
trước đây. Các đoạn mã “ngớ ngẩn” hoặc làm ảnh hưởng đến hệ thống
hoặc gây tràn bộ đệ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.
(Hình 2)
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)
Trình bảo mật Bộ gỡ rối
Trình biên dịch tức
thời ngôn ngữ IL
Quản lý đoạn
code
Bộ thu gom rác
Trình nạp các lớp vào để xử lý
35
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à
theo dõi của .NET ” với CLR. Managed code hỗ trợ những thông tin
Runtime cần thiết khi chương trình được thực thi, nó cung cấp dịch vụ như
quản lý vùng nhớ, tích hợp khả năng đa ngôn ngữ, bảo mật việc truy cập
đoạn mã, kiểm soát chu trình sống của tất cả các đối tượng một cách tự
động.
Nhữ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 Namespace 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 diệ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.
36
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
hoá, 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 bít và 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 hơn nữa, khi kiến trúc 64 bit 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 sẽ trở nên
khó khăn hơn nếu không có nền .Net.
3-So sánh ADO và 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
hai hay nhiều bảng.
Kết nối dữ liệu giữa
các bảng bằng phát
biểu Join và kết quả
trả về một bảng dữ
liệu.
Hỗ trợ đối tượng DataRelation để
kết nối nhiều mẩu tin trong đối
tượng DataTable này với đối tượng
DataTable khác.
Truy cập Dữ liệu. Duyệt mẩu tin tuần tự
trên Recordset.
Cho phép duyệt không tuần tự
nhiều mẩu tin trên bảng dưc liệu,
cho phép định hướng một số mẩu
37
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ữ liệu Visual
Basic.NET sử dụng đối tượng
DataSetCommand.
Lập trình Sử dụng đối tượng
Connection để thực
hiện chuyển giao câu
lệnh.
Sử dụng đặc tính của XML, tự mô
tả dữ liệu, đọc và ghi dữ liệu dễ
dàng.
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 tập
tinXML.
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
tượng COM 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 Fierwall.
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 và ADO.NET. Trong connection của ADO.NET, không có thuộc tính
CursorLocation.
38
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 dữ liệu phía máy chủ (Server side).
Cursor trên Client side được hỗ trợ bởi đối tượng DataReader của
ADO.NET.
Vớ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 dữ liệu thông qua XML.
Tập dữ liệu được định dạng XML, và cũng có thể là một đối tượng nhị
phân, 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
trình bày dữ liệu bằng XML, module Target sẽ nhận XML và sử dụng chúng
39
như cách tốt nhất để biểu diễn khối dữ liệu,tham khảo hình dưới đây,dễ dàng
nhận thấy sự kết hợp giữa ADO.NET và XML trên .NET Framework
(Hình 3) : ADO.NET và 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.
Microsoft.NET Framework
Web Service User Interface
Data và XML ADO.NET XML .. ..
Case Classes
Common Language runtime
40
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
bảng
Constraints Trả về DataSet của DataTable trực thuộc
PrimaryKey Gán 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 dữ 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.
41
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 Đọc lược đồ XML vào DataSet.
WriteXML Ghi tập tin XML từ DataSet.
WriteXMLSchema Ghi lược đồ XML từ DataSet.
4.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ó bảng 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 Gán hay thiết lập 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ị
42
enumeration như CurrentRows, Deleted,
ModifiedOriginal, New, originalRows, Unchanged.
5- Visual Basic.Net một 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.
Khái niệm về lớp (Class) và các đối tượng Object được giới thiệu lần
đầu trong phiên bản Visual Basic 4.0 và tiếp tục phát triển ở phiên bản
Visual 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.
43
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ẽ hơn. Visual Basic.Net cho phép phát
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 khiển tác vụ lập trình của thế kỷ 21
CHƯƠNG III
PHỤ LỤC
I)Một số trang giao diện chính
1)Trang chủ
Trang này chủ yếu tập trung về việc đăng tải các tin tức công nghệ, kinh tế,
xã hội và các sản phẩm của công ty.
44
2)Trang chi tiết sản phẩm theo nhóm
Trang này tập trung vào việc giới thiệu các sản phẩm theo nhóm như
Main,Cpu...
45
3)Trang nhập sản phẩm mới
46
4)Trang nhập bản tin mới
47
5)Trang dùng cho các đại lý để đặt hàng
48
6)Trang để các đại lý xem lại những mặt hàng đã đặt
49
6)Trang quản lý việc đăng các tin tức lên mạng
50
8)Trang thống kê sản phẩm
51
Các file đính kèm theo tài liệu này:
- thuongmai_dt_48_0954.pdf