NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPIGi¶i ph¸p Display Control Application Process Data Access M¸y Application Server Terminal Server C¸c m¸y Thin Client Terminals Dis
Trang 1NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Webbased CS Model
XD øng dông trªn nÒn WWW
Néi dung
Normalization CS Model World Wide Web
Webbased CS Model CGI
WSAPI
Trang 2NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Ch−¬ng tr×nh kh¸ch Qu¶n lý Tµi vô Ch−¬ng tr×nh kh¸ch Qu¶n lý C«ng v¨n
Ch−¬ng tr×nh kh¸ch Qu¶n lý C¸n bé
Ch−¬ng tr×nh kh¸ch Qu¶n lý Tµi vô Ch−¬ng tr×nh kh¸ch Qu¶n lý C«ng v¨n
Ch−¬ng tr×nh phôc vô Qu¶n lý C¸n bé
Ch−¬ng tr×nh phôc vô Qu¶n lý Tµi vô
Ch−¬ng tr×nh phôc vô Qu¶n lý C«ng v¨n
M¸y Server C¸c m¸y Client
Trang 3NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Gi¶i ph¸p
Display Control
Application Process
Data Access
M¸y Application Server (Terminal Server)
C¸c m¸y Thin Client
(Terminals)
Display Control
Display Control
C.tr×nh øng dông QLCB
C.tr×nh øng dông QLTV
C.tr×nh øng dông QLCV
Database Server
Data Access
Data Access
Data Access
M¸y DataBase Server
Trang 4NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Ch−¬ng tr×nh kh¸ch chuÈn
Ch−¬ng tr×nh phôc vô Qu¶n lý C¸n bé
Ch−¬ng tr×nh phôc vô Qu¶n lý Tµi vô Ch−¬ng tr×nh phôc vô Qu¶n lý C«ng v¨n
Software Model?
Trang 5NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Normalization CS Model
Ch−¬ng tr×nh phôc vô Qu¶n lý C¸n bé
Ch−¬ng tr×nh phôc vô Qu¶n lý Tµi vô
Ch−¬ng tr×nh phôc vô Qu¶n lý C«ng v¨n
M¸y Server
Ch−¬ng tr×nh kh¸ch chuÈn
C¸c m¸y Client
Ch−¬ng tr×nh kh¸ch chuÈn
Ch−¬ng tr×nh kh¸ch chuÈn
Normalization
Trang 6NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
trªn nÒn siªu v¨n b¶n X©y dùng theo m« h×nh
Client/ Server
PhÇn mÒm phôc vô phÝa server
Web Server(HTTP Server)
Web Browser
Web Browser
PhÇn mÒm phÝa m¸y kh¸ch
C¸c tÖp siªu v¨n b¶n
Tæ chøc giao tiÕp & tr×nh diÔn
Cung cÊp siªu v¨n b¶n víi HyperText Transport Protocol
WWW
Trang 7NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
How Web Server Work
HyperText
WWW connection is closed
Trang 8NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Query String & Response String
HTTP Server
WebBrowser WebBrowser
WebBrowser
WWW
Trang 9NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Number of Hits in a while
HTTP Server
WebBrowser WebBrowser
WebBrowser
Trang 10NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
M« h×nh Client Server chuÈn ho¸ víi Common Gateway lµ WebServer
Ch−¬ng tr×nh phôc vô Qu¶n lý C¸n bé
Ch−¬ng tr×nh phôc vô Qu¶n lý Tµi vô
Ch−¬ng tr×nh phôc vô Qu¶n lý C«ng v¨n
Trang 11NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
CGI variables
WebBased CSS
Trang 12NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
WebBrowser WebBrowser
WebBrowser
Chg tr×nh
øng dông
DBAPI – DataBase Application Programming Interface
CGI WebBased CSS
Trang 13Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
WebBrowser WebBrowser
WebBrowser
Chg trình
ứng dụng
DBAPI – DataBase Application Programming Interface
Siêu văn bản được sinh một cách “động” theo yêu cầu của người dùng
CGI WebBased CSS
Trang 14NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
WebBrowser
Trang 15NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Web Browser Web Browser
Web Browser
Chg tr×nh øng dông
Ng«n ng÷ lËp tr×nh cã thÓ sö dông:
- TÊt c¶ c¸c ng«n ng÷ lËp tr×nh hç trî c¸c hµm vµo ra chuÈn
vµ hµm lÊy biÕn m«i tr−êng.
- Cã th− viÖn DBAPI cña DataBase Server hoÆc hç trî giao
tiÕp ODBC.
CGI WebBased CSS
Trang 16NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Web Server víi CGI Applications
CGI WebBased CSS
Trang 17NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Web Server víi CGI Applications
DataBase
WWW
Web Server passes data from the form filled by client to CGI App.
and sends output of CGI App to client
Trang 18Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
Mỗi ứng dụng sử lý dữ liệu trên nền Web sẽ được tiến hành qua
nhiều phiên giao tiếp:
Mỗi phiên bắt đầu bằng một yêu cầu kết nối từ client,Phiên giao tiếp kết thúc ngay sau khi client nhận được thông tin hồi đáp từ Web Server
Server không lưu trữ các kết quả (dữ liệu tính toán trung gian của ứng dụng) của phiên giao tiếp Lập trình viên phải chủ động
tổ chức lưu trữ các kết quả này hoặc trên server hoặc trên form giao tiếp
CGI WebBased CSS
Trang 19Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
HyperText form với ứng dụng dùng CGI
HyperText form được dùng để thiết kế giao diện với người dùng
CGI WebBased CSS
Trang 20NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
HyperText form víi øng dông dïng CGI
C¸c thÎ t¹o form
<input type=“text” name=“data_field_name” >
<input type=“radio” name=“data_field_name” >
<input type=“checkbox” name=“data_field_name” >
CGI WebBased CSS
Trang 21NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
HyperText form víi øng dông dïng CGI
C¸c thÎ t¹o form
<input type=“submit” name=“cmd_name” value=“display_value” >
<input type=“reset” name=“cmd_name” value=“display_value” >
<input type=“button” name=“cmd_name” value=“display_value” >
<textarea name=“data_field_name” > default_text_value </textara>
Textarea
CGI WebBased CSS
Trang 22NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
HyperText form víi øng dông dïng CGI
C¸c thÎ t¹o form
<input type=“file” name=“data_field_name” >
<input type=“hidden” name=“cmd_name” value=“hidden_value” >
CGI WebBased CSS
<input type=“password” name=“data_field_name” >
Trang 23Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
HyperText form với ứng dụng dùng CGI
Web Server chuyển dữ liệu được điền trong form cho ứng dụng CGI nhờ chỉ
thị action trong thẻ khai báo form:
<form name=“form_name” method=“post”
action=“http://domain_name/CGI_App_name”>
</form>
Chỉ thị: method=“post” quyết định phương thức trao đổi thông tin giữa
Web Browser và Web Server là “post”
CGI WebBased CSS
Trang 24Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
Ba công việc của một ứng dụng CGI
Phân tích dữ liệu nhận được từ form
Xử lý dữ liệu
Trả lời cho client
- Khi được gọi, ứng dụng CGI phải phân tích các dữ liệu nhận được từ form, trong đó có
các giá trị của các “command button” và biết được Client yêu cầu điều gì.
- Sau khi biết được yêu cầu của Client, ứng dụng CGI phải thực hiện các tính toán cần
thiết, có thể phải truy xuất cơ sở dữ liệu qua DBAPI hay ODBC để có được các kết quả
cần thiết theo yêu cầu của client
- Để trả lời cho Client, ứng dụng CGI phải biên tập lại kết quả đạt được dưới dạng một
siêu văn bản và gửi ra Standard Output cho Web Server.
Khi form được submit về Server, nhờ chỉ thị action trong khai báo form, Web Server biết sẽ
phải gọi tới ứng dụng CGI nào.
CGI WebBased CSS
Trang 25NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
VÝ dô
Víi form cã hai chøc n¨ng nhËp d÷ liÖu vµ xem d÷ liÖu
WebBased CSS CGI
Trang 26Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
Ví dụ
- Xác định xem button “Nhập” hay button “Xem DS” đã được bấm,
- Nếu “Nhập” được bấm thì phải lấy các dữ liệu từ các trường Họ và tên, Địa chỉ liên lạc, Điện thoại nhà riêng và Ghi chú.
- Nếu “Nhập” được bấm thì phải nhập các dữ liệu từ các trường Họ và tên, Địa chỉ liên lạc, Điện thoại nhà riêng và Ghi chú vào cơ sở dữ liệu
- Nếu “Xem DS” được bấm thì đọc các thông tin từ cơ sở dữ liệu.
- Nếu “Nhập” được bấm thì gửi cho client form siêu văn bản để client nhập dữ liệu tiếp
- Nếu “Xem DS” được bấm thì biên tập các thông tin đã lấy từ cơ sở dữ liệu thành một siêu văn bản và gửi cho client.
Trang 27NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
Web Browser Web Browser
Web Browser
Chg tr×nh øng dông
1 Bæ sung vµo c¸c ng«n ng÷ lËp tr×nh c¸c hµm hç trî
hypertext vµ giao tiÕp trong suèt víi CGI.
2 Bæ sung vµo WEB Server c¸c modules th«ng dÞch c¸c tµi liÖu më réng cña siªu v¨n b¶n – Web Server Application Programming Interface ( WSAPI ).
CGI WSAPI
CGI/ WSAPI
Trang 28NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
C¸c gi¶i ph¸p ph¸t triÓn
1 Theo h−íng bæ sung c¸c hµm hç trî siªu v¨n b¶n
vµ giao tiÕp trong suèt víi CGI:
Java, Perl, C, Basic, FoxPro, NetData, PHP, JSP, trªn c¸c m«i tr−êng Unix, Windows NT, Novell,
2 Theo h−íng bæ sung WSAPI:
- Netscape API cho Netscape Server
- ISAPI cho IIS trªn Windows NT: ASP
- Domino cña IBM cho Lotus Note
- PHP, JSP
-
CGI WSAPI
Trang 29Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
Các giải pháp phát triển
1a Theo hướng bổ sung các hàm hỗ trợ siêu văn bản
và giao tiếp trong suốt với CGI:
Sử dụng các hàm hay các biến bổ sung để lấy giá trị dữ liệu từ form nhập, dùng các hàm kết xuất ra standard output để tạo thẻ siêu văn bản
2a Theo hướng bổ sung WSAPI:
Nhờ hỗ trợ của các modules bổ sung mà có thể
“nhúng” các đoạn chương trình vào siêu văn bản
CGI WSAPI
Trang 30NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
/* $cmd= formfield( “cmd”) */
switch( $cmd) { case “Xem DS”
CGI WSAPI
Trang 31NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
%>
</body> </html>
CGI WSAPI
Trang 32Nguyễn Nam Hải Normalization WWW WebBased CSS CGI WSAPI
1b Theo hướng bổ sung các hàm hỗ trợ siêu văn
bản và giao tiếp trong suốt với CGI:
Truy xuất cơ sở dữ liệu thực hiện theo các phương thức quy định bởi DBAPI hay ODBC
2b Theo hướng bổ sung WSAPI:
Truy xuất cơ sở dữ liệu thực hiện theo phương thức mà các modules bổ sung cung cấp
CGI WSAPI
Trang 33NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
1b
function TableContent {
$db= mysql_connect( “Phancipang", "root");
Trang 34NguyÔn Nam H¶i Normalization WWW WebBased CSS CGI WSAPI
2b
function TableContent
set objDBConn=
Server.CreatObject( “ADODB.connection”) strConn=
“driver={MyDBtype};;uid=sa;pwd=;database=test”
objDB.Conn.Open strConn strCommandText=