1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ THÀNH PHẦN EJB

78 744 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 1,98 MB

Nội dung

Thành phần Bean phi trạng thái (stateless Bean) mang tên HelloWorld. Bean Hello thực hiện chức năng xuất ra một chuổi “Hello World”.

Trang 1

MỤC LỤC

MỤC LỤC 1

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5

DANH MỤC HÌNH VẼ 7

MỞ ĐẦU 9

CHƯƠNG 1 MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE 12

1.1 MÔ HÌNH KHÁCH CHỦ 12

1.2 MÔ HÌNH ĐA TẦNG 13

1.3 J2EE VÀ EJB 15

1.3.1 J2EE 15

1.3.1.1 Khái niệm J2EE 15

1.3.1.2 Kiến trúc trình chứa J2EE 15

1.3.1.3 Các API của J2EE 16

1.3.2 EJB 18

1.3.2.1 Khái niệm 18

1.3.2.2 Mô hình EJB 18

1.3.2.3 Vì sao dùng EJB 19

1.3.2.4 Các loại EJB 20

CHƯƠNG 2 TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB 22

2.1 THIẾT KẾ THÀNH PHẦN EJB 22

2.1.1 Phát triển Remote Interface 22

2.1.3 Phát triển lớp thực thi Bean (Bean Implement Class) 23

2.1.4 Phát triển lớp Client triệu gọi Bean 24

2.1.5 Viết file XML mô tả triển khai (Deployment Descriptor) 26

2.2 BIÊN DỊCH ĐỐI TƯỢNG EJB 27

2.3 KHỞI TẠO MÔI TRƯỜNG J2EE 27

2.4 ĐÓNG GÓI THÀNH PHẦN BEAN VỚI TRÌNH ĐÓNG GÓI 28

2.5 XÂY DỰNG THÀNH PHẦN WEB (WEB COMPONENT) 29

2.5.1 Viết một trang JSP triệu gọi thành phần Bean 29

2.5.2 Tạo thành phần Web 30

BÙI THÁI THÀNH LONG HVCNBCVT1

Trang 2

ĐỒ ÁN TỐT NGHIỆP MỤC LỤC

2.5.3 Kiểm chứng và đóng gói ứng dụng J2EE 31

2.5.4 Chạy ứng dụng J2EE 31

2.6 PHÁT TRIỂN BEAN THAO TÁC (SESSION BEAN) 31

2.6.1 Giao tiếp Session Bean 31

2.6.2 Phát triển Bean thao tác phi trạng thái (Stateless Session Bean) 32

2.6.2.1 Xây dựng Bean thao tác phi trạng thái 32

2.6.2.2 Chu trình hoạt động (Lyfe Cycle) của Bean thao tác phi trạng thái .33

2.6.2.3 Sơ đồ trạng thái (State Diagram) 33

2.6.2.4 Sơ đồ trình tự cho Bean thao tác phi trạng thái 34

2.6.3 Phát triển Bean thao tác lưu vết trạng thái (Stateful Session Bean) 34

2.6.3.1 Xây dựng Bean thao tác lưu vết trạng thái 34

2.6.3.2 Chu trình hoạt động của Bean thao tác lưu vết trạng thái 40

2.6.3.3 Sơ đồ trạng thái của Bean thao tác lưu vết trạng thái 41

2.6.3.4 Sơ đồ trình tự của Bean thao tác lưu vết trạng thái 42

2.7 GIỚI THIỆU TỔNG QUAN VỀ ENTITY BEAN 42

2.8 ENTERPRISE JAVA BEAN VÀ SỰ HỖ TRỢ CỦA CÁC TRÌNH CHỦ KHÁC 44

CHƯƠNG 3 TỔNG KẾT 45

CHƯƠNG 4 ĐẶT VẤN ĐỀ 46

CHƯƠNG 5 ĐẶC TẢ YÊU CẦU HỆ THỐNG 47

5.1 NGƯỜI SỬ DỤNG HỆ THỐNG 47

5.1.1 Đối với khách hàng chưa đăng ký 47

5.1.2 Đối với thành viên 47

5.1.3 Đối với người quản trị hệ thống 48

5.2 CÁC CHỨC NĂNG CỦA HỆ THỐNG 48

5.2.1 Các chức năng dành cho thành viên và khách hàng chưa đăng ký 48

5.2.1.1 Tìm kiếm sách 48

5.2.1.2 Tìm kiếm sách nâng cao 48

5.2.1.3 Đăng ký 49

5.2.1.4 Đăng nhập 49

5.2.1.5 Đánh giá sách 49

5.2.1.6 Đặt hàng qua mạng 50

5.2.2 Các chức năng quản lý 50

5.2.2.1 Quản trị sách 50

5.2.2.2 Quản trị thành viên 50

5.2.2.3 Quản trị đơn hàng 50

BÙI THÁI THÀNH LONG HVCNBCVT2

Trang 3

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

6.1 MÔ HÌNH USE CASE 52

6.2 BIỂU ĐỒ TRÌNH TỰ 55

6.2.1 Biểu đồ trình tự cho Use Case đăng nhập 55

6.2.2 Biểu đồ trình tự cho Use Case đặt hàng 55

6.2.3 Biểu đồ trình tự cho Use Case Tìm kiếm 56

6.2.4 Biểu đồ trình tự cho Use Case Đánh giá sách 56

6.2.5 Biểu đồ trình tự cho Use Case Thêm sách mới 57

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

6.2.7 Biểu đồ trình tự cho Use Case Xóa đơn hàng 58

6.2.8 Biểu đồ trình tự cho Use Case Xem thành viên 58

6.2.9 Biểu đồ trình tự cho Use Case Xóa thành viên 59

6.3 THIẾT KẾ BIỂU ĐỒ LỚP – ĐỐI TƯỢNG CHI TIẾT 59

6.4 THIẾT KẾ CƠ SỞ DỮ LIỆU 60

6.4.1 Thiết kế các bảng 60

6.4.1.1 Bảng chứa các để mục cho trang chủ: editorial_categories 60

6.4.1.2 Bảng chứa các chi tiết đề mục cho trang chủ: editorials 60

6.4.1.3 Bảng danh mục các thể loại sách: categories 60

6.4.1.4 Bảng danh mục chi tiết nội dung các tựa sách: items 60

6.4.1.5 Bảng danh mục chứa thông tin thành viên: members 61

6.4.1.6 Bảng chứa đơn đặt hàng: orders 61

6.4.1.7 Bảng chứa chi tiết đơn hàng: orderDetails 61

6.4.1.8 Bảng chứa thông tin đánh giá sách của khách hàng: rating 61

6.4.1.9 Bảng chứa các thể loại credit card 62

6.4.1.10 Bảng chứa các thông tin về giỏ hàng: shoppingCart 62

6.4.2 Mô hình quan hệ của hệ thống 62

6.5 MÔ HÌNH HOẠT ĐỘNG CỦA WEBSITE 63

CHƯƠNG 7 THỰC HIỆN BÀI TOÁN 64

7.1 CÁC TRANG DÀNH CHO KHÁCH HÀNG 64

7.1.1 Trang chủ 64

7.1.2 Trang đăng nhập 65

7.1.3 Trang đăng ký thành viên 66

7.1.4 Trang xem chi tiết sách 67

7.1.5 Trang giỏ hàng 68

7.1.6 Trang thanh toán 69

7.1.7 Trang tạo hóa đơn 70

BÙI THÁI THÀNH LONG HVCNBCVT3

Trang 4

ĐỒ ÁN TỐT NGHIỆP MỤC LỤC

7.2 CÁC TRANG DÀNH CHO NHÀ QUẢN TRỊ 71

7.2.1 Trang quản trị sách 71

7.2.2 Trang quản trị đơn hàng 72

7.2.3 Trang quản trị thành viên 73

ĐÁNH GIÁ 74

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75

TÀI LIỆU THAM KHẢO 76

BÙI THÁI THÀNH LONG HVCNBCVT4

Trang 5

BÙI THÁI THÀNH LONG HVCNBCVT5

Trang 6

ĐỒ ÁN TỐT NGHIỆP MỤC LỤC

BÙI THÁI THÀNH LONG HVCNBCVT6

Trang 7

JTA Java Transaction API

Trang 8

ĐỒ ÁN TỐT NGHIỆP DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

DANH MỤC HÌNH VẼ Hình 1.1 Mô hình khách chủ 12

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

Hình 1.3 J2EE và các trình chứa 15

Hình 1.4 Mô hình Enterprise Java Bean (EJB) 18

Hình 2.1 Khởi tạo môi trường J2EE 28

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

Hình 2.3 Chu trình hoạt đông của Stateless Bean 33

Hình 2.4 Sơ đồ trạng thái của Stateless Bean 33

Hình 2.5 Sơ đồ trình tự của Stateless Bean 34

Hình 2.6 Chu trình hoạt động của Stateful Bean 40

Hình 2.7 Sơ đồ trạng thái của Stateful Bean 41

Hình 2.8 Sơ đồ trình tự của Stateful Bean 42

Hình 6.1 Mô hình Use Case tổng quát của hệ thống 52

Hình 6.2 Phân rã Use Case Tim kiem 53

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

Hình 6.4 Phân rã Use Case Quan tri don hang 54

Hình 6.5 Phân rã Use Case Quan tri thanh vien 54

Hình 6.6 Biều đồ trình tự cho Use Case Dang nhap 55

Hình 6.7 Biểu đồ trình tự cho Use Case Dat hang 55

Hình 6.8 Biểu đồ trình tự cho Use Case Tim kiếm 56

Hình 6.9 Biểu đồ trình tự cho Use Case Danh gia sach 56

Hinh 6.10 Biểu đồ trình tự cho Use Case Them sach moi 57

Hình 6.11 Biểu đồ trình tự cho Use Case Xem don hang 57

Hình 6.12 Biểu đồ trình tự cho Use Case Xoa don hang 58

Trang 9

Hình 6.13 Biểu đồ trình tự cho Use Case Xem thanh vien 58

Hình 6.14 Biểu đồ trình tự cho Use Case Xoa thanh vien 59

Hình 6.15 Biểu đồ lớp - đối tượng chi tiết 59

Hình 6.16 Bảng chúa các đề mục cho trang chủ 60

Hình 6.17 Bảng chúa các chi tiết đề mục cho trang chủ 60

Hình 6.18 Bảng danh mục các thể loại sách 60

Hình 6.19 Bảng danh mục chi tiết nội dung các tựa sách 60

Hình 6.20 Bảng danh mục chứa thông tin thành viên 61

Hình 6.21 Bảng chứa đơn đặt hàng 61

Hình 6.22 Bảng chứa chi tiết đơn hàng 61

Hình 6.23 Bảng chứa thông tin đánh giá của khách hàng 61

Hình 6.24 Bảng chứa các thể loại credit card 62

Hình 6.25 Bảng chứa các thông tin về giỏ hàng 62

Hình 6.26 Mô hình quan hệ của hệ thống 62

Hình 6.27 Mô hình hoạt động của Web site 63

Hình 7.1 Trang chủ 64

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

Hình 7.3 Trang đăng ký thành viên 66

Hình 7.4 Trang xem chi tiết sách 67

Hình 7.5 Trang giỏ hàng 68

Hình 7.6 Trang thanh toán 69

Hình 7.7 Trang tạo hóa đơn 70

Hình 7.8 Trang quản trị sách 71

Hình 7.9 Trang quản trị đơn hàng 72

Hình 7.10 Trang quản trị thành viên 73

Trang 10

ĐỒ ÁN TỐT NGHIỆP DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Trang 12

ĐỒ ÁN TỐT NGHIỆP MỞ ĐẦU

Phần 2: Xây dựng hệ thống bán sách trực tuyến ứng dụng công nghệ EJB

Chương 6 Phân tích và thiết kế hệ thống

Cuối cùng là đánh giá, kết luận những kết quả đạt được, những hạn chế và đề xuất

các định hướng tiếp theo cho đồ á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

Trang 14

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE

Máy khách (Client)

Trình ứngdụng

Máy chủ (Server)

Gửi yêu cầu Đáp ứng yêu cầu Cơ sở dữ liệu

Trang 15

1.2 MÔ HÌNH ĐA TẦNG

Giả sử chúng ta quản lý và phân phối ứng dụng trên 100 máy tính nằm ở nhiều

nơi khác nhau chúng ta cài đặt trình điều khiển kết nối cơ sở dữ liệu SQL Server lên

từng máy 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

Hoặc khi chúng ta muốn thay đổi mã nguồn của ứng dụng khách, chúng ta phải gửi bản

cập nhật hàng chục Mb đến 100 máy khách yêu cầu cập nhật lại chương trình Tất cả

những yêu cầu trên đã làm phát sinh mô hình phát triển ứng dụng đa tầng (multi-tier)

Các ứng dụng xử lý không còn được cài đặt trên máy khách mà được cài đặt trên một

máy chủ 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

Web là một ví dụ điển hình nhất của mô hình ứng dụng đa tầng Trình chủ Web

nằm trên một máy chủ , trình khách chỉ cần dùng trình duyệt (web browser) kết nối vào

máy chủ và có thể truy cập được mọi thông tin cũng như dịch vụ Trình chủ sử dụng

Java Servlet, trang JSP hay các ứng dụng CGI (Common Gateway Interface) để kết nối

với cơ sở dữ liệu, đối tượng phân tán RMI (Remote Method Invocation-nằm trên một

máy chủ khác) xử lý tính toán và trả về kết quả cho trình khách thông qua các trang

Web tĩnh Mô hình đa tầng đã phân rã chức năng một cách cụ thể, cho phép ứng dụng

chạy trên nhiều máy chủ khác nhau Dễ dàng cho người phát triển, nhà cung cấp cũng

như người sử dụng trên mạng diện rộng nhất là mạng Internet Đó là lý do tại sao các

nhà phát triển đều mong muốn hướng đến việc thiết kế ứng dụng Web

Trang 16

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE

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

Mô hình ứng dụng đa tầng này dựa trên nền tảng J2EE Một ứng dụng J2EE có

thể bao gồm 3 hoặc 4 tầng nhưng những ứng dụng J2EE thường được xem là 3 tầng vì

nó được phân tán trên 3 vị trí : Máy khách (Client Machine), máy chủ J2EE (J2EE

Server Machine), và máy chủ cơ sở dữ liệu (Database Server Machine)

J2EE Server

Trình chủ Web (Web Server)

Dịch vụ Web

Servlet,JSP, CGI, ASP…

Object Object

Trình chứa (container)

Trang 17

1.3 J2EE VÀ EJB

1.3.1 J2EE

Là một trong 3 platform của Java J2ME ,J2SE.J2EE Nó đặt các Enterprise API

của Java lại với nhau và gói chúng lại thành một platform phát triển hoàn chỉnh cho

việc triển khai các lớp enterprise trong Java phía máy chủ Nhiệm vụ của J2EE là cung

cấp một platform độc lập, linh động, đa người dùng, bảo mật.cho việc triển khai phía

máy chủ trong ngôn ngữ lập trình Java J2EE là một đặc tả , không phải là một sản

phẩm Nó chỉ ra các quy tắc ràng buộc mọi người phải nhất trí khi viết phần mềm

enterprise

Hình 1.3 J2EE và các trình chứa

Trình chứa là nơi cung cấp môi trường hoạt động và là nơi giao tiếp giữa các thành

phần Trước khi một thành phần Web, Enterprise Bean hay thành phần ứng dụng khách

có thể được thực thi nó phải được tập hợp lại trong một Module và được triển khai đến

trình chứa của nó Tiến trình tập hợp bao gồm các thiết lập đặc tính của trình chứa cho

mỗi thành phần trong ứng dụng J2EE và cho chính ứng dụng J2EE Những tùy biến

thiết lập trình chứa hổ trợ cơ bản được cung cấp bởi Server J2EE, bao gồm những dịch

vụ như : bảo mật, quản lý giao tác, tra cứu thao tác định danh và thư mục Java (Java

Naming and Directory Interface), và khả năng kết nối từ xa Quá trình triển khai và cài

đặt những thành phần ứng dụng J2EE trong trình chứa J2EE được mô tả trong hình trên

(hình 1.3) Trong đó :

Trang 18

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE

- J2EE Server : là phần chạy thực của một sản phẩm J2EE Server J2EE

cung cấp trình chứa EJB và Web

- Trình chứa EJB : quản lý việc thực thi của Enterprise Bean cho những

ứng dụng J2EE Enterprise Bean và trình chứa của nó chạy trên Server

J2EE

- Trình chứa Web : Quản lý việc thực thi và những thành phần Servlet

cho những ứng dụng J2EE Những thành phần Web và các ứng dụng của

nó chạy trên Server J2EE

- Trình chứa ứng dụng J2EE : quản lý việc thực thi những thành phần

ứng dụng của Client Những ứng dụng Client và trình chứa của nó chạy

trên máy Client

- Trình chứa Applet : quản lý việc thực thi của các Applet Bao gồm một

trình duyệt Web và Java Plug-in chạy trên cùng máy Client

Sau đây là một số các API thông dụng của J2EE:

 Kỹ thuật Enterprise Java Bean: Một thành phần Enterprise Java Bean hay

Enterprise Bean, là thân mã lệnh có các field và các phương thức để thực thi

các Module của các logic nghiệp vụ Chúng ta có thể nghĩ Enterprise Bean

như một khối xây dựng mà có thể sử dụng riêng lẻ hoặc với các Enterprise

Bean khác để thực thi logic nghiệp vụ trên server J2EE Có hai loại EJB

chính đó là : Bean thao tác và Bean thực thể Ngoài ra còn có

Message-Driven Bean là một điểm mới trong chuẩn EJB 2.0

 Kỹ thuật Java Servlet: tương tác với Web client thông qua cơ chế

request-response Cơ chế này hoạt động dựa trên giao thức HTTP

 Kỹ thuật Java Server Page: dùng để xây dựng các ứng dụng có chứa nội

dung Web động như HTML, DHTML, XML

 Java Message Service: là một chuẩn message cho phép các thành phần

ứng dụng J2EE tạo, gởi, nhận và đọc các message Nó là một API để giao

tiếp với Message Oriented Middleware (MOM) cho phép truyền nhận

message theo cơ chế point-to-point và publish/subcriber

Trang 19

 Java Transaction API (JTA): là một tập API cho phép quản lý các giao

tác Ứng dụng có thể sử dụng JTA để Start, Commit hoặc hủy bỏ giao tác

 Java Mail API: các ứng dụng J2EE sử dụng Java Mail API để gởi email

thông báo Java Mail API có 2 phần : một giao tiếp mức ứng dụng được sử

dụng bởi các thành phần ứng dụng để gởi thư, và một giao tiếp trình cung

cấp dịch vụ Nền J2EE bao gồm Java mail với một trình cung cấp dịch vụ

cho phép các thành phần ứng dụng gởi thư Internet

 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ụ

đó

 Java Database Connectivity (JDBC) API: JDBC cho phép ta gọi các câu

lệnh SQL từ các phương thức của ngôn ngữ lập trình java Chúng ta cũng có

thể sử dụng JDBC API từ một Servlet hay một trang JSP để truy xuất CSDL

một cách trực tiếp mà không cần thông qua enterprise bean JDBC API có 2

phần : một giao tiếp mức ứng dụng được sử dụng bởi các thành phần ứng

dụng để truy xuất một CSDL, và một giao tiếp trình cung cấp dịch vụ để

đính kèm một trình điều khiển JDBC cho nền J2EE

 Java Naming and Directory Interface (JNDI): một interface duy nhất

dùng để truy cập những kiểu dịch vụ khác nhau về định danh và thư mục

Trang 20

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE

Hình 1.4 Mô hình Enterprise Java Bean (EJB)

Hình 1.4 mô tả mô hình Enterprise Java Bean trong đó:

 EJB Server: cung cấp dịch vụ hệ thống và quản lý những trình chứa mà

Bean chạy Nó phải làm tồn tại một khả năng truy xuất dịch vụ định danh

JNDI và dịch vụ giao tác Borland Enterprise Server AppServer Edition 6.0

là một ví dụ về Server EJB

 Trình chứa EJB: một trình chứa là một hệ thống chạy thực cho một hoặc

nhiều Enterprise Bean Nó cung cấp sự truyền thông giữa Bean và EJB

server Nó cung cấp giao tác, bảo mật và quản lý sự phân phối mạng Một

trình chứa thì gồm có mã và một công cụ sinh mã cho Enterprise Bean

Thông thường, trình chứa cũng cung cấp những công cụ để triển khai

Trang 21

Enterprise Bean, có nghĩa là trình chứa có thể giám sát và quản lý ứng dụng.

Server EJB và trình chứa EJB kết hợp với nhau cung cấp môi trường cho

Bean chạy Trình chứa cung cấp sự quản lý các dịch vụ đến một hoặc nhiều

Bean Server cung cấp những dịch vụ cho Bean, nhưng trình chứa có sự

tương tác giữa Bean đến các dịch vụ này

Mỗi EJB bắt buộc phải có các interface và các class sau:

 Remote interface: remote interface kế thừa javax.ejb.EJBObject Remote

interface chứa các phương thức nghiệp vụ được gọi từ Client Nó đóng vai

trò như một proxy của EJB

 Home interface: home interface kế thừa javax.ejb.EJBHome Nó đóng

vai trò như một mô hình để khởi tạo EJB

 Bean class: chứa phần cài đặt của các phương thức khai báo trong remote

interface Bean class kế thừa javax.ejb.SessionBean hoặc

javax.ejb.EntityBean hoặc javax.ejb.MessageDrivenBean

Mô hình Client đã tồn tại rất lâu và rất phổ biến ứng dụng Client được cài trên

máy cục bộ và truy xuất dữ liệu ở một kho dữ liệu như là hệ thống quản lý cơ sở dữ

liệu quan hệ Mô hình này làm việc tốt cho những mô hình chỉ có vài người dùng Khi

có nhiều người dùng hơn cần truy xuất dữ liệu, những ứng dụng này sẽ không đáp ứng

được yêu cầu đó Bởi vì Client chứa các logic, nó phải được cài đặt trên mỗi máy Làm

cho việc quản lý trở nên rất khó khăn Dần dần lợi ích của việc chia các ứng dụng

thành nhiều hơn hai tầng của mô hình Client/Server càng trở nên rõ ràng

Trong ứng dụng đa tầng, giao tiếp người dùng được đặt trên máy cục bộ, trong khi

đó logic của ứng dụng được chạy trong tầng giữa trên một server Tầng cuối cùng vẫn

đóng vai trò lưu trữ dữ liệu Khi logic của một ứng dụng cần cập nhật, thay đổi làm cho

phần mềm của tầng giữa trên server, rất đơn giản cho việc quản lý cập nhật EJB chứa

những logic nghiệp vụ của ứng dụng, nên có thể nói EJB chính là phần lõi của hầu hết

các ứng dụng phân tán cho enterprise EJB có những đặc điểm sau:

 Chứa nghiệp vụ để thao tác với dữ liệu

 Được tạo ra và được quản lý bởi một trình chứa

Trang 22

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE

 Xử lý các truy cập của Client

 Chứa thuộc tính của giao tác và bảo mật riêng biệt với các Bean

 Cung cấp dịch vụ quản lý giao tác, quản lý trạng thái, quay vòng tài

nguyên và bảo mật

Có 2 loại chính đó là Session Bean (Bean thao tác) và Entity Bean (Bean thực

thể) Ngoài ra còn có Message – driven bean

1 Session bean: Nếu đối tượng Bean chỉ thực hiện các hành vi xử lý, tính toán

đơn thuần thì chúng được phân lọai thành Bean thao tác (Session Bean) Bean

thao tác chỉ có nhiệm vụ phục vụ trình khách, nơi triệu gọi đối tượng 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)

 Stateless bean: là các thành phần bean không lưu lại trạng thái của giao

dịch trước đó để sử dụng cho lần giao dịch sau Bean thao tác phi trạngthái là đối tượng Bean đơn giản, dễ dùng, dễ thiết kế và quản lý nhấttrong tất cả các đối tượng EJB

 Stateful bean: Bean thao tác lưu vết trạng thái là các thành phần Bean cần

lưu lại vị trí của giao dịch trước đó để sử dụng cho các lần giao dịch sau

Các Bean này thường phục vụ cho các thao tác đòi hỏi phải qua nhiềubước triệu gọi trước khi trả về kết quả cuối cùng

2 Entity bean: Đối tượng thường mô tả một thực thể nào đó trong cuộc sống

thực Bean thực thể cung cấp một đối tượng xem xét dữ liệu trong cơ sở dữ liệu

Thông thường Bean đại diện cho một hàng trong tập hợp các bản của cơ sở dữ

liệu quan hệ Một Bean thực thể thường phục vụ nhiều hơn một Client Không

giống như Bean thao tác, Bean thực thể thì sống lâu hơn Chúng duy trì một

trạng thái tồn tại miễn là dữ liệu còn trong cơ sở dữ liệu, hay nói đúng hơn miễn

là còn Client riêng biệt cần đến nó Việc quản lý dữ liệu của Bean thực thể được

chia ra làm hai lọai:

Trang 23

 Bean thực thể quản lý (Bean - Managed): là các thành phần Bean có khả

năng thực thi các câu truy vấn cơ sở dữ liệu ( do lập trình viên xâydựng ) để lấy về dữ liệu mà nó thể hiện Ví dụ trong phương thức khởidựng Bean thực thể có thể dùng các câu lệnh SQL như SELECT,INSERT (thông qua JDBC) để tự tìm hoặc thêm mới dữ liệu mà nó thểhiện vào các bản trong cơ sở dữ liệu

 Bean thực thể quản lý bởi trình chứa (Container Managed): thành phần

Bean có thể không cần phải sử dụng lệnh SQL để tự tìm kiếm hay tạomới dữ liệu mà nó thể hiện Thay vào đó đối tượng Bean sẽ tự khai báotrong trường (fields) hay cột (column) dữ liệu tương ứng với các bản(table) trong hệ quản trị cơ sở dữ liệu Trình chứa sẽ tự động thực hiệncông việc truy vấn dữ liệu giúp thành phần Bean Đối tượng Bean thểhiện dữ liệu theo kiểu này được gọi là Bean thực thể được quản lý bởitrình chứa

3 Message – Driven Bean: là một chuẩn mới trong EJB 2.0 (EJB 1.1 chỉ định

nghĩa 2 lọai đó là Session Bean và Entity Bean) Mục đích của Message-Driven

Bean là phục vụ cho nhu cầu về các dịch vụ không đồng bộ của các thành phần

Bởi vì Session Bean và Entity Bean chỉ phục vụ cho các dịch vụ đồng bộ

Trang 24

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

2.1.3 Phát triển lớp thực thi Bean (Bean Implement Class)

Thành phần Bean Hello đặc tả phương thức hello() và kế thừa lớp

javax.ejb.SessionBean Nó có mã nguồn được cài đặt như sau :

{ System.out.println("hello()");

return "Hello, World!";

}public void ejbCreate() {

System.out.println("ejbCreate()");

}public void ejbRemove() {

System.out.println("ejbRemove()");

} public void ejbActivate() {

System.out.println("ejbActivate()");

} public void ejbPassivate() {

System.out.println("ejbPassivate()");

} public void setSessionContext(SessionContext ctx) {

System.out.println("setSessionContext()");

Trang 25

}}Như chúng ta thấy, đối tượng HelloBean của ta cung cấp phương thức hello() để

xuất ra chuổi “Hello, World !” Đây chính là phương thức thể hiện rõ mục đích phục vụ

của thành phần Bean Chúng còn được gọi là các phương thức thể hiện logic nghiệp vụ

(business logic) mà Bean cần thực hiện

2.1.4 Phát triển lớp Client triệu gọi Bean

Chúng ta sẽ xây dựng lớp HelloClient để triệu gọi đối tượng HelloBean mà ta đã

xây dựng ở trên Đặc tả cho lớp HelloClient như sau :

Properties props = System.getProperties();

Context ctx = new InitialContext(props);

Object obj = ctx.lookup("HelloBean");

HelloHome home = (HelloHome)

javax.rmi.PortableRemoteObject.narrow(obj,HelloHome.class);

// Tạo đối tượng hello thuộc Remote Interface // từ đối tượng Home Interface

Hello hello = home.create();

// Xuất ra chuỗi “Hello, World !”

System.out.println(hello.hello());

hello.remove();

}}Trên đây chúng ta vừa xây dựng các lớp giao tiếp để các client triệu gọi từ xa

Để 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 Cài đặt như sau :

Trang 26

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

Trang 27

2.1.5 Viết file XML mô tả triển khai (Deployment Descriptor)

Trang 28

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

2.2 BIÊN DỊCH ĐỐI TƯỢNG EJB

Bây giờ chúng ta sẽ biên dịch các lớp của HelloWorld, các bước như sau :

 Trong cửa sổ Command ta di chuyển đến thư mục C:\HelloWorld

 Đánh vào dòng lệnh sau : javac helloworld\HelloClient.java Câu lệnh này sẽ biên

dịch các file nguồn của enterprise bean Sau đó ta sẽ thu được các file sau : Hello.class,

HelloHome.class và HelloBean.class

2.3 KHỞI TẠO MÔI TRƯỜNG J2EE

Để khởi tạo môi trường J2EE chúng ta cần làm các bước sau :

 Từ cửa sổ Command Prompt ta chuyển đến thư mục “C:\Sun\AppServer\bin” (thư

mục cài đặt của Sun Application Server)bằng câu lệnh :

“ CD C:\Sun\AppServer\bin “

 Sau khi chuyển đến thư mục “C:\Sun\AppServer\bin “, ta gõ vào lệnh:

“asadmin”.

 Khi dấu nhắc chuyển về “asadmin>”, ta có thể dùng lệnh “Help” để hiển thị tất cả

các lệnh của asadmin Để khởi tạo môi trường J2EE ta gõ vào lệnh :

“start-appserv” Để kiểm tra chúng ta có thể dùng trình duyệt Internet Explorer và

đánh vào địa chỉ : http://localhost:8080 Nếu môi trường J2EE đã được khởi tạo

thì sẽ xuất hiện một trang như sau :

Trang 29

Hình 2.1 Khởi tạo môi trường J2EE

 Để stop môi trường J2EE ta dùng lệnh “stop-appsrv”

2.4 ĐÓNG GÓI THÀNH PHẦN BEAN VỚI TRÌNH ĐÓNG GÓI

Để đóng gói thành phần Bean Hello chúng ta chạy tiện ích Wizard Edit

Enterprise Bean của tiện ích Deploy Tool Trong suốt quá trình này wizard sẽ thực thi

các tác vụ sau :

- Tạo mô tả đóng gói của Bean

- Đóng gói mô tả đóng gói và các class của Bean trong file EJB_JAR

- Chèn file EJB_JAR vào file HelloWorld.ear

Để bắt đầu tiện ích Wizard Edit Enterprise Bean, chọn File -> New -> Edit

Enterprise Bean Tiện ích wizard sẽ thể hiện những hộp thọai sau :

 Hộp thọai giới thiệu

 Nhấn Next

 Hộp thọai EJB_JAR :

- Nhấn nút có nhãn Create New JAR Module

- Trong Combo box chọn HelloWorldApp

Trang 30

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

- Trong ô JAR Display Name, gõ vào HelloWorldJAR

- Nhấn vào nút Edit Contends

- Trong nhánh Available Files, chọn build/HelloWorld

- Trong nhánh Available Files chọn các Class

- Nhấn nút Add

- Nhấn OK

- Nhấn Next

 Hộp thọai Generate :

- Trong Bean Type chọn Stateless Session

- Trong Combo Enterprise Bean Class, chọn helloworld.HelloBean

- Trong ô Enterprise Bean Name, gõ vào HelloBean

- Trong Combo Remote Interface, chọn helloworld.Hello

- Nhấn Next

- Trong hộp thọai Expose as Web Service chọn No và nhấn Next

- Nhấn Finish

2.5.1 Viết một trang JSP triệu gọi thành phần Bean

Chúng ta sẽ viết một trang JSP triệu gọi thành phần Bean Hello mà ta đã xây

dựng ở trên Mã chương trình như sau :

Trang 31

InitialContext jndiContext=new InitialContext();

Để xây dựng thành phần Web cho thành phần Bean Hello, chúng ta dùng tiện

ích Deploy tool của Sun Application Server 8.0 Các bước làm như sau :

 Sau khi khởi động tiện ích Deploy tool ta chọn File-> New -> Web

Component

 Nhấn Next

 Trong WAR Location chọn “Create New Stand-Alone WAR Module”,

trong ô WAR Display Name gõ vào : “helloweb” Nhấn Vào Edit

 Contents, ta tiến hành đưa tất cả các class và trang JSP vào trong thư mục

WEB-INF, nhấn OK Nhấn Next

 Tiến trình sẽ yêu cầu ta chọn loại thành phần (Component Type), chọn

JSP Page, nhấn Next để đến bước kế tiếp

Trang 32

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

 Ở bước này, trong JSP File name ta chon : “/Hello.jsp”, Nhấn Next

 Nhấn Finish

2.5.3 Kiểm chứng và đóng gói ứng dụng J2EE

Để chứng ứng dụng J2EE, ta dùng tiện ích Verify J2EE của Deploy tool Chọn tools->

Verify J2EE… Một hộp thoại xuất hiện, trong items to be verified, nhấn nút Add để

đưa file “helloweb.war” mà ta vừa tạo vào, nhấn OK Tiện ích sẽ tiến hành kiểm tra và

thông báo kết quả cho ta biết…

2.5.4 Chạy ứng dụng J2EE

Sau khi khi tạo thành phần Web, ta khởi động trang Admin Console, chọn Web

Aplication, nhấn vào “Launch” của helloweb để chạy ứng dụng

2.6 PHÁT TRIỂN BEAN THAO TÁC (SESSION BEAN)

2.6.1 Giao tiếp Session Bean

Giao tiếp Session Bean định nghĩa các phương thức mà tất cả các Session Bean

phải thực thi Nó thừa kế giao tiếp Enterprise Bean

void ejbRemove() throws EJBException, RemoteException;

void ejbActivate() throws EJBException, RemoteException;

void ejbPassivate() throws EJBException, RemoteException;

}

Trang 33

2.6.2 Phát triển Bean thao tác phi trạng thái (Stateless Session Bean)

Thành phần Bean Hello mà ta xây dựng trên đây là thành phần Bean phi trangthái 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ìnhchứa

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

1 Trình khách sử dụng dịch vụ JNDI yêu cầu lấy về tham chiếu đến lớpchủ HelloHome

2 Trình khách gọi phương thức create() của lớp giao tiếp chủ HelloHomeyêu cầu tạo ra tham chiếu đến lớp Hello

3 Sau khi có tham chiếu đến lớp Hello, trình khách sẽ sử dụng lớp Hellotriệu gọi phương thức của đối tượng Bean trong trình chứa container

4 Trình chứa đón nhận lời triệu gọi từ Hello, thay mặt trình khách gọi đếnthành phần Bean thực tế bên trong do trình chứa quản lý

Trang 34

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

2.6.2.2 Chu trình hoạt động (Lyfe Cycle) của Bean thao tác phi trạng thái

Bởi vì Bean thao tác phi trạng thái không bao giờ thụ động (passivate), nên chutrì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ươngthức của business Sau đây là chu trình họat động của Bean thao tác phi trạng thái:

Hình 2.3 Chu trình hoạt đông của Stateless Bean

Hình 2.4 Sơ đồ trạng thái của Stateless Bean

Chưa tồn tại

Sẵn Sàng

2.ejbCreate

1.setSessionContex

3.ejbRemove

Trang 35

2.6.2.4 Sơ đồ trình tự cho Bean thao tác phi trạng thái

Hình 2.5 Sơ đồ trình tự của Stateless Bean 2.6.3 Phát triển Bean thao tác lưu vết trạng thái (Stateful Session Bean)

Thành phần Hello Bean mà ta xây dựng trên đây là thành phần Bean EJB thao tác phitrang thái (stateless bean) Có những thành phần Bean đòi hỏi phải lưu giữ thông tin trong suốtquá 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 Beanthao 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ầnBean Sau đây là đặc tả các lớp:

 Lớp Cart: tương tự như lớp Hello nó cũng kế thừa lớpjavax.ejb.EJBObject.:

import java.util.*

import javax.ejb.EJBObject;

import java.rmi.RemoteException;

Trang 36

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

public interface Cart extends EJBObject {

public void addBook(String title) throws RemoteException;

public void removeBook(String title) throwsBookException,RemoteException;

public Vector getContents() throws RemoteException;

Cart create(String person) throws RemoteException,CreateException;

Cart create(String person, String id) throws

if(person= =null) {

Trang 37

throw new CreateException(“Null person not allowned”); } else {

customerName=person;

} // Tạo đối tượng kiểm tra định danh của khách hàng sử dụng Bean

IdVerifier idChecker = new IdVerifier();

If(idChecker.validate(id))

{

CustomerId = id;

}else { throw new CreateException(“Invalid id:” +id);}

contents = new Vector();

}// Thêm tựa sách bào danh mục

public void addBook(String title) {

contents.addElement(title);

}// Loại tựa sách ra khỏi danh mục

public void removeBook(String title) throwsBookException

{

boolean result = contents.removeElement(title);

if(result = = false) { throw new BookException(title + “not

in cart.”);

}

}// Trả về danh mục sách đã chọn

public Vector getContents() {

return contents;

}

Trang 38

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: TRIỂN KHAI ĐỐI TƯỢNG BEAN EJB

public CartBean() {

}// Các phương thức triệu gọi bởi trình chứa

public void ejbRemove() {

System.out.println(“Bean Remove”);

}public void ejbActivate() {

System.out.println(“Bean Passivate”);

}public void setSessionContext(SessionContext sc) {

}}

 CartBean xây dựng lớp IdVerifier để kiểm tra định danh của khách hàngmua sách như sau:

Public class IdVerifier {

Public IdVerifier() {

}public boolean validate (String id )

Trang 39

{

boolean result = = true;

for(int i = 0; i < id.length(); i++) {

 Chúng ta xây dựng lớp ngoại lệ BookException phục vụ cho CartBeanphát sinh lỗi khi xóa hết sách trong danh mục như sau:

public class BookException extends Exception {

public BookException() {

}public BookException( String msg)

{

super(msg);

} }

Để đưa CartBean vào trình chứa của J2EE, chúng ta biên dịch mã nguồn củaCart.java, CartHome.java, CartBean.java 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 J2EEtương tự như các bước chúng ta đã làm với Session Stateless Bean Chỉ khác ở chổ tachọn Bean Type là Stateful

 Tiếp theo, chúng ta sẽ viết trình khách triệu gọi đối tượng CartBean, nóđược viết như sau:

Ngày đăng: 25/04/2013, 10:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phương Lan (Chủ biên) (2004),Java tập 2, NXB Thống kê, Nhà sách Minh Khai [2] Greq Barish (2001),Building Scalable And Hight-Performance JavaTM WebApplication Using J2EE Technology, Addison Wesley Sách, tạp chí
Tiêu đề: Java tập 2, "NXB Thống kê, Nhà sách Minh Khai[2] Greq Barish (2001),"Building Scalable And Hight-Performance JavaTM Web "Application Using J2EE Technology
Tác giả: Phương Lan (Chủ biên) (2004),Java tập 2, NXB Thống kê, Nhà sách Minh Khai [2] Greq Barish
Nhà XB: NXB Thống kê
Năm: 2001
[3] Budi Kurniawan (2002),Java For The Web With Servlet, JSP, And EJB, New Rider Publishing Sách, tạp chí
Tiêu đề: Java For The Web With Servlet, JSP, And EJB
Tác giả: Budi Kurniawan
Năm: 2002
[4] Ed Roman, Scott Ambler, Tyler Jewell(2002),Mastering Enterprise Java Bean – Second Edition, Wiley &amp; Son, Inc Sách, tạp chí
Tiêu đề: Mastering Enterprise Java Bean – Second Edition
Tác giả: Ed Roman, Scott Ambler, Tyler Jewell
Năm: 2002
[5] Ed Roman (1999), Mastering Enterprise JavaBeans and the Java 2 Platform, Enterprise Edition, Wiley &amp; Son, Inc Sách, tạp chí
Tiêu đề: Mastering Enterprise JavaBeans and the Java 2 Platform, Enterprise Edition
Tác giả: Ed Roman
Năm: 1999
[7] Jenitfer Ball, Debbie Bode Carson, Ian Evans, Kim Haase, Eric Jendrock (2006), The Java EE 5 Tutorial For Sun Java System Application Server Platform Edition 9, http://java.sun.com/javaee/5/docs/tutorial/doc/ Sách, tạp chí
Tiêu đề: The Java EE 5 Tutorial For Sun Java System Application Server Platform Edition 9
Tác giả: Jenitfer Ball, Debbie Bode Carson, Ian Evans, Kim Haase, Eric Jendrock
Năm: 2006
[6] EricArmstrong, Jennifer Ball, Stephanie Bodoff, Debbie Bode Carson, Ian Evans, Kenneth Ganfield, Dale Green, Kim Haase, Eric Jendrock, John Jullion – Khác

HÌNH ẢNH LIÊN QUAN

ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE - THIẾT KẾ THÀNH PHẦN EJB
1 MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE (Trang 13)
Hình 1.1 Mô hình khách chủ - THIẾT KẾ THÀNH PHẦN EJB
Hình 1.1 Mô hình khách chủ (Trang 13)
ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE - THIẾT KẾ THÀNH PHẦN EJB
1 MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE (Trang 15)
Hình 1.2 Mô hình đa tầng Multi-tier - THIẾT KẾ THÀNH PHẦN EJB
Hình 1.2 Mô hình đa tầng Multi-tier (Trang 15)
ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE - THIẾT KẾ THÀNH PHẦN EJB
1 MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE (Trang 16)
Hình 1.3 J2EE và các trình chứa - THIẾT KẾ THÀNH PHẦN EJB
Hình 1.3 J2EE và các trình chứa (Trang 16)
ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE - THIẾT KẾ THÀNH PHẦN EJB
1 MÔ HÌNH LẬP TRÌNH ĐA TẦNG VỚI J2EE (Trang 19)
Hình 1.4 Mô hình Enterprise Java Bean (EJB) - THIẾT KẾ THÀNH PHẦN EJB
Hình 1.4 Mô hình Enterprise Java Bean (EJB) (Trang 19)
Hình 2.2 Giao tiếp giữa trình khách và đối tượng EJB - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.2 Giao tiếp giữa trình khách và đối tượng EJB (Trang 33)
Hình 2.2 Giao tiếp giữa trình khách và đối tượng EJB - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.2 Giao tiếp giữa trình khách và đối tượng EJB (Trang 33)
Hình 2.3 Chu trình hoạt đông của Stateless Bean - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.3 Chu trình hoạt đông của Stateless Bean (Trang 34)
Hình 2.5 Sơ đồ trình tự của Stateless Bean - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.5 Sơ đồ trình tự của Stateless Bean (Trang 35)
2.6.2.4  Sơ đồ trình tự cho Bean thao tác phi trạng thái - THIẾT KẾ THÀNH PHẦN EJB
2.6.2.4 Sơ đồ trình tự cho Bean thao tác phi trạng thái (Trang 35)
Hình 2.7 Sơ đồ trạng thái của Stateful Bean - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.7 Sơ đồ trạng thái của Stateful Bean (Trang 42)
Hình 2.7 Sơ đồ trạng thái của Stateful Bean - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.7 Sơ đồ trạng thái của Stateful Bean (Trang 42)
Hình 2.8 Sơ đồ trình tự của Stateful Bean - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.8 Sơ đồ trình tự của Stateful Bean (Trang 43)
Hình 2.8 Sơ đồ trình tự của Stateful Bean - THIẾT KẾ THÀNH PHẦN EJB
Hình 2.8 Sơ đồ trình tự của Stateful Bean (Trang 43)
6.1MÔ HÌNH USE CASE - THIẾT KẾ THÀNH PHẦN EJB
6.1 MÔ HÌNH USE CASE (Trang 53)
Hình 6.1 Mô hình Use Case tổng quát của hệ thống - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.1 Mô hình Use Case tổng quát của hệ thống (Trang 53)
Hình 6.3 Phân rã Use Case Quan tri sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.3 Phân rã Use Case Quan tri sách (Trang 54)
Hình 6.3 Phân rã Use Case Quan tri sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.3 Phân rã Use Case Quan tri sách (Trang 54)
Hình 6.6 Biều đồ trình tự cho Use Case Dang nhap 6.2.2 Biểu đồ trình tự cho Use Case đặt hàng - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.6 Biều đồ trình tự cho Use Case Dang nhap 6.2.2 Biểu đồ trình tự cho Use Case đặt hàng (Trang 56)
Hình 6.7 Biểu đồ trình tự cho Use Case Dat hang - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.7 Biểu đồ trình tự cho Use Case Dat hang (Trang 56)
Hình 6.7 Biểu đồ trình tự cho Use Case Dat hang - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.7 Biểu đồ trình tự cho Use Case Dat hang (Trang 56)
Hình 6.6 Biều đồ trình tự cho Use Case Dang nhap 6.2.2 Biểu đồ trình tự cho Use Case đặt hàng - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.6 Biều đồ trình tự cho Use Case Dang nhap 6.2.2 Biểu đồ trình tự cho Use Case đặt hàng (Trang 56)
Hình 6.8 Biểu đồ trình tự cho Use Case Tim kiếm 6.2.4 Biểu đồ trình tự cho Use Case Đánh giá sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.8 Biểu đồ trình tự cho Use Case Tim kiếm 6.2.4 Biểu đồ trình tự cho Use Case Đánh giá sách (Trang 57)
Hình 6.9 Biểu đồ trình tự cho Use Case Danh gia sach - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.9 Biểu đồ trình tự cho Use Case Danh gia sach (Trang 57)
Hình 6.8 Biểu đồ trình tự cho Use Case Tim kiếm 6.2.4 Biểu đồ trình tự cho Use Case Đánh giá sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.8 Biểu đồ trình tự cho Use Case Tim kiếm 6.2.4 Biểu đồ trình tự cho Use Case Đánh giá sách (Trang 57)
Hình 6.9 Biểu đồ trình tự cho Use Case Danh gia sach - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.9 Biểu đồ trình tự cho Use Case Danh gia sach (Trang 57)
Hình 6.11 Biểu đồ trình tự cho Use Case Xem don hang - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.11 Biểu đồ trình tự cho Use Case Xem don hang (Trang 58)
Hình 6.11 Biểu đồ trình tự cho Use Case Xem don hang - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.11 Biểu đồ trình tự cho Use Case Xem don hang (Trang 58)
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 - THIẾT KẾ THÀNH PHẦN EJB
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 (Trang 59)
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 - THIẾT KẾ THÀNH PHẦN EJB
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 (Trang 59)
Hình 6.15 Biểu đồ lớ p- đối tượng chi tiết - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.15 Biểu đồ lớ p- đối tượng chi tiết (Trang 60)
Hình 6.14 Biểu đồ trình tự cho Use Case Xoa thanh vien - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.14 Biểu đồ trình tự cho Use Case Xoa thanh vien (Trang 60)
Hình 6.18 Bảng danh mục các thể loại sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.18 Bảng danh mục các thể loại sách (Trang 61)
6.4.1.9Bảng chứa các thể loại credit card - THIẾT KẾ THÀNH PHẦN EJB
6.4.1.9 Bảng chứa các thể loại credit card (Trang 63)
Hình 6.25 Bảng chứa các thông tin về giỏ hàng 6.4.2 Mô hình quan hệ của hệ thống - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.25 Bảng chứa các thông tin về giỏ hàng 6.4.2 Mô hình quan hệ của hệ thống (Trang 63)
6.5MÔ HÌNH HOẠT ĐỘNG CỦA WEBSITE - THIẾT KẾ THÀNH PHẦN EJB
6.5 MÔ HÌNH HOẠT ĐỘNG CỦA WEBSITE (Trang 64)
Hình 6.27 Mô hình hoạt động của Web site - THIẾT KẾ THÀNH PHẦN EJB
Hình 6.27 Mô hình hoạt động của Web site (Trang 64)
Hình 7.1 Trang chủ - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.1 Trang chủ (Trang 65)
Hình 7.1 Trang chủ - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.1 Trang chủ (Trang 65)
Hình 7.2 Trang đăng nhập - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.2 Trang đăng nhập (Trang 66)
Hình 7.2 Trang đăng nhập - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.2 Trang đăng nhập (Trang 66)
Hình 7.3 Trang đăng ký thành viên - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.3 Trang đăng ký thành viên (Trang 67)
Hình 7.3 Trang đăng ký thành viên - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.3 Trang đăng ký thành viên (Trang 67)
Hình 7.4 Trang xem chi tiết sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.4 Trang xem chi tiết sách (Trang 68)
Hình 7.4 Trang xem chi tiết sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.4 Trang xem chi tiết sách (Trang 68)
Hình 7.5 Trang giỏ hàng - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.5 Trang giỏ hàng (Trang 69)
Hình 7.5 Trang giỏ hàng - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.5 Trang giỏ hàng (Trang 69)
Hình 7.6 Trang thanh toán - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.6 Trang thanh toán (Trang 70)
Hình 7.6 Trang thanh toán - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.6 Trang thanh toán (Trang 70)
Hình 7.7 Trang tạo hóa đơn - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.7 Trang tạo hóa đơn (Trang 71)
Hình 7.7 Trang tạo hóa đơn - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.7 Trang tạo hóa đơn (Trang 71)
Hình 7.8 Trang quản trị sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.8 Trang quản trị sách (Trang 72)
Hình 7.8 Trang quản trị sách - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.8 Trang quản trị sách (Trang 72)
Hình 7.9 Trang quản trị đơn hàng - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.9 Trang quản trị đơn hàng (Trang 73)
Hình 7.9 Trang quản trị đơn hàng - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.9 Trang quản trị đơn hàng (Trang 73)
Hình 7.10 Trang quản trị thành viên - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.10 Trang quản trị thành viên (Trang 74)
Hình 7.10 Trang quản trị thành viên - THIẾT KẾ THÀNH PHẦN EJB
Hình 7.10 Trang quản trị thành viên (Trang 74)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w