Thiết kế hệ thống bán sách trực tuyến ứng dụng công nghệ EJB

MỤC LỤC

Xây dựng hệ thống bán sách trực tuyến ứng dụng công nghệ EJB Chương 4 Đặt vấn đề

Tuy đã cố gắng rất nhiều, nhưng sự hiểu biết của em còn hạn chế nên không thể tránh khỏi những sai xót, em rất mong nhận được sự góp ý, chỉ bảo của quý thầy cô và các bạn.

KHẢO SÁT CÔNG NGHỆ

MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE

    Sau một thời gian dài sử dụng, ta muốn chuyển hệ cơ sở dữ liệu SQL Server sang hệ cơ sở dữ liệu Oracle, thì ta phải yêu cầu 100 máy khách cập nhật lại trình điều khiển truy xuất cơ sở dữ liệu Oracle thay cho SQL Server, đó là chưa kể đến cấu hình và kết nối với từng hệ cơ sở dữ liệu là vấn đề không phải đơn giản đối với người dùng. Mục tiêu là làm cho máy khách trở nên gọn nhẹ, dễ cấu hình, dễ thay đổi phía máy chủ, nếu chúng ta cần thay đổi mã nguồn của ứng dụng, chúng ta chỉ cần thay đổi trên máy chủ, tất cả các trình khách khi kết nối vào máy chủ chạy ứng dụng sẽ luôn được phục vụ với phiên bản chương trình mới nhất. • JavaBeans Activation Framework (JAF): tập các API được sử dụng bởi các package khác như Java mail…, chúng ta có thể dùng JAF để xác định kiểu dữ liệu, đóng gói truy cập đến dữ liệu, mở rộng những tác vụ dựa trên những dữ liệu đó và khỏi tạo một Bean tương ứng để thực hiện các tác vụ đó.

    Trong một phiên kết nối, những thao tác nhất thời không đòi hỏi việc thể hiện dữ liệu thường bao gồm : tính toán, phân tích, thống kê… Bean thao tác được chia làm hai lọai đó là : Bean thao tác phi trạng thái (Stateless Bean) và Bean thao tác lưu vết trạng thái (Stateful Bean).

    Hình 1.2 Mô hình đa tầng Multi-tier
    Hình 1.2 Mô hình đa tầng Multi-tier

    TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

    • THIẾT KẾ THÀNH PHẦN EJB
      • XÂY DỰNG THÀNH PHẦN WEB (WEB COMPONENT) .1 Viết một trang JSP triệu gọi thành phần Bean
        • PHÁT TRIỂN BEAN THAO TÁC (SESSION BEAN) .1 Giao tiếp Session Bean

          Để các client trên cùng máy ảo Java triệu gọi đươc thành phần Bean Hello thì chúng ta cần xây dựng hai lớp : HelloLocal và HelloLocalHome. Do đó ở đây chúng ta sẽ không nói lại cách xây dựng thành phần Bean Hello mà chúng ta sẽ tìm hiểu về cách giao tiếp giữa trình khách và đối tượng EJB trong trình chứa. Sau khi có tham chiếu đến lớp Hello, trình khách sẽ sử dụng lớp Hello triệu gọi phương thức của đối tượng Bean trong trình chứa container.

          Bởi vì Bean thao tác phi trạng thái không bao giờ thụ động (passivate), nên chu trình họat động của nó chỉ có 2 giai đọan : chưa tồn tại và sẵn sàng để gọi các phương thức của business. Có những thành phần Bean đòi hỏi phải lưu giữ thông tin trong suốt quá trình giao dịch, nó được gọi là thành phần Bean lưu vết trạng thái.Sau đây chúng ta sẽ thiết kế thành phần Bean phục vụ thao tác mua bán sách có tên là CartBean. Việc thiết kế thành phần Bean thao tác lưu vết trạng thái, cũng giống như việc thiết kế thành phần Bean thao tác phi trang thái, chúng ta cũng xây dựng các lớp Remote, lớp Home và thành phần Bean.

          • Lớp CartBean: cũng giống như lớp HelloBean, CartBean là nơi đặc tả các phương thức để client triệu gọi thông qua lớp Cart trong trình chứa. Chúng ta dùng trình đóng gói deploytool để tạo ra gói .jar chứa thành phần Bean đồng thời chuyển giao Bean cho trình chứa J2EE tương tự như các bước chúng ta đã làm với Session Stateless Bean. Nếu trình chứa không đủ bộ nhớ (hoặc đối với những thành phần Bean chưa cần dùng đến), trình chứa sẽ tạm thời lưu Bean xuống bộ nhớ ngoài (đĩa cứng) bằng cách gọi phương thức ejbPassivate() để thông báo cho Bean biết rằng nó sắp được lưu xuống bộ nhớ ngoài (thông thường trình chứa EJB sử dụng thuật toán lần sử dụng gần đây ít nhất (last-recently-used)).

          Trong bean thực thể, chúng ta có thể có các phương thức tính toán kèm theo, chúng được gọi là các phương thức nghiệp vụ (business method) xử lý dữ liệu của Bean. Mỗi trình chủ đều kèm theo trình đóng gói deploytool thích hợp để chúng ta biên dịch, đóng gói và đưa các lớp cần thiết của Bean vào trình chứa. Các công cụ của những trình chủ khác nhau có thể cung cấp cách xây dựng và đóng gói Bean (tập tin .jar) vào những thư mục qui định khác nhau trong trình chủ (chúng ta nên tìm hiểu tài liệu của chúng).

          Ví dụ IAS (của Inprise) cung cấp cho chúng ta dịch vụ Web kết hợp với xây dựng các ứng dụng phân tầng Java, đóng gói các thành phần Bean, thiết kế Bean thực thể dựa vào cơ sở dữ liệu InterBase, cài đặt đối tượng Corba dựa trên trình môi giới Visio-Broker.

          Hình 2.2 Giao tiếp giữa trình khách và đối tượng EJB
          Hình 2.2 Giao tiếp giữa trình khách và đối tượng EJB

          ĐẶC TẢ YÊU CẦU HỆ THỐNG

          • NGƯỜI SỬ DỤNG HỆ THỐNG .1 Đối với khách hàng chưa đăng ký
            • CÁC CHỨC NĂNG CỦA HỆ THỐNG

              Người quản trị hệ thống cũng là thành viên của Website nên cũng có các chức năng giống như thành viên. • Thông tin đầu ra: Hiển thị chi tiết tất cả các sách có tên chứa thông tin đã nhập mà admin cho phép hiện thị. • Cách thức xử lý: Truy vấn cơ sơ dữ liệu và tìm ra các sách có tên tương ứng với thông tin đầu vào.

              • Miêu tả: Khách hàng có thể tìm kiếm sách theo các tiêu chí như: Tên sách, Tên tác giả, Thể loại sách, Giá cả. • Thông tin đầu vảo: Khách hàng nhập các thông tin về sách: Tên sách, Tên tác giả, Thể loại, Giá cả. • Thông tin đầu ra: Khách hàng nhập các thông tin về sách: Tên sách, Tên tác giả, Thể loại, Giá cả.

              • Cách thức xử lý: Truy vấn cơ sơ dữ liệu và tìm ra các sách có tên tương ứng với thông tin đầu vào. • Thông tin đầu vào: Nhập các thông tin về cá nhân: Tên truy cập, Mật khẩu, Xác nhận mật khẩu, Họ,Tên, Email, Địa chỉ, Số điện thoại, Kiểu thẻ thanh toán, Số thẻ. • Thông tin đầu ra: Hiển thị đơn hàng bao gồm tên sách, số lượng cùng với số tiền phải thanh toán.

              • Cách thức xử lý: Kiểm tra sự hợp lệ của các thông tin và thực hiện các câu truy vấn dữ liệu. • Miêu tả: Giúp người dùng xem thông tin về các đơn hàng mà khách hàng đã đặt trực tuyến qua mạng.

              PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

              • BIỂU ĐỒ TRÌNH TỰ

                ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 6: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6.2.3 Biểu đồ trình tự cho Use Case Tìm kiếm. ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 6: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6.2.5 Biểu đồ trình tự cho Use Case Thêm sách mới.

                Hình 6.3 Phân rã Use Case Quan tri sách
                Hình 6.3 Phân rã Use Case Quan tri sách

                Biểu đồ trình tự cho Use Case Them sach moi 6.2.6 Biểu đồ trình tự cho Use Case Xem đơn hàng

                  ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 6: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6.2.7 Biểu đồ trình tự cho Use Case Xóa đơn hàng. ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 6: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6.2.9 Biểu đồ trình tự cho Use Case Xóa thành viên. ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 6: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6.4.1.5 Bảng danh mục chứa thông tin thành viên: members.

                  ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 6: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6.5 MÔ HÌNH HOẠT ĐỘNG CỦA WEBSITE.

                  Hình 6.12 Biểu đồ trình tự cho Use Case Xoa don hang 6.2.8 Biểu đồ trình tự cho Use Case Xem thành viên
                  Hình 6.12 Biểu đồ trình tự cho Use Case Xoa don hang 6.2.8 Biểu đồ trình tự cho Use Case Xem thành viên

                  THỰC HIỆN BÀI TOÁN

                  • CÁC TRANG DÀNH CHO KHÁCH HÀNG .1 Trang chủ
                    • CÁC TRANG DÀNH CHO NHÀ QUẢN TRỊ .1 Trang quản trị sách

                      Đề tài “Khảo sát Session Bean và thiết kế mô hình Web” là một đề tài nguyên cứu về công nghệ mới Enterprise Java Bean mà Sun đưa ra. Đề tài đã trình bày mô hình lập trình mạng khá mới mẻ, lập trình ứng dụng đa tầng Enterprise Java Bean (EJB). Chúng ta đã tìm hiểu một số khái niệm cũng như kỹ thuật lập trình mới về kiến trúc phân tầng đang được đưa vào sử dụng rất rộng rãi trong nghành công nghiệp phần mềm hiện nay.

                      Trong quá trình khảo sát, tìm hiểu và phân tích đề tài này dưới sự chỉ dẫn của cô Phan Thị Hà, em đã hiểu được phần nào về mô hình lập trình đa tầng, kiến trúc Enterprise Java Bean, cách xây dựng và triệu gọi thành phần Bean mà cụ thể là Session Bean. - Quản trị sách: đưa vào kho các danh mục sách mới, cập nhật lại các thông tin cũ, xóa đi các mục sách cũ. - Quản trị đơn hàng: giúp khách hàng xem thông tin về các đơn hàng mà khách hàng đã đặt trực tuyến qua mạng.

                      Ứng dụng Web mà em xây dựng đã đạt được một số chức năng chính để phục vụ cho việc quản lý bán hàng qua mạng. Em mong nhận được sự đóng góp ý kiến của quý thầy cô và các bạn để phát triển hoàn thiện hơn trong thời gian tới nhằm đáp ứng đầy đủ các yêu cầu thực tế ngày nay. Vì vậy em rất mong quý thầy cô cũng như các bạn và những ai quan tâm đến đề tài này cho ý kiến để em hoàn thiện chương trình một cách đầy đủ hơn.

                      • Bảo mật hệ thống để tránh sự xâm nhập không hợp pháp của người dùng : nếu một hệ thống được bảo mật ở cả hai mức người dùng và cơ sở dữ liệu thì hệ thống đó sẽ an toàn hơn, ngăn chăn được các hành vi phá hoại…. Thay cho lời kết, một lần nữa em xin chân thành cảm ơn sự hướng dẫn và giúp đỡ tận tình của cô Phan Thị Hà cũng như sự đóng góp ý kiến của quý thầy cô và các bạn đã giúp em hoàn thành đồ án tốt nghiệp này.

                      Hình 7.2 Trang đăng nhập
                      Hình 7.2 Trang đăng nhập