Chương 1 : Tổng quan về internet và Thương Mại Điện Tử Chương 2 : Mô hình Client/Server Chương 3 : Lập trình trên WWW - Ngôn ngữ HTML Chương 4 : Cơ sở dữ liệu và phương pháp truy xuất
Trang 1MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ
I Công nghệ Internet
2 Cách thức truyền thông trên Internet 7
II Thương mại điện tử
2 Thương mại điện tử và tầm quan trọng của nó 11
3 Thực tế Thương mại điện tử ở Việt Nam 12
CHƯƠNG 2: MÔ HÌNH CLIENT/SERVER
IV Ứng dụng mô hình Client/Server 18
VII Mở rộng khả năng của Web Server 21
CHƯƠNG 3: LẬP TRÌNH TRÊN WWW - NGÔN NGỮ HTML
I Giới thiệu ngôn ngữ HTML (HyperText Makeup Language)
23
III Phương pháp thiết kế một trang Web 24
V Cách thức hoạt động của mô hình Web Client/Server 27
VI Xây dựng chương trình giao tiếp 28 VII Các phương pháp xây dựng chương trình giao tiếp 30
CHƯƠNG 4: CƠ SỞ DỮ LIỆU VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL
MySQL
I Các khái niệm cơ bản
Trang 22 Quản trị cơ sở dữ liệu là gì ? 32
II MySQL và phương pháp truy xuất CSDL MySQL
2 Phương pháp truy xuất CSDL MySQL 34
CHƯƠNG 5: PHP VÀ VIỆC XÂY DỰNG CÁC ỨNG DỤNG TRÊN WEB
CHƯƠNG 6: PHÂN TÍCH - THIẾT KẾ VÀ XÂY DỰNG
Website Viet7.biz - Đại lý bán Templates của Paypal Co.,Ltd
I Khảo sát hiện trạng
2 Nội dung chính của website www.viet7.biz 58
II Phân tích - thiết kế
2 Xây dựng biểu đồ phân cấp chức năng 59
3 Xây dựng biểu đồ luồng dữ liệu DFD 60
Trang 3LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển của khoa học kĩ thuật, công nghệ máy tính đã đạt được nhiều thành tựu to lớn nếu như không muốn nói những bước đột phá thần
kì Máy tính đã và đang được sử dụng rộng rãi trong các công việc mà trước đó con người phải sử dụng đôi bàn tay của mình với hình thức lao động thủ công năng suất thấp và chất lượng công việc không cao Với sự ra đời và phát triển không ngừng của công nghệ máy tính hiện nay đã một phần đáp ứng được nhu cầu trong cuộc sống, sản xuất, nghiên cứu khoa học và nó đã làm thay đổi bộ mặt xã hội
Để có một website “Thương mại điện tử” ứng dụng được, đáp ứng được nhu
cầu công việc đặt ra thì những người làm tin học phải biết phân tích thiết kế hệ thống làm việc của chương trình để từ đó xây dựng nên một website ứng dụng quản
lý chương trình đó bằng ngôn ngữ lập trình nào đó Trong thời đại bùng nổ của cuộc cách mạng công nghệ thông tin trên toàn cầu, Website đóng một vai trò vô cùng quan trọng Khi nói đến Internet, thì người ta không bao giờ tách rời khái niệm Web Với một vai trò quan trọng nhất là đảm bảo một môi trường chia sẻ thông tin chung cho toàn nhân loại Internet Web hiện nay đang chứa rất nhiều những giải pháp, những công nghệ để đảm nhận được vai trò to lớn của nó trong đời sống, kinh
tế, văn hóa, xã hội của toàn nhân loại
Một ứng dụng của công nghệ thông tin có vai trò rất quan trọng trong việc cung cấp thông tin, trao đổi thông tin, giao dịch thương mại … thông qua hệ thống Website trên Internet đã tạo ra một hiệu quả rất lớn Qua mạng Internet mọi người
có thể tìm kiếm thông tin về khoa học, giáo dục, dịch vụ, giải trí, du lịch, … phục
vụ và đáp ứng nhu cầu của mọi người Vì vậy xây dựng Website để đáp ứng tất cả những nhu cầu đó là hết sức cần thiết
Bắt nguồn từ những ý tưởng và nhu cầu thực tế đó em chọn đề tài:
“ Ứng dụng Thương Mại Điện Tử vào việc xây dựng Website Viet7.biz - Đại lý bán Templates của Paypal Co.,Ltd ”
Sau khi đã xây dựng hoàn thành trang Web, em xin được viết báo cáo cho Đồ án tốt nghiệp này Đồ án bao gồm những thành phần cơ bản sau :
Trang 4Chương 1 : Tổng quan về internet và Thương Mại Điện Tử
Chương 2 : Mô hình Client/Server
Chương 3 : Lập trình trên WWW - Ngôn ngữ HTML
Chương 4 : Cơ sở dữ liệu và phương pháp truy xuất CSDL MySQL
Chương 5 : PHP và việc xây dựng các ứng dụng trên Web
Chương 6: Phân tích - thiết kế và xây dựng Website Viet7.biz - Đại lý bán Templates của Paypal Co.,Ltd
Với nỗ lực của bản thân để hoàn thành tốt Đồ án tốt nghiệp nhưng do trình
độ kiến thức và kinh nghiệm còn non kém nên Đồ án còn có nhiều hạn chế, em kính mong ban chủ nhiệm Khoa, các Thầy cô giáo cùng các bạn đóng góp ý kiến để Đồ
án của em được phát triển và hoàn thiện hơn nữa
Và qua đây cho phép em gửi lời cảm ơn chân thành tới toàn thể các Thày cô giáo trong khoa Công nghệ Thông tin - Đại học Thái Nguyên đã hết lòng dạy dỗ, chỉ bảo, tạo điều kiện tốt cho em và các bạn trong suốt quá trình học tập và rèn luyện tại Khoa cũng như trong thời gian thực hiện Đồ án tốt nghiệp
Đặc biệt em xin bầy tỏ lòng biết ơn sâu sắc tới Cô giáo Trần Thị Ngân, Cô
đã hết sức quan tâm, tận tình hướng dẫn, giúp đỡ và tạo mọi điều kiện thuận lợi cho
em trong quá trình thực hiện Đồ án tốt nghiệp này Em xin chân thành cảm ơn đến ban giám hiệu khoa Công Nghệ Thông Tin, các Thầy cô giáo trong bộ môn Khoa học cơ bản và các Thầy cô đã dạy bảo, dìu dắt em trong suốt quá trình học tập tại Khoa
Cuối cùng em xin bầy tỏ lòng biết ơn tới gia đình, bạn bè đã động viên và giúp đỡ em trong suốt quá trình học tập Em xin chân thành cảm ơn!
Thái Nguyên, ngày 10 tháng 05 năm 2008
Trang 5
CHƯƠNG 1:
TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ
I CÔNG NGHỆ INTERNET
1 Internet và xuất xứ của nó
Internet là một mạng máy tính nối hàng triệu máy tính với nhau trên phạm vi toàn thế giới Internet có lịch sử rất ngắn, nó có nguồn gốc từ một dự án của Bộ Quốc Phòng Mỹ có tên là ARPANET vào năm 1969, dự án nhằm thực nghiệm xây dựng một mạng nối các trung tâm nghiên cứu khoa học và quân sự với nhau Đến
năm 1970 đã có thêm hai mạng: Store-and-forwarrd và ALOHAnet, đến năm 1972
hai mạng này đã được kết nối với ARPANET Cũng trong năm 1972 Ray Tomlinson phát minh ra chương trình thư tín điện tử E-mail Chương trình này đã nhanh chóng được ứng dụng rộng rãi để gửi các thông điệp trên mạng phân tán
Kết nối quốc tế đầu tiên vào ARPANET từ University College of London (Anh) và Royal Radar Establishment (Na Uy) được thực hiện vào năm 1973 Thành
công vang dội của ARPANET đã làm nó nhanh chóng được phát triển, thu hút hầu hết các trường đại học tại Mỹ Do đó tới năm 1983 nó đã được tách thành hai mạng riêng: MILNET tích hợp với mạng dữ liệu quốc phòng (Defense Data Network) dành cho các địa điểm quân sự và ARPANET dành cho các địa điểm phi quân sự Sau một thời gian hoạt động, do một số lý do kỹ thuật và chính trị, kế hoạch
sử dụng mạng ARPANET không thu được kết quả như mong muốn
Vì vậy Hội đồng khoa học quốc gia Mỹ (National Science Foundation) đã
quyết định xây dựng một mạng riêng NSFNET liên kết các trung tâm tính toán lớn
và các trường đại học vào năm 1986 Mạng này phát triển hết sức nhanh chóng, không ngừng được nâng cấp và mở rộng liên kết tới hàng loạt các doanh nghiệp, các
cơ sở nghiên cứu và đào tạo của nhiều nước khác nhau
Cũng từ đó thuật ngữ Internet ra đời Dần dần kỹ thuật xây dựng mạng ARPANET đã được thừa nhận bởi tổ chức NSF, kỹ thuật này được sử dụng để dựng mạng lớn hơn với mục đích liên kết các trung tâm nghiên cứu lớn của nước Mỹ
Người ta đã nối các siêu máy tính (Supercomputer)thuộc các vùng khác nhau bằng
Trang 6đường điện thoại có tốc độ cao Tiếp theo là sự mở rộng mạng này đến các trường đại học
Ngày càng có nhiều người nhận ra lợi ích của hệ thống trên mạng, người ta dùng để trao đổi thông tin giữa các vùng với khoảng cách ngày càng xa Vào những năm 1990 người ta bắt đầu mở rộng hệ thống mạng sang lĩnh vực thương mại tạo
thành nhóm CIX (Commercial Internet Exchange Association) Có thể nói Internet
thật sự hình thành từ đây
Cho đến thời điểm hiện tại, Internet đã trở thành một phần không thể tách rời của cuộc sống hiện đạiĐối với một người lao động bình thường tại một nước phát triển bình thường, Internet đã trở thành một khái niệm giống như Điện thoại, Tivi Trong thời gian biểu của một ngày làm việc đã xuất hiện một khoảng thời gian nhất định để sử dụng Internet, cũng giống như khoảng thời gian xem Tivi mà thôi
Theo số liệu thống kê, năm 2000 số lượng người sử dụng Internet là khoảng
150 triệu và dự đoán đến năm 2003 sẽ là 545 triệu người sử dụng hiệnSố lượng 150 triệu người sử dụng hiện tại được phân bố rất không đồng đều trên toàn cầuQuá nửa
số người sử dụng là ở khu vực Bắc Mỹ còn lại ở Châu Âu, Châu Á, Nam Mỹ, Châu Phi và khu vực cận ĐôngCụ thể là: Bắc Mỹ 57%, Châu Âu 21.75%, Nam Mỹ 3%, Châu Phi 0.75% và khu vực cận Đông 0.5%
Các loại hình dịch vụ được sử dụng nhiều nhất trên Internet là: Giáo dục, mua bán, giải trí, công việc thường ngày tại công sở, truyền đạt thông tin, các loại dịch
vụ có liên quan đến thông tin cá nhân Trong đó, các dịch vụ liên quan đến thông tin
cá nhân chiếm nhiều nhất, sau đó là công việc, giáo dục, giải trí và mua bán
2 Cách thức truyền thông trên Internet
Trong những năm 60 và 70, nhiều công nghệ mạng máy tính đã ra đời nhưng mỗi kiểu lại dựa trên các phần cứng riêng biệt Một trong những kiểu này được gọi
là mạng cục bộ (Local Area Networks - LAN), nối các máy tính với nhau trong
phạm vi hẹp bằng dây dẫn và một thiết bị được cài đặt trong mỗi máy Các mạng
lớn hơn được gọi là mạng diện rộng (Wide Area Networks - WAN), nối nhiều máy
tính với nhau trong phạm vi rộng thông qua một hệ thống dây truyền dẫn kiểu như trong các hệ thống điện thoại
Trang 7Mặc dù LAN và WAN đã cho phép chia sẻ thông tin trong các tổ chức một cách dễ dàng hơn nhưng chúng vẫn bị hạn chế chỉ trong từng mạng riêng rẽ Mỗi một công nghệ mạng có một cách thức truyền tin riêng dựa trên thiết kế phần cứng của nó Hầu hết các LAN và WAN là không tương thích với nhau
Internet được thiết kế để liên kết các kiểu mạng khác nhau và cho phép thông tin được lưu thông một cách tự do giữa những người sử dụng mà không cần biết họ
sử dụng loại máy nào và kiểu mạng gì Để làm được điều đó cần phải có thêm các
máy tính đặc biệt được gọi là các bộ định tuyến (Router) nối các LAN và các WAN
với các kiểu khác nhau lại với nhau Các máy tính được nối với nhau như vậy cần
phải có chung một giao thức (Protocol) tức là một tập hợp các luật dùng chung qui
định về cách thức truyền tin
Với sự phát triển mạng như hiện nay thì có rất nhiều giao thức chuẩn ra đời nhằm đáp ứng nhu cầu phát triển Các chuẩn giao thức được sử dụng rộng rãi nhất hiện nay như giao thức TCP/IP, giao thức SNA của IBM, OSIISDN, X.25 hoặc giao thức LAN to LAN netBIOS Giao thức được sử dụng rộng rãi nhất hiện nay trên mạng là TCP/IP Giao thức này cho phép dữ liệu được gửi dưới dạng các “gói “
(packet) thông tin nhỏ Nó chứa hai thành phần, Internet Protocol (IP) và
Transmission Control Protocol (TCP)
Giao thức TCP/IP đảm bảo sự thông suốt việc trao đổi thông tin giữa các máy tính Internet hiện nay đang liên kết hàng ngàn máy tính thuộc các công ty, cơ quan nhà nước, các trung tâm nghiên cứu khoa học, trường đại học, không phân biệt khoảng cách địa lý trên toàn thế giới Đó là ngân hàng dữ liệu khổng lồ của nhân loại
Một số mạng máy tính bao gồm một máy tính trung tâm (còn gọi là máy chủ)
và nhiều máy trạm khác nối với nó Các mạng khác kể cả Internet có quy mô lớn bao gồm nhiều máy chủ cho phép bất kỳ một mạng máy tính nào trong mạng đều có thể kết nối với các máy khác để trao đổi thông tin
Một máy tính khi được kết nối với Internet sẽ là một trong số hàng chục triệu thành viên của mạng khổng lồ này Vì vậy Internet là mạng máy tính lớn nhất thế giới hay nó là mạng của các mạng
Trang 83 Các dịch vụ trên Internet
Internet là công nghệ thông tin liên lạc mới, nó tác động sâu sắc vào xã hội, vào cuộc sống ở mức độ khá bao quát Nó đưa chúng ta vào một thế giới có tầm nhìn rộng lớn và chúng ta có thể làm mọi thứ như: viết thư, đọc báo, xem bản tin, giải trí, tra cứu và hiện nay các công ty có thể kinh doanh thông qua Internet, dịch
vụ thương mại điện tử hiện nay đang phát triển khá mạnh mẽ Dưới đây chỉ là một
số dịch vụ trên Internet:
Thư điện tử (E-mail): Dịch vụ E-mail có thể dùng để trao đổi thông tin giữa
các cá nhân với nhau, các cá nhân với tổ chức và giữa các tổ chức với nhau Dịch vụ này còn cho phép tự động gửi nội dung thông tin đến từng địa chỉ hoặc tự động gửi đến tất cả các địa chỉ cần gửi theo danh sách địa chỉ cho trước (gọi là mailing list) Nội dung thông tin gửi đi dùng trong thư điện tử không chỉ có văn bản (text) mà còn có thể ghép thêm (attack) các văn bản
đã được định dạng, graphic, sound, video Các dạng thông tin này có thể hoà trộn, kết hợp với nhau thành một tài liệu phức tạp Lợi ích chính dịch
vụ thư điện tử là thông tin gửi đi nhanh và rẻ
WWW (World Wide Web): Đây là khái niệm mà người dùng Internet quan
tâm nhiều nhất hiện nay Web là một công cụ, hay đúng hơn là một dịch vụ của Internet, Web chứa thông tin bao gồm văn bản, hình ảnh, âm thanh và thậm chí cả video được kết hợp với nhau Web cho phép chúng ta chui vào mọi ngõ ngách trên Internet, là những điểm chứa CSDL gọi là Website Nhờ có Web nên dù không phải là chuyên gia, mọi người có thể sử dụng Internet một cách dễ dàng Phần mềm sử dụng để xem Web gọi là trình duyệt (Browser) Một trong những trình duyệt thông thường hiện nay là Navigator của Netcape, tiếp đó là Internet Explorer của Microsoft
Dịch vụ truyền file (FTP - File Transfer Protocol): là dịch vụ dùng để trao
đổi các tệp tin từ máy chủ xuông các máy cá nhân và ngược lại
Gropher: Dịch vụ này hoạt động như viện Menu đủ loại Thông tin hệ thống Menu phân cấp giúp người sử dụng từng bước xác định được những thông tin cần thiết để đi tới vị trí cần đến Dịch vụ này có thể sử dụng để tìm kiếm thông tin trên các FTPSite
Trang 9Telnet: Dịch vụ này cho phép truy cập tới Server được xác định rõ như một TelnetSite tìm kiếm Server Người tìm có thể thấy một dịch vụ vô giá khi tìm kiếm các thông tin trong thư viện và các thông tin lưu trữ Telnet đặc biệt quan trọng trong việc kết nối các thông tin từ các máy tính xuống trung tâm
II THƯƠNG MẠI ĐIỆN TỬ
1 Thương mại điện tử là gì ?
Thương mại điện tử (E- Commerce) là hình thái hoạt động kinh doanh bằng
các phương pháp điện tử; là việc trao đổi “thông tin” kinh doanh thông qua các phương tiện công nghệ điện tử
- Là bán hàng trên mạng
- Là bán hàng trên Internet
- Là kinh doanh trên Internet
Đúng vậy, hiện nay có rất nhiều cách hiểu khác nhau về Thương mại điện tử Nhiều người hiểu Thương mại điện tử là bán hàng trên mạng, trên Internet Một số
ý kiến khác lại cho rằng Thương mại điện tử là làm thương mại bằng điện tử Những cách hiểu này đều đúng theo một góc độ nào đó nhưng chưa nói lên được phạm vi rộng lớn của Thương mại điện tử
Theo khái niệm này, Thương mại điện tử không chỉ là bán hàng trên mạng hay bán hàng trên Internet mà là hình thái hoạt động kinh doanh bằng các phương pháp điện tử Hoạt động kinh doanh bao gồm tất cả các hoạt động trong kinh doanh như giao dịch, mua bán, thanh toán, đặt hàng, quảng cáo và kể cả giao hàng Các phương pháp điện tử ở đây không chỉ có Internet mà bao gồm việc sử dụng các phương tiện công nghệ điện tử như điện thoại, máy FAX, truyền hình và mạng máy tính (trong đó có Internet) Thương mại điện tử cũng bao hàm cả việc trao đổi thông tin kinh doanh thông qua các phương tiện công nghệ điện tử Thông tin ở đây không chỉ là những số liệu hay văn bản, tin tức mà nó gồm cả hình ảnh, âm thanh và phim video
Các phương tiện điện tử trong Thương mại điện tử
+ Điện thoại
Trang 10+ Máy FAX
+ Truyền hình
+ Hệ thống thanh toán điện tử
+ Intranet / Extranet
Mạng toàn cầu Internet / World Wide Web
Các hình thức hoạt động Thương mại điện tử
+ Thư tín điện tử (E-mail)
+ Thanh toán điện tử
+ Trao đổi dữ liệu điện tử (EDI)
+ Trao đổi số hoá các dung liệu
+ Mua bán hàng hoá hữu hình
2 Thương mại điện tử và tầm quan trọng của nó
Ngày nay Thương mại điện tử đã trở thành một ngành kinh tế mũi nhọ trên thế giới và đã xuất hiện nhiều trung tâm thương mại và thị trường chứng khoán lớn trên thế giới
Hiện nay nhờ vào sự phát triển của các phương tiện truyền thông, đặc biệt là
sự phát triển của tin học đã tạo điều kiện cho mọi người có thể giao tiếp với nhau một cách nhanh chóng và dễ dàng hơn thông qua các dịch vụ Internet Vì là một môi trường truyền thông rộng khắp thế giới nên thông tin có thể giới thiệu tới từng thành viên một cách nhanh chóng và thuận lợi Chính vì vậy đã tạo điều kiện thuận lợi cho Thương mại điện tử thông qua Internet Và Thương mại điện tử nhanh chóng trở nên phổ biến trên thế giới trở thành một công cụ rất mạnh mẽ để bán hàng
và quảng cáo hàng hoá của các nhà cung cấp Đối với khách hàng, có thể có thể lựa chọn, so sánh hàng hoá phù hợp cả về loại hàng hoá, dịch vụ giá cả, chất lượng và phương thức giao hàng cho khách hàng
Có rất nhiều ý kiến cho rằng Thương mại điện tử là sự thay đổi lớn nhất trong kinh doanh kể từ sau cuộc cách mạng công nghiệp
Thương mại điện tử không chỉ mở ra những cơ hội kinh doanh mới, những sản phẩm và dịch vụ mới, những ngành nghề kinh doanh mới mà bản thân nó thực sự là
Trang 11một phương thức kinh doanh mới: Phương thức kinh doanh điện tử Thương mại điện tử chuyển hoá các chức năng kinh doanh, từ nghiên cứu thị trường và sản xuất sản phẩm đến bán hàng, dịch vụ sau bán hàng từ phương thức kinh doanh truyền thống đến phương thức kinh doanh điện tử
Theo Andrew Grove - Intel thì trong vòng năm năm, tất cả các công ty sẽ trở thành công ty Internet, hoặc sẽ không là gì cả Tuy câu nói này có phần phóng đại nhưng nó phản ánh về cơ bản tầm quan trọng và sự ảnh hưởng của Thương mại điện
tử đến kinh doanh trong thời đại hiện nay
3 Thực tế Thương mại điện tử ở Việt Nam
Doanh thu từ các hoạt động Thương mại điện tử tại khu vực Châu Á hiện tại là khá thấp so với các khu vực khác
Khi đặt vấn đề phát triển Thương mại điện tử của một nước, việc đầu tiên cần
đề cập đến là mức độ phát triển nền CNTT của nước này Việt Nam là một nước có nền CNTT kém phát triển so với thế giới nói chung và khu vực nói riêng Xoay quanh vấn đề phát triển CNTT ở Việt Nam hiện còn tồn tại nhiều vấn đề nổi cộm
Có thể lấy ví dụ : Vấn đề bản quyền phần mềm, vấn đề đội ngũ những người làm tin học còn quá ít ỏi và thiếu đào tạp cơ bản, vấn đề phương hướng phát triển, đầu tư cơ bản, đầu tư mạo hiểm v.v
Theo định hướng của Chính phủ (phát biểu của Giáo sư Chu Hảo, Thứ trưởng
Bộ Khoa học Công nghệ và Môi trường với báo chí) thì “ Trong tương lai, công nghiệp phần mềm sẽ trở thành một ngành kinh tế mũi nhọn của Việt Nam ” Nhưng tương lai đó có vẻ như còn rất xa nếu xét tình hình hiện tại Tuy nhiên, nhìn
từ góc độ của những nhà tin học chuyên nghiệp nước ngoài thì lại có vẻ khá lạc quan, như lời ông Peter Knook (Phó chủ tịch tập đoàn Microsoft) nói nhân dịp ông sang thăm và làm việc tại Việt Nam năm 1999: “ Việt Nam có tiềm năng to lớn trong việc phát triển ngành CNTT của mình, vì Việt Nam là nước với 80 triệu dânvới hệ thống giáo dục tốt, và đặc biệt là Chính phủ có chủ trương xây dựng xã hội phát triển dựa trên nền tảng tri thức ”
Ngày 19/11/1997 (ngày Internet Việt Nam) Chính phủ Việt Nam chính thức chỉ định 4 nhà cung cấp dịch vụ Internet (ISP) đầu tiên ở Việt Nam là : Công ty điện toán và truyền số liệu (VDC), Công ty Phát triển Đầu tư Công nghệ (FPT), Viện
Trang 12Công nghệ Thông tin và Công ty Cổ phần Bưu chính Viễn thông Sài Gòn (Saigonpostel) Theo con số dự kiến của Ban điều phối mạng Internet quốc gia, sau
6 tháng kết nối Internet, số thuê bao Internet tại Việt Nam sẽ đạt từ 20.000 đến 25.000 Thực tế cho thấy đây là một dự đoán khá lạc quan, vì theo số lượng đưa ra vào cuối năm 1998, sau một năm hoạt động, số thuê bao Internet mới chỉ đạt con số 11.000 Trong năm 1999, tốc độ thuê bao có nhiều lạc quan hơn, theo số liệu của Công ty FPT, một trong số 4 ISP đưa ra, số thuê bao Internet đã đạt khoảng 31.000, tức là cứ 10.000 dân Việt Nam thì có 4 thuê bao Internet Số thuê bao chủ yếu tập trung tại TPHCM và Hà Nội Tỷ lệ thuê bao các nhân đạt khoảng 60% tổng số thuê bao, còn lại là các công ty, cơ quan Nhà nước và người nước ngoài
Theo dự đoán của một số tổ chức quốc tế, doanh thu từ các hoạt động thương mại trên Internet năm 2000 khoảng 120 tỷ USD, chia sẻ doanh thu đó là mong muốn của nhiều quóc gia Tại Việt Nam, xu hướng ứng dụng Thương mại điện tử
đã bắt đầu Theo đánh giá của các chuyên gia thuộc Bộ Thương mại (Vụ Châu Thái Bình Dương), con đường tiếp cận Thương mại điện tử qua 3 giai đoạn: chuẩn
Á-bị, chấp nhận và ứng dụng, và Việt Nam đang ở bước đầu tiên của giai đoạn thứ nhất
Cho đến thời điểm này, Bộ Thương Mại và Tổng cục Bưu Điện đã xúc tiến những nghiên cứu cơ bản về Thương mại điện tử và trình Chính phủ dự án thành lập một hội đồng quốc gia về Thương mại điện tử cũng như chương trình hành động Quốc gia về vấn đề này Bên cạnh đó, các hoạt động chuẩn bị và thử nghiệm cũng
đã được bắt đầu nhiều công ty đã lên Web để giới thiệu về mình và tìm kiếm bạn hàng, một số siêu thị ảo đã được khai thác
Theo các kết quả nghiên cứu, báo cáo của Hiệp hội Thương mại điện tử Châu Á-Châu Đại Dương, những trở ngại khi tiến hành Thương mại điện tử bao gồm:
Các trở ngại có tính Công nghệ như: thiếu một cơ sở hạ tầng và một môi trường công nghệ thích hợp như; giá sử dụng; khả năng bải mật; nền CNTT kém phát triển và thiếu cán bộ kỹ thuật
Các trở ngại có tính Xã hội: thiếu một môi trường xã hội thích hợp, thiếu hiểu biết từ lãnh đạo đến nhân viên; thiếu hiểu biết từ khách hàng đến bạn hàng
Trang 13Việt Nam là đất nước tham gia sau và bắt đầu từ đầu nên ngoài vấp phải những khó khăn chung kể trên thì còn rất nhiều khó khăn riêng theo đánh giá của Tổng cục Bưu Điện thì có 3 khó khăn chính là:
Cơ sở hạ tầng thông tin cần cải thiện ngay, cần có thời gian hàng năm và đầu tư theo đơn vị tỷ USD
Hệ thống dịch vụ tài chính chưa áp dụng hệ thống thanh toán thẻ - đây là trở ngại và là khó khăn lớn nhất
Cần nâng cao nhận thức của người Việt Nam về Thương mại điện tử thì mới có thể triển khai được
Còn các chuyên gia của Bộ Thương Mại đặt vấn đề thận trọng hơn:
Tác động của Thương mại điện tử đến xã hội và từng cá nhân là hết sức sâu rộng nên cần hết sức thận trọng
Trên quy mô toàn cầu, các nước ít phát triển liệu có thể duy trì khả năng cạnh tranh hợp lý để cùng phát triển?
Thương mại điện tử có phá vỡ đặc trưng văn hoá của từng nước?
Thuận lợi:
Theo các dự báo về một nền kinh tế kỹ thuật số của thế kỷ 21 thì Thương mại điện tử là một trong những yếu tố then chốt Không liên quan đến những trở ngại vừa nêu, Thương mại điện tử có những đặc trưng thuận lợi và bình đẳng với tất cả mọi người Khi phát triển Thương mại điện tử, Việt Nam cũng được thừa hưởng tất
cả các thuận lợi này
CHƯƠNG 2:
MÔ HÌNH CLIENT/SERVER
I CÁC KHÁI NIỆM
Trang 14Thuật ngữ Server được dùng cho những chương trình thi hành như một dịch
vụ trên toàn mạng Các chương trình Server này chấp nhận tất cả các yêu cầu hợp lệ đến từ mọi nơi trên mạng, sau đó thi hành dịch vụ trên Server và trả kết quả về máy yêu cầu
Một chương trình được coi là Client khi nó gửi các yêu cầu tới máy có chương trình Server và chờ đợi câu trả lời từ Server Chương trình Server và Client nói
chuyện với nhau bằng các thông điệp (message) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication) Để một chương trình Server và một
chương trình Client có thể giao tiếp được với nhau thì giữa chúng phải có một
chuẩn để giao tiếp, chuẩn này được gọi là giao thức (Protocol) Nếu một chương
trình Client nào muốn yêu cầu lấy thông tin từ Server thì nó phải tuân theo giao thức Server đưa ra
Một máy tính chứa chương trình Server được coi là một máy chủ hay máy
phục vụ (Server) và máy chứa chương trình Client được coi là máy khách Mô hình
trên mạng mà các máy chủ và máy khách giao tiếp với nhau theo một hoặc nhiều dịch vụ được coi là mô hình Client /Server
II MÔ HÌNH CLIENT/SERVER
Thực tế mô hình Client/Server là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông tin lên tiến trình, lên các máy tính cá nhân, mô hình này cho phép xây dựng các chương trình Client/Server một cách rễ ràng và sử dụng chúng để liên tác với nhau đạt hiệu quả hơn Mô hình Client/Server như sau:
Đây là mô hình tổng quát nhất, trên thực tế thì một Server có thể được nối tới nhiều Server khác nhằm làm việc hiệu quả hơn và nhanh chóng hơnKhi nhận được một yêu cầu từ Client/Server này thì có thể gửi tiếp yêu cầu vừa nhận được cho một Server khácVí dụ như Database Server vì bản thân nó không thể xử lý yêu cầu này được
Client
ServerGửi yêu cầu
Trả về trang Web
Trang 15Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạpVí dụ như một máy chủ trả lời thời gian hiện tại trong ngày khi một máy Client yêu cầu lấy thông tin về thời gian, nó sẽ phải gửi yêu cầu theo một một tiêu chuẩn do một số yêu cầu lấy thông tin về thời gian, nó sẽ phải gửi yêu cầu theo một một tiêu chuẩn
do một Server đặt ra, mức yêu cầu được chấp nhận thì máy Server sẽ trả về một thông tin mà Client yêu cầuCó rất nhiều dịch vụ trên mạng nhưng nó hoạt động theo nguyên lý là nhận các yêu cầu từ Client sau đó xử lý và trả lại các yêu cầu cho Client yêu cầu
Thông thường chương trình Client/ Server được thi hành trên hai máy khác nhau cho dù lúc nào Server cũng ở trạng thái sãn sàngchờ nhận yêu cầu từ Client
nhưng trên thực tế một tiến trình liên tục qua lại (interaction) giữa Client với Server
lại bắt đầu ở phía Client khi mà Client giữ tín hiệu với Server
Các chương trình Server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng)Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào hỗ trợ giao thước truyền thông chuẩn mà cụ thể ở đây là giao thức TCP/IPVới các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp khó khăn gìVới các chuẩn này thì các chương trình Server cho một ứng dụng nào đó có thể thi hành trên một hệ thống chia sẻ thời gian với nhiều chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính cá nhân bình thườngCó thể có nhiều Server cùnh làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính
Với mô hình trên thì mô hình Client/Server chỉ mang đặc điểm của phần mềm không liên quan đến phần cứng mặc dù trên thực tế yêu cầu cho một máy Server là cao hơn rất nhiều so với máy Client Lý do là bởi vì máy Server phải quản lý rất nhiều các yêu cầu từ các Client khác nhau trên mạng máy tính
III ƯU VÀ NHƯỢC ĐIỂM CHÍNH
Trang 16Có thể nói rằng với mô hình Client/Server thì dường như mọi thứ đều nằm trên bàn người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin )
Mô hình Client/Server cung cấp một nền tảng lý tưởngcho phép tích hợp các
kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý(GIS)
Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạngDo phải trao đổi dữ liệu giữa hai máy ở hai khu vực khác nhau cho nên dễ dàng xẩy ra hiện tượng thông tin truyền trên mạng bị lộ
Client: trong mô hình Client/Server người ta còn định nghĩa cụ thể cho một máy Client là một máy trạm mà chỉ được sử dụng bởi một người dùng thể hiện tính độc lập của nóMáy Client có thể sử dụng các hệ điều hàng bình thường như Win 9x, Dos OS/2Bản thân mỗi một Client cũng được tích hợp nhiều chức năng trên hệ điều hành mà nó chạy Nhưng khi được nối vào một mạng LAN WAN theo mô hình Client/Server thì nó còn có thể sử dụng thêm các chức năng do hệ điều hành mạng đó cung cấp với nhiều dịch vụ khác nhau(Cụ thể là các dịch vụ đó do các Server trên mạng này cung cấp ví dụ nó có thể yêu cầu lấy dữ liệu từ một Server hay gửi dữ liệu lên Server đó ) Thực tế trong các phần ứng dụng của mô hình Client/Server các chức năng hoạt động chính là sự kết hợp giũa Client/Server với sự chia sẻ tài nguyên, dữ liệu trên cả hai máy
Vai trò của Client trong mô hình Client/Server:
1 Client: được coi là người sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp là Server ddược coi như là người cung cấp dịch vụ để trả lời các yêu cầu của Client điều quan trọng là phải hiểu được vai trò hoạt động của nó trong một mô hình cụ thể một máy Client trong mô hình này lại là Server trong một mô hình khác ví dụ như một máy trạm làm việc như một Client thường trong mạng LAN nhưng đồng thời nó có thể đóng vai trò
như một máy in chủ (Printer Server) cung cấp dịch vụ in ấn từ xa cho nhiều
khác sử dụngClient được hiểu như là bề nổi của các dịch vụ trên mạng, lếu
có thông tin vào hoặc ra thì chúng sẽ được hiển thị trên máy Client
Trang 172 Server: còn được định nghĩa như một máy tính nhiều người sử dụng (Multi
user computer) Vì một Server phải quản lý nhiều yêu cầu từ các Client trên
mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với các tính năng hoạt động độc lập song song với nhau như hệ điều hành UNIX, WindowsNT Server cung cấp và điều kiển các tiến trình truy cập vào tài nguyên của hệ thống các ứng dụng chạy trên Server phải được tách rời nhau để một lỗi của ứng dụng này không làm hỏng ứng dụng khác Tính
đa nhiệm đảm bảo một tiến trình không sử dụng toàn bộ tài nguyên của hệ thống
Vai trò của Server như là một nhà cung cấp dịch vụ cho các Client yêu cầu tới khi cần, các dịch vụ cơ sở dữ liệu in ấn, truyền file, hệ thống Các ứng dụng Server cung cấp các dịch vụ máy tính chức năng để hỗ trợ cho các hoạt động trên các máy Client có hiệu quả tốt hơn Sự hỗ trợ của các dịch vụ này có thể là toàn bộ hoặc chỉ một phần thông qua IPC, để đảm bảo tính an toàn trên mạng cho nên Server này còn
có vai trò như là một nhà quản lý toàn bộ quyền truy nhập dữ liệu của máy Client, nói các khác nó là vai trò quản lý mạng Có rất nhiều các thực hiện nhằm quản trị mạng có hiệu quả, một trong nhưng cách đang được sử dụng nhiều nhất hiện nay là
dùng tên Login và mật khẩu (Password)
IV ỨNG DỤNG MÔ HÌNH CLIENT/SERVER
WWW (World Wide Web): Có nhiều người đã nghe đến thuật ngữ này nhưng
lại không hiểu nó là cái gì, thậm chí có người đã sử dụng nó nhưng cũng không định nghia chính xác được WWW là cái gì ? WWW là tập hợp các văn bản tài liệu
(document) có mối liên kết (Link) với nhau trên mạng Internet Bởi vì WWW đang
phát triển rất mạnh mẽ và được quảng bá khắp nơi nên người sử dụng thường nhầm lẫn WWW là Internet nhưng thực tế nó chỉ là một dịch vụ của Internet
Ngày nay Web là một dich vụ lớn nhất của Internet sử dụng giao thức truyền
văn bản siêu liên kết HTTP (Hypertext Transfer Protocol) để hiện thị các siêu văn
bản (còn gọi là trang Web) và hình ảnh trên một màn hình đồ hoạ thuật ngữ siêu văn bản được hiểu như việc trình bầy các văn bản bình thườngcó mối liên kết với nhau Người sử dụng chỉ việc bấn chuột vào một phần của văn bản thì một văn bản
Trang 18khác có mối liên kết đó sẽ hiện lên, có thể thay Web mới này ở một nơi hoàn toàn khác với trang Web liên kết đến nó Mỗi một mối liên kết đến một trang siêu văn
bản được gọi là địa chỉ của trang văn bản đó, địa chỉ này có tên là URL(Uniform
Resource Locators) gọi là bộ định danh tài nguyên Để tạo ra một trang Web người
ta sử dụng một ngôn ngữ gọi là ngôn ngữ đánh dấu siêu văn bản HTML
(HypertText Makeup Language) vì vậy người ta còn gọi các trang Web là trang
HTML
Như vậy với dịch vụ này trên mạng, người sử dụng máy tính có thể truy cập vào mạng để lấy các thông tin khác nhau dựa trên văn bản, hình ảnh thậm chí cả âm thanh (thông tin đa phương tiện-Multimedia) Giao diện giữa người và máy ngày càng trở nên thân thiện, nhờ các biểu tượng và dùng các thiết bị ngoại vi như chuột, bút quang Người dùng mạng không cần có trình độ cao về tin học, với một chút vốn tiếng Anh đủ để hiểu những gì máy tính thông báo cũng có thể dùng nó như một công cụ đắc lực
Công nghệ Web cho phép xử lý các trang dữ liệu đa phương tiện và truy nhập trên mạng diện rộng đặc biệt là Internet Thực chất Web là hội tụ của Internet Các phần mềm lớn thi nhau thể hiện bộ duyệt Web như Mosaic, NetCape, Internet Explorer, WinWeb, Midas WWW rất tiện lợi cho người dùng bình thường, không phải vất vả mới hiểu được các thủ tục của Internet và dễ dàng truy cập vào thông tin trên hàng ngàn máy chủ đặt ở khắp nơi trên thế giới một cách nhanh chóng và hiệu quả Có công nghệ Web thực chất chúng ta đã bước vào một thập kỷ mà mọi thông tin có thể có ngay trên bàn làm việc của mình
Như vậy dịch vụ WWW trên mạng có một ứng dụng rất to lớn trong thời đại thông tin như hiện nay
Web đã thay đổi cách biểu diễn thông thường bằng văn bản toàn kiểu chữ nhàm chán sang kiểu thông tin sinh động có hình ảnh âm thanh Với một bộ duyệt có trang bị tiện ích đồ hoạ ta dễ dàng xử lý thông tin đa phương tiện khác
Cho phép tìm kiếm thông tin một cách nhanh chóng, phổ biến các tài liệu khoa học và trao đổi thông tin trên mạng
Trang 19Dịch vụ kinh doanh đầu tư trên mạng qua Web Với sự phát triển vượt bậc của khả năng truyền thông qua mạng và các công nghệ Web tiên tiến, việc
ta có thể ung dung ngồi nhà mà du ngoạn từ cửa hàng này sang hàng khác trong không gian ảo không còn là cảnh phim viễn tưởng mà đã trở thành hiện thực Ngày nay hầu như bất kỳ thứ hàng hoá nào cũng có thể đặt mua qua Internet
V MÔ HÌNH WEB CLIENT/SERVER
Mô hình Client/Server ứng dụng vào trang Web được gọi là mô hình Web Client/ServerGiao thức chuẩn được sử dụng để giao tiếp giữa Web Server và Web
Client là HTTP (HyperText Transfer Protocol)
Web Client (Web Browser): Các trình duyệt có vai trò như là Client trong mô
hình Client/Server, khi cần xem một trang Web cụ thể nào thì trình duyệt Web sẽ gửi yêu cầu lên cho Web Server để lấy nội dung trang Web đó
Web Server: Khi nhận được yêu cầu từ một Client/Server, Web Server sẽ trả
về nội dung file cho trình duyệt Web Server cho phép chuyển giao dữ liệu bao gồm văn bản, đồ hoạ và thậm chí cả âm thanh, video tới người sử dụng Người sử dụng chỉ cần trình duyệt xét Web để liên kết các máy chủ qua mạng IP nội bộ yêu cầu của người sử dụng được đáp ứng bằng cách nhấn chuột vào các chủ đề hoặc minh hoạ mẫu theo khuôn dạng HTML Những trang dữ liệu theo yêu cầu sẽ được gọi xuống
từ máy chủ nào đó theo giao thức HTTP rồi hiển thị trên máy cá nhân
vụ nào đó được chỉ ra bởi mối liên kết đó
Trang 20Sau khi nhận được thông tin từ trình duyệt nó có thể tự xử lý thông tin hoặc gửi cho các bộ phận khác có khả năng xử lý (Database Server, CGI ) rồi chờ kết quả để gửi về cho trình duyệt Client
Trình duyệt nhận và định dạng dữ liệu theo chuẩn của trang Web để hiển thị lên màn hình
Quá trình cứ tiếp diễn như vậy được gọi là duyệt Web trên mạng
VII MỞ RỘNG KHẢ NĂNG CỦA WEB SERVER
Web Server là một phần mềm đóng vai trò phục vụ khi được hình thành, nó nạp vào bộ nhớ và đợi các yêu cầu từ nơi khác đến Các yêu cầu có thể từ trình duyệt hoặc từ Web Server khác đến Các yêu cầu thường là đòi hỏi về một tư liệu hay một thông tin nào đó Khi nhận yêu cầu, nó phân tích để xác định xem tư liệu, thông tin mà người dùng yêu cầu là gì Sau đó gửi trả kết quả lại nơi yêu cầu Các phần mềm Web Server chủ yếu:
Apche dùng cho UNIX
HS dùng cho Window NT
HTTP dùng cho UNIX
Web Quest dùng cho Window NT, Window 95
Oracle Web Server thích hợp cho nhiều nền tảng
Personal Web Server dùng cho Win 95
Bản thân Web Server không có khả năng truy nhập CSDL Vấn đề đặt ra là cần mở rộng khả năng của Web Server để nó có thể xử lý các yêu cầu truy nhập và một CSDL nào đó, lấy các thông tin từ đó ra và sau đó trả các thông tin này về cho trình duyệt - nơi đã gửi yêu cầu Cách mở rộng khả năng này là ta phải viết một chương trình giao tiếp được cả với Web Server và cả CSDL Chương trình này sẽ lấy các yêu cầu, xử lý chúng và đưa ra kết quả là các file HTML Một chương trình như vậy gọi là “cổng” (Gateway) giữa Web Server và CSDL
Một Gateway có thể truy nhập nguồn thông tin không theo dạng chuẩn của Web(HTML) tức là các thông tin nằm ngoài Web Server và chuyển đổi nó thành các thông tin có thẻ hiển thị nên màn hình của trình duyệt Thực tế Gateway chỉ là một chương trình được gọi bởi Web Server Thông thường chúng được giữ trong
Trang 21một thư mục đặc biệt và vị trí của thư mục này được cấu hình trong Web Server Các chương trình này phải có tính thực thi được Khi Web Server gọi một file vào một Gateway thì nó sẽ được thực hiệnSau khi xử lý xongWeb Server nhận kết quả trả về và định dạng theo chuẩn HTTP để gửi cho trình duyệt
Có một số hướng để viết một chương trình như vậy:
- Common Gateway Interface(CGI)
- Microsoft Internet Server Pages(ASP)
CHƯƠNG 3:
LẬP TRÌNH TRÊN WWW - NGÔN NGỮ HTML
I GIỚI THIỆU NGÔN NGỮ HTML (HyperText Makeup Language)
Trang 22HTML là ngôn ngữ chuẩn để tạo lập các tài liệu cho WWW HTML được sử dụng trong các chương trình duyệt Web, Ví dụ như MS Internet Explorer, Nescape Navigator Một tài liệu HTML là một tệp văn bản chứa các phần tử mà các chương trình duyệt sẽ sử dụng để hiện các văn bản, các đối tượng Multimedia, và các siêu liên kết Người sử dụng có thể dùng chuột để chọn các văn bản được format như một siêu liên kết trong các tài liệu này Sau khi liên kết này được chọn, tài liệu mà
nó trỏ tới sẽ được nạp vào máy và hiện lên màn hình
Một phần tử là một đơn vị cơ sở của HTML Nó bao gồm một thẻ khởi đầu
(start-tag), một thẻ kết thúc (end-tag), và các ký tự dữ liệu được đặt trong các thẻ
này Một thẻ bắt đầu bằng một dấu nhỏ hơn (<) và kết thúc bằng một dấu lớn hơn (>) Thẻ kết thúc phải có thêm một dấu sổ chéo (/) ngay trước tên thẻ Có một số thẻ phẩi luôn luôn kết thúc bằng một thẻ phù hợp, còn một số khác lại cho phép bỏ qua thẻ kết thúc nếu kết quả là rõ ràng và không có sự mập mờ nào cả
HTML không mô tả trang tài liệu theo như một số ngôn ngữ máy tính khác
Có những ngôn ngữ mô tả từng phần tử đồ hoạ và vị trí của nó trên trang tài liệu, bao gồm font chữ, kích cỡ Ngược lại HTML lại không đưa ra bất cứ mô tả nào về font, hình ảnh đồ hoạ và chỗ để đặt chúng HTML chỉ “gán thẻ” cho nội dung tập tin với những thuộc tính nào đó mà sau đó chúng được xác định bởi chương trình duyệt để xem tập tin này Điều này giống như người đánh dấu bằng tay một số đoạn trên văn bản tài liệu để chỉ cho người thư kí biết những việc cần thiết như: "chỗ này
II ĐẶC ĐIỂM NGÔN NGỮ HTML
Trang 23HTML được thiết kế ra để dùng cho Web : trong phần lớn các chương trình xử
lý văn bản khá rắc rối trong một số tiểu tiết -ví dụ như chọn font - HTML, được thiết kế để dùng trên mọi kiểu máy tính Nó được thiết kế vừa để dễ vận chuyển trên internet, vừa thích hợp với các loại máy tính
HTML là một chuẩn mở: ngoài các thẻ trong bộ chuẩn, HTML có thể được
mở rộng bằng nhiều cách như : Mở rộng thêm các thẻ HTML, sử dụng Javascript, VBScript và các ngôn ngữ lập trình khác
HTML dễ đọc, dễ hiểu, có chứa các liên kết và hỗ trợ Multimedia
HTML là ngôn ngữ thông dịch : đây được coi là nhược điểm của ngôn ngữ bởi
vì nó sẽ làm giảm tốc độ thực hiện các ứng dụng khác trên Web đồng thời nó khó đảm bảo tính an toàn, bảo mật
III PHƯƠNG PHÁP THIẾT KẾ MỘT TRANG WEB
Khi nói đến xây dựng một trang Web cũng đồng nghĩa với việc xây dựng một trang chủ Theo quan niệm chung, trang chủ là một trang Web chứa liên kết đến một hay nhiều trang khác và thường là trang cung cấp thông tin tổng quát nhất cho người xem Vì vậy việc thiết kế trang Web không chỉ là thiết kế một trang HTML đơn lẻ, mà còn là thiết kế các mối liên kết tới các tài liệu trong HTML khác ( chưa
kể đến việc phải xây dựng nhiều trang Web liên kết với nhau)
Để xây dựng trang Web với các kết nối trước tiên chúng ta nên xác định xem thiết kế nội dung gì, cho ai xem và môi trường thể hiện Web Thông thường có các bước sau:
• Xác định chủ đề
• Xác định nội dung
• Thiết kế sơ đồ hoạt động (Flow diagram)
• Thiết kế sơ đồ giao diện với người xem của trang chủ
• Thiết kế và xây dựng chi tiết
Chi tiết các bước:
Xác định chủ đề: Xác định chủ đề trang Web là bước đầu tiên giúp cho việc định hướng cho các thao tác thiết kế và xây dựng sau này không đi chệch
Trang 24mục tiêu Chủ đề của trang Web tuy quan trọng song cũng dễ xác định bởi
vì nó hoàn toàn dựa vào mục đích thiết kế trang Web đó
Xác định nội dung: Xác định nội dung trang Web là bước quan trọng nhất
Nó cho phép ta hình dung được công việc sẽ phải làm tiếp theo và xây dựng quy mô trang chủ, qua đó quy định khuôn khổ công tác thiết kế giao diện và xây dựng trang HTML Khi xác định nội dung cần nhận rõ những điểm chính yếu phải giới thiệu trên trang Web Những thông tin sẽ giới thiệu phải phân loại theo hai tiêu chí: tính kế thừa và mức độ quan trọng Việc xây dựng nội dung cũng phải được định trước phong cách khác nhau: trang nghiêm hay hài hước cứng rắn hay mềm mại
Thiết kế sơ đồ hoạt động: Sơ đồ hoạt động là mô hình sắp xếp các nội dung (được xác định ở bước trên) trong bước này ta sẽ sắp xếp các thông tin cần giới thiệu theo thứ tự ưu tiên như đã xác định Công việc sắp xếp bao gồm thứ tự Trên - Dưới, Trước - Sau, thông tin nào cần được nêu rõ trong một trang Web thành một phần riêng, thông tin nào có thể mô tả ngay trên trang chủ
+ Thiết kế giao diện với người xem: Sơ đồ giao diện với người xemlà sơ đồ khái quát của những gì mà người đến thăm trang chủ của chúng ta sẽ thấy Giao diện với người xem được thiết kế theo sơ đồ này Yêu cầu của giao diện là nêu bật được chủ đề chính, bố trí các liên kết sao cho hợp lý, phân
bố mạng thông tin, đồ hoạ sao cho cân đối
Thiết kế và xây dựng chi tiết : công tác thiết kế và xây dựng chi tiết là phần việc đồ sộ nhất khi xây dựng trang Web Nó cũng là phần việc đưa ra kết quả cuối cùng, vì vậy có thể nói đây là công tác quan trọng nhất Trong công tác thiết kế xây dựng chi tiết, việc lựa chọn các hình ảnh(để minh hoạ,
để làm liên kết)là quan trọng Đây chính là cái sẽ gây ấn tượng mạnh nhất đến người xem Vì vậy thiết kế và lựa chọn hình ảnh cực kỳ quan trọng
IV LẬP TRÌNH TRANG WEB ĐỘNG
Khi duyệt các trang Web trên máy, chúng ta thấy rằng các trang Web làm việc một cách thực sự sinh động, có thể trao đổi thông tin, dịch vụ mua hàng với các form nhập dữ liệu và nhận dữ liệu trở về sau khi bấm nút Submit, chúng ta có thể
Trang 25bấm vào từng phần trong một bức tranh với các liên kết khác nhau, các con số hiển thị các lần truy cập vào từng trang Web và đặc biệt hơn còn có dịch vụ để truy cập
dữ liệu, tìm kiếm thông tin theo một tiêu chuẩn nào đó Để làm được điều đó người ta xây dựng các CSDL trên Web Server để lấy thông tin đưa tới từ trình duyệt, sau đó xử lý và trả lại kết quả cho trình duyệt Tuy nhiên do bản thân Web Server lại không có khả năng làm việc với CSDL vì vậy phải có một chương trình thực thi được khả năng xử lý thông tin và làm việc được với Web Server Chương
trình này đóng vai trò như một cổng giao tiếp (gateway) giữa Web Server và trình
Mô hình hoạt động và vai trò của chương trình giao tiếp (gateway) như sau:
Ngày nay các chương trình giao tiếp đóng một vai trò rất lớn trong Web Server, các chương trình giao tiếp chạy chung trên một Web Server có thể giao tiếp được với nhau để tăng khả năng hoạt động của chúng Với mô hình này, Web Server có thể gọi một chương trình giao tiếp trong khi dữ liệu của người sử dụng cũng được đưa trực tiếp cho chương trình, sau khi xử lý xong Web Server sẽ gửi kết quả xử lý của chương trình cho trình duyệt Chương trình giao tiếp thật đơn giản ở chỗ chỉ có một vài kiểu vào ra đơn giản và một số luật cụ thể cộng với các kỹ thuật đặc trưng của mô hình
Kết quả của chương trình
Máy Khách
chương trình ứng dụng gateway
Máy Chủ submit form gọi chương trình gateway
trang kết quả HTML
Trang 26Khi trình duyệt yêu cầu một trang Web sử dụng chương trình giao tiếp trên Web Server, Web Server truyền thông tin vừa nhận được từ gói tin HTTP yêu cầu của trình duyệt cho chương trình giao tiếp xử lý Chương trình giao tiếp sau khi xử
lý thông tin được yêu cầu nó sẽ trả lại kết quả cho Web Server, Server sẽ định khuôn dạng gói tin theo chuẩn HTTP và truyền trực tiếp cho trình duyệt Web mà không phải thông qua Web Server, cách này làm tốc độ tải trang Web sẽ nhanh hơn Trước khi gửi dữ liệu cho Web Server, có thể trình duyệt cũng tiền xử lý dữ liệu trước khi gửi dữ liệu nhằm giảm bớt gánh nặng cho Server Những ngôn ngữ có khả năng chạy trên trình duyệt gọi là front - end (VBScript, JavaScript ) Các ngôn ngữ do Web Server dùng để xử lý dữ liệu gọi là Back - end (Perl, ASP, HS )
V CÁCH THỨC HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH GIAO TIẾP TRONG MÔ HÌNH WEB CLIENT/SERVER
Phần lớn các Web Server đều đặt các chương trình giao tiếp trong một thư mục riêng định trước Khi người sử dụng muốn mở file là chương trình giao tiếp có địa chỉ URL thì nó sẽ gửi yêu cầu tới Web Server Để phân biệt đâu là yêu cầu trang Web tĩnh đâu là trang Web có sử dụng chương trình giao tiếp, Web Server căn cứ vào khung tin yêu cầu theo chuẩn HTTP từ Client (thường là thông qua phần mở rộng của tên file yêu cầu )
Ví dụ như khung tên yêu cầu từ Client như sau:
GET / cgi - bin/welcome asp HTTP/1 0
Accept: www/source
Accept: text/html
Accept: image/gif
User - Agent : Lynxh 2libwww/2/4
From : tqh@itc gov
Yêu cầu : GET chỉ ra tên file yêu cầu :/cgi - bin/Welcome asp Web Server biết tìm kiếm file này ở đâu và sẽ thi hành chương trình trong file này nhờ nhận dạng đây là ASP chứ không truyền nội dung file này cho trình duyệt Xâu HTTP/1
0 chỉ ra giao thức truyền thông đang sử dụng
VI XÂY DỰNG CHƯƠNG TRÌNH GIAO TIẾP
Trang 27Một chương trình giao tiếp thường có các bước thi hành sau:
Khởi tạo: Truy cập để lấy các thông tin của hệ thống, lấy trong biến môi trường của UNIX hoặc các hệ thống của Window (file * ini, * reg) Sau đó
nó sẽ nhận thông tin do Web Server gửi đến
Xử lý: quá trình này xử lý thông tin nhận được trên một CSDL
Trả kết quả: Sau khi xử lý xong, chương trình gửi lại kết quả cho Web Server Chương trình kết thúc sau khi trả hết kết quả cho Server
Có rất nhiều ngôn ngữ được sử dụng để xây dựng chương trình giao tiếp trên các hệ điều hành hiện nay như UNIX, Maintosh, WindowNT, Window 9x Tuy nhiên chọn một ngôn ngữ để xây dựng chương trình giao tiếp ta nên căn cứ vào các tiêu chuẩn sau:
Có nhiều câu lệnh thao tác với xâu văn bản
Khả năng làm việc với các thư viện và các phần mềm ứng dụng khác
Khả năng truy cập được vào các biến môi trường của chương trình
Các biến môi trường của chương trình giao tiếp (Enviroment variables) các biến môi trường của chương trình giao tiếp bao gồm các biến chứa thông tin về máy chủ, máy khách, người sử dụng và một số thông tin phụ Dưới đây là liệt kê một số biến chính sau:
Content - Length: Số byte dữ liệu do gửi đến cho CGI trong STDIN
Content - Type : Kiểu dữ liệu
Logon - User : Tên user login vào mạng
Query - String : Xâu câu hỏi
Gateway - Interface: Cung cấp phiên bản của giao diện
CGI trên Web Server, dạng thức : CGI/ <phiên bản > ví dụ CGI/1 1
Remote - Addr: Địa chỉ IP của máy Client có yêu cầu
Remote - Host : tên máy yêu cầu
Request - Method : Phương thức yêu cầu POST/GET
URL : Uniform Resource Locator
Trang 28Truy cập Form nhập dữ liệu : trình duyệt cho phép nhập dữ liệu và chọn các kiểu thông tin trên Form, khi nhập xong dữ liệu người sử dụng bấm Submit để gửi thông tin cho Web Server, Web Server có nhiệm vụ truyền các thông tin này cho chương trình giao tiếp tương ứng Mô hình hoạt động với một Form nhập như sau:
VII CÁC PHƯƠNG PHÁP XÂY DỰNG CHƯƠNG TRÌNH GIAO TIẾP
Như đã trình bày ở trên, có rất nhiều phương pháp nhằm mở rộng Web Server tuy nhiên mô hình hoạt động của chúng đều hoàn toàn tuân theo mô hình vừa trình bày
CGI (Common Gateway Interface) theo phương pháp CGI thì chương trình
ứng dụng CGI này như là một chương trình thực hiện được Mỗi khi có yêu cầu
thực hiện CGI từ khách hàng thì máy chủ đều tạo ra một tiến trình (process) cho
chương trình đó và Web Server sẽ truyền thông tin của trình duyệt cho chương trình
Gửi cho chương trình
Submit
Gửi form yêu cầu
Xử lý dữ liệu Trả lại kết quả
cho Server
Trả lại kết quả cho Client Nhận và xuất ra
màn hình
Trang 29thông qua các biến môi trường Như vậy số lượng tiến trình làm việc song song trên máy chủ chính bằng số yêu cầu của khách hàng Như vậy chương trình CGI sẽ chiếm rất nhiều tài nguyên của hệ thống làm cho chương trình chạy chậm và giảm hiệu quả đồng thời khả năng tương thích với người sử dụng cũng bị hạn chế do việc
hỗ trợ ngôn ngữ
ISAPI (Internet Server Application Programming Interface): Với các chương
trình viết theo phương pháp ISAPI thực chất là một thư viện liên kết động được xây dựng sẵn trong hệ điều hành Window Phương pháp này khắc phục được mặt hạn chế của CGI ở chỗ khi có một yêu cầu mới thì máy chủ không taọ ra một tiến trình mới mà đọc thư viện tại cùng một không gian địa chỉ với Web Server xử lý các yêu cầu khác Tức là thư viện này được dùng chung cho mọi tiến trình, mỗi khi được gọi vào bộ nhớ thư viện có khả năng phục vụ cho nhiều tiến trình cùng một lúc Như vậy chương trình sẽ chiếm ít tài nguyên hệ thống làm tăng hiệu lực phục vụ nhiều tiến trình đồng thời Tuy nhiên yếu điểm của phương pháp này là phải xây dựng một thư viện liên kết động, điều này không phải là dễ Và phương pháp này chỉ áp dụng trên hệ điều hành Window
PHP ( Personal Home Pages): là một môi trường giúp ta sử dụng các ngôn ngữ đặc tả để tạo ra các chương trình giao tiếp cho tính năng động, tương tác và có tính hiệu quả cao cho Web Server Các ngôn ngữ có thể sử dụng được là VBScript hoặc JavaScript Ưu điểm nổi bật của PHP là nó hỗ trợ ngay các ngôn ngữ đặc tả được ứng dụng trong các trang HTML Tức là trong một file bao gồm cả các thẻ chuẩn HTML đồng thời chứa các câu lệnh của PHP Khi có một khách hàng yêu cầu một file có chứa chương trình PHP, PHP sẽ đọc nội dung file nếu gặp các thẻ chuẩn của HTML nó sẽ không xử lý nhưng nếu gặp nó các dòng lệnh của ngôn ngữ đặc tả thì
nó sẽ xử lý Sau quá trình xử lý nó sẽ trộn các kết quả vừa xử lý và các dòng lệnh HTML chuẩn để gửi về cho chương trình duyệt như một file HTML bình thường
mà bất kỳ một trình duyệt nào cũng hiểu được Tuy rằng các câu lệnh PHP giống như một ngôn ngữ lập trình nhưng tính cấu trúc của nó lại không cao Một ưu điểm nổi bật của PHP là nó đã tích hợp sẵn các phương thức truy cập CSDL và ngôn ngữ SQL hoặc My SQL trong chương trình Như vậy đối với người lập trình chỉ cần am hiểu các ngôn ngữ đặc tả thông thường và các khái niệm làm việc với CSDL đều có
Trang 30thể tạo ra được các ứng dụng tốt Một đặc điểm khác của PHP có thể tích hợp các ngôn ngữ mạnh khác như Java, và cả chương trình CGI trong đó
CHƯƠNG 4:
CƠ SỞ DỮ LIỆU VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MySQL
I CÁC KHÁI NIỆM CƠ BẢN
2 Quản trị cơ sở dữ liệu là gì ?
Trang 31Chương trình quản trị cơ sở dữ liệu là một chương trình ứng dụng trên máy tính các công cụ để truy tìm, sửa chữa, xoá và chèn thêm dữ liệu Các chương trình này cũng có thể dùng để tạo lập một cơ sở dữ liệu và tạo ra các báo cáo, thống kê Các chương trình quản trị cơ sở dữ liệu liên quan khá thông dụng hiện nay tại Việt Nam là Foxpro, Access cho ứng dụng nhỏ, DBL, MySQL và Oracle cho ứng dụng vừa và lớn
Quản trị cơ sở dữ liệu quan hệ là một cách quản lý cơ sở dữ liệu trong đó dữ liệu được lưu trữ trong các bảng dữ liệu hai chiều gồm các cột và các hàng, có thể liên quan với nhau nếu các bảng đó có một cột hoặc một trường chung nhau
Hệ quản trị cơ sở dữ liệu là một quá trình xử lý xoay quanh các vấn đề sau đây:
+ Lưu trữ dữ liệu
+ Truy nhập dữ liệu
+ Bảo đảm tính toàn vẹn của dữ liệu
Ba vấn đề chính ở trên có mối quan hệ mật thiết, phụ thuộc lẫn nhau và chúng được liệt kê theo thứ tự thực hiện mỗi ứng dụng
Mô hình cơ sở dữ liệu quan hệ (Relationship Database Management System -
RDMS) được xây dựng làm đơn giản hoá quá trình lưu và đọc dữ liệu RDMS cung
cấp khả năng giao tiếp tốt với dữ liệu và giúp người lập trình tự do trong lĩnh vực quản lý truy cập cơ sở dữ liệuSau đây là các bước xây dựng một cơ sở dữ liệu theo
mô hình cơ sở dữ liệu quan hệ:
+ Tổ chức dữ liệu theo nhóm logic(table)
+ Xác định các mối quan hệ giữa các table
+ Tạo tập tin cơ sở dữ liệu và định nghĩa cấu trúc của các table trong cơ sở
dữ liệu
+ Lưu dữ liệu
Hai bước đầu là hai bước thiết kế cơ sở dữ liệu và đây là hai bước cực kỳ quan trọng Nếu được thiết kế tốt, các khía cạnh khác sẽ được giải quyết dễ dàng hơn; ngược lại việc khai thác cơ sở dữ liệu sẽ không hiệu quả và chương trình sẽ có những lỗi rất khó phát hiện
Trang 32Các bước chính khi tiến hành thiết kế một cơ sở dữ liệu:
MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa
và nhỏ Tuy không phải là một cơ sở dự liệu lớn nhưng cũng có trình giao diện trên Windows hay Linux, cho phép người dùng có thể thao tác các hành động có thể liên quan đến cơ sở dữ liệu
Cũng giống như các hệ cơ sở dữ liệu khác, khi làm việc với cơ sở dữ liệu MySQL, bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dự liệu và xử lý dữ liệu
Để sử dụng các phát biểu hay các thao tác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý dạng đồ họa hay dùng dòng lệnh còn gọi là Command line
2 Phương pháp truy xuất CSDL MySQL
a Một số khái niệm
Để hiểu được chương này một cách rõ ràng, trước tiên cần phải có một số kiến thức
cơ bản về cơ sở dữ liệu quan hệ Nếu đã từng làm việc với MS SQL Server hay
Access chúng đều có hỗ trợ việc tạo CSDL rất là dễ dàng với giao diện trực quan
Đối với MySQL cũng có thể sử dụng công cụ trực quan đó là phpMyadmin
Tuy nhiên, phải học cách thao tác với CSDL bằng dòng lệnh Muốn chương trình, trong lúc chạy thao tác tự động với CSDL thì cần hàng tá lệnh PHP/SQL để thực hiện các yêu cầu của chương trình Trước khi chúng ta tạo các table trong CSDL của MySQL, có một vài thứ cần phải hiểu rõ Những khái niệm cơ bản sau đây rất
quan trọng
+ Null:
Trang 33Việc đầu tiên phải làm trong việc thiết kế một table là quyết định xem một field có cho phép giá trị NULL hay không Trong CSDL quan hệ, giá trị NULL của một field đồng nghĩa với nó có thể chấp nhận không có dữ liệu trong đó Nên nhớ rằng giá trị NULL khác với giá trị của một chuỗi không có ký tự trong đó hoặc số có giá trị 0
Đôi khi trong chương trình, khi thực hiện một số động tác so sánh xem một chuỗi nào đó có chứa giá trị hay không, nó có thể là một câu lệnh IF Xét một ví dụ PHP như sau:
$var //this is a variable used in the test
dữ liệu gọi là Index
Index cho phép database server tạo được một field đặc trưng tìm kiếm với tốc độ khó ngờ Các INDEX đặc biệt hỗ trợ một hoặc một nhóm các record trong một table chứa số lượng lớn các record Chúng cũng hỗ trợ tốc độ cho các hàm liên kết hoặc tách nhóm dữ liệu như
min(), max()
Trang 34Với các tính năng vượt trội này, tại sao người ta lại không tạo index trong tất cả các field của một table? Có một số điều trở ngại như sau: index có sẽ làm chậm một số tiến trình trong CSDL Mỗi lần bảo trì các index Database Server phải mất khá nhiều thời gian Có một vài trường hợp chính các index làm cho chúng chậm hẳn Nếu như trên table của tất cả các record đều giống y như nhau thì không có lý do gì
để tạo index Các index dư thừa chỉ làm cho tốn thêm không gian đĩa
Đối với một table có gắn khoá chính (primary key) thì thông thường field có khoá này được dùng vào việc tìm kiếm cho nên index sẽ được gán tự động trên field này
+ Lệnh CREATE Database:
Trước khi tạo được một Table thì điều tất yếu là phải tao được một Database Lệnh CREATE được sử dụng như sau:
mysql> create database database_name;
Khi đặt tên cho database, hay đặt tên cho field và index gì đấy tránh trường tránh trường hợp đặt những cái tên khó nhớ hoặc dễ bị lẫn lộn Đối với một số hệ thống Unix chẳng hạn có sự phân biệt chữ HOA/thường thì CSDL chạy trên nó cũng ảnh hưởng theo Chẳng hạn tên của table và field đều đặt chữ thường chẳng hạn Nên nhớ là không được sử dụng khoảng trắng
Bây giờ tìm hiểu cả hai cách tạo database:
- Cách thứ nhất tạo thủ công từ dấu nhắc dòng lệnh DOS
- Cách thứ hai sử dụng các lệnh trong PHP
Cách thứ nhất cú pháp tạo như sau:
mysql> create database guestbook;
Cách thứ hai là sử dụng lệnh trong PHP, có thể dùng hàm mysql_create_db() hoặc mysql_query() Nhưng nên nhớ trước khi tạo phải thực hiện được kết nối với database server
$conn = mysql_connect(“localhost”,”username”, “password”)
or die (“Could not connect to localhost”);
mysql_create_db(“my_database”) or
die (“Could not create database”);
$string = “create database my_other_db”;
mysql_query($string) or
Trang 35$conn = mysql_connect(“localhost”,”username”, “password”)
or die (“Could not connect to localhost”);
mysql_select_db(“test”, $conn) or
die (“Could not select database”);
+ Lệnh CREATE Table:
Lưu ý: Lệnh này thực hiện sau khi đã có lệnh CREATE Database
Một khi đã tạo và chọn database, việc tiếp theo là tạo một table Create Table như sau:
create table table_name
(
column_1 column_type column_attributes,
column_2 column_type column_attributes,
primary key (column_name),
index index_name(column_name)
)
Đối với thuộc tính các field (cột) chúng ta cần bàn về:
- null hoặc not null
$conn = mysql_connect(“localhost”,”username”, “password”) or
die (“Could not connect to localhost”);