Mô hình trên mạng mà các máy chủ và máy khách giao tiếp với nhau theo một hoặc nhiều dịch vụ đ-ợc coi là mô hình Client /Server.. Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc ph
Trang 3LỜI CẢM ƠN
Em xin chân thành cảm ơn Ban giám hiệu trường Đại học Vinh, Ban chủ nhiệm khoa Công nghệ thông tin, các Thầy Cô giáo đã tận tình giảng dạy, trang bị cho em những kiến thức cần thiết trong những năm học tại trường
Em xin chân thành cảm ơn Thạc sĩ Phạm Thị Thu Hiền đã tận tình quan tâm, giúp đỡ và hướng dẫn em trong suốt quá trình làm khoá luận để
em có thể hoàn thành khoá luận tốt nghiệp này
Em xin chân thành cảm ơn các anh chị và các bạn đã có những nhận xét, ý kiến đóng góp, động viên và quan tâm giúp đỡ em vượt qua những khó khăn trong suốt quá trình làm khoá luận
Cuối cùng, con xin cảm ơn cha mẹ, gia đình đã tạo mọi điều kiện về vật chất và tinh thần, động viên, khích lệ và hỗ trợ con trong suốt thời gian qua
Vinh, tháng 5 năm 2008
Sinh viên
NguyÔn ThÞ Thanh
Trang 4Th-ơng mại điện tử ngày nay phát triển trên thế giới nói chung và ở Việt nam nói riêng, sự ra đời của các ngôn ngữ lập trình cho phép chúng ta thiết kế và xây dựng các ứng dụng th-ơng mại điện tử d-ới nhiều hình thức khác nhau
Cùng với sự hỗ trợ của cơ sở dữ liệu quan hệ, chúng ta có thể kết hợp
chúng với một kịch bản trên trình chủ nh- ASP.NET, JSP, PHP… chúng ta có
thể xây dựng và triển khai chúng với nhiều mục đích khác nhau
Cùng với sự hội nhập của th-ơng mại quốc tế, ngày nay th-ơng mại
điện tử đã trở thành yếu tố quan trọng trong công nghệ thông tin Nền tảng của th-ơng mại điện tử là mạng Internet và công nghệ Web Có nhiều công cụ
(Ngôn ngữ lập trình) giúp chúng ta thiết kế và xây dựng website Tuy nhiên trong đề tài này em xây dựng ứng dụng Web bằng ASP.NET và MySQL
Trong phạm vi đề tài này em xây dựng ứng dụng bán hàng qua mạng một hình thức kinh doanh phổ biến hiện nay ứng dựng đ-ợc xây dựng trên
ngôn ngữ lập trình ASP.NET và cơ sở dữ liệu MySQL Em nghĩ là không có sự kết hợp nào tốt hơn giữa ASP.NET và MySQL ASP.NET là ngôn ngữ lập trình Web rất nhanh và dễ dùng, nó chạy đ-ợc trên nhiều hệ điều hành, Windosw,
Unix, Linux, ASP.NET có thể dùng để tạo ra ứng dụng Web, IMPA Mail Server, truy nhập cơ sở dữ liệu MySQL, Orale, DB2… Đặc biệt hơn ASP.NET
hoàn toàn miễn phí
Một trong những đóng góp to lớn của Công nghệ thông tin, là việc áp dụng Công nghệ thông tin nói chung và Internet nói riêng trong giới thiệu và bán hàng qua mạng Với mong muốn giảm nhẹ sức lao động của con ng-ời và dựa trên những nhu cầu của xã hội em đã chọn đề tài khoá luận tốt nghiệp cho
mình là: “ ứng dụng ASP.NET xây dựng Website bán hoa trên mạng”
Trang 5đủ Khi thể hiện các loại hoa đó lên Website, các thông tin về các loại hoa này phải khoa học, trực quan, sinh động không d- thừa Tạo cho ng-ời xem khi
đến với Website có thể chọn đ-ợc một bó hoa thật nhiều ý nghĩa để tặng Thầy Cô, gia đình, bạn bè hay ng-ời thân yêu nhất…
Đ-ợc sự h-ớng dẫn của Cô giáo, Thạc sĩ Phạm Thị Thu Hiền, em đã lựa
chọn đề tài “ ứng dụng ASP.NET xây dựng Website bán hoa trên mạng”
để làm đề tài cho khoá luận tốt nghiệp của mình
Mặc dù có nhiều cố gắng, tìm hiểu, nghiên cứu trên các tài liệu đồng thời tranh thủ sự giúp đỡ của Thầy Cô, bạn bè, do thời gian có hạn, kinh nghiệm còn ít, nên đề tài không tránh khỏi những thiếu sót Rất mong đ-ợc sự
đánh giá, góp ý của các Thầy Cô giáo và các bạn bè để em kịp thời có những sửa đổi bổ sung
Em xin chân thành cảm ơn sự h-ớng dẫn của Thầy giáo, Cô giáo trong Khoa Công Nghệ Thông Tin - Tr-ờng Đại học Vinh Em đặc biệt bày tỏ lòng biết ơn chân thành tới Cô giáo, Thạc sĩ Phạm Thị Thu Hiền, ng-ời Cô đã tạo mọi điều kiện và luôn giúp đỡ, h-ớng dẫn em tận tình để em hoàn thành tốt khoá luận này
Cuối cùng em xin chân thành cảm ơn và kính chúc các Thầy giáo, Cô giáo sức khoẻ và hạnh phúc
Vinh, tháng 5 năm 2008
Trang 6Lời nói đầu
Ch-ơng I Tổng quan về đề tài 1
1.1 Lý do chọn đề tài 1
1.2 Công nghệ Internet 2
1.3 Th-ơng mại điện tử 5
Ch-ơng II Mô hình CLIENT/SERVER 11
2.1 Các khái niệm 11
2.2 Mô hình CLIENT/SERVER 11
2.3 Ưu và nh-ợc điểm chính 13
2.4 ứng dụng mô hình CLIENT/SERVER 15
2.5 Mô hình WEB CLIENT/SERVER 17
2.6 Hoạt động 17
2.7 Mở rộng khả năng của WEB SEVER 18
Ch-ơng III ASP.NET việc xây dựng các ứng dụng trên WEBSITE 20
3.1 Tìm hiểu về ASP.NET 20
3.2 Công nghệ NET 21
3.3 Ph-ơng pháp thiết kế một trang WEB 27
3.4 Lập trình trang WEB động 28
3.5 Cách thức hoạt động của ch-ơng trình giao tiếp trong mô hình WEB CLIENT/SERVER 30
3.6 Xây dựng ch-ơng trình giao tiếp 30
Ch-ơng IV Cơ sở dữ liệu và cách truy xuất cơ sở dữ liệu 33
4.1 Khái niệm 33
4.2 Quản trị cơ sở dữ liệu là gì ? 33
4.3 Chuẩn ODBC 34
Trang 74.6 Cấu hình ODBC 36
Ch-ơng V Xây dựng WEB bán hàng 38
5.1 Đặt bài toán 38
5.2 Phân tích thiết kế hệ thống 39
5.3 Phân tích thiết kế hệ thống WEBSITE 42
5.4 Thiết kế cài đặt ch-ơng trình 52
Kết luận 64
tài liệu tham khảo 65
Trang 8và với tất cả chúng ta Theo xu h-ớng chung của thời đại, ngày nay mọi hoạt
động kinh doanh đều dựa trên Internet để phát triển, những ng-ời ngoại tỉnh,
kể cả những đơn vị hành chính sự nghiệp cũng muốn có những trang Web riêng để có thể truyền tải những thông tin cần thiết của mình đến nhiều ng-ời hơn nhờ mạng Internet.
ở n-ớc ta hiện nay theo cách thông th-ờng khách hàng đi mua hàng th-ờng phải đi tới các cửa hàng hay siêu thị để chọn lựa và mua các sản phẩm
họ cần Việc chọn lựa một sản phẩm cho đúng với yêu cầu và sở thích này chiếm khá nhiều thời gian của khách hàng Ch-a kể đến việc khách hàng muốn biết rõ về sản phẩm hay chức năng của sản phẩm cũng nh- cách sử dụng sản phẩm mà họ định mua Với lý do này thì họ lại cần đến những thông tin mang tính hỗ trợ của những chuyên gia Chính vì vậy, việc tạo lập một siêu thị ảo với những sản phẩm phong phú, đa dạng và hỗ trợ những thông tin một cách nhanh chóng chính xác, đầy đủ là việc rất cần thiết đối với mọi khách hàng
Với thời đại thông tin phát triển vũ bão nh- hiện nay, khái niệm Internet không còn xa lạ với mọi ng-ời, việc đ-a những sản phẩm và những thông tin hỗ trợ lên mạng đang trở nên một nhu cầu cần thiết cho mọi ng-ời
Trang 9Cùng với sự hội nhập của th-ơng mại quốc tế, ngày nay th-ơng mại điện tử đã trở thành yếu tố quan trọng trong công nghệ thông tin Nền tảng của th-ơng mại điện tử là mạng Internet và công nghệ Web Có nhiều ngôn ngữ lập trình
có thể giúp chúng ta thiết kế và xây dựng Website Trong đề tài này em xây dựngứng dụng Web bằng ngôn ngữ lập trình hiện đại ASP.NET Trong phạm
vi đề tài em xây dựng ứng dụng bán hoa qua mạng một hình thức kinh doanh phổ biến hiện nay
1.2 Công nghệ internet
1.2.1 Internet và xuất xứ của nó
Internet là một mạng máy tính nối hàng triệu máy tính với nhau trên phạm vi toàn thế giới Internet có lịch sử rất ngắn, nó có nguồn gốc từ một dự
án của Bộ Quốc Phòng Mỹ có tên là ARPANET vào năm 1969, dự án nhằm thực nghiệm xây dựng một mạng nối các trung tâm nghiên cứu khoa học và
quân sự với nhau Đến năm 1970 đã có thêm hai mạng: Store-and-forwarrd và
ALOHAnet, đến năm 1972 hai mạng này đã đ-ợc kết nối với ARPANET
Cũng trong năm 1972 Ray Tomlinson phát minh ra ch-ơng trình th- tín điện
tử E-mail Ch-ơng trình này đã nhanh chóng đ-ợc ứng dụng rộng rãi để gửi các thông điệp trên mạng phân tán
Kết nối quốc tế đầu tiên vào ARPANET từ University College of
London (Anh) và Royal Radar Establishment (Na Uy) đ-ợc thực hiện vào năm
1973 Thành công vang dội của ARPANET đã làm nó nhanh chóng đ-ợc phát triển, thu hút hầu hết các tr-ờng đại học tại Mỹ Do đó tới năm 1983 nó đã
đ-ợc tách thành hai mạng riêng: MILNET tích hợp với mạng dữ liệu quốc phòng (Defense Data Network) dành cho các địa điểm quân sự và ARPANET dành cho các địa điểm phi quân sự
Sau một thời gian hoạt động, do một số lý do kỹ thuật và chính trị, kế hoạch sử dụng mạng ARPANET không thu đ-ợc kết quả nh- mong muốn
Trang 10Vì vậy, Hội đồng khoa học quốc gia Mỹ (National Science Foundation)
đã quyết định xây dựng một mạng riêng NSFNET liên kết các trung tâm tính toán lớn và các tr-ờng đại học vào năm 1986 Mạng này phát triển hết sức nhanh chóng, không ngừng đ-ợc nâng cấp và mở rộng liên kết tới hàng loạt các doanh nghiệp, các cơ sở nghiên cứu và đào tạo của nhiều n-ớc khác nhau
Cũng từ đó thuật ngữ Internet ra đời Dần dần kỹ thuật xây dựng mạng ARPANET đã đ-ợc thừa nhận bởi tổ chức NSF, kỹ thuật này đ-ợc sử dụng để dựng mạng lớn hơn với mục đích liên kết các trung tâm nghiên cứu lớn của
n-ớc Mỹ Ng-ời ta đã nối các siêu máy tính (Supercomputer) thuộc các vùng
khác nhau bằng đ-ờng điện thoại có tốc độ cao Tiếp theo là sự mở rộng mạng này đến các tr-ờng đại học
Ngày càng có nhiều ng-ời nhận ra lợi ích của hệ thống trên mạng, ng-ời ta dùng để trao đổi thông tin giữa các vùng với khoảng cách ngày càng
xa Vào những năm 1990 ng-ời ta bắt đầu mở rộng hệ thống mạng sang lĩnh
vực th-ơng mại tạo thành nhóm CIX (Commercial Internet Exchange
Association) Có thể nói Internet thật sự hình thành từ đây
Cho đến thời điểm hiện tại, Internet đã trở thành một phần không thể tách rời của cuộc sống hiện đại Đối với một ng-ời lao động bình th-ờng tại một n-ớc phát triển bình th-ờng, Internet đã trở thành một khái niệm giống nh- điện thoại, tivi Trong thời gian biểu của một ngày làm việc đã xuất hiện một khoảng thời gian nhất định để sử dụng Internet, cũng giống nh- khoảng thời gian xem tivi mà thôi
Theo số liệu thống kê, năm 2000 số l-ợng ng-ời sử dụng Internet là khoảng 150 triệu và dự đoán đến năm 2003 sẽ là 545 triệu ng-ời sử dụng hiện
Số l-ợng 150 triệu ng-ời sử dụng hiện tại đ-ợc phân bố rất không đồng đều trên toàn cầu Quá nửa số ng-ời sử dụng là ở khu vực Bắc Mỹ còn lại ở Châu
Âu, Châu á, Nam Mỹ, Châu Phi và khu vực cận Đông cụ thể là: Bắc Mỹ 57%, Châu Âu 21.75%, Nam Mỹ 3%, Châu Phi 0.75% và khu vực cận Đông 0.5%
Trang 11Các loại hình dịch vụ đ-ợc sử dụng nhiều nhất trên Internet là: Giáo dục, mua bán, giải trí, công việc th-ờng ngày tại công sở, truyền đạt thông tin, các loại dịch vụ có liên quan đến thông tin cá nhân Trong đó, các dịch vụ liên quan đến thông tin cá nhân chiếm nhiều nhất, sau đó là công việc, giáo dục, giải trí và mua bán
mẽ D-ới đây chỉ là một số dịch vụ trên Internet:
Th- điện tử (E-mail): Dịch vụ E-mail có thể dùng để trao đổi thông
tin giữa các cá nhân với nhau, các cá nhân với tổ chức và giữa các tổ chức với nhau Dịch vụ này còn cho phép tự động gửi nội dung thông tin đến từng địa chỉ hoặc tự động gửi đến tất cả các địa chỉ cần gửi theo danh sách địa chỉ cho tr-ớc (gọi là mailing list) Nội dung thông tin gửi đi dùng trong th- điện tử không chỉ có văn bản (text) mà còn có thể ghép thêm (attack) các văn bản đã
đ-ợc định dạng, graphic, sound, video Các dạng thông tin này có thể hoà trộn, kết hợp với nhau thành một tài liệu phức tạp Lợi ích chính dịch vụ th-
điện tử là thông tin gửi đi nhanh và rẻ
WWW (World Wide Web): Đây là khái niệm mà ng-ời dùng Internet
quan tâm nhiều nhất hiện nay Web là một công cụ, hay đúng hơn là một dịch
vụ của Internet, Web chứa thông tin bao gồm văn bản, hình ảnh, âm thanh và thậm chí cả video đ-ợc kết hợp với nhau Web cho phép chúng ta đi sâu vào mọi ngõ ngách trên Internet, là những điểm chứa CSDL gọi là Website Nhờ
có Web nên dù không phải là chuyên gia, mọi ng-ời có thể sử dụng Internet một cách dễ dàng Phần mềm sử dụng để xem Web gọi là trình duyệt
Trang 12(Browser) Một trong những trình duyệt thông th-ờng hiện nay là Navigator của Netcape, tiếp đó là Internet Explorer của Microsoft
Dịch vụ truyền file (FTP - File Transfer Protocol): là dịch vụ dùng để
trao đổi các tệp tin từ máy chủ xuống các máy cá nhân và ng-ợc lại
Gropher: Dịch vụ này hoạt động nh- viện Menu đủ loại Thông tin hệ thống Menu phân cấp giúp ng-ời sử dụng từng b-ớc xác định đ-ợc những thông tin cần thiết để đi tới vị trí cần đến Dịch vụ này có thể sử dụng để tìm kiếm thông tin trên các FTP Site
Telnet: Dịch vụ này cho phép truy cập tới Server đ-ợc xác định rõ nh- một TelnetSite tìm kiếm Server Ng-ời tìm có thể thấy một dịch vụ vô giá khi tìm kiếm các thông tin trong th- viện và các thông tin l-u trữ Telnet đặc biệt quan trọng trong việc kết nối các thông tin từ các máy tính xuống trung tâm
1.3 Th-ơng mại điện tử
1.3.1 Th-ơng mại điện tử là gì ?
Th-ơng mại điện tử (E-Commerce) là hình thái hoạt động kinh doanh
bằng các ph-ơng pháp điện tử, là việc trao đổi “ thông tin” kinh doanh thông qua các ph-ơng tiện công nghệ điện tử
- Là bán hàng trên mạng
- Là bán hàng trên Internet
- Là kinh doanh trên Internet
Đúng vậy, hiện nay có rất nhiều cách hiểu khác nhau về th-ơng mại
điện tử Nhiều ng-ời hiểu th-ơng mại điện tử là bán hàng trên mạng, trên Internet Một số ý kiến khác lại cho rằng th-ơng mại điện tử là làm th-ơng mại bằng điện tử Những cách hiểu này đều đúng theo một góc độ nào đó nh-ng ch-a nói lên đ-ợc phạm vi rộng lớn của th-ơng mại điện tử
Th-ơng mại điện tử không chỉ là bán hàng trên mạng hay bán hàng trên
Internet mà là hình thái hoạt động kinh doanh bằng các ph-ơng pháp điện tử
Trang 13Hoạt động kinh doanh bao gồm tất cả các hoạt động trong kinh doanh nh- giao dịch, mua bán, thanh toán, đặt hàng, quảng cáo và kể cả giao hàng Các ph-ơng pháp điện tử ở đây không chỉ có Internet mà bao gồm việc sử dụng các ph-ơng tiện công nghệ điện tử nh- điện thoại, máy FAX, truyền hình và mạng máy tính (trong đó có Internet) Th-ơng mại điện tử cũng bao hàm cả việc trao đổi thông tin kinh doanh thông qua các ph-ơng tiện công nghệ điện
tử Thông tin ở đây không chỉ là những số liệu hay văn bản, tin tức mà nó gồm cả hình ảnh, âm thanh và phim video
Các ph-ơng tiện điện tử trong Th-ơng mại điện tử
Mạng toàn cầu Internet / World Wide Web
Các hình thức hoạt động Th-ơng mại điện tử:
+ Th- tín điện tử (E-mail)
+ Thanh toán điện tử
+ Trao đổi dữ liệu điện tử (EDI)
+ Trao đổi số hoá các dung liệu
+ Mua bán hàng hoá hữu hình
1.3.2 Th-ơng mại điện tử và tầm quan trọng của nó
Ngày nay, th-ơng mại điện tử đã trở thành một ngành kinh tế mũi nhọn trên thế giới và đã xuất hiện nhiều trung tâm th-ơng mại và thị tr-ờng chứng khoán lớn trên thế giới
Hiện nay nhờ vào sự phát triển của các ph-ơng tiện truyền thông, đặc biệt là sự phát triển của tin học đã tạo điều kiện cho mọi ng-ời có thể giao tiếp
Trang 14với nhau một cách nhanh chóng và dễ dàng hơn thông qua các dịch vụ Internet Vì là một môi tr-ờng truyền thông rộng khắp thế giới nên thông tin
có thể giới thiệu tới từng thành viên một cách nhanh chóng và thuận lợi Chính vì vậy đã tạo điều kiện thuận lợi cho th-ơng mại điện tử thông qua Internet
Và th-ơng mại điện tử nhanh chóng trở nên phổ biến trên thế giới trở thành một công cụ rất mạnh mẽ để bán hàng và quảng cáo hàng hoá của các nhà cung cấp Đối với khách hàng, có thể có thể lựa chọn, so sánh hàng hoá phù hợp cả về loại hàng hoá, dịch vụ giá cả, chất l-ợng và ph-ơng thức giao hàng cho khách hàng
Có rất nhiều ý kiến cho rằng th-ơng mại điện tử là sự thay đổi lớn nhất trong kinh doanh kể từ sau cuộc cách mạng công nghiệp
Th-ơng mại điện tử không chỉ mở ra những cơ hội kinh doanh mới, những sản phẩm và dịch vụ mới, những ngành nghề kinh doanh mới mà bản thân nó thực sự là một ph-ơng thức kinh doanh mới: Ph-ơng thức kinh doanh
điện tử Th-ơng mại điện tử chuyển hoá các chức năng kinh doanh, từ nghiên cứu thị tr-ờng và sản xuất sản phẩm đến bán hàng, dịch vụ sau bán hàng từ ph-ơng thức kinh doanh truyền thống đến ph-ơng thức kinh doanh điện tử
Theo Andrew Grove - Intel thì trong vòng năm năm, tất cả các công ty
sẽ trở thành công ty Internet, hoặc sẽ không là gì cả Tuy câu nói này có phần phóng đại nh-ng nó phản ánh về cơ bản tầm quan trọng và sự ảnh h-ởng của th-ơng mại điện tử đến kinh doanh trong thời đại hiện nay
1.3.3 Thực tế Th-ơng mại điện tử ở Việt Nam
Doanh thu từ các hoạt động th-ơng mại điện tử tại khu vực Châu á hiện tại là khá thấp so với các khu vực khác
Khi đặt vấn đề phát triển th-ơng mại điện tử của một n-ớc, việc đầu tiên cần đề cập đến là mức độ phát triển nền CNTT của n-ớc này Việt Nam là một n-ớc có nền CNTT kém phát triển so với thế giới nói chung và khu vực nói riêng Xoay quanh vấn đề phát triển CNTT ở Việt Nam hiện còn tồn tại
Trang 15nhiều vấn đề nổi cộm Có thể lấy ví dụ: Vấn đề bản quyền phần mềm, vấn đề
đội ngũ những ng-ời làm tin học còn quá ít ỏi và thiếu đào tạp cơ bản, vấn đề ph-ơng h-ớng phát triển, đầu t- cơ bản, đầu t- mạo hiểm v.v
Theo định h-ớng của Chính phủ (phát biểu của Giáo s- Chu Hảo, Thứ
tr-ởng Bộ Khoa học Công nghệ và Môi tr-ờng với báo chí) thì “ Trong
t-ơng lai, công nghiệ phần mềm sẽ trở thành một ngành kinh tế mũi nhọn của Việt Nam ” Nh-ng t-ơng lai đó có vẻ nh- còn rất xa nếu xét tình hình hiện tại Tuy nhiên, nhìn từ góc độ của những nhà tin học chuyên nghiệp n-ớc ngoài thì lại có vẻ khá lạc quan, nh- lời ông Peter Knook (Phó chủ tịch tập
đoàn Microsoft) nói nhân dịp ông sang thăm và làm việc tại Việt Nam năm 1999: “ Việt Nam có tiềm năng to lớn trong việc phát triển ngành CNTT của mình, vì Việt Nam là n-ớc với 80 triệu dân với hệ thống giáo dục tốt, và đặc biệt là Chính phủ có chủ tr-ơng xây dựng xã hội phát triển dựa trên nền tảng tri thức ”
Ngày 19/11/1997 (ngày Internet Việt Nam) Chính phủ Việt Nam chính thức chỉ định 4 nhà cung cấp dịch vụ Internet (ISP) đầu tiên ở Việt Nam là: Công ty điện toán và truyền số liệu (VDC), Công ty Phát triển Đầu t- Công nghệ (FPT), Viện Công nghệ Thông tin và Công ty Cổ phần B-u chính Viễn thông Sài Gòn (Saigonpostel) Theo con số dự kiến của Ban điều phối mạng Internet quốc gia, sau 6 tháng kết nối Internet, số thuê bao Internet tại Việt Nam sẽ đạt từ 20.000 đến 25.000 Thực tế cho thấy đây là một dự đoán khá lạc quan, vì theo số l-ợng đ-a ra vào cuối năm 1998, sau một năm hoạt động,
số thuê bao Internet mới chỉ đạt con số 11.000 Trong năm 1999, tốc độ thuê bao có nhiều lạc quan hơn, theo số liệu của Công ty FPT, một trong số 4 ISP
đ-a ra, số thuê bao Internet đã đạt khoảng 31.000, tức là cứ 10.000 dân Việt Nam thì có 4 thuê bao Internet Số thuê bao chủ yếu tập trung tại TPHCM và
Hà Nội Tỷ lệ thuê bao các nhân đạt khoảng 60% tổng số thuê bao, còn lại là các công ty, cơ quan Nhà n-ớc và ng-ời n-ớc ngoài
Trang 16Theo dự đoán của một số tổ chức quốc tế, doanh thu từ các hoạt động th-ơng mại trên Internet năm 2000 khoảng 120 tỷ USD, chia sẻ doanh thu đó
là mong muốn của nhiều quốc gia Tại Việt Nam, xu h-ớng ứng dụng th-ơng mại điện tử đã bắt đầu Theo đánh giá của các chuyên gia thuộc Bộ Th-ơng mại (Vụ Châu á - Thái Bình D-ơng), con đ-ờng tiếp cận th-ơng mại điện tử qua 3 giai đoạn: chuẩn bị, chấp nhận và ứng dụng, Việt Nam đang ở b-ớc đầu tiên của giai đoạn thứ nhất
Cho đến thời điểm này, Bộ Th-ơng Mại và Tổng cục B-u Điện đã xúc tiến những nghiên cứu cơ bản về th-ơng mại điện tử và trình Chính phủ dự án thành lập một hội đồng quốc gia về th-ơng mại điện tử cũng nh- ch-ơng trình hành động Quốc gia về vấn đề này Bên cạnh đó, các hoạt động chuẩn bị và thử nghiệm cũng đã đ-ợc bắt đầu Nhiều công ty đã lên Web để giới thiệu về mình và tìm kiếm bạn hàng, một số siêu thị ảo đã đ-ợc khai thác
Theo các kết quả nghiên cứu, báo cáo của Hiệp hội th-ơng mại điện tử Châu á - Châu Đại D-ơng, những trở ngại khi tiến hành th-ơng mại điện tử bao gồm:
Các trở ngại có tính Công nghệ nh-: thiếu một cơ sở hạ tầng và một môi tr-ờng công nghệ thích hợp nh-, giá sử dụng, khả năng bảo mật, nền CNTT kém phát triển và thiếu cán bộ kỹ thuật
Các trở ngại có tính Xã hội: thiếu một môi tr-ờng xã hội thích hợp, thiếu hiểu biết từ lãnh đạo đến nhân viên, thiếu hiểu biết từ khách hàng đến bạn hàng
Việt Nam là đất n-ớc tham gia sau và bắt đầu từ đầu nên ngoài vấp phải những khó khăn chung kể trên thì còn rất nhiều khó khăn riêng, theo
đánh giá của Tổng cục B-u Điện thì có 3 khó khăn chính là:
Cơ sở hạ tầng thông tin cần cải thiện ngay, cần có thời gian hàng năm và đầu t- theo đơn vị tỷ USD
Trang 17 Hệ thống dịch vụ tài chính ch-a áp dụng hệ thống thanh toán thẻ -
đây là trở ngại và là khó khăn lớn nhất
Cần nâng cao nhận thức của ng-ời Việt Nam về th-ơng mại điện tử thì mới có thể triển khai đ-ợc
Còn các chuyên gia của Bộ Th-ơng Mại đặt vấn đề thận trọng hơn:
Tác động của Th-ơng mại điện tử đến xã hội và từng cá nhân là hết sức sâu rộng nên cần hết sức thận trọng
Trên quy mô toàn cầu, các n-ớc ít phát triển liệu có thể duy trì khả năng cạnh tranh hợp lý để cùng phát triển?
Th-ơng mại điện tử có phá vỡ đặc tr-ng văn hoá của từng n-ớc?
Thuận lợi:
Theo các dự báo về một nền kinh tế kỹ thuật số của thế kỷ 21 thì th-ơng mại điện tử là một trong những yếu tố then chốt Không liên quan đến những trở ngại vừa nêu, th-ơng mại điện tử có những đặc tr-ng thuận lợi và bình
đẳng với tất cả mọi ng-ời Khi phát triển th-ơng mại điện tử, Việt Nam cũng
đ-ợc thừa h-ởng tất cả các thuận lợi này
Trang 18Một ch-ơng trình đ-ợc coi là Client khi nó gửi các yêu cầu tới máy có ch-ơng trình Server và chờ đợi câu trả lời từ Server Ch-ơng trình Server và
Client nói chuyện với nhau bằng các thông điệp (message) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication) Để một
ch-ơng trình Server và một ch-ơng trình Client có thể giao tiếp đ-ợc với nhau thì giữa chúng phải có một chuẩn để giao tiếp, chuẩn này đ-ợc gọi là giao
thức (Protocol) Nếu một ch-ơng trình Client nào muốn yêu cầu lấy thông tin
từ Server thì nó phải tuân theo giao thức Server đ-a ra
Một máy tính chứa ch-ơng trình Server đ-ợc coi là một máy chủ hay
máy phục vụ (Server) và máy chứa ch-ơng trình Client đ-ợc coi là máy khách
Mô hình trên mạng mà các máy chủ và máy khách giao tiếp với nhau theo một hoặc nhiều dịch vụ đ-ợc coi là mô hình Client /Server
2.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ợi cho việc truyền thông lên tiến trình lên các máy tính cá nhân mô hình này cho phép xây dựng các ch-ơng trình Client/Server một cách rễ ràng và sử dụng chúng để liên tác với nhau đạt hiệu quả hơn Mô hình Client/Server nh- sau:
Trang 19Đây là mô hình tổng quát nhất, trên thực tế thì một Server có thể đ-ợc nối tới nhiều Server khác nhằm làm việc hiệu quả hơn và nhanh chóng hơn Khi nhận đ-ợc một yêu cầu từ Client/Server này thì có thể gửi tiếp yêu cầu vừa nhận đ-ợc cho một Server khác: Ví dụ 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 máy chủ trả lời thời gian hiện tại trong ngày khi một máy Client yêu cầu lấy thông tin về thời gian, nó sẽ phải gửi yêu cầu theo một một tiêu chuẩn
do một số yêu cầu lấy thông tin về thời gian, nó sẽ phải gửi yêu cầu theo một một tiêu chuẩn do một Server đặt ra, mức yêu cầu đ-ợc chấp nhận thì máy Server sẽ trả về một thông tin mà Client yêu cầu Có rất nhiều dịch vụ trên mạng nh-ng nó hoạt động theo nguyên lý là nhận các yêu cầu từ Client sau đó
xử lý và trả lại các yêu cầu cho Client yêu cầu
Thông th-ờng ch-ơng trình Client/ Server đ-ợc thi hành trên hai máy khác nhau cho dù lúc nào Server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu
từ Client nh-ng trên thực tế một tiến trình liên tục qua lại (interaction) giữa
Client với Server lại bắt đầu ở phía Client khi mà Client giữ tín hiệu với Server
Các ch-ơng trình Server th-ờng đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng) Sự thuận lợi của ph-ơng pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào hỗ trợ giao th-ớc truyền thông chuẩn mà cụ thể
ở đây là giao thức TCP/IP Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không
Client
Server Gửi yêu cầu
Trả về trang Web
Trang 20gặp khó khăn gì Với các chuẩn này thì các ch-ơng trình Server cho một ứng dụng nào đó có thể thi hành trên một hệ thống chia sẻ thời gian với nhiều ch-ơng trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính cá nhân bình th-ờng có thể có nhiều Server cù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áy tính
Với mô hình trên thì mô hình Client/Server chỉ mang đặc điểm của phần mềm không liên quan đến phần cứng mặc dù trên thực tế yêu cầu cho một máy Server là cao hơn rất nhiều so với máy Client lý do là bởi vì máy Server phải quản lý rất nhiều các yêu cầu từ các Client khác nhau trên mạng máy tính
2.3 Ư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ồm các công việc nh- gửi và nhận file, tìm kiếm thông tin)
Mô hình Client/Server cung cấp một nền tảng lý t-ởng cho phép tích hợp các kỹ thuật hiện đại nh- mô hình thiết kế h-ớng đối t-ợng, hệ chuyên gia, hệ thông tin địa lý (GIS)
Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn
và bảo mật thông tin trên mạng Do phải trao đổi dữ liệu giữa hai máy ở hai khu vực khác nhau cho nên dễ dàng xẩy ra hiện t-ợng thông tin truyền trên mạng bị lộ
Client: trong mô hình Client/Server ng-ời ta còn định nghĩa cụ thể cho một máy Client là một máy trạm mà chỉ đ-ợc sử dụng bởi một ng-ời dùng thể hiện tính độc lập của nó Máy Client có thể sử dụng các hệ điều hàng bình th-ờng nh- Win 9x, Dos OS/2 Bản thân mỗi một Client cũng đ-ợc tích hợp nhiều chức năng trên hệ điều hành mà nó chạy Nh-ng khi đ-ợc nối vào một mạng LANWAN theo mô hình Client/Server thì nó còn có thể sử dụng thêm các chức năng do hệ điều hành mạng đó cung cấp với nhiều dịch vụ khác nhau
Trang 21(Cụ thể là các dịch vụ đó do các Server trên mạng này cung cấp ví dụ nó có thể yêu cầu lấy dữ liệu từ một Server hay gửi dữ liệu lên Server đó ) Thực tế trong các phần ứng dụng của mô hình Client/Server các chức năng hoạt động chính là sự kết hợp giữa Client/Server với sự chia sẻ tài nguyên, dữ liệu trên cả hai máy
Vai trò của Client trong mô hình Client/Server:
1 Client: đ-ợc coi là ng-ời sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp là Server đ-ợc coi nh- là ng-ời cung cấp dịch vụ để trả lời các yêu cầu của Client điều quan trọng là phải hiểu đ-ợc vai trò hoạt
động của nó trong một mô hình cụ thể một máy Client trong mô hình này lại
là Server trong một mô hình khác ví dụ nh- một máy trạm làm việc nh- một Client th-ờng trong mạng LAN nh-ng đồng thời nó có thể đóng vai trò nh-
một máy in chủ (Printer Server) cung cấp dịch vụ in ấn từ xa cho nhiều khác
sử dụng Client đ-ợc hiểu nh- là bề nổi của các dịch vụ trên mạng, liệu có thông tin vào hoặc ra thì chúng sẽ đ-ợc hiển thị trên máy Client
2 Server: còn đ-ợc định nghĩa nh- một máy tính nhiều ng-ời sử dụng
(Multi user computer) Vì một Server phải quản lý nhiều yêu cầu từ các Client
trên mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với các tính năng hoạt động độc lập song song với nhau nh- hệ điều hành UNIX, WindowsNT Server cung cấp và điều kiển các tiến trình truy cập vào tài nguyên của hệ thống các ứng dụng chạy trên Server phải đ-ợc tách rời nhau để một lỗi của ứng dụng này không làm hỏng ứng dụng khác Tính
đa nhiệm đảm bảo một tiến trình không sử dụng toàn bộ tài nguyên của hệ thống
Vai trò của Server nh- là một nhà cung cấp dịch vụ cho các Client yêu cầu tới khi cần, các dịch vụ cơ sở dữ liệu in ấn, truyền file, hệ thống Các ứng dụng Server cung cấp các dịch vụ máy tính chức năng để hỗ trợ cho các hoạt
động trên các máy Client có hiệu quả tốt hơn Sự hỗ trợ của các dịch vụ này có
Trang 22thể là toàn bộ hoặc chỉ một phần thông qua IPC, để đảm bảo tính an toàn trên mạng cho nên Server này còn có vai trò nh- là một nhà quản lý toàn bộ quyền truy nhập dữ liệu của máy Client, nói cách khác nó là vai trò quản lý mạng
Có rất nhiều cách thực hiện nhằm quản trị mạng có hiệu quả, một trong nh-ng cách đang đ-ợc sử dụng nhiều nhất hiện nay là dùng tên Login và mật khẩu
(Password)
2.4 ứng dụng mô hình Client/Server
WWW (World Wide Web): Có nhiều ng-ời đã nghe đến thuật ngữ này
nh-ng lại không hiểu nó là cái gì, thậm chí có ng-ời đã sử dụng nó nh-ng cũng không định nghĩa chính xác đ-ợc WWW là cái gì? WWW là tập hợp các
văn bản tài liệu (document) có mối liên kết (Link) với nhau trên mạng
Internet Bởi vì WWW đang phát triển rất mạnh mẽ và đ-ợc quảng bá khắp nơi nên ng-ời sử dụng th-ờng nhầm lẫn WWW là Internet nh-ng thực tế nó chỉ là một dịch vụ của Internet
Ngày nay, Web là một dich vụ lớn nhất của Internet sử dụng giao thức truyền văn bản siêu liên kết bằng ASP.NET để 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 nhau Ng-ời sử dụng chỉ việc bấm chuột vào một phần của văn bản thì một vă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ột nơi hoàn toàn khác với trang Web liên kết đến nó Mỗi một mối liên kết đến một trang siêu văn bản đ-ợc gọi là địa chỉ của trang văn bản đó, địa chỉ này có tên là URL
(Uniform Resource Locators) gọi là bộ định danh tài nguyên Để tạo ra một
trang Web ng-ời ta sử dụng một ngôn ngữ gọi là ngôn ngữ đánh dấu siêu văn bản vì vậy ng-ời ta còn gọi các trang Web là trang ASP.NET
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
Trang 23chí cả âm thanh (thông tin đa ph-ơng tiện-Multimedia) Giao diện giữa ng-ời
và máy ngày càng trở nên thân thiện, nhờ các biểu t-ợng và dùng các thiết bị ngoại vi nh- chuột, bút quang Ng-ời dùng mạng không cần có trình độ cao
về tin học, với một chút vốn tiếng Anh đủ để hiểu những gì máy tính thông báo cũng có thể dùng nó nh- một công cụ đắc lực
Công nghệ Web cho phép xử lý các trang dữ liệu đa ph-ơng tiện và truy nhập trên mạng diện rộng đặc biệt là Internet Thực chất Web là hội tụ của Internet Các phần mềm lớn thi nhau thể hiện bộ duyệt Web nh- Mosaic, NetCape, Internet Explorer, WinWeb, Midas WWW rất tiện lợi cho ng-ời dùng bình th-ờng, không phải vất vả mới hiểu đ-ợc các thủ tục của Internet và
dễ dàng truy cập vào thông tin trên hàng ngàn máy chủ đặt ở khắp nơi trên thế giới một cách nhanh chóng và hiệu quả Có công nghệ Web thực chất chúng ta
đã b-ớc vào một thập kỷ mà mọi thông tin có thể có ngay trên bàn làm việc của mình
Nh- vậy dịch vụ WWW trên mạng có một ứng dụng rất to lớn trong thời đại thông tin nh- hiện nay
Web đã thay đổi cách biểu diễn thông th-ờng bằng văn bản toàn kiểu chữ nhàm chán sang kiểu thông tin sinh động có hình ảnh âm thanh Với một
bộ duyệt có trang bị tiện ích đồ hoạ ta dễ dàng xử lý thông tin đa ph-ơng tiện khác
Cho phép tìm kiếm thông tin một cách nhanh chóng, phổ biến các tài liệu khoa học và trao đổi thông tin trên mạng
Dịch vụ kinh doanh đầu t- trên mạng qua Web Với sự phát triển v-ợt bậc của khả năng truyền thông qua mạng và các công nghệ Web tiên tiến, việc
ta có thể ung dung ngồi tại nhà mà du ngoạn từ cửa hàng này sang hàng khác trong không gian ảo không còn là cảnh phim viễn t-ởng mà đã trở thành hiện thực Ngày nay hầu nh- bất kỳ thứ hàng hoá nào cũng có thể đặt mua qua Internet
Trang 242.5 Mô hình Web Client/Server
Mô hình Client/Server ứng dụng vào trang Web đ-ợc gọi là mô hình Web Client/ServerGiao thức chuẩn đ-ợc sử dụng để giao tiếp giữa Web Server
và Web Client là ASP.NET Web Client (Web Browser): Các trình duyệt có vai
trò nh- là Client trong mô hình Client/Server, khi cần xem một trang Web cụ thể nào thì trình duyệt Web sẽ gửi yêu cầu lên cho Web Server để lấy nội dung trang Web đó
Web Server: Khi nhận đ-ợc yêu cầu từ một Client/Server, Web Server
sẽ trả về nội dung file cho trình duyệt Web Server cho phép chuyển giao dữ liệu bao gồm văn bản, đồ hoạ và thậm chí cả âm thanh, video tới ng-ời sử dụng Ng-ời sử dụng chỉ cần trình duyệt xét Web để liên kết các máy chủ qua mạng IP nội bộ yêu cầu của ng-ời sử dụng đ-ợc đáp ứng bằng cách nhấn chuột vào các chủ đề hoặc minh hoạ mẫu theo khuôn dạng ASP.NET Những trang dữ liệu theo yêu cầu sẽ đ-ợc gọi xuống từ máy chủ nào đó theo giao thức ASP.NET rồi hiển thị trên máy cá nhân
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ình duyệt Client
Trang 25 Trình duyệt nhận và định dạng dữ liệu theo chuẩn của trang Web để hiển thị lên màn hình
Quá trình cứ tiếp diễn nh- vậy đ-ợc gọi là duyệt Web trên mạng
2.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ình thành,
nó nạp vào bộ nhớ và đợi các yêu cầu từ nơi khác đến Các yêu cầu có thể từ trình duyệt hoặc từ Web Server khác đến Các yêu cầu th-ờng là đòi hỏi về một t- liệu hay một thông tin nào đó Khi nhận yêu cầu, nó phân tích để xác
định xem t- liệu, thông tin mà ng-ời dùng yêu cầu là gì Sau đó gửi trả kết quả lại nơi yêu cầu Các phần mềm Web Server chủ yếu:
Apche dùng cho UNIX
HS dùng cho Window NT
HTTP dùng cho UNIX
Web Quest dùng cho Window NT, Window 95
Oracle Web Server thích hợp cho nhiều nền tảng
Personal Web Server dùng cho Win 95
Bản thân Web Server không có khả năng truy nhập CSDL Vấn đề đặt
ra là cần mở rộng khả năng của Web Server để nó có thể xử lý các yêu cầu truy nhập và một CSDL nào đó, lấy các thông tin từ đó ra và sau đó trả các thông tin này về cho trình duyệt - nơi đã gửi yêu cầu Cách mở rộng khả năng này là ta phải viết một ch-ơng trình giao tiếp đ-ợc cả với Web Server và cả CSDL Ch-ơng trình này sẽ lấy các yêu cầu, xử lý chúng và đ-a ra kết quả là các file ASP.NET Một ch-ơng trình nh- vậy gọi là “ cổng” (Gateway) giữa Web Server và CSDL
Một Gateway có thể truy nhập nguồn thông tin không theo dạng chuẩn của Web (ASP.NET) tức là các thông tin nằm ngoài Web Server và chuyển đổi
nó thành các thông tin có thẻ hiển thị nên màn hình của trình duyệt Thực tế
Trang 26Gateway chỉ là một ch-ơng trình đ-ợc gọi bởi Web Server 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ày phải có tính thực thi đ-ợc Khi Web Server gọi một file vào một Gateway thì nó sẽ đ-ợc thực hiện Sau khi xử
lý xong Web Server nhận kết quả trả về và định dạng theo chuẩn ASP.NET để gửi cho trình duyệt
Có một số h-ớng để viết một ch-ơng trình nh- vậy:
- Common Gateway Interface (CGI)
- Microsoft Internet Server Pages.NET (ASP.NET).
Trang 27lý do trên mà chúng tôi đã lựa chọn APS.NET để xây hệ thống Website cho
hệ thống e-Learning
ASP.NET là từ viết tắt của Active Server Pages NET ASP.NET được xem là một công nghệ mạnh để phát triển các ứng dụng về mạng hiện nay cũng như trong tương lai Chúng ta cần lưu ý ở chỗ ASP.NET là một khung tổ chức để thiết lập các ứng dụng hết sức hùng mạnh về mạng dựa trên CLR (Common Language Runtime) chứ không phải là một ngôn ngữ lập trình ASP.NET cho phép trên cùng một Website có thể cài đặt nhiều ngôn ngữ lập trình khác nhau
Tuy ASP.NET có tên gần giống với ASP cổ điển nhưng nó không phải
là ASP Sau đây là những điểm khác biệt giữa ASP.NET và ASP:
Tập tin ASP.NET có phần mở rộng là ASPX, còn ASP là ASP
Tập tin ASP.NET được phân tích cú pháp bởi XSPISAPI.DLL, còn tập tin ASP được phân tích bởi ASP.DLL
ASP.NET là kiểu lập trình động bằng sự kiện, còn ASP thực thi tuần tự
từ trên xuống
ASP sử dụng trình biên dịch (Compiler Code) nên tốc độ thực thi rất nhanh, còn ASP sử dụng trình thông dịch (Interpreted Code) nên tốc độ chậm hơn
Trang 28ASP.NET hỗ trợ gần 25 ngôn ngữ lập trình mới với NET và chạy trong môi trường biên dịch (Compiler Invironment) còn ASP chỉ chấp nhận VBScript và JavaScript và chỉ chạy trong môi trường thông dịch
ASP.NET kết hợp nhuần nhuyễn với XML (eXtensible Markup Language) để chuyển thông tin qua mạng
ASP.NET hỗ trợ hầu hết các Browser, đặc biệt là ASP.NET hỗ trợ các thiết bị di động, đây là điểm khác biệt rất lớn mà ASP không có được
Trong hệ thống Website e-Learning, chúng tôi đã lựa chọn ngôn ngữ C# để cài đặt trong các trong ASP.NET
3.2 C«ng nghÖ Net
3.2.1 Giới thiệu về Net
Microsoft.NET gồm 2 phần chính: Framework và Integrated Development Environment (IDE) Framework cung cấp những gì cần thiết và căn bản, chữ Framework có nghĩa là khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một qui ước nhất định để công việc được trôi chảy IDE cung cấp một môi trường giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng dựa trên nền tảng NET Nếu không có IDE chúng ta cũng có thể dùng một trình soạn thảo ví như Notepad hay bất cứ trình soạn thảo văn bản nào và sử dụng command line để biên dịch và thực thi, tuy nhiên việc này mất nhiều thời gian Tốt nhất là chúng ta dùng IDE phát triển các ứng dụng, và cũng là cách dễ sử dụng nhất
Thành phần Framework là quan trọng nhất NE, đây là thành phần cốt lõi của trường, còn IDE chỉ là công cụ để phát triển dựa trên nền tảng đó Trong NET toàn bộ các ngôn ngữ C#, Visual C++ hay Visual Basic.NET đều dùng cùng một IDE
Tóm lại, Microsoft NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán thế hệ kế tiếp Bao gồm các ứng dụng từ client đến server
Trang 29và các dịch vụ khác Một số tính năng của Microsoft NET cho phép những nhà phát triển sử dụng như sau:
Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng dụng client với Extensible Markup Language (XML)
Tập hợp dịch vụ XML Web, như Microsoft NET My Services cho phép nhà phát triển đơn giản và tích hợp người dùng kinh nghiệm
Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server và BizTalk Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web và các ứng dụng
.NET cho phép chúng ta có thể lập trình trên các thiết bị di động một cách hiệu quả
Nhiều công cụ hỗ trợ như Visual Studio NET, để phát triển các dịch vụ Web XML, ứng dụng trên nền Windows hay nền web một cách dể dàng và hiệu quả
3.2.2 Kiến trúc NET Framework
.NET Framework là một platform mới làm đơn giản việc phát triển ứng dụng trong môi trường phân tán của Internet .NET Framework được thiết kế đầy đủ để đáp ứng theo quan điểm sau:
Để cung cấp một môi trường lập trình hướng đối tượng vững chắc, trong
đó mã nguồn đối tượng được lưu trữ và thực thi một cách cục bộ Thực thi cục bộ nhưng được phân tán trên Internet, hoặc thực thi từ xa
Để cung cấp một môi trường thực thi mã nguồn mà tối thiểu được việc đóng gói phần mềm và sự tranh chấp về phiên bản
Để cung cấp một môi trường thực thi mã nguồn mà đảm bảo việc thực thi an toàn mã nguồn, bao gồm cả việc mã nguồn được tạo bởi hãng thứ ba hay bất cứ hãng nào mà tuân thủ theo kiến trúc NET
Trang 30Để cung cấp một môi trường thực thi mã nguồn mà loại bỏ được những lỗi thực hiện các script hay môi trường thông dịch
Để làm cho những người phát triển có kinh nghiệm vững chắc có thể nắm vững nhiều kiểu ứng dụng khác nhau Như là từ những ứng dụng trên nền Windows đến những ứng dụng dựa trên web
Để xây dựng tất cả các thông tin dựa triên tiêu chuẩn công nghiệp để đảm bảo rằng mã nguồn trên NET có thể tích hợp với bất cứ mã nguồn khác
.NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư viện lớp NET Framework CLR là nền tảng của NET Framework Chúng ta có thể hiểu runtime như là một agent quản lý mã nguồn khi nó được thực thi, cung cấp các dịch vụ cốt lõi như: quản lý bộ nhớ, quản
lý tiểu trình và quản lý từ xa Ngoài ra nó còn thúc đẩy việc sử dụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảm bảo cho việc thực hiện được bảo mật và mạnh mẽ Thật vậy, khái niệm quản lý mã nguồn
là nguyên lý nền tảng của runtime Mã nguồn mà đích tới runtime thì được biết như là mã nguồn được quản lý (managed code) Trong khi đó mã nguồn
mà không có đích tới runtime thì được biết như mã nguồn không được quản
lý (unmanaged code)
Thư viện lớp, một thành phần chính khác của NET Framework là một tập hợp hướng đối tượng của các kiểu dữ liệu được dùng lại, nó cho phép chúng ta có thể phát triển những ứng dụng từ những ứng dụng truyền thống command-line hay những ứng dụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất được cung cấp bởi ASP.NET, như là Web Form và dịch vụ XML Web
Sau đây là mô hình mô tả các thành phần trong Net Framework
Trang 31Hình 1 Mô tả các thành phần trong Net Framework
3.2.3 Ngôn ngữ C#
a) Giới thiệu về ngôn ngữ C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi
nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Cả hai người này điều
là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến Và ông đứng đầu
Trang 32nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình Client/Server
Phần cèt lõi của bất cứ ngôn ngữ lập trình hướng đối tượng nào là sự
hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++ Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện Khi một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm
về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúc được giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp Một cấu trúc thì không thể kế thừa từ một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần oriented), như là những thuộc tính, những sự kiện Lập trình hướng thành
Trang 33(component-phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó
Một lưu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử Các mã nguồn này là không an toàn (unsafe) Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tượng được tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng
b) Những ưu điểm của C#
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C
và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này Những mục đích này được được tóm tắt như sau:
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ có ít từ khóa
C# là ngôn ngữ hướng module
C# sẽ trở nên phổ biến
Trang 343.3 Ph-ơng pháp thiết kế một trang Web
Khi nói đến xây dựng một trang Web cũng đồng nghĩa với việc xây dựng một trang chủ Theo quan niệm chung, trang chủ là một trang Web chứa liên kết đến một hay nhiều trang khác và th-ờng là trang cung cấp thông tin tổng quát nhất cho ng-ời xem Để xây dựng trang Web với các kết nối tr-ớc tiên chúng ta nên xác định xem thiết kế nội dung gì, cho ai xem và môi tr-ờng thể hiện Web Thông th-ờng có các b-ớc sau:
• Xác định chủ đề
• Xác định nội dung
• Thiết kế sơ đồ hoạt động (Flow diagram)
• Thiết kế sơ đồ giao diện với ng-ời xem của trang chủ
• Thiết kế và xây dựng chi tiết
Chi tiết các b-ớc:
Xác định chủ đề: Xác định chủ đề trang Web là b-ớc đầu tiên giúp cho việc định h-ớng cho các thao tác thiết kế và xây dựng sau này không đi chệch mục tiêu Chủ đề của trang Web tuy quan trọng song cũng dễ xác định bởi vì nó hoàn toàn dựa vào mục đích thiết kế trang Web đó
Xác định nội dung: Xác định nội dung trang Web là b-ớc quan trọng nhất Nó cho phép ta hình dung đ-ợc công việc sẽ phải làm tiếp theo và xây dựng quy mô trang chủ, qua đó quy định khuôn khổ công tác thiết kế giao diện và xây dựng trang web Khi xác định nội dung cần nhận rõ những điểm chính yếu phải giới thiệu trên trang Web Những thông tin sẽ giới thiệu phải phân loại theo hai tiêu chí: tính kế thừa và mức độ quan trọng Việc xây dựng nội dung cũng phải đ-ợc định tr-ớc phong cách khác nhau: trang nghiêm hay hài h-ớc cứng rắn hay mềm mại
Thiết kế sơ đồ hoạt động: Sơ đồ hoạt động là mô hình sắp xếp các nội dung (đ-ợc xác định ở b-ớc trên) trong b-ớc này ta sẽ sắp xếp các thông tin cần giới thiệu theo thứ tự -u tiên nh- đã xác định Công việc sắp xếp bao gồm
Trang 35thứ tự Trên - D-ới, Tr-ớc - Sau, thông tin nào cần đ-ợc nêu rõ trong một trang Web thành một phần riêng, thông tin nào có thể mô tả ngay trên trang chủ
Thiết kế giao diện với ng-ời xem: Sơ đồ giao diện với ng-ời xem là sơ đồ khái quát của những gì mà ng-ời đến thăm trang chủ của chúng ta sẽ thấy Giao diện với ng-ời xem đ-ợc thiết kế theo sơ đồ này Yêu cầu của giao diện là nêu bật đ-ợc chủ đề chính, bố trí các liên kết sao cho hợp lý, phân bố mạng thông tin, đồ hoạ sao cho cân đối
Thiết kế và xây dựng chi tiết: Công tác thiết kế và xây dựng chi tiết là phần việc đồ sộ nhất khi xây dựng trang Web Nó cũng là phần việc đ-a ra kết quả cuối cùng, vì vậy có thể nói đây là công tác quan trọng nhất Trong công tác thiết kế xây dựng chi tiết, việc lựa chọn các hình ảnh (để minh hoạ, để làm liên kết) là quan trọng Đây chính là cái sẽ gây ấn t-ợng mạnh nhất đến ng-ời xem Vì vậy thiết kế và lựa chọn hình ảnh cực kỳ quan trọng
3.4 Lập trình trang Web động
Khi duyệt các trang Web trên máy, chúng ta thấy rằng các trang Web làm việc một cách thực sự sinh động, có thể trao đổi thông tin, dịch vụ mua hàng với các form nhập dữ liệu và nhận dữ liệu trở về sau khi bấm nút Submit, chúng ta có thể bấm vào từng phần trong một bức tranh với các liên kết khác nhau, các con số hiển thị các lần truy cập vào từng trang Web và đặc biệt hơn còn có dịch vụ để truy cập dữ liệu, tìm kiếm thông tin theo một tiêu chuẩn nào đó Để làm đ-ợc điều đó ng-ời ta xây dựng các CSDL trên Web Server để lấy thông tin đ-a tới từ trình duyệt, sau đó xử lý và trả lại kết quả cho trình duyệt Tuy nhiên do bản thân Web Server lại không có khả năng làm việc với CSDL vì vậy phải có một ch-ơng trình thực thi đ-ợc khả năng xử lý thông tin và làm việc đ-ợc với Web Server Ch-ơng trình này đóng vai trò nh-
một cổng giao tiếp (gateway) giữa Web Server và trình duyệt
Đặc điểm nổi bật của ch-ơng trình này là tính đơn giản, bất cứ một ng-ời sử dụng nào cũng có thể tạo ra một ch-ơng trình giao tiếp đơn giản mà
Trang 36không cần phải có nhiều kinh nghiệm trong lập trình và khả năng thiết kế Một ch-ơng trình giao tiếp đ-ợc gọi là kịch bản (Script), chỉ khi nào cần một trang Web động thực sự với các tính năng hoàn hảo thì chúng ta mới phải nắm vững các kỹ thuật lập trình này Mô hình hoạt động và vai trò của ch-ơng trình giao tiếp (gateway) nh- sau:
Ngày nay các ch-ơng trình giao tiếp đóng một vai trò rất lớn trong Web Server, các ch-ơng trình giao tiếp chạy chung trên một Web Server có thể giao tiếp đ-ợc với nhau để tăng khả năng hoạt động của chúng Với mô hình này, Web Server có thể gọi một ch-ơng trình giao tiếp trong khi dữ liệu của ng-ời
sử dụng cũng đ-ợc đ-a trực tiếp cho ch-ơng trình, sau khi xử lý xong Web Server sẽ gửi kết quả xử lý của ch-ơng trình cho trình duyệt Ch-ơng trình giao tiếp thật đơn giản ở chỗ chỉ có một vài kiểu vào ra đơn giản và một số luật cụ thể cộng với các kỹ thuật đặc tr-ng của mô hình
Khi trình duyệt yêu cầu một trang Web sử dụng ch-ơng trình giao tiếp trên Web Server, Web Server truyền thông tin vừa nhận đ-ợc từ gói tin ASP.NET yêu cầu của trình duyệt cho ch-ơng trình giao tiếp xử lý Ch-ơng trình giao tiếp sau khi xử lý thông tin đ-ợc yêu cầu nó sẽ trả lại kết quả cho Web Server, Server sẽ định khuôn dạng gói tin theo chuẩn ASP.NET và truyền trực tiếp cho trình duyệt Web mà không phải thông qua Web Server, cách này làm tốc độ tải trang Web sẽ nhanh hơn
Kết quả của ch-ơng trình
Máy Khách
ch-ơng trình ứng dụng gateway
Máy Chủ
trang kết quả