フレームワーク、コンポーネントベース開発の効果を検証(前編)NTTコミュニケーションズの挑戦(2/2 ページ)

» 2002年07月06日 12時00分 公開
[宮下知起,@IT]
前のページへ 1|2       

オートログイン機能の実装にはEJBコンポーネント部品を採用

 オートログイン機能の開発には、デュオシステムズのEJBコンポーネント部品「CPIC FromPad」(以下CPIC)を採用した。そのため、この部分を日立ソフトが独自に作る必要がなかった。

 CPICは、「穴うめ君」というサイトの構築に利用したロジックをコンポーネント化したものだ。穴うめ君は、いちど会員登録して個人情報を入力しておくと、懸賞に応募する際にいちいち個人情報を入力する必要がないというサービスだ。当初、このシステムは、言語にC++、データベースにはオブジェクト指向データベースを利用していた。「専用のデータベース、C++言語の環境では、市場は開拓できません。Javaでのアプリケ−ション開発が増える将来をにらんで、穴うめ君の個人情報を管理する部分のEJB化を行いました」(デュオシステムズ 執行役員 コンポーネントエンジニアリング事業部長 飯塚富雄氏)

 ところで、個人情報を管理するための永続オブジェクトをバイナリベースのEJBコンポーネントにしてしまうと、サイトによっては個人情報の入力項目の違いに対応できない。そこで、CPICはあらかじめカスタマイズ可能なコンポーネントとして用意されている。CPICでは、個人情報の項目はXMLで定義する。サイトによって異なる項目の違いには、XMLの属性を変更して対応するわけだ。そして、CPICコンポーネントジェネレータというツールでコード生成を行うと、サイトの個人情報の属性を満たすEJBコンポーネントが生成されるわけだ。「CPICのCは、実はカスタマイズのCです。データの構成が変わっても、XMLに手を入れて、あとはEJBを生成するだけという手法で、カスタマイザビリティを高めているのです」(飯塚氏)

ALT デュオシステムズ 執行役員 コンポーネントエンジニアリング事業部長 飯塚富雄氏

 「カスタマイズできるコンポーネントは重要です。なぜなら、コンポーネントを再利用できる場面は、実は少ないのです。同じビジネスドメインでも、7〜8割は同じだが、あとは違うという場面が多いでしょう。受発注処理にしても、在庫管理処理にしても、属性が違ってくるためにそのまま流用できません。そこで、属性はコードに書かないということが重要だと考えています」(飯塚氏)。基本的なビジネスロジックの部分は初めからコードで、属性の部分はXMLで定義し、その後EJB化するという手段は、コンポーネント流通という観点に立つと1つの有効な手段といえるだろう。

ALT コンポーネント生成の仕組み。XMLファイルから、XSLTで記述された生成ルールを適用することで、J2EE基盤のJavaソースコードを自動生成する

フレームワーク、コンポーネントベースの開発は運用後にも効果をもたらす

 「当社のサイト、中央大学のサイト、専修大学のサイト、どれも基本的なサービスを支えるコンポーネントは同じですが、URLによってサービスが異なる仕組みになっています。コンポーネントベースの構造は、運用レベルでも役に立っています」(白石氏)

 ShareStageは、顧客ごとに専用Webサーバを立てることなく、複数のWebサーバで複数の顧客に向けてカスタマイズされたサービスを提供することを実現している。そのために、ストレージにはNASを採用するなどのインフラ面での工夫もされている。「どのフロントにはどのコンポーネントが組み合わされているかを管理するのは本来大変な作業です。フレームワークとコンポーネントベースで開発されていることが運用・管理コスト削減の意味でも、効果を発揮していると思います」(白石氏)

 フレームワークベースの開発手法とカスタマイズが容易なコンポーネントの採用が、ShareStageのビジネスモデルを支えられているというわけだ。

 今回は、フレームワークとコンポーネントがもたらした効果について、どちらかといえば開発者側にとってのメリットを中心に解説した。後編の次回では、エンドユーザーにとってのメリット、課題について解説する。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ