最新技術トレンド

Web-SIフレームワークについて

(株)NTTデータ ビジネス開発事業本部
IT-Factory ビジネスユニット
須田 将史(すだ まさちか)

社会的背景

 近年、より迅速なネットビジネスを展開するために、Webシステムの短期開発が強く求められている。このような背景を受け、我々SIベンダーとしては、Web-SI方法論の整備が急務となっている。

Web-SIフレームワークとは

 Web-SI方法論とは、一般的に、開発手順と成果物を規定した「開発プロセス」、分析手法・設計指針・システムアーキテクチャなどを規定する「開発技法」、プロジェクトの管理手法を規定した「プロジェクトマネージメント」により構成される(図1)。Web-SIフレームワークとは、広義としてWeb-SI方法論全体を示す場合が多いが、本稿では、開発技法の1つであるアプリケーションフレームワーク(APIを提供するクラスライブラリ)に着目して解説する。


        図1 Web-SIフレームワーク

 アプリケーションフレームワークは、ユーザからのRequestを取得して業務ロジックを呼び出すまでの一連の処理機構・画面遷移の制御・ロギングサービス・リソース取得サービスなど、Webシステムを実現する上での共通基盤的な機能を提供する。開発者は、これらを使うことにより、前述の共通基盤的な機能の実装作業に煩わされることなく、業務ロジックの実装に専念できる。また、機能部品のみならず、フレームワークによって処理フローが規定されるため、設計の流用も図ることができ、短期でのシステム構築が可能となる。

技術動向

 現在の代表的なアプリケーションフレームワークの一つに、JakartaプロジェクトのStruts*がある。Strutsは、MVCモデルをベースとしたオープンソースのJ2EE(Java2 Enterprise Edition)フレームワークであり、近年、事実上の標準と位置付けられている。その為、有償・無償含めて、周辺開発ツールなどが充実しており、多くのシステムで利用されている。

 MVCモデルとは、業務ロジックやデータを表すModel、ユーザへの表示を行うView、それらを制御するControllerの3つに分けてアプリケーションを設計する概念である(図2)。MVCモデルを採用することにより、画面と業務ロジックを分離して設計可能なため、メンテナンス性のよいアプリケーションを構築できる。前述したStruts開発ツールとしては、定型クラスの自動生成や、GUIで画面遷移の設計を行うことにより設定ファイルを自動生成するツールなどがある。また、品質面では、オープンソースとして様々なコミュニティの精査が反映されているほか、商用サイトへの利用実績からみても、商用システムで利用可能なレベルまで向上しているといってよい。


           図2 MVCモデル

 Strutsは、Webシステムとしての基本的な機能を提供しているが、実際に商用環境に適用する場合、Model部に幾つかの機能を追加する必要がある。特に補完すべき機能としては、外部システムとの接続(データベース・既存システムなど)、トランザクション制御などが挙げられる。また、要件によっては、ユーザ操作制御や複雑な入力チェック機能、アクセス制御など、Strutsが提供するユーティリティ以外の機能を追加する必要がでてくるであろう。

 Strutsが主流となるに従い、近年では、各SIベンダーも、独自機能を追加したStrutsベースのフレームワークを整備しつつある。IBMやBEAシステムズ、ウルシステムズなど、独自機能を取り込んだフレームワークをWeb-SI案件に適用している。

NTTデータの取り組み

 NTTデータでも、Web-SI案件へのフレームワーク採用を推進している。特に今年に入ってからは、Strutsをベースとしたフレームワークを社内標準として設定し、全社展開中である。その大きなねらいは、事実上の標準を採用することによる、一定水準スキルを有する技術者の確保、ならびに、プロジェクトの早期立ち上げにある。独自フレームワークを用いた場合、プロジェクト初期段階では、その教育・初期導入にコストがかかる。しかし、「Strutsを用いて開発することができる」という前提条件でプロジェクト体制を組むことで、開発者の技術レベルが一定に集約され、設計項目・実装クラス・開発の流れなどに関する大まかな意識を共有することができる。また、アプリケーションフレームワークを中核に据えた、プロジェクト管理項目・開発プロセスについても体系化している。

今後の展開

 フレームワークを組織に展開する上では、下記のような種々の課題が存在する。

・ オープンソース部のメンテナンス・品質管理

・ コーディングレベルから実装方針に至るまでの様々な利用規約・採用指針の整備

・ プロジェクト体制・規模・案件固有の課題などに対するカスタマイズの必要性など

 今後は上述の課題に対処しつつ、フレームワークの機能追加・付帯ツールの整備などを通して、更なる開発効率の向上に取り組んでいく。


*Strutsに関するHP
The Apache Jakarta Project
http://jakarta.apache.org/struts/index.html


お問い合わせ先

E-Mail:sudam@nttdata.co.jp


 

 


Copyright:(C) 2003 BUSINESS COMMUNICATION All Rights Reserved