エンタープライズ:特集 2003/10/10 18:00:00 更新


特集:第1回 Webアプリケーション開発における諸問題とその解決策 (3/3)

設計における再利用性の追求−Together

 かつて英国BBCでは、エイプリルフールにスパゲッティのなる木を放映して話題になったが、今日「スパゲッティがなるところはどこか?」と聞かれれば、それはWebアプリケーションだ。ひんぱんな機能拡張、仕様変更などにより、スパゲッティのようなプログラムはどんどん増殖する。

 こうした事態を回避するために、ユーザーインタフェースとロジック明確に分離し、さらに再利用性の高い設計を行うべきだ、といわれている。しかし、実際にはなかなかうまくいかない。そのような中、J2EE開発を経験し、フレームワークの開発を手掛けるエンジニアが興味深いことを言っていた。「再利用性というのは、再利用できなくてはじめて分かるものなのですよ」と。

 再利用性のないアプリケーションは使い捨てであり、そのWebアプリケーションにも刻々と変化し続けるという目的が課せられる。この再利用できるかどうかが、敏速な開発を急務とするWebアプリケーションのポイントともなっている。ここで重要なのは、彼が言っているような再利用できないと分かった状況でどうするかだ。昨今の変化を余儀なくされる状況下では、唯一の解決策が作りながら設計変更することだといえる。

 この困難な作業を効率的に行い、再利用性の高いアプリケーションを開発可能とするのが、「設計」面における「Borland Together」のLiveSourceテクノロジーだ。Togetherは、UMLモデリングをサポートする設計ツールであり、ソースコードとUML図がリアルタイムシンクロ可能な「LiveSource」と呼ぶ機能を搭載している。また、Togetherはマルチ言語対応であり、設計から開発からテストまでを単一環境でカバーする「Together ControlCenter」と、各統合開発環境と連携してLiveSourceを実現する「Together Edition」と呼ぶパッケージが用意されている。Java向けでは、JBuilder、Eclipse、WebSphere Studioとの連携が可能だ。

 Togetherを用いれば、例えばJBuilderを使用して開発を進めているアプリケーションをUML図で確認し、再利用性に難がある箇所を設計変更することが可能だ(画像5)。既に開発を進めていたり、完了したアプリケーションであっても、ソースコードさえあれば、UML図を得ることができる。

fig4.gif

画像5■Togetherを用いたリファクタリング


運用面におけるWebアプリケーションサーバ−Borland Enterprise Server

 稼働を始めたWebアプリケーション環境は、ひんぱんに変更され日々成長していく。それは、ユーザー数、データ、アプリケーションなどさまざまだ。もちろん、将来の拡張を予想して大きな器を用意しておけば万全かもしれないが、多くの企業では当面の需要を満たすために不釣合いな投資はできないはずだ。

 Webアプリケーションの特性とは、いってみれば「小さく生んで大きく育てる」ことだといえる。需要に応じて成長できる柔軟性と拡張性があれば、最小の投資で稼働し始めることが可能だ。そして、必要とする能力に応じて追加投資をすればよい。このような視点で見れば、「Borland Enterprise Server」が選択肢に上がるはずだ。

 ボーランドのWebアプリケーションサーバには、廉価なWeb EditionからJ2EEフルサポートのAppServer Editionまで、いずれもCORBAテクノロジーをベースとした柔軟性、拡張性を備えている。自由な構成変更、規模の拡張が可能だ。JBuilderのパッケージにも標準バンドルされており、開発環境構築後からすぐに利用できるのも魅力となっている。

 Borland Enterprise Serverで稼動するアプリケーションは、完全な位置透過性を備えている。それは、サーバの構成を変更しても、コードをいっさい修正する必要がないことを意味する。また、構成上の制約がないため、ひんぱんにアクセスしあう機能同士を同じサーバに配置したり、多くのクライアントが並行アクセスする機能を集中的にクラスタ化するなど、限られたリソース内で最大限に性能発揮できるよう工夫されている。

個々のアプリケーション効率だけでなく総合的な開発サイクルも考えるべき

 ここまで、Webアプリケーションの開発、テスト、設計変更、拡張などの問題を挙げてきた。それぞれのフェーズで有効なアプリケーションを紹介したが、今日の開発効率化は、こうしたツール単体によるものだけでは十分に達成できないのも事実だ。

 もちろん開発ツールは、コーディングを簡単にし、デバッグを効率化する。しかし、先に見てきたように開発してからの設計変更、さまざまな要求への対応が発生すると、単に自身の作業を効率化するだけでなく、フェーズ間の連携が効いてくる。ボーランドでは、ALM(Application Lifecycle Management)というコンセプトでこれらを見ている。一連のアプリケーション開発サイクルの連携、統合をサポートする製品群を提供しているのだ。単体ツールが他のフェーズをサポートする製品と連携し、プロジェクト全体を効率化することができる。

 アプリケーション開発サイクルをすべてカバーする製品を揃えているというのはデパートに過ぎないと考える読者もいるだろう。しかし、一連のフェーズを統合できれば、開発の仕方自体が変わってくるのも事実だ。とにかく短期間に安く、しかも高品質、といわれる厳しい昨今の開発現場を楽にするには、緊密な統合による新しいパワーが必要だと筆者は考えている。

関連記事
▼ボーランド、Together Editionのラインアップ拡充に伴いキャンペーンを展開
▼ボーランド、J2EEと.NETをCORBAで統合するミドルウェアを出荷
▼ボーランド、.NETアプリケーションの統合開発環境「C#Builder」を発表

関連リンク
▼ボーランド
▼Java チャンネル

前のページ | 1 2 3 |      

[藤井 等,ITmedia]