Focus Products



  
Focus Products 関連リンク


J2EEアプリケーションのスピード開発とメンテナンスコストを低減する『OptimalJ』

刻々と変わる市場環境に対応するには、顧客ニーズに対応した製品やサービスの迅速な開発が求められます。
そのキーポイントは、ビジネスを支えるアプリケーションの迅速な開発と既存アプリケーションの再構築です。
『OptimalJ』はJ2EEアプリケーションのスピーディな開発と、メンテナンスまでを含めたコスト低減を実現します。

全文をPDFでダウンロードする

アジル経営を支えるアプリケーションのスピード開発が課題

 めまぐるしく変化する市場環境で勝ち残るには、的確な意思決定を迅速に行うアジル経営の実現が不可欠です。さらに、迅速な意思決定に基づいて、新サービスや新商品を素早く市場に投入できる体制を築かねばなりません。それに対応できない企業は大きく出遅れてしまいます。
 例えば、Eコマース業界では、3ヵ月ごとに新製品や新サービスが登場し、常に消費者に対して自社の魅力をアピールしないと、顧客を奪われてしまいます。
 新サービスや新商品を開発するためには、社内業務の見直しや新たなパートナー企業の開拓も必要となります。こうした状況はEコマース業界だけに限りません。扱う商品やサービスの追加や変更に合わせて、システムの新規構築はもちろん、既存システムの再構築も求められます。
 今、企業のIT部門に求められている最大の課題は、前記のような市場環境の変化に柔軟に対応できるシステムを、新たなビジネスモデルに基づいてスピーディにしかも低コストで開発することです。
 しかもその範囲は、小規模なシステムからエンタープライズレベルのシステムにまで及びます。その手段として注目されているのが、J2EEによるシステム開発です。J2EEアプリケーションの開発によって、変化への柔軟な対応、スピード開発、低コストを実現することが可能になります。

Java開発要員の確保とスピード開発がネック

 J2EEアプリケーションによるエンタープライズシステムには、開発およびメンテナンスのフェーズで課題があります。まず開発時に直面する課題としては、次のようなものがあります。

  1. スキルある技術者不足:Java開発スキルやWebアプリケーション開発スキルなどを持つ技術者の確保
  2. 情報共有不足:システム全体の設計を行う設計者、開発者および管理者間で、ビジネスモデルからアプリケーションの仕様、運用に関する情報共有の徹底
  3. 開発効率:まだまだ高いとはいえないJ2EEアプリケーションの開発効率
  4. スピード開発:ビジネスモデルに即したJ2EEアプリケーションの迅速な開発
     

図1 アプリケーションライフサイクルにおけるリソースの割合
(click image to enlarge)

J2EEシステム開発でまず問題になるのは、Javaに精通した開発要員の確保です。CやVisual Basicなどの開発者に比べて層が薄いのは否めません。
 もちろん、システム開発を外部のシステムインテグレーターやソフトハウスに委託することは可能ですが、きめこまかな対応が難しくなります。また、システムインテグレーターやソフトハウスにとっても、Javaに精通した開発要員が不足しており、必死に確保・育成しているのが実情です。
 また、システム開発に携わるスタッフ全員が、プロジェクトに関する情報を共有していなければ、ムリやムダも多くなり余計な開発工数がかかります。その結果、開発期間もコストも増えてしまいます。さらに、Java自体の開発効率が高いとはいえませんので、開発期間やコスト増の要因となり、スピード開発という要請に応えることが難しくなります。
 2つめの大きな課題は、メンテナンス期間においてビジネスに対応するための時間およびコストです。図1は、急速なビジネスの変化が、エンタープライズアプリケーションのライフサイクルにどのような影響を及ぼしているかを示しています。
 企業のビジネスのコアな部分を担うシステムは通常、5〜10年と長期間使用されるのが普通です。調査によると、アプリケーション全体のライフサイクルの中で開発そのものにかける期間とコストは20%に過ぎず、残り80%はメンテナンスに割かれています(図1)。
 また、この80%のメンテナンス期間中、企業はさまざまな変化に直面します。会社の合併や買収、国内で定められている各種規制の変更、新しい製品やサービスの導入、新しいセールスチャネルの導入など、その間に発生する変化を挙げたらきりがありません。
 こういった変化に対応するためのシステムの拡張、変更、更新にかかる費用と時間を削減すること、つまりメンテナンスコスト全体を削減することが、アプリケーションのトータルなライフサイクルにおいてコスト削減を可能にする鍵となります。
 逆にいえば、エンタープライズアプリケーションは、長期間にわたる使用に耐えるシステムではなく、“日々のビジネス変化に迅速に対応”できるシステム設計でなければ、今後のビジネス変化に追随することはできません。
 このように、せっかく変化への柔軟な対応やスピード開発を期待してJ2EEを選択しても、前述の開発面、メンテナンス面での課題をクリアしなければ、その強みを発揮できません。それどころかJava開発者が少ないことから容易に手直しがきかず、最悪誰も手をつけることができないアンタッチャブルシステムになりかねない危険性があります。

図2 MDAを実装した『OptimalJ』はビジネスモデルからコードを自動生成する
(click image to enlarge)

図3 『OptimalJ』では「パターン」を変更することによって、EJB1.1からEJB2.0への変更なども自動的に行える
(click image to enlarge)

 

ビジネスモデルからコードの自動生成で迅速なアプリケーションを開発

 『OptimalJ』を活用すれば、前述の開発面、メンテナンス面での問題を同時に解決することができます。少数のJava開発者を確保できれば、新規のアプリケーション開発からメンテナンスまでを、スピーディにかつ低コストで実現することができるのです。
 OMG Model Driven Architecture (MDA)を実装した『OptimalJ』は、ベンダーや言語に依存しない相互運用性によって、多様な組織に高度な柔軟性を提供しています。『OptimalJ』 のモデル間、モデルとコード間でのトランスフォーメーションは、迅速なアプリケーションの変更とメンテナンスを可能にしています。そのポイントは、

  1. ビジネスモデルからコードを自動生成するのでJava開発者は少数でOK
     MDAのテクノロジに基づいた『OptimalJ 』はプログラミングではなく、モデリングによるアプリケーション開発を実現しており、モデルからコードへの変換を自動的に行いますので(図2)、Javaに精通した開発者は少数で済みます。
     また、「パターン」によるモデル変換を実現しており、「パターン」をカスタマイズすることで、さまざまな業種・業界のビジネスモデルに対応できます。当然、Webのフロントのデザインのカスタマイズといったように、コードを全く触らずにすべての開発をモデルから行うのは現実的ではありません。しかし、複数のJ2EEアプリケーション開発者により一からコーディングすることに比べれば、開発者のリソースは遙かに少なくて済みます。
  2. 開発生産性の向上
     『OptimalJ』は最初からクラス図を描くだけなので、人手によるコーディングがほとんどありません。また、デバッグ用の実行環境として、Tomcat(Webサーバー)、JBoss(アプリケーションサーバー)、Solid DB(データベースサーバー)といったフリーのサーバーをバンドルしており、アプリケーションサーバーを用意しなくても、デバッグが可能です。さらに『OptimalJ』は、他のモデリングツールで業務分析を完了したUMLをインポートすることができます。また、JCA(J2EE Connector Architecture)を用いて、IBMメインフレームと連携するなど、既存システムとの幅広い統合も実現しています。
  3. メンテナンスコストの削減
     Javaを取り巻くテクノロジは日々バージョンアップしますが、『OptimalJ』はこうしたテクノロジの差異を「パターン」(図2参照)で自動的に吸収しますので(図3)、大幅なメンテナンスコスト削減が可能になります。米国EDS社の評価によれば、EJB1.1からEJB2.0への移行が、従来の開発手法では2ヵ月程度ですが、『OptimalJ』では30分程度で移行を完了できます。

 以上のように、『OptimalJ』は小規模からエンタープライズレベルまでのJ2EEアプリケーション開発・メンテナンスのハードルを格段に低くするツールであることがおわかりいただけたと思います。
 今までJ2EEアプリケーションの良さはわかっていても開発要員不足などで逡巡していた企業、あるいは市場変化に柔軟に対応できるシステムを構築したい、J2EEアプリケーションをスピーディに開発したいと考えている企業の皆様、是非とも『OptimalJ』を活用することでアジル経営を実現していただければと思います。