Quantcast
Channel: Oracle Bloggers
Viewing all articles
Browse latest Browse all 19780

“いま”そして“これから”のJava EEに、開発者はどう取り組むべきか?【前編】──「WebLogic Server 12c Forum 2013」レポート

$
0
0
Java EE 6がリリースされて約3年、Java EE 6対応のWebLogic Server 12cがリリースされて約1年が経過した今日、エンタープライズ・システム開発の世界において、Java EE 6はどう評価され、利用されているのか?また、2013年春のリリースが予定されているJava EE 7に対して、エキスパートらはどのような期待を抱いているのか?──これに関して、国内ユーザー企業などでJava EE開発に取り組むアーキテクトらが本音を語ったのが、2013年2月1日に都内で催された「WebLogic Server 12c Forum 2013」におけるパネル・ディスカッションだ。その模様を2回にわたって紹介しよう。(編集部)

Java EE 6を現場で利用するアーキテクトらが“本音”を語る

 港区のオラクル青山センターで開催されたWebLogic Server 12c Forum 2013では、現在、そしてこれからのJava EE開発について、日ごろ国内企業でJava EEによるエンタープライズ・システム開発に従事しているアーキテクトらと米国オラクル幹部らによるパネル・ディスカッション「Java EE 6の現在とJava EE 7、そしてその先へ」が行われた。

 パネリストとして参加したのは、三菱UFJインフォメーションテクノロジーの斉藤賢哉氏(ITプロデュース部部長)、NTTデータビジネスブレインズの伊賀敏樹氏(ビジネスソリューション事業部)、WebLogic Server 12c Forum 2013の基調講演のために来日した米国オラクル・コーポレーションのマイク・リーマン氏(Fusion Middleware Prduct Management担当シニア・ディレクター)、日本オラクルでシニアJavaエバンジェリストを務める寺田佳央氏の4名だ。モデレーターは日本オラクルの伊藤敬氏(Fusion Middleware 事業統括部ビジネス推進本部)が務めた。

 斉藤氏と伊賀氏は、それぞれアーキテクトの立場でJava EE開発にかかわるとともに、関連書籍の執筆や雑誌への寄稿、オープンソース・ソフトウェアの開発といった側面からも国内におけるJava EEの普及/啓蒙に大きな役割を果たしているエキスパートだ。

三菱UFJインフォメーションテクノロジー ITプロデュース部部長の斉藤賢哉氏
 昨年のWebLogic Server 12c Forumにも登壇した斉藤氏は、銀行の情報系システムの構築で必須となるミドルウェアの導入にあたり、「ロックインが懸念されるベンダー固有の技術ではなく、オープンな仕様であり、長く安心して取り組める技術」としてJava EEとのかかわりをスタートした。そして、2005年のJavaOneで発表されたJava EE 5が旧来のJava EE(J2EE)と比べて開発生産性の面で大きな進歩を遂げたことに感銘を受け、これを国内でも普及させるべく、日本語によるJava EE 5の解説書として『マスタリングJava EE 5』の執筆に取り組む。現在では、ITプロデュース部で三菱UFJフィナンシャル・グループのクラウド基盤の運用、先端技術の研究開発に従事するかたわら、Java EEに関する書籍の執筆や雑誌への寄稿などを行っている。

 一方の伊賀氏は、SIerのフレームワーク開発者として本業であるシステム構築を行う傍ら、開発技術に関するテクニカル・ライターやオープンソース開発者として「いがぴょん」のハンドル・ネームで知られている。ネットでの情報発信、メディアへの寄稿のほか、開発フレームワーク「blanco Framework」のコミッター、「Pleiades」、「Benten」、「マスカット」といったオープンソース・プロジェクトへの参画、「Eclipse」の日本語化などに携わっている。

NTTデータビジネスブレインズビジネスソリューション事業部の伊賀敏樹氏
 伊賀氏は、WebLogic Serverをオラクルが買収する以前の黎明期から「最も安心して使えるアプリケーション・サーバの1つとして愛用してきた」というが、以前のJava EEに関しては、「初期のJSF 1.xやEJBになじめず、どちらかというとStrutsのようなフレームワークのほうが好きだった」と振り返る。しかしながら、Java EE 6の登場以降は、「これまでのJava EEに対する印象を、一度リセットする必要があると感じた。特にJSFは今では大好きな技術の1つ。小規模な案件でJava EE 6とFaceletsの組み合わせを採用するケースも出てきている」と話す。

Java EE 6の利用価値は?

 Java EE 6がリリースされて3年。その評価も次第に定まりつつあり、米国をはじめとする海外では、日本に先行するかたちで実案件への採用が進んでいる。モデレーターの伊藤氏は、改めてJava EE 6を利用すべき理由と、それによって得られる価値についてパネリストらに意見を求めた。

日本オラクルのシニアJavaエバンジェリスト、寺田佳央氏
 Javaエバンジェリストの寺田氏は、Java EE 5からJava EE 6への進化における大きなメリットとして、「開発生産性の向上」と「必要とされるライブラリのJava EEへの包含」の2点を挙げる。

 「Java EE 5は確かに従来からの大きな進化だったが、開発生産性を高める点、特にアノテーション・ベースでの開発が可能な範囲やDI(Dependency Injection)の実装などに関しては未熟な部分もあった。その点、Java EE 6では、より完成度が高まり、必要なものが取り込まれている」(寺田氏)

 斉藤氏は、現在進行中のプロジェクトの中でJava EE 6に取り組んでいる経験に基づき、「Java EE 6を採用すべき理由」と、それに際しての課題を述べた。斉藤氏がJava EE 6を採用すべき理由として挙げたのは、「生産性、保守性」、「学習コスト」、「移植性」、「ガバナンス」の4点だ。

 「私がJava EE 5の書籍を執筆した際、巻末のコメントに『まだ未成熟な部分が残っている』と書いたが、Java EE 6ではその多くが解消された。その意味では、1つの完成形と言ってよいだろう。機能性の向上、アプリケーション実装規模の縮小、テスト容易性の向上、オブジェクト指向にのっとったモデリングが可能といったメリットから、従来のJava EE、特にJ2EE 1.4と比べて生産性や保守性は格段に高まっている」(斉藤氏)

 また、「学習コスト」の観点では、従来と比べて「より学習しやすいフレームワーク」に進化したと評価する。

 「時折、『Java EE開発で覚えるべきことが多くなった』という声を耳にするが、これはJava EEが複雑化したからではなく、カバーする機能が増えたためにそう感じるのだろう」(斉藤氏)

 斉藤氏は、Java EEが今後も長く使い続けられる標準フレームワークとして十分なポテンシャルを獲得したことを改めて強調したうえで、「現在の課題は開発者の育成。今後は、Java EEに開発環境を1本化していくことで組織内でのノウハウの蓄積が進み、開発者の育成も行いやすくなるだろう。新規プロジェクトでの導入もさることながら、償却が終わるJ2EE時代のアプリケーションがある場合には、それらを順次Java EE 6ベースに移行していくことを強く勧めたい」と述べた。 伊賀氏は、Java EE 6の採用を検討する理由を、「前向きなもの」と「後ろ向きなもの」の両面から挙げてくれた。

 まず「前向きな理由」として、伊賀氏は「すべてをJava EEの仕様内で完結できる」ことと、「それを将来にわたって使い続けられる」ことによる「安心、安全感」を強調した。

 一方、「後ろ向きな理由」として挙げたのは、近年のWebアプリケーション開発において、よりセキュアなシステムの構築と運用を求められる流れが強まっていることだ。

 「標準外の仕組みを組み合わせてシステムを作ると、どうしてもその部分にセキュリティ上の穴が生まれがちだ。その点、Java EEで環境を統一すれば、セキュリティ面の強度を高められる。また、利用技術のガラパゴス化の解消、古いWebアプリケーション・サーバ製品の保守切れリスクへの対応、ベンダー・ロックイン・リスクの低減といった面でも、業界標準のJava EE 6を使うことに理がある」(伊賀氏)

 さらに伊賀氏は、実案件にJava EE 6を取り入れた経験の中で実感した「暗黒面」として、「まだ日本語による情報や経験のある開発者などの絶対数が少ないため、さまざまな苦労をした」と述べた。

 後編では、「Java EE 6の海外での採用状況」、「Java EE 6への具体的な取り組み方」、そして間もなくリリースが予定されている「Java EE 7への期待」といったテーマについての議論を紹介しよう。


Viewing all articles
Browse latest Browse all 19780

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>