第4回 サーバーサイドJavaのソリューション・ポイント

eビジネス・システム構築の流れは?

 皆さんが、ある要件に従ってeビジネス(Web)アプリケーションを作成しようと決定したときの最初の段階を思い出してください。この最初の段階では、これから作成したいシステムの仕様に合わせていろいろな開発や設計手法、運用管理の考慮点、リスクやその解決策などたくさんのことに思いを巡らして、その具体的な方法や手段などのアクティビティを考えます。

 これはもっと簡単にいえば、プログラムを作る前には、必ずどのように作成すればいいのかとか、どういう開発ツールを使えばいいかということです。また、それを自由にアクセスさせるのか、機能アップさせた場合に変更が容易にできるのか、これらのたくさんのことを常に考えている、ということなります。

 これらを、自分の作りたいeビジネスアプリケーションを成功裏に完成に導くために必要な「ソリューション・ポイント」といういい方をする専門家もいます。さてこのソリューション・ポイントにも、実は非常にたくさんの観点があり、その内容も多岐にわたっています。

 しかし、数多くの現場を見ていますと、このソリューション・ポイントも、ただ単に模索して議論されているのではなく、システム構築の流れに沿ってこれに関連しながら考えられていることが分かってきました。この流れの中でソリューション・ポイントは、以下の4つの分類で議論されていることが分かります。

(1)アプリケーション・ポイント
(2)システム&ネットワーク・ポイント
(3)システム管理ポイント
(4)コンサルティング&サービス・ポイント

それぞれのポイントの中身は何?

 では、このそれぞれのソリューション・ポイントの中身は? といえば、次のような内容になってます。

(1)アプリケーション・ポイント

 このポイントには、これから作成しようとするeビジネスシステムで稼働するアプリケーション・プログラムに関するさまざまな考慮点やノウハウが集まっています。作成したプログラムを、いかにトラブルが少なく動かせるかとか、いかにプログラムを効率的に作成できるか、などが代表的なものです。

アプリケーション・ポイントでよく議論される内容はコレ
  • 効率的なプログラミング手法は?
  • アプリケーション開発の手順は?
  • 開発ルールや標準化の作成方法は?
  • プログラムの機能分割と共有化手法は?
  • システムの機能拡張方法は?

(2)システム&ネットワーク・ポイント

 このポイントは、先のアプリケーション・ポイントで完成したアプリケーション・プログラムを、ホストコンピュータやネットワークのインフラ上で活用する際に出てくる考慮点やノウハウです。

 サーバ・サイドJavaを応用して稼働するシステムでは、アプリケーションの最初に稼働するプログラムがサーブレットになることがほとんどです。

 簡単にいえば、そのサーブレットを効率的に稼働させ、サーブレットの性能を向上させるシステム形態やハードウェアやネットワークの構成などが、このポイントでは考慮点に挙がります。

システム&ネットワーク・ポイントでよく議論される内容はコレ
  • システム稼働時間の制御と管理方法は?
  • 負荷分散とクラスタリングの手法は?
  • パフォーマンスのいいシステム構成は?
  • 過去のプログラムやデータなど資産との連携方法は?
  • 経済的なシステム構成は?
  • システム負荷の算出方法は?

(3)システム管理ポイント

 このポイントは、これも先のシステム&ネットワーク・ポイントを踏まえて、構築されたインフラのメンテナビリティ(保守性)やセキュリティをいかに向上させるか、その考慮点やノウハウが論じられるところです。具体的には完成したアプリケーション・プログラムの修正や追加、機能拡張などが簡単にでき、かつそのアプリケーション・プログラムを必要な人以外にアクセスさせないような仕組みを作ることなどが大きな論点になることが多いです。

システム管理ポイントでよく議論される内容はコレ
  • プログラムのバージョンと履歴管理の方法は?
  • システム安定稼働の考慮点は?
  • クラッキングやセキュリティ違反への対策は?
  • 効率的なバックアップや復元手法は?
  • 自動運用の方法は?
  • 修整モジュールの適用方法は?

(4)コンサルティング&サービス・ポイント

 このポイントの大きな特徴は、先の3つのポイントに共通したように、前述のポイントを受け継いで展開されるというものではなく、ほかのすべてのポイントに横断的に考慮しなければならない点やノウハウということです。

 例えばポイント(1)のアプリケーション・ポイントであれば、その考慮点を実現させるために、必要な開発技法やテクニック、デザインのノウハウをどのように入手するのかが重要になってきます。

 またポイント(2)のシステム&ネットワーク・ポイントでも、どこに安くて性能のいいハードウェアやソフトウェアの組み合わせを提案してもらうかを考えます。

  またポイント(3)のシステム管理ポイントでも、変更管理や機能拡張、堅いセキュリティを実現できる手法をどのように私たちが知ったり、そのノウハウをどのように吸収できるか、などを考慮するポイントになります。

コンサルティング&サービス・ポイントでよく議論される内容はコレ
  • 最適なプログラムやシステムのデザイン手法は?
  • アプリケーションの実績や活用事例は?
  • 効率的な問題判別の方法は?
  • 技術的な質問の提出の仕方は?
  • トラブル回避や修整方法は?
  • 最適なテスト手順やケースの洗い出し方は?
  • 効率的な開発や運用情報の入手方法は?
  • 開発者個人ノウハウの活用方法は?

 ここに挙げた4つのポイントは、システム構築の過程で、突然出てくることもありますが、多くの場合、システム構築が進むにつれて、順番に考慮されていくこともあります。

 例えばポイント(1)、(2)、(3)の内容などは、システム開発の現場では、前後を行き来しながら考慮されることが多いポイントといえます。

 またポイントの(4)に限っては、すべてのポイントを横断するポイントという特徴を持つので、システム構築を始める最初に議論されたり、システム構築を進めていくに当たって、必要に応じてすべてのポイントの中で共通に考慮されていくことが多いと思います。

 これらのポイントの関係を図で表せば、例えば以下のような感じになるのかもしれません。いわゆる皆さんのeビジネスシステムを構築する過程では、これらのカテゴリのポイントが、Webアプリケーション・システム構築時には、皆さんの頭の中を絶えずよぎりながら進められているわけです。

図1 システム構築の4つのポイント


2/3

 INDEX

第4回 サーバーサイドJavaのソリューション・ポイント
  今回の内容の目的  
  eビジネス・システム構築の流れは?
それぞれのポイントの中身は何?
  ソリューション・ポイントを実感するためにサーブレットを知る
このサーブレットの問題点は何?
  

連載記事一覧




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

注目のテーマ

Java Agile 記事ランキング

本日 月間