J2EE

Java 2 Platform, Enterprise Edition (Nền tảng Java, phiên bản 2 - phiên bản công nghiệp là công nghệ của Sun Microsystems) hay Java EE (gọi tắt là J2EE) là một nền lập trình dành cho việc phát triển ứng dụng phân tán kiến trúc đa tầng, chủ yếu dựa vào các thành phần môđun chạy trên các máy chủ ứng dụng. Java EE còn được xem như là một ngôn ngữ hay một tiêu chuẩn vì để có thể công bố là sản phẩm của họ tương thích với Java EE, các nhà cung cấp phải tuân thủ một số yêu cầu đã đặt ra; mặc dù chúng không phải là các tiêu chuẩn của ISO (International Standard Organization) hay của Hiệp hội nhà sản xuất máy tính châu Âu (European Computer Manufacturers Association - gọi tắt là ECMA).
Java EE bao gồm một số đặc tả kĩ thuật API, như JDBC (Cơ cấu liên nối với cơ sở dữ liệu), RMI (thi hành phương pháp từ xa), thư điện tử (e-mail), JMS (Java Message Service - Dịch vụ thông điệp của Java), Dịch vụ mạng (Web services), XML vân vân, và đồng thời nó còn định nghĩa cấu trúc liên nối giữa những kĩ thuật này với nhau. J2EE còn bao gồm một số đặc tả chỉ tồn tại trong các thành phần của nó. Những thành phần này bao gồm Enterprise JavaBean (chủ thể Bean dùng trong kinh doanh), servlet, portlet, JSP và một số các kĩ thuật về dịch vụ mạng (web service). Điều này cho phép nhà phát triển tạo ra một chương trình ứng dụng kinh doanh (enterprise application) không những chỉ có thể sử dụng trên các nền tảng khác nhau, mà còn có thể khuếch trương thành những quy mô lớn hơn và tích hợp với những công nghệ kế thừa từ trước đây. Trình chủ của Java EE có thể quán xuyến các giao dịch (transactions), nhiệm vụ bảo an (security), chức năng đa biến số bất định lượng (arity), tính quy mô hóa (scalability), sự tương tranh (concurrency) và quản lý các thành phần đã được triển khai trong môi trường của nó. Điều này có nghĩa là các nhà phát triển có thể tập trung vào các lôgic thương mại của các thành phần thay vì phải quan tâm đến cơ sở hạ tầng và các nhiệm vụ tích hợp khác.

API chung

Các API của Java EE chứa đựng một số kỹ thuật được mở rộng thêm từ những chức năng trong các API của Java SE.

javax.ejb.*

API về chủ thể cấp kinh doanh (Enterprise Java Beans - hay EJB) cung cấp một tập các hàm API mà một khung chứa đối tượng phân tán (distributed object container) phải hỗ trợ để có thể cung cấp tính bền bỉ (persistence), khả năng liên lạc từ xa (dùng RMI), khả năng khống chế tương tranh (concurrency control) và điều khiển truy cập (access control) cho các đối tượng phân tán (distributed objects).

javax.servlet

API về Servlets cung cấp một tập các hàm API giữa một khung chứa mạng (web container) và một servlet nhằm đảm nhiệm việc xử lý các yêu cầu và hồi âm các phản ứng.

javax.servlet.jsp

Các gói javax.servlet.jsp và javax.servlet.jsp.tagext cung cấp các hàm API về JSP.

javax.naming

Các gói javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap và javax.naming.spi định nghĩa các hàm API đối với các giao tiếp (Interface) sử dụng tên trong khi truy cập đối tượng và thư mục (Java Naming and Directory Interface - JNDI).

java.sql, javax.sql

Các gói java.sql và javax.sql cung cấp các hàm liên nối với cơ sở dữ liệu (Java Database Connectivity - JDBC).

java.transaction.*

Các gói này cung cấp các API để quản lý việc giao dịch giữa các nguồn tài nguyên khác nhau (Java Transaction API - JTA).

javax.xml.*

Các gói này cung cấp các hàm API để xử lý các tài liệu XML (Java API for XML Processing - JAXP).

javax.jms.*

Các gói này cung cấp các hàm API sử dụng trong dịch vụ thông điệp của Java (Java Message Service - JMS).

Java EE vs..NET

Những đánh giá xoay quanh Java EE vs. Microsoft's.NET. Một ý kiến chung ("consensus") cho rằng Java EE tốt hơn cả cho kiến trúc đa nền, trong khi .NET nên dùng giới hạn cho nền Microsoft (và không thể tích hợp với các nền không phải của Microsoft).