Ejb là gì

Mục tiêu: Trong bài viết này tôi sẽ giới thiệu về EJB(Enterprise Java Bean) , các thành phần của nó và tôi sẽ ví dụ minh họa 1 ứng dụng nhỏ về EJB.

Bạn đang xem: Ejb là gì

1. EJB là gì?

– EJB là 1 thành phần nằm ở phía server -side của 1 ứng dụng web hoặc có thể hiểu là 1 thành phần phần trong kiến trúc Java EE .

*

– Nhiệm vụ chính là sử lý các nghiệp vụ logic và truy suất dữ liệu, có thể hiểu EJB là Model trong mô hình MVC2 tôi đã đề cập ở các bài viết trước.

– EJB là 1 nền tảng cho phép xây dựng phần mềm có tính di động , có khả năng tái sử dụng cao, tính bảo mật cũng là 1 đặc điểm quan trọng của EJB.

– Đặc điểm quan trọng nữa là EJB là 1 thành phần hướng tới các ứng dụng có quy mô lớn, thích hợp với mô hình phân tán.

– Nơi đặt các EJB là trong 1 EJB container. Container này sẽ lưu trữ , lập kế hoạch và, và quản lý các EJB.

2. Các loại EJB

EJB được chia làm 3 loại chính.

– Entity beans: Tương tự như các đối tượng thực thể(entity object), chưa các thông tin tác vụ và các phương thức hoạt động của nó.

– Session bean. Quản lý các nhiệm vụ tác nghiệp của Client và Server. Client sẽ tương tác với server bằng cách triệu hồi các phương phước session bean thông qua 1 môi trường mạng nào đấy có thể là HTTP (Hyper text transfer protocol).Session Bean lại gọi tới entity bean tương ứng để thực hiện tác vụ mà client yêu cầu. Session bean có thể chia làm 2 loại chính.

+ Stateless: Trạng thái client sẽ không được lưu lại cho những lần giao dịch sau. Những lần giao dịch khác nhau sẽ hoàn toàn độc lập với nhau.

+ Statefull: Trạng thái giao tác của client sẽ được lưu trữ lại phục vụ tro những lần kế tiếp.

– Message-driver bean: Chịu trách nhiệm điều khiển các message giữa client và server.

3. Demo 1 app nhỏ về EJB.

Trong ví dụ này tôi sẽ hướng dẫn các bạn tạo 1 ứng dụng nhỏ về EJB , tác vụ duy nhất của ứng dụng là cập nhập thông tin của 1 nhân viên tới cơ sở dữ liệu.

Creating Project named EmpEnterpriseApplication.

Đầu tiên. tạo Project . Chonnj Java EE, Sau đó chọn Enterprise Application.

*

Tiếp theo. Đặt tên project, chọn server là Glassfish Server. và finish.

*

Dưới đây là cấu trúc của Project, Tôi tạo thêm 2 package tên là entity.example.com , pakage này chưa các entity sẽ được map với các table trong cơ sở dữ liệu, mỗi table tương ứng với mỗi entity.

Pakage thứ 2 tôi đặt tên là session.example.com , package này chứa các session để triệu hồi các entity bean khi yêu cầu từ client.

*

Hình ảnh dưới đây là giao diện khi ứng dụng chạy.

*

Đây là code trong file index. jsp.

Xem thêm: Phần Mềm Solidworks 2013 - Link Tải Phần Mềm Solidworks 2017

*

Công việc tiếp theo chúng ta sẽ tạo ra 1 database , tôi sẽ dùng database ngay trên netbean.

Click Service -> click vào Database – > create new database.

*

Điền thông tin như tên database, user name, password and click OK.

Sau khi tạo xong . Bạn để ý thấy thư mục tên Java DB có 1 database tên là empDBB. click chuột phải và chọn connect.

*

Dòng chữ màu xanh tôi bôi đen các bạn click chuột phải và chọn connect, sau khi connect chúng ta sẽ tạo 1 table tên là Employee với các cột như sau.

*

Tất cả các cột đều là kiểu varchar với size là (30) mà cột ID là khóa chính.

ok. Bây giờ chúng ta sẽ quay lại với package entity.example.com. Tôi sẽ tạo 1 bean bằng cách bind với table Employee của cơ sở dữ liệu ta vừa tạo ra.

*

Tạo 1 bean chọn Entity CLass from Database. Sau đó ở phần Data Source , chúng ta chọn new data source.

*

Đặt tên cho JNDI- thành phần để Map intity bean và Databse.

Lựa chọn database mà ta vừa tạo ra.

Sau đó add bind loại table nào bannj muốn bind sang. click add all và finish.

Vậy là chúng ta đã xong phần intity bean rồi.

Tiếp theo sẽ là Session Bean.

*

Next chọn Local và finish.

File sẽ phát sinh ra như sau.

*

Đây là code trong class tên là EmployeeFacade

*

Tiếp theo chúng ta sẽ phải tạo 1 Servlet để nhận request từ server.

Cách tạo servlett tôi sẽ không nói đến ở đây. Bạn tạo 1 servlet tên là empSelvlet.

*

Cuối cùng. Clean and Buil -> Deploy -> Run.

Add thông tin, và xem trong database sẽ có gì nhé. Chúc may mắn.

Bài viết này tôi không đi sâu vào EJB , tôi chỉ giới thiệu tổng quan và vai trò của EJB trong kiến trúc Java EE. Tôi sẽ hướng dẫn chi tiết EJB trong loạt bài hướng dẫn sau.