Tìm hiểu Microsoft ASP.NET
Mục Lục
Lời nói đầu.............................................................................................4
Phần I: Các kĩ thuật tạo trang tài liệu................................................5
1.1 Trang tài liệu Internet HTML........................................................5
1.2.Các khái niệm cơ bản:...................................................................6
1.2.1 Web browser:...........................................................................6
1.2.2 Web server:..............................................................................6
1.2.3 Phân loại Web..........................................................................7
1.3 Các trình CGI (Common Gateway Interface)................................7
1.4 Giao diện của lập trình ứng dụng Internet ISAPI.........................8
1.5. ASP...............................................................................................8
Phần II : ASP.NET..............................................................................11
2.1. Bộ Khung Dịch Vụ Web Thế Hệ Kế Tiếp(NGWSF)..................11
2.1.2 Tìm Hiểu Về Khung Nền NGWSF......................................12
2.1.3 Mô hình .NET Framework...................................................13
2.1.4 Ngôn Ngữ Trung Gian Phổ Dụng.........................................14
2.1.5 Cở Sở Hạ Tầng Của ứng Dụng Web.....................................15
2.2 Giới thiệu ASP.NET.....................................................................16
2.2.1 Tại sao ta lại quan tõm và phỏt triển mạng với ASP.NET.....16
2.2.2 Tóm tắt các đặc điểm chính trong ASP.NET........................18
2.3 Những điểm khác biệt của ASP so với ASP.NET....................22
2.3.1 Ưu điểm lớn nhất của ASP.NET........................................25
2.4 ASP.NET Web form....................................................................25
2.4.1. giới thiệu về ASP.NET Web form........................................25
1
Tìm hiểu Microsoft ASP.NET
2.4.2 Các thành phần của Web form..............................................26
2.4.3 Mô hình Web Form............................................................29
2.4.4 Bộ khung Web Form là một mô hình đối tượng................29
2.4.5 Quá trình xử lý của trang Web form..................................30
2.4.6 Các chặng trong quá trình xử lý Web Form.......................32
2.4.7 Mô hình sự kiện của Web Form.........................................33
2.4.8 Các sự kiện Application và Session...................................34
2.4.9 HTML server control.........................................................36
2.4.10 ASP.NET server control...................................................37
2.4.11 Các điều khiển đa năng khác...........................................42
2.4.13 ASP.NET User Web control.............................................44
2.4.13.1 Cấu trúc của User Control............................................44
2.1.13.2Tạo Web User Control:..................................................45
2.5 Truy xuất dữ liệu với ADO.NET................................................47
2.5 Mục đích thiết kế cho ADO.NET............................................48
2.5.1Giữ lại những hiểu biết về ADO.........................................48
2.5.2 Hỗ trợ mô hình lập trình N-Tier.........................................48
2.5.3 Tích hợp với XML.............................................................49
2.5.4 Cấu trúc của ADO.NET.....................................................49
2.5.5 Lựa chọn giữa DataReader hay DataSet............................51
2.5.6 The SQL Server .NET Data Provider................................52
2.5.7 OLE DB .NET Data Provider............................................53
2.5.8 Nền tảng cần thiết cho ADO.NET:....................................54
2
Tìm hiểu Microsoft ASP.NET
2.6 Truy cập Dữ liệu với ASP.NET...............................................54
2.6.1 Ràng buộc dữ liệu với Repeater Control...........................55
2.6.2 Ràng buộc dữ liệu với DataGrid server control.................57
2.7. Dịch vụ Web...............................................................................58
2.7.1 Sự cần thiết của dịch vụ Web................................................58
V.7.2 Vậy dịch vụ Web là gì?.........................................................59
2.7.3 Cách hoạt động của dịch vụ Web..........................................61
2.8 ASP.NET với dịch vụ Web......................................................61
2.8.1 Định nghĩa một dịch vụ Web.............................................61
2.8.2 Định nghĩa một phương thức cho dịch vụ Web.................62
2.8.3 Sử dụng dịch vụ Web.........................................................63
2.9 Bảo mật ứng dụng Web............................................................64
Phần III: Xây dựng một ứng dụng với ASP.NET.............................67
3.1 Mục đích:.....................................................................................67
3.2Thiết kế Cơ sở dữ liệu..................................................................73
3.2.1 Định nghĩa các yêu cầu.........................................................73
3.2. Sơ đồ phân rã chức..................................................................74
3.2.3. Mô hình logic.......................................................................75
3.2.4Mô hình Vật lý.......................................................................77
3.2.5 Tạo các stored procedure cho ứng dụng................................79
3.3 Mô hình đa tầng của ứng dụng...................................................83
3.3.1 Cài đặt đối tượng xử lý trong tầng logic nghiệp vụ..............84
3.3.2 Cài đặt trang ASP.NET..........................................................85
3
Tìm hiểu Microsoft ASP.NET
Danh mục tài liệu tham khảo.............................................................85
Kết luận.................................................................................................85
LỜI NÓI ĐẦU
Thế hệ kế tiếp của Internet sẽ như thế nào? Nhiều người trong chúng ta
sẽ hình dung một thế giới trực tuyến trong đó các máy PC, server, thiết bị
thông minh và các dịch vụ trên nền Internet có thể tương tác khăng khít với
nhau. Các doanh nghiệp sẽ có thể chia xẻ dữ liệu, tích hợp các quá trình
nghiệp vụ cũng như sức lực để đem lại các giải pháp tổng hợp cho khách
hàng. Và thông tin mà ta hoặc doanh nghiệp của ta cần đến sẽ luôn luôn sẵn
sàng bất cứ đâu và trên bất kỳ một nền tảng hoặc một ứng dụng nào.
Đó cũng là lý do mà Microsoft đưa ra .NET Framework, nền tảng làm
thay đổi tận gốc kiểu lập trình truyền thống, làm cho tầm nhìn trên hoàn toàn
có thể đạt tới. Cùng với ASP.NET công việc lập trình máy chủ giờ đây dễ
dàng hơn bao giờ hết và không phải học thêm ngôn ngữ mới
Trong khuôn khổ của một đồ án tốt nghiệp, đồ án sẽ tập trung vào việc
cung cấp một cái nhìn tổng quát về .NET Framework và ASP.NET mà không
đi sâu vào tìm hiểu thủ thuật lập trình.
Với một ứng dụng nhỏ với ASP.NET và cơ sở dữ liệu Oracle chỉ để giúp
hiểu sâu hơn về ASP.NET chưa thực sự là một ứng dụng kinh doanh hoàn
chỉnh.
4
Tìm hiểu Microsoft ASP.NET
Phần I: CÁC KĨ THUẬT TẠO TRANG TÀI LIỆU
1.1 TRANG TÀI LIỆU INTERNET HTML.
Sự ra đời của Internet đã tạo một môi trường thông tin tuyệt vời nhất từ trước
tới nay cho nhu cầu học hỏi và trao đổi thông tin của con người. Internet hoạt
động dựa trên sự liên kết của hàng ngàn máy chủ và hệ thống mạng trên khắp
thế giới. Ban đầu người ta chỉ có nhu cầu lấy các tài liệu và đọc chúng bằng một
chương trình ứng dụng mà ta hay goị là browser. Tài liệu được lưu trên máy chủ
nào đó, máy khách kết nối vào và lấy về theo một giao thức mạng.
Tài liệu ở đây được nói đến tất cả những gì chứa đựng thông tin mà con
người có thể hiểu được bao gồm các đoạn văn bản, hình ảnh, âm thanh, video..
Và các trang tài liệu đầu tiên trên Internet đã dùng ngôn ngữ định dạng HTML
(Hyper Text Markup Language- Ngôn ngữ đánh dấu siêu văn bản).
HTML xoay quanh khái niệm chủ yếu gọi là tiêu thức (tag) làm nền tảng. Để
tạo ra một siêu văn bản ta có thể dùng bất cứ một trình soạn thảo nào như NC,
EDIT.. của DOS ,NotePad của Windows.. Và chỉ cần nắm vững các tiêu thức
của HTML và chú ý khi ghi lên đĩa thì ghi dưới dạng *.html hay *.htm.
Toàn bộ các tag của HTML đợc chia ra thành 7 nhóm thành phần như sau:
Từ khoá xác lập cấu trúc tài liệu.
Từ khoá tạo điểm móc nối.
Từ khoá định dạng khối.
5
Tìm hiểu Microsoft ASP.NET
Từ khoá khai báo danh sách.
Từ khoá khai báo loại thông tin và định dạng mẫu chữ.
Từ khoá đưa hình ảnh vào tài liệu.
Từ khoá lập mẫu biểu bảng.
Để hiểu được các trang tài liệu HTML ta cần có một chương trình ứng dụng
có thể hiểu được quy ước của các tag đó. Ứng dụng này chính là trình duyệt.
Trình duyệt sau khi nhận được trang tài liệu HTML nó sẽ phân tích các thẻ và
hiển thị nội dung cuả các thẻ này theo quy ước. Từ khi HTML ra đời cho đến
nay đã có rất nhiều trình duyệt phục vụ việc hiển thị tài liệu.
1.2.CÁC KHÁI NIỆM CƠ BẢN:
1.2.1 Web browser:
Web browser là công cụ truy xuất dữ liệu trên mạng, là phần mềm giao diện
trực tiếp với người sử dụng. Nó có khả năng yêu cầu thông tin từ Web server và
các dịch vụ khác theo nhu cầu của người sử dụng.
+ Netsape Navigator
+ Microsof Internet Explorer
+ Lynx ( Unix )
Phần lớn các Web browser đều hỗ trợ một danh sách các đặc trưng với khả
năng xử lý với các file*.HTML, *.GIF, JPG... Nhiều Web browser có khả năng
xử lý với Java và JavaScvipt...
1.2.2 Web server:
Bước đầu của công nghệ Web, Web server chỉ đơn giản là lấy toàn bộ nội
dung của file dữ liệu trên máy chủ để trả về cho trình khách. Tuy nhiên, 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 những yêu cầu của trình khách,
thực hiện các thao tác biến đổi trước khi đưa tới Web browser.
6
Tìm hiểu Microsoft ASP.NET
1.2.3 Phân loại Web
Theo quan điểm của Martin Rennhackkawp (Tạp chí DBMS 5/97) cho
rằng có thể phân loại Web thành 3 loại: Trang web tĩnh (static), Form pages
và web động (dynamic).
+ Trang Web tĩnh.
Tài liệu được phân tán rất đơn giản từ hệ thống file của Server. Web
Server sẽ tiến hành tìm kiếm và xác định đúng vị trí của các file đó và gửi trả
lại kết quả cho Client. Việc sử dụng trang Web tĩnh có ưu, nhược điểm rõ ràng.
Ưu điểm: Khi cơ sở dữ liệu nhỏ thì việc phân phát dữ liệu có hiệu quả.
Các yêu cầu từ Client được đáp ứng nhanh chóng.
Nhược điểm: Không năng động, không đáp ứng nhu cầu thông tin, vì vậy
không đáp ứng được những yêu cầu phức tạp của người sử dụng.
+ Form pages.
Về bản chất form pages là trường hợp đặc biệt của trang web tĩnh. Nó
cho phép nhận được phản hồi từ phía người sử dụng thông qua form.
+ Web động.
Trang web này có thể thao tác với cơ sở dữ liệu để đáp ứng nhu cầu phức
tạp của người dùng. VD: người dùng cần có những thông tin thay đổi hàng
ngày thì việc thao tác với cơ sở dữ liệu bên ngoài là cần thiết. Có nhiều cách có
thể truy cập đến cơ sở dữ liệu bên ngoài. ISAPI ( Internet Server Aplication
Programming Intefaces), ASP ( Active Server Pages) hay Java, CGI ( Common
Gateway Interface).
MICROSOFT cung cấp trình chủ web server (IIS: Internet Information
Servce) cho phép sử dụng cách thức tạo web động bằng CGI, ISAPI và ASP.
1.3 CÁC TRÌNH CGI (COMMON GATEWAY INTERFACE).
Các trình CGI thường được viết bằng visual C++ ,Delphi ,Visual basic.
7
Tìm hiểu Microsoft ASP.NET
(các trình biên dịch file thực thi trên môi trường windows) chúng được
dịch ra file thực thi .exe và đặt trong thư mục /cgi-bin của trình chủ IIS . Mỗi
khi nhận được yêu cầu của khách hàng web server IIS sẽ gọi đến chương trình
CGI ,chuyển giao các cầu từ trình khác cho CGI xử lý. Hoàn tất quá trình xử lý
CGI sẽ trả hết lại hết cho web server và web server lại trả cho khách dưới dạng
thể hiện HTML. Quá trình gọi và xử lý CGI là hoàn toàn trong suốt
(transparent) đối với khách hàng do các trình CGI là chường trình thực thi nhị
phân đòi hỏi các ngôn ngữ biên dịch . Trình CGI sau khi xây dựng muốn nâng
cấp đòi hỏi phải biên dịch lại . Một số trình CGI cho phép người sử dụng thêm
vào một số lệnh điều khiển , các lệnh điều khiển này được đặt ngay trong tài
liệu (chúng được gọi là các lệnh Script) CGI sẽ đọc và biên dịch thực thi trục
tiếp các script này . Mặc dù vậy cơ chế CGI tỏ ra châm chạm và kém hiệu quả .
Mỗi lần nhận được yêu cầu của trình khách , web server, phải nạp lại trình
CGI vào bộ nhớ, xử lý nó sau đó giải phóng và thể hiện (instance) của cùng
trình CGI cho mỗi yêu cầu riêng biệt trong khi mã lệnh xử lý của chúng như
nhau.
1.4 GIAO DIỆN CỦA LẬP TRÌNH ỨNG DỤNG INTERNET ISAPI
ISAPI (Internet Server Application Programing Interface) gắn liền với
trình chủ IIS . Thay vì viết CGI xử lý trang động các nhà phát triển có thể xử
dụng ISAPI để xây đụng những đơn thể tồn tại cùng với các web server trong
suốt quá trình chờ yêu cầu của trình khách các đơn thể ISAPI được viết ở dạng
file .dll. mã lệnh của chúng hoạt động trao đổi dữ liệu trong cùng không gian
địa chỉ của chình chủ web IIS . Tốc độ xử lý của ISAPI do đó rất nhanh tiết
kiệm tài ngyên hơn hẳn CGI .
1.5. ASP
Một trở ngại của đơn thể ISAPI cũng như trình CGI đó là phải sử dụng các
ngôn ngữ biên dịch . khả năng và bảo trì và thiết kế một ứng dụng là rất thấp.
Nếu CGI hỗ chợ kịch bản thông dịch ở dạng script làm đơn giản hoá và loại bỏ
8
Tìm hiểu Microsoft ASP.NET
quá trình viết mã của các ngôn ngữ biên dịch thấp, kỹ thuật ISAPI cũng cho
phép ta sử dụng các trang chưa script các trang này chính là ASP (Ative Server
Page)
Trang ASP đơn thuần là file văn bản chứa mã HTML kết hợp thông dịch
VB scrịpt hay jscript. Đơn thể asp.dll (một đơn thể của ISAPI) được tích hợp
vào web sever IIS . Khi nhận được yêu cầu của trình khách cần hiển thị .asp thì
trình chủ sẽ triệu gọi đơn thể xử lý trang asp.dll trang được đọc và thực thi các
lệnh của kịch bản. Kết quả sau đó được asp.dll gửi lại trình chủ gửi lại theo yêu
cầu của khách.
Mô hình xử lý trang ASP thay cho CGI.
Microsoft Active Server Pages (ASP) không hẳn là một ngôn ngữ lập trình,
Microsoft gọi nó là môi trường server-side scripting, môi trường này cho phép
tạo và chạy các các ứng dụng Web server động, tương tác và có hiệu quả cao. Để
làm việc trong môi trường này, các ASP coder thờng sử dụng VBScript hoặc
JavaScript, cả hai loại này đều tự động hỗ trợ ASP.
Trong các HTML, mỗi tag được bắt đầu và kết thúc bởi cặp "< />" , ASP
cũng tương tự như vậy. Để đánh dấu nơi nào ASP script bắt đầu và kết thúc dùng
cặp lệnh "<% %>".
Các đoạn ASP script có thể xuất hiện ở mọi nơi trong trang HTML, ASP &
HTML có sự gắn bó chặt chẽ với nhau. Với ASP ta có thể chèn các script thực
9
Tìm hiểu Microsoft ASP.NET
thi được vào trực tiếp các file HTML. Khi đó việc tạo ra trang HTML và xử lý
script trở nên đồng thời, điều này cho phép tạo ra các tương tác của Website một
cách linh hoạt uyển chuyển, có thể chèn các thành phần HTML động vào trang
Web tuỳ vào từng trường hợp cụ thể.
Các đối tượng và thành phần của ASP không khác gì so với các thành
phần ActiveX thông thường, các ActiveX dll được sử dụng trong Vb, VC++
hay Java. Sự khác biệt là ở chỗ chúng đã được kết hợp với VbScipt. Đối tượng
của ASP (ASP Objects) là những phần tử ActiveX có sẵn và được gắn với
VbScript ASP cung cấp 4 đối tượng sau: Application, Session, Request,
Response, Server Object. Các thành phần của ASP (ASP Components) là
những thư viện dll tồn tại ngoài bộ khung ASP. Những thành phần này có thể
được tạo bằng bất kì ngôn ngữ nào nhưng Microsoft đã kết hợp một số
component hữu ích với Visual InterDev. ASP cung cấp những component sau:
Data Access, File Access, Browser Cappabilities, AdRotator
Các hạn chế của ASP
ASP chỉ chạy và tượng thích trên môi trường Windows điều này làm ASP
bị hạn chế rất nhiều.
Dùng ASP sẽ gặp phải khó khăn khi muốn can thiệp sâu vào hệ thống như
các ứng dụng CGI.
ASP không được hỗ trợ nhiều từ hãng thứ ba.
Các ứng dụng ASP tỏ ra chậm hơn so với Java.
Tính bảo mật không cao. Không giông như các ứng dụng CGI hay Java
servlet, các mã ASP đều có thể đọc được nếu người dùng có quyền truy cập
vào Web server. Có lẽ đây là lý do quan trọng nhất để người dùng không
chọn công nghệ ASP.
10
Tìm hiểu Microsoft ASP.NET
Phần II : ASP.NET
2.1. BỘ KHUNG DỊCH VỤ WEB THẾ HỆ KẾ TIẾP(NGWSF)
Hệ điều hành được Microsoft xem là một tập hợp bao gồm nhiều đối tượng
hoạt động tương tác lẫn nhau. Chương trình của ta cũng là một đối tượng.
Microsoft gọi mô hịnh này với cái tên khá phổ biến là COM (Compontent
Objoct Model). Tất cả mọi thứ đều quy về đối tượng với phương thức, thuộc
tính và các dịch vụ mà đối tượng có thể cung cấp. Phát triển hơn nữa Microsoft
mở rộng COM thanh kiến trúc COM+ cho phép các đối tượng COM mở rộng
giao tiếp với nhau trên mọi nền Windows, từ 98, NT/2000, máy chủ (Server),
máy khác (client) đâu đâu cũng là các thành phần đối tượng có thể giao tiếp và
triệu gọi nhau xuyên suốt
Với sự bùng nổ của Internet, Microsoft một lần nữa lại đưa kiến trúc
COM+ thanh mô hìng đối tượng cao hơn ảnh hưởng đết toàn bộ hệ điều hành.
Kiến trúc mới này mang tên khung dịch vụ Web thế hệ kế tiếp - Next Generation
Web service Framework hay NGWSG. Tuy mang tên Web nhưng thực tế kiến
trúc này đã ăn sâu vào hệ điều hành. NGWSG bổ sung các dịch vụ mới cho các
đối tượng ứng dụng phân tán COM+ bao gồm:
* Một tập các thư viện lập trình phong phú và thống nhất.
11
Tìm hiểu Microsoft ASP.NET
* Bộ thực thi chương trình đa ngôn ngữ (multi-language runtime engine)và
bảo vệ an toàn mã thực thi.
* Đơn giản hoá quá trình tạo lập, phân phối và bảo trì ứng dụng.
* Tăng tính mềm dẻo và khả chuyển cho các úng dụng phân tán.
* Bảo vệ các phần mềm hiện có và giảm đầu tư về đào tạo.
2.1.2 Tìm Hiểu Về Khung Nền NGWSF
Việc tích hợp ASP vào hệ điều hành ở phiên bản ASP.NET là điểm khác
biệt rất quan trọng so với các phiên bản khác của ASP trước đó. Các phiên bản
ASP trước đây(2.0 hoặc3.0) chỉ được dùng và gắn vào hệ thống như thành phần
hỗ trợ(add-on). Kể cả phiên bản mới nhất là 3.0 cũng vẫn tồn tại khái niệm kết
gắn ASP theo khái niệm add-on dựa vào kỹ thuật ISAPI DLL. ASP 3.0 sử dụng
file thư viện asp.dll cùng một vài file phụ khác tạo thành phiên bản ASP 3.0 để
nâng cấp phiên bản 2.0
Tuy nhiên, bộ khung trong kiến trúc NGWSF đã thay đổi hoàn toàn khai
niệm về ứng dụng công nghệ thông tin trên nền tảng Internet. Với NGWSF ta
cần phải thay đổi lại toàn bộ cách nhìn nhận so với các ứng dụng trong môi
trường Windows cũ. Kiến trúc NGWSF cho phép ta hoàn chỉnh mọi kiểu ứng
dụng từ đóng gói, phát triển bảo trì, kiểm tra các ứng dụng trên trình khách
(client) cho đến các ứng dụng phân tán phức tạp trên trình chủ (server).Toàn bộ
khái niệm của NGWSF là một phần dựa trên ý tưởng và nền tảng của kiến trúc
“ứng dụng Internet phân tán” (DNA-Distributed Internet Application).
Tuy nhiên,điều quan trọng ta cần nên nhớ đó là bộ khung NGWSF không
đơn thuần chỉ dành riêng cho ASP.NET. Khung NGWSF này ảnh hưởng đến
toàn bộ các chương
dụng sẽ chạyứng
trêndụng
Windows
trong tương lai.
Trang trình ứng
ASP.NET
Windows
ASP.NET
Webservice
Thành phần hỗ trợ.NET
Windows
và các dịch
truyền
vụ hệ điều
thống
hành.
Bộ khung .NET Framework
Hạt nhân hệ điều hành
12
Tìm hiểu Microsoft ASP.NET
2.1.3 Mô hình .NET Framework.
Khung làm việc NGWSF cung cấp bộ máy thực thi mã lệnh (execute
engine) cùng với tập hợp các lớp hay thanh phần hướng đối tượng có thể sử
dụng để tạo nên ứng dụng. Bộ khung này làm việc như là lớp giao tiếp giữa ứng
dụng và hạt nhân của hệ điều hành. Ta có thể hỏi tại sao chúng ta lại cần đến
một lớp trung gian như thế, trong khi ứng dụng theo truyền thống có thể dễ dàng
nói chuyện trực tiếp với hạt nhân và các dịch vụ của hệ điều hành. Nguyên do là
tầng trung gian này sẽ cho phép các ứng dụng này sử dụng tốt hơn các ưu diểm
của hệ điều hành, đơn giản hoá quá trình phát triển và phân phối ứng dụng trong
môi trường thương mại đầy cạnh tranh.
Để đạt được mụch đích này, bộ khung thực thi runtime của NGWSF đã cài
đặt rất nhiều đặc điểm mà lập trình viên hay một môi trường ngôn ngữ lập trình
cụ thể nào đó phải tự cài đặt trước đây. Bộ khung này cung cấp các cơ chế như
tự động thu gom rác vào bộ nhớ (garbage collector), tập các đối tượng đầy đủ
những chức năng phục vụ cho những công việc lập trình thông thường nhất.
Tăng khả năng bảo mật và an toàn cho ứng dụng. Chức năng bảo mật sau cùng
13
Tìm hiểu Microsoft ASP.NET
rất quan trọng,nhất là đối với các chương trình mở rộng triệu gọi thông qua
mạng Internet như ngày nay
Microsoft đang hướng đến mô hình máy ảo tưởng tượng tương tự như
Virtual machine của Java ở kiến trúc NGWSF này.
2.1.4 Ngôn Ngữ Trung Gian Phổ Dụng
Tuy nhiên một trong những ưu điểm nổi bật nhất của bộ khung thực thi
cung cấp cho ta đó là môi trường thực thi trung lập về ngôn ngữ. Tất cả mã lệnh
bất kể viết bằng ngôn ngữ nào đều được tự động biên dich thanh ngôn ngữ trung
gian gọi là IL(Intermediate Language). Bộ khung thực thi sẽ tạo ra mã nhị phân
cuối cung hình thanh lên ứng dụng và điều khiển mã. Đối với các trang
ASP.NET, mã nguồn sẽ được dịch ra và chỉ có mã IL và chỉ có mã IL được gọi
thực thi. Khi mã nguồn thay đổi thì mã IL của trang ASP.NET sẽ được thay đổi
lại.Các trang ASP.NET còn giữ trong vùng đệm cache sẽ bị huỷ bỏ thay bằng
các trang biên dịch ASP.NETvới mã IL mới.
Một ưu điểm nữa là ta gọi mã lệnh của một ngôn ngữ lập trình hoàn toàn
khác với ngôn ngữ đang được dùng để viết ứng dụng. Nghĩa là ta có thể tạo ra
đối tượng từ một ngôn ngữ, sau đó triệu gọi hoặc thay đổi nội dung đối tượng từ
một ngôn ngữ khác.Ví dụ, như ta có thể tạo ra một đối tượng từ ngôn ngữ C#
sau đó kế thừa và tạo ra một đối tượng từ ngôn ngữ Visual Basic (VB) như thêm
vào phương thức, thuộc tính, thay đổi hoặc đè chồng lên các phương thức trước
đó.. Thực tế, một phần của bộ khung NGWSF và toàn bộ mô hình ASP.NET
được cài đặt bên trong bằng C# thay vì C++.
Rõ ràng bộ khung thực thi đã và đang hướng chúng ta đến môi trường lập
trình đa ngôn ngữ thuần nhất. Ta có thể cùng một ứng dụng từ bất kỳ ngôn ngữ
lập trình nào. Kết quả mã nhị phân của chúng là như nhau. Đây quả là một điều
tuyệt vời đối với các nhà phát triển phân phối ứng dụng trên môi trường Internet
đa nền như hiện nay.
14
Tìm hiểu Microsoft ASP.NET
2.1.5 Cở Sở Hạ Tầng Của ứng Dụng Web
Hạ tầng của các ứng dụng Web nằm trong một phần của kiến trúc .NET
NGWSF.Chung bao gồm các dịch vụ Web và trang ASP.NET.Cùng với bộ
khung mới của môi trường thực thi ứng dụng . NET,các ứng dụng và dịch vụ
Web đưa ra những đặc điểm nổi bật sau:
+ Hỗ Trợ Giao Diện Người Dùng
Các thanh phần điều khiển đa năng (Rich control) là một phần trong cài đặt
của thư viện ASP.NET. Những điều khiển này giúp ta tạo ra giao diện Web
nhanh chóng và đơn giản. Thành phần rich control chạy trên Server và có khả
năng tạo ra mã HTML 3.2 tương thích với hầu hết các trình duyệt cũ. Đồng thời
ta có thể sinh mã tận dụng các tính năng nâng cao hỗ trợ bởi trình duyệt phía
máy khách như HTML 4.0. Các dịch vụ hỗ trợ bởi Internet Explorer 4,5,6…Ta
có thể mở rộng, kế thừa và tạo ra các thành phần điều khiển đa năng khác dựa
trên các thành phần chuẩn của thư viện sẵn có.
+ Hỗ Trợ Truy Xuất Dữ Liệu
Môi trường NGWSF cung cấp phiên bản mới của ADO goi là ADO+.
Phiên bản ADO+cho phép truy xuất dữ liệu bất kể khuôn dạng và vị trí của dữ
liệu. ADO+ thiết kế theo mô hình hướng đối tượng trên dữ liệu quan hệ, chúng
cho phép các nhà phát triển có khả năng trích rút dữ liệu từ các nguồn phân tán
khác nhau.
ADO+ cũng tăng cường khả năng hỗ trợ dữ liệu XML(còn gọi là dataset
trong XML) lưu trữ, đóng gói và truyền đi trong mạng. Dữ liệu XML có thể đọc
và hiểu được bởi rất nhiều ứng dụng trên Internet.
+ Khả Năng Mở Rộng Dành Cho Các ứng Dụng phân tán
Hai yếu cần thiết đối với tất cả các ứng dụng dựa trên nền Web đó là hệ
điều hành nền (platform) phải vững chắc và khả năng mở rộng trên môi trường
truy xuất lớn cho phép đồng thời xử lý nhiều kết nối. Môi trường thực thi
15
Tìm hiểu Microsoft ASP.NET
NGWSF cung cấp các chức năng tự động kiểm tra lỗi và các trường hợp quá tải.
NGWSF sẽ tìm cách khởi động và tái tạo các ứng dụng cũng như thành phần
đối tượng để khả năng phục vụ của chúng cho các kết nối tốt hơn. Điều này sẽ
giảm thiểu những lỗi như tài nguyên hệ thống cạn kiệt,kết nối tắc nghẽn….
Hệ điều hành cũng được cập nhật với những dịch vụ hạ tầng mới như dịch
vụ cho phép tự quản lý và dọn dẹp rác trong bộ nhớ (garbage collector), dịch vụ
điều phối và là trung gian trong các lời gọi đối tượng phân tán từ xa, dịch vụ bảo
mật và an toàn trong các truy xuất tài nguyên mạng. Tất cả các dịch vụ được tích
hợp trong một tổng thể thống nhất sử dụng cũng như phân bố tài nguyên một
cách hợp lý.
+ Tương Thích Với Phần Mềm Hiện Có Và Giảm Chi Phí Đầu Tư
Mặc dù có thay đổi lớn trong hệ điều hành và môi trường thực thi nhưng
Windows vẫn chú trọng đến tính tương thích với các phiên bản của
COM,DCOM và ASP.Trong hầu hết các trường hợp những ứng dụng COM,
DCOM, trang ASP, những kịch bản hoặc file thực thi đều hoạt động trơn tru
trong môi trường NGWSF mới.
2.2 GIỚI THIỆU ASP.NET
2.2.1 Tại sao ta lại quan tâm và phát triển mạng với ASP.NET
Ta phải công nhận một điều là .NET Framework và các ứng dụng của nó
đã và đang tạo một cuộc cách mạng kỹ thuật trong công nghệ Tin Học
(Information Technology), thay đổi tận gốc rễ các kiểu mẫu lập trình hay
phát triển và triển khai mạng trên thế giới và do đó tạo một vận hội mới đáp
ứng mọi yêu cầu khẩn thiết cho các ngành nghề kỹ thuật và thương mại hiện
nay cũng như vạch một hướng đi vững chắc và dài lâu cho tương lai Tin Học.
ASP.NET chính là một trong những ứng dụng quan trọng nhất để phát triển
và triển khai mạng một cách dễ dàng chưa từng thấy từ xưa đến nay. Thật
vậy, hãy lắng nghe thử chính Microsoft đã nói về ASP.NET như thế nào:
16
Tìm hiểu Microsoft ASP.NET
“ASP.NET is a revolutionary programming framework that enables the
rapid development of powerful web applications and services. Part of the
Microsoft .NET Platform, it provides the easiest and most scalable way to
develop, deploy and run distributed web applications that can target any
browser or any application.” ( trích MSDN)
Asp.NET hơn hẳn phiên bản trước của nó là Active Server Page(ASP); nó là
một phát triển Web thống nhất cung cấp các dịch vụ cần thiết cho các nhà phát
triển để xây dựng các ứng dụng ở mức kinh doanh (enterprise). ASP.NET cung
cấp một số lượng lớn các cú pháp tương thích với ASP, mặt khác ASP.NET còn
cung cấp một kiểu lập trình và một cơ sở hạ tầng mới cho phép ta tạo các lớp
ứng dụng mới đầy sức mạnh. Ta có thể tự do thêm vào các chức năng của ASP
đã tồn tại.
ASP.NET là một môi trường biên dịch trên nền .NET; Ta có thể tạo các ứng
dụng bằng bất kì ngôn ngữ nào tương thích với .NET, Visual Basic, C#,
Jscript.NET thêm vào đó toàn bộ nền tảng .NET framework sẵn sàng để sử dụng
cho bất kì một ứng dụng Asp.NET nào. Các nhà phát triển có thể dễ dàng tiếp
cận đến các lợi ích từ công nghệ này bao gồm một môi trường CLR được quản
lý, kiểu an toàn, tính thừa kế..
ASP.NET được thiết kế để làm việc một cách liền một khối với các trình
biên tập HTML kiểu WYSIWYG và các công cụ lập trình khác bao gồm bộ
Mircrosoft Visual Studio .NET không chỉ làm cho việc phát triển Web dễ dàng
hơn, nó còn cung cấp tất cả các lợi ích mà những công cụ này đưa ra, bao gồm
một GUI mà các nhà phát triển có thể dùng để kéo thả các server controls lên
trang Web và cung cấp các tiện ích gỡ rối và lần vết đầy đủ, chi tiết.
2.2.2 Tóm tắt các đặc điểm chính trong ASP.NET
+ Mô hình lập trình đơn giản:
17
Tìm hiểu Microsoft ASP.NET
ASP.NET giúp ta phát triển và triển khai các ứng dụng về mạng trong một
thời gian kỷ lục vì nó cung cấp cho ta một kiểu mẫu lập trình dễ dàng và gọn
gàng nhất. Các trang ASP.NET có thể làm việc với mọi browsers hiện nay như
Internet Explorer (IE), Netscape, Opera, AOL, ... mà không cần phải đổi l¹i các
nguồn mã rất vất vả như trước.
+ Hỗ trợ đa ngôn ngữ:
Không như ASP kiểu cổ điển chỉ giới hạn với VBScripts and JScripts,
ASP.NET hỗ trợ trên 25 .NET ngôn ngữ lập trình (dĩ nhiên ngoài các ngôn ngữ
mới thiết lập đã cài sẵn trong .NET framework như là VB.NET, C# và
JScript.NET còn có MC++.NET, Smalltalk.NET, COBOL.NET, Eiffel.NET,
Perl.NET,
Component
Pascal.NET,
Mercury.NET,
Oberon.NET,
Python.NET, ..).
+ Hỗ trợ nhiều công cụ
Mặc dù ta có thể chỉ cần dùng tới Notepad để triển khai các trang ASP.NET
nhưng Visual Studio.NET giúp năng suất triển khai mạng thêm phần hiệu quả ví
ta có thể quan sát các dự án của ta dễ dàng hơn khi phát họa (design) các thành
phần của ASP.NET bằng hình ảnh với ASP.NET Web Forms hay Services theo
phương pháp 'drag-drop-doubleclick' quen thuộc của nền Windows. Thêm nữa,
lại còn hỗ trợ ta trong việc phát hiện và loại bỏ những lỗi sai một cách rất thuận
lợi trong khi phát triển các ứng dụng về mạng (support for debugging and
deploying ASP.NET Web applications).
+ Thành phần điều khiển phía server
18
Tìm hiểu Microsoft ASP.NET
ASP.NET cung cấp một vài điều khiển phía server để đơn giản hoá việc tạo
trang. Các thành phần điều khiển này gói gọn một số tác vụ thông thường như
hiển thị lịch, kiểm tra dữ liệu nhập (Validate). Các thành phần điều khiển này
cho phép ta ràng buộc dữ liệu tương tự như ta đang viết một ứng dụng với
desktop thật sự, xoá đi được biên giới client/server.
+ Namespace và Class Framework phong phú:
Nhờ nền tảng vững vàng và tài nguyên phong phú của .NET Framework
với hơn 5000 classes bao gồm như XML, data access, file upload, regular
expressions, transactions, message queuing, SMTP mail, ... Nên việc thiết kế các
đặc tính trong một ứng dụng trở nên nhẹ nhàng và thoải mái hơn xưa rất nhiều.
Namespace được sử dụng như là một hệ thống tổ chức - một cách để thể
hiện các thành phần (Component) được mở rộng cho các chương trình và ứng
dụng khác. Namespace bao gồm cả Class.
Namespace giống như các thư viện Class và có thể làm việc viết các ứng
dụng dễ dàng hơn.
+ Tăng tốc độ thực hiện
ASP.NET không những chạy nhanh hơn ASP cổ điển gấp 5 lần mà còn có
thể duy trì kiểu mẫu cập nhật gọi là kiểu mẫu 'just hit save', nghĩa là ASP.NET tự
động dò tìm mọi sự thay đổi và compile files khi cần thiết cũng như lưu trữ kết
quả compile đó để cung ứng dịch vụ cho những yêu cầu tiếp theo sau, nhờ vậy
ứng dụng của ta luôn luôn cập nhật hóa và chạy nhanh hơn rất nhiều.
+ Output caching:
19
Tìm hiểu Microsoft ASP.NET
ASP.NET có khả năng lưu trữ một kết quả chung trong phân bộ memory
của trang để gởi giải đáp cho cùng một yêu cầu từ nhiều khách hàng khác nhau
và nhờ đó không những tiết kiệm được sự lặp đi lặp lại công tác thi hành của
một trang web mà còn gia tăng hiệu xuất một cách ngoạn mục do giới hạn tối đa
việc chất vấn các cơ sở dữ liệu (eliminating the need to query the database on
every request) rất tốn nhiều thời gian.
+ .NET so sánh với J2EE:
Trong việc đối đầu với nhau về hiệu xuất (performance) và scalability với
cùng một ứng dụng phát triển giữa Sun's Java Pet Store J2EE và ASP.NET thì
ASP.NET không những nhanh vượt trội hơn J2EE đến 28 lần (khoảng 2700%),
nguồn mã lại ít hơn nhiều (khoãng 1/4 nguồn mã của J2EE) mà còn dùng bộ xử
lý (processor) chỉ khoãng 1/6 lần so với việc sử dụng processor của J2EE.
+ Khai triển dễ dàng
ASP.NET đơn giản hóa việc triển khai ứng dụng mạng, do đó biến việc
triển khai toàn bộ ứng dụng trở nên dễ dàng và thuận lợi hơn hẳn trước kia vì
bây giờ ta chỉ cần sao (với XCOPY) và lưu trữ ở Server chứ không cần phải
chạy chương trình 'regsrv32' để đăng ký bất cứ thành phần nào cả, và thêm nữa,
khi cần lưu trữ những yếu tố phụ cần thiết cho việc thiết lập hay bố trí các ứng
dụng, ta chỉ cần lưu giữ nó vào trong một hồ sơ dưới dạng XML là đủ.
+ Truy xuất dữ liệu
Từ ASP.NET truy xuất dữ liệu là một kỹ thuật thường xuyên sử dụng để
biểu diễn dữ liệu cho người dùng. Giờ đây ASP.NET khiến cho việc làm với
mục đích này dễ dàng hơn bao giờ hết hơn nữa nó còn cung cấp việc quản lý dữ
liệu trong cơ sở dữ liệu.
+ Tăng khả năng bảo mật
20
- Xem thêm -