Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Java EE 6 環境の構築

Java EE 6 開発入門(1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/02/07 14:00

 本連載は、Java Enterprise Edition 6(Java EE 6)の導入方法をはじめとして、新導入された仕様や概念を紹介していきます。今回は、Java EE 6環境のインストールと動作確認方法を説明します。

目次

はじめに

 本連載は、Java Enterprise Edition 6の導入方法をはじめとして、新導入された仕様や概念を紹介していきます。

対象読者

  • Java EE 6開発に興味ある方
  • これからJavaのWebアプリケーション開発をはじめる方

必要な環境

動作環境は以下の通りです。

  • Java SE 6
  • NetBeans 6.9.1

Java Enterprise Edition 6とは

 Java Enterprise Edition 6(以下、Java EE 6)は、JavaでWebアプリケーションを中心とした業務アプリケーションを構築するために選定された数々の仕様と、その実装です。Webアプリケーションに関連する機能が数多く提供されており、具体的に例を挙げますと、アプリケーションサーバ、Webサービス、データベースのトランザクション管理、メッセージサービス、電子メールなど...利用する頻度の高い機能を提供されています。既にJavaのWebアプリケーションでは当たり前になっている機能もいくつかありますが、それらは全てJava EEの仕様を元に実装されており、Java EEの仕様を満たした機能を提供するアプリケーションサーバがJava EEアプリケーションサーバと呼ばれています。Java EEアプリケーションサーバの例を挙げると、WebLogic、JBoss、WebSphere、Glassfish、Cosminexus、Geronimoなどがあり、いずれのサーバでも同じアプリケーションが動くことが前提となっています(※注)。

※注

 いずれのアプリケーションサーバも、独自拡張をしている箇所があり、それぞれに依存する設定項目までは互換性がありませんが、Java EEの実装部分に対しては互換性を保っています。

 Java EE 5とJava EE 6で大きく変わった所は、Webサービスのサポートが増えたこと、プレゼンテーション層の充実、従来よりも実装するコードや設定を減少する試みがされていることです。従来までのJava EEと比較したJava EE 6の特徴は、以下の3点です。

  • 仕様の軽量化
  • 拡張性
  • 開発のしやすさを向上

仕様の軽量化と拡張性

 従来のJava EEは仕様の拡充を繰り返してきたため、その結果、仕様が徐々に肥大化してしまい、さらには現在は使われなくなった仕様も含むようになりました。Java EE 6では全ての仕様を利用するのではなく、必要な仕様のみを選択できるようになっています。これをProfile(プロファイル)と呼び、Java EE 6ではWebアプリケーション仕様に関するProfileをWeb Profileとしてまとめられています。こうすることで、Java EEアプリケーションサーバは必要な機能のみを使うようにでき、従来のJava EEアプリケーションサーバのように不要な機能も稼動させる必要がなくなるため、全体的に軽量化も可能です。

開発のしやすさを向上

 従来懸念されていた、実装を始める前に設定しなければならない内容や、記述が必須となるコードが非常に多かった点、Webブラウザへ画面を出力する機能にあまり強力なサポートがなかった点が改善されています。アプリケーションを構築する際に、毎回似たような記述を繰り返し書かなくても済むようになったことも、改善点の1つです。

 本連載では、この改善点を挙げるとともに、より実装面で強力にサポートするために提供された仕様や実装を、実装例を交えて紹介していきます。本連載ではWebアプリケーションを初めて学ぶ方から、Java EEの学習を始めてみたい方も対象にしています。

Java EE 6の規格一覧

 Java EE 6で提供される規格・仕様は、大きく分けると4つのカテゴリに分類されます。この分類は、前バージョンにあたるJava EE 5と同じですが、細かい仕様の追加がなされています。

 以下に、代表的な仕様の構成図と一覧を示します。

図1:Java EE 6構成図
図1:Java EE 6構成図
表1:Java EE 6規格の抜粋
カテゴリ名 代表的な仕様 概要
Webサービス JAX-RS XMLデータを送受信する仕様から、AJAX、RESTのサポート
JAX-RPC JavaアプリケーションからJavaベースのWebサービスを呼び出す
Webアプリケーション サーブレット3.0 JavaのWebアプリケーションの基本仕様。設定の簡略化がなされている
JSP2.2 動的HTMLを出力するプレゼンテーション仕様
JSF2.1 JSPに変わるプレゼンテーション仕様。Webアプリケーションのインタフェースを強化する
JSTL1.2 JSPやJSFで利用できる汎用的な機能をタグで定義し、拡張する仕様
エンタープライズ機能 EJB3.1 業務ロジックを実装するクラス仕様。従来のEJBに比べ設定を減らし、Java EE 6で採用された他の仕様に対応
JSR-330 Javaネイティブで依存性注入を行う仕様。JSR-330そのものはインタフェース集合
JPA EJBでデータベース接続とトランザクション管理を行う仕様。Java EE 6のリリースに伴い改良
CommonAnnotation Java5で採用されたアノテーションをさらに拡張し、汎用的な注釈を定義
JMS ネットワークを跨いでメッセージを送受信する仕様
管理機能 JSR-196 認証サービス仕様
JAAS Javaアプリケーションの認証・認可仕様
ApplicationDeployment Java EEサーバへのアプリケーション搭載のための仕様

 ここに挙げた以外にも、Java EE 6で策定された仮の仕様や、将来廃止予定の仕様もあります。最新の動向については随時紹介していくとともに、本連載では特に注目すべきものに絞って紹介していきます。

紹介予定の仕様

 Java EE 6を構成する仕様はたくさんあるので、その中から特に注目されているものを選びました。本稿では以下のものを紹介していく予定です。

  • サーブレット3.0
  • JSF2.0、JSF2.1
  • JSR-330とGuice、EJB3.1
  • JAX-RS(RESTful API、Java EEでRESTを実現する仕組み。RESTについては後述)

 各仕様についての詳細は、次回以降に紹介します。今回は、環境構築を行いましょう。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

  • WINGSプロジェクト 東 浩二(アズマ コウジ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

バックナンバー

連載:Java EE 6 開発入門

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5