
Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trường Đại Học Công Nghệ Thông Tin
----------
BÁO CÁO GIỮA KỲ MÔN XỬ LÝ PHÂN BỐ
Đề Tài: Enterprice Java Bean (EJB)
- Giảng viên :
Th.s Nguyễn Trác Thức
- Sinh viên thực hiện :
Hoàng Văn Hà 09520074
Mai Văn Khải 09520133
Hồ Đức Lợi 09520162
Trần Trung Đức 09520067
TP.HCM, ngày 23 tháng 12 năm 2012

Lời Nói Đầu
Enterprise Java Bean là các thành phần công nghệ phía máy chủ dùng để đóng gói
lớp logic nghiệp vụ (business logic) và hổ trợ mạnh việc thực hiện các giao tác và bảo
mật. Enterprise Java Bean cũng có một tích hợp một ngăn xếp cho messaging, scheduling,
remote access, web service endpoints (SOAP and REST), dependency injection,
component life cycle,..vv. Ngoài ra, Enterprise Java Beans còn kết hợp với các công nghệ
khác của Java SE và Java EE như JDBC, JavaMail, JPA, Java Transaction API (JTA),
Java Messaging Service (JMS), Java Authentication and Authorization Service (JAAS),
Java Naming and Directory Interface (JNDI), and Remote Method Invocation (RMI).
Ngày nay Enterprise Java Beans là một cách đơn giản cho các việc phát triển các mô
hình lập trình Java phía máy chủ, giảm độ phức tạp trong khi mang lại khả năng tái sử
dụng và khả năng mở rộng tới các ứng dụng thương mại quan trọng. Tất cả những điều
đạt được này đều xuất phát từ một lớp java nguyên thủy(Plain old Java Object-POJO) sẽ
được triển khai vào một thùng chứa (container).
Chính vì vậy, nhóm chúng em sẽ tìm hiểu và trình bày về Enterprise Java Bean. Do
trong quá trình tìm hiểu ít tài liệu và gấp rút về thời gian nên có thể còn nhiều sai sót.
Mong nhận được góp ý của thầy và các bạn.

3 | T r a n g
Mục Lục
Bảng phân chia công việc nhóm ............................................................................................. 5
I. Message Driven Bean ......................................................................................................... 6
1.1. Một số khái niệm liên quan ........................................................................................... 6
1.1.1. Message .............................................................................................................. 6
1.1.2. Đồng bộ và bất đồng bộ ........................................................................................ 6
1.1.3. Hệ thống EMS – Enterprise Message System ........................................................... 7
1.1.4. Hệ thống JMS - Java Message Service (Producer) .................................................... 7
1.2. Message Driven Bean (Consumer) ................................................................................11
1.2.1. Giới thiệu ...........................................................................................................11
1.2.2. Chu kỳ của Message Driven Bean .........................................................................12
1.2.3. Consumer cho Topic Destination ...........................................................................13
1.2.4. Consumer cho Queue Destination ..........................................................................14
1.2.5. Producer cho Topic Destination ............................................................................14
1.2.6. Producer cho Queue Destination ...........................................................................16
II. JAVA PERSISTENCE API ................................................................................................17
2.1. JDBC và ORM ...........................................................................................................17
2.1.1. JDBC là gì? ........................................................................................................17
2.1.2. ORM là gì? .........................................................................................................17
2.2. JPA là gì? ..................................................................................................................18
2.3. Entity ........................................................................................................................19
2.3.2. Entity .................................................................................................................19
2.4. Persistence Context.....................................................................................................24
2.5. Entity Manager ..........................................................................................................25
2.5.1. Thao tác với Entity ..............................................................................................25
2.5.2. Persistence Unit ..................................................................................................27
2.6. Java Persistence Query Language .................................................................................27
2.6.1. JPQL là gì ..........................................................................................................27
2.6.2. Cấu trúc truy vấn JPQL ........................................................................................28
2.6.3. Các kiểu query ....................................................................................................30
III. Transaction trong EJB ....................................................................................................34
3.1. Transactions ..............................................................................................................34
3.2. Container – managed transaction ..................................................................................34
3.2.1. Khái niệm ...........................................................................................................34
3.2.2. Transaction attribute ............................................................................................36
3.2.3. Thiết lập transaction attribute ................................................................................38
3.3. Bean – managed transaction .........................................................................................40
3.3.1. Khái niệm ...........................................................................................................40

4 | T r a n g
3.3.2. Các method hỗ trợ ...............................................................................................41
3.3.3. Thiết lập transaction timeout với bean – managed transaction ...................................41
3.4. Xử lý exception ..........................................................................................................42
3.4.1. Trường hợp EJB với bean – managed transaction ....................................................42
3.4.2. Trường hợp EJB với container – managed transaction ..............................................42
IV. EJB Security .................................................................................................................43
4.1. Các khái niệm cơ bản ..................................................................................................44
4.1.1. Tổng quan ..........................................................................................................44
4.1.2. Các cơ chế áp dụng trong Security .........................................................................44
4.2. Mô hình J2EE Security ...............................................................................................45
4.3. JAAS Framework .......................................................................................................46
4.4. Security trên EJB ........................................................................................................50
V. Tài liệu tham khảo .............................................................................................................53

5 | T r a n g
Bảng phân chia công việc nhóm
stt
Họ Tên thành viên
Mã số sinh viên
Công Việc
1
Hoàng Văn Hà
09520074
Tìm hiểu về JPA, Entity, JPQL
2
Hồ Đức Lợi
09520162
Tìm hiểu về EJB Security
3
Mai Văn Khải
09520133
Tìm hiểu về Message Driven Bean
4
Trần Trung Đức
09520067
Tìm hiểu về Transaction Processing
Mỗi thành viên tự chuẩn bị cho slide và phần demo của mình!

