1 / 41

Tìm hiểu EJB

Tìm hiểu EJB. Người trình bày: Nguyễn Quảng Đại. Nội dung. Kiến trúc và thành phần của EJB Các loại EJB Transaction trong EJB EJB 3.0. C á c tầng trong ứng dụng J2EE. Các dịch vụ của J2EE. Component và container. Component Là một đoạn code dùng để triển khai các interface.

branxton
Download Presentation

Tìm hiểu EJB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tìm hiểu EJB Người trình bày: Nguyễn Quảng Đại

  2. Nội dung • Kiến trúc và thành phần của EJB • Các loại EJB • Transaction trong EJB • EJB 3.0

  3. Các tầng trong ứng dụng J2EE

  4. Các dịch vụ của J2EE

  5. Component và container • Component • Là một đoạn code dùng để triển khai các interface. • Sống trong một môi trường chạy. • Container • Là một chương trình dùng để thực thi và quản lý các component. • Cung cấp các dịch vụ hỗ trợ cho các component.

  6. Java Application

  7. Enterprise JavaBean • Component phía server • Tuân thủ các quy định về kiến trúc của EJB • Thực hiện nhiều nhiệm vụ • Tương tác với client • Thao tác với cơ sở dữ liệu...

  8. Đặc điểm của EJB • Thực hiện các tác vụ trên dữ liệu của ứng dụng • Được duy trì và quản lý bởi EJB container • Có thể tùy chỉnh các EJB bằng các file cấu hình • Các dịch vụ hỗ trợ được tách biệt với EJB • Client không truy cập trực tiếp tới EJB • EJB có thể triển khai ở các server được phát triển bởi các nhà cung cấp khác nhau • Có thể lắp ráp với các thành phần khác mà không cần thay đổi code hay là biên dịch lại chúng • Các bean được phát triển chỉ với đơn luồng.

  9. EJB Container • Là một chương trình chạy trên server, dùng để thực thi và quản lý các các thể hiện của EJB component • Giúp cho lập trình viên dễ dàng phát triển ứng dụng

  10. Nhiệm vụ của container • Quản lý vòng đời của các component • Quản lý tài nguyên • Quản lý giao dịch (transaction) • Hỗ trợ truy cập từ xa • Điều khiển việc xử lý truy cập đồng thời • Clustering và load balancing

  11. Các thành phần của EJB • Các interface: home interface, component interface • Lớp EJB • Các file cấu hình (deployment descriptor) • EJB deployment descirptor: ejb-jar.xml • Vendor deployment descriptor: jboss.xml, weblogic-ejb-jar.xml

  12. Client tương tác với EJB

  13. Các bước để phát triển và trển khai • Định nghĩa các component interface: Local hoặc Remote • Định nghĩa home interface: tạo, tìm kiếm, hủy bỏ. • Triển khai các phương thức trong lớp EJB • Tạo các deployment descriptor thích hợp • Biên dịch các lớp và các interface của EJB • Đóng gói các file vừa được biên dịch và các descirptor vào một file JAR • Triển khai EJB vào trong container tương ứng

  14. Các loại EJB

  15. Session Bean • Tượng trưng cho một cuộc đối thoại giữa client và server • Không trực tiếp biểu diễn dữ liệu trong database. Tuy nhiên nó có thể thao tác cơ sở dữ liệu thay cho client • Có thời gian sống tương đối ngắn, chúng tồn tại cùng với client • Chúng bị hủy khi client muốn, hoặc khi container bị tắt

  16. Các loại session bean • Stateless • Chỉ có một yêu cầu trong chức năng nghiệp vụ • Một thể hiện có thể phục vụ được nhiều client khác nhau • Stateful • Có nhiều lần gửi yêu cầu trong chức năng nghiệp vụ cần lưu trữ thông tin của các yêu cầu trước đó • Một thể hiện chỉ có thể phục vụ được một client

  17. Instance Pool EJB Container Bean Class Client Client Instance Pool

  18. Vòng đời của stateless session bean

  19. Instance Cache EJB Container Bean Class Client 1 passivate Client 2 Client 3 activate Instance Cache

  20. Vòng đời của Stateful session bean

  21. Entity Bean • Thao tác với cơ sở dữ liệu, tạo ra các đối tượng đại diện cho cơ sở dữ liệu hiện thời • Nhiều client có thể cùng chia sẻ một thể hiện • Thời gian sống lâu dài • Có primary key class • Có thể có quan hệ với các entity bean khác

  22. Vòng đời của đối tượng Entity Bean

  23. Các loại Entity Bean • BMP – Bean Managed Persistence • CMP – Container Managed Persistence

  24. CMP • Các phương thức get/set đều là “abstract” • Abstract Persistent Schema • EJB Query Language

  25. CMR - Container Managed Relationships • One – One • One – Many • Many – Many • Unidirectional • Bidirectional

  26. CMR – Container Managed Relationships

  27. Message driven bean • Giao tiếp không đồng bộ • Nhận và xử lý các JMS message • MDB có thể coi là một JMS comsumer

  28. Message-Driven Bean • Không có các interface

  29. Vòng đời của Message-Driven Bean

  30. Transaction • Đảm bảo tính toàn vẹn khi thao tác với dữ liệu • Local transaction và distributed transaction • Java Database Connectivity (JDBC) • JMS Session • Java Transaction API (JTA) • Java Transaction Service (JTS)

  31. BMT và CMT • Bean Managed Transaction • Sử dụng JTA và JDBC • Container Managed Transaction • ejb-jar.xml

  32. Distributed Transaction

  33. Phân chia nhiệm vụ phát triển ứng dụng

  34. EJB 3.0 • Không có các home và component interface • Sử dụng các annotation để cấu hình • Dependency injection • Entity

  35. Sử dụng các Annotation “Interface” Session Bean implements PlaceBidBean

  36. Dependency injection

  37. JPA Entity và EntityManager • JPA Entity • EntityManager

  38. Tạo JPA Entity

  39. Sử dụng EntityManager

  40. Vòng đời của Entity

  41. THE END

More Related