Java Platform, Enterprise Edition 6(Java EE 6)が正式に2009年12月にリリースされてから、早3年が経ちました。しかし、Java EE 6を取り入れた開発はどれくらい世の中に広まっているのでしょうか?従来ながらのWebシステムの開発では、JSP/Servlet仕様だけを利用し、Struts/Springなどのフレームワークを組み合わせて利用する開発スタイルがまだまだ多いのではないでしょうか?本連載では、開発者の皆様に少しでもJava EE 6の魅力をお伝えし、実際の開発現場で利用していただけるように、Java EE 6を動かして仕様を理解することができる内容を連載していきます。 |
Java EE 6を利用することのメリット
Java Platform, Enterprises Editionの最新版である、Java EE 6には、Javaを利用したエンタープライズ向けのシステムを今までよりも簡単に開発するという大きな目的があります。例えば、Servlet仕様以外の仕様に関して、JSF(JavaServer Faces)やEJB(Enterprise JavaBeans)など、大規模なシステムを多くのチームメンバーで開発する際にXML地獄やインタフェース地獄に陥るなど仕様や開発が複雑になりがちで、その複雑さによりなかなか開発に取り入れられなかったなどの経験があるのではないでしょうか?Java EE 6では、すべての仕様においてアノテーションによる開発の簡易化が徹底して行われており、Java EE開発の敷居は従来よりもとても低くなっています。また、開発の簡易化という面だけではなく、非同期サーブレットや、EJBタイマー機能、非同期EJB、JSFのFaceletsを取り込むことによるテンプレートベースの画面開発の強化、JAX-RSによるRESTfull Webサービスの開発、JPA(Java Persistence API)の様々な機能追加など、今までできなかった処理を簡単に開発できるような仕様が追加されてきています。また、依存性注入に関するCDI (Contexts and Dependency Injection)といった新たな仕様も加わり、再利用性向上やモジュール化、開発の分離などをJava EE開発に標準仕様のみで取り入れることができるようになりました。
標準仕様化されたということは、Java EE開発における様々なベストプラクティスが世の中に広まり、それらを集大成させることができたということを意味しています。過去に築いた開発資産から新たな開発スキームに移行するには手間暇がかかりますが、標準にのっとること自体が様々なノウハウを享受しているといえます。Java EEという標準化された仕様を元に、システムを構築するということは、アプリケーション間での互換性や、開発技術者のスキル、ノウハウの標準化など様々な恩恵を受けることができ、開発コストを下げ、開発スピードを向上させるなどのメリットもでるはずです。
この連載に関して
この連載では、Java EE 6で大きく変更のある仕様、もしくは、新しく追加された仕様のなかで、まだまだ日本語の情報が足りていないと思われる仕様に関して取り上げ、Oracle WebLogic Server 12cを利用して実際にStep by Stepでコードを記述しながら仕様を理解し、簡単開発を体験できるような内容を連載していきます。本連載では、以下のような内容を予定しています。- JSF 2.1 (全2回)
- JPA 2.0 (全2回)
- JAX-RS 1.1(全2回)
- CDI 1.0 (全2回)
開発者の皆様にJava EE 6の簡単開発を体験いただき、実際のシステム開発においてJava EE 6のメリットを少しでも感じていただける連載をしていきますので、ぜひご期待ください。
なお、本連載を読み進めるにあたり、Java EE 6の動作環境として、Oracle WebLogic Server 12c(12.1.1)を利用します。Oracle WebLogic Server 12cは、無償で利用可能な開発者向けライセンスを提供しております。本連載では、Oracle WebLogic Server 12cをWindows上にインストールして利用することを前提に記載を行います。Oracle WebLogic Server 12cは、ここからダウンロードできます。
以下、参考までにOracle WebLogic Server 12c(12.1.1)のインストールから、開発環境であるOracle Enterprise Pack for Eclipseを起動し、単純なServletをWebLogic上で動作させる手順を記載します。ぜひインストールして試してみてください。
環境のセットアップ-ダウンロード
以下のサイトより、Oracle WebLogic Server 12cのWindows Installer版(2013/1/22時点ファイル名:oepe-indigo-installer-12.1.1.0.1.201203120349-12.1.1-win32.exe)をダウンロードします。http://www.oracle.com/technetwork/jp/middleware/weblogic/downloads/index.html
環境のセットアップ-インストール
ダウンロードしたインストーラーを起動します。以下のようにインストールウィザードが表示されます。「ミドルウェア・ホームディレクトリの選択」画面で、「新しいミドルウェア・ホームを作成する」を選択し、ミドルウェア・ホームディレクトリに「D:\wls12c」を入力し、「次へ」を押します。
「セキュリティ更新のための登録」画面は、「セキュリティ更新をMy Oracle Supportから受け取ります」のチェックボックスをはずします。その際、「構成マネージャの起動をバイアスして・・・」という確認ダイアログが表示されますが、「Yes」ボタンを押します。「インストール・タイプの選択」画面では、「標準」を選択して「次へ」ボタンを押します。
「製品インストール・ディレクトリの選択」画面では、デフォルトのまま「次へ」ボタンを押し、次の「ショートカットの場所の選択」画面でもデフォルトのまま「次へ」ボタンを押します。
「インストールの概要」画面でインストールされるものが一覧で表示されます。そのまま「次へ」ボタンを押すと、インストールが開始されます。そのまましばらく待つと、「インストール完了」画面が表示されます。「Quickstartの実行」ダイアログのチェックを外して「完了」ボタンを押します。
環境のセットアップ- Oracle Enterprise Pack for Eclipse(OEPE)の起動
上記のミドルウェア・ホームにインストールを行うと、OEPEが以下にインストールされます。D:\wls12c\oepe_12.1.1.0.1
上記フォルダのeclipse.exeを起動するとOEPEが付属しているEclipseが起動します。※OEPE自体はEclipseのプラグインとして提供されており、上記Eclipse上に包含されています。
Workspaceを選択するダイアログが表示されますので、ここでは以下を入力して「OK」ボタンを押します。
D:\wls12c\workspace
環境のセットアップ- Dynamic Web Projectの作成
「Project Explorer」ペインを右クリックして”Dyanmic Web Project”を作成します。「Dynamic Web Project」画面で、「Prjecct Name」に”test”と入力し、「New Runtime」ボタンを押します。
“Oracle WebLogic Server 12c (12.1.1)”を選択して「Next」ボタンを押します。
「WebLogic Home」に”D:\wls12c\wlserver_12.1”を入力します。Java Homeは自動的に入力されますので、「Finish」ボタンを押します。
「Dynamic Web Project」が以下のようになるので、「Finish」ボタンを押します。
「Open Associated Perspective?」ダイアログが出るので、「Yes」ボタンを押します。 Java EE アプリケーション開発用のパースペクティブが表示されます。
次に、Weblogicのドメイン作成をします。 OEPEの「Servers」タブの”new server wizard”リンクをクリックします。
Oracle Weblogic Server 12c(12.1.1)が選択さていることを確認して、「Next」ボタンを押します。
Domain directoryで”create domain”を選択して新しいドメインを作成します。
デフォルトのまま「Finish」ボタンを押します。
バックエンドで新しいドメインが作成されますので、しばらく待ちます。
ドメイン作成後に以下のようにドメインのパスが設定されていますので、「Finish」ボタンを押します。
これでサーバの設定が完了しましした。
次はシンプルなServletを作成して実際に動かしてみます。
「Project Explorer」で”test”プロジェクトを右クリックし、”New”から”Servlet”を作成します。以下のように入力して、「Finish」ボタンを押します。
作成されたServletのソースコードのdoGetメソッドを以下のように実装します。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hello World"); }
それでは、このサーブレットを実行してみます。このソースコードを右クリックして「Run As」>「Run on Server」を選択します。
「Run on Server」ダイアログが表示されるので、「Finish」ボタンを押します。その後、自動的に、WebLogicが起動され、サーブレットが実行されます。
以下のように”Hello World”が表示されれば正常に動作しています。
以上で、開発環境の設定が終了しました。非常に簡単に設定できたことがお分かり頂けたと思います。次の連載から、実際にこの環境で各仕様の動作を確認していきます。お楽しみに!