Xây dựng website bán hàng trực tuyến tại Tổng Công ty Thương mại Hà Nội

Tài liệu Xây dựng website bán hàng trực tuyến tại Tổng Công ty Thương mại Hà Nội: ... Ebook Xây dựng website bán hàng trực tuyến tại Tổng Công ty Thương mại Hà Nội

doc117 trang | Chia sẻ: huyen82 | Lượt xem: 1630 | Lượt tải: 0download
Tóm tắt tài liệu Xây dựng website bán hàng trực tuyến tại Tổng Công ty Thương mại Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU HiÖn nay víi sù øng dông cña khoa häc c«ng nghÖ vµo s¶n xuÊt vµo ®êi sèng x· héi, th× ngµnh Tin häc còng cã nh÷ng øng dông réng r·i trong tÊt c¶ c¸c ngµnh, ®Æc biÖt nã ®­îc øng dông vµo trong c¸c ngµnh qu¶n lÝ kinh tÕ nh­ trong Ng©n hµng, c¸c C«ng ty kinh doanh, trong BÖnh viÖn. §Ó cã nh÷ng phÇn mÒm thùc sù m¹nh, b¸m s¸t ®­îc hiÖn tr¹ng cña c¸c Doanh nghiÖp, C«ng ty, kh¾c phôc ®­îc nh÷ng tån t¹i yÕu kÐm th× cÇn ph¶i cã nh÷ng kh¶o s¸t kÜ l­ìng vµ thiÕt kÕ chi tiÕt tØ mØ. NhËn thøc ®­îc tÇm quan träng ®ã ,nhµ tr­êng ®· trang bÞ cho sinh viªn nh÷ng kiÕn thøc cÇn thiÕt ®Ó qua ®ã thÕ hÖ trÎ cã mét nÒn t¶ng v÷ng vµng nh»m x©y dùng ngµy cµng giµu m¹nh. §Ó vËn dông nh÷ng kiÕn thøc ®· häc vµo thùc tÕ, vµ lµm quen víi m«i tr­êng lµm viÖc ë c¸c Doanh nghiÖp, nhµ tr­êng ®· t¹o ®iÒu kiÖn cho sinh viªn ®­îc ®i thùc tËp t¹i c¸c c¬ së s¶n xuÊt kinh doanh. Trong thời gian thực tập tại Tổng công ty thương mại Hà Nội , em đã tìm hiểu về cơ sở hạ tầng ,công nghệ được sử dụng vào hoạt động sản xuất kinh doanh. Là một doanh nghiệp lớn, hoạt động thương mại cần có một hệ thống hỗ trợ giao dịch đảm bảo ít tốn kém thời gian, chi phí cũng như đạt hiệu quả cao nhất .Vì vậy ,với những kiến thức đã học và sự đồng ý của Lãnh đạo Tổng công ty, em đã chọn Đề tài chuyên đề thực tập là: ”Xây dựng website bán hàng trùc tuyÕn t¹i Tæng c«ng ty Thương mại Hà Nội” để tiếp cận và góp phần đẩy mạnh sự phæ biÕn của thương mại điện tử tại Việt Nam. CÊu tróc ®Ò tµi bao gåm 3 ch­¬ng : Ch­¬ng I: Giíi thiÖu vÒ Tæng c«ng ty Th­¬ng m¹i Hµ Néi Ch­¬ng II: Ph­¬ng ph¸p luËn phôc vô ®Ò tµi Ch­¬ng III : Ch­¬ng tr×nh øng dông CHƯƠNG 1:GIỚI THIỆU VỀ TỔNG CÔNG TY THƯƠNG MẠI HÀ NỘI 1. Giới thiệu chung Thành lập Tổng công ty Thực hiện chủ trương đường lối của Đảng về đổi mới phát triển kinh tế từ năm 1986 tới nay nền kinh tế Nước ta nói chung, thủ đô Hà Nội nói riêng đã có những bước phát triển nhất định. Hà Nội đã và đang phấn đấu để trở thành trung tâm chính trị, văn hoá, kinh tế thương mại lớn của cả Nước. Nghành Thương mại thủ đô đang được Nhà nước đặc biệt quan tâm, xã hội đòi hỏi phảI có những chuyển biến tích cực theo hướng văn minh hiện đại để đáp ứng nhu cầu tiêu dùng ngày càng tăng của nhân dân Thủ đô và khách du lịch trong và ngoàI nước. Tổng công ty Thương mại Hà Nội ra đời và chính thức hoạt động từ ngày 29/9/2004 theo quyết định phê duyệt đề án thành lập Tổng công ty Thương mại Hà Nội số 129/2004/QĐ-TTg ngày 14/07/2004 của Thủ tướng Chính phủ và quyết định số 125/2004/QĐ-UB ngày 11/08/2004 của UBND TP Hà Nội. Bộ máy tổ chức Tổng công ty đã và đang dần ổn định, các hoạt động sản xuất kinh doanh dần được củng cố và phát triển, đảm bảo hoàn thành và hoàn thành vượt mức kế hoạch được giao, góp phần vào phát triển kinh tế – xã hội của Nhà nước và Thành phố Hà nội. Một số đặc điểm chính về Tổng công ty Tên tiếng việt : Tổng công ty Thương mại Hà Nội Tên giao dịch :Ha noi trade corporation (HTC) Thương hiệu : HAPRO Địa chỉ : 38-40 Lê thái Tổ – Hoàn Kiếm – Hà Nội E-Mail : hap@fpt.vn Website : www.hapro-vn.com Số điện thoại :8267984 Các lĩnh vực hoạt động + Xuất nhập khẩu nông sản, thực phẩm, đồ uống, thủ công mỹ nghệ, may mặc, hàng tiêu dùng, máy móc thiết bị và nguyên liệu. + Dịch vụ, nhà hàng, khách sạn và ăn uống + Kinh doanh bất động sản, dịch vụ văn phòng + Trung tâm thương mại, siêu thị, hệ thống cửa hàng + Bán buôn bán lẻ hàng tiêu dùng, vật tư, vật liệu phục vụ sản xuất đời sống 2. Tổ chức đội ngũ cán bộ Tổng công ty Thương mại Hà Nội là doanh nghiệp Nhà nước, hoạt động theo mô hình công ty mẹ – công ty con trong đó : Công ty mẹ : Khối văn phòng Tổng công ty Công ty con : Các công ty trực thuộc (23 công ty) Công ty mẹ trực tiếp tổ chức thực hiện các nhiệm vụ sản xuất kinh doanh và thực hiện quyền và nghĩa vụ, chủ sở hữu đối với phần vốn đầu tư vào các công ty con, công ty cổ phần, công ty liên doanh, liên kết. - Sơ đồ tổ chức : Đảng bộ tổng công ty Hội đồng quản trị Các PB thuộc tổng công ty Các đơn vị thành viên trực thuộc Tổng công ty Tổng giám đốc Ban kiểm soát VP Tổng công ty Phòng tổ chức cán bộ Phòng kế hoạch tổng hợp Phòng kế toán tài chính Phòng đầu tư Các đơn vị trực thuộc VP Tổng công ty Công ty thực phẩm HN Công ty XNK và ĐT HN Công ty Thương mại HN Công ty Thủy Tạ Công ty Bách hoá HN Một số công ty khác Trong đó : Các đơn vị trực thuộc VP Tổng công ty bao gồm: - Trung tâm nghiên cứu phát triển - Trung tâm xuất khẩu vật tư thiết bị - Trung tâm Du lịch lữ hành HAPRO - Trung tâm xuất khẩu phía bắc - Xí nghiệp liên hiệp chế biến thực phẩm Hà Nội - Xí nghiệp Toàn Thắng - Xí nghiệp kho vận Hưng Yên - Một số xí nghiệp khác Chức năng các phòng ban . Hội đồng quản trị : Nhận, quản lý và sử dụng có hiệu quả vốn, đất đai, tài nguyên và các nguồn lực khác do ủy ban nhân dân Hà Nội đầu tư cho Tổng công ty. . Ban kiểm soát : Giúp hội đồng quản trị kiểm tra, giám sát tính hợp pháp, chính xác và trung thực trong quản lý, điều hành hoạt động kinh doanh, trong ghi chép sổ kế toán, báo cáo tài chính và việc chấp hành điều lệ của công ty mẹ, Nghị quyết, Quyết định của Hội đồng quản trị, quyết định của Chủ tịch Hội đồng quản trị . Ban điều hành : Tổng giám đốc : Phụ trách chung, chịu trách nhiệm trước thành uỷ, UBND thành phố, Hội đồng quản trị về mọi hoạt động của tổng công ty. Đồng thời trực tiếp phụ trách công tác tổ chức cán bộ và định hướng phát triển. Phó tổng giám đốc 1: Phụ trách về xuất nhập khẩu, công tác kế hoạch, xúc tiến thương mại, quảng cáo, phát triển thương hiệu, vận dụng cơ chế chính sách phục vụ sản xuất kinh doanh xuất nhậu khẩu. Phó tổng giám đốc 2: Quy hoạch, phát triển mạng lưới theo định hướng của Tổng công ty và chủ trương của thành phố, đổi mới phát triển doanh nghiệp trong Tổng công ty. Phó tổng giám đốc 3: Du lịch, công tác văn phòng, đoàn thể, thanh tra, kinh doanh bất động sản và công tác thi đua khen thưởng. Phó tông giám đốc 4: Nghiên cứu phát triển nghành hàng dịch vụ mới, cải tiến mẫu mã, phụ trách sản xuất, áp dụng khoa học kỹ thuật vào sản xuất, quản lý và phát triển dự án sản xuất công nghiệp, khu công nghiệp. . Phòng tổ chức cán bộ: Thực hiện chức năng tham mưu, giúp việc cho lãnh đạo Tổng công ty về công tác tổ chức cán bộ, công tác lao động, công tác đào tạo, công tác tiền lương, tiền thưởng; giảI quyết các chế độ chính sách cho người lao động; công tác thi đua khen thưởng, kỷ luật, thanh tra, bảo vệ chính trị nội bộ. . Văn phòng Tổng công ty : Tham mưu cho lãnh đạo Tổng công ty thực hiện quản lý các lĩnh vực công tác hành chính, quản trị, bảo vệ trật tụ an ninh trong Tổng công ty, công tác vệ sinh an toàn lao động, phòng chống bão lụt, PCCC, công tác tiết kiệm chống lãng phí. . Phòng kế toán tài chính: Tham mưu lãnh đạo Tổng công ty thực hiện quản lý các lĩnh vực công tác tài chính, kế toán, tín dụng, kiểm tra, kiểm soát nội bộ , sử dụng và bảo toàn phát triển vốn phục vụ tốt nhu cầu SX-KD có hiệu quả tại văn phòng Tổng công ty. Tổ chức hướng dẫn kiểm tra các đơn vị thành viên thực hiện chính sách chế độ tài chính. Quản lý vốn của nhà nước của công ty mẹ đầu tư vào các công ty con, công ty liên kết. . Phòng kế hoạch tổng hợp : Tham mưu cho lãnh đạo Tổng công ty xây dựng kế hoạch và kế hoạch phát triển nghành Thương mại theo định hướng phát triển kinh tế xã hội của Thành phố cũng như của Chính phủ. Xây dựng kế hoạch dàI hạn, kế hoạch kinh doanh hàng năm, nghành nghề kinh doanh của Công ty mẹ, đơn vị hạch toán phụ thuộc Công ty mẹ và các Công ty con . Xây dựng phuơng án phối hợp kinh doanh của Công ty mẹ va các Công ty con và giữa các Công ty con với nhau. . Phòng đầu tư: Tham mưu, giúp việc cho lãnh đạo Tông công ty trong lĩnh vực đầu tư xây dựng và đầu tư xây dựng. Làm đầu mối thông tin thu thập, hướng dẫn các văn bản pháp quy và Thành phố Hà Nội trong lĩnh đầu tư xây dựng và quản lý đầu tư xây dựng. Ngoài ra còn có một số Trung tâm trực thuộc văn phòng Tổng công ty như Trung tâm nghiên cứu phát triển, trung tâm nhập khẩu vật tư thiết bị, trung tâm kinh doanh hàng tiêu dùng, du lịch lữ hành Hapro ..... 3. Xu hướng phát triển trong tương lai Một số kết quả đạt được trong năm 2004 Năm 2004 mặc dù có nhiều yếu tố trong và ngoài nước bất lợi cho sản xuất kinh doanh nhưng Tổng công ty vẫn có tốc độ tăng trưởng nhất dịnh so với năm 2003. Kết quả sản xuất kinh doanh năm 2004 tăng rõ rệt, cụ thể như sau: . Tổng doanh thu : 3.779 tỷ đồng đạt 110% kế hoạch năm của ngành tăng 23% so với năm 2003. . Kim ngạch XNK : 149,258 triệu USD đạt 76% kế hoạch ngành tăng 55% so với năm 2003. . Nộp ngân sách Nhà nước : 202,1 tỷ đồng tăng 22% so với năm 2003, trong đó nộp ngân sách địa phương: 42,1 tỷ đạt 112% kế hoạch năm. . Lợi nhuận năm 2004 ước đạt 21 tỷ đồng tăng11% so với năm 2003. Mục tiêu phát triển Mục tiêu phát triển đến 2010 : Tổng công ty có 45-50 Doanh nghiệp hoạt động đa ngành với tổng vốn điều lệ > 1000 tỷ đồng . Dự kiến tỷ trọng sản xuất- Thương mại( cả xuất nhập khẩu ) – Dịch vụ đến năm 2010: 20%-65%-15% và đạt tổng doanh thu :30.000 tỷ đồng (gấp 8 lần năm 2004). Tầm nhìn đến 2020 : Tổng công ty trở thành một tập đoàn kinh tế mạnh của Hà Nội và cả nước, có 70-80 thành viên, vốn điều lệ> 5.000 tỷ đồng, hoạt động trong các lĩnh vực sản xuất, XNK, Thương mại, Dịch vụ. Trong Tổng công ty có các ngân hàng cổ phần, các công ty đầu tư tài chính, các công ty giám định , bảo kiểm...và dự kiến tổng doanh thu đạt :200.00 tỷ đồng. CHƯƠNG 2:PHƯƠNG PHÁP LUẬN PHỤC VỤ ĐỀ TÀI 1.Thương mại điện tử Thương mại điện tử (E_commerce) được định nghĩa là các hoạt động sử dụng mạng và công nghệ điện tử để tiến hành kinh doanh và các giao dịch kinh tế khác, bao gồm việc dùng phương tiện truyền thông như môi trường để tạo lập, sản xuất, quảng cáo, đầu tư, dặt hàng, thanh toán đối với hàng hoá, dịch vụ. Thương mại điện tử sẽ là thành phần quan trọng của thương mại nói chung vào thế kỷ 21, việc này tạo điều kiện cho một cuộc cách mạng kinh tế, sự tăng trưởng của thương mại điện tử được hỗ trợ bởi hạ tầng thông tin quốc gia tiên tiến, công nghiệp công nghệ cao lớn mạnh và đặc biết là các chính sách của chính phủ. Sự cạnh tranh thị trường là động lực thúc đẩy sự bùng nổ của thương mại điện tử . 2.Lợi ích của thương mại điện tử Thương mại điện tử đưa lại những lợi ích tiềm tàng, giúp người tham gia thu được thông tin phong phú về thị trường và đối tác, giảm chi phí tiếp thị và giao dịch, rút ngắn chu kỳ sản xuất, tạo dựng và củng cố quan hệ bạn hàng, giúp tạo điều kiện dành thêm phương tiện cho mở rộng quy mô và công nghệ sản xuất; và trên quan điểm chiến lược, giúp cho một nước sớm chuyển sang kinh tế số hoá như một xu hướng tất yếu không thể đảo ngược, và bằng cách đó, nước đang phát triển có thể tạo được một bước tiến nhảy vọt. Lợi ích của thương mại điện tử rất to lớn, bao quát, và tiềm tàng, thể hiện ở một số mặt chính sau đây. - Nắm được thông tin phong phú - Giảm chi phí sản xuất - Giảm chi phí bán hàng và tiếp thị - Giảm chi phí giao dịch - Giúp thiết lập và củng cố quan hệ đối tác Tạo điều kiện sớm tiếp cận "kinh tế số hoá" 3.Vấn đề thanh toán trong Thương mại đIện tử Khi xây dựng một website thương mại điện tử người xây dựng site cần phải đảm bảo việc thuận tiện tối đa cho khách hàng tham gia giao dịch. Một điều cần lưu tâm hàng đầu đó là thanh toán trong thương mại điện tử , có nhiều hình thức thanh toán : Phương thức thanh toán truyền thống : bao gồm các phương thức thanh toán như trao tay, qua bưu điện bằng tiền mặt, ngân phiếu hoặc séc…. Một site bán hàng cần phải chấp nhận các phương thức thanh toán kiểu này. Thanh toán điện tử : Thanh toán điện tử (electronic payment) là việc thanh toán tiền thông qua thông điệp điện tử (electronic message) thay cho việc giao tay tiền mặt; việc trả lương bằng cách chuyển tiền trực tiếp vào tài khoản, trả tiền mua hàng bằng thẻ mua hàng, thẻ tín dụng v.v. đã quen thuộc lâu nay thực chất đều là các dạng thanh toán điện tử. Ngày nay, với sự phát triển của thương mại điện tử, thanh toán điện tử đã mở rộng sang các lĩnh vực mới, trong đó bao gồm một số phương thức sau : Trao đổi dữ liệu điện tử tài chính (Financial Electronic Data Interchange, gọi tắt là FEDI) chuyên phục vụ cho việc thanh toán điện tử giữa các công ty giao dịch với nhau bằng điện tử. Tiền mặt Internet (Internet Cash) là tiền mặt được mua từ một nơi phát hành (ngân hàng hoặc một tổ chức tín dụng), sau đó được chuyển đổi tự do sang các đồng tiền khác thông qua Internet, áp dụng cả trong phạm vi một nước cũng như giữa các quốc gia; tất cả đều được thực hiện bằng kỹ thuật số hoá, vì thế tiền mặt này còn có tên gọi là "tiền mặt số hoá" (digital cash), công nghệ đặc thù chuyên phục vụ mục đích này có tên gọi là "mã hoá khoá công khai/bí mật" (Public/Private Key Cryptography). Tiền mặt Internet được người mua hàng mua bằng đồng nội tệ, rồi dùng Internet để chuyển cho người bán hàng. Thanh toán bằng tiền mặt Internet đang trên đà phát triển nhanh, vì có hàng loạt ưu điểm nổi bật: Có thể dùng cho thanh toán những món hàng giá trị nhỏ, thậm chí trả tiền mua báo (vì phí giao dịch mua hàng và chuyển tiền rất thấp); Không đòi hỏi phải có một quy chế được thoả thuận từ trước, có thể tiến hành giữa hai con người hoặc hai công ty bất kỳ, các thanh toán là vô danh; Tiền mặt nhận được đảm bảo là tiền thật, tránh được nguy cơ tiền giả. Túi tiền điện tử (electronic purse; còn gọi là "ví điện tử") nói đơn giản là nơi để tiền mặt Internet mà chủ yếu là thẻ thông minh (smart card, còn có tên gọi là thẻ giữ tiền: stored value card), tiền được trả cho bất cứ ai đọc được thẻ đó; kỹ thuật của túi tiền điện tử về cơ bản là kỹ thuật "mã hoá khoá công khai/bí mật" tương tự như kỹ thuật áp dụng cho "tiền mặt Internet". Thẻ thông minh (smart card) nhìn bề ngoài tương tự như thẻ tín dụng, nhưng ở mặt sau của thẻ, thay vì cho dải từ, lại là một chip máy tính điện tử có một bộ nhớ nhỏ để lưu trữ tiền số hoá, tiền ấy chỉ được "chi trả" khi người sử dụng và thông điệp (ví dụ xác nhận thanh toán hoá đơn) được xác thực là "đúng". Giao dịch ngân hàng số hoá (digital banking), và giao dịch chứng khoán số hoá (digital securities trading). Hệ thống thanh toán điện tử của ngân hàng là một đại hệ thống, gồm nhiều tiểu hệ thống: Thanh toán giữa ngân hàng với khách hàng qua điện thoại, tại các điểm bán lẻ, các ki-ốt, giao dịch cá nhân tại các nhà, giao dịch tại trụ sở khách hàng, giao dịch qua Internet, chuyển tiền điện tử, thẻ tín dụng, vấn tin...) Thanh toán giữa ngân hàng với các đại lý thanh toán (nhà hàng, siêu thị...) Thanh toán trong nội bộ một hệ thống ngân hàng Thanh toán giữa hệ thống ngân hàng này với hệ thống ngân hàng khác. 4. Vấn đề an ninh khi mua hàng trực tuyến Bảo vệ thông tin cá nhân : Khi tiến hành mua hàng trực tuyến cũng không hề mạo hiểm hơn so với việc đặt hàng qua điện thoại, khách hàng luôn lo ngại về việc sử dụng thẻ tín dụng trên internet, lo ngại về vấn đề bảo mật các thông tin cá nhân trên hệ thống cơ sở dữ liệu của người bán. Vấn đề lo lắng là có lý do xong cần nhìn nhận các nguyên tắc cơ bản của bảo mật thương mại điện tử. Người bán hàng phải có trách nhiệm bảo vệ thông tin cá nhân của khách hàng mua hàng bằng việc mã hoá các dữ liệu dễ bị xâm nhập (để ngăn ngừa các truy nhập bất hợp pháp không thể hiểu được hay không thể sử dụng chúng được khi các dữ liệu đó đã bị đánh cắp). Vấn đề mã hoá dữ liệu : mã hoá có một ý nghĩa to lớn, những người bán hàng trực tuyến cần đảm bảo khách hàng chưa đăng ký dữ liệu về thẻ tín dụng nếu họ chưa thiết lập một kết nối an toàn giữa khách hàng và cửa hàng, giao thức kết nối an toàn thường dùng hiện nay là giao thức kết nối SSL. Những trình duyệt web mới nhất hỗ trợ kết nối SSL 128 bit : các dữ liệu nhạy cảm sẽ được mã hoá thành từng gói một sử dụng một chìa khoá 128 bit được tạo một cách ngẫu nhiên. Sử dụng các công nghệ mã hoá mạnh nhất và những công nghệ có sẵn sẽ giúp cho đảm bảo an toàn về lý thuyết là gần như tuyệt đối đối với các dữ liệu về thẻ tín dụng của khách hàng. Đó là lý do khách mua hàng không nên lo lắng về khả năng bị đánh cắp thông tin cá nhân qua một hệ thống bán hàng được bảo mật. Cookie và thông tin truy nhập cá nhân : một vấn đề cần lo lắng nữa là cookie, đó là tệp lưu thông tin của người sử dụng site bán hàng trực tuyến ghi trên hệ thống của khách hàng và qua đó các thông tin truy nhập cá nhân, và thông tin thẻ tín dụng có thể bị đánh cắp (được lưu trên cookie). Một site bán hàng đảm bảo cần không được để thông tin thẻ tín dụng của khách hàng trong cookie. Có hai cách để mỗi khách hàng có thể tự bảo vệ mình : Tránh mua hàng qua một mạng WLAN (mạng lan không dây) vì các máy trong mạng WLAN đều phát quảng bá các thông tin truy nhập cá nhân mà không hề mã hoá chúng, các thông tin này dễ bị lấy cắp bằng cách dùng các thiết bị bắt sóng. 5.Tổng quan về mạng và các dịch vụ thông dụng trên Internet 5.1. Động lực thúc đẩy sự ra đời mô hình mạng Client/Server : - Ngày nay với xu hướng mạng toàn cầu hoá, thì sự liên lạc thông tin qua lại giữa các máy theo mô hình Client/Server là một trong những ứng dụng quan trong cơ bản về mạng và nó không thể thiếu trong hệ thống liên lạc thông tin hiện nay. Có rất nhiều dịch vụ hỗ trợ trên Internet theo mô hình này như e-mail, web, FPT, nhóm tin Usernet, telnet, truyền tập tin, đăng nhập từ xa, chat,… Các chương trình dịch vụ ở trình khách(Client) sẽ kết nối với trình chủ ở xa(Server) sau đó gởi các yêu cầu đến trình chủ và trình chủ sẽ xử lý yêu cầu này sau đó gởi kết quả về cho trình khách. Thông thường trình chủ phục vụ cho rất nhiều trình khách đến cùng một lúc. - Vào những thập niên 90, khi bắt đầu bùng nổ sự truy cập Web cũng như mạng hoá trong các lĩnh vực của nhiều quốc gia trên thế giới trong đó có Việt Nam chúng ta. Một vấn đề đặt ra cho các nhà lập trình, các nhà quản lý và nhiều hơn nữa là những người sử dụng máy tính điều có thể truy cập thông tin trên Intranet hay Internet nhanh chóng, chính xác mà các thông tin hay dữ liệu này vẫn được an toàn. Lập trình mạng theo mô hình Client/Server sẽ là giải pháp an toàn cho các nhà lập trình. 5.2. Nguyên tắc hoạt động mạng theo mô hình client/Server : - Mạng Client/Server đơn thuần chỉ có một tiêu chuẩn cơ bản là không có một Client nào sử dụng tài nguyên của một Client khác. Tài nguyên dùng chung (tài nguyên chính) được đặt trên một hay nhiều Server chuyên dụng theo từng dịch vụ như E-mail, file server, chat, Web, fpt,…hay nói một cách khác những Client không bao giờ nhìn thấy nhau mà chỉ giao tiếp với Server. Mô hình Client/Server này rất hữu dụng trong các công ty hay những tổ chức cần đến việc quản lý tài nguyên hay người sử dụng một cách hiểu quả. - Thuật ngữ Server dùng để chỉ bất kỳ chương trình nào hỗ trợ dịch vụ có thể truy xuất qua mạng. Một Server nhận yêu cầu qua mạng thực hiện cho một dịch vụ nào đó và trả kết quả về cho nơi yêu cầu. Với những dịch vụ đơn giản nhất, mỗi yêu cầu gửi đến chỉ trong một địa chỉ IP datagram và Server trả về lời đáp trong một datagram khác. Các Server có thể thực hiện những công việc đơn giản nhất đến phức tạp nhất. Ví dụ như time-of-day Server chỉ đơn giản trả về giờ hiện hành bất cứ khi nào Client gởi tới Server này thông tin. Hay một Web Server nhận yêu cầu từ một trình duyệt (Borwser) để lấy một bản sao của trang web, Server sẽ lấy bản sao của tập tin trang web này trả về cho trình duyệt. - Mô hình Client/Server thực hiện việc phân tán xử lý giữa các máy tính. Về bản chất là một công nghệ được chia ra và xử lý bởi nhiều máy tính, các máy tính được xem là Server thường được dùng để lưu trữ tài nguyên để nhiều nơi truy xuất vào. Các Server sẽ thụ động chờ để giải quyết các yêu cầu từ Client truy xuất đến chúng. Thông thường, các Server được cài đặt như một chương trình ứng dụng. Vì vậy ưu điểm của việc cài đặt các Server như những chương trình ứng dụng là chúng có thể xử lý trên hệ máy tính bất kỳ nào hỗ trợ thông tin liên lạc theo giao thức TCP/IP hay một giao thức thông dụng khác. Như thế, Server cho một dịch vụ cụ thể có thể chạy trên một hệ chia thời gian cùng với nhưng chương trình khác, hay nó có thể xử lý trên cả máy tính cá nhân. - Một chương trình ứng dụng trở thành Client khi nó gởi yêu cầu tới Server và đợi lời giải đáp trả về. Cũng vì thế mà mô hình Client/Server là sự mở rộng tự nhiên của tiến trình thông tin liên lạc trong nội bộ máy tính và xa hơn nữa là Intarnet/Internet. Ứng dụng đầu tiên của mô hình Client/Server là ứng dụng chia sẻ file(do các tổ chức có nhu cầu chia sẻ thông tin giữa các bộ phận trong tổ chức được dễ dàng và nhanh chóng hơn). Trong ứng dụng này thông tin được chứa trong các file đặt tại máy Server của một phòng ban nào đó. Khi một phòng ban khác có nhu cầu trao đổ thông tin với phòng ban này thì sẽ sử dụng một máy tính khác(Client) kết nối với Server và tải nhưng file cần thiết về máy Client. Tóm lại : + Nhiệm vụ của máy Client : là thi hành một dịch vụ cho người dùng, bằng cách kết nối với những chương trình ứng dụng ở máy Server, dựa vào những chuỗi nhập để chuyển yêu cầu đến Server và nhân kết quả trả về từ Server hiển thị thông tin nhân được cho người dùng. + Nhiệm vụ của máy Server : luôn lắng nghe những kết nối đến nó trên những cổng liên quan đến giao thức mà Server phục vụ. Khi máy Client khởi tạo kết nối, máy Server chấp nhận và tạo ra luồng riêng biệt phục vụ cho máy Client đó. Ngoài ra máy Server phải quản lý các hoạt động của mạng như phân chia tài nguyên chung(hay còn gọi là tài nguyên mạng) trong việc trao đổi thông tin giữa các Client,… Máy Server có thể đóng vai trò là máy trạm (Client) trong trường hợp này gọi là máy Server “không thuần tuý”. Server phải đảm bảo được hai yêu cầu cơ bản nhất đối với chức năng Server : cho phép truyền dữ liệu nhanh chóng và bảo đảm tính an toàn, bảo mật và không mất mát dữ liệu. + Có thể nói mô hình Client/Server là mô hình ảnh hưởng lớn nhất tới ngành công nghệ thông tin. Mô hình này đã biến những máy tính riêng lẻ có khả năng xử lý thấp thành một mạng máy chủ(Server) và máy trạm(Workstation) có khả năng xử lý gấp hàng ngàn lần những máy tính mạnh nhất. Mô hình này còn giúp cho việc giải quyết những bài toán phức tạp một cách dễ dàng hơn, bằng cách phân chia bài toán lớn thành nhiều bài toán con và giải quyết từng bài toán con một. Nhưng quan trọng hơn hết, không phải là việc giải được các bài toán lớn mà là cách thức giải bài toán. + Ưu điểm: - Các tài nguyên được quản lý tập trung. - Có thể tạo ra các kiểm soát chặt chẽ trong truy cập file dữ liệu. - Giảm nhẹ gánh nặng quản lý trên máy Client. - Bảo mật và back up dữ liệu từ Server. + Nhược điểm: - Khá đắt tiền so với mạng ngang hàng(peer), chủ yếu do giá để lắp đặt một Server khá cao. - Server trở thành điểm tối yếu của hệ thống, nghĩa là khi Server hỏng thì toàn bộ hệ thống sẽ chết, do đó tính năng đề kháng lỗi là một trong những yêu cầu quan trọng trong mô hình này. 5.3.Các khái niệm cơ bạn về mạng : - Ngày nay, chúng ta đã quá quen thuộc về mạng điện thoại trong việc trao đổi thông tin, tương tự mạng trong máy tính cũng sử dụng một số nguyên tắc cơ bản sau. + Bảo đảm thông tin không bị mất hay thất lạc trên đường truyền. + Thông tin được truyền nhanh chóng và kịp thời. + Các máy tính trong cùng một mạng phải nhận biết nhau. +Cách đặt tên trên mạng cũng như cách xác định các đường truyền trên mạng phải tuân theo một chuẩn thống nhất. - Các nguyên tắc trên có vẽ rất cơ bản nhưng nó hết sức quan trọng. Nhưng tại sao cần phải nối mạng? có nhiều lý do nhưng có thể kể các lý do sau: + Tăng hiệu quả làm việc. + Xây dựng mô hình làm việc thống nhất tập trung cho tất cả mọi người sử dụng mạng. + Cho phép đưa tất cả các vấn đề cần giải quyết lên mạng dưới dạng thảo luận theo quan điểm phóng khoáng, thoải mái hơn là phải đối thoại nhau trong một không khí gò bó. + loại bỏ các thông tin thừa, trùng lặp. - Mạng có thể đơn giản chỉ gồm hai máy tính bằng cáp qua cổng máy in để truyền file, phức tạp hơn thì hiện nay có thể chia mạng ra thành các loại sau: + Mạng cục bộ(LAN-Wide Area Network) : là mạng đơn giản nhất trong thế giới mạng, là một hệ thống bao gồm các nút là các máy tính nối kết với nhau bằng dây cáp qua card giao tiếp mạng trong phạm vi nhỏ tại một vị trí nhất định. Tuỳ theo cách giao tiếp giữa các nút mạng, người ta chia làm hai loại : · Mạng ngang hàng (peer to peer [Windows workgroups]) : là một hệ thống mà mọi nút đều có thể sử dụng tài nguyên của các nút khác. Nghĩa là các máy tính trên mạng đều ngang nhau về vai trò, không có máy nào đóng vai trò trung tâm. · Mạng khách chủ (client/server) : có ít nhất một nút trong mạng đảm nhiệm vai trò trạm dịch vụ (server) và các máy khác là trạm làm việc (workstation) sử dụng tài nguyên của các trạm dịch vụ. Server chứa hầu hết tài nguyên quan trọng của mạng và phân phối tài nguyên này tới các Client. Hình 1.2 : Mô hình mạng Client/Server. + Mạng đô thị(Metropolitan Area Networks - viết tắt là Man): Là mạng đặt trong phạm vi một đô thị hoặc một trung tâm kinh tế-xã hội có bán kính khoản 100km trở lại. Là mạng chỉ với một đường truyền thuê bao tốc độ cao qua mạng điện thoại hoặc thông qua các phương tiện khác như radio, microway, hay các thiết bị truyền dữ liệu bàng laser. MAN cho phép người dùng mạng trên nhiều vị trí địa lý khác nhau vẫn có thể truy cập các tài nguyên mạng theo cách thông thường như ngay trên mạng LAN. Tuy nhiên nhìn trên phương diện tổng thể MAN cũng chỉ là mạng cục bộ. + Mạng diện rộng(WAN – Wide Area Networks): phạm vi của mạng vượt qua biên giới quốc gia và thậm chí cả lục địa. WAN có nhiệm vụ kết nối tất cả các mạng LAN và MAN ở xa nhau thành một mạng duy nhất có đường truyền tốc độ cao. Tốc độ truy cập tài nguyên của mạng WAN thường bị hạn chế bởi dung lượng truyền của đường điện thoại thuê bao(phần lớn các tuyến điện thoại số cũng chỉ ở mức 56 kilobits/s) và chi phí thuê bao rất đắt đây là vấn đề để cho một công ty hay tổ chức nào muốn thiết lập mạng MAN cho công ty mình. + Mạng Internet : · Mạng Internet là một tập hợp gồm hàng vạn mạng (LAN, MAN và WAN)trên khắp thế giới kết nối với qua một router(là thiết bị phân tuyến các luồn dữ liệu giữa các mạng) tạo thành một mạng chung trên toàn cầu theo mô hình client/Server, được phát triển vào đầu thập niên 70. Internet là công nghệ thông tin liên lạc mới, và hiện đại, nó tác động sâu sắc vào xã hội cuộc sống chúng ta, là một phương tiện cần thiết như điện thoại hay tivi, nhưng ở mức độ bao quát hơn. Chẳng hạn điện thoại chỉ cho phép trao đổi thông tin qua âm thanh, giọng nói. Với Tivi, thông tin nhận được trực quan hơn. Còn Internet đưa chúng ta vào thế giới có tầm nhìn rộng hơn và bạn có thể làm mọi thứ: viết thư, đọc báo, xem bản tin, giải trí, tra cứu và thậm chí còn thực hiện những phi vụ làm ăn, ….Vì Internet là mạng của các mạng, tức bao gồm nhiều mạng máy tính kết nối lại với nhau, Số lượng máy tính nối mạng và số lượng người truy cập vào mạng Internet trên toàn thế giới đang ngày càng tăng lên nhanh chóng. Đặc biệt từ năm 1993 trở đi, mạng Internet không chỉ cho phép chuyển tải thông tin nhanh chóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầu tiên. Các thông tin được đặt rải rác trên toàn cầu có thể truyền thông được với nhau như một thiết bị Modem và đường dây điện thoại. · Internet bắt đầu từ đầu năm 1969 dưới cái tên là ARPANET(Advanced Research Projects Agency) còn gọi là ARPA. Nó thuộc bộ quốc phòng Mỹ (DoD). Đầu tiên nó chỉ có 4 máy được thiết kế để minh hoạ khả năng xây dựng mạng bằng Cách dùng máy tính nằm rải rác trong một vùng rộng. Vào năm 1972, khi ARPANET được trình bày công khai, đã được 50 trường đại học và các viện nghiên cứu nối kết vào. Mục tiêu của ARPANET là nghiên cứu hệ thống máy tính cho các mục đích quân sự. Chính phủ và quân đội tìm kiếm những phương cách để làm cho mạng tránh được các lỗi, mạng này thiết kế chỉ cho phép các văn thư lưu hành từ máy tính này đến máy tính khác, đối với chính phủ và quân đội, máy tính đã có những công dụng rõ ràng và sâu rộng. Tuy nhiên, một trong những mối bận tâm chính yếu là tính đáng tin cậy vì nó có liên quan đến vấn đề sinh tử. Kế hoạch ARPANET đã đưa ra nhiều đường nối giữa các máy tính. Điều quan trọng nhất là các máy tính bạn có thể gởi các văn thư bởi bất kỳ con đường khả dụng nào, thay vì chỉ qua một con đường cố định. Đây chính là nơi mà vấn đề về giao thức đã xuất hiện. Đầu năm 1980 trung tâm DARPA thử nghiệm giao thức TCP/IP và được các trường đại học mỹ cho phép nối với hệ điều hành UNIX BSD ( Berkely Software Distribution). · Hệ điều hành UNIX là hệ phát triển mạnh với rất nhiều công cụ hỗ trợ và đảm bảo các phần mềm ứng dụng có thể chuyển qua lại trên các họ máy khác nhau (máy mini, máy tính lớn và hiện nay là máy vi tính). Bên cạnh đã hệ điều hành UNIX BSD còn cung cấp nhiều thủ tục Internet cơ bản, đưa ra khái niệm Socket và cho phép chương trình ứng dụng thâm nhập vào Internet một cách dễ dàng. · Internet có thể tạm hiểu là liên mạng gồm các máy tính nối với nhau theo một nghi thức và một số thủ tục chung gọi là TCP/IP (Transmission Control Protocol/Internet Protocol).Thủ tục và nghi thức này trước kia đã được thiết lập và phát triển là cho một đề án nghiên cứu của Bộ Quốc Phòng Mỹ với mục đích liên lạc giữa các máy tính nối đơn lẻ và các mạng máy tính với nhau mà không phụ thuộc vào các hãng cung cấp máy tính. Sự liên lạc này vẫn được bảo đảm liên tục ngay cả trong trường hợp có nút trong mạng không hoạt động. · Ngày nay, Internet là một mạng máy tính có phạm vi toàn cầu bao gồm nhiều mạng nhỏ cũng như các máy tính riêng lẻ được kết nối với nhau để có thể liên lạc và trao đổi thông tin. Trên quan điểm Client / Server thì có thể xem Internet như là mạng của các mạng của các Server, có thể truy xuất bởi hàng triệu Client. Việc chuyển và nhận thông tin trên Internet được thực hiện bằng nghi thức TCP/IP. Nghi thức này gồm hai thành phần là Internet protocol (IP) và transmission control protocol (TCP) (được nguyên cứu ở những phần sau). IP cắt nhỏ và đóng gói thông tin chuyển qua mạng, khi đến máy nhận, thì thông tin đó sẽ được ráp nối lại. TCP bảo đảm cho sự chính xác của thông tin được chuyền đi cũng như của thông tin được ráp nối lại đồng thời TCP cũng sẽ yêu cầu truyền lại tin thất lạc hay hư hỏng. Tuỳ theo thông tin lưu trữ và mục đích phục vụ mà các server trên Internet sẽ được phân chia thành các loại khác nhau như Web Server, email Server hay FTP Server. Mỗi loại server sẽ được tối ưu hoá theo mục đích sử dụng. · Từ quan điểm người sử dụng, Internet trông như là bao gồm một tập hợp các chương trình ứng dụng sử dụng những cơ sở hạ tầng của mạng._. để truyền tải những công việc thông tin liên lạc. Chúng ta dùng thuật ngữ "interoperability" để chỉ khả năng những hệ máy tính nhiều chủng loại hợp tác lại với nhau để giải quyết vấn đề. Hầu hết người sử dụng truy cập Internet thực hiện công việc đơn giản là chạy các chương trình ứng dụng trên một máy tính nào đó gọi là máy client mà không cần hiểu loại máy tính(Server) đang được truy xuất, kỹ thuật TCP/IP, cấu trúc hạ tầng mạng hay Internet ngay cả con đường truyền dữ liệu đi qua để đến được đích của nó.Chỉ có những người lập trình mạng cần xem TCP/IP như là một mạng và cần hiểu một vài chi tiết kỹ thuật. Hình 1.4 : Liên lạc trên Internet Các kiểu kết nối Internet: + Kết nối quay số(dial-up connection): rẻ tiền nhất nhưng tốc độ truy cập bị hạn chế và có thể bị gián đoạn bất ngờ khi quá tải kênh truyền. + Kết nối qua các tuyến điện thoại có tốc độ truyền 56kbs/s tốc độ có khá hơn kiểu quay số nhưng không đáng kể. Tuy nhiên, với tốc độ phát triển cực kỳ nhanh chóng của nhu cầu trao đổi thông tin trên mạng Internet, người ta xây dựng một kết nối có tốc độ cực nhanh đó là các tuyến backone, là các siêu xa lộ sử dụng loại cáp quan để truyền dữ liệu với tốc độ lên tới 622 megabits/s. + Mạng Intranet, Extranet và Internet : Khi bạn xây dựng một mạng LAN, MAN hoặc WAN theo chuẩn Internet thì bạn đã tạo ra một mạng Intranet. Khi bạn kết nối mạng Intranet vào Internet và bắt đầu giao tiếp với thế giới bên ngoài bạn đã tạo ra một Extranet. 5.4.Các ứng dụng Client/Server trên Internet thông dụng : Tuỳ theo thông tin lưu trữ và mục đích phục vụ mà các Server trên mạng Internet sẽ được phân chia thành các loại như Web server, Email server, Chat Server, hay FPT server,….. mỗi loại sẽ được tối ưu hoá theo mục đích sử dụng giao thức và cổng kết nối khác nhau. 1. World Wide Web(www): + Web là một ứng dụng khá hoàn hảo và phổ biến nhất hiện nay, và ngày nay nó cấu thành phần lớn nhất của Internet dựa trên kỹ thuật biểu diễn thông tin gọi là siêu văn bản, trong đó các từ được chọn trong văn bản có thể được mở rộng bất cứ lúc nào để cung cấp đầy đủ hơn thông tin về từ đó. Sự mở rộng ở đây theo nghĩa là chúng có thể liên kết tới các tài liệu khác: văn bản, hình ảnh, âm thanh, hay hỗn hợp các loại….có chứa thông tin bổ sung. Nói cách khác World Wide Web là phần đồ hoạ của Internet. Thuở ban đầu, Internet là hệ thống truyền thông Internet là hệ thống truyền thông dựa trên văn bản; việc liên kết với những site khác có nghia là phải gõ những địa chỉ mã hoá dài dằng dặc với độ chính xác 100%. Công nghệ World Wide Web xuất hiện như là một vị cứu tinh. Khả năng đặt hình ảnh lên Web Site bất ngờ làm cho thông tin trên Web trở nên hấp nên hơn, lôi cuốn hơn. Ngoài ra HTTP (Hypertext Transfer Protocol) cho phép trang Web kết nối với nhau qua các siêu liên kết (hyperlink), nhờ vậy mà người dùng dễ dàng "nhảy" qua các Web site nằm ở hai đầu trái đất, World Wide Web chỉ là một phần cấu thành nên Internet ngoài ra còn có rất nhiều thành phần khác như: E-mail, Gopher, Telnet, Usenet... Các trình duyệt ở các máy Client sẽ thay mặt người sử dụng yêu cầu những tập tin HTML từ Server Web bằng cách thiết lập một kết nối với máy Server web và đưa ra các yêu cầu tập tin đến Server. Server nhận những yêu cầu này, lấy ra những tập tin và gởi chúng đến cửa sổ của trình duyệt ở Client. + Web Server là web cung cấp thông tin ở dạng siêu văn bản, được biểu diễn ở dạng trang. Các trang có chứa các liên kết tham chiếu đến các trang khác hoặc đến các tài nguyên khác trên cùng một Web Server hoặc trên một Web Server khác. Các trang tư liệu siêu văn bản sau khi soạn thảo sẽ được quản lý bởi chương trình Web Server chạy trên máy Server trong hệ thống mạng. Cơ chế hoạt động của Web server + Máy server Web dùng giao thức HTTP để lấy tài nguyên Web xác định thông qua URL. HTTP là một giao thức mức ứng dụng được thiết kế sao cho truy cập tài nguyên Web nhanh chóng và hiệu quả. Giao thức này dựa vào mô hình request-reponse. Dịch vụ Web xây dựng theo mô hình client/server, trong đó Web browser đóng vai trò là client gởi các yêu cầu dưới dạng URL đến server. Web server trả lời bằng cách trả về một trang Hypertext Markup Language (HTML). + Trang HTML có thể là một trang tĩnh, tức là nội dung của nó đã có dạng xác định và được lưu trên Web site, hoặc một trang Web động (nội dung không xác định trước) mà server tạo ra tại thời điểm client yêu cầu để trả lời cho yêu cầu của client, hoặc một trang liệt kê các file và folder trên Web site. Hình 1.3 : Web browser gửi yêu cầu URL đến Web server + Web browser gửi yêu cầu URL đến Web server ¨Mỗi trang trong một intranet hoặc trên Internet có một URL (Uniform Resource Location) duy nhất định vị chúng. Web browser yêu cầu một trang bằng cách gửi một URL đến một Web server. Web server sẽ dùng các thông tin trong URL để định vị và tổ chức một trang HTML để gửi về cho Web browser. ¨ Một chuỗi URL nói chung có dạng sau: :/// Trong đó: ü Tiền tố chỉ ra giao thức được sử dụng cho dịch vụ, ví dụ giao thức Hypertext Transport Protocol (HTTP) được dùng cho dịch vụ Web, giao thức FTP, gopher,..... ü là tên DNS (Domain Name System) của máy Web server. ü là đường dẫn đến thông tin được yêu cầu trên server. Bảng sau ví dụ về các địa chỉ URL khác nhau: Protocol Domain name Path http:// www.hcmuns.edu.vn /vanphong/dtao.htm https:// (secure HTTP) www.company.com /catalog/orders.htm gopher:// gopher.college.edu /research/astronomy/index.htm ftp:// orion.bureau.gov /stars/alpha quadrant/startlist.txt + Web server trả lời yêu cầu của Web browser Hình1.4 : Web server trả lời yêu cầu URL đến Web browser ¨ Web server sẽ trả một trang HTML về cho Web browser, các trang HTML thuộc một trong 3 kiểu sau: ü Trang Web tĩnh (Static webpage) : là những trang HTML được chuẩn bị sẵn. Web server chỉ đơn giản là lấy trang này gởi về cho Web browser mà không gọi thi hành một chương trình hay một script nào khác. người dùng yêu cầu một trang Web tĩnh bằng cách nhập vào một chuỗi URL hoặc click chuột vào một siêu liên kết trỏ tới URL. ü Trang Web động (Dynamic webpage) : là những trang Web được tạo ra tại thời điểm client gửi yêu cầu để đáp ứng yêu cầu của user. Server có thể sẽ gọi chạy một chương trình khác, sử dụng các API của server, các ngôn ngữ kịch bản CGI script, query cơ sở dữ liệu ... tuỳ theo các thông tin mà web browser cung cấp. ü Danh sách liệt kê(Directory listing) : Nếu user gửi yêu cầu mà không mô tả một file cụ thể, thì có thể tạo một trang mặc nhiên cho Web site hay cho một thư mục, hoặc cấu hình server cho phép duyệt thư mục. Nếu sử dụng trang HTML mặc nhiên cho thư mục, thì trang này sẽ được gửi cho Web browser, còn nếu không có thì một directory listing (phiên bản HTML của Windows Explorer hay File Manager chạy trên trình duyệt) được trả về cho user dưới dạng một trang HTML, trong đó mỗi file và thư mục thể hiện như một siêu liên kết. Sau đó user có thể nhảy đến một file bất kỳ bằng cách click vào siêu liên kết tương ứng trong directory-listing. 2. Thư điện tử (E-Mail): - Là dịch vụ rất phổ biến và thông dụng trong mạng Internet/Intranet và hầu như không thể thiếu được trong Internet/Intranet hiện nay. Tuy nhiên không phải là dịch vụ “từ đầu - đến cuối” (end to end). Nghĩa là dịch vụ này không đòi hỏi hai máy tính gởi và nhận thư phải nối trực tiếp với nhau để thực hiện việc chuyển thư. Nó là dịch vụ kiểu lưu và chuyển tiếp (store and forward) thư được chuyển từ máy này sang máy khác cho tới khi máy đích nhận được. Người nhận cũng chỉ thực hiện một số thao tác đơn giản để lấy thư, đọc thư và nếu cần thì cho in ra. Cách liên lạc này thuận tiện hơn nhiều so với gởi thư thông thường qua bức điện hoặc Fax, lại rẻ và nhanh hơn. Cách thực hiện việc chuyển thư không cần phải kết nối trực tiếp với nhau để chuyển thư, thư có thể được chuyển từ máy này đến máy khác cho tới máy đích.. Giao thức truyền thống sử dụng cho hệ thống thư điện tử của Internet là SMTP(Simple Mail Transfer Protocol). Cơ chế hoạt động của thư điện tử(E-mail): - Giao thức liên lạc : mặc dù gởi thư trên Internet sử dụng nhiều giao thức khác nhau, nhưng giao thức SMTP (Single Message Transfer Protocol) được dùng trong việc vận chuyển mail giữa các trạm. Giao thức này đặc tả trong hai chuẩn là trong RFC 822 (định nghĩa cấu trúc của thư ) và RFC 821(đặc tả giao thức trao đổi thư giữa hai mạng) ngoài ra trong rfc2821 sẽ nói rõ các qui luật và cách hoạt động của giao thức. Là giao thức cơ bản để chuyển thư giữa các máy Client, SMTP có một bộ gởi thư, một bộ nhận thư, và một tập hợp lệnh dùng để gởi thư từ người gởi đến người nhận. Giao thức SMTP hoạt động theo mô hình khách/chủ (Client/ Server) với một tập lệnh đơn giản, trình khách (SMTP mail Client) sẽ bắt tay với trình chủ (SMTP mail Server) gởi các yêu cầu tiếp nhận mail. Trình chủ đọc nội dung mail do trình khách gởi đến và lưu vào một thư mục nhất định tương ứng với từng user trên máy chủ. Phần này sẽ được làm rõ hơn trong nhưng chương sau. - Cứ mỗi trạm e-mail thường bao gồm ít nhất là hai dịch vụ: POP3 (Post Office Protocol Version 3) có nhiệm vụ nhận/trả thư từ/tới e-mail client và dịch vụ SMTP (Simple E-mail Transfer Protocol) có nhiệm vụ nhận/phân phối thư từ/đến POP3 đồng thời trao đổi thư với các trạm e-mail trung gian. POP3 được tìm thấy trong rfc1725 hay RFC 1939, là một giao thức đơn giản nhất, cho phép lấy mail về từ trình chủ POP3 Server. Ngoài tra trạm e-mail này có thể bổ sung thêm một số dịch vụ khác như ESMTP, IMAP và dịch vụ MX Record của dịch vụ DNS hay dịch vụ chuyển tiếp mail(Forward or relay). IMAP(INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1) thực chất là giao thức mới bổ Sung và mở rông hơn của giao thức POP3 còn thiếu. IMAP cho phép đọc, xoá, gởi, duy chuyển mail ngay trên máy chủ. Điều này rất thuận tiện cho người nhận mail phải thường xuyên di chuyển mail từ máy này sang máy khác trong quá trình làm việc. Tuy nhiên chi phí để cài đặt một trạm e-mail có giao thức IMAP là rất cao so với giao thức POP3. - Mỗi người dùng (client) đều phải kết nối với một E-mail Server gần nhất (đóng vai trò bưu cục địa phương) phải có một tên (e-mail account) trên một trạm e-mail và sử dụng chương trình e-mail client (ví dụ như Eudora, Netscape...). Sau khi soạn thảo xong thư và đề rõ địa chỉ đích (người nhận) rồi gửi thư tới E-mail-Server của mình. E-mail Server này có nhiệm vụ sẽ tự động kiểm tra và định hướng chuyển thư tới đích hoặc chuyển thư tới một E-mail-Server trung gian khác. Thư chuyển tới E-mail-Server của người nhận và được lưu ở đó. Đến khi người nhận thiết lập tới một cuộc kết nối tới E-mai-Server đó thì thư sẽ chuyển về máy người nhận, nếu không thì thư vẫn tiếp tục giữ lại ở server đảm bảo không bị mất. - Phần khác của ứng dụng thư điện tử là cho phép người sử dụng đính kèm (attachments) theo thư một tập tin bất kỳ (có thể dạng nhị phân chẳng hạn chương trình chạy). E-mail đã và đang hết sức thành công đến nỗi những người sử dụng Internet phục vụ dùng nó đối với hầu hết các trao đổi của họ. Một lý do làm e-mail Internet phổ biến là vì việc thiết kế nó rất cẩn thận: giao thức làm cho việc "phát thư" có độ tin cậy cao. không chỉ hệ thống thư tín trên máy của người gởi  tương tác trực tiếp trên máy của người nhận mà giao thức còn đặc tả một thông điệp không thể bị  xoá bởi người gởi cho đến khi người nhận đã thật sự có một phiên bản của thông điệp trên bộ lưu trữ (đĩa cứng chẳng hạn)của họ. - Như vậy để gởi/nhận thư người sử dụng chỉ cần quan tâm tới cách sử dụng chương trình e-mail client. Hiện nay có nhiều chương trình e-mail client như Microsoft Outlook Express, Eudora Pro, Peagasus mail,.... 3. Dịch vụ Chat: - Chat là tài nguyên được mọi người sử dụng trên Internet ưa chuộng nhất. Đây là tài nguyên rất lý thú, nó cho phép bạn thiết lập các cuộc đối thoại thông qua máy vi tính với người dùng khác trên Internet. Sau khi bạn đã thiết lập được hệ thống này, những gì bạn gõ trên máy tính của bạn gần như tức thời trên máy tính kia và ngược lại. Những cuộc trao đổi thông qua chương trình Chat là sự đối mặt trực tiếp giữa hai người đối thoại với nhau thông qua ngôn ngữ viết nên sẽ chậm hơn so với đối thoại bằng miệng nhưng chỉ có lợi ích nhất là với những người không cùng ngôn ngữ vì gõ-đọc dễ hơn nghe-nói và trong một số trường hợp khác thì gõ(viết) dễ hơn là nói. 4. Dịch vụ FPT (File Transfer Protocol) - Là dịch vụ truyền tập tin(tệp) trên Internet. FPT cho phép dịch chuyển tập tin từ trạm này sang trạm khác, bất kể trạm đó ở đâu và sử dụng hệ điều hành gì, chỉ cần chúng đều được nối với Internet và có cài đặt FPT. FPT là một chương trình phức tạp vì có nhiều cách khác nhau để xử lý tập tin và cấu trúc tập tin, và cũng có nhiều cách lưu trữ tập khác nhau. - Để khởi tạo FPT từ trạm làm việc của mình người sử dụng chỉ gõ : Fpt - Fpt sẽ thiết lập liên kết các trạm xa và bạn sẽ đăng nhập vào hệ thống(login/password). Vì fpt cho phép truyền tập tin theo cả hai chiều. Để chuyển tập tin của mình đến trạm ở xa dùng lệnh put, và ngược lại dùng lệnh get để lấy thông tin về. Ngoài ra trong một số trường hợp nó có thể đổi tên, tạo, xoá thư mục….FPT Client sử dụng dịch vụ để lấy(get) các tập tin từ FPT Server về máy của mình (download) hoặc gởi(put) các tập tin lên FPT server (upload). ftp>put source-file destination-file ftp>get source-file destination-file - FTP theo nghĩa tiếng việt là nghi thức truyền file giữa các máy tính này đến máy tính khác thông qua mạng. Nếu như nghi thức TCP/IP gồm có các lớp Application, lớp TCP, lớp IP, lớp Network, lớp Datalink và lớp Physical thì FTP thuộc lớp ứng dụng (Application). - WWW là một dịch vụ hấp dẫn, nó thay thế hầu hết những chức năng của FTP. Tuy nhiên chỉ có FTP mới cho phép copy file từ máy tính Client đến Server. Nếu một người dùng từ xa muốn làm điều này thì chắc chắn họ phải dùng FTP. Những loại file có thể truyền được bằng FTP rất phong phú, từ các file tư liệu(document) cho đến các file Multimedia như file hình ảnh, âm thanh. Hình 1.5 Mô hình truyền nhận File FPT Người sử dụng chương trình fpt Client kết nối với fpt Server, để kết nối thành công người dùng phải biết địa chỉ IP hoặc tên của máy chủ chạy fpt Server được gọi là trạm ở xa(Romote host) và máy chạy fpt Client được gọi là trạm địa phương(local host), thường thì chúng ta(người sử dụng) chỉ sử dụng chương trình fpt Client. 5. Đăng nhập từ xa Telnet - Telnet là một chương trình dùng giao thức Telnet, nó là một phần của bộ giao thức TCP/IP. Nó cho phép người sử dụng từ một trạm làm việc của mình có thể đăng nhập vào một mạng ở xa qua mạng và làm việc với hệ thống y như một trạm cuối nói trực tiếp với trạm ở xa đó. - Máy tính ở xa, còn được gọi là telnet, sẽ chấp nhận nối kết telnet từ một máy tính trên một hệ thống TCP/IP. bởi vì Internet là một mạng TCP/IP, telnet sẽ làm việc một cách hài hoà giữa các máy tính nối đến nó nếu như dịch vụ telnet được cài đặt trên máy tính của bạn. các thành phần telnet và server thoả thuận trong cách mà chúng sẽ dùng kết nối, vì thế mặc dù các hệ thống không cùng loại chúng vẫn tìm thấy một ngôn ngữ chung. telnet cũng có những giới hạn của nó, nếu lưu thông trên mạng kết nối từ xa có thể khiến cho sự cập nhật từ màn hình trở nên chậm hơn. Telnet thường dùng cho các mục đích công cộng và thương mại, cho phép những người dùng ở xa tìm kiếm các cơ sở dữ liệu lớn, phức tạp, và nó cũng là nguồn tài nguyên có giá trị trong giáo dục giúp cho việc nghiên cứu của bạn trở nên hấp dẫn hơn. - Ðể khởi động Telnet, từ trạm làm việc của mình người sử dụng chỉ việc gõ: Người sử dụng kết nối đến Server Telnet(thường gọi là daemon) sẽ sử dụng cổng 23 cho những kết nối đến Server. Để hiểu rõ việc truyền thông giữa Telnet Client và Telnet Server thì bộ RFC 854 nói lên mối liên lạc này. RFC 854 xác định được 3 thành phần cơ bản trong bộ giao thức Telnet. Ø Khái niệm thiết bị đầu cuối ảo(Network Virtual Terminal). Ø Những qui tắc tuỳ chọn cho việc dàn xếp để chuyển dữ liệu. Ø Sự tương xứng giữa thiết bị đầu cuối và các tiến trình. 6. Archie (tìm kiếm tập tin) Phát triển tại đại học McGill ở Canada, Archie là một loại thư viện khổng lồ sẽ tự động và đều đặn tạo ra một số lớn các thông tin gởi đến máy chủ trên Internet và lập chỉ mục các tập tin của chúng để tạo ra một cơ sở dữ liệu duy nhất có thể tìm kiếm được. CSDL này còn là mục lục của dữ liệu danh mục, một sự biên dịch các tập tin có sẵn trên mọi máy chủ, Archie quét qua các máy chủ Internet một cách thường xuyên, và CSDL này thường xuyên được cập nhật. thực sự thì Archie không phải là một hệ thống độc lập, thay vì vậy nó là một nhóm các máy chủ. mỗi máy chủ archie đáp ứng cho sự tra hỏi các máy chủ Internet của chính nó để tạo nên cơ sở dữ liệu cho chính nó. 7. Gopher(Dịch vụ tra cứu thông tin theo thực đơn) Gopher cho phép ta truy cập vào nhiều nguồn tài nguyên khác nhau, nhiều loại dịch vụ của Internet. Là một hệ thống làm việc theo Client/Server dưới dạng thực đơn(Menu), có thể duy chuyển từ menu này sang menu khác. Nếu thông tin cần tìm không có ở trạm kết nối thì Gopher Server sẽ tự động nối đến trạm khác. Hệ thống Gopher phát triển bởi đại học Minnesota và được miễn phí cho các hoạt động phi lợi nhuận, Gopher có thể được dùng trên một số hệ thống máy tính như: UNIX, DOS, Microsoft Windows, Macintosh, OS/2...Phần mềm Client chạy trên máy tính của bạn có thể chạy trên bất kỳ máy nào của Gopher. Với Gopher bạn có thể đi xuyên qua Internet và đi đến những nơi mà không có người dùng nào đã từng đi đến, cách mà nó thực hiện bởi tổng hợp các công cụ Internet như: Telnet, FPT, để khi bạn tìm ra một đề mục tương quan đến những gì bạn đang tìm kiếm, bạn có thể đi trực tiếp đến nó mà không cần một trình tiện ích, hãy nhập vào địa chỉ của mục tiêu việc tìm kiếm....Gopher sẽ lấy tất cả điều này cho bạn. 8. Tìm kiếm thông tin theo chỉ số (WAIS) Cũng giống như Gopher, WAIS( Wide Area Information Server) cho phép tìm kiếm và truy cập thông tin trên mạng(phần lớn là thông tin văn hoá) mà không cần biết chúng đang thực sự ở đâu. WAIS cũng hoạt động theo mô hình Client/Server, tuy nhiên ngoài WAIS Client và WAIS Server còn thêm WAIS indexer thực hiện việc cập nhật dữ liệu mới, sắp xếp theo chỉ số để tiện trong việc tìm kiếm. WAIS không chỉ cho phép hiển thị tập tin văn bản mà còn những tập tin đồ hoạ. Nó là nguồn quan trọng giúp cho các nguồn thông tin trên Internet có thể truy xuất được. WAIS là một trong những chương trình đầu tiên dựa vào tiêu chuẩn Z39.50( tiêu chuẩn của American National Standard), nó là hệ thống đầu tiên dùng tiêu chuẩn này, nó trở thành một dạng thức tìm kiếm phổ biến, WAIS có thể nối đến bất kỳ CSDL hoặc máy Client có dùng Z39.50. 9. Dịch vụ nhóm tin (Use Net News Groups) Là dịch vụ cho phép nhiều người ở nhiều nơi khác nhau có thể tham gia công tác hay trao đổi về một chủ đề riêng nào đó hoặc những người có cùng mối quan tâm giống nhau có thể tham gia vào một nhóm tin để trao đổi về vấn đề đó. Mỗi chủ đề được thảo luận trong một nhóm riêng biệt. Chủ đề của một nhóm trong một nhóm riêng biệt. Chủ đề của một nhóm tin thì vô cùng phong phú ví dụ như: nhóm tin thuộc nhạc cổ điển, nhóm tin về thể thao, nhóm tin khoa học….. Xoay quanh mọi vấn đề trong cuộc sống, có thể nói không có vấn đề gì không có trong nhóm tin, mỗi nhóm tin có thể có nhiều nội dung thảo luận. Khi bạn gởi một bản tin đến một nhóm tin chủ thì chủ đó sẽ tiếp tục gởi bản tin đến một nhóm chủ cùng cộng tác trên Internet, và thông tin có thể lấy từ các Server (máy chủ) khác nhau. Vì vậy những người khác có thể lấy về và đọc bản tin đó từ News Server mà họ nối tới. Việc gởi bản tin tới nhóm tin cũng tương tự như E-mail chỉ khác ở chỗ là địa chỉ gởi là địa chỉ của nhóm tin và việc lấy các văn bản về đọc cũng tương tự như lấy và đọc E-mail. Và người sử dụng cũng chỉ cần biết đến một server tin duy nhất, đó là server tin mà mình kết nối vào. Mọi sự trao đổi, tương tác giữa các server tin và các nhóm tin là hoàn toàn trong suốt đối với người sử dụng. Với dịch vụ này, người sử dụng có thể nhận được thông tin cần thiết từ nhiều người từ khắp thế giới. 6.Kiến trúc mạng và các Protocol truyền thông mạng 6.1.Kiến trúc mạng Có thể chia cấu trúc mạng làm hai phần như sau: + Phần vật lý: gồm tất cả những gì liên quan đến phần cứng như máy tính, dây cáp mạng, card mạng và các thiết bị khác để truyền dữ liệu trên mạng. + Phần lôgic: là cách tổ chức lôgic của các thiết bị phần cứng nói trên để chúng hiểu và làm việc với nhau. 1. Kiến trúc vật lý: Các máy tính được kết nối với nhau thông qua cáp mạng và card mạng(NIC: Network Interface Card) được lắp đặt cho từng máy. Nhiệm vụ của NIC làm cho máy tính có thể giao tiếp được với các thiết bị khác trên mạng. Hiện nay có 3 kiểu cấu hình mạng thông dụng là mạng vòng(bus topolopy), mạng sao(star topolopy) và mạng vòng(ring topolopy). Cấu hình hus, star thường được dùng trong mạng Ethernet, mạng vòng được dùng trong mạng Token Ring. + Mạng bus : có ưu điểm là cấu hình đơn giản, khi các máy nối vào hệ thống mạng thì cần cài đặt phần mềm cho mỗi máy tính là có thể sử dụng được, các máy này nhận được máy kia dễ dàng. Nhược điểm là có quá nhiều yếu điểm trên đường truyền, chỉ cần mối kết nối giữa hai máy nào đó bị trục trặc là toàn bộ hệ thống mạng điều chết. Hình 2.1 Mạng cấu hình bus Ethernet 10BASE2 + Mạng sao: hệ thống cáp mạng nối lần lượt từ máy này sang máy khác ở dạng hình sao, người ta sử dụng một thiết bị làm trung tâm kết nối chung cho tất cả các máy gọi là hub(Switch,…). Thiết bị này có nhiệm vụ điều phối tất cả giao tiếp giữa các máy trên mạng. Ưu điểm : - Dễ phát hiện những sự cố về đường dây cáp kết nối. - Nếu có sự cố về đường dây không ảnh hưởng đến toàn bộ hệ thống. - Lưu lượng dữ liệu trên đường dây  ít đụng độ nhờ có các thiết bị kết nối chuyên dùng. - Có thể giảm bớt hoặc thêm máy kết nối mạng mà không ảnh hưởng đến hệ thống mạng.  Khuyết điểm : -  Chi phí cho cáp kết nối cao. -  Các đầu nối tập trung tại một vị trí, quản lý phức tạp. Hình 2.2 Mạng sao Ethernet 10BASE_T + Mạng vòng: được dùng với mạng Token Ring hoặc FDDI cách tổ chức hệ thống thiết bị phần cứng giống như mạng sao nhưng không sử dụng hub hay switch mà thay vào đó bằng thiết bị trung tâm gọi là MAU(Multistation Access Unit). Các hoạt động của MAU cũng tương tự như hub hay switch nhưng nó được sử dụng trong mạng Token Ring. Hình 2.3 Mạng Token Ring 2. Kiến trúc logic mạng: Là tập hợp các tài nguyên như đĩa cứng, máy in, các ứng dụng đang chạy trên mạng hay có thể nói kiến trúc lôgic mạng là thuật ngữ chỉ sự tổ chức mạng. hay nói cách khác sự tổ chức các phần cứng mạng được thực hiện bởi phần mềm mạng sẽ tạo ra cấu trúc lôgic mạng. 6.2.Truyền thông mạng và kiến trúc phân tầng của protocol: 1. Truyền thông mạng: Yếu tố quan trọng của mạng máy tính là tập hợp các máy tính được nối với nhau bởi các đường truyền và theo kiến trúc của một mạng máy tính. Vậy các máy tính này được truyền thông với nhau ra sao, tập hợp các qui tắc, quy ước, cách truyền thông trên mạng phải tuân theo như thế nào để cho mạng hoạt động tốt. Cách nối các máy tính được gọi là hình trạng(Topolopy) của mạng. Còn tập hợp tất cả những qui tắc, qui ước truyền thông thì được gọi là giao thức(protocol) của mạng. Topolopy và Protocol là hai khái niệm cơ bản nhất của mạng máy tính. - Topolopy có hai kiểu mạng chủ yếu là: + Kiểu điểm-điểm: các đường truyền nối từng cặp nút với nhau và mỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển dữ liệu đi cho tới đích. + Kiểu truyền bá: Tất cả các nút phân chia chung một đường truyền vật lý. Nghĩa là dữ liệu được gởi đi từ một nút nào đó sẽ có thể được tiếp nhận bởi tất cả các nút còn lại. - Protocol: phục vụ trong việc trao đổi thông tin, dù là cuộc trao đổi đơn giản nhất cũng phải tuân theo một qui tắc nhất định.Tập hợp tất cả những qui tắc, qui ước đó gọi lag giao thức(protocol) của mạng. Hiện nay có rất nhiều protocol mạng khác nhau nhưng thông dụng nhất vẫn là là giao thức TCP/IP. Vấn đề protocol được trình bày chi tiết hơn ở phần tiếp theo. 2. kiến trúc phân tầng và mô hình ISO của protocol: a. kiến trúc phân tầng. - Để có thể chuyển một thông điệp từ máy này sang máy khác(các máy phải dùng trong hệ thống mạng) nó phải trải qua nhiều giai đoạn khác nhau như là: chia nhỏ thông điệp ra thành nhiều gói nhỏ(package), mã hoá các gói này ra thành dạng bit, các bit này được chuyển qua đường truyền vật lý đến máy nhận. Sau đó quá trình nhận sẽ thực hiện ngược lại với bên gởi, nếu quá trình lắp ghép gặp phải lỗi thì phải thông báo để truyền lại,….Các giai đoạn này rất phức tạp đòi hỏi người lập trình phải hiểu rõ tất cả cơ chế hoạt động bên trong của hệ thống. Vì bậy người ta đưa ra ý tưởng phân tầng, mỗi tầng sẽ chịu trách nhiệm cung cấp dịch vụ cho tầng bên trên đồng thời nó cũng sử dụng dịch vụ của tầng bên dưới cung cấp cho nó. Như vậy thì một người làm việc ở tàng nào thì chỉ quan tâm đến tầng có quan hệ trực tiếp với mình. - Để giảm độ phức tạp của việc thiết kết và cài đặt mạng, hầu hết các máy tính hiện có được thiết kế theo quan điểm phân tầng. Mỗi hệ thống thành phần của mạng được xem như là một cấu trúc đa tầng, trong đó mỗi tầng được xây dựng trên tầng trước đó. Số lược mỗi tầng cũng như tên hay các chức năng phụ thuộc vào nhà thiết kế. Chúng ta thấy cách phân tầng trong mạng IBM(SNA), mạng Digital(DECnet), hay bộ quốc phòng mỹ(ARPANET),.. là giống nhau. Mmặc dù tên và chức năng từng tầng là khác nhau giữa các mạng trên nhưng bản chất vẫn dựa theo mô hình phân tầng ISO. b. Mô hình ISO. - Khi thiết kế protocol các nhà thiết kết tự do chọn lựa cho lựa kiến trúc mạng riêng cho mình, từ đó dẫn tình trạng không tương thích mạng(phương pháp truy cập đường truyền khác nhau, sử dụng họ giao thức khác nhau,….). Sự không tương thích đó làm trở ngại sự tương tác giữa người sử dụng với các mạng khác nhau một khi nhu cầu trao đổi thông tin ngày càng lớn thì sự trở ngại này không thể chấp nhận được. Sự thúc đẩy từ nhu cầu người dùng đã thúc đẩy các nhà sản xuất và nghiên cứu thông qua các tổ chức chuẩn hoá quốc gia và quốc tế tích cực tìm kiếm một sự hội tụ cho các sản phẩm mạng trên thị trường.Vì lý do đó, tổ chức chuẩn hoá quốc tế (Internationl Organization for Strandarization – viết tắt là ISO) đã xây dựng một mô hình protocol tham chiếu cho việc kết nối các hệ thống mở phục vụ cho các ứng dụng phân tán. Theo mô hình ISO, thông tin muốn gởi và nhận qua mạng phải đi qua 7 tầng. Mỗi tầng có một chức năng khác nhau và cung cấp các interface để tầng trên có thể sử dụng lớp dưới. Mô hình ISO được coi là mô hình chuẩn vì các mô hình khác cũng dựa theo mô hình này để tạo ra một mô hình phù hợp cho riêng mình, mà ngày nay thông dụng nhất là mô hình TCP/IP. Session Layer Presentation Layer Application Layer Transport Layer Network Layer Datalink Layer Physical Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Datalink Layer Physical Layer Sending Application Receiver Application Hình2.4 Mô hình ISO gồm 7 tầng. Giải thích + Physical: ở tầng này thông tin được truyền dưới dạng bit thông qua kênh truyền và nhận các bít chuyển tầng Datalink. Tầng này không có cấu trúc qua đường truyền vật lý, truy nhập đường truyền vật lý như các phương tiện cơ, điện, hàm, thủ tục. + Datalink: tầng này có nhiệm vụ chia nhỏ dữ liệu từ tầng Network đưa xuống thành các frame, mỗi frame có dung lượng vài trăm byte đến vài ngàn byte. Các frame được truyền đi bằng cách chuyển xuống cho tầng phisical. Nhiệm vụ thứ hai là tổ chức nhận các frame sao cho đúng thứ tự, cung cấp khả năng truyền không lỗi trên đường truyền vật lý cho các lớp cao hơn. + Network: định hướng gói dữ liệu(package) đi từ máy gởi đến máy nhận. Phải giải quyết vấn đề định tuyến(routing), vấn đề địa chỉ(addressing), lượng giá chi phí(accouting), và giải quyết đụng độ(collision). + Transport:Chia nhỏ gói dữ liệu được đưa xuống từ tầng trên thành những đơn vị nhỏ hơn truyền qua mạng, với sự đảm bảo là dữ liệu đến nơi một cách chính xác. + Session: điều kiển quá trình giao tiếp giữa hai tuyến trình trên máy. Cung cấp phương tiện quản lý truyền thông giữa các ứng dụng, thiết lập duy trì đồng bộ hoá và huỷ bỏ các phiên truyền thông giữa các ứng dụng. + Presentation: biểu diễn những thông tin được truyền(được hiểu là cú pháp và ngữ nghĩa) nó đồng nhất các thông tin giữa các hệ thống khác nhau. + Application: Cung cấp các phương tiện để người sử dụng có thể truy nhập được vào môi trường ISO, đồng thời cung cấp các dịch vụ thông tin phân tán hay dịch vụ cho người sử dụng. Ứng với mỗi dịch vụ có một protocol khác nhau. - Điều hấp dẫn của mô hình ISO chính là ở chỗ hứa hẹn giải pháp cho vấn đề truyền thông giữa các mạng không giống nhau. Hai hệ thống mạng dù khác nhau đi nữa điều có thể truyền thông với nhau một cách hiệu quả nếu chúng đảm bảo những điều kiện sau. + Chúng cài đặt cùng một tập các chức năng truyền thông. + Các chức năng đó được tổ chức cùng một tập các tầng. Các tầng đồng mức phải cung cấp các chức năng như nhau(phương thức cung cấp không nhất thiết phải giống nhau). + Các tầng đồng mức phải sử dụng chung một protocol. c. Mô hình TCP/IP - Chúng ta đã thấy được nguyên lý của mô hình ISO 7 lớp nhưng mô hình này chỉ là mô hình tham khảo, việc áp dụng mô hình ISO vào thực tế là khó có thể thực hiện được(hiệu suất kém vì dữ liệu khi truyền từ máy này sang máy khác trong mạng thì phải trải qua tất cả các lớp của mô hình ISO ở hai máy). Nó chỉ là tiêu chuẩn cho các nhà phát triển dựa theo đó mà phát triển thành các mô hình khác tối ưu hơn. Hiện nay có rất nhiều mô hình khác nhau trên mạng như SNA của IBM, DNA của DEC, TCP/IP của microsoft,…Tuy nhiên mô hình TCP/IP là được sử dụng phổ biến nhất hiện nay. ISO TCP/IP Application Application Presentation Sesstion Transport Transport Network Internet Datalink Host-to-network Physical - Mô hình TCP/IP gồm 4 tầng, trong đó 2 tầng dưới của mô hình ISO được gộp lại thành 1 tầng gọi là Host-to-network, 2 tầng Sesstion và presentation không có trong mô hình TCP/IP. - Tương tự như mô hình ISO, mô hình TCP/IP dữ liệu từ 1 máy cũn._.ord, họ, tên, email, địa chỉ… Thêm một khách hàng. Xoá một khách hàng Một người quản lý có thể xoá bỏ một khách hàng nếu khách hàng đó không đủ những thông tin cần thiết, hoặc khách hàng đó không tuân thủ những qui định của công ty. Liệt kê danh sách khách hàng Thay đổi thông tin khách hàng Thêm khách hàng vào hệ thống Xóa khách hàng khỏi hệ thống Tóm lại: các hoạt động mà người quản lý có thể tương tác với server để quản lý khách hàng được mô tả bằng sơ đồ sau: Như vậy cần thiết kế các khối xử lý sau để đáp ứng các hành động của khách hàng. XỬ LÝ: Liệt kê danh sách khách hàng(XLKH01) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu liệt kê danh sách khách hàng . Lấy danh sách khách hàng từ cơ sở dữ liệu . Đưa ra danh sách khách hàng . XỬ LÝ: Thay đổi thông tin của khách hàng(XLKH02) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu thay đổi thông tin. Lấy các thông tin cần thay đổi. Cập nhật thông tin thay đổi vào cơ sở dữ liệu. Thông báo quá trình thay đổi thành công. XỬ LÝ: Thêm khách hàng(XLKH03) Xử lý này được mô tả như sau: Tiếp nhận đăng ký của khách hàng. Yêu cầu các thông tin về khách hàng cần thêm. Kiểm tra các thông tin cần thêm vào xem có phù hợp không. Nếu hợp lệ thì tiếp tục, ngược lại báo không hợp lệ và quay lại bước hai của khối xử lý này. Ghi nhận thông tin của khách hàng vừa thêm vào cơ sở dữ liệu. Thông báo quá trình đăng ký thành công. XỬ LÝ: Xoá khách hàng(XLKH04) Xử lý này được mô tả như sau : Tiếp nhận yêu cầu xoá khách hàng. Lấy danh sách khách hàng cần xoá. Xoá khách hàng khỏi cơ sở dữ liệu. b. Quản lý sản phẩm: Thay đổi thông tin sản phẩm . Thêm sản phẩm. Xoá một sản phẩm: khi một sản phẩm nào đó mà người quản lý thấy cần phải xoá đi. Tóm lại: Các hoạt động mà người quản lý tương tác với Server để quản lý sản phẩm được mô tả bằng sơ đồ sau: Liệt kê các sản phẩm Thay đổi thông tin sản phẩm Thêm một sản phẩm Xoá một sản phẩm Như vậy các khối xử lý cần thiết để đáp ứng các hành động của người quản lý trong lĩnh vực sản phẩm như sau: XỬ LÝ: Liệt kê danh sách các sản phẩm (XLSP01) Tiếp nhận yêu cầu liệt kê danh sách sản phẩm . Lấy danh sách các sản phẩm từ cơ sở dữ liệu Đưa ra danh sách các sản phẩm . XỬ LÝ: Thay đổi thông tin sản phẩm(XLSP02) Tiếp nhận yêu cầu thay đổi thông tin sản phẩm muốn thay đổi. Lấy các thông tin muốn thay đổi về sản phẩm . Thay đổi các thông tin này trên tất cả các bảng có liên quan đến mã sản phẩm cần thay đổi. Cập nhật lại cơ sở dữ liệu. XỬ LÝ: Thêm sản phẩm(XLSP03) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu thêm sản phẩm Lấy mã số sản phẩm (item_id) lớn nhất +1 trong bảng items để tạo khoá cho sản phẩm mới sắp tạo. Kiểm tra các yêu cầu cần thêm vào xem có phù hợp không, nếu hợp lệ thì tiếp tục bước 4 của khối xử lý này, ngược lại thì quay lại bước 2 của khối xử lý này. Ghi nhận thông tin của sản phẩm vừa thêm vào cơ sở dữ liệu. XỬ LÝ: Xoá sản phẩm(XLSP04) Tiếp nhận yêu cầu xoá sản phẩm bằng cách lấy khoá của sản phẩm muốn xoá. Xoá tất cả các bảng có liên quan đến mã sản phẩm này trong cơ sở dữ liệu. c. Quản lý đơn hàng: Xem thông tin đơn hàng . Xoá một đơn hàng XỬ LÝ: Liệt kê danh sách các đơn hàng(XLĐH01) Tiếp nhận yêu cầu liệt kê danh sách đơn hàng. Lấy danh sách các đơn hàng từ cơ sở dữ liệu. Đưa ra danh sách các đơn hàng. XỬ LÝ: Xoá đơn hàng(XLĐH02) Tiếp nhận yêu cầu xoá đơn hàng bằng cách lấy khoá của đơn hàng muốn xoá. Xoá tất cả các bảng có liên quan đến mã đơn hàng này trong cơ sở dữ liệu. Thông báo quá trình xoá thành công. Tổng kết các xử lý Như vậy, các xử lý phục vụ cho công ty đã được xây dựng. Chúng được tóm tắt lại bằng bảng mô tả và sơ đồ sau: XLĐN01 XLKH02 XLKH03 XLKH04 XLKH01 XLSP01 XLSP02 XLSP03 XLSP04 XLKT05 XLĐH01 XLĐH02 Bảng dưới đây chú sẽ chú thích các khối xử lý STT KHỐI XỬ LÝ MÔ TẢ 1 XLĐN01 Đăng nhập vào hệ thống 2 XLKT05 Kết thúc phiên làm việc 3 XLKH01 Liệt kê danh sách khách hàng 4 XLKH02 Thay đổi thông tin khách hàng 5 XLKH03 Thêm khách hàng mới 6 XLKH04 Xoá khách hàng 7 XLĐH01 Liệt kê danh sách đơn hàng 8 XLĐH02 Xoá đơn hàng 9 XLSP01 Liệt kê danh sách sản phẩm 10 XLSP02 Thay đổi thông tin sản phẩm 11 XLSP03 Thêm sản phẩm 12 XLSP04 Xoá sản phẩm 3.1.2. Thiết kế xử lý khách hàng. Các xử lý được thiết kế trong phần này sẽ đáp ứng các hành động phục vụ khách hàng trong quá trình tìm kiếm và mua mặt hàng mình cần. Danh sách các xử lý được mô tả bằng bảng sau: STT XỬ LÝ HOẠT ĐỘNG 1 Tìm hàng Tìm kiếm hàng hóa 2 Chọn hàng Lựa chọn mặt hàng trong hệ thống 3 Liêt kê hàng chọn Liệt kê danh sách hàng đã chọn 4 Xóa hàng Xóa mặt hàng đã chọn 5 Cập nhật hàng Thay đổi số lượng mua của mặt hàng đã chọn 6 Mua hàng Đặt mua các mặt hàng đã chọn 7 Đăng ký mới Khách hàng phải đăng ký làm thành viên a. Tìm hàng. Hành động tìm hàng được thực hiện khi khách hàng cần tìm một mặt hàng nào đó từ hệ thống. Để thực hiện hành động tìm hàng, khách hàng sẽ đưa ra các từ khóa cho các mặt hàng cần tìm. Server lấy thông tin về các từ khóa này, tìm kiếm các mặt hàng thỏa điều kiện trong cơ sở dữ liệu và hiển thị danh sách các mặt hàng tìm được. XỬ LÝ: Tìm hàng (XLKH01) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu tìm mặt hàng Lấy các từ khóa tìm hàng từ yêu cầu. Tìm kiếm các mặt hàng thỏa yêu cầu tìm kiếm trong cơ sở dữ liệu Hiển thị danh sách các mặt hàng tìm được. b. Chọn hàng. Trong quá trình tìm kiếm các mặt hàng ở hệ thống, khách hàng sử dụng hoạt động này để chọn mặt hàng khách hàng cần. Hoạt động này sẽ đặt mặt hàng được chọn vào danh sách các mặt hàng được chọn. XỬ LÝ: Chọn hàng (XLKH02) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu chọn hàng. Lấy mặt hàng được chọn từ yêu cầu. Thực hiện việc đặt mặt hàng được chọn vào danh sách hàng chọn. Thông báo việc thực hiện chọn hàng thành công. c. Liệt kê hàng chọn. Hành động này sẽ liệt kê tất cả các mặt hàng mà khách hàng chọn trong quá trình tìm hàng. Hành động này là cơ sở để thực hiện hai hành động: cập nhật hàng chọn và xóa hàng chọn. XỬ LÝ: Liệt kê hàng chọn (XLKH03) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu liệt kê hàng chọn. Lấy số hiệu session của khách hàng từ yêu cầu. Lấy các mặt hàng mà khách hàng đã chọn từ số hiệu session này. Liệt kê danh sách các mặt hàng được chọn. d. Xóa hàng chọn. Hoạt động xóa hàng chọn được thực hiện khi khách hàng có nhu cầu xóa một mặt hàng mà họ đã chọn trong quá trình tìm kiếm hàng hóa. Để thực hiện hành động này, khách hàng sẽ cung cấp cho server danh sách các mặt hàng cần xóa. XỬ LÝ: Xóa hàng chọn (XLKH04) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu xóa hàng chọn. Lấy danh sách các mặt hàng cần xóa từ yêu cầu. Xóa các mặt hàng thỏa mãn yêu cầu từ danh sách hàng chọn. Thông báo việc xóa hàng chọn thành công. e. Cập nhật hàng chọn. Hoạt động cập nhật hàng chọn được khách hàng sử dụng để cập nhật số lượng hàng mà khách hàng đã sử dụng. Khi thực hiện hành động này, khách hàng sẽ cung cấp tên mặt hàng cũng như số lượng hàng cần cập nhật. Server sẽ tiếp nhận yêu cầu này, thay đổi các thông tin cần thiết và thông báo quá trình cập nhật hàng thành công. XỬ LÝ: Cập nhật mặt hàng (XLKH05) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu cập nhật mặt hàng. Tiếp nhận mã mặt hàng và số lượng hàng cần cập nhật. Cập nhật số lượng hàng cần thiết. Thông báo quá trình cập nhật mặt hàng thành công. f. Đăng ký mua hàng. Hoạt động đăng ký mua hàng được khách hàng sử dụng để đăng ký mua các mặt hàng đã chọn. Khi thực hiện hành động này, khách hàng sẽ cung cấp họ tên, địa chỉ giao hàng. Server tiếp nhận các thông tin này và cập nhật đơn đặt hàng của khách hàng vào cơ sở dữ liệu. XỬ LÝ: Đăng ký mua hàng (XLKH06) Xử lý này được mô tả như sau: Tiếp nhận yêu cầu đăng ký mua hàng. Lấy thông tin của khách hàng từ yêu cầu. Từ thông tin này và hóa đơn đặt hàng, cập nhật các thông tin cần thiết vào cơ sở dữ liệu. Thông báo quá trình đặt hàng thành công. g. Đăng kí mới (Tạo mới khách hàng ). Khách hàng muốn tham gia mua hàng phải đăng kí, bao gồm các thông tin do công ty bắt buộc thông qua chương trình, để tiện cho việc quản lý. Các bước đăng kí bao gồm: XỬ LÝ: Đăng kí mới khách hàng(XLKH07) Tiếp nhận yêu cầu đăng kí username Tiếp nhận các thông tin đăng kí của username Kiểm tra các thông tin này xem có phù hợp không như username, password, email… nếu không phù hợp thì quay lại bước hai của khối xử lý này, ngược lại thì tiếp tục. Lấy max(member_id)+1 theo member_id trong bảng members để tạo khoá cho khách hàng . Ghi nhận các thông tin vào cơ sở dữ liệu. Thông báo quá trình đăng kí thành công. Tổng kết xử lý XLKH06 XLKH04 XLKH05 XLKH03 XLKH08 XLKH01 XLKH02 XLKH07 Các xử lý đáp ứng các hoạt động của khách hàng được tổng kết bằng sơ đồ và bảng sau: Bảng dưới đây sẽ chú thích các khối xử lý STT KHỐI XỬ LÝ MÔ TẢ 1 XLKH01 Tìm kiếm hàng hóa 2 XLKH02 Lựa chọn mặt hàng trong hệ thống 3 XLKH03 Liệt kê danh sách hàng đã chọn 4 XLKH04 Xóa mặt hàng đã chọn 5 XLKH05 Thay đổi số lượng đặt mua của mặt hàng đã chọn 6 XLKH06 Đặt mua các mặt hàng đã chọn 7 XLKH07 Đăng ký thành viên mới 8 XLKH08 Kết thúc mua sắm 3.2. Mô hình cơ sở dữ liệu. IV. MỘT SỐ GIAO DIỆN CHÍNH CỦA CHƯƠNG TRÌNH Màn hình trang chủ ứng dụng Trang đăng ký khách hàng Trang danh mục hàng hóa Trang hóa đơn mặt hàng đã chọn Trang phương thức giao hàng Trang phương thức thanh toán Trang thông tin khách hàng đã giao dịch Trang thông tin đề xuất khách hàng Trang tìm kiếm Trang cập nhật thông tin khách hàng V. Mà NGUỒN CHƯƠNG TRÌNH <% ' Change these dim sqltemp dim ScancelAction Dim AllowOtherPayment Dim AllowCreditCards, AllowInvalidCreditCards Dim encryptkey dim strocardissue dim oid dim dbc dim rstemp Dim strOcardtype Dim strOcardno Dim strOcardname Dim strOcardexpires Dim strOcardaddress Dim strOOther Dim StroMore Dim StrOAuthorization dim strOCardCVN dim sAction Dim CardTypes(10) Dim CardCount Dim OtherTypes(10) Dim OtherCount Dim PaymentURL dim strvalidfrom dim strocardmm,strocardyy Dim gateways ' '******************************************************* ' Specify credit cards, non credit cards and whether credit cards should be checked '******************************************************** AllowCreditCards=Getconfig("xallowcreditcards") ' Select credit Cards AllowOtherPayment=Getconfig("xallowotherpayments") ' Other payment types AllowInvalidCreditCards=Getconfig("xallowinvalidcards") ' validate credit card information gateways=getconfig("xgateways") paymenturl=getconfig("xpaymenturl") EncryptKey=getconfig("xEncryptKey") ' Get encrypt key Setsess "currenturl","shopcheckout.asp" setsess "followonurl","shopthanks.asp" SetSess "PaymentURL",paymentURL ' cardcount=0 If getconfig("Xcreditcardtypes")"" then parserecord getconfig("xcreditcardtypes"),cardtypes,cardcount,"," end if othercount=0 If getconfig("XOtherpaymenttypes")"" then parserecord getconfig("xotherpaymenttypes"),othertypes,othercount,"," end if GetOrderInfo ' get orderid sError=GetSess("PaymentError") ' on return for authorization there may be an error SetSess "PaymentError","" ' reset If getconfig("xDisplayPrices")"Yes" then responseredirect GetSess("followonurl") ' go to shopthanks end if sAction=Request.form("Action") if sAction="" then sAction=Request.form("Action.x") end if sCancelAction=Request.form("Cancel") if sCancelAction="" then sCancelAction=Request.form("Cancel.x") end if '***************************************************** ' see they pushed button or want form displayed '*************************************************** If sAction = "" and sCancelaction="" Then ShopPageHeader ' put out normal header SetDefaultvalues DisplayForm() ' credit card form ShopPagetrailer ' trailer Else GetFormFields ValidateData if sError = "" Then UpdateCreditInfo ' add payment to daat base if paymentURL"" then ' if there is an authorization responseredirect PaymentURL & "?oid=" & oid else responseredirect GetSess("followonurl") ' go to shopthanks end if end if ShopPageHeader DisplayForm ShopPageTrailer end if '**************************************************** ' Put our credit card and non credit card form '************************************************* Sub DisplayForm If SError"" then shopwriteError sError end if Displaygateways Displaycreditcard DisplayOtherPayment Displaycancelbutton End sub Sub Displaygateways Performgateway If gateways="" Then exit sub exit sub dim i, files(10), filecount parserecord gateways,files, filecount,"," for i = 0 to filecount-1 Executefile files(i) next end sub ' Sub Executefile (filename) 'on error resume next server.execute(filename) if err.number>0 then shopwriteerror err.description shopwriteerror getlang("langmenufilename") & " " & filename end if end sub ' Sub DisplayCreditcard If AllowCreditCards"Yes" then exit sub shopwriteheader getlang("langCheckoutCreditCard") AddCreditImages Response.Write("") Response.Write(tabledef) dim mm, yy Response.Write(tableRow & tablecolumn & getlang("langCheckoutCardType") & tablecolumnend &"") GenerateSelectNV CardTypes,stroCardtype,"StroCardtype", CardCount,getlang("langCommonSelect") response.write "" Response.Write(tableRow & tableColumn & getlang("langCheckoutCardNumber") & tablecolumnend & "") Response.Write(tablerow & tablecolumn & getlang("langCheckoutCardName") & tablecolumnend & "") Response.Write(tablerow & tablecolumn & getlang("langCheckoutExpiry") & tablecolumnend & "") mm=generatemm ("strocardmm", strocardmm) yy=generateyy ("strocardyy", strocardyy) Response.write (mm & "/" & yy & "") Response.Write(tablerow & tablecolumn & getlang("langCheckoutAddress") & tablecolumnend & "") if getconfig("xCVNDisplay")="Yes" then Response.Write(tablerow & tablecolumn & getlang("langCheckoutCVN") & tablecolumnend & "") end if If Getconfig("xcardissuenumber")="Yes" then Response.Write(tablerow & tablecolumn & getlang("langvalidfromdate") & tablecolumnend & "") Response.Write(tablerow & tablecolumn & getlang("langcardIssue") & tablecolumnend & "") end if Response.Write(tabledefend) Response.write "  " AddWebSessform shopbutton Getconfig("xbuttoncontinue"),getlang("langCommonContinue"),"Action" Response.write "" end Sub ' '*************************************************** ' Non credit card form '*************************************************** Sub DisplayOtherPayment If AllowOtherPayment"Yes" Then exit sub shopwriteheader getlang("langCheckoutOtherPaymentType") Response.Write("") Response.Write(tabledef) Response.Write(tablerow & tablecolumn & getlang("langCheckoutPaymentType") & tablecolumnend & "") GenerateSelectNV OtherTypes,stroOther,"StroOther", OtherCount,getlang("langCommonSelect") response.write "" Response.Write(tablerow & tablecolumn & getlang("langCheckoutAdditional") & tablecolumnend & "") Response.Write(tabledefend) AddWebSessform Response.write "  " shopbutton Getconfig("xbuttoncontinue"),getlang("langCommonContinue"),"Action" Response.write "" end Sub ' '*************************************************** ' Non credit card form '*************************************************** Sub DisplayCancelButton Response.Write("") AddWebSessform shopbutton Getconfig("xbuttoncancel"),getlang("langCommonCancelorder"),"cancel" Response.write "" end Sub Sub GetorderInfo ' Either comes on querystring or on rentry is in session variables oid=GetSess("oid") If oid="" then Checkvalidorder oid If oid="" then shoperror getlang("langSessionlost") end if end if end sub ' '********************************************************** ' did they select credit card or non credit card '********************************************************* Sub ValidateData ' see if user cancelled order dim rc, action dim cancelaction if sCancelaction "" then DeleteOrders ' delete order from database shoperror getlang("langCheckoutCancelled") end if If stroCardtype=getlang("langCommonSelect") then stroCardtype="" end if if stroOther=getlang("langCommonSelect") then stroOther="" end if If stroOther="" and stroCardType="" then sError=getlang("langCheckoutError01") & "" exit sub end if If AllowCreditCards="Yes" and stroCardtype"" Then ValidateCreditCards exit sub end if If AllowOtherPayment="Yes" and stroOther"" Then ValidateOtherPayment exit sub end if end sub ' Sub ValidateOtherPayment ' No validate needed we just accept it end sub ' Sub ValidateCreditCards If strOcardtype = "" then sError = sError & getlang("langCheckoutCardType") & "" End if If strOcardno = "" Then sError = sError & getlang("langCheckoutCardNumber") & "" end if If strOcardname = "" Then sError = sError & getlang("langCheckoutCardName") & "" End If If strOcardaddress = "" Then sError = sError & getlang("langcheckoutaddress") & "" End If If getconfig("xCVNRequired")="Yes" and strOCardCVN = "" Then sError = sError & getlang("langcheckoutCVN") & "" end if If Serror"" then Serror = getlang("langCommonrequired") & "" & Serror exit sub end if VerifyCreditCard ValidateExpiry ValidateCVN ValidateSwitch End Sub ' Sub VerifyCreditCard If AllowInvalidCreditCards="Yes" then exit sub end if ShopValidatecreditcard strocardno, strocardtype, serror end sub '*************************************************************************** ' add credit card info to order '************************************************************************** Sub UpdateCreditInfo if getconfig("xMYSQL")="Yes" then MYSQLUpdateCreditInfo exit sub end if dim CVN, newcardno, oauthorization Dim dbc dim ucardno OpenOrderDB dbc ucardno=strocardno Encryptkey=Getencryptkey If getconfig("xEncryptCreditcard")="Yes" and encryptkey"" then newcardno=EnDecrypt(strocardno, encryptkey) ucardno=Converttoplain(newcardno) end if sqltemp="select * from orders where orderid=" & getsess("oid") Set rstemp = Server.CreateObject("ADODB.Recordset") rstemp.open sqltemp, dbc, 1, 3 if strOCardType "" then ' Credit card updatefield "ocardtype",strocardtype updatefield "ocardno",ucardno updatefield "ocardname", strocardname updatefield "ocardexpires",strocardexpires updatefield "ocardaddress", strocardaddress if strOCardCVN"" then CVN="CVN " & stroCardCVN Setsess "CVN",strocardcvn oauthorization=cvn end if if strocardissue"" Then If oauthorization="" Then oauthorization=getlang("langcardissue") &"=" & strocardissue else oauthorization=oauthorization & " " & getlang("langcardissue") &"=" & strocardissue end if end if if strvalidfrom"" then oauthorization=oauthorization & " " & getlang("langvalidfromdate") &"=" & strvalidfrom end if updatefield "oauthorization", oauthorization else ' Other payment paymenturl="" updatefield "ocardtype",stroother updatefield "ocardname", stromore end if rstemp.update rstemp.close set rstemp=nothing ShopcloseDatabase dbc End Sub Sub UpdateField (fieldname, fieldvalue) if fieldvalue="" then exit sub end if if ucase(fieldvalue)="NULL" then rstemp(Fieldname)=NULL else rstemp(Fieldname)=fieldvalue end if end sub Sub DeleteOrders OpenOrderDB dbc CancelOrderRecord dbc,oid shopCloseDatabase dbc ShopCancelOrder end sub ' Sub GetFormFields strOcardtype = Request.Form("strOcardtype") strOcardno = Request.Form("strOcardno") strOcardname = Request.Form("strOcardname") strOcardmm = Request.Form("strOcardmm") strOcardyy = Request.Form("strOcardyy") strocardexpires=strocardmm & "/" & strocardyy strOcardaddress = Request.Form("strOcardaddress") StroOther=Request.Form("stroOther") StroMore=Request.form("StroMore") stroCardcvn=request.form("strOCardCVN") stroCardIssue=request.form("strOCardIssue") strvalidfrom=request.form("strvalidfrom") End Sub Sub SetDefaultvalues '*************************************************************************** ' Set default values from session variables '************************************************************************** If strocardname"" then exit sub strocardname=getsess("firstname") & " " & getsess("lastname") strocardaddress=getsess("address") end sub ' Sub addCreditImages dim images, i,words(10), wordcount images=getconfig("xcreditcardimages") if images="" then exit sub parserecord images, words, wordcount,"," Response.write "" for i = 0 to wordcount-1 If i >0 then response.write "  " end if Response.write "" next Response.write "" end sub %> <% Dim dbc, oid Dim ssl dim slash, action, tmpstr, rc ssl=getconfig("xssl") if ssl"" then slash=right(ssl,1) if slash="/" or slash="\" then else ssl=ssl & "/" end if end if if GetSess("CartCount")=0 or GetSess("CartCount")="" then responseredirect "shoperror.asp?msg=" & Server.URLEncode (getlang("langError01")) end if if GetSess("AffID")="" and getconfig("xaffiliateUseCookies")="Yes" then tmpStr=Request.Cookies("affid") If tmpStr"" then SetSess "AffID", tmpStr ShopOpenOtherDB dbc, getconfig("xAffiliateDB") UpdateAffiliatelog tmpstr,"","1",dbc shopclosedatabase dbc end if end if action = request("Cancel") if action="" then action=request("cancel.x") end if If action"" then ShopCancelOrder responseredirect "shoperror.asp?msg=" & Server.URLEncode (getlang("langCheckoutCancelled")) end if action = request.form("action") if action="" then action = request.form("action.x") end if ' no action so display final form in this session SetSess "CurrentURL","shopcreateorder.asp" if Action="" then if getconfig("Xbypasscreateorderpage")="Yes" then dim remove remove="NO" CartFormat remove Savethisorder else ShopPageHeader DisplayForm ShopPageTrailer end if else SaveThisOrder end if Sub SaveThisOrder ShopAddOrder ' add order to database oid=GetSess( "orderId") HandleGiftRegistry HandleGiftPurchase HandleGiftCertificate if Getsess("ordertotal")= 0 then updatepaymentinfo getlang("langpaymentNone") responseredirect "shopthanks.asp" end if if getconfig("xframes")="Yes" and getconfig("xframessl")"" then responseredirect getconfig("xframeSSL") end if If getconfig("xIncludeOidOnLink")="Yes" then responseredirect ssl & getconfig("xcheckout") & "?oid=" & oid else responseredirect ssl & getconfig("xcheckout") end if end sub ' Sub DisplayForm dim url If Getconfig("xgiftregistry")="Yes" and getsess(REGISTRANTID)"" Then DisplayGiftregForm exit sub end if if getconfig("xFrames")="Yes" then response.write "" end if shopwriteheader getlang("LangCreate01") shopwriteheader getlang("LangCreate02") If getconfig("xssl")"" Then shopwriteheader getLang("langCreate03") end if response.write "" response.write "" shopbutton Getconfig("xbuttoncontinue"),getlang("langCommonOrderNow"),"action" dim remove remove="NO" CartFormat remove %> "> <% response.write "" shopbutton Getconfig("xbuttoncancel"),getlang("langCommonCancelOrder"),"cancel" response.write " " shopbutton getconfig("xbuttoncontinue"),getlang("langCommonOrderNow"),"action" addwebSessForm response.write "" if getconfig("xAllowOrderReview")="Yes" Then url="shopmailform.asp" url=addwebsess(url) response.write "" & getlang("langCreate05") & "" End if if getconfig("xAllowSaveCart")="Yes" Then response.write "" url="shopsavecart.asp" url=addwebsess(url) response.write "" & getlang("langSaveCart") & "" End if if getconfig("xWishlist")="Yes" Then url="shopsaveperm.asp" url=addwebsess(url) Response.write "" & "" & getlang("langwishlist") & "" & "" End if End Sub ' Sub UpdatepaymentInfo (paymenttype) Dim rstemp OpenOrderDB dbc Dim sqltemp sqltemp="update orders set ocardtype='" & paymenttype &"'" & " where orderid=" & getsess("oid") dbc.execute(sqltemp) ShopcloseDatabase dbc end sub Sub HandleGiftCertificate dim certificate, amountused, msg if getconfig("xGiftCertificates")"Yes" then exit sub Certificate=Getsess("Giftcertificate") If certificate="" then exit sub amountused=Getsess("giftamountused") msg="" If amountUsed"" then GiftDecrementAmountUsed certificate,amountused,msg If msg"" then Shoperror msg end if end if if Getsess("ordertotal")= 0 then UpdatepaymentInfo getlang("langgiftcertificate") responseredirect "shopthanks.asp" end if end sub Sub HandleGiftPurchase ' has someone purchased a gift certificate if getconfig("xGiftCertificates")"Yes" then exit sub If Getsess("Giftcount")="" then exit sub GiftAddtoDatabase ' add to Gift table oid=GetSess("orderId") SetSess "Giftid",oid end sub Sub HandleGiftRegistry If getconfig("xgiftregistry")"Yes" then exit sub If GetSess(REGISTRANTID) "" then ProcessGiftRegistry oid 'in shopgiftregsubs Setsess "ordertotal",0 responseredirect "shopthanks.asp" Else If GetSess(REGISTRY) "" Then debugwrite "updating registry" UpdateRegistry oid 'in shopgiftregsubs End If end if end sub ' Sub DisplayGiftRegForm Response.write Largeinfofont Response.write "" %> <% addwebsessform If Getconfig("xbuttonGiftRegistry")="" Then Response.Write("") else Response.Write("") end if dim remove remove="NO" Setsess "smprice",0 CartFormat remove response.write "" if getconfig("xAllowSaveCart")="Yes" Then %> <% End if response.write " " end sub %> <% '******************************************************* ' Version 5.50 Sept 1, 2004 ' Handles customer login '******************************************************* dim dbc, url dim forwardURL initializesystem dim strpassword, returnurl strPassword=Request("strPassword") stremail=request("stremail") strLastname = Request.Form("strLastname") ' hacker fix strlastname=replace(strlastname, "=","") strpassword=replace(strpassword,"=","") stremail=replace(stremail,"=","") stremail=replace(stremail,"'","''") strpassword=replace(strpassword,"'","") ' returnurl=request("returnurl") If strLastname = "" Then If getconfig("xPasswordLastname")="Yes" or getconfig("Xpassword")="No" then sError = sError & getlang("langLoginLastname") & "" end if End If if strEmail="" then sError = sError & getlang("langLoginEmail") & "" end if If ucase(getconfig("xpassword"))="YES" then if strPassword="" then sError = sError & getlang("langLoginPassword") & "" end if end if If Serror="" then RetrieveLoginData else Serror= getlang("langCommonRequired") & "" & Serror end if setsess "Loginerror",Serror Setupreturnurl url responseredirect url Sub RetrieveLogindata Dim fieldvalue If GetSess("Login")="" then SetSess "Login","Force" end if LocateCustomer strLastName, stremail , strpassword If strCustomerID "" then LngLoginCount=lngLoginCount+1 UpdateCustomerSessionData UpdateLoginData SetSess "Login",strlastname Else SError = SError & getlang("langLoginLocateFail") SetSess "Login", "" ' debugwrite "Not found" end if ShopCloseDatabase dbc set rs=nothing end sub Sub UpdateLoginData Dim dbc 'on error resume next OpenCustomerDB dbc 'response.write "Login count" & lngLoginCount sql = "update customers set " sql = sql & "logincount=" & lnglogincount 'sql = sql & ",lastlogindate='" & date() & "'" sql = sql & ",lastlogindate=" & datedelimit(date() ) sql = sql & " where contactid=" & strcustomerid dbc.execute(sql) ShopCloseDatabase dbc end sub '***************************************************************** ' determine where to go to '***************************************************************** Sub SetupReturnurl (url) if returnurl"" then if Serror="" then url=returnurl exit sub else url="shopcustadminlogin.asp" end if exit sub end if If Getsess("Followonurl")="" and getsess("Currenturl")="" then If Serror="" then url=getconfig("xhome") else url="shopcustadminlogin.asp" end if exit sub end if If Serror="" then url=GetSess("FollowonURL") else url=getSess("CurrentURL") end if end sub KẾT LUẬN Ngày nay, internet ngày càng trở nên cần thiết cho cuộc sống, đặc biệt trong lĩnh vực kinh doanh. Thương mại điện tử hiện đang là ngành kinh tế thu lợi nhuận cao của nhiều nước trên thế giới. mặc dù vậy, nước ta lại chưa phát triển loại hình này do các điều kiện khách quan. tuy nhiên, sớm hay muộn thì chắc chắn cũng phải có phần đáp ứng được nhu cầu của khách hàng và nhà thương mại. vì buôn bán là một hoạt động không thể thiếu trong đời sống hiện nay, và cũng nhờ sự phát triển của thương mại điện tử mà các nhà thương mại có cơ hội quảng cáo sản phẩm của mình rộng rãi hơn. Víi đề tài:“Xây dựng website bán hàng trực tuyến tại Tổng công ty Thương mại Hà Nội” nhằm làm quen với thương mại điện tử và bắt kịp sự phát triển của nước ta cũng như thế giới. Ứng dụng cũng đã triển khai được phần lớn các yêu cầu chính mà một ứng dụng thương mại điện tử cần đáp ứng. Do thời gian hạn chế, việc tìm hiểu và xây dựng một ứng dụng trên công nghệ ASP đối với em còn gặp nhiều khó khăn, chắc chắn Đề tài sẽ có thiếu sót, em rất mong có sự góp ý của các thầy, cô và các bạn để em có thể hoàn thiện đề tài trong tương lai được tốt hơn. TÀI LIỆU THAM KHẢO 1. “Phân tích thiết kế hệ thống thông tin quản lý”, Thạc sĩ Đinh Thế Hiển, NXB Thống Kê. 2. Bài giảng cơ sở dữ liệu & phân tích và thiết kế hệ thống thông tin quản lý, Ths Nguyễn Hữu Trọng 3.Giáo trình :Hệ thống thông tin ,TS.Trương Văn Tú – TS.Trần Thị Song Minh , NXB Thống kê 4. “Active Server Pages ASP 3.0 ASP.NET ”, Nguyễn Phương Lan, NXB Giáo Dục. 5. Bài giảng cơ sở dữ liệu 1, Ths. Nguyễn Đức Thuần 6.Lập trình visual basic 6.0 và cơ sở dữ liệu.: Nguyễn Ngọc Mai 7. How to buid a e-commercial application , J.J Thompson , McgrallHill -2000 8.ASP 3.0 NXB Microsoft Corporation MỤC LỤC ._.

Các file đính kèm theo tài liệu này:

  • docP0088.doc
Tài liệu liên quan