Java EEとは?入門者向けにフレームワークの使い方をわかりやすく解説!APIやJava SEとの違いとは?
Webアプリケーションを開発するのに必要なものを詰め込んだアイテム・Java EE。
今回の記事では、Java EEについて入門者向けに詳しく説明していきます。
- Java EEとは何?
- Java EEフレームワークの機能って?使い方は?
- APIやJava SEとはどう違うの?
そんな疑問を抱いている人は、この記事を読んでモヤモヤをすっきりさせましょう。
Java EEとは
2006年、「簡単に開発」というコンセプトのもとJava EEは生まれました。
Java EEとは、冒頭に書いたとおり「Webアプリケーションを作るのに必要なものを詰め込んだアイテム」です。
通常、Webアプリケーションを開発するには様々な機能が必要になります。
ですが、色んな機能を集めるのは大変な労力がかかります。
そんな時におすすめなのがJava EEです。
Java EEは様々な機能を有しており、Webアプリの開発がぐっとラクになる見逃せないアイテムです。
基本情報
Java EEの正式名称は「Java Platform, Enterprise Edition」と言います。
名前から察することができますが、エンタプライズ(企業)向けのシステム構築するために作られたJavaの仕様です。
他のJavaと何が違うのか
Java EEは外部ライブラリに依存していた部分の機能を内包しており、幅広い機能を持つフレームワークとしての立ち位置を築きました。
名称変更
Java EEと呼んでいますが、実は2018年2月にJava EEは「Jakarta EE」に名称が変更になりました。
理由は次項で詳しく述べます。
Java EEがJakarta EEに名称変更した理由
Java EEを管理していたのはOracleでした。そして、「Java EE」はOracleの登録商標でもあります。
そうした前提の中、Eclipseファウンデーションという団体に、Java EEそのものや参照実装されているものたちが移管されました。
Java EEはOracleの登録商標。別の組織に移管されたとなればそのまま名称を使い続けることができません。
そんな理由から、Java EEはJakarta EEに名称を変更する運びとなりました。
しかし、この記事内では名称変更前の「Java EE」という名称で解説していきますのでご了承願います。
Java EEの特徴
Java EEの特徴はなんといっても「開発が簡単」「安心感・信頼感抜群」「実行速度もそこそこ速い」ところでしょう。
Java EEは銀行や予約サイト、ECサイトなどの大規模システムに使われています。
Javaの複雑さをかなり減少させた、Webアプリケーションの開発をスムーズに実装できるアイテムです。
Java EEとAPIの違い
この項目では、Java EEとAPIの違いについてご説明します。
APIとは
API(Application Programming Interface)とは、Javaを利用してWebアプリケーションを作成する際に必要なインターフェースのことです。
Java EEのセット内容にAPIは含まれている
Javaの機能を使用するのにはAPIが必要不可欠。Java EEの中には、そんなAPIも機能の1つとして入っています。
大きな器(Java EE)の中にAPIが入っているというイメージをすると良いでしょう。
Java EEとJava SEの違い
Java EEとJava SEはとてもよく似たツールです。
Java SEとは
「Java Platform, Standard Edition」の略称。
標準的なJavaアプリケーション開発の時に必要なものを必要最低限セットにしたもの――それがJava SEです。
Java EEは+α
Java EEは、Javaの基本セットが入っているJava SEの機能に拡張機能を追加したもののことです。
Webアプリケーション開発に必要となるサーバー関係(ライブラリなど)を足しています。
Java EEのSDK①Glassfish
Java EEのSDK(Software Development Kit)は、この項目で紹介する「Glassfish」と次項で紹介する「Web Profile」とがあります。
Java EEのSDKに同梱されているGlassfishは、アプリケーションサーバーです。
Java EEに対応しているアプリケーションサーバーなので、これさえあれば開発・テストをおこなうことができます。
Java EEのSDK②Web Profile
一部APIのみ抜き出した軽量化SDKです。
全ての機能を使用するためにはフルプラットフォームファイルを選ばなければなりません。
Java EEフレームワークの使い方①基本情報
Java EEの基本情報がわかったところでここからは、Java EEフレームワークについて詳細な情報をお届けします。
まずはJava EEフレームワークの全容を見てみましょう。
構成
Java EEフレームワークの構成は大きく分けて3つに分かれます。
- インテグレーションテクノロジー
- ビジネスロジックテクノロジー
- プレゼンテーションテクノロジー
Java EEに入っている様々な機能は、この3階層に分類されています。
次に、3つの構成の内容について説明します。
インテグレーションテクノロジー
データベースやメールサーバー、エンタープライズ情報システムなどの外部システムと連携する機能を提供する技術です。
Java EEの中に搭載されたそれぞれの機能はJavaプログラミングからスムーズに外部システムとのデータ交換することが可能です。
ビジネスロジックテクノロジー
外部システムと連携しているプログラム実装・ユーザーインターフェースのプログラム実装との間で、必要な関連データなどの処理を1つにまとめて実装します。
トランザクション処理、業務フローの実装などがこれに当たります。
プレゼンテーションテクノロジー
パソコンのデバイスやモバイルデバイスなど、様々なデバイスからのアクセスを想定したインターフェースを提供する技術です。
Java EEフレームワークの使い方②機能
この項目では、Java EEの中でも解くに代表的な機能について解説します。
JPA(Java Persistence API)
データベースと連携するプログラムを記述する時に使います。
オブジェクトリレーショナルマッキング技術と呼ばれている機能です。
Java EE環境はもちろん、Java SE環境でも使用可能。
JCA(Java EE Connector Architecture)
EAI(Enterprise Application Integration)をおこなうために必要となる機能です。
JMS(Java Message Service)
外部メッセージングプロバイダを経由し、テキストメッセージなどを同期せずに送受信するために使う機能です。
「ポイントツーポイント(1対1)」と「パブリッシュサブスクライバ(1対多)」という2種類のメッセージ送受信形式が使用可能です。
Java EE環境はもちろん、Java SE環境でも動かせます。
Batch(Batch Applications for the Java Platform)
データを一括で処理する時に使う機能です。
バッチ処理の際に必要となる並列・条件処理ができます。
Java EE環境はもちろん、Java SE環境でも使用可能。
Java Mail(Java Mail API)
電子メールクライアント作成に必要な機能です。
Java EEフレームワークの使い方③JSF
この項目では、JSFを使った開発の仕方について解説します。
JSFとは
JSF(JavaServer Faces)はJava EE5から新たに追加されたプレゼンテーション層を作るためのものです。
JSFについては以下の記事で詳しく解説していますので、併せてご参照ください。
関連記事:JSFとは?JavaServer Facesの基本的な使い方を解説!機能や仕組み・タグの使用方法をチュートリアルで確認
JSFはフレームワークとしてとても重要
JSFはJava EEの中のサブシステムです。
ですが、JSFは他のサブシステムとは1つ大きく違う特徴を持っています。
それは「自身がフレームワークとしての役割を持っている」ということです。
そんなJSFは「フェースレット」と「マネージビーン」の2つから成り立っています。
フェースレット(Facelets)
Web画面のレイアウトを記述するためのXHTMLを基にしたテンプレートエンジンです。
フェースレットは専用のタグライブラリを使ってWeb画面の構築をおこないます。
マネージドビーン
フェースレットと関連づけて処理をおこなったり値設定をしたりするJavaのクラスのこと。
サーバー側で処理するにはこれが必要になってきます。
メソッドの起動やデータの受け渡しをJSFページに書ける
コンポーネント(テキストフィールドやボタンなどの部品のこと)内に実行するアクションを組み込むことが可能です。
Java EEフレームワークの使い方④JSFの環境を整える
JSFを使ってWebページを作るための実践的な知識をご紹介します。
開発環境は「NetBeans」、実行環境は「Glassfish」です。
関連記事:【NetBeans】オープンソースの使い方をJava入門者に向けて紹介!インストールの手順から基本操作まで解説!
起動する
NetBeansアイコンをダブルクリックして起動しましょう。
画面左下の「サービスタブ」を押下し、Glassfishサーバー・JavaDBが組み込まれていることを確認します。
それが確認できたら、「サーバー」の下にある「Glassfish Server」を右クリックして起動してください。
プロジェクトの作成をする
「プロジェクトタブ」をクリックし、「Webアプリケーションプロジェクト」を選択しましょう(他にもプロジェクトタイプは多々あり)。
メニューの「ファイル」の中にある「新規プロジェクト」を選び、左側のカテゴリで「Java Web」を選びます。
右側にあるプロジェクトで「Webアプリケーション」に設定して「次へ」を押下。
プロジェクト名を決めてサーバー環境を確認する
好きなプロジェクト名を入力して次へ。サーバー環境の確認画面になりますが、そのまま先へ。
フレームワークを指定
JSFを選択します。
「Glassfish Server」をチェックし、終了ボタンを押したら、JSFでWebアプリケーションを作る土台は完成です。
Java EEフレームワークの使い方③コーディングの基礎
「Java EEフレームワークの使い方②」を踏まえ、コーディングをおこないます。
「フェースレットタグ」を使って記述してみましょう。
名前を入力する欄と送信ボタンを作成する
- <h2>名前を入力してみよう</h2>
- <h:form>
- 名前:<h:inputText value=”#{meiboBean.name}”/><br/>
- <h:commandButton value=”OK”/>
- </h:form>
「#{meiboBean.name}」はEL式というJSF画面で使用できる専用式言語です。「フェースレット」と「マネージビーン」を結びつけるために記述します。
HTMLタグとフェースレットタグで作成し、value属性にEL式を書けばマネージビーンと結びつく。
JSFでおこなうWebアプリケーション開発はとても簡単なものといえます。
選択タブを表示させる
- actionListener=”#{backingBean.method(A1,A2,A3……)}”
戻るボタンを設置する
- <h:link outcome=”index”>戻る</h:link>
まとめ
以上、Java EEについての内容をお送りしました。
Java EEのことを色んな角度から紹介してみましたが、いかがだったでしょうか。
今回の記事で学んだことをおさらいしましょう。
- Java EEの基礎知識
- Java EEの特徴
- Java EEとAPI、Java SEの違い
- フレームワークの使い方
どれもJava EEの理解を深めるのに大切なことばかりです。
Javaは面倒くさいと思われがちですが、触ってみれば抵抗感は消えるはず。それどころか、Java EEの魅力の虜になるかもしれません。
「一度触ってみたい」という人は、記事の中でご紹介した「Java EEフレームワークの使い方」などを参考に、ぜひJava EEでWebアプリケーションやWebサイトを開発してみましょう。
toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。
エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。