1. Trang chủ
  2. » Luận Văn - Báo Cáo

đề tài xây dùng web site khối phổ thông chuyên toán-tin trường đại học sư phạm hà nội

107 395 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 107
Dung lượng 22,91 MB

Nội dung

Trong một ứng dụng web, với mỗi tính năng hay việc cập nhật mới ứng dụng, ta không phải đưa ra một chương trình thực thi mới trên mỗi máy desktop của người sử dụng.. Nhìn chung mọi ứng

Trang 1

Giới thiệu đề tài

Đề tài “ Xây dùng Web site khối phổ thông chuyên Toán-Tìn trường dai

học Sư phạm Hà nội" ra đời nhằm mục đích phục vụ cho việc quản ly thông tin

của giáo viên và học sinh cũng như việc tìm hiểu thông tin của học sinh cũ về

khối Thực chất đây là một bài toán quản lí trên Web Như vậy, Web site này

không đơn giản là cung cấp thông tin mà nó phải có khả năng xử lý dữ liệu, trả

kết qủa động về cho máy khách Mợi người có thể tìm hiểu thông tin về khối,

trao đổi thảo luận với nhau thông qua điễn đàn,

Ngoài những chức năng trên thì em đã đưa vào trang quản lí nhiều chức năng

phục vụ cho người quản trị Web site, mở ra khả năng làm việc thông qua mạng

Người quản trị có khả năng ngồi ở nhà có thể truy cập vào trang quản lý của mình

(có mật khẩu riêng và địa chỉ URL khác) để thay đồi, cập nhật thông tin về điểm,

Về nội dung báo cáo chia làm 5 chương như sau:

Chương Í Mạng máy tính và Internet: đưa ra các khái nệm về mạng

máy tính như mạng máy tính là gì, mô hình OSI, giao thức TCP/IP, Giới thiệu Internet , Interanet và các ứng dụng của nó

Chương 2 Tổng quan về CSDL - Vấn đề tích hợp Web với CSDL:

trình bày các kiến thức cơ bản về CSDL Nghiên cứu các giải pháp tích hợp Web với CSDL phục vụ cho việc xây dựng Web database

Chương 3 Công nghệ ASP: Nêu ra vấn đề lùa chọn công nghệ thực hiện

dé tai Trình bày ASP và công nghệ được sử dụng trong đề tài

Chương 4 Phân tích và thiết kế hệ thống: Đi sâu vào việc xây đựng đề tài Chương 5 Giới thiệu chương trình: Hướng dẫn cài đặt, triển khai chương

trình Nêu lên các mặt mạnh và hạn chế của chương trình

Em đã cố hết sức để hoàn thành đề tài ở mức tốt nhất có thể Tuy nhiên, do thời gian thực hiện đề tài không phải là dài và khối lượng công việc lại lớn

Mặt khác, trước khi nhận đề tài, nghiệp vụ xây dựng Web còn rất mới đối

với em nên em phải nghiên cứu nhiều về vấn đề về lý thuyết nên chương trình

còn nhiều thiếu sót, hạn chế, em rất mong được sự chỉ bảo, góp ýcủa thày cô

giáo và các bạn để em có thể nâng cấp chương trình hoàn thiện hơn

Trang 2

Em xin chan thanh cam on!

Nhân đây, em còng xin bày tỏ lòng biết ơn đối với các thày, cô giáo trong

khoa Toán ứng dụng nói riêng và các thày cô giáo của trường Đại học Bách Khoa Hà nội nói chung đã truyền đạt kiến thức cho em trong suốt 5 năm học tập tại trường Những kiến thức đó là hành trang không thể thiếu cùng em trong quá trình công tác sau này

Được trở thành sinh viên của trường Đại học Bách Khoa Hà nội là niềm vinh

dự lớn đối với em và em có gắng phấn đấu học tập và lao động để xứng đáng với

niềm vinh dự đó.

Trang 3

Chuong 1 Mang may tinh va internet

1.1 Mang may tinh

1.1.1 Khái niệm về mạng máy tính

Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi các đường truyén vật lý theo mét kiến tróc nào đó

Đường truyền vật lý dùng để chuyên các tín hiệu điện tử giữa các máy tính Các tín hiệu điện tử đó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (on - off) Tất cả các dữ liệu được truyền giữa các máy tính đều thuộc một dạng

sóng điện từ (EM) nào đó, trải qua các tần số radio tới sóng cực ngắn (viba) và

tia hồng ngoại Tuy theo tan sé sóng điện từ có thể dùng các đường truyền vật lý

khác nhau để truyền các tín hiệu

Kiến trúc mạng máy tính thê hiện cách nối các máy tính với nhau ra sao và tập hợp tắt cả các quy tắc, quy ước mà tất cả các thực thể tham gia truyền thông

trên mạng phải tuân theo đê cho mạng hoạt động tốt Cách nối các máy tính

được gọi là hình trạng (topolopy) của mạng (gọi tắt là topo) Còn các tập quy tắc, quy ước truyền thông thì được gọi là giao thức (protocol) của mạng

1.1.2 Mô hình mạng OSI

Khi thiết kế mạng, các nhà thiết kế tự do lùa chọn kiến trúc mạng của mình

Từ đó dẫn đến tình trạng không tương thích giữa các mạng: phương pháp truy

nhập đường dẫn khác nhau, sử dụng họ giao thức khác nhau Sự không tương

thích đó là trở ngại cho sự tương tác của người sử dụng các mạng khác nhau Nhu cầu trao đổi thông tin càng lớn thì trở ngại đó càng không thể chấp nhận được với người sử dụng Sự thúc bách của khách hàng đã khiến cho các nhà sản

xuất và các nhà nghiên cứu — thông qua các tổ chức chuân hoá quốc gia và quốc

tế — tích cực tìm kiếm một sự hội tụ cho các sản phẩm mạng trên thị trường

Vì lý do trên, vào năm 1984 Tổ chức tiêu chuẩn hoá ISO đã xây đựng một mô

hình tham chiếu cho việc kết nói đến các hệ thống mở (Reference Model for Open Systems Interconnection hay gon hon: ISO Reference Model) để làm

Trang 4

bay tang như sau:

Application

chuân cho các nhà thiết kế và chế tạo các sản phâm về mạng Mô hình này gồm

Receiver

APPLICATION LAYER APPLICATION LAYER

PRESENTATION LAYER PRESENTATION LAYER

SESSION LAYER SESSION LAYER

TRANSPORT LAYER TRANSPORT LAYER

DATALINK LAYER DATALINK LAYER

PHYSICAL LAYER PHYSICAL LAYER

Presentation layer: chứa các dịch vụ về thao tác dữ liệu như nén, giải

nén, Cấp này không có các địch vụ thông tin của riêng nó

Trang 5

Session layer: chứa các dịch vụ cho phép trao đổi thông tin giữa các quá trình, tạo và kết thúc kết nối của các quá trình trên các máy khác nhau

Transport layer: chứa các dịch vụ tìm và sửa lỗi nhằm bảo đảm tính đúng

đắn của dữ liệu nhận

Network layer: quản lý việc kết nối trong mạng liên quan đến địa chỉ của máy tính gửi và máy tính nhận còng như sù tắc nghẽn giao thông của mạng Datalink layer: bảo đảm các gói dữ liệu được gửi đi thông qua mạng vật

Physical layer: phục vụ cho việc gửi các dữ liệu là các bít thô thông qua

kênh truyền

Do đặc tính của mô hình OSI, dữ liệu gửi phải đi qua tất cả 14 cấp để đến

được chương trình nhận ở mỗi cấp, đữ liệu sẽ bị trễ một khoảng thời gian Điều

này làm giảm hiệu suất của mạng Mô hình TCP/IP có ưu điểm hơn và hiện đang

được sử dụng rộng rãi

1.1.3 Họ giao thức TCP/IP

Năm 1970, Vint Cerf và Robert Kahn đã đưa ra việc thiết kế chỉ tiết cho mét

protocol dé liên lạc giữa các mạng khác nhau Đến năm 1982, việc thiết kế này

dugc cai dat rong rai va duoc goi la TCP/IP (Transmission control protocol)

TCP/IP gồm bốn líp được mô ta bằng hình sau:

APPLICATION LAYER HTTP, FTP, TELNET, SMTP

Trang 6

Application layer: chứa các ứng dụng có sử dụng mạng Líp này tương ứng với hai líp trên cùng ( application và presentation layer) của mô hình OSI Transport layer: cung cấp các địch vụ truyền nhận dữ liệu giữa các quá

trình với nhau Các quá trình này có thể trao đôi thông tin với nhau thông qua địa

chỉ của máy tính gửi/ nhận và công thông tin Cấp này tương ứng với hai cấp kế tiếp (session và transport layer) của mô hình OSI

Network layer: đảm nhận việc xác định, tìm đường và phân phối các gói thông tin tới địa chỉ đích Network layer trong mô hình TCP/IP tương ứng với hai líp network và datalink của m6 hinh OSI

Physical layer: sử dụng các giao tiếp chuẩn hiện có như Ethernet,

Tokenring, để phục vụ cho việc gửi và nhận dữ liệu

TCP là giao thức truyền điều khiển “có liên kết”, nó gửi từng gói đữ liệu

đi, nơi nhận đữ liệu theo giao thức này phải có trách nhiệm thông báo và kiểm

tra dữ liệu đã đủ hay chưa, có lỗi hay không có lỗi, nếu dữ liệu bị mất hay háng

TCP sẽ yêu cầu gửi lại đữ liệu cho đến khi hết các lỗi Trước khi truyền dữ liệu bao giê cũng có sự kết nối giữa máy gửi và máy nhận (do đó mới gọi là “có liên

kết") Truyền dữ liệu theo TCP đảm bảo việc truy cập, truyền dữ liệu trên mạng

là không mất mát Nó thích hợp cho các ứng dụng đòi hỏi độ tin cậy khi truyền

dữ liệu, nhưng lại không thích hợp cho các ứng dụng đòi hỏi lưu thông trên

mạng rộng rãi Muốn gửi gói đữ liêu (datagram) đến nhiều đích, TCP phải thiết lập đến một mạch ảo Đây là một tiến trình tiêu thụ thời gian và tập trung tài

nguyên Đối với các ứng dụng phụ thuộc vào việc truyền rộng rãi, UDP là một

giao thức líp vận chuyền thích hợp hơn

UDP có thể truyền đữ liệu mà không đòi hỏi phải thiết lập một mạch dir liệu Mỗi đơn vị dữ liệu được gởi với một địa chỉ nguồn và đích đầy đủ và chỉ số

cổng liên quan cho việc truyền đữ liệu UDP là một giao thức vận chuyển

“không liên kết”vì nó không sử dụng một kết nói được thiết lập đề truyền dữ liệu

và nó cũng không có cơ chế để kiểm tra dữ liệu UDP có xu thế hoạt động nhanh

hơn TCP Tuy nhiên, UDP không bảo đảm rằng đến theo thứ tự nó được gửi.

Trang 7

Một thuận lợi lớn của UDP so với TCP là giao thức này thích hợp cho những ứng dụng được truyền rộng rãi Một gói đữ liệu có thể truyền trên mang bằng

cách xác định một địa chỉ truyền rộng rãi (broadcast address) trên địa chỉ đích

IP là giao thức liên mạng cung cấp khả năng kết nối các mạng con thành

liên mạng để truyền dữ liệu Vai trò của IP tương tự giao thức tang mang trong

mô hình OSI, nó giải mã các địa chỉ và tìm đường đề đưa đữ liệu đến đích

TCP/IP có những đặc điểm sau đây —- những đặc điểm đã làm nó trở nên

phô biến:

Tính độc lập về topolopy của mạng: TCP/IP được dùng trên mạng bus, rimg và star Nó có thể dùng trong mạng cục bộ (LAN) còng như mạng diện

rong (WAN)

Tính độc lập về phần cứng mạng: TCP/IP có thể dùng Ethernet, tokenring,

Chuẩn nghỉ thức mở: Với chuẩn TCP/IP có thể hiện thực trên bat ky phan

cứng hay hệ điều hành nào Do đó, TCP/IP là tập nghi thức lý tưởng đề kết hợp phần cứng còng như phần mềm khác nhau

Sơ đồ địa chỉ toàn cầu: mỗi máy tính trên mang TCP/IP có một địa chỉ xác định duy nhất Mỗi packed dữ liệu được gửi trên mạng TCP/IP có một header

gồm địa chỉ của máy đích còng như địa chỉ của máy nguồn

Khung Client-Server: TCP/IP là khung cho những ứng dụng client-server

mạnh hoạt động trên mạng cục bộ và mạng diện rộng

Chuẩn nghi thức ứng dụng: TCP/IP không chỉ cung cấp cho mọi người lập

trình phương thức truyền dữ liệu trên mạng giữa các ứng dụng mà còn cung cấp nhiều nghi thức ở mức ứng dụng (những nghỉ thức hiện thực các chức năng

thường dùng như emaIl, truyền nhận file)

1.2 INTERNET

1.2.1 Giới thiệu về internet

Internet là một mạng máy tính có phạm vi toàn cầu bao gồm nhiều mạng

nhỏ còng như các máy tính riêng lẻ được kết nối với nhau để có thê liên lạc và

Trang 8

trao đối thông tin Trên quan điểm Client/ Server thì có thé xem là Internet như là mạng của các mạng của các Server, có thê truy xuất bởi hàng triệu Client

Việc chuyển và nhận thông tin trên Internet được thực hiện bằng giao thức

TCP/IP ( trình bày ở phần 1.3)

Internet bắt nguồn từ APANET trực thuộc Bộ quốc phòng Mỹ và được mở rộng cho các viện nghiên cứu, sau này được phát triển cho hàng triệu người cùng

sử đông như ngày hôm nay Ban đầu các nhà nghiên cứu liên lạc với nhau qua

mạng bằng dịch vụ thư điện tử, sau đó phát sinh thêm một sé mang may tinh nhu

mạng Usernet, ngày nay là địch vụ bảng tin điện tử Mạng này được thiết lập lần đầu tiên ở University of North Carolina, mà qua đó người dùng có thể gửi và đọc

các thông điệp theo các đề tài tự chọn ở việt Nam thì mạng Trí Tuệ Việt Nam của công ty FPT là mạng đầu tiên được xây dựng theo dạng bảng tin điện tử

Các nhà khoa học khắp nơi trên thế giới tham gia vào hệ thống thông tin

mở này, những người dùng với mục đích thương mại và công chúng cũng tham

gia vào hệ thống này thông qua các nhà cung cấp dịch vụ Internet Vì thế gây ra

sự phát triển bùng nô thông tin liên lạc toàn cầu qua mạng máy tính Đó chính là mạng Internet hiện nay

1.2.2 Các dịch vụ thông tin trên Internet

Cùng với TCP/IP, các chuẩn cho tầng ứng dụng cũng được phát triển ngày càng phổ biến trên Internet Các ứng dụng có sớm nhất là Telnet, FTP, SMTP và DNS đã trở thành những dịch vụ thông tin quen thuộc trên Internet

Với sự phát triển của công nghệ thông tin và nhu cầu xã hội, đanh sách các dịch

vụ thông tin trên Internet ngày càng dài thêm với sự đóng góp sản phẩm của

nhiều nhà cung cấp dịch vụ khác nhau Sau đây là một vài dịch vụ điển hình

nhất:

1.2.2.1 Dich vu tén mién (DNS)

Việc định danh các phần tử của liên mạng bằng các con sè như trong địa chỉ IP rõ ràng không làm cho người sử dụng hài lòng bởi chúng khó nhớ, dễ nhầm lẫn Vì thế người ta đã xây dựng hệ thống đặt tên cho các phần tử của

Trang 9

Internet, cho phép người dùng chỉ cần nhớ các tên chứ không cần nhớ địa chỉ IP

nữa

Cũng giống như địa chỉ IP, tên mỗi máy tính trên mạng phải là duy nhất

Ngoài ra cần phải có cách để chuyển đổi tương ứng giữa các tên và các địa chỉ

số Đối với một một liên mạng tầm cỡ toàn cầu như Internet phải có một hệ

thống đặt tên trực tuyến và phân tán thích hợp Hệ thống này được gọi là DNS (

Domain Name System) Đây là một phương pháp quản lý các tên bằng cách giao

trách nhiệm phân cấp cho các nhóm tên Mỗi cấp trong hệ thống được gọi là một

miền ( domain), các miền được tách nhau bởi dấu chấm Ví du: java.sun.com 1.2.2.2 Dang nhap tir xa (Telnet)

Telnet cho phép người sử dụng từ một trạm làm việc của mình có thể đăng

nhập vào một trạm ở xa qua mạng và làm việc với hệ thống y như là một trạm cuối nối trực tiếp với trạm từ xa đó Để khởi động Telnet, từ trạm làm việc của mình người sử dụng chỉ việc gõ:

telnet < domain name or IP address >

Sau đó, nếu mạng hoạt động tốt thì người sử dụng chỉ việc làm theo các thông báo hiển thị trên màn hình Telnet có một tập lệnh điều khiển hỗ trợ cho quá trình thực hiện

1.2.2.3 Truyền tệp (FTP)

Dịch vụ truyền tệp trên Internet được đặt tên theo giao thức mà nó sử dụng

là FTP ( File Transfer Protocol)

FTP cho phép chuyên các tệp từ một trạm này sang trạm khác, bat ké các trạm đó ở đâu và sử dụng hệ điều hành gì, chỉ cần chúng được nối Internet và cài

đặt FTP

Đề khởi động FTP, từ trạm làm việc của mình ta chỉ cần go:

ftp < domain name or IP address>

FTP sẽ thiết lập liên kết với trạm ở xa và lúc đó ta sẽ phải làm các thao tác

đê đăng nhập hệ thống

Sau khi trên màn hình hiền thị dấu nhắc ftp> ta có thể gõ tiếp các lệnh cho phép truyền tệp theo cả hai chiều

Trang 10

Trong trường hợp không có account thì ta không thể sử đông như trên

được Tuy nhiên, các tác giả FTP đã cung cấp một dịch vụ gọi là “ FTP vô danh”

(anonymuos FTP) cho phép những người không có account có thé truy cập tới

một số tệp nhất định

Khi sử dụng chương trình FTP để kết nối vào một anonymous FTP host,

nó hoạt động giống như nghỉ thức FTP, ngoại trừ khi nó đòi hỏi một User ID, đó

là anonymous Khi nó đòi hỏi password, chóng ta đánh vào một xâu ký tự bất kỳ

Khi người quản trị hệ thống cài đặt một máy tính như là một anonymous FTP host, dinh rõ những thư mục dùng cho việc truy cập chung Như mét biện

pháp an toàn, hầu hết những anonymous FTP host cho phép User download file, nhưng không cho phép upload file ( chép lên Server)

1.2.2.4 Thư điện tứ ( Email)

Đây là một trong những dịch vụ thông tin phổ biến nhất trên Internet hiện

nay Tuy nhiên, khác với các dịch vụ DNS, Telnet, FTP, thư điện tử không phải

là dịch vu “tir dau - dén cudi” (end to end), nghĩa là máy gửi thư và máy nhận

thư không cần thiết phải liên kết trực tiếp với nhau để thực hiện việc chuyển

thư Nó là dịch vụ kiểu “ lưu và chuyển tiếp” (Store and Forward) Thư điện tử được chuyên từ máy này sang máy khác cho đến máy đích ( giống như trong hệ

thống bưu chính thông thường: thư được chuyển đến tay người nhận sau khi đi

qua một số bưu cục trung chuyền) Hình sau cho sơ đồ ví dụ hoạt động của mạng thư điện tử:

Trang 11

E-mail server E-mail server

Sơ đồ hoạt động của mạng E-mail

Mỗi người dùng ( Client) đều phải kết nối với một Email Server gần nhất (

đóng vai trò bưu cục địa phương) Sau khi soạnh thảo xong thư và đề rõ địa chỉ đích ( người nhận), người sử dụng sẽ gửi thư đến Email Server của mình đã đăng

ký Email Server này có nhiệm vụ chuyển thư đến đích hoặc đến một Email

Server trung gian khác Thư sẽ chuyển đến Email Server của người nhận và được

lưu tại đó Đến khi người nhận thiết lập một kết nối đến Email Server đó thì thư

sẽ được chuyền về máy của người nhận, nếu không thì thư vẫn tiếp tục được giữ tại Server dé đảm bảo không bị mất thư Giao thức truyền thống sử dụng cho hệ thống điện tử của Internet là SMTP ( Simple Mail Transfer Protôc]) Giao thức này được đặc tả trong hai chuẩn là RFC 822 ( định nghĩa cấu trúc của thư) và

RFC 821 ( đặc tả trao đôi thư giữa hai trạm của mạng) Hệ thống địa chỉ thư điện

Trang 12

tử trên Internet không chỉ định danh cho các host của mạng mà phải xác định rõ người sử dụng trên các host đó để trao đổi thư Dạng tổng quát của địa chỉ Email

là:

Login-name@host-name

Vi dé: hoanhn@yahoo.com

1.2.2.5 Nhom tin ( New groups)

Đây là dịch vụ cho phép nhiều người sử dung ở nhiều nơi khác nhau có

cùng mối quan tâm có thể tham gia vào một “nhóm tin” và trao đổi các van dé

quan tâm của mình thông qua các nhóm tin này Có thể có nhiều nhóm tin khác

nhau như: nhóm tin về nhạc cổ điển, nhóm tin về hội hoạ, Trong mỗi nhóm tin

có thể có nhiều nội dung thảo luận khác nhau Tên nhóm tin được cấu trúc theo kiểu phân cấp, các cấp phân cách bởi một dấu chấm

Ví đô: Rec music Classic

Trên Internet có nhiều Server tin khác nhau, trong đó tin tức được thu thập

từ nhiều nguồn khác nhau Các Server tin cũng có thể tạo các nhóm tin cục bộ

đáp ứng nhu cầu của người sử dụng

Người sử dụng tương tác với một Server tin thông qua một chương trình được đặt tên là chương trình đọc tin (News Reader) Và người sử dụng chỉ biết

đến một Server tin duy nhất, đó là Server mà mình kết nối vào Mọi sự trao đổi,

tương tác giữa các Server tin và các nhóm tin hoàn toàn “trong suốt” đối với

người sử dụng Với dịch vụ này, một người sử dụng có thể nhận được các thông

tin mà mình quan tâm của nhiều người từ khắp nơi, đồng thời có thể gửi thông

tin của mình đi cho những người này

1.2.2.6 Tìm kiếm tệp (Archie)

Archie là một dịch vụ Internet cho phép tìm kiếm theo chỉ số (index) cac

tệp khả dụng trên các Server công cộng (Archie Server) của mạng Người sử

dụng có thể yêu cầu Archie tìm các tệp có chứa một xâu văn bản hoặc chứa một

từ nào đó Archie sẽ trả lời bằng tên các tệp thoả mãn yêu cầu và chỉ ra tên của

các Server chứa các tệp đó

Trang 13

Đề dùng Archie, ta phải chọn một Archie Server Sau đó, có thể dùng

Telnet dé truy cập tới Server và tìm kiếm tệp mong muốn Ta cũng có thê dùng thư điện tử ( chứa các lệnh tìm kiếm mong muốn) gửi tới dia chi Archie@Server

trong đó Server chính là Archie Server mà ta đã chọn, và chờ đợi để nhận thư trả

lời ( về kết quả tìm kiếm) từ Server

Ngoài dịch vụ tìm kiếm tệp hiện nay còn có các dịch vụ tìm kiếm khác

như tìm kiếm thông tin theo thực đơn Gopher, tìm kiếm thông tin theo chỉ số

WAIS (Wide Area Infomation Server)

1.2.2.7 World Wide Web (WWW)

WWW la mot dich vu thong tin mới nhat va hap dẫn nhất trên Internet Nó

dùa trên kỹ thuật biểu điễn thông tin có tên là s¿êw văn bản (hypertext), trong đó

các từ được chọn trong văn bản có thể được “mở rộng” bất kỳ lúc nào để cung

cấp các thông tin chỉ tiết Sự mở rộng ở đây được hiểu theo nghĩa là chúng có

các /iên kết tới các tài liệu khác ( có thể là văn bản, âm thanh, ) cÓ chứa các

thông tin bé sung

Thuật ngữ World Wide Web được công bố lần đầu tiên vào tháng 8/1991

trên nhóm tin alt.hypertext Từ đó nhiều nhà phát triển đã tham gia phát triển

Web trên các hệ điều hành khác nhau (Unix, Macintosh, Window, .) Web sử

dụng một ngôn ngữ có tên là HTML HTML cho phép đọc và liên kết các kiểu

dữ liệu khác nhau trên cùng một trang thông tin Để thực hiện việc truy nhập, liên kết các tài nguyên khác nhau theo kỹ thuật siêu văn bản, WWW sử dụng khái nệm URL (Uniform Resource Locator) Đây chính là một dạng tên để định danh duy nhất cho một tài liệu hoặc một dịch vụ Web

Hoạt động của Web dùa trên mô hình Client/Server Tại trạm Client, người sử dụng sẽ dùng Web Browser để gửi yêu cầu tìm kiếm các tập tin HTML đến Web Server ở xa trên mạng Internet nhờ địa chỉ URL Web Server nhận yêu

cầu rồi gửi kết qua tra vé cho Client

Với sự hấp dẫn của mình, Web đã phát triển mạnh tới mức mà người ta

gọi là “ bùng nỗ Web” Ngày nay, Web không chỉ đơn thuần là cung cấp thông

13

Trang 14

tin trên Internet ma nó đã được ứng dụng rộng rãi trong lĩnh vực thương mại như quảng cáo, đặt hàng trực tuyến,

1.2.3 Interanet

Do nhận thức được vai trò của thông tin trong hoạt động kinh tế thị trường cạnh tranh gay gắt nên các tô chức , doanh nghiệp đều tìm mọi cơ hội và biện pháp để xây dựng và hoàn thiện các hệ thống thông tin nội bộ của mình Hệ

thống này bao gồm một cơ sở hạ tầng truyền thông máy tính và một tập hợp các chương trình ứng dụng nhằm tin học hoá các hoạt động tác nghiệp của đơn vị

Với hệ thống này, thông tin nội bộ phải luôn chính xác, tin cậy, hiệu quả, đặc

biệt hệ thống phải có khả năng truyền thông với thế giới bên ngoài qua mạng

toàn cầu Internet khi cần thiết

Từ những mục tiêu trên, người ta thấy cần phải xây dựng một mạng thông

tin nội bộ cho các đơn vị, nó được gọi là mạng Internet

Còng như Internet, Interanet đã phát triển không ngừng và ngày càng thu

hót được sự quan tâm của người sử dụng lẫn nhà cung cấp Song song với việc

phát triển các công cụ tiện Ých và các dịch vụ thông tin cho Internet, người ta

cũng tập trung vào việc chọn lùa các giải pháp cho Interanet Một số sản phâm

nhu Lotus Notes, Novell GroupWise, Microsoft Exchange, déu da hướmg mục tiêu đến Interanet

Mạng nội bộ có thể là mạng cục bộ LAN, hoặc kết nối các máy tính vùng

rộng hơn WAN

1.3 Mô hình ứng dụng Client- Server và ứng dụng trên Web

Client - Server là một mô hình tính toán khi máy Client gởi một yêu cầu

nào đó tới máy server Yêu cầu thường là đề truy xuất thông tin như những

yêu cầu trong database, hay yêu cầu để xử lý như cập nhật database hoặc

chạy một số quá trình nào đó Máy client thực hiện yêu cầu, và máy server

đáp ứng yêu cầu này Lợi ích của hệ thống client-server là tận dụng được sức

mạnh của mỗi máy hoặc hệ điều hành Client thực hiện một số ứng dụng về

Trang 15

mat logic va thé hién cho người sử dụng, trong khi server thực hiện việc xử lý

phía sau và các chức năng về cơ sở dữ liệu

15

Trang 16

Hinh 1.4 M6 hinh client — server

Cấu hình cơ bản của ứng dụng Client - Server :

] Client

Hình 1.5 Cấu hình cơ bản của ứng dụng Client — Server

Đối với ứng dụng trên Web, trình duyệt (browser) phục vụ như là client

chung, gởi yêu cầu về một trang web, nhận hồi đáp là ngôn ngữ HTML, và hiển thị nó cho người sử dụng Web server nhận yêu cầu thông qua giao thức

dịch chuyên siêu văn bản (HTTP) và trả về thông tin cần thiết trong dạng HTML mà client có thể hiểu được Tương tự như mô hình client-server, ta có

thé phân bố việc xử lý ứng dụng và quản lý cơ sở dữ liệu thành từng phần với

những mức độ khác nhau giữa máy client và máy server Hình1.3 mô tả cấu

trúc của một ứng dụng web điển hình :

16

Trang 17

Hinh 1.6 M6 hinh web dién hinh

So với ứng dụng client - server, ưu điểm chính của ứng dụng trên web là

việc triển khai ứng dụng Với ứng dụng client-server, ta phải cài đặt lại thành phần trên client mỗi khi thay đổi và cập nhật ứng dụng Trong một ứng dụng

web, với mỗi tính năng hay việc cập nhật mới ứng dụng, ta không phải đưa ra một chương trình thực thi mới trên mỗi máy desktop của người sử dụng Browser phục vụ như là client chung, cung cấp việc truy cập tới thông tin hiện có trên server Chi phí trong việc kiểm soát phiên bản, phân bố phần mềm, và quản trị hệ thống giảm đi rất nhiều đối với ứng dụng trên Web Hình 1.4 mô tả cấu hình cơ bản của ứng dụng trên Web

Hình 1.7 Cấu hình cơ bản của ứng dụng trên Web

Database Server Web Server

Client

[ ] Web browser

Khác với ứng dụng chạy trên máy tính đơn lẻ khi mà việc xử lý được thực hiện trên mỗi máy tính, ứng dụng Web tập trung xử lý trên server (gồm một

17

Trang 18

hay nhiều server) Vì browser chỉ đưa ra giao diện người sử dụng, toàn bộ

ứng dụng được đặt trên server :

Application Server (Server ứng dụng) : là phần mềm cung cấp các dịch vụ

để hỗ trợ cho các ứng đụng Web làm chức năng kết nói người dùng đầu cuối với cơ sở đữ liệu cộng tác Nó hoạt động như một môi giới trung gian giữa trình đuyệt Web và Database Server, nhờ đó không cần phải cài đặt ứng dụng đòi hỏi cao về mặt bảo trì cho người dùng đầu cuối

Trong hình 1.8 đưới đây, ta có một giao diện, những đối tượng bên trong

để thực hiện công việc nào đó cùng với những dịch vụ Hình vẽ cho thấy tất

cả những công việc chính đều đặt trên server, trên browser (client) chỉ còn

mỗi user-interface

Trang 19

Đối với Web server, thay vi user-interface, ta sé cod Web-interface Đây là

một lớp chương trình tương tác với Web server nhằm mục đích giao tiếp với client Web-interface đóng vai trò như lớp keo giữa những đối tượng và trang HTML được gửi tới browser của client Web-interface cung cấp HTML cho browser thông qua Web server và nhận những input từ user thông qua

browser và Web server Có nhiều công nghệ được dùng để xây dựng Web- interface nay, chang hạn như CGI, ISAPI, ASP Giữa những công nghệ

này, có những ưu và nhược điểm khác nhau, tuỳ theo yêu cầu của ứng dụng

mà ta sẽ chọn công nghệ thích hợp

19

Trang 20

Chương 2: tông quan về Cơ sở dữ liệu - vấn đề tích hợp web với

cơ sở dữ liệu

2.1 Tống quan về cơ sở dữ liệu (CSDL)

2.1.1 Thế nào là một CSDL?

CSDL là một tập hợp các dữ liệu có liên hệ với nhau được tổ chức và lưu

trữ lại trên các thiệt bị lưu trữ tin Nã cho phép nhiêu người sử dụng, nhiêu

chương trình ứng dụng với các mục đích khác nhau đông thời truy cập và khai

thác

2.1.2 Các mô hình CSDL

Nhìn chung mọi ứng dụng CSDL đều bao gồm các phần:

° Thành phần xử lý ứng đông ( Application procesing compoents)

° Thành phần phần mềm CSDL ( Database software components)

° Ban than CSDL (The database itselt)

Thông thường có 5 mô hình kiến trúc dùa trên cấu hình phân tán về truy nhập dữ

liệu của hệ thống máy tính Client/Server:

° Mô hình CSDL tập trung (Centralized database model)

° M6 hinh CSDL theo kiéu File-Server (File-Server database model)

° Mô hình xử lý từng phần CSDL (Database extract processing model)

20

Trang 21

° Mô hình CSDL Client/ Server ( Chent/ Server database model)

° Mô hình CSDL phân tán (Distributed database model)

2.1.2.1 Mô hình CSDL tập trung

Trong mô hình này, các thành phần xử lý ứng dụng, phần mềm CSDL và

bản thân CSDL đều ở trên cùng một bộ vi xử lý

Ví dụ người dùng máy tính cá nhân có thể chạy các chương trình ứng dụng có sử dụng phần mềm CSDL Oracle để truy nhập tới CSDL nằm trên đĩa cứng của một cá nhân đó Khi các thành phần ứng dụng, phần mềm CSDL và bản thân CSDL cùng nằm trên một máy tính thì ứng dụng đã thích hợp với mô hình tập trung

Hầu hết công việc xử lý luồng thông tin chính được thực hiện bởi nhiều

tổ chức mà vẫn phù hợp với mô hình tập trung Ví dụ một bộ xử lý mainffame

chạy phần mềm CSDL IMS hoặc DB2 của IBM có thể cung cấp cho các trạm

làm việc ở các vị trí phân tán sự truy cập nhanh chóng tới CSDL trung tâm Tuy nhiên, trong rất nhiều hệ thống như vậy, cả ba thành phần của ứng dụng CSDL đều thực hiện trên cùng một máy mainframe đo đó cấu hình này cũng tương tự

mô hình tập trung

2.1.2.2 Mô hình CSDL theo kiêu File — Server

Trong mô hình CSDL theo kiểu File — Server các thành phần ứng dụng và

phần mềm CSDL ở trên một hệ thống máy tính và các file vật lý tạo nên CSDL

nằm trên hệ thống máy tính khác Một cấu hình như vậy thường được dùng trong

môi trường cục bộ, trong đó một hay nhiều hệ thống máy tính đóng vai trò của

Server, lưu giữ các file đữ liệu cho hệ thống máy tính khác thâm nhập tới Trong môi trường File-Server, phần mềm mạng được thi hành và làm cho phần mềm ứng dụng cũng như phần mềm CSDL trên hệ thống của người đùng cuối coi các

file hoặc CSDL trên Server thực sự như là trên máy tính của chính họ

Mô hình File-Server rất giỗng với mô hình tập trung Các file CSDL nam

trên máy khác với các thành phần ứng dụng và phần mềm CSDL Tuy nhiên, các thành phần ứng dụng và các phần mềm CSDL có thê có cùng một thiết kế để vận

21

Trang 22

hành một môi trường tập trung Thực chất phần mềm mạng đã làm cho phần mềm ứng dụng và phần mềm CSDL tưởng rằng chúng đang truy xuất CSDL

trong môi trường cục bộ Một môi trường như vậy có thé phuc tap hon moi trường tap trung bởi vì phần mềm mạng có thé phải thực hiện cơ chế đồng thời

cho phép nhiều người sử dụng cuối có thể truy cập vào cùng CSDL

2.1.2.3 Mô hình xử lý từng phần CSDL

Trong một mô hình khác trong đó một CSDL ở xa có thê được truy cập bởi phần mềm CSDL, được gọi là xử lý dữ liệu từng phần Với mô hình này, người sử dụng có thể ở tại một máy tính cá nhân kết nói với hệ thống máy tính ở

xa nơi có dữ liệu mong muốn Người sử dụng sau đó có thể tác động trực tiếp đến phần mềm chạy trên máy ở xa và tạo yéu cau dé lay dit liệu từ CSDL đó Người sử dụng cũng có thể chuyển đữ liệu từ máy tính ở xa về chính máy tính của mình vào đĩa cứng và có thê thực hiện việc sao chép bằng phần mềm CSDL

trên máy cá nhân

Với cách tiếp cận này, người sử dụng phải biết chắc chắn là đữ liệu nằm ở đâu và làm như thế nào để truy nhập và lấy đữ liệu từ một máy tính ở xa Phần

mềm ứng dụng đi kèm cần phải có trên cả hai hệ thống máy tính để kiêm soát sự

truy cập và chuyển đữ liệu giữa hai hệ thống Tuy nhiên, phần mềm CSDL chạy

trên hai máy không cần biết rằng việc xử lý CSDL từ xa đang diễn ra vì người sử

dụng tác động tới chúng một cách độc lập

2.1.2.4 M6 hinh CSDL Client/Server

Trong mô hình CSDL Client/Server, CSDL nằm trên một máy khác với

một máy có thành phần xử lý ứng dụng Nhưng phần mềm CSDL được tách ra

giữa hệ thống Client chạy các chương trình ứng dụng và hệ thống Server lưu trữ

dữ liệu

Trong mô hình này, các thành phần xử lý ứng dụng trên hệ thống Client

đưa ra yêu cầu cho phần mềm CSDL chạy trên máy Client, phần mềm này sẽ kết

nỗi với phần mềm CSDL chạy trên Server Phần mềm CSDL trên Server sẽ truy cập vào CSDL và gửi trả kết quả cho máy Client

Trang 23

Mới nhìn, mô hình CSDL ClientServer có vẻ giống như mô hình File-

Server Với mô hình File-Server, thông tin gắn với sự truy cập CSDL vật lý phải chạy trên toàn mạng Một giao tác yêu cầu nhiều sự truy cập dữ liệu có thể gây

ra tắc nghẽn lưu lượng truyền trên mạng

Giả sử một người dùng cuối tạo một query dé lay dữ liệu tổng số, yêu cầu đòi hỏi lấy dữ liệu từ 1000 bản ghi với cách tiếp cận File-Server nội dung của tắt

cả 1000 bản ghi phải đưa lên mạng, vì phần mềm CSDL chạy trên máy người sử

dụng phải truy cập từng bản ghi để thoả mãn yêu cầu của người sử dụng Với

cách tiếp cận CSDL Client/Server, chỉ có query khởi động ban đầu và kết quả cuối cùng đưa lên mạng, phần mềm CSDL chạy trên máy lưu giữ CSDL sẽ truy cập các bản ghi cần thiết, xử lý chúng và gọi các thủ tục cần thiết để đưa ra kết

quả cuối cùng

Trong mô hình CSDL Client/Server, thường nói đến các phần mềm front-

end software va back-end software Front-end software dugc chay trén mét máy

tính cá nhân hoặc chạy trên một workstation và đáp ứng yêu cầu đơn lẻ riêng biệt, phần mềm này đóng vai trò của Client trong ứng dụng CSDL Client/Server

và thực hiện các chức năng hướng tới nhu cầu người dùng cuối cùng

Phan mém front-end software thuong chia thanh cac phan sau:

e End User database software: Phan mém CSDL này có thể được thực

hiện bởi người sử dụng cuối trên chính hệ thống của họ để truy nhập các CSDL

cục bộ nhỏ còng như kết nói với các CSDL lớn hơn trên trên CSDL Server

e Simple query and reporting software: Phan mém nay duoc thiết kế

để cung cấp các công cụ đễ đàng hơn trong việc lấy dữ liệu từ CSDL và tạo các

báo cáo đơn giản từ CSDL đã có

e© Data analysic software: Phan mém nay cung cấp các hàm về tìm kiếm, khôi phục, chúng có thể cung cấp các phân tích phức tạp cho người dùng

¢ Application development tools: Các công cụ này cung cấp các khả năng về ngôn ngữ mà các nhân viên hệ thống thông tin chuyên nghiệp sử dụng

để xây dựng các ứng dụng CSDL của họ Các công cụ ở đây bao gồm các công

cụ về thông dịch, biên dịch đơn đến các công cụ CASE (Computer Aided

23

Trang 24

Software Enginerring), chúng tự động tất cả các bước trong quá trình phát triển ứng dụng và sinh ra chương trình cho các ứng dụng CSDL

® Database administration Tools: Các công cụ này cho phép người

quản trị CSDL sử dụng máy tính cá nhân hoặc trạm làm việc để thực hiện việc quản trị CSDL như định nghĩa các cơ sở đữ liệu, thực hiện lưu trữ hay phục hồi

Back-end software: Phan mém này bao gồm phần mềm CSDL Client/Server và phần mềm chạy trên máy đóng vai trò là Server CSDL

2.1.2.5 Mô hình CSDL phân tán

Cả hai mô hình File-Server và Client/Server đều giả định là dữ liệu nằm trên một bộ xử lý và chương trình ứng dụng truy nhập dữ liệu nằm trên một máy

khác, còn mô hình CSDL phân tán lại giả định bản thân CSDL có ở trên nhiều

máy khác nhau Mô hình này có nhiều ưu điểm như: đễ mở rộng CSDL, hiệu

nang cao Tuy nhiên, nó khá phức tạp, chi phí xây dựng cao và tính an toàn

kém hơn so với CSDL tập trung

1.1.3 ODBC và OLEDB, ADO

1.1.3.1 ODBC ( Open Database Connectivity)

Có rất nhiều hệ thống database khác nhau, nếu không có một chuẩn chung

để giao tiếp giữa những hệ database này thì khi ứng dụng chuyển đổi từ hệ

database này sang hệ database khỏc, mó của chương trình phải thay đổi lại

cho phù hợp Để giải quyết tình trạng này, người ta đã đưa ra một chuẩn dé

các kiểu database khác nhau có thể giao tiếp được, đó là ODBC (Open

DataBase Connectivity)

Chuan ODBC, là một tập mở rộng của những thư viện liên kết động

(DLL), cung cấp giao diện lập trình ứng dụng cơ sở dữ liệu chuẩn ODBC

dựa trên phiên bản được chuẩn hoá của SQL ODBC là một lớp nằm giữa

chương trình ứng dụng và hệ thống database Với ODBC và SQL, ta có thể

viết mã truy xuất đến cơ sở dữ liệu mà không phụ thuộc vào bất kỳ hệ quản trị cơ sở đữ liệu nào

Trang 25

Chuẩn ODBC khong chỉ định nghĩa luật văn phạm của SQL mà còn định nghĩa giao diện lập trình của ngôn ngữ C cho một databse SQL Do đó, đối

tượng C hay C++ có thể truy xuất tới bất kỳ DBMS nào có driver ODBC ODBC là lớp phục vụ giao tiếp giữa chương trình ứng dụng và hệ điều

hành cũng như hệ thống file của database ODBC nhận những yêu cầu truy xuất thông tin từ chương trình ứng dụng, chuyên nó thành ngôn ngữ mà database engine hiểu được để truy xuất thông tin từ database Như vậy, nó

cho phép chúng ta phát triển tập hợp các function và method đề truy xuất đến

database mà không cần phải hiểu sâu về đatabase đó

Ví dụ, MS Access cho phép chúng ta liên kết (link) hay gắn (attach) một

bảng đến database Khi thực hiện điều này, Access sẽ yêu cầu chúng ta chọn

loại database (database mà Access trực tiếp hỗ trợ), nếu không có loại

database phù hợp chúng ta có thể chọn ODBC Khi chọn ODBC, nó sẽ liệt kê

tất cả các cầu hình khác nhau mà chúng ta đã thành lập, và chọn một trong số

đó bất kế đatabase engine nào

Khi ứng dụng làm việc với ODBC, nó làm việc với data source và

database engine mà nó tham khảo Khi thiết lập cấu hình cho client mà cài đặt

những kết hợp driver với database Những kết hợp này sẽ được đặt tên và

được sử dụng khi chúng ta muốn yêu cầu kết nói để truy xuất đến database

đó Những kết hợp giữa database và driver gọi là những Data Source Name hay những DSN Khi muốn mở một đatabase thông qua ODBC, chúng ta phải cung cấp DSN, UserID va Password ODBC sẽ lay những thông số mà chúng

ta đã thiết lập cấu hình sẵn (trong Control Panel - ODBC32) để tạo kết nồi Những thành phần chung của DSN :

- DSN: Tén DSN mà chúng ta đã đặt khi thiết lập cấu hình ODBC

- UID : UserID dugc sit dung dé login vao database

- PWD : Password dugc str dung khi login

Như vậy, để truy xuất đến các database thong qua ODBC, ta phải cài đặt

driver cho database đó ODBC có nhiều driver để hỗ trợ cho các database

khác nhau nhằm chuyển các bảng tính hay các tập tin văn bản thành data

25

Trang 26

source Hé điều hành căn cứ vào thông tin duge ghi boi ODBC Administrator trong Registry để xác định cấp của ODBC driver giao tiếp với data source Việc nạp ODBC driver là "trong suốt" (transparent) đối với chương trình

ứng dụng Trong môi trường mạng, ODBC đảm nhận luôn cả việc xử lý

những vấn đề truy xuất dữ liệu trên mạng như việc truy xuất đồng thời hay giải quyết tranh chấp

Tóm lại, ODBC là một giao tiếp lập trình chuân cho người phát triển ứng

dụng và nhà cung cấp database Trước khi ODBC trở thành một chuẩn không

chính thức cho các chương trình ứng dụng trên Windows giao tiếp với các hệ thống database, người lập trình phải sử dụng các ngôn ngữ riêng cho mỗi database mà họ muốn kết nói tới Khi ODBC ra đời thì người lập trình không

còn bận tâm về điều này nữa, họ có thể truy xuất đến các database khác nhau

bằng các thủ tục và hàm như nhau Mã của chương trình ứng dụng không

thay đôi khi data source chuyền từ hệ thống database này sang hệ thống khác

(ví dụ từ Oracle sang SQL server)

Ưu điểm và nhược điểm của ODBC

Vì ODBC cung cấp viéc truy xuat dén bat ky dang database thong dung cé

sẵn, do đó tạo nên sự uyên chuyên trong những ứng dụng Ta có thể chuyên ứng dụng từ hệ thống database này sang hệ thống database khác mà không

tốn nhiều chỉ phí và công sức DSN của ta có thể tham khảo đến bất kỳ một

database nào Điều này cho phép ta có thê tham khảo đến bắt kỳ một database

nào Như vậy, ta có thể phát triển ứng dụng theo một hệ thống database này

(chang han nhu Microsoft Access) nhung lai bién déi thanh san phẩm sử dụng hệ thống database khác (ví dụ như Microsoft SQL Server) bằng cách

đơn giản là thay đổi driver được sử đụng DSN mà chúng ta định nghĩa trong ứng dụng

Việc gọi hàm qua lớp ODBC đến database engine không phải là không tôn phí ODBC phải hỗ trợ khả năng chuyên đổi các hàm được gọi từ ứng dụng, việc này cần phí tốn cho việc xử lý và làm quá trình truy xuất database cham

Trang 27

đi Hơn nữa, ODBC không hỗ trợ việc truy xuất cơ sở dữ liệu đối tượng

(Object Database)

1.1.3.2 OLEDB va ADO

OLEDB được thiết kế đề thay thế ODBC như một phương thức truy cập

dữ liệu ODBC hiện thời là tiêu chuẩn phía Client được Windows sử dụng rất

phổ biến để truy cập các dữ liệu quan hệ vỡ nó thiết lập các Server cơ sở dữ liệu càng tổng quát càng tốt đến các ứng dụng Client OLEDB đi sâu hơn một bước,

bằng cách làm cho tất cả nguồn đữ liệu trở thành tổng quát đối với ứng dụng

Client

ADO là giao điện dựa trên đối tượng của công nghệ OLEDB ADO là

công nghệ truy cập cơ sở dữ liệu hướng đối tượng ADO hiện nay được Microsoft xem là kĩ thuật để truy cập cơ sở dữ liệu từ Web Server Hình vẽ sau cho ta cách nhìn tổng quát về ODBC và OLEDB:

ADO (ActivexX Data Objects)

OLEDB

Trang 28

Vay ngoai ADO, co cach nao đề đưa dữ liệu lên Web nữa không? Thực ra,

trước khi có ADO, người ta thường dùng CGI (Common Gateway Interface) cùng với ODBC Hiện nay, đa số các trang Web động sử dụng cơ sở đữ liệu vẫn

còn được tạo bằng CGI

Phương pháp CGI đòi hỏi ta yêu cầu Web Server một trang Web HTML bình thường Ở một nơi nào đó trong trang Web sẽ có lời gọi đến một ứng dụng CGI Giả sử ta sẽ dùng form ở những nơi ta muốn lưu chỉ tiết về người dùng

trong cơ sở dữ liệu:

<HTMI>

<HEAD>

</HEAD>

<BODY>

<H3>To subscript to our email list, you must enter your details here: </H3>

<FORM ACTION= “/cgi-bin/maillist.pl” METHOD= “GET” >

<P>Name: <INPUT TY PE= “Text” NAME= “name” ></P>

<P>Address: <INPUT TYPE= “Text” NAME= “address” ></P>

<P>Phone: INPUT TYPE= “Text” NAME= phone” ></P>

<P>Email: INPUT TYPE= “Text” NAME= ”email” ></P>

<INPUT TYPE= “submit” >

<INPUT TYPE= “reset” >

</FORM>

</BODY>

</HTML>

Server sẽ thực thi ứng dụng CGI và ứng dụng CGI sẽ gửi tra vé dong van

bản và HTML cho Server Ứng dụng CGI có thé là một tập tin thực thi hoặc là

một tập tin viết bằng ngôn ngữ kịch bản Các kịch bản của CGI có thể viết bằng

nhiều ngôn ngữ khác nhau như Perl, C, C++, Tcl hay Python Các kịch bản sẽ điều khiển dòng đữ liệu giữa ngôn ngữ HTML và cơ sở dữ liệu Bản thân Web Server sẽ sử dụng ODBC để giao tiếp với cơ sở đữ liệu Server nhận dữ liệu xuất

ra từ cơ sở đữ liệu và dựng nó đề tạo ra một trang Web mới, sau đó trang này sẽ

được gửi về trình duyệt

Trang 29

Mặc dù CGI được sử dụng rộng rãi nhưng nó cú một số khuyết điểm Một trong những khuyết điểm đó là giảm tính trực tiếp trong tương tác giữa Server và trình duyệt vì Server buộc phải gọi ứng dụng CGI Một khó khăn khác là coc m6

mà CGI chuyển nhận rất khó xử lý nên ta thường phải chọn một ngôn ngữ có

công cụ soạn thảo và giao tiếp tốt Ngoài ra CGI cũng không phải là phương pháp nhanh nhất để truy xuất cơ sở dữ liệu Vì vậy ta thường dùng ADO với nhiều ưu điểm hơn để kết nói với cơ sở dữ liệu cho Web

Có một lý do nữa để ta chọn lựa ADO, đó là ta phải nhận thấy rằng không

phải tất cả dữ liệu đều được lưu trong cơ sở dữ liệu Ví dụ: một văn bản Word

hay một từ điển tự nó không phải là cơ sở đữ liệu Ta gọi tất cả các nguồn dữ

liệu là data store Nếu sử dụng ODBC thì ta chỉ có thể truy xuất với cơ sở dữ

liệu, tuy nhiên OLEDB cho phép người dùng truy xuất mọi đata store OLEDB

có thê thay thế ODBC, tuy nhiên nó lại tồn tại ở lớp trên ODBC và cho phép ta

sử dụng các ODBC Driver có sẵn Ở OLEDB, Provider là khái niệm tương

đương với ODBC Driver Provider được hiểu đơn giản là một cái gì đó cung cấp

dữ liệu Provider không giống như Driver Do không có nhiều OLEDB Provider như ODBC Driver nên nếu ta muốn truy cập thông tin từ cơ sở đữ liệu, gần như

chắc chắn bạn phải dùng ODBC cùng với OLEDB Giản đồ dưới đây cho thấy

chúng ta làm việc như thế nào:

Program

ActiveX Data Objects (ADO)

Cc E— ¬£€E_ ¬.E ¬

ODBC Access SQL Exchange Non Relational

29

Trang 30

Dù rằng OLEDB dễ dàng hơn ODBC nhưng nó cũng không hoàn toàn dé hiểu và chỉ có một số ít ngôn ngữ lập trình có thể xử lý nó như C++ Tuy nhiên,

nó cú một vỏ bọc không những dấu bớt những phức tạp bên trong đối với người

sử đụng mà còn cho phép các ngôn ngữ khác (như nhôn ngữ kịch bản) có thể xử

lý Data Store Đú chớnh là ActiveX Data Objects hay gọi tắt là ADO ADO là

một phần tử COM( Component Object Model) và do đó có thể được dùng trong bất kì ngôn ngữ nào tương thích với COM ADO không độc lập với hệ điều hành

nhưng độc lập với ngôn ngữ lập trình vì thế nó có thể được xử lý bằng các ngôn ngữ như C++, VB, Java, Java Script hay VbScript

ADO được thiết kế để cung cấp một phương pháp truy cập dữ liệu cho tất

ca moi người Để thực hiện điều đó, nó đưa ra một mô hình đối tượng sau:

Ly Parameters [—— Parameter Recordset

Ly Fields [—— Field Collection

Trang 31

Đối tượng Connection dùng để tạo một kết nói đến Data Store Khi kết nói đã được

thiết lập, ta có thé đựng nó bao nhiêu lần tuỳ ý Mặc dù ta cần một kết nói trước khi ta

có thể truy xuất dữ liệu trong cơ sở đữ liệu nhưng thật ra ta không phải sử dụng đối

tượng Connection để tạo kết nói Cả hai đối tượng Command và Recordset đều có thể

tạo kết nói một cách độc lập

e Đối tượng Command:

Đối tượng Command được dùng đề thực hiện các lệnh trên cơ sở đữ liệu

Những lệnh này không phải là lệnh kịch bản của ASP mà là cóc cõu lệnh SQL

Các lệnh này dùng để lẫy thông tin từ cơ sở đữ liệu hay thờm, xoỏ, sửa các mẫu

tin, các bảng mới vào cơ sở đữ liệu

e_ Đối tượng Recordset:

Đối tượng Recordset là đối tượng thường dùng nhất trong ADO, vì thế có

nhiều đặc tính và phương thức nhất Nó được dùng để giữ thông tin về các

Recordset ma ta tao ra

nhanh dẫn đến việc quản lý Web Server ngày càng trở nên khó khăn Web Server

là trọng tâm của hệ thống, do đó việc quản lý tốt Web Server sẽ làm cho toàn hệ thống hoạt động tốt hơn Trong vô SỐ các trang Web chứa trong mét Web Server

người ta thấy rằng rất nhiều trang mà nội dung của chúng hoàn toàn có thể đưa vào CSDL, Nếu thay các trang Web như trên bằng một trang Web duy nhất có

31

Trang 32

khả năng hiển thị thông tin lấy từ CSDL thì tốt hơn tìm kiếm trên những tập tin

roi rac

Nhu vay, van dé quan ly tốt Web Server dẫn đến việc xây dựng một CSDL

lưu trữ thông tin

Khi xây dựng một ứng dụng CSDL, ngoại trừ CSDL đó chỉ phục vụ cho mục đích cá nhân, còn không thì phải xem xét việc tạo khả năng để nhiều người

có thể truy xuất đến CSDL Muốn vậy, thì cần có một hệ thống gồm nhiều máy

tính, tất cả đều được kết nối với nhau và nối với Server chứa CSDL Khi đó sẽ

nảy sinh một số vấn đề sau:

e_ Với trường hợp những người muốn truy xuất đến ở xa Server, việc thiết lập riêng một hệ thống mạng trên diện rộng là không khả thi

e_ Các máy tính truy xuất đến CSDL có thể thuộc nhiều họ máy, chạy trên

nhiều hệ điều hành khác nhau Do đó, cần phải xây dựng các ứng dụng thích hợp

với các nền tảng đó, và các ứng dụng này sẽ được phân tích tại mỗi Client Sau một thời gian khai thác, khi đó nhu cầu sửa đổi các ứng dụng Client thì phải sửa

Client có thể gồm nhiều máy tính chạy trên các hệ điều hành khác nhau mà

không cần phải phát triển các ứng dụng chạy trên từng máy mà chỉ cần xây dựng

một trang Web đặt tại Web Server Điều này sẽ giảm thời gian và chi phí phát

triển ứng dụng, giảm chỉ phí bảo trì và cập nhật các ứng dụng đó

Hỗ trợ mạng:

Một điều quan trọng cần phải xét đến khi thiết kế các ứng đụng CSDL là

làm thế nào để truy xuất CSDL từ các máy ở xa (remote computer) Nhu da đề

Trang 33

cập ở trên không một cá nhân hay tổ chức nào có thể xây đựng mỗi một hệ thống mạng máy tính trải rộng trên quy mô hàng trăm, ngàn km trong khi đó tồn tại

một hệ thống mạng có phạm vi toàn cầu là Internet Web Server và Web Brower

có những tính năng về mạng Chúng được thiết kế để chuyền và nhận thông tin

qua Internet hay mạng cục bộ Vậy tại sao không sử dụng Internet cho mục đích truy cập CSDL

Nếu xét ở khía cạnh quản lí tốt tài liệu của Web Server hay ở khía cạnh

khai thác tốt CSDL trên phạm vi rộng đều đẫn đến một nhu cầu là tích hợp Web

với CSDL

Tích hợp Web với CSDL bao gồm việc tạo khả năng truy cập và cập nhật

dữ liệu thông qua Web Để thực hiện việc tích hợp Web với CSDL thì cần phải xây dựng lại hệ thống trong đó có cơ chế chuyền thông tin giữa trang Web và

CSDL, cơ chế truy cập đến CSDL và những trang Web động trong môi trường

Web va phải có những tính năng như là một hệ thống ứng dụng CSDL trên Web

Trong trang Web thì việc giao tiếp với người sử dụng được thực hiện thông qua các “HTML Form ” Các form này chứa các phần tử dùng đê nhập liệu như là textbox, chechbox, option button Khi hoàn tất việc nhập liệu bằng cách

bấm vào một nót đề chấp nhận submit, hành động này sẽ gởi nội dung của form

đến Web Server

Do World Wide Web là hệ thống Web Client/Server nên hệ thống ứng

dụng CSDL trên Web sẽ mang những đặc điểm của một hệ thống ứng dụng CSDL Client/Server Vì vậy, việc nghiên cứu, tiếp cận để xây dựng hệ thống ứng

dụng Client/Server là rất cần thiết Hiện nay, đa số nhà phát triển phần mềm cho rằng cách tiếp cận dùa trên thành phần là cách tiếp cận tốt để phát triên các ứng dụng Client/Server

2.2.2 Các giải pháp tích hợp Web và CSDL

Phần này sẽ nghiên cứu sự phát triển của mô hình Client/Server ứng dụng

cho việc tích hợp Web site với CSDL Chóng ta sẽ xem xét nó ở hai khía cạnh:

33

Trang 34

thứ nhất, sự liên lạc giữa Client và Server ; thứ hai, phương pháp truy xuất CSDL

Mô hình Client/Server, trên thực tế, đã giúp cho việc giải quyết những bài

toán phức tạp một cách trở nên dễ dàng bằng cách phân chia bài toán đó thành

nhiều bài toán con và giải quyết từng bài toán con một Nhưng quan trọng hơn hết không phải là việc giải được những bài toán lớn mà là cách thức giải bài toán Mô hình Client/Server đã giúp phát triển một phương thức phát triển ứng

dụng mới là việc phân chia ứng dụng thành nhiều líp thực hiện những chức năng

chuyên biệt Một ứng dụng thông thường được chia thành ba líp:

e _ Giao diện (Presentation logic): líp này là cầu nối giữa người dùng với ứng dụng, cung cấp những chức năng của ứng dụng cho người dùng và nhận những lệnh từ người dùng cho ứng dụng Líp này được thiết kế sao cho càng

thân thiện với người đùng càng tốt

e Chức năng (tạm dịch từ Business logic): đây là phần lõi của một

chương trình, cung cấp tất cả những chức năng có thê có của chương trình cho líp giao diện bên trên

e CSDL (Data Access logic): líp này là CSDL của ứng đụng, cung cấp khả năng truy xuất đến CSDL cho líp chức năng nếu cần

Việc phân chia ứng dụng thành nhiều líp còn giúp cho ứng dụng dễ dàng thay đổi, cập nhật và đáng tin cậy hơn

Ứng dụng đầu tiên của mô hình Client/Server là ứng dụng chia sẻ file (do các tổ chức có nhu cầu chia sẻ thông tin giữa các bộ phận trong tổ chức được dễ

dàng và nhanh chóng hơn) Trong ứng dụng này, thông tin được chứa trong các file và được đặt tại một máy (Server) của một phòng ban Khi một phòng ban

khác có nhu cầu trao đổi thông tin với phòng ban này thì sẽ sử đụng một máy

(Client) kết nối với máy Server và tải những file thông tin cần thiết về

2.2.2.1 Mô hình hai mức (2-tier) Client/Server

Trang 35

Mô hình hai mức là một sự phát triển từ ứng dụng chia sẻ file ở trên Trong ứng dụng chia sẻ file, ta thay thế file Server bằng một hệ thống quản trị

CSDL (DBMS) Khi client can thông tin từ CSDL, nó sẽ yêu cầu DBMS thông

qua mạng máy tính giữa các phong ban; DBMS xu ly yéu cầu và sau đó trả về

cho Client những thông tin client yêu cầu

Ưu điểm của mô hình hai mức so với ứng dụng chia sẻ file là làm giảm bớt được lưu thông trên mạng ở ứng dụng chia sẻ file, đơn vị truyền nhận giữa

Client và Server là một file, do đó, khi client yêu cầu thông tin từ Server thì

Server sẽ trả cho Client toàn bộ một file có chứa thông tin đó Trong khi ở mô

hình hai mức thì Server có thể trả cho Client đúng những gì mà Client yêu cầu

với đơn vị truyền nhận có th tính bằng byte Ngoài ra, hiện nay các DBMS còn

cung cấp nhiều khả năng khác như hỗ trợ giao dịch, cho phép nhiều người dùng

cùng thao tác trên CSDL cùng lúc mà vẫn đảm bảo được tính toàn vẹn của dữ liệu

1) Tính toán tập trung ở Client (fat Client-thin Server): ở loại này, phía Client phải đảm nhận cả hai líp là giao diện và chức năng còn Server chỉ làm

nhiệm vu cua lip CSDL

-presentation logic

-business logic

Trang 36

Ưu điểm của mô hình loại này là đơn giản, thích hợp cho các ứng dụng

nhỏ và vừa Tuy nhiên, nó cũng có một số nhược điểm sau:

- Do phần tính toán nghiêng về phía Client nhiều nên đòi hỏi Client phải

có cấu hình đủ mạnh

- Còng do phần lõi (chức năng) của chương trình nằm ở phía Client nên khi chương trình cần nâng cấp thì sẽ rất khó khăn vì phải cập nhật lại chương

trình nằm ở toàn bộ các Client

- Do mọi thao tác trên CSDL đều thông qua mạng giữa Client và Server

nên tốc độ của chương trình sẽ chậm đi

2) Tính toán tập trung ở Server (fat Server-thin Client): ở loại này, Client

chỉ đảm nhiệm phần giao diện còn Server thực hiện chức năng của líp chức năng

và líp CSDL

Ngược lại, với loại fat Client-thin Server thì loại này có ưu điểm là giảm

sự lưu thông trên mạng và tốc độ nhanh hơn do líp chức năng của chương trình nằm ở Server cùng với CSDL, đo đó mọi thao tác với CSDL của chương trình đều được thực hiện ngay trên Server và thông tin lưu thông trên mạng chỉ là

những kết quả được trả về cho người dùng sau khi được tính toán Mặt khác, do phần lõi của chương trình được đặt tập trung tại Server nên việc cập nhật chương

trình sẽ dễ dàng hơn Tuy nhiên, đo công việc được tập trung quá nhiều tai

Server nên đòi hỏi cấu hình Server phải đủ mạnh, đặc biệt là khi có nhiều Client cùng truy xuất tới Server cùng lúc

Trang 37

-presentation logic

Database Server

Data access logic

Trang 38

2.2.2.2 Mô hình ba mức(3-tier) Client/Server

có yêu cầu thay đổi thường xuyên như ứng dụng Web

Để thấy được tính linh hoạt của mô hình ba mức, ta lấy một ứng dụng có

cấu trúc theo mô hình ba mức, có mức giữa chức năng là các thành phần COM giao tiếp với mức giao điện thông qua các nhập xuất chuẩn (standard I/O) va voi

mức CSDL bằng các câu lệnh SQL thông qua ODBC hoặc ADO Khi đó, mức

CSDL của ứng dụng có thể là bất cứ DBMS nào mà ODBC hoặc ADO hỗ trợ

như Access, SQL Server, và ứng dụng có thê là một ứng dụng stand-alone chạy trên một máy hoặc trở thành một ứng dụng Web chạy trên nhiều máy khác nhau bằng cách nhúng thành phần COM nay vào phan giao diện là một cửa số ứng dụng hoặc một trang Web

38

Trang 39

Chương 3: Công nghệ ASP

3.1 Lùa chọn công nghệ cho đề tài

Xây dùng Web site khối PTCTT đồng nghĩa với việc xây dựng một Web Server trên máy chủ chứa dữ liệu, các trang Web và các chương trình phục vụ cho việc quản lý các thông tin như: thông tin về giáo viên, hoc sinh, Web Server này phải có khả năng tương tác với Client, xử lý dữ liệu do Client gửi

đến, trả về kết quả động tuỳ thuộc vào nội dung dữ liệu mà Client yêu cầu,

Tức là chúng ta phải xây dựng các trang Web động Nếu không xây dựng những

trang Web động thì người thiết kế phải thiết kế lại những trang Web đó mỗi khi

có yêu cầu cập nhật

Việc xây dựng các trang Web động có thể sử dụng các công nghệ như:

CGI, Perl, ISAPI, ASP, JSP,Servlet

CGI ( Cémmon Gateway Interface)

CGI là một phương thức giao tiếp giữa Web Server và chương trình ứng

dụng Một chương trình CGI thực chất là một chương trình exe (trên Windows) hoặc một chương trình thực thi (trên Unix) Nó có thể được xây đựng từ nhiều ngôn ngữ như C, Pascal, Visual Basic,

Thuận lợi của ứng dụng CGI là tính ph biến va dễ viết (vì các ngôn ngữ

nhu C, Pascal, Visual Basic la rất thông dụng) CGI cũng tỏ ra rất hiệu quả trong các ứng đụng truy xuất Web trên Internet Ngày nay CGI hiện vẫn còn

được sử dụng rộng rãi trên các trình Web Server chạy trên máy chủ Unix và Linux Tuy nhiên, nó có nhược điểm là tiêu tốn tài nguyên và hạn chế về tốc độ

thực thi Mỗi khi có yêu cầu gửi từ Client, Web Server phải triệu gọi CGI theo các bước:

- Nap chương trình vào bộ nhớ

- Thực thi chương trình

- Trả kết quả về cho Client

- Giải phóng CGI khỏi bộ nhớ

Việc lưu vết trạng thái trong mỗi kết nói giữa Client và Server của ứng dông Web CGI cũng rất khó quản lý

39

Trang 40

Perl (Practical Extraction and Report Language):

Perl là một ngôn ngữ lập trình dùng cho CGI, do Larry Wall tạo ra, được

dùng khá rộng rãi trên Unix và Linux Perl khác biệt với các ngôn ngữ khác là

có tính chất xử lý text rất mạnh đo có nhiều toán còng như hàm để hỗ trợ

riêng cho xử lý text Nó có thể xử lý dễ dàng những tác vụ giống như C hoặc Unix shell thường làm trong việc viết một Script nhưng có thê ngắn gọn và đơn giản hơn Không giống như các trình biên dịch C hay C++, Perl là một

trình thông dịch Vì là một ngôn ngữ lập trình cho nên Perl cũng có đầy đủ

các công cụ hỗ trợ cho nó như tất cả các ngôn ngữ lập trình khác như: biến,

dãy, danh sách,

Perl đã mở rộng các chức năng của trình CGI phục vụ cho Web Server

Mở đầu cho thời kỳ viết ứng dụng biên dịch kịch bản (scipting) phục vụ cho

phía máy chủ (Server side) như ASP, JSP,

IASP, Servlet, ASP, JSP: , Servlet, ASP, JSP:

Như ta đã biết, nhược điểm chính của chương trình CGI là vấn đề tốc độ Mỗi lần thực thi chương trình CGI, Web Server phải nạp và giải phóng

chương trình CGI ra khỏi bộ nhớ Công nghệ Web đã đưa ra rất nhiều giải

pháp khắc phục yếu điểm này

Windows cung cấp cho ta cách thức xây dựng các chương trình CGI ở

dạng thư viện liên kết động DLL ứng dụng CGI kiêu mới này còn gọi là các

ứng dụng ISAPI Chương trình ISAPI chỉ phải nạp một lần vào bộ nhớ khi lần đầu tiên Web Server gọi nó Do không phải nap nhiều lần nên tốc độ thực thi được cải thiện đáng kể Hơn nữa, các chương trình ISAPI phục vụ Web

Server hiệu quả và Ýt tốn tài nguyên hơn các chương trình ISAPI thông

Ngày đăng: 06/10/2014, 14:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w