Chương I YÊU CẦU CỦA ĐỀ TÀI SVTH: Nguyễn Văn Ty Trang 5 Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần 1. Về mặt ứng dụng. Xây dựng hệ thống quản lý các dịch vụ bán hàng trên mạng, trong đó hệ thống cho phép các dịch vụ đăng ký một không gian để bán những mặt hàng mình có trên mạng. Mỗi dịch vụ sẽ có một account riêng trong hệ thống, họ có thể cập nhật các mặt hàng, thay đổi thông tin của dịch vụ và quản lý những đơn đặt hàng của khách mua hàng thông qua hệ thống.
Tuy nhiên, dịch vụ hay mặt hàng của dịch vụ chỉ thực sự hoạt động khi đã thanh tốn những chi phí cần thiết cho 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 diễn ra nội bộ giữa người bán với người mua, hệ thống không tham gia trực tiếp vào việc bán hàng.
Hệ thống đóng vai trò như một siêu thị ảo, môi giới cho khách mua hàng với dịch vụ. Về phía khách hàng Các khách hàng có thể đăng kí mua hàng, cũng như việc xem và lựa chọn những sản phẩm qua mạng nếu họ đồng ý với những sản phẩm đó. Khách hàng có thể dễ dàng xem hàng, hoặc đăng ký mua hàng bất cứ lúc nào thông qua mạng máy tính khi mà máy chủ đã khởi động. Các khách hàng có thể dễ dàng tìm thấy sản phẩm mà mình cần, việc đăng kí mua hàng chỉ thông qua thao tác nhấn chuột trên sản phẩm mà mình lựa chọn.
Các khách hàng còn có thể theo dõi được những sản phẩm mới mà công ty chuẩn bị bán ra trong một thời gian sắp tới. Khi cần thiết thì khách hàng có thể hỏi đáp thông qua công ty, hoặc thông qua diễn đàn nhằm góp ý cũng như việc thắc mắc với công ty. Diễn đàn sẽ giúp cho khách hàng giải quyết các vấn đề mà mình không giải quyết được. Về phía người quản lý Người quản lý có thể theo dõi thành viên, đơn hàng của các khách hàng đang tham gia mua hàng của công ty mình (như số lượng mặt hàng, số tiền, của khách hàng …) và nắm các thông tin của khách hàng như email, địa chỉ để liên lạc khi cần.
Người quản lý có thể thêm sản phẩm, xố sản phẩm, thêm người quản lý, người sử dụng thông qua chương trình đã được xây dựng. Về mặt kỹ thuật Bài tố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 JSP. Hỗ trợ nhiều hệ điều hành (cho phía client). Hỗ trợ nhiều trình duyệt (như IE, Netscape.) SVTH: Nguyễn Văn Ty Trang 6 Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần Hỗ trợ nhiều người dùng.
Số lượng người tham gia đăng ký mua hàng không giới hạn. Số lượng các sản phẩm, người đăng ký sử dụng thêm vào không giới hạn. Một số yêu cầu khác Ngồi các yêu cầu trên, ứng dụng có thể: Dễ dàng cài đặt. Dễ dàng sử dụng.
Như vậy, trước những yêu cầu của bài tố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 tốn. Chương II NGÔN NGỮ LẬP TRÌNH JAVA ĐỐI VỚI ỨNG DỤNG MẠNG I. GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH JAVA. Ông tổ của Java không ai khác chính là James Gosling, một lập trình viên của công ty Sun Microsystems.
Cuối năm 1990 James Gosling được Sun Microsystem giao nhiệm vụ xây dựng một phần mềm cho các mặt hàng điện dân dụng với mục tiêu nhỏ gọn và tương thích với nhiều thiết bị phần cứng khác nhau, thế là Java ra đời. Đầu tiên Java có tên là Oak (cây sồi) nhưng vì có sự trùng tên nên Oak được đổi tên thành Java như hiện nay. Java được thiết kế cho mục đích đa nền (không phụ thuộc vào bất kỳ hệ điều hành nào) nên chương trình Java sau khi biên dịch cho ra một file nhị phân khác với các file nhị phân thực thi của Windows như. java biên dịch ra mã nhị phân gọi là byte-code có đuôi mở rộng là .class và được triệu gọi thực thi trong máy ảo SVTH: Nguyễn Văn Ty Trang 7 Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần Java (Java Virtual Machine – JVM).
Máy ảo Java thực sự là một trình thông dịch bình thường có khả năng thực thi các mã byte-code tương tự như bộ xử lý của máy tính thực thi các mã nhị phân là các chỉ thị mã máy. Nói đúng hơn máy ảo Java là một kiến trúc của bộ xử lý nhưng thực thi bằng cơ chế phần mềm thay vì phần cứng. Chính vì lý do đó mà ta chỉ cần viết máy ảo Java cho từng hệ điều hành thì chương trình Java (.class) có thể chạy như nhau trong mọi hệ điều hành dưới nền một kiến trúc máy ảo. Cha đẻ của Java là hãng Sun Microsystem chịu trách nhiệm xây dựng các máy ảo Java cho những hệ điều hành khác nhau.
Nhiệm vụ của lập trình viên là chỉ viết chương trình mã nguồn Java sau đó biên dịch chương trình ra dạng file thực thi byte-code để chạy trên máy ảo. Java có thể dùng để viết chương trình ứng dụng tương tự như mọi ngôn ngữ lập trình khác. Java thiên về lập trình cho các ứng dụng mạng và Internet. Ngồi ra ta có thể dùng Java để viết các Applet hoặc Servlet hay trang JSP là những thành phần ứng dụng dành cho trình duyệt Internet (browser) và trình chủ (Web server).
Java là một ngôn ngữ đơn giản, hướng đối tượng, phân tán, thông dịch mạnh mẽ, bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả cao và linh động (the Java TM Language an Overview – sun Microsystems). Đó là những đặc điểm quan trọng mà không phải bất cứ một ngôn ngữ lập trình nào cũng có được. Applet là những mẫu chương trình nhỏ được nhúng và chạy ngay trong trình duyệt. Applet giúp bạn thực hiện được rất nhiều tương tác bên trong trình duyệt.
Có thể nói Java ra đời và nổi tiếng chính là nhờ khả năng viết Applet của nó. Mặc dù vậy, ngày nay các Applet không còn được sử dụng nhiều trên các trình duyệt. Chúng được thay thế bằng ngôn ngữ kịch bản JavaScript. Tuy nhiên vẫn còn nhiều điều mà Applet có khả năng lập trình mạnh mẽ hơn JavaScript như giao tiếp với Web server, thực hiên công việc tính tốn phức tạp, vẽ đồ thị, bảo mật… Servlet là một thành phần đối tượng chủ yếu phục vụ cho mục đích tích hợp và chạy trên các trình chủ Web server.
Servlet giúp xử lý và tạo ra các trang Web động. Servlet có thể kết hợp với các trang Java Server Page - JSP là các trang Script chạy phía máy chủ để tạo các trang Web động, tương tác với cơ sở dữ liệu tương tự như Servlet. JavaScript và Java hồn tồn khác nhau, mặc dù thống nghe đến tên gọi bạn có thể nghĩ rằng chúng đều xuất phát từ Java. JavaScript là một ngôn ngữ kịch bản ra đời và phát triển bởi Nescape Communication trong khi Java được phát triển bởi Sun Mcrosystem.
Mặc dù vậy, ngày nay chúng trở nên thân thiết và gần gũi với nhau hơn bao giờ hết. Java và JavaScript có cú pháp lập trình rất giống nhau và rất giống với C/C++ nên rất thuận tiện để người dùng học cả hai ngôn ngữ song song với nhau. JavaScript thường được dùng để kiểm sốt và điều khiển các hoạt động của trình khách. JavaScript có thể tạo các hiệu ứng động cho trang Web như thay đổi màu sắc, hiển thị SVTH: Nguyễn Văn Ty Trang 8 Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần ảnh động, tương tác với người dùng bằng chuột, phím, kiểm tra dữ liệu nhập vào trước khi gởi về trình chủ để xữ lý.
JavaBeans là một thành phần đối tượng được xây dựng từ ngôn ngữ Java, là những khối mã xây dựng sẵn và có thể dùng lại được. Nó đang trở nên ngày càng phổ biến đối với các ứng dụng phân tán (distributed application) trên mạng. Java Server Page - JSP đặc biệt cung cấp cho những nhà phát triển Web một nền tảng để tạo ra các nội dung động trên máy chủ sử dụng HTML và XML, vì mã Java có tính bảo mật, nhanh, và độc lập với máy chủ. JSP là phần mở rộng đặc biệt của Java Servlet, đơn giản hơn Servlet.
JSP được nhúng vào các trang HTML để tạo ra các trang động từ trình chủ phục vụ cho trình khách. Trên đây là một số đặc tính quan trọng và các nhánh phát triển của ngôn ngữ Java. Với những đặc tính mạng mẽ như vậy, Java là sự lựa chọn tốt nhất cho các ứng dụng mạng. Applet Java: Applet như đã nói là những mẫu chương trình nhỏ chạy ngay trong trình duyệt và tương tác với trình duyệt.
Vì applet đã nói là những mẫu chương trình nhỏ chạy ngay trong trình duyệt và tương tác với trình duyệt. Vì vậy applet phải tuân thủ theo một cấu trúc nhất định để có thể chạy được trên các trình duyệt khác nhau. Tạo một applet: Khuôn mẫu của một applet thể hiện ở bốn phương thức sau: pubilc class appletName extendes Applet Error! { public void init() {…} public void start() {…} public void stop() {…} public void destroy() {…} } Trong đó : appletName: tên của applet. Init: để khởi tạo một applet khi một applet được nap (loaded) hay được nạp lại (reloaded).
Start: bắt đầu hoạt động của applet khi applet được nạp hay khi người dùng thăm lại trang chứa applet. Stop: chấm dứt hoạt động của applet khi người dùng rời khỏi trang chứa applet hay đóng trình duyệt. SVTH: Nguyễn Văn Ty Trang 9 Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần Destroy: thực hiện việc dọn dẹp chuẩn bị cho applet thốt hẳn (unloading). Không phải applet nào cũng dùng đủ 4 phương thức này, các phương thức bị bỏ qua khi viết một applet sẽ được trình duyệt tự thực hiện khi nạp applet đó.
* Vòng đời của một applet: Nạp một applet: Khi một applet được nạp có các sự kiện xảy ra như sau: Một instance của lớp con applet được tạo ra, có nghĩa là một đối tượng applet được tạo ra. Đối tượng applet này tự khởi tạo mình, có nghĩa là tự cài đặt, nhận các giá trị (phương thức init() được gọi đến). Đối tượng applet này bắt đầu chạy (phương thức start() được gọi). Rời khỏi hay trở về trang Web:Khi người dùng sang trang mới (không chứa applet của ta), applet thực hiện phương thức stop().