J2EE(Java 2 Enterprise Edition) có thể xem là các đặc tả hướng dẫn các quy tắc để tiêu chuẩn hóa việc coding trong quá trình phát triển phần mềm. Các đặc tả của J2EE bao gồm các quy tắc hay các tiêu chuẩn để:
Thiết kế các ứng dụng doanh nghiệp
Phân phối các quy tắc cho mọi người được triệu gọi trong quá trình phát triển phần mềm(Project/product).
Đóng gói các tập tin cho các khách hàng
Tiêu chuẩn hóa các công nghệ có thể sử dụng trong J2EE Tiểu chuẩn hóa các tương tác giữa các công nghệ khác nhau. Cung cấp một tiêu chuẩn cho các ứng dụng server của java..
Hệ nền J2EE cung cấp một mô hình ứng dụng theo kiểu đa tầng, tái sử dụng các thành phần, bảo mật thống nhất, linh hoạt trong việc kiểm soát các giao dịch và các dịch vụ web được hỗ trợ thông qua trao đổi dữ liệu tích hợp trên Extensible Markup Language(XML) - theo các tiêu chuẩn mở và các giao thức.
5.1 Các ứng dụng phân tán đa tầng
Hệ nền J2EE sử dụng một mô hình ứng dụng theo kiểu đa tầng cho các ứng dụng doanh nghiệp. Về mặt logic ứng dụng được chia theo các thành phần theo chức năng, và các thành phần ứng dụng khác nhau tạo nên một ứng dụng J2EE được cài đặt trên các máy tính khác
nhau tùy thuộc vào các tầng trong môi trườn phân tầng của J2EE nơi mà các thành phần ứng dụng thuộc về.
Hình 5.1: Hai ứng dụng phân tầng J2EE
Hình trên mô tả các tầng của phần mềm dựa trên J2EE, ta thấy có 4 tầng sau:
Tầng khách (client tier): bao gồm những linh kiện chạy trên máy khách, giao tiếp trực tiếp với người dùng
Tầng web (web tier): bao gồm những linh kiện chạy trên máy chủ J2EE, tương tác giữa tầng khách và tầng nghiệp vụ.
Tầng nghiệp vụ (business tier): bao gồm những linh kiện chạy trên máy chủ J2EE, thực hiện các chức năng chính yếu của hệ thống, đa phần các tác vụ của phần mềm đều thực hiện tại tầng này, đây là tầng cốt lõi trong nền tảng J2EE. Lưu ý: thuật ngữ “business” nên hiểu là “nghiệp vụ” hay thao tác chức năng của hệ thống, không đơn thuần là việc mua bán, kinh doanh cho dù ứng dụng J2EE được sử dụng rất nhiều trong thương mại.
Tầng hệ thống thông tin: (Enterprise Information System – EIS) bao gồm những phần mềm chạy trên máy chủ EIS. Máy chủ EIS là máy chủ quản trị cơ sở dữ liệu (CSDL), mail, fpt,… hay bất cứ máy chủ nào phục vụ truy xuất tài nguyên hay thông tin trên máy tính.
Về cơ bản, J2EE bao gồm 3 tầng: tầng khách, tầng chủ J2EE (nhóm chung tầng web và tầng nghiệp vụ vì chúng đều chạy trên máy chủ J2EE), tầng chủ EIS. Tầng J2EE và tầng EIS đều là tầng chủ, từ đây về sau nếu không xác định cụ thể, ta gọi tầng chủ nhằm nói chung tầng J2EE và tầng EIS. Chúng ta đừng cứng nhắc, từ 3 tầng cơ bản này, có thể phân chia thêm
Application Client
Dynamic HTML Page
Client tier
JSP Pages Web tier
Enterpris eBeans Enterpris eBeans Business tier Database Database EIS tier J2EE Server Machine Database Server Machine J2EE Application 1 J2EE Application 2 Client Machine
nhiều tầng theo yêu cầu ứng dụng, vì thế chúng ta mới xác nhận ứng dụng J2EE là ứng dụng đa tầng chứ không phải cụ thể là ứng dụng 3 tầng.
5.2 Các thành phần của J2EE
Ứng dụng J2EE được tạo thành từ các thành phần. Một thành phần J2EE là một đơn vị chức năng phần mềm khép kín được lắp ghép vào một ứng dụng J2EE, nó có liên quan đến các lớp, các tập tin và nó giao tiếp với các thành phần khác. Các J2EE đặc tả định nghĩa các thành phần J2EE sau đây:
Ứng dụng khách hàng và các applet là những thành phần chạy trên máy khách.
Thành phần công nghệ Java Servlet và JavaServer Pages (JSP ) là các thành phần web chạy trên máy chủ.
Enterprise JavaBeans (EJB) là thành phần nghiệp vụ kinh doanh chạy trên máy chủ.
J2EE được viết bằng ngôn ngữ lập trình Java và được biên dịch trong cùng một cách như bất kỳ chương trình cùng ngôn ngữ. Sự khác biệt giữa J2EE và các lớp Java “tiêu chuẩn” là các thành phần J2EE lắp ráp thành một ứng dụng J2EE, được xác minh và tuân thủ với các đặc tả J2EE, và được triển khai tại nơi mà chúng chạy và được quản lý bởi máy chủ J2EE.