Java EE

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).
Phát triển với chi phí thấp.
Một trong những lợi điểm của việc sử dụng nền tảng Java EE là nó cho phép chúng ta khởi công mà tốn rất ít công sức. Chúng ta có thể tải bản thực thi Java EE từ Sun miễn phí. Đồng thời cũng có rất nhiều các công cụ mã nguồn mở hữu ích cho phép mở rộng nền tảng hay đơn giản hóa quá trình phát triển.
Một số ví dụ về các công cụ phát triển Java mã nguồn mở của các hãng bên ngoài (thứ ba):
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).
Liên kết ngoài.
Các ví dụ về Java EE application servers bao gồm: