EJB
Introduction & Session Bean
Đào Anh Tu n – ấ
EJB Introdution – Định nghĩa
•
Enterprise JavaBeans (EJB) is a platform for
building portable, reusable, and scalable
business applications using the Java
programming language.
•
From a developer’s point of view, an EJB is a
piece of Java code that executes in a
specialized runtime environment called the EJB
container, which provides a number of
component services
•
Reusable: For example, you can implement the credit
card–charging module as an EJB component that may be
accessed by multiple applications
•
Main strength: Multithreading
Các dịch vụ EJB hỗ trợ
Vai trò EJB trong mô hình layers
Vị trí của EJB
EJB Types:
•
Consists of three types:
▫
Session Beans
▫
Message-Driven Beans
▫
Entity Beans
•
Trong đó Session và Message-Driven Beans
đảm nhiệm vai trò ở tầng Business, Entity
Beans đảm nhiệm vai trò ở tầng Persistence
J2EE Container
•
EJB chỉ có thể thực thi trong các EJB Container
•
J2EE container cung cấp cho người dùng nhiều dịch vụ cao cấp
khác nhau
•
Trong phạm vi môn học: Sử dụng server JBoss
Bussiness Logic with Session Bean
•
Một ứng dụng thường bao gồm rất nhiều nghiệp vụ: Kiểm
tra tài khoản, rút tiền, xuất hóa đơn …
•
Session Bean đóng vai trò cài đặt các chức năng nghiệp
vụ cho ứng dụng.
•
Nói một cách đơn giản: Session bean bao gồm một tập
các hàm cho phép client truy xuất để hoàn thành một
công việc nào đó.
•
Các client có thể là một desktop application, jsp/servlet
hoặc có thể là một ứng dụng .NET truy xuất theo cơ chế
web service
•
Các hàm của session bean có thể được truy xuất từ xa,
không nhất thiết phải nằm trên máy cục bộ -> ứng dụng
phân tán (distributed)
Advantages:
Một số điểm mạnh khi dùng session bean:
•
concurrency and thread safety: có thể xử lý
nhiều client cùng lúc mà không cài đặt các cơ
chế đặc biệt (do container quản lý)
•
remote invocation: có thể được triệu gọi từ xa
•
transaction and security management
Cấu trúc một session bean:
•
Gồm 2 phần: Bean interfaces và bean
implementation class.
•
Client không được phép truy xuất trực tiếp đến
implementation class mà phải truy xuất thông
qua interface.
•
Interface sẽ triệu gọi hàm tương ứng của
implemtation class và trả kết quả cho client.
Ví dụ
•
Hình ảnh một session
bean hỗ trợ người
dùng tham gia đấu giá:
gồm 2 phần
▫
interface
▫
implementation class
Phân loại Session Bean
•
Chia làm 2 loại:
▫
Stateless: Không lưu trữ bất kỳ thông tin nào từ
phía client
▫
Stateful: Lưu giữ thông tin (hay còn gọi là state)
của client