初めてのJava EE 6開発! 最初の壁をどう乗り越えた?──最新Java EE開発“虎の穴” 第1回 菊田洋一氏

Oracle Java & Developers編集部
2013-11-27 11:00:00
  • このエントリーをはてなブックマークに追加

ブログやTwitterで知り合った人からもアドバイスが。グーグルのトレンド検索も参考にして「どの技術が有望か」を判断

──菊田さんはブログを書かれているほか、TwitterでもJava EEに関することをよくつぶやかれていますよね。

 ええ、実はTwitterを通しても、いろいろなアドバイスをいただいています。

 初めはセミナーやコミュニティのイベントに参加して知り合ったJava EE開発に詳しい方をTwitterでフォローさせていただいたりしたのですが、そのうち相手の方からも私をフォローしていただき、私がつぶやいたり、ブログに書いたりしたことに関してアドバイスをいただけるようになったのです。

 また、Twitterを通して知り合った方に、セミナーなどのリアルな場でお会いして、そこからさらに継続的な情報交換をする関係になる場合もありますね。ブログやTwitterの投稿に目を通していただき、自分では気づかなかったことなどについてアドバイスをいただけたりするのは本当に有り難いことです。

 これからJava EE 6を始める方にぜひお伝えしておきたいのですが、今は日本語の情報が少ないけれど、日本にもJava EE 6に詳しい方は沢山いらっしゃいます。セミナーや勉強会などのリアルな場やTwitterなどのソーシャル・ツールをうまく活用して、そうした方とつながることは、早く上達するうえでもとても有効な手段だと思います。

──ライブラリなどを選定される際、ほかに参考にした情報源などはありますか?

 「何が主流か」ということを調べる際には、検索を活用しましたね。

 例えば、JSFのライブラリとしてPrimeFacesを採用するか、それとも他のライブラリを採用するかで悩んだときは、実際に試してみるほかに、StackOverflowでそれらのライブラリ名で検索をかけ、それぞれについてどのくらい議論が活発に行われているのかを調べました。広く使われているライブラリは、議論も活発に行われるでしょうからね。

 また、グーグルの検索トレンドも活用しました。これも、それぞれのライブラリ名で検索をかけて、「このライブラリは今、被検索数が多いので、注目されている/ユーザーが増えている」、「このライブラリは、一時期は人気があったみたい(被検索数が多かった)けど、今は下火になっているみたいだ」といった具合に判断材料の1つにしました。こうした検索トレンドの活用法はPrimeFacesの開発リーダーの方がブログで紹介されていたんですよ。

Java EE 6に取り組んで得たものは?

──ここまで"初めてのJava EE 6開発"に菊田さんがどう取り組まれたのかを伺ってきましたが、今度はJava EE 6開発に取り組んでみて、新たに体験できたことや発見できたこと、収穫だと感じたことを聞かせていただけますか?

 Java EEをやって良かったと思うことは沢山あるのですが、まず挙げたいのは、ライブラリが充実していて、何か自分がやりたいことがあるときに、少し調べれば、それをやるためのライブラリが見つかるということです。例えば、初めは帳票出力のライブラリを自分たちで作ろうと考えていましたが、調べてみたらExcelファイルを操作するライブラリやPDF変換ライブラリが揃っていて、思っていたより楽に実現できました。

 個人的に大きな成果だったのは、テストも含めた自動ビルドの環境を構築できたことです。以前の大型プロジェクトではテストの多くが手作業で、成果物も専任の"ビルド職人"に依頼しないとビルドできないという状況でした。

 しかし、今回はせっかく新しくJava EEで開発するのだから、新しいやり方に挑戦したいと思い、調べてみたらJUnitのように単体テストが簡単にできるツールや、Mavenのような構成管理/ビルドのフレームワーク、Jenkinsのような継続的インテグレーションの環境があることを知りました。そこで、例えばJUnitで単体テストをしたり、SeleniumでWebブラウザ画面のテストを自動化したり、システム全体のテストが行えるArquillianを使ってみたりしたのです。

──自動ビルド環境もJava EE開発で初めて経験されたのですね。

 はい、環境ごとに成果物を自動ビルドして定期的にデプロイする継続的インテグレーションに取り組めたのは、Javaの周辺ツールが豊富なためだと思います。

 例えば、リリースしたシステムを改修したとき、当然リグレッション・テストも行うのですが、以前はそうしたテストの際にも、その領域に詳しい人に頼らないと確実な試験ができないといった状態でした。それがJava EEでは、ユニット・テストからインテグレーション・テスト、さらにデータベースを含めたテストを自動化する仕組みが使えるので、それらを活用して品質を確保するといった取り組みも行えました。

 ほかにJava EEに取り組んでよかったと強く思うことは、対象プラットフォームに広がりができたことですね。.NETは基本的にWindowsですが、私たちが使っているコンフィグレータ・エンジンはLinuxにも対応しています。JavaであればLinuxにもMac OSにも対応できるので、今後は他のプラットフォームへの展開も検討していきたいと思っています。

菊田さんからのワンポイント・アドバイス

 技術面で新しいことをいろいろと学べた点も、Java EEに取り組んで良かったことです。

 それまで、Webアプリケーション開発は未経験だったので、JSFに取り組む中でAjaxのことを知ったり、DI(Dependency Injection)やAOP(Aspect Oriented Programming)などの概念を学んだり、実際に使ってみて「こんなことができるんだ」と知ったりしました。先ほどの継続的インテグレーションやJPAのO/Rマッパーなど、いろいろと新しいことに取り組めたのも収穫です。

菊田さんからのワンポイント・アドバイス

──いろいろなオープンソース・プロダクトを使っていると、その管理も大変ですね。

 ライブラリの管理はMavenで行っています。以前は手作業で管理していたので、それと比べると雲泥の差ですね。後は今後、使用しているライブラリのバージョンが上がっていったときにどう対応するかが課題です。基本的に、安定して動いているものは変えず、必要な機能が追加された際には十分に検証して乗り換えるというスタンスで考えています。

 さまざまなライブラリを使っていると、それらの動向をすべてウォッチするのが大変だと思われるかもしれませんが、主要なプロダクトの動向についてはJJUGなどコミュニティの方々やプロダクト関連の方々をTwitterでフォローしていると何かあれば自然と話題に上るので、現状は少しアンテナを立てておく程度にしています。

 オープンソース・プロダクトについては、ライセンスにも気をつけなければなりませんね。私たちも、自分たちの使い方がライセンスに反していないかどうか、いろいろと調べました。一部が有料になるなど、途中から提供形態が変わったりすることもあるので注意が必要ですね。

──本日は貴重な経験談をありがとうございます。お話を伺っていて感じたのは、どうやらJava EE 6開発に取り組む方にとって最初の壁になるのは「情報の少なさ」ではないかということです。今回の記事では、菊田さんがJava EE 6開発で試行錯誤されたことなどのブログ記事も紹介しているので、ぜひ参考にしていただきたいですね。

菊田さんからのワンポイント・アドバイス

次の記事では、Java EE 6開発に取り組む中で、またプロジェクトを終えてみて感じたことをまとめています。皆さんの参考にしていただけることがあるかもしれません。

最新のJavaを3時間で知る!Java解説セミナー

  • 日時:2014年4月17日(木)
  • 場所:オラクル青山センター

株式会社 構造計画研究所の菊田 洋一氏登壇

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]