[検証実験]Webシステム開発の効率化を検証する

第1回 検証の趣旨と準備作業

石原篤一
テンアートニ
2002/4/16


Webアプリケーション開発を立ち上げるのは
簡単ですか?

 現在、J2EEベースでのWebシステム構築は、ECサイトやBtoB、イントラネットに至るまで、幅広い分野で一般的になってきました。

 これまでJ2EEベースのWebシステム構築に携わってきた企業や組織では、Webアプリケーション開発に関する基礎的な技術やノウハウをすでに習得し、現在ではより高度な機能を備えたシステム、大規模システム、パフォーマンスやスケーラビリティ、アベイラビリティに優れたシステムなど、基幹業務やよりクリティカルな要件にこたえるシステム構築の実現に向けて進んでいる段階にあるといえます。

 その一方で、J2EEベースのWebアプリケーションを重要な手段ととらえつつも、これまで本格的に取り組むには至らなかった企業もあるでしょう。しかし、現在のJ2EEベースのシステム開発の普及を受けて、既存の業務アプリケーションや社内イントラのJ2EE化に取り組もうとしている企業や組織も非常に多くなったのではないでしょうか。

 そのような組織が、ある日突然J2EEベースのWebアプリケーションの開発を立ち上げなければならない状況になったとき、どのようなやり方で進めていくでしょうか。マネージャ的な立場から1つの単純な例を考えてみます。

  1. Javaを触ったことのある人がいなければ、Javaの講習に参加させる
  2. Javaの基本を覚えたら、Webシステム構築の講習に参加させる
  3. 2.のような人たちを何人かつくり、プロトタイプを作らせる
  4. プロトタイプができたら、その組織内で使うための小規模なシステムをテスト的に作らせてみる
  5. 実際に使用可能な小規模システムができる程度の技術力が付いたら、当初の目標に向けて具体的なプロジェクトを開始する

 基本的に、自分たちで一から作っていく、というスタンスです。このような取り組み方の場合、経験上、大まかに2点の困難さが待ち受けていると思います。

 1点目は、「開発環境をどう構築すればよいか分からない」という問題です。上の例では、2.から3.への段階で出てきます。講習を受けて、MVCモデルによる簡単なサンプルは作れるようになった(と思う)が、自分の組織に戻って開発環境をどう構築してよいか分からない、アプリケーションサーバは何を使えばよいのか? いくらかかるのか? どう設定すればよいのか? 作ったクラスファイルはどこにどのようにして置けばよいのか? といったものです。

 2点目は、「システムの基盤アーキテクチャを設計・開発するのが難しく、安定したものができるまでには相当時間がかかる」という問題です。上の例では、4.5.で出てくると思われます。なぜ難しいか、なぜ安定するまでに時間がかかるのか、の理由としては大きく2つ考えられます。1つは、J2EEベースのWebアプリケーションとして、MVCモデルの上にどのような構造を作っていけばよいか、また、ブラウザやHTTPを使うといったWebシステムの特徴にどう対応すればよいかなど、考慮すべき課題が非常に多いことです。もう1つは、それらの課題が、実用レベルのシステムを開発していく段階にならないとなかなか表面化せず、試行錯誤を繰り返していかなければならないことです。つまり、始めの段階では分かっていない課題が、実は山ほどあり、それらは手探りで進んでいく中でようやく少しずつ見えてくる、という状況です。大変さがお分かりいただけるかと思いますが、それでは、相当時間がかかる、とはどの程度でしょうか。経験上の感覚から乱暴にいってしまえば、小規模なWebアプリケーションの基盤アーキテクチャであっても、1.から5.まで進み、ある程度安定したものを構築するまで、早くても半年はかかると思われます。

 1点目の問題で出ばなをくじかれ、開発が本格化してきたところで、2点目の問題で大きなリスクを抱える。現在、あるいはこれからWebアプリケーションの開発を立ち上げようという方々にとっては、このような状況を受け入れる余裕はないのではないでしょうか。これらの困難をどう乗り越えていけばよいのでしょう。

困難を乗り越えるには……

開発環境の構築について

 初期の開発環境としては、安価に入手でき、インストールも簡単で、動作の軽いアプリケーションサーバの選択をお勧めします。

 初期の開発環境として、J2EEの最新仕様に完全準拠した、高価で、ハードウェアも高いスペックが要求される本格的アプリケーションサーバを選択することが最善であるかどうかは、検討する必要があるでしょう。本格的アプリケーションサーバは、重厚なシステム構築が可能である分、システム設定やアプリケーション配備に時間を取られる可能性もあります。

 手軽な開発環境の構築を第1の要件とするならば、J2EEの仕様の中のServlet、JSPに対応した、Webコンテナだけを搭載するサーバ製品を選択することも、1つの方法です。開発立ち上げ時に扱う案件は、小規模から中規模のシステムであり、これらのうちの多くは、Servlet、JSPでカバーできます(図1)

図1

 また、選択したサーバ製品への、アプリケーション配備に対応した統合開発環境(IDE)を導入すると、より便利です。

基盤アーキテクチャ構築のリスクについて
 現在では、J2EEベースでのWebアプリケーション開発のためのフレームワーク製品が複数登場しています。それらを利用することで、基盤アーキテクチャを一から構築する必要がなくなり、自身のビジネスロジック構築に、より集中できるようになります。ビジネスロジック自体は、J2EEベースのWebアプリケーションで実現するからといって、特別難しさが増すわけではありませんので、リスクは大きく軽減することになります。また、基盤アーキテクチャは、案件ごとの内容の違いが少ないため、一度フレームワークを導入すれば多くの案件に対応できます(図2)

図2

 しかし、フレームワークの導入といっても、アプリケーションが個別の製品に依存してしまうことや、基盤アーキテクチャの部分の技術がいつまでも身に付かないのではないかという疑問で、不安感を持たれる方も多いでしょう。確かにフレームワーク製品への依存は避けられませんが、リスクを負ってでも自前で基盤アーキテクチャを構築した方がよいのか、あるいは、フレームワークに依存してでも、まずは安定した基盤の上でビジネスロジックの素早い実現を目指すのか、何を目的としているかによる、ということではないでしょうか。また、基盤アーキテクチャ部分の技術習得ですが、しばらくはブラックボックスとしてフレームワークを使ったとしても、J2EEベースのWeb開発に早く慣れ、フレームワークの構造に対する理解が深まってくることで、この部分に対しても取り組みやすくなる効果はあると思います。

実際に試してみよう

 それでは実際に、開発環境の構築と、フレームワークを使った開発を、皆さんにも一緒に試していただけるような形でご紹介していこうと思います。

 開発環境の例としては、Windows環境とLinux環境の2種類を取り上げます。サーバ製品は、評価版がダウンロード可能な「iPlanet Web Server」(iWS)を使います。それに合わせて、統合開発環境として、無償の「Forte for Java Community Edition」 (FFJCE)を使います。iWSの主な特徴や、環境の構築手順については、すぐ後でご紹介します。また、フレームワーク製品は、テンアートニの「WebWorkBench DeveloperCafe」(WWB WDC)を使います。今回は、検証のための環境構築までを解説します。実際の開発については、次回ご紹介する予定です。

COLUMN 「iWSの特徴」

 iWSはWebサーバという名前が付いていますが、Webコンテナを実装しています。Webコンテナを利用するための特別な設定というものはなく、インストール後、すぐにServletやJSPを実行できます。インストール作業もとてもシンプルです。

 今回は最新バージョンの「iWS Enterprise Edition 6.0」を使いますが、このバージョンに実装されているWebコンテナの、主な機能を挙げます。

  • JSP 1.1、Servlet 2.2完全準拠
  • プラグイン可能で、インプロセスで動作する高速なJavaVM
  • コマンドライン、GUIによるWARファイルの配備(図3)
    GUIによるWAR(Webアーカイブ)ファイルの配備機能を用いると、ローカルマシンで開発しパッケージングしたWARファイルを、リモートのiWSへ簡単に配備することができます。
図3
  • 標準カスタムタグライブラリ対応
  • Servletの自動コンパイル
  • JSPのプリコンパイル
  • Forte for Javaとのシームレスな連携(図4)
    Forte for Java上で、iWSへのWARファイルの配備、デバッグ、サーバ管理までを行うことが可能です(ただし、今回使用するCommunity Editionの場合は、iWSと同一マシン上で実行する必要があります)。
図4
  • セッションフェイルオーバー機能(図5)
    セッションマネージャによってフェイルオーバー機能を実装することも可能となります。
図5

 


1/4

 INDEX

[検証実験]Webシステム開発の効率化を検証 第1回

Page1
Webアプリケーション開発を立ち上げるのは簡単ですか?
困難を乗り越えるには……  
  Page2
Windowsにおける環境構築
iWSのインストール
Forteのインストール
  Page3
Linuxにおける環境構築
iWSのインストール
Forteのインストール
  Page4
開発環境の動作確認
  


Java Solution全記事一覧






Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間