Java
2022.03.25
Java EEとは?Java SEとの違いやSDK、主要機能について解説!
2023.11.18

Javaのプログラミング学習をするうえで、「Java EEって何だろう?」と悩んでいる方も多いのではないでしょうか?


「Java EEの機能は?」

「Java EEで開発するために必要なものは何?」


といった疑問に対して、本記事ではJava EEについて初心者エンジニア向けに詳しく解説していきます。


1.Java EEとは?

Java EEとは、企業向けのWebアプリケーション開発ができる機能がセットになったプラットフォームで、正式名称は「Java Platform, Enterprise Edition」といいます。


アプリケーションサーバーの標準規格やそのAPIを定めたもので、サーバーサイド機能が含まれています。

①Java SEとの違いは?

Java SE(Java Platform, Standard Edition)とは、Javaの標準的なアプリケーション開発に必要な機能だけをセットにしたものです。


Java EEの中にJava SEが含まれているので、Java EEでWebアプリケーション開発するときに、Java SEのライブラリを使用することもできます。

②APIとの違いは?

API(Application Programming Interface)とは、Javaでアプリケーションを作成するために必要となる標準機能を提供するインターフェースのことです。


開発者は一から実装することなく標準で用意されているAPIを使用すると、効率よく開発ができます。Java EEには、APIが機能のひとつとして装備されています。



2.現在はJakarta EEへ名称変更


Java EEは、2018年2月に「Jakarta EE」へ名称変更しました。もともとJava EEはOracle社が管理していましたが、Eclipse Foundationという団体に移管されました。


そのためOracle社が登録商標していたJava EEという名称が使えなくなり、Jakarta EEに名称変更されたという経緯があります。


※本記事ではこれ以降も「Java EE」で説明していきます。



3.Java EEのSDK


SDK(Software Development Kit)とは、ソフトウェア開発キットのことで、開発環境、サンプルコード、開発資料などが含まれています。


Java EEには「Web Profile」と「Glassfish」の二種類のSDKがあります。

①Web Profile

Web Profileは、フルプラットフォームSDKから一部APIのみ抜き出した軽量化SDKです。簡易的なシステム開発なら、おすすめのSDKです。


Web Profile版の機能は、下記リンク先のWeb Profile列にチェックが入っているものです。

https://www.oracle.com/java/technologies/java-ee-8.html


すべての機能を使いたい場合は、フルプラットフォームを選択しましょう。

②Glassfish

Glassfishは、Java EEのSDKに同梱されているアプリケーションサーバーで、Javaプログラムの実行環境として定評があります。


ローカルマシンにインストールすれば、Web上に公開しているのと同じ状態でJavaプログラムを実行できるので、テストが簡単に行えます。



4.Java EEの代表的な機能


Java EEの代表的な機能は次の通りです。


・JPA

・JCA

・JMS

・Java Mail

・Batch

それぞれについて解説します。

①JPA

JPA(Java Persistence API)は、データベースへのアクセスを行うためのフレームワークです。Javaのオブジェクトとテーブルのマッピング情報を、アノテーションで実装します。


これにより複雑な定義ファイルを作成する必要がなくなるので、簡素なプログラムコードでデータベース処理を実現できます。

②JCA

JCA(Java EE Connector Architecture)は、Java EEプラットフォームとERP(Enterprise Resource Planning)やメインフレームシステムなどの外部システムとの相互接続を実現するAPIです。

③JMS

JMS(Java Message Service)は、メッセージング指向ミドルウェア(MOM)のサービスを利用するための標準APIです。MOMを利用し、統一された手順で同期または非同期にメッセージをやり取りできます。

④Java Mail

Java Mailは、メールアプリケーションを作成するためのAPIです。メールサーバーを実装するのではなく、Java Mail APIを使用してメール・サーバーへアクセスできるようになります。

⑤Batch

JSR-352 Batch Application for the Java Platformに準拠したバッチ処理用APIを使用すると、バッチ処理を実装できます。


バッチ処理は、ユーザー対話なしで実行できる処理で、データを一括処理できます。



5.Java EEを使ってできること

Javaには、次のような特徴があります。


安定性が高い


実行速度が比較的速い


技術的に安定している

このような特徴から、多くのWebアプリケーションで利用されています。


具体的な使用例は次の通りです。

・ECサイト

・旅行予約サイト

・SNS


有名なWebサービスとしては、以下のシステムがJava EEで開発されています。

・Twitter

・楽天ECサイト

・Evernote


これらのWebサービスがダウンしていることはほとんどないことから、Java EEは安定性が高いことがわかりますね。



6.Java EEで開発するために必要なもの


Java EEで開発するために必要なものは、次の4つです。


・API

・ソースコード

・コンパイラ

・Java VM

順に紹介します。

①API

APIは、Java EEでアプリケーション開発するために必要となる標準機能を提供するインターフェースです。APIを使用することで、自分で一から実装することなく効率よく開発できます。

②ソースコード

ソースコードとは、プログラムを作る際に、そのプログラムが動作する処理内容が記述されたテキストファイルです。Java言語で書かれたソースコードが必要になります。

③コンパイラ

コンパイラとは、人間がわかる言葉で書いたプログラムコードを、コンピュータが実行できるファイル形式に変換する処理・ツールのことです。この変換工程のことをコンパイルといいます。

④Java VM

Java VM(Java Virtual Machine)は、Javaプログラムを動かすために必要なソフトウェア・実行ツールのことです。

Javaは「一度プログラムを書けば、どこでも動く」を思想としており、それを実現するのがJava VMです。


WindowsやLinuxなどプラットフォーム別にJava VMが用意されています。Java VMがソースコードを解釈し、対象のOSで実行可能形式のファイルに変換します。


ですので、開発者は対象OSを意識することなくプログラミングすることが可能になります。Java VMがあれば、プラットフォームに依存せずに動かせるのです。

⑤IDE

上記4つのほか、Javaの開発をするのに、たいていの場合は統合開発環境(IDE)を利用します。統合開発環境とは、コードエディタ、デバッグ機能、コンパイラなどがセットになったツールです。


Java開発用の統合開発環境は次のようなものがあります。


・Eclipse

・NetBeans

・IntelliJ IDEA

この中でも一番よく使われているのが、Eclipseです。


IDEについて詳しく知りたい方は、以下記事を参考にしてみてください。



この記事をシェア