Mục tiêu học phầnngữ lập trình như JSP, ASP, PHP để phát triển ứng dụng web theo mô hình 3 lớp; Nắm vững các kiến thức về xây dựng các dịch vụ dữ liệu dựa trên nền tảng công nghệ web h
Trang 1Bài giảng Công nghệ Web và Dịch vụ trực tuyến
Giới thiệu môn học và các khái niệm cơ bản
Bài giảng Công nghệ Web và Dịch vụ trực tuyến
Giới thiệu môn học và các khái niệm cơ bản
Giảng viên: TS Tạ Tuấn Anh ttanh@ciid.vast.vn, anhtt@soict.hut.edu.vn
Trang 2Mục tiêu học phần
ngữ lập trình như JSP, ASP, PHP để phát triển
ứng dụng web theo mô hình 3 lớp;
Nắm vững các kiến thức về xây dựng các dịch vụ
dữ liệu dựa trên nền tảng công nghệ web hiện
đang thịnh hành như XML, Web Service;
Hiểu rõ để có thể thiết kế và phát triển ứng dụngweb theo các mô hình của hệ quản trị nội dụng(CMS), cổng thông tin (Portal), hay các ứng dụngđiện tử (eCommerce, eLearning, eGoverment,…)
ngữ lập trình như JSP, ASP, PHP để phát triển
ứng dụng web theo mô hình 3 lớp;
Nắm vững các kiến thức về xây dựng các dịch vụ
dữ liệu dựa trên nền tảng công nghệ web hiện
đang thịnh hành như XML, Web Service;
Hiểu rõ để có thể thiết kế và phát triển ứng dụngweb theo các mô hình của hệ quản trị nội dụng(CMS), cổng thông tin (Portal), hay các ứng dụngđiện tử (eCommerce, eLearning, eGoverment,…)
Trang 3 Quản trị nội dung CMS
Cổng thông tin điện tử
Quản trị nội dung CMS
Cổng thông tin điện tử
Các mô hình ứng dụng trực tuyến
eLearning
eCommerce
eGoverment
Trang 4Sự phát triển của web
Trang 5Web là gì?
Hệ thống thông tin toàn cầu được đề xuất bởi TimBerners-Lee ban đầu được xây dựng cơ bản trên
3 thành phần chính
Định danh tài nguyên URL
Tài nguyên siêu văn bản HTML
Giao thức trao đổi dữ liệu siêu văn bản HTTP
Chủ yếu hoạt động trên mô hình client-server với
Máy chủ web (server): Apache, IIS,…
Trình duyệt (client): IE, Firefox, Chrome,…
Hệ thống thông tin toàn cầu được đề xuất bởi TimBerners-Lee ban đầu được xây dựng cơ bản trên
3 thành phần chính
Định danh tài nguyên URL
Tài nguyên siêu văn bản HTML
Giao thức trao đổi dữ liệu siêu văn bản HTTP
Chủ yếu hoạt động trên mô hình client-server với
Máy chủ web (server): Apache, IIS,…
Trình duyệt (client): IE, Firefox, Chrome,…
Trang 6Định danh tài nguyên
URI (Uniform Resource Identifier) gồm
URL (Uniform Resource Locator)
URN (Uniform Resource Name)
URL định danh tài nguyên theo vị trí truy cập
URL = scheme + host + path
Eg http://www.abc.com/public/hello.html
URL thay đổi khi vị trí thay đổi Có thể sử dụng thêmdịch vụ PURL Ví dụ http://purl.oclc.org
URL định danh tài nguyên không theo vị trí
URN = scheme + namespace + identifier
Eg URN:ISBN:1234567890
URI (Uniform Resource Identifier) gồm
URL (Uniform Resource Locator)
URN (Uniform Resource Name)
URL định danh tài nguyên theo vị trí truy cập
URL = scheme + host + path
Eg http://www.abc.com/public/hello.html
URL thay đổi khi vị trí thay đổi Có thể sử dụng thêmdịch vụ PURL Ví dụ http://purl.oclc.org
URL định danh tài nguyên không theo vị trí
URN = scheme + namespace + identifier
Eg URN:ISBN:1234567890
Trang 7Ngôn ngữ đánh dấu siêu văn bản
Rich Text = văn bản có định dạng
Hyper Text là văn bản có định dạng đồng thời có thểchèn thêm hình ảnh và các đường dẫn liên kết
Markup Language là ngôn ngữ văn bản có cấu trúcthông qua sử dụng các thẻ đánh dấu
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
Rich Text = văn bản có định dạng
Hyper Text là văn bản có định dạng đồng thời có thểchèn thêm hình ảnh và các đường dẫn liên kết
Markup Language là ngôn ngữ văn bản có cấu trúcthông qua sử dụng các thẻ đánh dấu
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
Trang 9 CSS = Cascading Style Sheets là ngôn ngữ bổ
sung cho HTML để định tách định dạng hiển thị rakhỏi nội dung văn bản
Định nghĩa cách thức trình bày cho các cấu trúc củavăn bản
Cho phép nhiều cách trình bày khác nhau cho cùngmột nội dung
Ví dụ:
body { background-color:#d0e4fe; }
h1 { color:orange; text-align:center; }
p { font-family:"Times New Roman"; font-size:20px; }
CSS = Cascading Style Sheets là ngôn ngữ bổ
sung cho HTML để định tách định dạng hiển thị rakhỏi nội dung văn bản
Định nghĩa cách thức trình bày cho các cấu trúc củavăn bản
Cho phép nhiều cách trình bày khác nhau cho cùngmột nội dung
Trang 10 Hyper Text Transfer Protocol
HTTP Request luôn được khởi tạo bởi client
HTTP Response được trả lời cho mỗi request củaclient
Sử dụng giao thức TCP trong trao đổi dữ liệu
Giao thức dạng phi trạng thái
Version HTTP/1.1
HTTPS là giao thức mã hóa dữ liệu của HTTP dựatrên SSL (Socket Secure Layer)
Hyper Text Transfer Protocol
HTTP Request luôn được khởi tạo bởi client
HTTP Response được trả lời cho mỗi request củaclient
Sử dụng giao thức TCP trong trao đổi dữ liệu
Giao thức dạng phi trạng thái
Version HTTP/1.1
HTTPS là giao thức mã hóa dữ liệu của HTTP dựatrên SSL (Socket Secure Layer)
Trang 11Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Trang 12Ví dụ một response
HTTP/1.1 200 OK
Date: Wed, 30 Sep 2009 13:01:41 GMT
Server: Apache/1.3.33 (Unix) PHP/5.2.8
Date: Wed, 30 Sep 2009 13:01:41 GMT
Server: Apache/1.3.33 (Unix) PHP/5.2.8
Trang 13Cấu trúc message
Dòng bắt đầu
Phần header
Nội dung (body)
Dòng bắt đầu của request chứa câu lệnh yêu cầu
GET, POST, PUT, DELETE,…
Dòng bắt đầu của response luôn chứa mã kết quả
200-299: thành công (vd., 200 = OK)
400-499: lỗi phía client (vd., 404 = Not Found)
500-599: lỗi phía server (vd., 503 = Service
Unavailable)
Dòng bắt đầu
Phần header
Nội dung (body)
Dòng bắt đầu của request chứa câu lệnh yêu cầu
GET, POST, PUT, DELETE,…
Dòng bắt đầu của response luôn chứa mã kết quả
200-299: thành công (vd., 200 = OK)
400-499: lỗi phía client (vd., 404 = Not Found)
500-599: lỗi phía server (vd., 503 = Service
Unavailable)
Trang 14Keep-Alive (HTTP/1.0) and Persistent (HTTP/1.1)
Mỗi request tương ứng với một kết nối Có thể yêu cầu giữ kết nối
để tăng cường hiệu năng hệ thống
Keep-Alive (HTTP/1.0) and Persistent (HTTP/1.1)
Mỗi request tương ứng với một kết nối Có thể yêu cầu giữ kết nối
để tăng cường hiệu năng hệ thống
Trang 16Bài tập lập trình
Tìm hiểu và lập trình mô phỏng ứng dụng web
server để có thể trả về kết quả cho browser nhưsau:
http://localhost:8080/html : trả về một file html có nộidung tùy ý
http://localhost:8080/jpeg : trả về một ảnh jpeg để hiệnthị trên browser
http://localhost:8080/mjpeg: trả về một video dạng
motion jpeg để hiển thị trên browser
Tìm hiểu và lập trình mô phỏng ứng dụng web
server để có thể trả về kết quả cho browser nhưsau:
http://localhost:8080/html : trả về một file html có nộidung tùy ý
http://localhost:8080/jpeg : trả về một ảnh jpeg để hiệnthị trên browser
http://localhost:8080/mjpeg: trả về một video dạng
motion jpeg để hiển thị trên browser
Trang 18Công nghệ web 2.0
Trang 19Blog và Mạng xã hội
Trang 20Công nghệ Web ngữ nghĩa
Trang 21Kiến trúc web ngữ nghĩa
Trang 22Các công nghệ lập trình
Trang 23Phương pháp học tập
Lý thuyết và bài tập trên lớp
Mô hình, phương pháp phát triển các ứng dụng web
Các framework lập trình cơ bản: PHP Java
Công nghệ xử lý dữ liệu web: XML, web service
Các ứng dụng cơ bản: CMS, Portal,…
Bài tập lớn lập trình theo nhóm 4 người (bắt buộc)
Xây dựng một CMS mini, xây dựng một ứng dụng web gis,…
Trình bày kết quả sản phẩm tuần 14-15 Kết quả tính điểm giữa kì
(30%)
Bài tập tiểu luận theo cá nhân (không bắt buộc)
Tự lựa chọn 1 chủ đề bất kì đã giới thiệu trong môn học Đi sâu phân tích viết thành báo cáo tổng hợp dưới dạng tutorial trong 20-30 trang.
Các báo đạt chất lượng (tự viết - không phải là copy) được tính vào bài thi cuối kì tối thiểu 8 điểm Nộp tiểu luận vào tuần thứ 15 qua email.
Kiểm tra cuối kì (bắt buộc)
Lý thuyết và bài tập trên lớp
Mô hình, phương pháp phát triển các ứng dụng web
Các framework lập trình cơ bản: PHP Java
Công nghệ xử lý dữ liệu web: XML, web service
Các ứng dụng cơ bản: CMS, Portal,…
Bài tập lớn lập trình theo nhóm 4 người (bắt buộc)
Xây dựng một CMS mini, xây dựng một ứng dụng web gis,…
Trình bày kết quả sản phẩm tuần 14-15 Kết quả tính điểm giữa kì
(30%)
Bài tập tiểu luận theo cá nhân (không bắt buộc)
Tự lựa chọn 1 chủ đề bất kì đã giới thiệu trong môn học Đi sâu phân tích viết thành báo cáo tổng hợp dưới dạng tutorial trong 20-30 trang.
Các báo đạt chất lượng (tự viết - không phải là copy) được tính vào bài thi cuối kì tối thiểu 8 điểm Nộp tiểu luận vào tuần thứ 15 qua email.
Kiểm tra cuối kì (bắt buộc)