@IT|@IT自分戦略研究所|QA@IT|イベントカレンダー+ログ | ||
Loading
|
@IT > Webアプリケーション構築の最適解 > JSPの活用がこれからのWeb開発の鍵 |
|
|
|
Webアプリケーション構築の最適解“JSPカスタムタグとは?”
山中氏:Webの登場によって企業のビジネスモデルが大きく変化しました。そして、それを支えるシステム構築の現場にも、短納期化、ユーザーからの頻繁な仕様変更の要求といった状況が生まれています。今後、私たちがそういったお客様のニーズに答えていくためには、従来以上にシステム開発の生産性向上、効率化という視点を持たなければならないと考えています。
菅田氏:一般的にWebの開発は3カ月とよく言われますが、Webのセキュリティや耐久性を備えた、高信頼、高品質の堅牢なシステムを考えると、実際は、そんなに短い期間でシステム構築を完了するのはかなり難しいですよね。3カ月の納期というと、実際は、すでにベースができていて、その上にeコマース系の小規模な開発を行うような案件がほとんどではないかと思います。そういった開発で、商品を見せる部分やお客様が購入したい商品を入れ込む買い物かごなど、共通化できるテンプレートを作るレベルの部品化で短納期を実現しているのではと考えます。より大規模な開発において、限られた時間の中でいかに高品質のシステムをお客様に提供するかを考えると、いろんな粒度で、もう少し木目細かな部品化を実現し、より開発を効率化しようという発想が出てきています。 山中氏:より汎用度の高い部品を多く用意し、開発の効率化を図ろうという発想は業界にかなり以前からありました。ところが、多くの場合その試みは期待通りにはいかなかったように思います。しかし、J2EEの登場によって、もう一度それにトライしようというムードが出てきましたね。その理由の1つにEJBによる部品化があるわけですが、もう1つの注目すべきポイントにJSPの登場があると思います。JSPは、HTMLのデザインの中にJavaのコードを埋め込むわけで、デザインとロジックを1つにしてしまうものであるわけですが、実は、JSPのカスタムタグライブラリを使うと、ロジックの部分をうまく外に出すことができます。これはつまり、さまざまなシステムに汎用的に使える部品をJSPカスタムタグライブラリとして用意すれば、デザインとロジックの分離と、部品の再利用による効率化という2つのメリットを産むわけです。そこでJRunでは、あらかじめJSPカスタムタグライブラリを用意して、開発の効率化ということを考えています。
菅田氏:弊社でも、同様の取組みを始めています。すでにご存知と思いますが、 弊社ではEJBのコンポーネント部品の活用による効率化、生産性向上の取組みを始めています。EJBはバックエンドのロジック中心の取組みであるわけですが、もう一方の取組みとして、JSPを使ったフロント部分の効率化があります。Webシステムでは、フロントの業務もシステム全体のかなりの割合を持ちます。WebアプリケーションにおけるJSPが担う部分は大きくなっています。そこでJSPのカスタムタグライブラリ、弊社のフレームワークを活用しようとしています。 弊社の状況で考えますと、弊社では、関係会社を含めて数多くのSIを請け負っていますが、これらにフレームワークやコンポーネントという共通のプラットフォームを提供し、短納期でも品質を高める、さらには品質確保の時間を短縮するとともに、お客様へのサービスを高めることに注力することが重要だと考えています。昨年までのサイトの差別化は、Flashを使うなどして、見栄えの面で差別化を提供するような方向でした。しかし、今年に入ってからはCRMを中心とした、お客様のビジネスに直接付加価値を与えるサービスを構築する方向になっています。これは、中小規模のサイト構築でも同様の傾向ですね。
山中氏:JSPのカスタムタグを、御社ではフレームワークの中で活用されようとしていますね? 菅田氏:いろいろな会社が、自分たちなりの道具を作って、次のプロジェクトのときはそれを転用するというやり方をやっていたと思いますが、J2EEという業界共通のプラットフォームの登場で、もう、そういった作りのところで競争する時代ではないと思っています。私たちはそこを、JSPの部品化ということで、効率化しようとしているわけです。J2EE Blueprintsをベースとした、JakartaプロジェクトのStrutsやそのほかのフレームワークがあるわけですが、私たちは、実はずいぶん以前からフレームワークの開発に取り組んできました。私たちのフレームワークは、JSPのカスタムタグライブラリをベースにすることで、フレームワークに従った開発ができるような仕組みになっています。つまり、部品の再利用による効率化と、エンジニアスキルの有効活用を狙っています。 山中氏:なるほど、フレームワークによるエンジニアスキルの有効活用という視点もあるわけですね。
菅田氏:実は、Webアプリケーションは、画面のデザインからバックエンドの処理までを1人のエンジニアで作ってしまうほうが効率が良い面があります。しかし、開発規模が大きくなれば1人で対応することはできません。システムの規模に応じて、エンジニアをうまく配分するためには、やはり作業を分担できなければなりません。そこで、フレームワークを使って作業を切り分け、分業を可能にするわけです。ユーザーからの要望がいろいろ変わり、要件が複雑になっていく中で、人をどう増やして対応するかに悩むケースは多いですね。そういった実践ならではの経験があって、フレームワークの重要性を認識していますね。 サーブレットで書くコントロールの部分、セッション管理のやり方など、パターン化できるところはSEが毎回作らなくても良いようにしたいわけですね。ただ、TPモニタのように完全にパッケージ化するとスケーラビリティを持たせるのが難しくなります。ですから、部品として柔軟に拡張できる枠組みにしています。 あとは、上流のデザインをフレームワークに沿って決めることで、より部品を使いやすくなるという利点がありますね。UMLを使ってフレームワークに沿ったデザインパターンを守りながらオブジェクトデザインを行ったあと、ツールを使いクラスの階層図作成、それをJavaのクラスにマッピングし、コードに落とし込むという開発スタイルです。
山中氏:先ほどの菅田さんの発言に、いまや作り方で競争する時代ではないとございましたが、まったく同感です。私たちとしては、JSPのカスタムタグを自由に流通させることで、業界全体でのノウハウの共有をはかっていきたいと考えています。 菅田氏:そうですね。例えば、弊社でも、これまでアイティ・フロンティアさんが扱うColdFusionを使った案件を多くこなしてきました。その中で、カスタムタグによる開発の効率化には、常に取り組んできました。J2EEという業界共通のプラットフォームが登場したことで、JSPのカスタムタグはどのJ2EEプラットフォーム製品の上でも使える状況になったわけですよね。これからは、共通化できる部分はノウハウを共有し合って、協力しながら進めてやっていくべきだと考えています。 山中氏:これまでSIベンダーは独自のノウハウで競争をしてきました。その点では、ノウハウの共有は競争を厳しくすることになりますね。しかし、これはお客様にとっては、システム構築に関してSIベンダーを自由に選べるというメリットになります。 菅田氏:昔はプログラミングのスキルやテクニックが比較的重要だったわけですが、スキルの均質化という状況が一般化すると、今度はサービスで本当の勝負をする時代になります。お客様に本当のITを提供するという視点からは、非常によいことだと思います。さらには、業界での人材の流動化も起きるでしょう。これは業界全体のレベルを高めることにもなると思います。 山中氏:アイティ・フロンティアも富士通さんも、自社のアプリケーション・サーバを抱えているという点でコンペティタであるわけです。しかし、J2EE、JSPという共通のプラットフォームが登場したことで、ともにノウハウを共有しあえる状況が生まれました。例えば、JSPカスタムタグの流通という点で、アライアンスを組める可能性も考えています。お互いに、この業界を盛り上げていくことができればと、大いに期待しています。
|
|