Hình2.3:sơ đồ tầng Web tier
Business tier:
Business tier mt lớp logic dùng để thực hiện việc xử của h thống J2EE
server.
Hình2.4: sơ đồ tầng Business tier.
Hình vminh 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ó thnhận dữ liệu t EIS tier, xử dliệu đó
(nếu cần thiết)sau đó là gửi nó trở lại các chương trình client.
3 loại Enterprise Bean: session bean, entity bean, message-driven bean.
Session Bean thhin cho một phiên dao dịch với client, với 1 client s1
instance ca session bean tương ứng, và instance này có thlưu gi các thông tin
ca 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ẽ bhủy. Ngưc lại với session bean, entity bean thlưu
gi lâu dài các thông tin v client. Còn message-driven bean s kết hợp giữa
sesssion bean và JMS message listener.
Enterprise Information System tier (EIS tier):
Lp này thc 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à gia 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) qun việc thực thi ca tất cả
các enterprise bean cho mt ứng dụng J2EE. Các enterprise bean và container của
nó đều được chạy trên J2EE server.
Web container qun và thực thi của tất ccác trang JSP và các servlet cho
mt ứng dụng J2EE. c web component và container ca đều được chạy trên
J2EE server.
Application client container quản và thực thi của tất cả các thành phần
application client cho mt ứ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 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 vJNDI (Java Naming and Directory Interface)
JNDI là dịch vụ đăng 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 phn 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 phn EJB.
Cách ly mt tham chiếu tới một home object thông qua dịch vụ JNDI được
trìnhy ở 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
mt 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ó thxem như module, một service đthực hiện một chức
năng nào đó. Với 1 object th nhiều tên được tham khảo đến. Thông qua
JNDI, client hoc 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 xut đốI tượng thông qua tên
Mt hệ thống JNDI bao gồm 3 phn chính yếu sau: lookup services, service
providers, và clients.
Trong đó lookup services đóng vai trò trung m, cu nối giữa service
providers và clients. Lookup services nhiệm v quản 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 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
mt công việc nào đó.
Khi mt service provider “muốn” đưa ra mt 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
hthống thì sphải đề xuất yêu cầu” với lookup service, và các dịch vụ của hệ
thống thể phục vụ cho client khi được lookup service cho phép.
Quá trình đăng một dịch v của service provider với lookup service được
thực hiện nsau (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 bng cách gửi broadcast một presence
announcement packet (dùng mt well-known port). Khi loopkup service nhận được
mt presence announcement packet (một packet tính chất thông báo), nó sm
ra phân tích packet y ly các thông tin về service provider và service