420 likes | 626 Views
Bài 1: GIỚI THIỆU ASP.NET. 1.1. Mở đầu 1.2. Giới thiệu ASP.NET 1.3. Kiến trúc ứng dụng của web 1.4. Web server 1.5. Tạo và chạy ứng dụng 1.6. Cấu trúc các ứng dụng 1.7. Cách viết code trong chương trình 1.8 . Các thành phần có thể chứa trong trang . 1.1. Mở đầu.
E N D
Bài 1: GIỚI THIỆU ASP.NET 1.1. Mở đầu 1.2. Giới thiệu ASP.NET 1.3. Kiến trúc ứng dụng của web 1.4. Web server 1.5. Tạo và chạy ứng dụng 1.6. Cấu trúc các ứng dụng 1.7. Cách viết code trong chương trình 1.8. Các thành phần có thể chứa trong trang
1.1. Mở đầu • HTTP và HTML - NềnmóngcủaKỹthuậtlậptrình web • Tìmhiểucácmôhìnhứngdụng • Web Application
HTTP (Hypertext Transfer Protocol) • HTTP : • Kỹ thuật cơ bản của lập trình ứng dụng web • Là một giao thức cho phép các máy tính trao đổi thông tin với nhau qua mạng máy tính • Được xác định qua URLs (Uniform Resource Locators), với cấu trúc chuỗi có định dạng như sau: http: // <host> [: <port>] [ <path> [? <query>]] • Một số thuật ngữ: • Internet • WWW • Web Server • Web Client • Web Browser
HTML (Hypertext Markup Language) <Html> <Head> <Title>ASP.Net</Title> </Head> <Body> <P align="center"> <FONT size="6"> Chào các bạn đã đến với ASP.Net!!! </FONT> </P> </Body> </Html>
Tìm hiểu các mô hình ứng dụng • Dữ liệu tập trung =>đảm bảo dữ liệu được nhất quán • Dữ liệu được chia sẻ cho nhiều người dùng • Các xử lý tra cứu và cập nhật dữ liệu được thực hiện ở Database Server, việc nhận kết quả và hiển thị phải được thực hiện ở Client =>Khó khăn trong vấn đề bảo trì và nâng cấp • Khối lượng dữ liệu truyền trên mạng lớn =>chiếm dụng đường truyền, thêm gánh nặng cho Database Server.
Hỗ trợ nhiều người dùng • Giảm bớt xử lý cho Client => Không yêu cầu máy tính ở Client có cấu hình mạnh • Xử lý nhận và hiển thị dữ liệu tập trung tại Application Server => dễ quản lý, bảo trì và nâng cấp • Xử lý truy cập dữ liệu tập trung tại Database Server Phải sử dụng thêm một Application Server =>Tăng chi phí.
Web Application • Là 1 loại ứng dụng client/server • Thành phần: • Web Client • Web Browser • Web Server
Web Application http user SQL Access
1.2. Giới thiệu ASP.NET • Visual Studio .Net là bộ phần mềm được dùng để xây dựng và phát triển các ứng dụng • Đặcđiểm: • Visual Studio .Netbao gồm các ngôn ngữ lập trình: C++.Net, Visual Basic.Net, ASP.Net, C# và J# • Tất cả các ngôn ngữ này được xây dựng dựa trên nền .Net Framework
Là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) • Thư viện các lớp đối tượng dùng trong việc xây dựng các ứng dụng Web • Web services có thể hiểu là các dịch vụ được cung cấp qua Web (hay Internet) Gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows • Là thành phần "kết nối" giữa các phần khác trong .NET Framework với hệ điều hành • CLR giữ vai trò quản lý việc thi hành các ứng dụng viết bằng .NET trên Windows Gồm các lớp dùng để xử lý dữ liệu Thư viện các lớp cơ bản nhất, được dùng trong khi xây dựng .NET Framework • Các hàm API của Windows • Microsoft Transaction Server (MTS) • Internet Information Server (IIS)
Quan điểm lập trình web Lập trình phía Server: ASP.Net Hoạt động: • Trang ASP sẽ được biên dịch và thi hành tại Web Server • Kết quả tự động được chuyển sang HTML/JavaScript/CSS • Khi Web browser yêu cầu một trang web • Web server tìm trang web mà Client yêu cầu • Trả về cho Client • Client nhận kết quả trả về từ Server và hiển thị lên màn hình Lậptrìnhphía Client: HTML, Java Script, CSS (Cascading Style Sheets) Hoạtđộng: • Khi Web browser yêu cầu một trang web • Web server tìm trang web mà Client yêu cầu • Gởi về cho Client • Client nhận kết quả trả về từ Server; Xử lý;hiển thị lên màn hình
Ví dụ Trang2.asp <%@ Page Language="C#" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Các điều khiển giao diện</title> </head> <body> <form id="form_chinh" runat="server"> <%Response.Write(DateTime.Today.Date.ToShortDateString());%> </form> </body> </html> Trang1.html <html> <body> Xin chao ban </body> </html>
Ưu điểmcủaASP.Net • Nhiềungôn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,… • ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập CSDL qua ADO.Net, … • ASP.Net sử dụng phong cách lập trình mớiCode behide
Static Web Pages • Được thiết kế bằng kỹ thuật HTML (Hypertext Mark-up Language) • Chỉ đáp ứng việc giới thiệu thông tin cho người dùng xem • Cao nhất là sử dụng một Form trực tuyến (Online Form) để thu nhận ý kiến của người xem và gửi về e-mail định danh trước • Website tĩnh có thể được trang bị các kỹ thuật như Java Script, Flash Macromedia hay Animation Gif, giúp cho giao diện của các trang web thêm sống động và hấp dẫn • Ví dụ: http://namchautourist.com/
Dynamic Web Pages • Được thiết kế bằng kỹ thuật ASP (Active Server Pages) chạy Windows hay PHP (PHP Hypertext Preprocessor) với Linux. • Phải có cơ sở dữ liệu và tùy theo mục đích của website, nó có thể có các thành phần như: • Inner search: Phần tìm kiếm • Member account: tài khoản dành cho Hội Viên. Với một Username và Password • Shopping Cart: Thành phần giúp cho việc mua bán trên mạng (online trading) được thực hiện thông qua giả định việc chọn và bỏ món hàng đã chọn vào giỏ mua hàng. Các thông số liên quan đến món hàng sẽ được cập nhật vào tài khoản của người Mua, giúp cho việc xác định công nợ và thanh toán. • Online Payment: Thành phần giúp cho việc buôn bán trên mạng được khả thi: Tiền được trao cho Bên Bán và hàng sẽ được chuyển cho Bên Mua • Forum: Diễn đàn trực tuyến
Tầng trình diễn (Presentation Tier) • Người dùng có nhiều lựa chọn về nền trình diễn • Hệ thống sẽ tự động gọi cáctệp cấu hình sẵn cho tầng nền • Tầng trình diễn chịu trách nhiệm : • Cung cấp giao diện cho nhiều loại người dùng khác nhau • Lấy các yêu cầu, dữ liệu từ người dùng, có thể địnhdạng nó theo những qui tắc đơn giản (dùng các ngôn ngữ Script) • Gọi các component thíchhợp từ tầng Business Logic để xử lýcác yêu cầu • Kết quả sau xử lýđược trả lại cho người dùng
Tầng Logic (Bussiness Logical Tier) • Web server : • Đảm nhận nhiệm vụ đón các yêu cầu từ tầng trình diễn (yêu cầu phía client)và trả về kết quả cho phía client • Có nhiệm vụ thực thi các thành phần điềukhiển trình diễn của ứng dụng chủ • Quy trình xử lýnghiệp vụ và điều khiển sẽ do thành phầnthứ haiđảm trách • Thành phần ứng dụng chủ : • Thành phần này chứa các tập API đểtruy nhập và thao tác với cơ sở dữ liệu ở tầng thứ ba - tầng cơ sở dữ liệu • Các API được dùng để tạo ra các dự liệu XML và sau đókết hợp với các tham số được định sẵn trong bộ Stylesheet để tạo ra các trang HTML, WML theo từng nền trình diễn
Tầng dữ liệu (Data Tier) • Tầng này đảm trách việc lấy, lưu trữ và cập nhật dữ liệu • Vì vậy có thể nhìn nhận tầng này thể hiện cho 1 cơ sở dữ liệu • Chứa CSDL của toàn trang • Ngoài ra tầng này còn có thể chứa CSDL của các ứng dụng được tích hợp khác
Các phần mềm • Hệ điều hành (Windows 2000, XP, 7 … ) • .NET framework SDK (Software Development Kit) • Cài đặt một cơ sở dữ liệu (Database) vững mạnh
Phương pháp làm việc • Kiểu mẫu RESQUEST/RESPONSE • Kiểu mẫu EVENT-DRIVEN
Kiểu mẫu RESQUEST/RESPONSE • Client (thông qua Internet Browser) xácđịnhvịtrícủa Web Server qua URL (Universal Resource Locator) • Client sẽyêucầuđượcthamkhảo 1 trangtrongmạngđóvàthườnglàtrangchủ (home page) • Server đápứngbằngcáchhoàntrảhồsơmà Client đãyêucầu • Client nhậnđượchồsơgởivềvàhiểnthị (display) trong browser củamình Lưu ý: • Còn gọi là 'response to your request', chờ yêu cầu từ phía client • Khi Client đãnhậnđượchồsơthìquátrìnhtraođổisẽkếtthúcngaylậptức
Kiểu mẫu EVENT-DRIVEN • Kiểu mẫu event-driven dùng với ASP.NET • Server sẽ không chờ client yêu cầu tham khảo 1 trang nào đó trong mạng • Server đã bố trí sẵn trước tất cả mọi tình huống để có thể đáp ứng kịp thời mỗi khi Client yêu cầu làm 1 điều gì đó • Vì vậy kiểu mẫu event – driven còn được gọi là 'response to your action‘, server có thể phát hiện ra các hành động của Client để phản ứng cho thích hợp
1.4. Web server • Web server : • Là một máy chủ hoặc một phần mềm trên máy mà nó có thể đáp lại các yêu cầu dữ liệu từ phía trình duyệt sử dụng giao thức HTTP cho phép người dùng có thể truy cập file HTML • Webserver biên dịch mã lệnh thành trang HTML trước khi gửi về cho client • Các phần mềm tạo web server thông dụng : • IIS • Tomcat
Internet Information Services • IIS có thể được sử dụng như một Web server • IIS kết hợp với ASP để xây dựng các ứng dụng Web tận dụng các điểm mạnh của Server-side Script, COM component, … theo mô hình Client/Server • Các bước thực hiện: • Thiết lập Internet Information Service • Kiểm tra • Cấu hình Internet Information Services • Tạo các ứng dụng web trên IIS
Thiết lập Internet Information Service • Mở Control Panel • ClickPrograms and Features • Click Turn Windows features on or off • Click Internet Information Services • Mở rộng cây thư mục Expand Internet Information Services > World Wide Web Services > Application Development Features > Click ISAPI Extensions • Click chuột vào OK cho máy cài giùm mình IIS7 • Khi Windows Features đóng lại thì cũng là lúc IIS7 được cài xong
Kiểm tra Web Server mặc định ánh xạ vào //localhost
Cấu hình Internet Information Services • Cài Internet Information Services • Để cấu hình IIS, vào Control Panel Administrative Tool Internet Information Services Manager
1.5 Tạo các ứng dụng web trên IIS • Một Web Server có thể quản lý nhiều ứng dụng Web đồng thời • Cách quản lý: • Thông thườngbạn sẽ tổ chức mộtthư mục con trong wwwroot cho mỗi ứng dụng (IIS sẽ tự động liệt kê nó trong mục Default Web Site) • Bạn cũng có thể tạo ánh xạ từ một thư mục khác (tạo một thư mục nằm ngoài thư mục wwwroot)
1.6 Cách tạo và chạy ứng dụng Tạo ứng dụng web trong Visual Studio.NET • Khởi động Visual Studio.NET • Chọn File –> New –> Website • Trong hộp thoại New Website 2 1 3
Cách tạo và chạy ứng dụng • Nhấn F5 để chạy ứng dụng
1.5. Cấu trúc các ứng dụng Folder chứa các trang phụ liên quan đến Account Folder chứa dữ liệu Các File sử dụng cho các tiến trình phía Client File CSS (Xác định các kiểu hiển thị) Trang mặc định khi chạy website File cấu hình; Định dạng file này theo kiểu XML
1.7. Cách viết code Trang Asp.net Giao diện người dùng Xử lý logic bên trong HTML hoặc XML và server controls Bất kỳ ngôn ngữ lập trình nào được hỗ trợ bởi CLR
Code Behind Khai báo nơi chứa Code File chứa Code
1.8. Các thành phần có thể chứa trong trang • Không gian tên (Namespaces) • Khai báo Namespace • Namespaces và chức năng • Các chỉ thị (instructions)
Không gian tên (Namespaces) • NameSpacelà một tập hợp Logic các nhóm thư viện có liên quan đến nhau, giúp người lập trình dễ sử dụng và dễ tìm kiếm • Namespacescó kiến trúc phân cấp. Muốn truy nhập vào một chức năng hay một đối tượng của NameSpace cần phải biết được sõ đồ phân cấp của NameSpace đó • Mỗi NameSpace được chứa trong các file gọi là file Assembly, có phần mở rộng là .dll. NameSpace có thể xem như các file thư viện liên kết động DLL • System là một NameSpace gốc của framework.NET. Nó chứa tất cả các kiểu dữ liệu nguyên thuỷ (Primitives) và các NameSpace khác
Khai báo Namespace <%@import NameSpace=<Tên NameSpace>%> <%@import Namespace = "System.Data" %> <%@import Namespace = "System.Data.OleDb" %>
Các chỉ thị (instructions) Các chỉ thị được sử dụng để khai báo các kế thừa từ framework hoặc từ những source code khác, một chỉ thị đựơc bắt đầu bởi ký tự @ Cú pháp: <%@IntructionsName Listattribute%>