Giới thiệu một số website Lý do tại sao chúng ta phải sử dụng Web Yêu cầu của một website thực tế Các khái niệm cơ bản Các ngôn ngữ Các mô hình ứng dụng GIỚI THIỆU ỨNG DỤNG C
Trang 1Môn: LẬP TRÌNH WWW
Bài 1: MỞ ĐẦU
Trường Đại học Công nghiệp TP HCM
Khoa Công nghệ Thông tin
Trang 2NỘI DUNG
GIỚI THIỆU ỨNG DỤNG CỦA WEB
GIỚI THIỆU TỔNG QUÁT VỀ ASP.NET
WEB SERVER IIS
CÁCH TẠO ỨNG DỤNG WEB VỚI ASP.NET
Trang 3 Giới thiệu một số website
Lý do tại sao chúng ta phải sử dụng Web
Yêu cầu của một website thực tế
Các khái niệm cơ bản
Các ngôn ngữ
Các mô hình ứng dụng
GIỚI THIỆU ỨNG DỤNG CỦA WEB
Trang 4GIỚI THIỆU MỘT SỐ WEBSITE
Trang 5GIỚI THIỆU MỘT SỐ WEBSITE
Trang 6GIỚI THIỆU MỘT SỐ WEBSITE
Trang 7GIỚI THIỆU MỘT SỐ WEBSITE
Trang 8GIỚI THIỆU MỘT SỐ WEBSITE
Trang 9GIỚI THIỆU MỘT SỐ WEBSITE
Trang 10GIỚI THIỆU MỘT SỐ WEBSITE
Trang 11GIỚI THIỆU MỘT SỐ WEBSITE
Trang 12GIỚI THIỆU MỘT SỐ WEBSITE
Trang 13NGUYÊN LÝ HOẠT ĐỘNG CỦA WEB
Trang 14Lý do tại sao chúng ta phải sử dụng Web
Dễ dàng trao đổi và chia sẻ thông tin thông tin qua
Trang 15YÊU CẦU CỦA MỘT WEBSITE THỰC TẾ
Trang 16CÁC KHÁI NiỆM CƠ BẢN
Web client (Browser)
Máy khách(Client) sẽ sử dụng chương trình để truy
cập đến các trang web gọi là trình duyệt web hay browser Hiện rất nay có nhiều trình duyệt web như : Internet Explorer , Nescape, Mozila FireFox,
Web server
Các máy chủ (Server) chứa các ứng dụng Web, sẵn
sàng truy xuất các trang web hay các tài liệu và gửi về cho client khi nhận được yêu cầu từ phía Client Hiện nay có rất nhiều Web server và chạy trên nhiều hệ thống như: Apache, Microsoft, Sun,…
Trang 17CÁC KHÁI NiỆM CƠ BẢN
Giao thức HTTP
Web được phát triển trên mô hình client-server
CÁC KHÁI NiỆM CƠ BẢN
Trang 18CÁC KHÁI NiỆM CƠ BẢN
Giao thức HTTP
Web đƣợc phát triển trên mô hình client-server Mô
hình gồm hai thành phần chính là:
Máy phục vụ (server): sẽ chứa các ứng dụng Web và các
ứng dụng Web này sẽ đƣợc quản lý tập trung bởi trình quản
Các máy khách(client): truy cập đến ứng dụng web sử
Client sử dụng giao thức HTTP Request để gửi yêu
cầu (trang web) lên Server, Server xử lý và sử dụng giao thức HTTP Response để gửi kết quả về cho Client
Trang 19CÁC CÔNG NGHỆ LẬP TRÌNH WEB
Ngôn ngữ HTML:
bày nội dung văn bản
Trang siêu văn bản HTML
Trang 20CÁC CÔNG NGHỆ LẬP TRÌNH WEB
Client Scripting và Server Scripting: Các ngôn ngữ
dùng để viết mã cho trang web
ClientScript: được xử lý tại trình duyệt (Browser) trên máy
Client Các ngôn ngữ dùng để viết là:
JavaScript được dùng để kiểm tra việc nhập liệu, kiểm tra
trình duyệt,…
DTHML: là sự kết hợp của HTML,Style Sheet(CSS) và
JavaScript nhằm làm cho trang web dễ tương tác, điều khiển
và giảm bớt việc xử lý phía Server
VBScript là ngôn ngữ script của Microsoft Chức năng của
VBScript cũng giống như JavaScript
Server Scripting: được xử lý tại Web server trên máy
Server Các ngôn ngữ dùng để viết là
ASP,ASP.NET,PHP,JSP,…
Trang 21CÁC MÔ HÌNH ỨNG DỤNG
Mô hình ứng dụng 2 lớp
Đây là một dạng mô hình đơn giản, khá phổ biến của
một ứng dụng phân tán
Trong mô hình này, việc xử lý dữ liệu đƣợc thực hiện
trên Database Server, việc nhận và hiển thị dữ liệu đƣợc thực hiện ở Client
Mô hình 2 lớp (Two Tier)
Trang 22CÁC MÔ HÌNH ỨNG DỤNG
Mô hình ứng dụng 2 lớp
Ưu điểm
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
Khuyết điểm
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 ở ClientKhó 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
Trang 23CÁC MÔ HÌNH ỨNG DỤNG
Mô hình ứng dụng 3 lớp
Mô hình 3 lớp sử dụng thêm Application Server giữ
nhiệm vụ tương tác giữa Client và Database server, giảm bớt các xử lý trên Database server, tập trung các xử lý nhận và hiển thị dữ liệu tại Application server
Trang 24 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
Khuyết điểm
Phải sử dụng thêm một Application Server Tăng chi
phí
Trang 25STATIC WEB PAGES (WEB TĨNH)
thức ở bất kỳ thời điểm nào khi user thực thi static web page dó
cầu 2 trang static web page thì web server lấy thông tin đã được lưu trên đĩa và gửi trả lại cho Broweser (.htm/.html)
Trang 26DYNAMIC WEB PAGES (WEB ĐỘNG)
hiển thị thì nội dung luôn thay đổi
Controls nhƣ: Tables, Textboxes, Buttons …
Trang 27DYNAMIC WEB PAGES (WEB ĐỘNG)
Khi bắt đầu Browser gửi 1 Http request tới IIS gồm địa
chỉ trang đang đƣợc sử dụng, cùng với các thông tin
mà user nhập vào từ form
Khi IIS nhận đƣợc yêu cầu thì IIS sẽ xác định chắc
rằng thông tin đƣợc gửi từ Dynamic Web IIS lại gửi thông tin nhận đƣợc đến ASP.Net, ASP.Net nhận
quản lý và thực thi yêu câu nhận đƣợc
Trang 28DYNAMIC WEB PAGES (WEB ĐỘNG)
Để phân biệt giữa Static Web và Dynamic Web, IIS
đƣa vào loại file mà nó nhận đƣợc (.html/.htm hoac aspx/ asp)
Thông tin từ ASP.Net gửi tới Server, sau khi đã xử lý
xong Web server gửi lại thông tin cho Web Browser ở dạng Http Response và hiển thị nội dung lên trang
Khi user click vào 1 control nào đó để bắt đầu 1 Http
request thì quá trình này đƣợc gọi là “posting back to server”, quá trình này liên quan tới thuộc tính
“postback”
Trang 29GIỚI THIỆU TỔNG QUÁT VỀ ASP.NET
ASP.NET LÀ GÌ?
SƠ LƯỢC VỀ NET FRAMEWORK
KIẾN TRÚC CHUNG CỦA ASP.NET
CÁC PHẦN MỀM CẦN THIẾT
SO SÁNH ASP.NET VÀ ASP
PHƯƠNG PHÁP LÀM VIỆC TRONG MẠNG
CÁC BƯỚC ĐỂ QUẢN LÝ MỘT WEBSITE
CÁC THÀNH PHẦN CỦA MỘT TRANG ASP.NET
CÁCH TẠO VÀ CHẠY ỨNG DỤNG ASP.NET ĐẦU TIÊN
TRIỂN KHAI ỨNG DỤNG WEB
CÁC ĐỐI TƯỢNG TRONG ASP.NET
Trang 30GIỚI THIỆU VỀ ASP.NET
ASP.Net (Active Server Pages NET ) là kỹ thuật lập trình và phát
triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft Net Framework
lập trình
tự động đƣợc chuyển sang HTML/JavaScript/CSS và trả về cho Client
còn gọi là kỹ thuật lập trình ở phía server
Trang 31GIỚI THIỆU VỀ ASP.NET
Trang 32 Trang ASP.Net được biên dịch trước Thay vì phải
đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả
GIỚI THIỆU VỀ ASP.NET
Trang 33Giới thiệu ASP.NET _Lịch sử phát triển
Trang 34GIỚI THIỆU VỀ ASP.NET
ASP.NET hỗ trợ 3 cách phát triển khác nhau: Web Pages, MVC (Model View Controller), và Web Forms
Trang 35CÁC ƢU ĐiỂM CỦA ASP.NET
Cho phép viết nhiều ngôn ngữ : VBScript,JavaScript, C#,
Visual Basic.Net,…
Sử dụng phong cách lập trình mới: Code behide Tách
code riêng, giao diện riêng Dễ đọc, dễ quản lý và bảo trì
Hỗ trợ các validation controls để kiểm tra chúng ta không
cần viết mã,
Hỗ trợ phát triển Web đƣợc truy cập trên các thiết bị di
động: PocketPC, Smartphone…
Hỗ trợ nhiều web server control
Hỗ trợ thiết kế và xây dựng MasterPage lồng nhau
Hỗ trợ bẫy lỗi (debug) JavaScript
Trang 36 Cho phép người dùng thiết lập giao diện trang Web theo
sở thích cá nhân sử dụng Theme, Profile, WebPart
Tăng cường các tính năng bảo mật (security)
Hỗ trợ kỹ thuật truy cập dữ liệu mới LINQ
Hỗ trợ kỹ thuật xây dụng các ứng dụng đa phương tiện
SilverLight
Hỗ trợ kỹ thuật bất đồng bộ ASP.Net Ajax
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 cơ sở dữ liệu qua ADO.Net, …
ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng
CÁC ƯU ĐiỂM CỦA ASP.NET
Trang 37 Kiến trúc lập trình giống ứng dụng trên Windows
Hỗ trợ quản lý trạng thái của các control
Tự động phát sinh mã HTML cho các Server control tương
ứng với từng loại Browser
Hỗ trợ nhiều cơ chế Cache
Triển khai cài đặt : Không cần lock, không cần đăng ký
DLL, cho phép nhiều hình thức cấu hình ứng dụng
Hỗ trợ quản lý ứng dụng ở mức toàn cục: Global.aspx có
nhiều sự kiện hơn, quản lý session trên nhiều Server, không cần Cookies
ASP.Net biên dịch những trang web động thành những tập
tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả
CÁC ƯU ĐiỂM CỦA ASP.NET
Trang 38NỘI DUNG
ASP.NET LÀ GÌ?
SƠ LƯỢC VỀ NET FRAMEWORK
KIẾN TRÚC CHUNG CỦA ASP.NET
CÁC PHẦN MỀM CẦN THIẾT
SO SÁNH ASP.NET VÀ ASP
PHƯƠNG PHÁP LÀM VIỆC TRONG MẠNG
CÁC BƯỚC ĐỂ QUẢN LÝ MỘT WEBSITE
CÁC THÀNH PHẦN CỦA MỘT TRANG ASP.NET
CÁCH TẠO VÀ CHẠY ỨNG DỤNG ASP.NET ĐẦU TIÊN
TRIỂN KHAI ỨNG DỤNG WEB
CÁC ĐỐI TƯỢNG TRONG ASP.NET
Trang 39 NET Framework là một tập hợp những giao diện lập
trình và là tâm điểm của nền tảng NET của microsoft
Nó cung cấp cơ sở hạ tầng để xây dựng và chạy các dịch vụ Web
Net framework còn cung cấp các công cụ, các
component hỗ trợ trong việc xây dựng một phần mềm, như tạo ra một môi trường phát triển tích hợp
thiết kế, viết mã, debug, chương trình
Các ngôn ngữ lập trình chính thức C#, Vb.Net,
Managed C++ và J#,
Một số thư viện lớp có liên hệ với nhau gọi là
Framework Class Library (FCL)
SƠ LƯỢC VỀ NET FRAMEWORK
Trang 40SƠ LƢỢC VỀ NET FRAMEWORK
Trang 41 Common Language Runtime (bộ thực thi ngôn
ngữ chung CRL) 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
SƠ LƢỢC VỀ NET FRAMEWORK
Trang 42Các chức năng của CLR
có thể tích hợp với nhau một cách thông suốt
“gom rác” (garbage collection)
SƠ LƢỢC VỀ NET FRAMEWORK
Trang 43SƠ LƢỢC VỀ NET FRAMEWORK
Base Class Library – Thư viện các lớp cơ sở
Đây là thƣ viện các lớp cơ bản nhất, cung cấp các lớp
đã đƣợc xây dựng sẵn phục vụ cho việc xây dựng ứng dụng nhƣ: I/O, collections, text processing, networking, security, multi – threading,
Trang 44SƠ LƢỢC VỀ NET FRAMEWORK
Ado.Net và Xml
Bộ thƣ viện này gồm các lớp dùng để xử lý dữ liệu
ADO.NET Các lớp đối tƣợng XML đƣợc cung cấp để bạn
xử lý các dữ liệu theo định dạng mới: XML Các ví dụ cho
bộ thƣ viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter,…
Trang 45SƠ LƢỢC VỀ NET FRAMEWORK
Asp.Net
bắt sự kiện và xử lý dữ liệu của ứng dụng nhƣ đang làm việc với ứng dụng Windows Cho phép chúng chuyển ứng dụng chạy
Trang 46SƠ LƢỢC VỀ NET FRAMEWORK
Namespace phân nhóm các lớp đối tượng theo loại
Namespace là tên gọi một nhóm các lớp đối tƣợng phục vụ cho một
mục đích
Drawing
nhất là System
Trang 47SƠ LƢỢC VỀ NET FRAMEWORK
Môi trường tích hợp (IDE) của ASP.NET
ngữ lập trình (ASP.NET, VB.NET, C#,…) đảm bảo tính nhất quán cho các ngôn ngữ trên nền NETchỉ cần “Học một lần nhƣng áp dụng mọi nơi”
Cửa sổ giao diện chính của môi trường phát triển tích hợp
Trang 48SƠ LƢỢC VỀ NET FRAMEWORK
Môi trường tích hợp (IDE)
Giao diện của hệ thống IDE
Trang 49NỘI DUNG
ASP.NET LÀ GÌ?
SƠ LƯỢC VỀ NET FRAMEWORK
KIẾN TRÚC CHUNG CỦA ASP.NET
CÁC PHẦN MỀM CẦN THIẾT
SO SÁNH ASP.NET VÀ ASP
PHƯƠNG PHÁP LÀM VIỆC TRONG MẠNG
CÁC BƯỚC ĐỂ QUẢN LÝ MỘT WEBSITE
CÁC THÀNH PHẦN CỦA MỘT TRANG ASP.NET
CÁCH TẠO VÀ CHẠY ỨNG DỤNG ASP.NET ĐẦU TIÊN
TRIỂN KHAI ỨNG DỤNG WEB
CÁC ĐỐI TƯỢNG TRONG ASP.NET
Trang 50ASP.NET APLICATION ARCHITECTURE
Client Web
Browser
Web Form
XML Web Services
Component Services
XML
XML XML
Binary
SOAP
Presentation tier Business Logic tier Data tier
Một ứng dụng thường được chia thành 3 lớp phân biệt:
Tầng trình diễn (Presentation Tier – FrontEnd) Tầng logic (Logical Tier – Middleware)
Tầng dữ liệu (Data Tier – BackEnd)
Trang 51KIẾN TRÚC ỨNG DỤNG WEB
Tầng trình diễn (Presentation Tier)
Người sử dụng giao tác với tầng nghiệp vụ thông qua
tầng trình diễn Đây được xem là màn hình giao diện của chương trình
Client Web Browser
Presentation tier
Trang 52KIẾN TRÚC ỨNG DỤNG WEB
Tầng Logic (Bussiness Logical Tier)
tầng nghiệp vụ và tầng truy cập dữ liệu (Business and Data Access Tiers)
Business mà không thể với tầng DataAccess
Web Form
XML Web Services
Component Services
Binary
SOAP
Trang 53KIẾN TRÚC ỨNG DỤNG WEB
Tầng Truy cập dữ liệu (Data Access Tier):
Hoạt động như giao diện để truy xuất tầng dữ liệu
Định nghĩa các phương thức lấy dữ liệu, lưu trữ dữ liệu
Tầng Nghiệp vụ (Bussiness Tier)
Định nghĩa các phương thức tổng hợp dữ liệu
Không truy nhập trực tiếp đến cơ sở dữ liệu
Các dữ liệu đầu vào do tầng truy cập dữ liệu cung cấp
Trang 54KIẾN TRÚC ỨNG DỤNG WEB
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, và có thể xem các store procedures như là 1 phần của tầng dữ liệu
Trang 55QUÁ TRÌNH XỬ LÝ TẬP TIN ASPX
Khi Web Server nhận đƣợc yêu cầu từ phía client, nó
sẽ tìm kiếm tập tin đƣợc yêu cầu thông qua chuỗi URL đƣợc gởi về, sau đó, tiến hành xử lý theo sơ đồ sau:
Minh họa quá trình biên dịch trang ASP.Net
Trang 56QUÁ TRÌNH XỬ LÝ TẬP TIN ASPX
Trang 57NỘI DUNG
ASP.NET LÀ GÌ?
SƠ LƯỢC VỀ NET FRAMEWORK
KIẾN TRÚC CHUNG CỦA ASP.NET
CÁC PHẦN MỀM CẦN THIẾT
SO SÁNH ASP.NET VÀ ASP
PHƯƠNG PHÁP LÀM VIỆC TRONG MẠNG
CÁC BƯỚC ĐỂ QUẢN LÝ MỘT WEBSITE
CÁC THÀNH PHẦN CỦA MỘT TRANG ASP.NET
CÁCH TẠO VÀ CHẠY ỨNG DỤNG ASP.NET ĐẦU TIÊN
TRIỂN KHAI ỨNG DỤNG WEB
CÁC ĐỐI TƯỢNG TRONG ASP.NET
Trang 58KHÁC BIỆT GIỮA ASP.NET VÀ ASP
phương pháp của ASP
Tập tin của ASP.NET (ASP.NET file) có
phần mở rộng là “.ASPX”
Tập tin của ASP (ASP file) có có phần mở
rộng là “.ASP”
Tập tin của ASP.NET (ASP.NET file)
được phân tích ngữ pháp (parsed) bởi
XSPISAPI.DLL
Tập tin của ASP được phân tích bởi ASP.DLL
ASP.NET là kiểu mẫu lập trình phát
động bằng sự kiện (event driven)
Các trang ASP được thi hành theo thứ tự tuần tự từ trên xuống dưới
Trang 59KHÁC BIỆT GIỮA ASP.NET VÀ ASP
(compiled code) nên rất nhanh
code) do đó hiệu suất và tốc độ phát triển cũng thua sút hẳn
lập trình mới với NET và chạy trong
environment
ASP.NET còn kết hợp nhuần nhuyễn
tin (information) qua mạng
JavaScript nên ASP chỉ là một scripted
the interpreter environment)
và quan trọng hơn nữa là hổ trợ các
thiết bị lưu động (mobile devices)
Chính các thiết bị lưu động, mà mỗi ngày càng phổ biến, đã khiến việc dùng ASP
tới thị trường mới đó trở nên vô cùng khó khăn
Trang 60GIỚI THIỆU VỀ ASP.NET
ASP.NET LÀ GÌ?
SƠ LƯỢC VỀ NET FRAMEWORK
KIẾN TRÚC CHUNG CỦA ASP.NET
CÁC PHẦN MỀM CẦN THIẾT
SO SÁNH ASP.NET VÀ ASP
PHƯƠNG PHÁP LÀM VIỆC TRONG MẠNG
CÁC BƯỚC ĐỂ QUẢN LÝ MỘT WEBSITE
CÁC THÀNH PHẦN CỦA MỘT TRANG ASP.NET
CÁCH VIẾT MỘT TRANG ASP.NET
TẠO TRANG ASP.NET ĐẦU TIÊN
Trang 61PHẦN MỀM CẦN THIẾT
Windows 2000 (Professional hay Server) trở lên hay Windows XP (Home hay Professional)
Ngoài ra, bạn cần phải có NET framework SDK
Microsoft
Cuối cùng, bạn cần phải có và cài đặt thành công một
cơ sở dữ liệu (Database) vững mạnh tương ứng với
2000, 2008,… để dùng lưu trữ những thông tin cần thiết
Trang 62Web Server IIS
Internet Information Services (IIS)
IIS có thể đƣợc sử dụng nhƣ một Web server, 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
IIS cung cấp các tùy chọn để định hình nội dung, quá
trình thực hiện và điều khiển sự truy cập trang Web
IIS có rất nhiều phiên bản, đầu tiên đƣợc phát hành
rời trong bản Service pack của WinNT