chónh hơn.Khi nhận được một yêu cầu từ Client thì Server này có thể gửitiếp đi yêu cầu vừa nhận được cho một Server khác chẳng hạn nhưDatabase Server vì bản thân nó không thể xử lý yêu c
Trang 1PHẦN 1 :CƠ SỞ LÝ THUYẾT
CHƯƠNG 1:
Tổng quan về mạng Internet và hình thức 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ênphạm vi toàn thế giới Internat có lịch sử rất ngắ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ằmthự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ó them hai mạng : forwarrd và ALOHnet, đến năm 1972 hai mạng này đã được kết nối vớiARPANET Cũng năm 1972 Ray Tomlinson phát minh ra chương trình thư
Store-and-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ửicác thong đ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 (Nauy) đượ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 đã được tách làm hai mạng riêng :MILNET tích hợp với mạng 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 đợi
Vì vậy Hội đồng khoa học quốc gia Mỹ đã quyết đinh xây dựng mộtmạng riêng NSFNET lien kết các trung tâm tính toán lớn và các trường Đạihọ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 lien 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ừ đó mà thuật ngữ Internet ra đời.Dần dần kỹ thuật xây dựngmạng ARPANET đã được thừa nhận bởi tổ chức NSF,kỹ thuật này được
Trang 2sử dụng để xây dựng mạng lớn hơn với mục đích lien kết các trung tâm
nghiên cứu lớn của Mỹ.Người ta đã nối các siêu máy tính (Super Computer) thuộc các vùng khác nhau bằng đườ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ênmạng,người ta dung để trao đổi thông tin giữa các vùng với khoảng cáchngà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 nay 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ườngtại một nước phát triển ,Internet đã trở thành một nhu cầu sử dụng giốngnhư điện thoại,Tivi…Trong thời gian biểu của một ngày làm việc đã xuấthiện một khoảng thời gian nhất định để sử dụng Internet ,cũng giống nhưthời gian xem Tivi mà thôi
Các loại dịch vụ được sử dụng nhiều nhất trên Internet là:Tìm kiếmthông tin,giáo dục,giải trí,mua bán,quảng cáo sản phẩm,giao dịch,các loạidịch vụ liên quan đến thông tin cá nhâ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 đã ra đời nhưngmỗi kiểu lại dựa trên 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ộ (LAN-Local Area Networks) nối các máy tính với nhau trong
phạm vi bán kính 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 (WAN – Wide Area Networks) 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
Mặc dù LAN và WAN đã cho phép chia sẻ thông tin trong các tổ chức mộtcách dễ dàng hơn nhưng chúng vẫn bị hạn chế chỉ trong từng mạng riêngrẽ.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
Trang 3Internet được thiết kế để liên kết các kiểu mạng khác nhau và cho phépthông tin được lưu thông một cách tự do giữa những người sử dụng mà khôngcầ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ầnphả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ốicá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 đờinhằm đáp ứng nhu cầu phất triển.Các chuẩn giao thức được sử dụng rộng rãinhất hiện nay như giao thức TCP/IP,giao thức SNA của IBM hoặc giao thứcLAN to LAN netBIOS.Nhưng giao thức được sử dụng rộng rãi nhất hiện naytrên mạng vẫn 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 IP(Internet Protocol) và TCP (Transmisson Control Protocol).
Giao thức TCP/IP đảm bảo sự thông suốt việc trao đổi thông tin giữa cácmá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ôngty,cơ quan nhà nước,các trung tâm nghiên cứu khoa học,trường đạihọc không phân biệt khoảng cách trên toàn thế giới Đó là ngân hàng dữ liệucủ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 (Server_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 trongmạ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 triệuthà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ấtthế giới hiện nay hay còn gọi là mạng của các mạng
Trang 4Internet,dịch vụ thương mại điện tử hiện nay đang phát triển khá mạnhmẽ.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ể dung để trao đổi thông tin giữacá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 tới 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 nằm trong thư điện tử gồm nhiều dạng thông tin có
thể là dạng văn bản,hình ảnh, âm thanh…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 dung Internet quantâm nhiều nhất hiện nay Web là một công cụ,hay nói đúng hơn là một dịch vụ củaInternet 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 chúng ta chui vào mọi ngõ ngách trênInternet,là những điểm chứa CSDL gọi là Website.Nhờ có Web nên dù khôngphải là chuyên gia mọi người có thể sử dụng Internet một cách dễ dàng.Phầnmềm để xem Web gọi là trình duyệt (Browser) Một số trình duyệt phổ biến hiệnnay là Internet Explorer của Microsoft tiếp đó là Navigator của Netcape
Dịch vụ truyền File (FTP-File Transfer Protocol):là dịch vụ dung để trao đổicác tệp tin từ máy chủ xuống máy trạm 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ốngMenu phân cấp giúp người sử dụng từng bước xác định được những thông tincần thiết để đi đến vị trí cần đến.Dịch vụ này có thể sử dụng để tìm kiếm thông tintrên các FTPsite
Telnet: dịch vụ này cho phép truy cập tới Server được xác định rõ như mộtTelnetSite tìm kiếm Server.Người tìm có thể thấy một dịc vụ vô giá khi tìm kiếmthông tin trong thư viện và các thông tin lưu trữ.Telnet đặc biệt quan trọng trongviệc kết nối 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
Trang 5doanh bằng các phương pháp điện tử,là việc trao đổi “thông tin”kinh doanhthông qua các phương tiện công nghệ điện tử.
- Bán hàng trên mạng Internet
- Kinh doanh trên mạng Internet
- Giao dịch trên mạng Internet
- Quảng cáo sản phẩm và công nghệ
Hiện nay có rất nhiều cách hiểu khác nhau về Thương mại điệntử,nhiều người hiểu “Thương mại điện tử” là bán hàng trên mạngInternet.Một số ý kiến khác lại cho rằng “Thương mại điện tử” là kinh doanhthươ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ệntử
Nói theo Slide”Thương mại điện tử không chỉ là bán hàng trên mạng haybán hàng trên Internet mà là hình thái hoạt động kinh doanh bằng cácphương pháp điện tử.Hoạt động kinh doanh bao gồm tất cả các hoạt độngkinh 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 cả việc sử dụng các phương tiện công nghệ điện tử như điệnthoại,Fax ,truyền hình và mạng máy tính (trong đó có cả mạngInternet).Thương mại điện tử bao hàm cả việc trao đổi thông tin kinh doanhthô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+ Máy FAX+Truyền hình+ Hệ thống thanh toán điện tử+ Intranet / Extranet
Các hình thức hoạt động Thương mại điện tử
+ Thư tín điện tử(E-mail)
Trang 6+ Thanh toán điện tử+ Trao đổi dữ liệu điện tử+ 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
Ngày nay thương mại điện tử đã trở thành một nghành kinh tế Trên thế giới và đã xuất hiện nhiều trung tâmthương mại và thị trườngchứng khoán lớn trên thế giới
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ớinhau 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ậnlợ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ôngqua Internet.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ànghoá của các nhà cung cấp Đối với khách hàng,có thể lựa chọn, so sánhhà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ớnnhấ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 mà bản than nó thực sự là một phươngthức kinh doanh 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ảnxuất sản phẩm đến bán hàng, dịch vụ sau bán hàng từ phương thức kinhdoanh truyền thống đến phương thức kinh doanh điện tử
Theo Andrew Grover – Intel thì trong vòng 5 năm nữa tất 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ự ảnhhưởng cảu Thương mại điện tử đến kinh doanh trong thời đại ngày nay
Trang 73 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ửu của một nước, việc đầu tiên đề cập đến là mức độ phát triển nền CNTT của nước này ViệtNam 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à
so với khu vực nói riêng Xoay quanh vấn đề phát triển CNTT ở Việt Namhiệ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ềnphần mềm, vấn đề đội ngũ những người làm tin học còn quá ít thiếu đàotạo chuyên sâu, vấn đề phương hướng phát triển, đầu tư cơ bản, đầu tưmạo hiểm…
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ộ KHCN - MT với giới báo chí) thì “ … Trong tương lai, côngnghiệp phần mềm sẽ trở thành kinh tế mũi nhọn của Việt Nam …” nhưngtương lai có vẻ 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ưứoc ngoài thì lại có vẻ khá lạcquan, như lời ông Peter Knook ( phó chủ tịch tập đoàn Microsoft ) nói nhândịp ông sang thăm và làm việc tại Việt nam năm 1999: “… Việt Nam có tiềmnă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ân có 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 trên nền tảng tri thức…”
Ngày 19 /11/1997 Chính Phủ Việt Nam chính thức chỉ định bốn 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ệnCNTT và Công ty cổ phần Bưu chính Viễn thông Sài Gòn ( SaiGonPosttel ) Theo con số dự kiến của ban điều phối mạng Internet quốc gia,sau 6 tháng tiếp nối Internet số thuê bao Internet tại Việt Nam sẽ đạt từ20.000 – 25.000 Trên 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 hoạt động số thuê baoInternet mới chỉ đạt con số 11.000 Số thuê bao tập chung chủ yếu ởThành Phố Hồ Chí Minh và Hà Nội, tỷ lệ thuê bao cá nhân đạt khảong 60%
Trang 8tổng số thuê bao, còn lại là các công ty, cơ quan nhà nước và người nướcngoài.
Tại Việt nam xu hướng ứng dụng Thương mại điện tửu đã bắt đầu Theo đánh giá của các chuyên gia thuộc Bộ thương mại con đường tiếpcận Thương mại điện tử qua 3 giai đoạn: chuẩn bị, chấp nhận và ứngdụng, Việt Nam đang ở bước đầu tiên của giai đoạn thứ nhất
Cho đến thời diể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 đã kếtnối 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ộiThương mại điện tử Châu Á – Châu Đại Dương, những trở ngại khi tiếnhà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 cơ sở hạ tầng
và một môi trường công nghệ thích hợp, giá sử dụng khả năngbảo mật, nền CNTT thiếu cán bộ kỹ thuật chuyên sâu
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ểubiết từ khách hàng đến bạn hàng
Việt Nam là đất nước tham gia sau và bắ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ì 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à 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
Trang 9 Còn các chuên gia của Bộ Thương mại đặt vấn đề thận trọnghơn.
Tác động của Thương mại điện tử đến xã hội và từng cá nhânsâ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 kém phát triển liệu có thể duytrì khả năng cạng tranh hợp lý để cùng phát triển?
Thương mại điện tử liệu có thể phá vỡ các bản sắc văn hoáđặc trưng của từng nước không?
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ưngthuậ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
Trang 10Mộ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ìnhClient –Server giao tiếp với nhau bằng một thông điệp (Message) thôngqua một cổng truyền thông liên lạc IPC (Interprocess Communication) vàđược chuẩn hoá bằng một giao thức (Protocol).Nếu một chương trìnhClient nào muốn yêu cầu lấy thônh tin từ Server thì nó phải tuân theo giaothức mà Server đưa ra
Một máy tính chứa chương trình Server được coi là một máy chủ vàmáy chứa thông tin Client được gọi là máy khách.Mô hình trên mạng màcác máy chủ may khách giao tiếp với nhau theo một hoặc nhiều dịch vụđựoc coi là mô hình Client / Server
2 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ợicho việc truyền thông từ tiến trình lên các máy tính cá nhân.Mô hình nàycho phép xây dựng các chương trình Client / Server một cách tiện lợi và dễ
sử dụng để liên tác với nhau một cách hiệu quả
MÔ HÌNH CLIENT / SERVER
Đâ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
Trang 11chónh hơn.Khi nhận được một yêu cầu từ Client thì Server này có thể gửitiếp đi yêu cầu vừa nhận được cho một Server khác chẳng hạn nhưDatabase Server vì bản thân nó không thể xử lý yêu cầu này được.
Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp ví dụ nhưmột Server trả lời thời gian hiện tại trong ngày khi một máy Client yêu cầulấy thông tin về thời gian ,nó sẽ phải gửi yêu cầu theo một tiêu chuẩn domộ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ộttiêu chuẩn do một Server đặt ra ,mức yêu cầu được chấp nhận thì mayServer sẽ trả về một thông tin mà Client yêu cầu.Có rất nhiều dịch vụ trênmạng nhưng nó hoạt động theo yêu cầu từ Client sau đó xử lý và trả lại cácyêu cầu của Client
Thông thường chương trình Client / Server được thi hành trên haimáy khác nhau cho dù Server lúc nào cũng ở trạng thái sẵn sang chờ nhậnyêu cầu từ Client nhưng trên thực tế tiến trình liên tục qua lại giữa Clientvớ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 ứngdụ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ệctrê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/IP.Với các giao thức chuẩn này cũng giúpcho nhà sản xuất có thể tích hợp được 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ươngtrình Server cho một ứng dụng nào đó có thể thi hành trên một hệ thốngchia 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ường.Có thể có nhiều Servercùng 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áytính
Với mô hình trên thì mô hình Client / Server chỉ mang đặc điểm củaphần mềm không liên quan đến phần cứng mặc dù trên thực tế yêu cầucho 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ênmạng máy tính
Trang 123 Ưu và nhược điểm chính.
Có 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ồmcá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ưởng cho phép tích hợpcác kỹ thuật hiện đại như mô hình thiết kế hướng đốI tượng,hệ chuyêngia,hệ thông tin địa lý
Một trong những vấn đề nảy sinh trong mô hình này đó là tính antoàn và bảo mật thông tin trên mạng.Do phải trao đổi dữ liệu giữa hai máy
ở hai khu vực khác nhau nên dễ xảy ra hiện trạng thông tin trên mạng bịđánh cắp,
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ườidùng thể hiện tính độc lập của nó Máy Client có thể sử dụng các Hệ điềuhành bình thường như Win 9X,DOS OS/2 bản thân một máy 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 kết nối vào một mạng LAN / WAN theo mô hình Client / Server thì nó
có thể sử dụng thêm các chức năng do hệ điều hành mà mạng nó cungcấp với nhiều dịch vụ khác nhau 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ữaClient / 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 :
Client : được coi là người sử dụng các dịch vụ trên mạng do mộthoặc nhiều máy chủ cung cấp ,Server được coi như là người cungcấp dịch vụ để trả lời các yêu cầu của Client điều quan trọng là phảIhiểu được vai trò hoạt động của nó trong một mô hình cụ thể mộtmá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ạngLAN 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 máy khác sử
Trang 13dụng Client được hiểu như là bề nổi của các dịch vụ trên mạng,nếu
có thông tin vào hoặc ra thì chúng sẽ được hiển thị trên máy Client
Server : còn được định nghĩa như một máy tính nhiều người sửdụng.Vì một Server phải quản lý nhiều yêu cầu từ các Client trênmạ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 nhaunhư hệ điều hành UNIX,Windows NT Server cung cấp và điều khiểncác tiến trình truy cập vào tài nguyên của hệ thống các ứng dụngchạy trên Server phải được tách rời nhau để một lỗi của ứng dụngnày không làm ảnh hưởng tới ứng dụng khác.Tính đa nhiệm đảmbả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ụ chao các Client yêucầ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ợ chocác dịch vụ này có thể là toàn bộ hoặc chỉ một phần thông qua IPC, để đảmbảo tính an toàn trên mạng cho nên Server này còn có vai trò như là mộtnhà quản lý mạng.Có nhiều cách thực hiện nhằm quản trị mạng có hiệuquả,một trong những cách đang được sử dụng nhiều nhất hiện nay là dùngtên Login và mật khẩu (Password)
4 Ứng dụng mô hình Client / Server
WWW (World Wide Web): Có nhiều người đã biết đến thuật ngữ nàynhưng lại không hiểu nó là cái gì,thậm chí có người đã sử dụng nhưngkhông định nghĩa chính xác được WWW là cái gì? WWW là tập hợp cácvăn bản tài liệu có mối liên kết với nhau trên mạng Internet Bởi vì WWWđang rất phát triển 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à dịch vụcủa Internet
Ngày nay Web là dịch vụ lớn nhất của Internet sử dụng giao thứctruyền văn bản siêu liên kết HTTP để 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ường có mốI liên kết vớI
Trang 14nhau.NgườI sử dụng chỉ việc Click chuột vào một phần của văn bản thì mộtvăn bản khác có mốI liên kết đó sẽ hiện lên,có thể thay Web mớI này ở mộtnơ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 đếnmộ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(Hyper Text 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 trí cả âm thanh (thông tin đa phương tiện-Multi media).Giao diệngiữa ngườI và máy ngày càng trở lê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ôngcầ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ưu một công cụ đắc lực
Công nghệ Web cho phép sử 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ưNetcape,Internet Explorer WWW rất tiện lợI cho ngườI dùng bìnhthườ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 mạng thông tin trên hàng ngàn máy chủ đặt ở khắp nơitrên thế giớI một cách nhanh chóng và hiệu quả.Có công nghệ Web thựcchất chúng ta đã bước vào một thập kỷ mà mọI thông tin có thể có ngaytrê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 trongthờ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ảntoà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 sử lý thông tin đa phương tiện khác
Trang 15 Cho phép tìm kiếm thông tin một cách nhanh chóng,phổ biếncác tài liệu khoa học và trao đổI thông tin trên mạng.
Dịch vụ kinh doanh đầu tư trên mạng qua Web VớI sự pháttriển vượt bậc của khả năng truyền thông tin qua mạng và cáccô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 cửa hàng khác trong khônggian ảo không còn là xa lạ mà trở thành hiện thực.Ngày nayhầu như bất kỳ hàng hoá nào cũng có thể đặt mua qua mạngInternet
5.Mô hình Web Client / Server
Mô hình Client / Server ứng dụng vào trang Web dược gọI là môhình Web Cilent/Server Giao thức chuẩn được sử dụng để giao tiếp giữaWeb Server và Wer Client là HTTP ( HyperTexl Transfer Protocol )
Web Client (Web Browser): Các chương trình duyệt Web sẽ giử yêucầu lên cho Web đó
Web Serrer: Khi nhận được yêu cầu từ một Client/Server, WebServer sẽ trả về nộI dung file cho trình duyệt WebServer cho phép chuyểngiao dữ liệu bao gồm văn bản, đồ hoạ và thậm chí cả âm thanh, video tớIngườI sử dụng NgườI sử dụng chỉ cần trình duyệt xét Web để liên kết cácmáy chủ qua mạng IP nộI bộ yêu cầu của ngườI sử dụng được đáp ứngbằng cách nhấn chuột vào các chủ đề hoặc minh hoạ mẫu theo khuôndạng HTML Những trang dữ liệu theo yêu cầu sẽ được gọI xuống từ máychủ nào đó theo giao thức HTTP rồI hiển thị trên máy cá nhân
Trang 16muốn được phục vụ một dịch vụ nào đó được chỉ ra bởI mốIliên kết đó.
Sau 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ìnhduyệt Client
Trình duyệt nhận và định dạng dữ liệu theo chuẩn của 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ênmạng
7 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ìnhthà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 đòihỏ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 dung yêu cầu là gì Sau đó gửitrả kết quả lại nơi yêu cầu.Các phần mềm Web Server chủ yếu:
Apche dung cho UNIX
HS dung cho Windows NT
Web Quest dùng cho Windows NT và Windows 95
Oracle Web Server thích hợp cho nhiều nền tảng
Personal Web Server dung cho nhiều nền tảngBả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ể sử lý các yêu cầutruy cập và một CSDL nào đó,lấy các thông tin từ đó ra và sau đó trả cácthô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 ta phải viết một chương trình giao tiếp được cả với Web Server
và CSDL.Chương trình này sẽ lấy các yêu cầu,sử lý chúng và đưa ra kếtquả 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
Trang 17Một Gateway có thể truy nhập nguồn thông tin không theo dạngchuẩ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ìnhduyệt.Thực tế Gateway chỉ là một chương trình được gọi bởi WebServer.Thông thường chúng được giữ trong mộ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àyphả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ện Sau khi sử lý xong Web 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ố phát triển để viết một chương trình như vậy:
- Common Gateway Interface(CGI)
- Microsoft Internet Server Pages(ASP)
Trang 18CHƯƠNG 3.
ASP VÀ VIỆC XÂY DỰNG CÁC ỨNG DỤNG TRÊN WEB SERVER.
I.Giới thiệu về ASP (Active Server Page)
- Microsoft Internet Information Server 3.0 trên Windows NT Server
- Microsoft Peer Web Services 3.0 trên Windows NT Workstation
- Microsoft Personal Web Server trên Windows 95
2 Mô hình hoạt động của ASP
Mô hình tổng quát hoạt động của ASP
Trang 193 Cách hoạt động của ASP:
Các script của ASP được chứa trong các text file có phần đuôi có tên
mở rộng là.Asp.Trong script có chứa các lệnh của một ngôn ngữ script nàođó.(Vbscript,Jscript…)
Khi một Web Browser gửi Request tới một file Asp thì Script chứatrong file sẽ được chạy để trả kết quả về cho Browser đó.Khi Web Servernhận được Request tới một file Asp thì nó sẽ đọc từ đầu tới cuối file Aspđó,thực hiện các lệnh Script trong đó và trả kết quả về cho Web Browserdưới dạng một trang HTML
Cú pháp của ASP: ASP không phảI là ngôn ngữ Scripting mà thực ra
nó cung cấp một môi trường để sử lý các Script có trong trang HTML.Sauđây là một số quy tắc và cú pháp của ASP:
Phân định ranh giớI(Delimiter): Các trang của HTML được phân địnhvớI Text dựa vào các phân định ranh giới.Một phân ranh giớI là một ký tựhay các thứ tự đánh dấu điểm bắt đầu và kết thúc của một đơn vị.Trongtrường hợp của HTML,các ký hiệu ranh giớI (<)và(>).Tương tự,các lệnhScript của ASPvà các biểu thức đầu ra được phân biệt giữa Text và cáctrang HTML bằng các phân định ranh giớI ASP sử dụng phân định ranhgiớI là < % % > để chứa các lệnh Script
Ví dụ : <%Sport=”Football”%> tức là gán giá trị Football cho biếnSport ASP sử dụng phân định ranh giớI là <%=…%> để chứa các biểuthức đầu ra.Như ví dụ trên,biểu thức đầu ra <%=Sport%> sẽ gửI giá trịFootball (giá trị hiện thờI của biến)cho trình duyệt
4.Câu lệnh của ASP
Trong VBScript và các ngôn ngữ Scripting,một câu lệnh là đơn vị cúpháp hoàn chỉnh mô tả một loạt của hành động,khai báo,hay định nghĩa
Sau đây mô tả lệnh IF…THEN …ELSE của VBScript
<%
If Time >=#10:00:00 AM# And Time<#12:00:00 PM then
Greeting=”CHÀO BUỔI SÁNG”
Else
Trang 20Một đặc tính hấp dẫn của ASP là khả năng kết hợp chặt chẽ của cácthủ tụcngôn ngữ Script trong cùng một file Asp đơn lẻ Nhờ vậy ta có thể
sử dụng các điểm mạnh của ngôn ngữ Scripting để thực hiện một cách tốtnhất Một thủ tục là một nhóm lệnh Script để thi hành một công việc cụthể.Ta có thể định nghĩa một thủ tục,gọI sử dụng chúng nhiều lần trong cácScript Định nghĩa một thủ tục có thể xuất hiện trong Tag<Script> </Script>
và phải tuân theo
Trang 21Active Server Pages interface DLLs Server Side Inludes (SSI)
Jscript Interpretor Active Database Compenents(ADO)
Active Server Components ODBC Driver
Active Server Pages (.asp files)
DATAThe Internet Or Intranet
MÔ HÌNH CHI TIẾT HOẠT ĐỘNG CỦA ASP.
Trang 225.Cấu trúc của một file ASP.
Một file ASP có tên mở rộng là Asp bao gồm các thành phần như sau:
ASP cho ta các tính chất sau:
Các ứng ASP dễ tạo vì ta dùng các ASP Script để viết các ứngdụng Khi tạo các Script của ASP ta có thể dùng bất kỳ một ngôn ngữScript nào,chỉ cần có Scripting Engine tương ứng của ngôn ngữ đó mà thôi.ASP cung cấp sẵn hai Script Engine là Visual Basic Script (VBScript) vàJava Script (Jscript).Ngoài ra ASP còn cung cấp sẵn các ActiveXComponent rất hữu dụng,ta có thể dùng chúng để thực hiện các công việcphức tạp như truy xuất cơ sở dữ liệu,truy xuất file, Không những thế mà
Trang 23còn có thể tự mình tạo ra các Commponent của riêng mình và thêm vào để
sử dụng trong ASP
7.Gọi các thủ tục trong ASP
Để gọi các thủ tục,bao gồm tên thủ tuạc trong lệnh Đối với VBScript,ta có thể dung từ khoá Call để gọi thủ tục.Tuy nhiên các thủ tụcđược gọi yêu cầu các biến này phải đặt trong dấu ngoặc đơn ().Nếu bỏ qua
từ khoá Call thì ta cũng phải bỏ luôn cả dâấu ngoặc đơn ()đi cùng baoquanh các biến.Nếu gọi thủ tục Java Script từ VBScript thì ta phải sử dụngdấu ngoặc đơn sau tên thủ tục,nếu thủ tục không có biến thì sử dụng dấungoặc đơn rỗng
8.Các đối tượng của ASP(Object)
Một đối tượng là kết hợp giữa lập trình và dữ liệu mà có thể xem như
là một đơn vị ASP có 5 đối tượng sau:
Đối tương Request Lấy thông tin từ người dùng
Đối tượng Response Gửi thông tin cho người dùng
Đối tượng Server Điều khiển hoạt động môi trường ASPĐối tượng Session Lưu trữ thông tin từ một phiên của
người dùng
Đối tượng Application Chia sẻ thông tin cho các người dùng
của một ứng dụng
Lấy thông tin từ người dùng: Đối tượng Request cho phép truy cập
mọi thông tin lấy được chuyển qua với mọi yêu cầu của HTML Đối tượngRequest có 5 thông tin sau :
Query String : Mặc dù có thể sử dụng biến Server là QUERY_
STRING để xử lý thông tin QUERY _STRING từ yêu cầu của ngườidùng,ASP cung cấp QUERY_STRING để thông tin dễ dàng Nếu form
sử dụng phương pháp POST, các thông tin lấy được giống như mộtbiến đặt sau dấu hỏi của URL
Trang 24 Form: thu nhặt tất cả các giá trị mà người sử dụng đã tạo ra vào
Form khi nút Submit của nó được bấm,nó được truyền về Server vớiphương thức POST
Cookies:Cho phép tập hợp các thông tin đã được kết nối với người
sử dụng.Môt cookies là một biểu hiện của thông tin giữa trình duyệtClient chuyển tới Web Server,hay Web Server chuyển cho trìnhduyệt Client
Server Variables: cung cấp thông tin từ các header của HTTP mà
đã được gửi tới với yêu cầu của người sủ dụng Có thể sử dụng cácthông tin này để trả lời cho người sử dụng
Xác nhận của Client
Gửi thông tin cho người sử dụng:Có thể dùng đối tượng
Response để điều khiển thông tin gửi cho Web Brower bằng cách
sử dụng:
Cách thức Response Write để gửi thông tin trực tiếp cho trình
duyệt
Cách thức ResponseRedirect để hướng dẫn người sử dụng với một
URL khác hơn là yêu cầu đến URL
Cách thức Response Content Type để điều khiển kiểu nội dung gửi.
Cách thức Respinse Cookies để thiết lập một giá trị của cookies.
Cách thức Response Buffer để đệm thông tin.
Cách thức Response Add Header để them một phần tiêu đề mới
vào HTML header với một số giá trị chọn lọc
Cách thức Response Clear để xoá toàn bộ đệm ra của HTML cách
thức này chỉ xoá phần thân của Response chứ không xoá phầnheader
Cách thức Response End để kết thúc việc sử lý file.asp và gửi cho
Web Browser kết quả thu được khi xảy ra phương thức này
Cách thức Response Flush:Khi thông tin được gửi ra bộ đệm kết
quả thì nó chưa được gửi ngay về Web Browser mà chỉ đến khi dungphương thức này thông tin mới được trả về Web Browser.Tuy nhiên
Trang 25sẽ thông báo lỗi Run_Time nếu Response Buffer chưa đặt giá trị
True
Server là đối tượng điều khiển môi trường hoạt động của ASP,nó cung
cấp các phương thức cũng như thuộc tính của Server
Phương thức Server.CreatObject dùng để tạo ra các đối tượng mới
trên Server
Phương thức Server.HTML Encode cung cấp khả năng mã hoá địa
chỉ URL
Phương thức Server.MapPath trả về địa chỉ vật lý tương ứng như
địa chỉ thư mục ảo trên máy chủ
Phương thức Server URLEncode cung cấp khả năng mã hoá URL.
Các đối tượng Session và Application: được sử dụng để ghi nhớ thôngtin trạng thái của các ứng dụng ASP.Ta có thể dung ASP để duy trì 2trạng thái sau:
Trạng thái ứng dụng (Application State) bao gồm tất cả các thông tintrạng thái của các ứng dụng có hiệu lực với tất cả người sử dụngứng dụng đó Đối tượng Application được sử dụng để lưu trữ thôngtin chung mà nó có thể chia sẻ cho tất cả mọi người dung một ứngdụng ASP đơn giản
Trạng thái phiên (Session State) bao gồm thông tin chỉ có hiệu lựcvới một người sử dụng cụ thể.Dùng đối tượng Session để quản lýthông tin của một người đang sử dụng ứng dụng
Trong môi trường ứng dụng ASP cơ bản có thể có file Global.asa
File này được lưu giữ trong thư mục gốc của ứng dụng ASP đọc file nàykhi Web Server nhận được yêu cầu bắt đầu khởi tạo ứng dụng Điều này
có nghĩa là sau khi Web Server chạy,yêu cầu đầu tiên đến một file asp sẽlàm là cho ASP tới đọc file Global.asa gồm có:
Các sự kiện bắt đầu ứng dụng Application_OnStar,bắt đầu phiên Session_OnEnd hoặc cả hai.Trong đó có các thủ tục Script mà ta
muốn chạy mỗi khi sử dụng một ứng dụng hay là một phiên.Nếu một
Trang 26ứng dụng và một phiên khởi động vào cùng một thời điểm ASP sẽ xử
lý sự kiện ứng dụng trước khi nó xử lý sự kiện bắt đầu phiên
Các sự kiện kết thúc ứng dụng Application_OnEnd,kết thúc phiên Session_OnEnd hoặc cả hai.cũng như sự kiện này là các thủ tục
trong file Global.asa
Ta có thể sử dụng Tag<Object> để tạo ra các đối tượng trong file
Global.asa
ASP làm việc với ActiveX Server Component có thể hiểu theo một cáchthông thường là các tự động hoá của Server,được thiết kế trên WebServer như là một ứng dụng của Web cơ bản.Các thành phần đóng góithường là đặc trưng năng động.ASP cung cấp sẵn 5 ActiveX ServerComponent như sau:
- Advertisement Rotator Component
- Browser Capabilities Component
- Database Access Component
- Content Linking Component
- Text Stream Component
II.Truy xuất cơ sở dữ liệu trong ASP (Active Server Page)
Ở phần trên chúng ta đã biết về các khái niệm tổng quát về AvtiveServer Page và các thành phần cần có khi xây dựng một ứng dụng.Trongchương này sẽ trình bày kỹ hơn về Active Data Object, đây chính là ưuđiểm mạnh nhất cho việc phát triển ứng dụng CSDL trên Web
Database Access Component.
Một ứng dụng Web database viết bằng ASP có thể truy xuất dữ liệu trongmột Database,bằng cách sử dụng Component Database Access củaActiveX hay còn gọi là thư viện ADO(Active Data Object) Đây cũng chính
là điểm mạnh nhất của ASP trong việc phát triển ứng dụng Web Database
Các Object của ADO cung cấp có thể tạo ra các kết nối(Connection)vớI hầu hết các kiểu Database,cũng như việc truy xuất,cập nhật cácDatabase Hiện nay thư viện ADO là công cụ mạnh nhất trong việc pháttriển các ứng dụng CSDL trên Internet
Trang 27Active Server Pages
ODBC Driver
Active Database Component
Active Data Object
Data Provider Interface
Sự giao tiếp giữa ADO và các thành phần khác trong hệ thống có thể được
mô tả theo hình vẽ sau
Quá trình truy xuất CSDL thông qua ODBC
Các Object trong ADO
Các Object chính trong đó là : Connection, RecordSet và Command,ngoài ba Object chính này còn có các Object, tham số, thuộc tính, phươngthức con Sử dụng Connection ta có thể thiết lập liên kết với CSDL thôngqua đó ta có thể thực hiện các Query để lấy các Record hoặc cập nhật mộtRecord bằng cách sử dụng Command Object Kết quả thực hiện các Query
Trang 28trên CSDL sẽ được lưu vào đối tượng RecordSet, trên đối tượng này taduyệt và lấy ra một hay nhiều record Sau đây ta xem xét cụ thể cấu tạocũng như cách sử dụng của từng Object
Tạo các Custom Component sử dụng trong ASP:
Ta có thể tạo một component để sử dụng trong môi trường ActiveServer Pags, bằng bất cứ ngôn ngữ lập trình nào hỗ trợ cho việc tạoAutomation Server Các ngôn ngữ có hỗ trợ kỹ thuật này hiện nay là VisualBasic, Visual C++ từ các version 4.0 trở về sau Việc chọn ngôn ngữ nào
để hiện thực là tuỳ thuộc vào ngườI lập trình, phụ thuộc vào sự thân thiệnvới ngôn ngữ đó, các công cụ hỗ trợ, các kỹ thuật lập trình cũng như cáckích thước của ứng dụng sau khi biên dịch
Hiện nay trong các tài liệu có liên quan đến các kỹ thuật lập trình theo côngnghệ ActiveX của Microsoft hầu hết đều đưa ra công thức để hiện thực cáccomponent này bằng Visual Basic 4.0 và 5.0 Tuy nhiên trong việc lập trìnhhướng tới đối tượng thật sự thì Visual C++ là một môi trường điển hìnhhơn, với cấu trúc thừa kế của các thư viện chứa trong nó Mặc dù việc hiệnmột code Component chạy trên server , sử dụng trong ASP không là mộtcông việc mới lạ trong Visual Basic, nhưng việc hiện thực các componentbằng Visual C++ lại gần như không thấy tài liệu nào hướng dẫn một cách
cụ thể, trong phần này em xin trình bầy các bước để hiện thực mộtcomponent bằng môi trường Visual C++ như là một cách hiện thực kháchơn trong đó sử dụng các khả năng của công cụ ATL ( Active TemplateLibrary )
Automation Secver & Activex Component :
Automation Secver có thể được coi là một thư viện các Object(Class), mà khi nó đã được đăng ký trên server, nó có khả năng cho phépcác ứng dụng khác nhìn thấy và sử dụng các Class của mình Bên trongcủa một component như thế, có thể chứa một hay nhiều các Class, vớiInterface của nó, nhờ vào các Interface này các ứng dụng khác có thể giaotiếp vớI các Object bên trong Thông thường các Interface này là Idispatchhoặc User Interface
Trang 29Automation Server có thể được thực hiện ở dạng in_process, thi hànhtrong vùng hoạt động của Controller, hoặc có thể ở dạng Local, chỉ thực thitrong không gian hoạt động của nó Automation Server còn có thể thựchiện ở dạng remote, sẽ thực thi trong vùng hoạt động của máy khác Dạngbiên dịch của Automation Server có thể là DLL (Dynamic Link Library) hoặcEXE (Excutable) Ở dạng EXE nó chỉ có thể thực thi ở dạng Local hoặcRemote.
Bằng Visual C++ ta có thể xây dựng các Component bằng cách viếtthẳng vớI C API và thiết lập bằng tay các Interface, dựa trên việc tạo vàdịch các file IDL (Interface Definition Language) Thật may là Visual C++ đãcung cấp cho ta công cụ ATL, dùng để tạo ra các thư viện liên kết động,trong đó chứa các Interface cho phép những ứng dụng khác sử dụng được
cả các object của nó
1.Đối tượng Connection:
Để sử dụng đối tượng Connection, trước tiên ta phải tạo ra một
instance cho nó, đây thực sự là một thể hện của Object này trong ASP.Phát biểu tạo instance cho Connection có cú pháp như sau:
<%
Sub Application_onStart() Set Connection_name = Server.CreateObject(“ADODB.Connection”) End Sub
%>
Hoặc thiết lập tầm vực cho Connection ở mức session như sau:
Trang 30<%
Sub Session_OnStart() Set Connection_name=
Server.CreateObject(“ADODB.Connection”) End Sub
%>.
Tuy nhiên ta có thể xem xét thêm việc tối ưu cho các Connection trong mộtứng dụng có nhiều User truy xuất tới CSDL, đó là khả năng Connectionpooling của ODBC
Connection pooling.
Các ứng dụng CSDL truyền thống đều tạo mối liên kết tới CSDL mà
nó sử dụng,còn các ứng dụng CSDL trên Web lại mở và đóng các liên kếtnày ở mỗi trang Web.Một phương pháp cho các ứng dụng CSDL trên Web
là tạo sự liên kết liên tục với CSDL của từng User và lưu trữ trong đốitượng Session.Tuy nhiên phương pháp này có thể làm gia tăng số lượngcác User kết nối tới CSDL mà không làm việc và nó chỉ đạt được độ tin cậyđốI với các Web site có lưu thông dữ liệu thấp (Low-traffic)
Phương pháp tiện lợi hơn trong việc quản lý các kết nối với CSDLcủa ứng dụng Web là quản lý bằng Connection Pool của ODBC 3.0 nhằmgiảm bớt số lượng liên kết rảnh rỗi.ODBC sẽ mở các kết nối và quản lý cáckết nối này.MỗI khi có yêu cầu kết nốI mớI thì thực hiện việc kiểm tra xem
có kết nối nào rảnh rỗi không,nếu không có thì sẽ tạo kết nối mới,ngược lại
sẽ lấy liên kết rảnh này mà không tạo liên kết mới.Nếu có một liên kết rảnhnào trong Connection Pooling tồn tại quá 60 giây thì nó tự động huỷ bỏ
Connection Pooling được kích hoạt mặc nhiên trong ASP,ta có thểloạI bỏ bằng cách thiết lập giá trị Register Entry Start Connection Pooling
về giá trị = 0
Các phương thức của đối tượng Connection.
Open Method :Sử dụng để mở một kết nốI với CSDL.Sau khi tạo một
instance cho Connection Object,ta có thể mở một kết nối với Data source
Trang 31để có thể truy xuất dữ liệu,cú pháp cho phương thức trong VBScript nhưsau:
Connection.Open Connection String User Password
Trong đó Connection String là chuỗi định nghĩa tên của Data Source(DNS)tên này được khai báo trong ODBC User và Password,sẽ thực hiện việc
mở Data Source
Execute Mothod:Phương thức này cho phép thực thi một câu lệnh,tác
động lên Data Source
Theo trình tự sau khi đã có kết nối tới Data Source,ta có thể sử dụng nó vớiphương thức Execute với cú pháp trong VBScript như sau:
Connection Execute Command text,RecordAffected,options
Trong đó thông số Option có các giá trị khác nhau tương ứng với mỗi loạiCommandText.Các giá trị cảu Option theo bảng sau:
Giá trị Danh hiệu bằng tương
ứng
Mô tả Command Text
Close method: Trong các trang ASP,sau khi đã sử lý xong dữ liệu
trên Data Source,trước khi kết thúc trang sử dụng phải đóng các kết nối đã
mở Việc đóng kết nối thực hiện nhờ phương thức Close
Cú pháp như sau:
Trang 32Nếu chương trình không thực hiện việc này thì ASP sẽ tự động đóngConnection đã mở trong trang,mỗi khi người sử dụng tham khảo qua trangkhác (đi khỏi tầm vực của biến instance).Nếu ta tạo instance và mở kết nốitrong các thủ tục Application hoặc Session On Star thì việc đóng cácConnection này sẽ được thể hiện trong thủ tục On_End
2 Đối tượng Command:
Thay vì phải sử dụng phương thức Execute của đối tượng Connection đểQuery hay Update Data Source,ta có thể sử dụng đối tượng Command đểthi hành các thao tác với CSDL
Việc tạo một instance cho đối tượng Command cũng giống như đối tượngConnection Nghĩa là cũng sử dụng phương thức Server.Create Object
- ActiveConnection:Chỉ định đối tượng Connection nào được
sử dụng trong đối tượng Command
- CommandText:Chỉ định câu lệnh cần thực thi trên CSDL
- Command Time Out:Xác định thời gian thực thi lệnh,giá trịthời gian thực được tính theo giây(s)
- Command Type:Cho biết kiểu Query đặc tả trongCommandText
- Prepared :tạo ra lênh chuẩn trước khi thực thi
Tạo Active Connection
Trang 33Sauk hi đã có các instance của các ConnectionObject đã được kết nối vớiCSDL và Command Object.Lúc này nếu muốn sử dụng Command Object
ta phải gán tên của Connection thích hợp vào cho thuộc tính ActiveConnection của Command Object
<%
oConn=Server.CreateObject(“ADODB.Connection”) oCmd=Server.CreatObject(“ADODB.Command”) oConn.Open(“Pubs”,”sa”,””);
Ta gán giá trị CommandTimeOut ở giá trị thích hợp,thông thường là 30,nếu
để giá trị này là 0 thì ADO sẽ thực thi cho đến khi tác vụ được hoàn tất
Sử dụng thông số cho các lệnh SQL
Nếu như Query cần thực thi có yêu cầu thông số,thì ta phải thêm cácthông số này vào Collection Parameter,trước khi thực thi câu lệnh ĐốI vớIphương thức Excute của đối tượng Connection không có khả năng này
Khi sử dụng Query có tham số thì cú pháp của phương thức có dạngsau:
Command Execute({RecordAffected},Parameter,Option);
Trang 34Record và Option có chức năng và giá trị giống như trong ConnectionObject.Tham số Parameter là một dãy thông số được thực hiện trong mộtArray,mỗi một Array là một thông số,theo thứ tự các thông số trong câulệnh Để tìm hiểu cách tạo ra thông số trong danh sách các thông số câulệnh ta xem các Method và Properties của Parameter Collections,trongphần tiếp theo.
Tạo và thêm thông số của Collections
ĐốI tượng Parameter Collections là đốI tượng lưu trữ các thông số choQuery,mà sẽ được thực thi bởI Command Object.Thay vì phảI đưa cácthông số này ngay khi thực hiện Query,ta sẽ chuẩn bị nó trước trongParameter Collection, điều này được phép thực hiện nhờ các Method vàProperties của Parameter
Các Method:
- Append.thêm một thông số vào Collections
- Delete: Xoá một thông số trong Collections
- Refesh : Cập nhật Collections để phản ánh sự thay đổi thông
số trong đó
Các Properties:
- Count:trả về các thông số trong Collections:
- Item : được sử dụng để lấy giá trị của một thông số trongCollections
Mỗi phần tử của Parameter Collections có thể coi như một ParameterObject và chúng cũng có các Properties riêng như:
- Attrbute:Thể hiện kiểu dữ liệu mà thông số đó chấp nhận
- Direction:Thể hiện hướng của thông số là Input hayOutput ,hay cả hai,hoặc là giá trị store procedure
- Name : Tên thông số
- Number Scale:Số chữ số thập phân trong thông số kiểu số
- Precision:Chữ của thông số kiểu số
- Size:Kích thước lớn nhất tính theo byte
- Type:Kiểu dữ liệu thông số
Trang 35- Value:Giá trị gán cho thông số
Để thêm một thông số mới vào Collection,trước tiên ta phảI tạo mộtinstance cho Parameter Object và thiết lập các giá trị thuộc tính cho nó.Sau
đó sử dụng phương thức Append
Ví dụ các bước thực hiện khi tạo danh sách thông số:
<%
oParam=oCmd.CreateParameter(Name,sizeDirection,Value); oCmd.Parameter.Append(oParam);
%>
Để lấy giá trị thông số trong Collection ta có thể sử dụng:
OCmd.Parameter.Item(index); hoặc OCmd.Parameter(index); hoặcOCmd.Parameter(tên thông số);
<%
oPram = oCmd CreateParameter ( Name, size Direction, Value ) ;
oCmd Parameter Append ( oParam );
Để lấy giá trị thông số trong collection ta có thể sử dụng:
oCmd,Parameter.Item(index): hoặcoCmd.Parameter(index); hoặcoCmd.Parameter(tên thong số);
hay là oCmd.Parameter.Item(tên_thông_số)
3.Đối tượng RecordSet:
Bằng cách sử dụng Connection và Command ta có thể thực thi các Query
để Add,Update hay Delete một Record trong Dât source.Tuy nhiên trongcác ứng dụng thì ta cũng phải thực hiện việc lấy ra các Record từ ADO, đểhiển thị chúng trong trang Web, Để lấy lại các kết quả trả về từ các Querychúng ta phải sử dụng đối tượng RecordSet,thực chất nó được hiểu nhưmột bảng trong bộ nhớ và nó cung cấp cho ta các Method,Properties để dễdàng truy xuất các Record trong nó
Các Method:
Trang 36- AddNew : Là phương thức dung để tạo ra một Record trongUpdate RecordSet
- Close : Đóng lại đối tượng RecordSet và các đối tượng concủa nó
- Delete:Xoá đi Record hiện hành trong RecordSet
- Move : Dịch chuyển vị trí Record hiện tại
- MoveFirst
- MoveNext Các phương thức dịch chuyển con trỏ
- MovePrevious
- MoveLast
- Open ; Mở một Record mới,sau khi mở xong thì con trỏ nằm
ở Record đầu tiên trong RecordSet
- Requery ;Thực hiện lại query.Lưu các thay đổi trên vàoRecord hiện hành
Các Properties:
- AbsolutePosition: Số thứ tự của Record hiện tại
- BOF(Begin Of File) Có giá trị True nếu vị trí con trỏ nằm ởRecord đầu tiên.CursorType:Kiểu con trỏ được sử dụng trongRecordSet
- EOF(End Of File) Có giá trị true nếu vị trí con trỏ nằm ởRecord cuối cùng trong RecordSet
- RecordCount: Trả về số Record trong RecordSet
Recordset_name=ConnectionObject.Execute(CommandText,Record affected,option); Hoặc
Trang 37Recordset_name=Connection.Object.Execute(CommandText,Param eter,option);
Ta cũng có thể tạo ra một Recordset bằng cách sử dụng phương thứcOpen theo cú pháp sau;
Recordset_name.Open(Source,ActiveConnection,CursorType,LockType, Option):
Trong đó:
- Source là Command Object hay một lệnh SQL
- ActiveConnection là tên Connection đã được mở kết nối vớiCSDL cần làm việc
- CursorType là kiểu con trỏ sử dụng khi mở RecordSet,thong
số này có kiểu số,và được đặt bằng các tên hằng tương ứng như:
AdOpenForwardOnly=0 là giá trị mặc định khi chọn thông sốnày thì Record được mở ra chỉ để cho phép ta duyệt cácRecord trong nó theo một chiều từ đầu đến cuối ,tuỳ chọn nàycũng không cho phép cập nhật hay xoá bỏ Record trong đó
AdOpenKeyset=1 Khi mở Recordset ở chế độ này recordsetđược mở ra thì khả năng cho phép ta cập nhật các record,tuynhiên nó ngăn cản sự truy xuất tới một Record mà User khácthêm vào Recordset
AdOpenKeyset=2 Chế độ này cho phép tất cả các thao tácthem vào,loại bỏ,sửa đổi Record trong RecordSet Cho phépthấy được sự thay đổi đó trên Record do User khác thực hiện
Ở chế độ này cho phép người sử dụng duyệt theo tất cả cácchiều (lên xuống )trong RecordSet
AdOpenStatic=3 Gần giống như ở chế độ OpenForwardOnly
LockType là kiểu Locking sử dụng khi mở Recordset.Bao gồmcác giá trị như sau:
+ AdLockReadOnly =1 ta không thể thay đổi dữ liệu khi mở bằngchế độ khoá này