
Hình2.3:sơ đồ tầng Web tier
Business tier:
Business tier là một lớp logic dùng để thực hiện việc xử lý của hệ thống J2EE
server.
Hình2.4: sơ đồ tầng Business tier.
Hình vẽ minh họa cho ta thấy 1 Enterprise Bean có thể nhận dữ liệu từ client,
xử lý nó (nếu cần thiết) và gửi nó đến EIS tier (Enterprise Information System tier)
để lưu trữ. 1 Enterprise Bean cũng có thể nhận dữ liệu từ EIS tier, xử lý dữ liệu đó
(nếu cần thiết) và sau đó là gửi nó trở lại các chương trình client.

Có 3 loại Enterprise Bean: session bean, entity bean, message-driven bean.
Session Bean thể hiện cho một phiên dao dịch với client, với 1 client sẽ có 1
instance của session bean tương ứng, và instance này có thể lưu giữ các thông tin
của client đó. Tuy nhiên, khi phiên giao dịch kết thúc (client kết thúc việc thực thi),
các instance này cũng sẽ bị hủy. Ngược lại với session bean, entity bean có thể lưu
giữ lâu dài các thông tin về client. Còn message-driven bean là sự kết hợp giữa
sesssion bean và JMS message listener.
Enterprise Information System tier (EIS tier):
Lớp này thực hiện việc lưu trữ dữ liệu cho hệ thống J2EE, bao gồm cả các
interface để giao tiếp với các Database khác nhau, và giữa các OS khác nhau trong
việc quản lý và lưu trữ file…
Kiến trúc tổng thể của một hệ thống J2EE:
EJB container (Enterprise JavaBean container) quản lý việc thực thi của tất cả
các enterprise bean cho một ứng dụng J2EE. Các enterprise bean và container của
nó đều được chạy trên J2EE server.
Web container quản lý và thực thi của tất cả các trang JSP và các servlet cho
một ứng dụng J2EE. Các web component và container của nó đều được chạy trên
J2EE server.
Application client container quản lý và thực thi của tất cả các thành phần
application client cho một ứng dụng J2EE. Các application client và container của
nó đều được thực thi trên máy client.
Applet container chính là web browser (có các Java Plug-in) chạy trên máy
client.

Hình 2.5:kiến trúc tổng thể của hệ thống J2EE.
2.2. Giới thiệu dịch vụ JNDI (Java Naming and Directory Interface)
JNDI là dịch vụ đăng ký và truy tìm tên đối tượng chuẩn. Enterprise JavaBeans
dựa vào JNDI để truy tìm các thành phần phân tán thông qua mạng. JNDI là một
công nghệ chính yếu được yêu cầu cho mã khách kết nối đến một thành phần EJB.
Cách lấy một tham chiếu tới một home object thông qua dịch vụ JNDI được
trình bày ở hình 2.6 như sau:

Hình 2.6: lấy một tham chiếu đến một home object (Acquiring a reference to a
home object)
Hệ thống JNDI
Là một service trong hệ thống J2EE phục vụ cho việc đặt tên của các Object,
trong đó 1 object ta có thể xem như là module, một service để thực hiện một chức
năng nào đó. Với 1 object có thể có nhiều tên được tham khảo đến. Thông qua
JNDI, client hoặc EJB có thể truy xuất đến object thông qua tên mà không cần quan
tâm object đó nằm ở đâu trên mạng (khái niệm tương tự như việc đánh tên cho địa
chỉ IP).

Hình 2.7: sơ đồ client truy xuất đốI tượng thông qua tên
Một hệ thống JNDI bao gồm 3 phần chính yếu sau: lookup services, service
providers, và clients.
Trong đó lookup services đóng vai trò trung tâm, nó là cầu nối giữa service
providers và clients. Lookup services có nhiệm vụ quản lý các dịch vụ mà service
providers cung cấp, service providers cung cấp các dịch vụ cho hệ thống JNDI, còn
clients là người sử dụng các dịch vụ, sẽ kết hợp các dịch vụ với nhau để thực hiện
một công việc nào đó.
Khi một service provider “muốn” đưa ra một dịch vụ nào đó thì nó phải đăng ký
dịch vụ đó với lookup services. Khi một client muốn dùng một dịch vụ nào đó của
hệ thống thì nó sẽ phải “đề xuất yêu cầu” với lookup service, và các dịch vụ của hệ
thống có thể phục vụ cho client khi được lookup service cho phép.
Quá trình đăng ký một dịch vụ của service provider với lookup service được
thực hiện như sau (quá trình discovery): đầu tiên service proveider cần thông báo
cho lookup service biết ý định của mình bằng cách gửi broadcast một presence
announcement packet (dùng một well-known port). Khi loopkup service nhận được
một presence announcement packet (một packet có tính chất thông báo), nó sẽ mở
ra và phân tích packet này và lấy các thông tin về service provider và service mà

