Internet phát triển một cách vượt bậc, từ mục đích phục vụ nghiên cứu đã mở rộng ra cho lĩnh vực toàn cầu về thương mại. Các nhà khoa học có thể sử dụng Internet để tìm kiếm tài liệu và thảo luận với nhau. Học sinh, sinh viên có thể tìm kiếm các tài liệu, phần mềm phục vụ cho việc học tập, giải trí. Các nhà kinh doanh sử dụng Internet như một phương tiện để quảng cáo, giao dịch thương mại. Những người bình thường có thể sử dụng Internet để xem tin tức và mua hàng.
162 trang |
Chia sẻ: vietpd | Lượt xem: 1755 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng hệ thống quản lý dịch vụ bán hàng qua mạng và thu chi nhập xuất hàng hóa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU
Internet phát triển một cách vượt bậc, từ mục đích phục vụ nghiên cứu đã mở rộng ra cho lĩnh vực toàn cầu về thương mại. Các nhà khoa học có thể sử dụng Internet để tìm kiếm tài liệu và thảo luận với nhau. Học sinh, sinh viên có thể tìm kiếm các tài liệu, phần mềm phục vụ cho việc học tập, giải trí. Các nhà kinh doanh sử dụng Internet như một phương tiện để quảng cáo, giao dịch thương mại. Những người bình thường có thể sử dụng Internet để xem tin tức và mua hàng.
Nhằm giảm thiểu việc lưu thông trên đường phố, giảm thiểu tiếng ồn, ô nhiễm môi trường … mọi người có thể vừa làm việc vừa mua hàng mà không phải đi đâu cả, điều này phục vụ cho mọi người có thể làm và nghiên cứu đạt kết quả tốt hơn. Và bài toán “Xây dựng hệ thống quản lý dịch vụ bán hàng qua mạng và thu chi nhập xuất hàng hóa” là một thể hiện những ý tưởng trên để phục vụ cho xã hội trong tương lai gần đây.
Đề tài gồm hai phần:
Phần một: Giới thiệu và lựa chọn công nghệ.
Phần hai: Triển khai ứng dụng.
YÊU CẦU CỦA ĐỀ TÀI
1. Về mặt ứng dụng:
Xây dựng hệ thống phục vụ bán hàng trên mạng, trong đó hệ thống cho phép khách hàng đăng ký vào xem và thực hiện việc mua hàng trực tuyến trên mạng. Mỗi khách hàng sẽ có một account riêng trong hệ thống, họ có thể chọn lựa các mặt hàng có sẵn trên hệ thống, thay đổi những đơn đặt hàng của khách hàng thông qua hệ thống. Đối với những khách hàng vào hệ thống để mua hàng, hệ thống phải hỗ trợ sao cho khách hàng có thể tìm kiếm, chọn và đặt hàng một cách dễ dàng. Khi khách hàng đặt mua sản phẩm, hệ thống sẽ chuyển đơn đặt hàng này đến dịch vụ bán hàng. Việc giao và nhận hàng được quản lý trực tiếp trên mạng sau khi khách hàng đã điền đầy đủ các thông tin cần thiết để mua hàng.
Đối với công ty hệ thống sẽ cho phép các nhân viên cập nhật, quản lý, theo dõi việc bán hàng qua mạng, thu chi và nhập xuất tồn kho hàng hóa.
2. Về mặt kỹ thuật:
Bài toán đòi hỏi hệ thống phải có những khả năng về kỹ thuật như sau:
Ứng dụng triển khai trên môi trường Web.
Hỗ trợ nhiều hệ điều hành (cho phía client và cả server).
Hỗ trợ nhiều trình duyệt (như IE, Netscape..)
Hỗ trợ nhiều người dùng.
Dung lượng:
Số lượng người truy xuất: không giới hạn.
Số lượng công ty/dịch vụ: không giới hạn.
Số lượng sản phẩm tối đa cho mỗi công ty/dịch vụ: không giới hạn.
3. Một số yêu cầu khác:
Ngoài các yêu cầu trên, ứng dụng có thể:
Hỗ trợ tiếng Việt.
Dễ dàng cài đặt.
Dễ dàng sử dụng.
Dễ dàng nâng cấp và mở rộng.
Như vậy, trước những yêu cầu của bài toán đặt ra như trên, ta cần khảo sát công nghệ và lựa chọn giải pháp thích hợp để có thể triển khai ứng dụng theo yêu cầu của bài toán.
CHƯƠNG I: CƠ SỞ LỰA CHỌN ĐỀ TÀI VÀ CÔNG NGHỆ TRIỂN KHAI ĐỀ TÀI
I. Lựa chọn đề tài:
Cùng với sự phát triển mau lẹ của Internet và hệ thống mạng toàn cầu, việc mua bán trực tuyến trên mạng đã và đang trở nên sôi động trên phạm vi cả thế giới lẫn trong khu vực ASEAN. Ở nước ta vấn đề này vẫn còn là một lĩnh vực khá mới mẽ. Tuy nhiên cũng “không thể né tránh “ trong xu thế hội nhập khu vực và toàn cầu.
Công ty Cổ Phần Phát Triển Đầu Tư Công Nghệ FPT được xem là đơn vị có doanh số cao nhất VN hiện nay và là công ty tin học hàng đầu tại VN. Kinh doanh chủ yếu của Công ty là các hàng hóa, dịch vụ thuộc lĩnh vực tinh học và các hàng hóa thuộc lĩnh vực viễn thông. Các showroom của công ty được trãi dài khắp các quận huyện trong TPHCM và các tỉnh thành …, để phục vụ cho việc kinh doanh của mình Công ty đã đầu tư lớn vào các trang web để quảng bá về Công ty, tuy nhiên cũng chỉ mới dừng lại ở việc quảng bá và giới thiệu chứ chưa có trang web nào bán hàng trực tuyến cả.
Do nhu cầu phải phát triển thị trường và đáp ứng ngày càng cao nhu cầu của khách hàng, Công ty cần có trang web bán hàng trực tuyến. Trang web này cần đáp ứng các nhu cầu cơ bản sau:
Khách hàng có thể vào xem và mua sản phẩm trực tiếp qua mạng.
Cho phép Công ty quản lý việc xuất hàng hóa kịp thời theo đơn đặt hàng của khách hàng, Thu chi tiền bán hàng đối với các hoạt động bán hàng qua mạng.
Cho phép Công ty quản lý việc nhập hàng hóa để phục vụ nhu cầu bán hàng qua mạng, thực hiện được giao dịch thanh toán tiền mua hàng cho nhà cung cấp đối với các hàng hóa được sử dụng để bán hàng qua mạng.
Định hướng trong tương lai của Công ty là sẽ thành lập một bộ phận riêng biệt chuyên trách mọi hoạt động kinh doanh qua mạng.
II. Lựa chọn công nghệ:
Với nhu cầu đề tài được nêu trên, nhóm thực hiện đề tài quyết định lựa chọn công nghệ JSP/Servlet làm nền tảng để triển khai hiện thực đề tài; do các ưu điểm sau:
Công nghệ JSP là một cách tiếp cận mở: Công nghệ JSP được thiết kế độc lập với nền tảng hệ điều hành và Web Server, được xây dựng với sự hỗ trợ rộng rãi của nhiều nhà cung cấp công cụ, cung cấp Web server và hệ điêu hành cơ sở dữ liệu.
Độc lập hệ điều hành và Web Server: Công nghệ JSP trung thành với triết ký “Write Once, Run Anywhere”. Thay vì gắn với một môi trường xác định, công nghệ JSP có thể triển khai trên bất kỳ Web Server nào và được hỗ trợ bởi rất nhiều nhà cung cấp khác nhau.
Hỗ trợ cho người phát triển: JSP cung cấp các thành phần dựa trên công nghệ JavaBean và các nhãn JSP.
Khả năng dùng lại với đa nền.
Dễ duy trì: Các ứng dụng JSP dễ dàng duy trì hơn các ứng dụng ASP. Bởi ASP sử dụng các ngôn ngữ scrip, đây là ngôn ngữ hoạt động tốt cho những ứng dụng nhỏ, còn Java là ngôn ngữ có cấu trúc nên Java là ngôn ngữ lý tưởng để xây dựng và duy trì những ứng dụng có quy mô lớn. Hơn nữa vì công nghệ JSP là một kiến trúc mở, đa nền, độc lập với Web Server, hệ điều hành và các thành phần khác. Nên có thể dễ dàng nâng cấp hay chuyển đổi. Điều này làm cho JSP thích hợp hơn với thế giới thực, nơi mà sự biến đổi luôn diễn ra.
Để tìm hiểu mô hình hoạt động cũng như quá trình xây dựng một ứng dụng có tính chất thương mại điện tử trực tuyến, chúng em xin giới thiệu đề tài “Xây dựng hệ thống quản lý dịch vụ bán hàng qua mạng, thu chi, nhập xuất và tồn kho hàng hóa” là đề tài nghiên cứu cho luận văn tốt nghiệp này.
Với lượng 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ệ Java (một công nghệ hoàn toàn mới) đối với chúng em rất khó khăn. Do đó, ứng dụng này chỉ dừng ở mức minh họa, khó có thể áp dụng vào thực tếá. Dù vậy, ứ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. Chúng em hy vọng rằng sẽ học được nhiều kinh nghiệm hơn sau đề tài này. Đồng thời, có được nhiều ý kiến nhận xét quý báu của quý thầy cô và các anh chị đi trước.
CHƯƠNG II: GIỚI THIỆU KHÁI QUÁT MỘT SỐ CÔNG CỤ THỰC HIỆN HỆ THỐNG
Giới thiệu Java:
Thập kỷ 90 chứng kiến một sự phát triển như vũ bão của mạng Internet, kèm theo đó là vô vàn các ứng dụng trên các môi trường, hệ điều hành (OS) và các hệ xử lý (CPU) khác nhau. Tuy nhiên có một điểm hạn chế lớn là người lập trình phải rất vất vả khi chuyển đổi các ứng dụng của mình để các hệ thống khác có thể sử dụng được.
Ngày 23/5/1995, công ty máy tính Sun Microsystems đã giới thiệu một công cụ lập trình mới - ngôn ngữ Java - nhằm khắc phục những khó khăn đó. Đặc điểm nổi bật nhất của Java là nó không phụ thuộc vào hệ điều hành và bộ xử lý. Điều này cho phép một ứng dụng viết bằng Java có thể được thực hiện trên bất kỳ hệ điều hành và hệ xử lý nào có hỗ trợ Java. Do vậy, người lập trình chỉ cần viết ứng dụng bằng Java đúng một lần, sau đó có thể sử dụng ứng dụng này trên các hệ điều hành khác nhau như Windows95, WindowsNT, Mac OS, Unix,... theo phương châm: "viết một lần, sử dụng ở bất kỳ đâu".
Có thể định nghĩa một cách chính xác hơn về Java: "là ngôn ngữ lập trình hướng đối tượng, được thiết kế độc lập với hệ điều hành, cho phép người lập trình viết chương trình một lần và có thể sử dụng tại bất kỳ đâu".
Không chỉ giới thiệu ngôn ngữ lập trình, Sun Microsystems còn đưa ra hàng loạt công cụ hỗ trợ người lập trình phát triển các ứng dụng bằng Java, như Java Developer Kit, JavaBeans, HotJava...
Ngôn ngữ Java có cú pháp rất giống với ngôn ngữ C/C++ (là một ngôn ngữ rất mạnh được dùng phổ biến hiện nay), tuy nhiên nó đã được thay đổi khá nhiều để đáp ứng khả năng độc lập với hệ điều hành. Nền tảng của ngôn ngữ Java là các class. Các class đóng vai trò như những đối tượng, người lập trình khi xây dựng ứng dụng sẽ sử dụng một số class chuẩn của hệ thống, đồng thời có thể tự mình xây dựng class khác đáp ứng yêu cầu công việc.
Java là ngôn ngữ dễ học, nó lược bớt những lệnh thừa và rườm rà của C/C++ để người lập trình chú trọng vào việc viết chương trình. Đồng thời, nó còn hạn chế người lập trình không can thiệp quá sâu vào hệ thống.
Hiện nay Java được ứng dụng rất rộng rãi, chủ yếu là các ứng dụng được viết trên Internet nhằm khai thác tối đa khả năng của nó trong lĩnh vực viễn thông, truyền hình, mạng, và các máy tính đơn lẻ. Hiện tại các ứng dụng viết bằng Java khi thực hiện còn chậm hơn so với các ứng dụng được xây dựng thông thường, tuy nhiên hầu hết các nhà phát triển phần mềm đều cho rằng tốc độ sẽ được cải thiện và Java sẽ là ngôn ngữ lập trình của tương lai.
Có thể nói rằng sự ra đời của Java đánh dấu một cuộc cách mạng mới trong lĩnh vực Công Nghệ Thông Tin. Cuộc cách mạng này kéo theo một loạt những thay đổi: các ứng dụng dần được thay thế bằng Java, các thế hệ máy tính sử dụng những vi mạch có khả năng hỗ trợ Java,... Làm quen với Java sẽ giúp chúng ta tiếp cận được với những công nghệ mới nhất của Công Nghệ Thông Tin.
Giới thiệu JSP/Servlet:
Java Server Pages (JSP) là sự mở rộng của công nghệ JavaServlet, một thành phần trong chuẩn J2EE của Sun. Với JavaServlet, bạn phải xử lý đầu vào HTTP và đầu ra HTML trong lớp Java, bạn cần có kiến thức lập trình để xây dựng các ứng dụng phức tạp. Với JSP bạn có thể tách riêng lớp hiển thị HTML ra khỏi lớp Java xử lý nghiệp vụ phức tạp. Điều này có nghĩa là người phát triển có kinh nghiệm ngôn ngữ kịch bản, hay thậm chí người thiết kế web có thể viết mã lệnh hiển thị đơn giản, trong khi người phát triển có kiến thức về Java tập trung viết JavaServlet hay JavaBean đề giải quyết các nghiệp vụ phức tạp.
Tương tự ASP, JSP cũng thực hiện phép trộn nội dung HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động. JSP dùng ngôn ngữ kịch bản mặc định là Java; tuy nhiên theo đặc tả kỹ thuật thì cũng có thể dùng các ngôn ngữ khác. JSP có ưu điểm so với ASP là sau lần thực thi đầu tiên thì mã biên dịch (Servlet) của trang JSP được lưu lại trong bộ nhớ của máy chủ web và sẵn sàng đáp ứng cho các yêu cầu truy cập sau đó (trang ASP/VBSCRIPT hay Asp/jscript phải được dịch lại với mỗi yêu cầu). Lợi thế của JSP là sử dụng được toàn bộ sức mạnh của ngôn ngữ Java với các tính năng uyển chuyển, chạy được trên nhiều nền tảng hệ thống và máy chủ web, mã lệnh hướng đối tượng, bảo mật an toàn...
Hiện chưa có nhiều dịch vụ đặt web hỗ trợ JSP. Tuy Java miễn phí nhưng các công cụ phát triển Java và phần mềm máy chủ Java khá đắt. Các công cụ phát triển trang JSP tốt là Borland Jbuilder, IBM WebSphere Studio. Một số phần mềm máy chủ Java hỗ trợ JSP miễn phí như Tomcat, JONAS.
Servlet được phát triển dựa trên những điểm mạnh của Java platform nhằm giải quyết vấn đề của CGI và trình chủ server API. Nó là một API đơn giản hỗ trợ tất cả các Web server và thậm chí các ứng dụng máy chủ dùng để kiểm tra và quản lý các công việc trên server (load -balancing). Nó giải quyết vấn đề thực thi bằng việc thực hiện tất cả các yêu cầu như những thread trong một xử lý, hoặc trên một hệ thống load-balancing sẽ là mỗi xử lý trên một server trong kết chùm cluster. Các servlet dễ dàng chia sẽ tài nguyên.
Trong định nghĩa servlet, bảo mật được cải tiến theo nhiều cách. Trước hết, hiếm khi thực thi lệnh trên shell với dữ liệu cung cấp bởi người dùng khi Java API đã cung cấp truy cập đến tất cả những hàm sử dụng thông dụng. Có thể sử dụng JavaMail để đọc và gởi mail, Java DataBase Connect (JDBC) để truy cập các database, lớp File và những lớp quan hệ để truy cập hệ thống file, RMI, CORBA, Enterprise Java Beans (EJB) để truy cập các hệ thống kế thừa …
Servlet thật sự là một mẫu chương trình viết bằng ngôn ngữ Java được trình chủ Web triệu gọi sản sinh ra kết quả kết xuất phù hợp trả về cho trình khách .
Cơ chế hoạt động của Servlet :
Trình khách gửi lệnh HTTP GET (hay POST ) lên máy chủ yêu cầu dịch vụ Web (HTTP Web Service ) cung cấp một tài nguyên. Tài nguyên mà trình khách yêu cầu có thể là một tập tin (.html hay hình ảnh ). Tài nguyên cũng có thể ở dạng thông tin động do servlet sinh ra .
Nếu bạn yêu cầu tài nguyên là một tập tin , trình chủ Web Server sẽ dùng một chương trình servlet nhỏ gọi là File Servlet đọc nội dung tập tin trên đĩa cứng sau đó trả về cho trình khách . Nếu bạn yêu cầu một trình servlet khác (user servlet ) thực thi để sinh ra thông tin động thì sử dụng Invoker Servlet triệu gọi servlet mà bạn mong muốn . Kết quả sinh ra sau đó cũng sẽ được gửi về trình khách tương tự như cơ chế đọc tài nguyên trên đĩa cứng mà File Servlet thực hiện .
So sánh giữa JSP và Servlet :
Đặc tả JSP cung cấp rất nhiều thẻ cho phép người dùng tuỳ biến khi nhúng lệnh Java trong trang JSP. Các thẻ này sẽ kết hợp với các lệnh hay thẻ chuẩn HTML để tạo ra kết xuất cuối cùng trả về trình khách.
Các chức năng của trang JSP hoàn toàn giống với servlet tuy nhiên bạn không cần phải biên dịch trang JSP bằng tay. Trình chủ Web server sẽ thực hiện công việc này hộ bạn. Như vậy, viết trang JSP đơn giản hơn viết servlet. Nếu đem so sánh bạn sẽ thấy rằng, khi viết servlet bạn phải tự tạo đối tượng luồng xuất java.io.PrintWriter out = resp.getWriter ( ); để kết xuất kết quả trả về cho trình khách. Trong khi đó nếu viết trang JSP thì không cần phải thực hiện điều này. Bộ diễn dịch JSP đã tạo sẵn đối tượng out cho bạn sử dụng. Thật ra thì trang JSP được biên dịch thành servlet phía sau hậu trường, kết xuất của trang JSP thật ra là kết xuất của servlet. Tuỳ theo mỗi trình chủ khác nhau mà sẽ có các tập tin diễn dịch .jsp ra servlet khác nhau . Theo cơ chế của JSP, bạn không cần phải quan tâm đến những tập tin phụ này. Nếu bạn xoá các tập tin này đi, trình chủ sẽ tự động tạo mới lại. Theo cơ chế này thì trang JSP có thể phải thực hiện chậm hơn servlet thuần tuý, nhưng chỉ là lần đầu khi trang JSP được biên dịch. Ở lần triệu gọi kế tiếp từ máy khách, trình chủ không cần dịch lại trang JSP nữa (trừ khi có thay đổi nội dung trang JSP). Mã JSP lúc này là mã Java nhị phân (byte-code) được gọi thực thi trực tiếp. Chính vì lý do này, trang .jsp xét về tốc độ sẽ nhanh hơn hẳn các trang web thực hiện cơ chế diễn dịch như .asp (Active Server Page) cuả Microsoft hay .pl của trình CGI Perl . Đây là lý do mà đề tài chọn công nghệ JSP.
Viết trang JSP đơn giản hơn viết Servlet và bạn hoàn toàn có thể tận dụng mọi chức năng của Servlet bên trong trang JSP . Tuy nhiên ,servlet thường được xem như những đối tượng thành phần (component ) nhúng vào trình chủ (tương tự đối tượng ActiveX hay COM của Microsoft ). Chính vì vậy servlet thường được dùng cho các chức năng xử lý phức tạp như: giao tiếp với Applet phía trình khách, thực hiện bảo vệ tài nguyên, chứng thực mật khẩu … Trong khi đó trang JSP được dùng cho các thao tác truy xuất hay xử lý đơn giản như trình bày giao diện, định dạng trang HTML, triệu gọi các thành phần JavaBean hay servlet khác. Như vậy, kết hợp JSP và Servlet là cách tốt nhất khi bạn chọn phát triển ứng dụng Web bằng Java phía máy chủ.
Các thẻ lệnh của JSP :
JSP cung cấp các thẻ lệnh giúp tạo trang web. Cũng tương tự như thẻ HTML, thẻ lệnh JSP bao gồm thẻ mở và thẻ đóng. Thực sự các thẻ JSP được xây dựng theo đặc tả và chuẩn XML ( Extension Markup Language ) nên có hơi khác với thẻ HTML vì chuẩn XML không xem chữ hoa và chữ thường giống nhau. Mỗi thẻ có các thuộc tính quy định cách dùng thẻ.
Thẻ hay :
Thẻ này cho phép đặt các đoạn mã lệnh Java ở giữa cặp thẻ tương tự một chương trình java thông thường.
Thẻ khai báo và thực hiện biểu thức <%! , <%=:
Thẻ này dùng để khai báo một biến dùng cho toàn trang jsp. Biến khai báo phải đúng theo cú pháp của ngôn ngữ Java. Thẻ <%= được dùng để hiển thị một biểu thức.
Thẻ nhúng mã nguồn :
Với thẻ này có thể nhúng một trang .html vào trang jsp hiện hành . Thẻ này tương tự chỉ dẫn #include trong ngôn ngữ C . Cú pháp đầy đủ của thẻ này là :.
Thẻ chỉ dẫn biên dịch trang :
Thẻ này chỉ dẫn một số tính chất biên dịch áp dụng cho toàn trang jsp. Có thể sử dụng thẻ này để khai báo các thư viện import của java, chỉ định tuỳ chọn trang jsp có cần giữ trên cache bộ nhớ của trình chủ để tăng tốc hay không …
e- Thẻ chuyển hướng :
Thẻ này giúp chuyển hướng trang Web sang địa chỉ khác. Ví dụ khi xử lý trang nhận dữ liệu đăng nhập (login page ) bạn kiểm tra mật khẩu, nếu hợp lệ bạn chuyển người dùng đến trang tài nguyên cho phép truy cập. Nếu không hợp lệ, bạn chuyển người dùng đến trang thông báo lỗi.
f- Thẻ sử dụng thành phần Bean :
Bạn có thể tự tạo các lớp đối tượng Java và triệu gọi chúng từ bên trong trang jsp. Hướng theo công nghệ thành phần (component ) Java gọi những đối tượng có thể gắn vào những ứng dụng là thành phần Bean.
g- Thẻ đặt thuộc tính cho Bean :
Thẻ này được sử dụng để triệu gọi một phương thức nào đó của Bean.
h- Thẻ lấy thuộc tính của Bean :
Ngược với thẻ dùng để lấy về nội dung của một thuộc tính.
Các đối tượng mặc định của trang JSP :
Trang diễn dịch JSP cho phép sử dụng một số đối tượng đã khai báo trươ