Thứ Bảy, 8 tháng 10, 2016

WEBENT - Buổi 6: Tổng quan về Enterprise JavaBeans

I. Khái niệm: Là một kiến trúc phát triển để xây dựng ứng dụng, cho doanh nghiệp, có khả năng mở rộng cao và mạnh mẽ để triển khai trên J2EE, phù hợp với máy chủ ứng dụng như JBOSS, Web Logic, …

IV. Vì sao dùng EJB:
 - Mô hình Client đã tồn tại rất lâu và 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 doanh nghiệp. EJB có những đặc điểm sau:
 + Chứa nghiệp vụ để thao tác dữ liệu.
 + Được tạo ra và quản lý bởi một trình chứa.
 + 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.

III. Phân loại:
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 loại thành Bean thao tác. Nó chỉ có nhiệm vụ phục vụ hà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 2 loại
 - Stateless: 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ạng thái là đối tượng Bean đơn giản, dễ dùng, dễ thiết kế và quản lý nhất trong tất cả các đối tượng ejb.
 - Stateful: 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ều bướ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 đời thực. Nó 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ảng 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ì tồn tại 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 chia ra làm 2 loại:
 - Bean Managed: Có khả năng thực thi các câu truy vấn cơ sở dữ liệu để lấy về dữ liệu mà nó thể hiện. Ví dụ trong phương thức khởi dự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ảng trong cơ sở dữ liệu.
 - Container Managed: Có thể không cần phải sử dụng lệnh SQL để tự tìm kiếm hạy tạo mới dữ liệu mà nó thể hiện. Thay vào đó đối tượng Bean sẽ tự khai báo trong trường hay cột dữ liệu tương ứng với các bảng trong hệ quản trị cơ sở dữ liệu. Trình chứa sẽ tự động thực hiện công việc truy vấn dữ liệu.
3. Message-Driven Bean: Là một chuẩn mới. Mục đích 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 và Entity chỉ phục vụ cho các dịch vụ đồng bộ. Do đó cách sử dụng Message Driven Bean có phần giống với Session Stateless Bean, chỉ khác ở cách gọi Bean.

IV. Ưu và nhược điểm:
 - Ưu điểm: Đơn giản, tái sử dụng. Có khả năng mở rộng và bảo mật tốt.
 - Nhược điểm: Không dùng cho những ứng dụng nhỏ.

V. Tổng kết:
 - Đây là mô hình phân tầng và lập trình đối ợng rất hiệu quả cho các ứng dụng mạng Java. Chúng ta xây dựng đối tượng (được gọi là các thành phần Bean) hoạt động bên trong trình chứa. Trình chứa đóng vai trò điều khiển và làm trung gian trong giao tiếp giữa Bean và trình khách.
 - Ngày nay công nghệ lập trình đã chuyển hướng rất nhanh sang mô hình lập trình mạng đa tầng. Hiểu vEJB sẽ giúp chúng ta dễ dàng sâu hơn.
 - Cũng như lĩnh vực lập trình phân tán triệu gọi đối ợng từ xa, lập trình trong mô hình phân tầng EJB rất mới mvà khá phức tạp đối với hầu hết các lập trình viên.  

Không có nhận xét nào:

Đăng nhận xét