本稿は Java EE (Java Enterprise Edition) に関する記事です。Java EE は企業向けアプリケーション開発に必要な規格・API の集合体で、Web (サーブレット/JSP)、トランザクション、永続化、メッセージング、Webサービスなどを統一的に扱います。
2017 年に運営が Oracle から Eclipse Foundation へ移管され、現在は Jakarta EE という名前で開発が継続されています (パッケージ名も javax.* → jakarta.* に変更)。
子ページから項目を選択してください。
本ページの子ページ
- サーブレット — Webリクエストを処理する Java クラス
- DI — 依存性注入
- CDI — Contexts and Dependency Injection
- EJB — Enterprise JavaBeans
- JAX-RS — RESTful Web Services API
- REST — REST アーキテクチャスタイル
Java EE / Jakarta EE の位置づけ
| 項目 | 内容 |
|---|---|
| 正式名 | Java Platform, Enterprise Edition (旧 J2EE) / 現 Jakarta EE |
| 対象 | 企業向けの分散システム・Web アプリ・業務基幹系 |
| 性格 | API 仕様の集合体。規格であり、実装は複数ある (アプリケーションサーバ) |
| 主な実装 | WildFly (Red Hat)、GlassFish、Open Liberty、Payara、TomEE、WebLogic、WebSphere |
| 運営移管 | 2017年 Eclipse Foundation 配下 (Jakarta EE) |
| 名前空間 | Jakarta EE 9+ で javax.* → jakarta.* へ |
主な API / 規格
| カテゴリ | API | 役割 |
|---|---|---|
| Web 層 | Servlet、JSP、JSF、WebSocket | HTTP リクエスト処理・画面生成 |
| RESTful | JAX-RS | REST API 構築 |
| SOAP | JAX-WS | SOAP Web サービス |
| 永続化 | JPA (Java Persistence API) | ORマッピング (Hibernate 等が実装) |
| ビジネスロジック | EJB | セッション Bean / メッセージ駆動 Bean |
| DI | CDI | 依存性注入とライフサイクル管理 |
| トランザクション | JTA | 分散トランザクション |
| メッセージング | JMS | 非同期メッセージング |
| セキュリティ | Jakarta Security | 認証・認可 |
| バリデーション | Bean Validation | @NotNull 等のアノテーション検証 |
| JSON | JSON-B、JSON-P | JSON のシリアライズ・解析 |
| メール | JavaMail | SMTP 送信等 |
| 並行 | Concurrency Utilities | マネージドスレッド |
Java EE / Jakarta EE / Spring の関係
- Java EE / Jakarta EE: 標準規格。複数の実装 (アプリケーションサーバ) で動く
- Spring Framework / Spring Boot: Java EE 標準を必須としない独立したエコシステム。ただし JPA・Bean Validation 等の標準 API は内部で活用している
- 現在の新規プロジェクトでは Spring Boot が主流。Jakarta EE 系は WildFly / Open Liberty / Payara などを使う案件で根強く採用
典型的な Servlet + JPA の例
|
@WebServlet("/users") |
主な実行環境 (アプリケーションサーバ)
| サーバ | 特徴 |
|---|---|
| WildFly (旧 JBoss) | Red Hat、Jakarta EE 完全対応のフラッグシップ実装 |
| GlassFish | かつてのリファレンス実装 |
| Open Liberty | IBM 製。軽量・モジュール |
| Payara | GlassFish 派生。商用サポート |
| TomEE | Tomcat + EE。軽量 |
| WebLogic | Oracle 製。エンタープライズ大規模 |
| WebSphere | IBM 製。大規模基幹系 |
| Apache Tomcat (単体) | Servlet / JSP のみ。完全な EE 実装ではない |
注意点
- Jakarta EE 9 以降は
javax.*→jakarta.*へ。ライブラリ・サーバの整合性に注意 - 新規開発では Spring Boot / MicroProfile も有力選択肢
- EJB は重いと敬遠されてきた経緯がある。最近は CDI + JPA + JAX-RS の組み合わせが主流
- 古い Java EE 5/6 プロジェクトの保守時は、サポート切れの API・脆弱性のあるサーバ実装に注意
関連
- 親カテゴリ: フレームワーク (Java)
- 子ページ: サーブレット / DI / CDI / EJB / JAX-RS / REST
- 関連: Spring Framework / Apache Tomcat
同階層のページ
- Spring Framework
- Struts
- Java EE
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09