CHƯƠNG 2 GIỚI THIỆU VỀ J2EE (Java 2 Platform Enterprise Edition)
2.1. Giới thiệu sơ lược về J2EE System
đầu của ngơn ngữ java, nó đã thích nghi và phát triển tốt. Ngày càng nhiều công nghệ đã trở thành một phần của nền Java, các API và các chuẩn mới được phát triển đến nhiều địa chỉ cần thiết. Sau cùng, Sun và 1 nhóm nhà lãnh đạo công nghiệp, dưới sự bảo trợ của open Java Community Process(JCP) hợp nhất tất cả các chuẩn liên quan đến hãng vào nền J2EE
Một hệ thống J2EE về tổng quát có thể bao gồm 3 máy logic như sau: máy dùng cho Client, máy J2EE Server, máy dùng cho Database Server. Xét về các lớp để xây dựng ứng dụng thì bao gồm 4 lớp chính: client tier, web tier, business tier và EIS tier.(hình 2.1)
Hình 2.1:tổng quát các máy logic của J2EE Client tier:
Application clients: là ứng dụng client thực thi trên máy client (logic) và chuẩn bị trước một số cách thức để cho user có thể giao tiếp hệ thống J2EE để thực hiện một cơng việc nào đó. Cách thức giao tiếp có thể là thơng qua giao diện đồ họa hoặc dòng lệnh.
Application client có thể truy xuất trực tiếp đến các EJB của lớp Business hoặc có thể thể thiết lập một kết nối HTTP đến các servlet của lớp Web.
Web Browsers: là môi trường để thực thi các ứng dụng trên web của máy logic client
Applets: cũng là một hình thức của application client nhưng được thiết kế để được download xuống và thực thi trên Java VM của Web Browser, do đó khả năng của Applet được khống chế bởi Web Browser.
JavaBeans component: client cũng có thể bao gồm một số JavaBean để quản lý dòng data giao tiếp giữa các application client hoặc applet để giao tiếp với các component thực thi trên J2EE server.
Sau đây là sơ đồ giao tiếp giữa Client tier và J2EE server:
Hình 2.2: sơ đồ giao tiếp giữa Client tier và J2EE server Web tier:
Bao gồm các trang JSP và các servlet và có thể có các JavaBean để quản lý các dịng dữ liệu giữa các web components và business tier của hệ thống J2EE.
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 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