Java EEの進化を取り込んで保守性と生産性を高めよ!--Javaシステムでの“モダナイゼーション”の在り方

森英幸
2013-05-23 16:01:00
  • このエントリーをはてなブックマークに追加

 Javaがエンタープライズ分野で地歩を固めてから長い年月が経つ。Javaベースの業務システムの中には、システム更改のタイミングが迫っているものも少なくないだろう。

 では、そうしたシステムをどのように保守していけばよいのだろうか。最新のハードウェア上に既存システムを再構築することも可能だが、それではJavaの進化の恩恵は得られない。

 ここでは、5月14日開催の「Java Day Tokyo 2013」で行われたセッション「エスケイプ・フロム・レガシーJ2EE」の内容を紹介しながら、Java EE時代のアプリケーション開発手法について考えてみたい。

J2EEからJava EEへの進化

 登壇したのは、日本オラクルでソリューションマネージャーを務める大橋勝之氏だ。大橋氏のセッションは、「J2EE」から「Java EE」への乗り換えについて解説するもの。最初に大橋氏は、Java EEの進化の歴史とそれを利用する開発の現場について現状を整理した。


日本オラクル コンサルティングサービス統括 テクノロジーソリューションコンサルティング統括本部 クラウド&ITソリューションコンサルティング本部 ソリューションマネージャー 大橋勝之氏

 「J2EEの当時は機能が少なく、いろいろな制約もあって使いにくい面がありました。そこで、J2EEの外側にサードパーティのコンポーネントを持ってきて機能不足を補い、その上にアプリケーションを構築する“J2EEスタイル”が定着したわけです」

 現場でこうした開発スタイルが普及する一方で、J2EEは進化を続け、外部のコンポーネントが担ってきた機能が徐々に標準化されて取り込まれていった。そのターニングポイントとなったのが、2006年、名前も新たにリリースされた「Java EE 5」だ。

 J2EEからJava EEへと変わり、2009年の「Java EE 6」、そしてこの6月に登場する「Java EE 7」と来て、もはやJava EEの標準機能だけで業務アプリケーションを構築できる環境が整ってきている。また「EoD(Ease of Development)」の考え方の下、Java EEには開発をより容易に、より効率的に進めるための拡張が施されている。

エンタープライズJava(J2EEからJava EEへ)の歴史
※クリックすると拡大画像が見られます

エンタープライズ開発の危機をJava EEが救う

 ところが、日本の開発現場では、今でもJ2EEスタイルの開発が広く行われているという。現場には、一度J2EEで確立したスタイルを崩したくないという考え方があるようだ。日本の業務アプリケーション開発の現場には、次のような傾向がよく見られると大橋氏は言う。

 「残業が多かったり、休日出勤が多かったりと人海戦術的なやり方が横行しています。それから標準機能を使わずに独自に開発する自前主義、過剰な要件に基づくオーバーエンジニアリングといった傾向が残っていて、なかなか開発は楽になっていません」

 このことは、開発現場における人材流出にもつながっているという。

 「システム開発では、一部の優秀な技術者に負荷が集中しがちです。優秀な技術者は新しい技術を使いたいと考えていて、それを使ってもっと効率的に仕事をしたいと思っている。旧来のやり方を押し付けられていては自分のスキルアップにつながらない、エンタープライズ開発はつまらないと考え、コンシューマー系やゲーム、SaaSなどの分野に優秀な人材が流れていっているのです」(大橋氏)

 こうした危機的状況を打破する手段として、Java EEがうまく使えるのではないかと、大橋氏は提案する。大橋氏によると、Java EEの活用により、以下のような効果が期待できるそうだ。

  1. システム開発のガバナンス強化
    Java EEの標準機能を利用することで、開発と保守のコストを削減し、技術リスクを低減する
  2. 技術者の仕事満足度の向上と作業品質の向上
    最新標準技術の習得機会を与えることで、優秀な技術者のモチベーションを高め、EoD機能を活用してオーバーワークを防ぐ
  3. 社内技術者のスキル向上の容易化
    Java EEだけで一通りのことができるようになるため、覚えなければならないスキル範囲を適正化できる
  4. 外部からの技術者調達の容易化
    標準技術、標準アーキテクチャを採用することで、オフショア開発など外部リソースを活用した開発が容易になる
  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]