JP2004110156A - アプリケーションサーバシステム用プログラムとビジネスコンポーネントへのデータ受け渡し方法 - Google Patents
アプリケーションサーバシステム用プログラムとビジネスコンポーネントへのデータ受け渡し方法 Download PDFInfo
- Publication number
- JP2004110156A JP2004110156A JP2002268682A JP2002268682A JP2004110156A JP 2004110156 A JP2004110156 A JP 2004110156A JP 2002268682 A JP2002268682 A JP 2002268682A JP 2002268682 A JP2002268682 A JP 2002268682A JP 2004110156 A JP2004110156 A JP 2004110156A
- Authority
- JP
- Japan
- Prior art keywords
- component
- business
- request
- business component
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】Webアプリケーションサーバシステムにおけるコントローラとビジネスコンポーネントとの依存部分を低減し、ビジネスコンポーネントの変更の自由度を向上させる。
【解決手段】コントローラ5とビジネスコンポーネント8との間に共通連携コンポーネント7を配置し、この共通連携コンポーネント7にて、Webクライアント1からのリクエストを解析し、ビジネスコンポーネント8にて処理可能なデータセットを生成し、このデータセットを当該リクエストに対して適切な業務処理を行うビジネスコンポーネント8に受け渡すようにしたものである。この共通連携コンポーネント7によって、コントローラ5とビジネスコンポーネント8との依存部分を吸収でき、コントローラ/ビジネスコンポーネントいずれか一方の変更による影響が他方に波及することがなくなる。
【選択図】 図3
【解決手段】コントローラ5とビジネスコンポーネント8との間に共通連携コンポーネント7を配置し、この共通連携コンポーネント7にて、Webクライアント1からのリクエストを解析し、ビジネスコンポーネント8にて処理可能なデータセットを生成し、このデータセットを当該リクエストに対して適切な業務処理を行うビジネスコンポーネント8に受け渡すようにしたものである。この共通連携コンポーネント7によって、コントローラ5とビジネスコンポーネント8との依存部分を吸収でき、コントローラ/ビジネスコンポーネントいずれか一方の変更による影響が他方に波及することがなくなる。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、Webと企業システムとをつなぐためのWebアプリケーションサーバシステム用のプログラムとビジネスコンポーネントへのデータ受け渡し方法に関する。
【0002】
【従来の技術】
近年、コンポーネントを用いたアプリケーションプラグラムの開発が主流となってきている。コンポーネントを用いたアプリケーションプラグラムの開発に関連する従来技術には以下の特許文献1、特許文献2がある。
【0003】
【特許文献1】
特開2001−154887号公報
【特許文献2】
特開平11−073322号公報
【0004】
特許文献1の特開2001−154887号公報に記載された発明は、アプリケーションプログラムを実行する際に、各コンポーネントの実行のアクセス履歴を記録しておいて、アプリケーションプログラムの実行の際の不具合等の検証を行う、というものである。
【0005】
また、特許文献2である特開平11−073322号公報に記載されている発明は、コンピュータアプリケーションの生成を支援するアプリケーションビルダツール内のソフトウェアコンポーネントを解析するための技術について開示されている。
【0006】
このようなコンポーネントを用いたアプリケーションの開発において、近年、Web(World Wide Web)と企業システムとをつなぐためのWebアプリケーションをWebとJavaを用いて構築する事例が増加している。
【0007】
Webアプリケーションの開発手法としてMVC(Model View Controller)がある。これは、図8に示すように、Webアプリケーションサーバシステム200をコントローラ201、モデル(ビジネスコンポーネント)202、ビュー203の3つの組み合わせで構成する考え方である。
【0008】
コントローラ201はたとえばJSP(Java(登録商標) Server Page)やServletなどによって実装され、ビジネスコンポーネント202、ビュー203の呼び出しやデータの受け渡しを制御するコンポーネントである。たとえば、Webクライアント204から受け取ったHTTPリクエストの内容を判断して、適切な業務処理を実行するビジネスコンポーネント202を呼び出す。
【0009】
ビジネスコンポーネント202はたとえばJavaBeansなどで実装され、コントローラ201によって呼び出されると業務処理を実行し、その結果をコントローラ201へ返す。コントローラ201はビジネスコンポーネント202からの応答に応じてビュー203を呼び出す。
【0010】
ビュー203はたとえばJSP(Java Server Page)やServletなどによって実装され、コントローラ201から受け取ったデータからWebページを生成してWebクライアント204にHTTPレスポンスを返す。
【0011】
【発明が解決しようとする課題】
上記Webアプリケーションサーバシステム200では、Webクライアント204から送られてきたリクエストに含まれる入力データをビジネスコンポーネント202が扱うことのできるデータセットに変換する必要がある。
【0012】
たとえば図9に示すように、コントローラ201にリクエスト解析部211を設けておき、Webクライアント204から受け取ったリクエストをコントローラ201において解析してデータセットを生成するか、もしくは図10に示すように、ビジネスコンポーネント202にリクエスト解析部212を設けておき、コントローラ201はそのままWebクライアント204から受け取ったリクエストをビジネスコンポーネント202に渡し、ビジネスコンポーネント202でリクエストを解析してデータセットを生成していた。
【0013】
しかしながら、この場合、コントローラ201とビジネスコンポーネント202とが互いにデータ構造を把握している必要があり、どちらかを変更した場合に他方に影響が及ぶという問題があった。
【0014】
具体的には、ビジネスコンポーネント202で扱うデータセットの変更によりコントローラ201の改造が必要になったり、リクエスト解析処理を含むビジネスコンポーネント202ひとつで業務処理を完結させる、もしくはビジネスコンポーネントの実行順番に制約を設けるなど、ビジネスコンポーネントの業務処理手順に制約を設けなければならない等の問題があった。
【0015】
そしてこのような課題、およびこの課題を解決するための手段については、上記の特開2001−154887号公報、特開平11−073322号公報などの公知文献においても何等記載も、示唆もされていない。
【0016】
本発明は、このような課題を解決するためになされるもので、コントローラとビジネスコンポーネントとの依存部分を低減し、ビジネスコンポーネントの変更の自由度を向上させることのできるアプリケーションサーバシステム用のプログラムと、ビジネスコンポーネントへのデータ受け渡し方法を提供することを目的としている。
【0017】
【課題を解決するための手段】
上記目的を達成するために、本発明のアプリケーションサーバシステム用のプログラムは、業務処理を実行する手段をコンピュータに実現するビジネスコンポーネントと、クライアントからのリクエストを解析して前記ビジネスコンポーネントにより処理可能なデータセットを生成し、前記ビジネスコンポーネントに受け渡す手段をコンピュータに実現する共通連携コンポーネントと、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出す手段をコンピュータに実現するコントローラと、前記ビジネスコンポーネントによる業務処理結果をクライアントに応答する手段をコンピュータに実現するビューとを有するものである。
【0018】
この発明によれば、コントローラとビジネスコンポーネントとの間に共通連携コンポーネントを配置し、この共通連携コンポーネントにて、クライアントからのリクエストを解析し、ビジネスコンポーネントにて処理可能なデータセットを生成し、当該リクエストに対して適切な業務処理を行うビジネスコンポーネントにデータセットを受け渡すようにしたことによって、コントローラとビジネスコンポーネントとの依存部分を共通連携コンポーネントで吸収することが可能となり、コントローラ/ビジネスコンポーネントいずれか一方の変更による影響が他方に波及することがなくなり、ビジネスコンポーネントの変更の自由度が向上する。
【0019】
また、本発明のビジネスコンポーネントへのデータ受け渡し方法は、アプリケーションサーバ上でクライアントからのリクエストに基づく業務処理を行う方法において、業務処理を実行する手段を前記コンピュータに実現するビジネスコンポーネントと、クライアントからのリクエストを解析して前記ビジネスコンポーネントにより処理可能なデータセットを生成し、前記ビジネスコンポーネントに受け渡す手段を前記コンピュータに実現する共通連携コンポーネントと、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出す手段を前記コンピュータに実現するコントローラと、前記ビジネスコンポーネントによる業務処理結果をクライアントに応答する手段を前記コンピュータに実現するビューとを有するプログラムを前記アプリケーションサーバのコンピュータに配置しておき、前記アプリケーションサーバは、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出し、この共通連携コンポーネントを用いて生成されたデータセットを前記ビジネスコンポーネントに受け渡すことを特徴とする。
【0020】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
図1は本発明のプログラムが適用される典型的なWebアプリケーションサーバシステムの構成を示す図である。
【0021】
同図に示すように、このWebアプリケーションサーバシステム100は、Webクライアント1からのHTTP(HyperText Transfer Protocol)リクエストを受け付けてレスポンスを返すWebサーバ2、およびWebサーバ2を介してWebクライアント1からのHTTPリクエストに対して業務処理を行うアプリケーションサーバ3とからなる。
【0022】
Webクライアント1は、具体的には、PC(Personal Conputer)、PDA(Personal Digital(Data) Assistants) 、携帯電話、その他インターネットへの接続機能とWebブラウザとを有する端末装置である。
【0023】
Webサーバ2およびアプリケーションサーバ3には、具体的には、ワークステーションや、これと同等の性能を有したPCなどが用いられる。Webサーバ2およびアプリケーションサーバ3は一台もしくは複数台のサーバコンピュータ上で稼動する。
【0024】
図2はWebサーバ2およびアプリケーションサーバ3に適用される典型的なコンピュータシステムの構成を示している。
【0025】
同図に示すように、コンピュータシステムは、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入力デバイス14、表示デバイス15、インターフェース16、ストレージデバイス17、通信デバイス18、システムバス19を備えて構成される。
【0026】
CPU11は、ROM12やRAM13に格納されたプログラムやデータなどを用いて各種の演算処理を実行する。ROM12は、コンピュータを機能させるための基本的なプログラムやパラメータなどが記憶された読み取り専用メモリである。RAM13は、CPU11が実行するプログラムやプログラムの実行に必要なデータを記憶する、高速な読み出しと書き込みが可能なメモリである。システムバス19は、CPU11、ROM12、RAM13、インターフェース16などで共有される情報伝達路である。
【0027】
インターフェース16には、入力デバイス14、表示デバイス15、ストレージデバイス17、通信デバイス18などの各種デバイスが接続されている。入力デバイス14は、オペレータからの入力を処理するデバイスであり、たとえばキーボードやマウスなどである。表示デバイス15は、オペレータに演算結果や描画結果などを表示するデバイスであり、たとえばCRT、液晶ディスプレイ、プラズマディスプレイなどである。ストレージデバイス17は、プログラムやデータを蓄積しておくための大容量の記憶装置であり、たとえばハードディスク装置などである。通信デバイス18は、コンピュータをインターネットに接続するための、たとえばモデムやNIC(Network Interface Card)などである。
【0028】
一方、Webクライアント1の構成は、基本的には上記コンピュータシステムと同等であり、少なくとも、有線もしくは無線でインターネットに接続するための機能、Webブラウザを動作させるためのハードウェア資源を備えたものである。
【0029】
図3は、上記Webアプリケーションサーバシステム100のサーバサイドのアーキテクチャ(ソフトウェア構成)を示す図である。
【0030】
Webサーバ2は、HTTPサーバ4、コントローラ5およびビュー6で構成される。アプリケーションサーバ3は、共通連携コンポーネント7およびビジネスコンポーネント8で構成される。
【0031】
HTTPサーバ4は、HTTPプロトコルによりWebクライアント1との間でリクエストとレスポンスの送受信を行う。
【0032】
コントローラ5は、たとえばJSP(Java Server Page)やServletなどで実装され、共通連携コンポーネント7およびビュー6の呼び出し、さらにコンポーネント間でのデータの受け渡しの制御をする。
【0033】
コントローラ5は、たとえば、HTTPサーバ4を通じて受け取ったWebクライアント1からのリクエストに基づいて共通連携コンポーネント7を呼び出し、リクエストのデータを共通連携コンポーネント7に受け渡したり、ビジネスコンポーネント8から業務処理結果であるデータを受け取ってビュー6を呼び出す。
【0034】
共通連携コンポーネント7は、たとえばJavaBeansなどで実装された1つ以上のコンポーネントであり、コントローラ5により受け取ったリクエストを解析して、このリクエストに対して適切な業務処理を行うビジネスコンポーネント8にて処理可能なデータセット形式を作成し、このデータセットをそのビジネスコンポーネント8に受け渡す。
【0035】
ビジネスコンポーネント8は、たとえばJavaBeansなどで実装された1つ以上のコンポーネントである。ビジネスコンポーネント8は、共通連携コンポーネント7より受け取ったデータセットに基づいて業務処理を実行し、その結果をコントローラ5へ返す。
【0036】
ビュー6は、たとえばJSP(Java Server Page)やServletなどによって実装され、コントローラ5から受け取ったデータからWebページを作成し、HTTPサーバ4を介してWebクライアント1にHTTPリクエストに対するHTTPレスポンスとして返す。
【0037】
次に、この実施形態のWebアプリケーションサーバシステム100の動作として、Webクライアント1からのHTTPリクエストのデータをビジネスコンポーネント8に受け渡す動作を図4を用いて説明する。
【0038】
Webクライアント1は、ユーザからの入力データをもとにHTTPリクエストを生成する。図4の符号41はこのとき生成されるHTTPリクエストの例である。リクエスト41には、たとえば、クラアント画面でユーザが入力した、テキスト、非表示テキスト、画面フォーム上でクライアントが選択(チェック)した項目に関する情報などが含まれている。
【0039】
Webクライアント1は、生成したリクエスト41をHTTPプロトコルによりWebサーバ2に送信する。リクエスト41はWebサーバ2のHTTPサーバ4に受信され、HTTPサーバ4からコントローラ5に渡される。
【0040】
コントローラ5はリクエスト41を受け取ると共通連携コンポーネント7を呼び出し、共通連携コンポーネント7にHTTPサーバ4から受け取ったリクエスト41をそのまま受け渡す。
【0041】
なお、リクエストを受けたとき実行する業務処理が予め外部の指定情報により指定されている場合がある。この場合共通連携コンポーネント7は、その外部の指定情報に従って適切なビジネスコンポーネント8を呼び出すことになる。
【0042】
また、共通連携コンポーネント7は、一つのコンポーネントであることに限らず、複数のコンポーネントで処理を分担するようにしても構わない。この場合の共通連携コンポーネント7の呼び出しはコントローラ5において制御するか、Webクライアント1からのリクエストのデータ内で指定するか、あるいは、外部からの指定情報内で指定することが可能である。
【0043】
共通連携コンポーネント7は、コントローラ5から受け取ったリクエスト41を解析して、その中から必要なキー情報、値を抽出して、ビジネスコンポーネント8にて処理可能なデータセット42を生成する。たとえば、キー情報と値情報をリスト上に並べた形式の一時データセットテーブル42が作成される。
【0044】
共通連携コンポーネント7は、作成したデータセット42をビジネスコンポーネント8に受け渡す。ビジネスコンポーネント8は受け取ったデータセット42に基づいて業務処理を実行する。
【0045】
なお、このとき、図5に示すように、複数のビジネスコンポーネント8a,8b間でデータセット42を次々と引き渡しながら、業務処理を継続して行く構成も考えられる。すなわち、最初のビジネスコンポーネント8aは、共通連携コンポーネント7によって作成されたデータセット42を受け取りこれを基に業務処理を行う。その結果がデータセット42に反映され、次のビジネスコンポーネント8bでの業務処理に利用される。
【0046】
そして最後のビジネスコンポーネント8(図5では8b)は業務処理結果を含むデータセット42をコントローラ5に返す。コントローラ5は、ビジネスコンポーネント8よりデータセット42を受け取るとビュー6を呼び出し、ビュー6に業務処理結果を含むデータセット42を受け渡す。
【0047】
ビュー6は、コントローラ5より受け取ったデータセット42より業務処理結果を取り出し、これをたとえばHTML(Hyper Text Markup Language)形式やXML(eXtensible Markup Language)形式のデータに変換し、HTTPサーバ4を介してWebクライアント1にHTTPリクエストに対するHTTPレスポンスとして返す。
【0048】
Webクライアント1は受け取ったHTTPレスポンスを描画する。
【0049】
このように、このWebアプリケーションサーバシステム100によれば、コントローラ5とビジネスコンポーネント8との間に共通連携コンポーネント7を配置し、この共通連携コンポーネント7にて、Webクライアント1からのリクエストを解析し、ビジネスコンポーネント8にて処理可能なデータセットを生成し、当該リクエストに対して適切な業務処理を行うビジネスコンポーネント8にデータセットを受け渡すようにしたことによって、コントローラ5とビジネスコンポーネント8との依存部分を共通連携コンポーネント7で吸収することが可能となり、コントローラ/ビジネスコンポーネントいずれか一方の変更による影響が他方に波及することがなくなり、ビジネスコンポーネント8の変更の自由度が向上する。
【0050】
たとえば、図6に示すように、複数のビジネスコンポーネント8a,8bの順番を入れ替えたり、図7に示すように、新しいビジネスコンポーネント8cを挿入しても、各ビジネスコンポーネント8a,8bを改造する必要がなく、この変更にコントローラ5も影響されることがないため、コントローラ5の改造も必要としない。
【0051】
共通連携コンポーネント7は、前述したように、一つのコンポーネントであっても、複数のコンポーネントで構成されていても構わない。
【0052】
この場合の共通連携コンポーネント7の呼び出しは、コントローラ5において制御するか、Webクライアント1からのリクエストのデータ内で指定するか、あるいは、外部からの指定情報内で指定することが可能である。
【0053】
このように共通連携コンポーネント7を複数のコンポーネントで構成しておき、その中の必要なコンポーネントのみを呼び出すようにすることで、速度的な性能アップを図れるとともに、メンテナンスも容易になる。
【0054】
【発明の効果】
以上説明したように、本発明のWebアプリケーションサーバシステム用のプログラムによれば、共通連携コンポーネントでコントローラとビジネスコンポーネントとの依存部分を吸収でき、一方の変更による影響が他方に波及することがなくなり、ビジネスコンポーネントの変更の自由度を高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るテレビジョンセットのシステムを示す概略図である。
【図2】図1のWebサーバおよびアプリケーションサーバに適用される典型的なコンピュータシステムの構成を示すブロック図である。
【図3】図1のWebアプリケーションサーバシステムのサーバサイドのアーキテクチャを示すブロック図である。
【図4】WebクライアントからのHTTPリクエストのデータをビジネスコンポーネントに受け渡す動作を説明するための図である。
【図5】複数のビジネスコンポーネントで業務処理を継続する場合のブロック図である。
【図6】本発明の第1の実施形態に係るビデオ入力を含んだ画面説明図である。
【図7】本発明の第1の実施形態に係る基本フローチャート図である。
【図8】従来のWebアプリケーションサーバシステムのソフトウェア構成を示すブロック図である。
【図9】従来のWebアプリケーションサーバシステムでのリクエスト解析の方法を示す図である。
【図10】従来のWebアプリケーションサーバシステムでのリクエスト解析の他の方法を示す図である。
【符号の説明】
1・・・・Webクライアント
2・・・・Webサーバ
3・・・・アプリケーションサーバ
4・・・・HTTPサーバ
5・・・・コントローラ
6・・・・ビュー
7・・・・共通連携コンポーネント
8・・・・ビジネスコンポーネント
41・・・・HTTPリクエスト
42・・・・データセット
100・・・・アプリケーションサーバシステム
【発明の属する技術分野】
本発明は、Webと企業システムとをつなぐためのWebアプリケーションサーバシステム用のプログラムとビジネスコンポーネントへのデータ受け渡し方法に関する。
【0002】
【従来の技術】
近年、コンポーネントを用いたアプリケーションプラグラムの開発が主流となってきている。コンポーネントを用いたアプリケーションプラグラムの開発に関連する従来技術には以下の特許文献1、特許文献2がある。
【0003】
【特許文献1】
特開2001−154887号公報
【特許文献2】
特開平11−073322号公報
【0004】
特許文献1の特開2001−154887号公報に記載された発明は、アプリケーションプログラムを実行する際に、各コンポーネントの実行のアクセス履歴を記録しておいて、アプリケーションプログラムの実行の際の不具合等の検証を行う、というものである。
【0005】
また、特許文献2である特開平11−073322号公報に記載されている発明は、コンピュータアプリケーションの生成を支援するアプリケーションビルダツール内のソフトウェアコンポーネントを解析するための技術について開示されている。
【0006】
このようなコンポーネントを用いたアプリケーションの開発において、近年、Web(World Wide Web)と企業システムとをつなぐためのWebアプリケーションをWebとJavaを用いて構築する事例が増加している。
【0007】
Webアプリケーションの開発手法としてMVC(Model View Controller)がある。これは、図8に示すように、Webアプリケーションサーバシステム200をコントローラ201、モデル(ビジネスコンポーネント)202、ビュー203の3つの組み合わせで構成する考え方である。
【0008】
コントローラ201はたとえばJSP(Java(登録商標) Server Page)やServletなどによって実装され、ビジネスコンポーネント202、ビュー203の呼び出しやデータの受け渡しを制御するコンポーネントである。たとえば、Webクライアント204から受け取ったHTTPリクエストの内容を判断して、適切な業務処理を実行するビジネスコンポーネント202を呼び出す。
【0009】
ビジネスコンポーネント202はたとえばJavaBeansなどで実装され、コントローラ201によって呼び出されると業務処理を実行し、その結果をコントローラ201へ返す。コントローラ201はビジネスコンポーネント202からの応答に応じてビュー203を呼び出す。
【0010】
ビュー203はたとえばJSP(Java Server Page)やServletなどによって実装され、コントローラ201から受け取ったデータからWebページを生成してWebクライアント204にHTTPレスポンスを返す。
【0011】
【発明が解決しようとする課題】
上記Webアプリケーションサーバシステム200では、Webクライアント204から送られてきたリクエストに含まれる入力データをビジネスコンポーネント202が扱うことのできるデータセットに変換する必要がある。
【0012】
たとえば図9に示すように、コントローラ201にリクエスト解析部211を設けておき、Webクライアント204から受け取ったリクエストをコントローラ201において解析してデータセットを生成するか、もしくは図10に示すように、ビジネスコンポーネント202にリクエスト解析部212を設けておき、コントローラ201はそのままWebクライアント204から受け取ったリクエストをビジネスコンポーネント202に渡し、ビジネスコンポーネント202でリクエストを解析してデータセットを生成していた。
【0013】
しかしながら、この場合、コントローラ201とビジネスコンポーネント202とが互いにデータ構造を把握している必要があり、どちらかを変更した場合に他方に影響が及ぶという問題があった。
【0014】
具体的には、ビジネスコンポーネント202で扱うデータセットの変更によりコントローラ201の改造が必要になったり、リクエスト解析処理を含むビジネスコンポーネント202ひとつで業務処理を完結させる、もしくはビジネスコンポーネントの実行順番に制約を設けるなど、ビジネスコンポーネントの業務処理手順に制約を設けなければならない等の問題があった。
【0015】
そしてこのような課題、およびこの課題を解決するための手段については、上記の特開2001−154887号公報、特開平11−073322号公報などの公知文献においても何等記載も、示唆もされていない。
【0016】
本発明は、このような課題を解決するためになされるもので、コントローラとビジネスコンポーネントとの依存部分を低減し、ビジネスコンポーネントの変更の自由度を向上させることのできるアプリケーションサーバシステム用のプログラムと、ビジネスコンポーネントへのデータ受け渡し方法を提供することを目的としている。
【0017】
【課題を解決するための手段】
上記目的を達成するために、本発明のアプリケーションサーバシステム用のプログラムは、業務処理を実行する手段をコンピュータに実現するビジネスコンポーネントと、クライアントからのリクエストを解析して前記ビジネスコンポーネントにより処理可能なデータセットを生成し、前記ビジネスコンポーネントに受け渡す手段をコンピュータに実現する共通連携コンポーネントと、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出す手段をコンピュータに実現するコントローラと、前記ビジネスコンポーネントによる業務処理結果をクライアントに応答する手段をコンピュータに実現するビューとを有するものである。
【0018】
この発明によれば、コントローラとビジネスコンポーネントとの間に共通連携コンポーネントを配置し、この共通連携コンポーネントにて、クライアントからのリクエストを解析し、ビジネスコンポーネントにて処理可能なデータセットを生成し、当該リクエストに対して適切な業務処理を行うビジネスコンポーネントにデータセットを受け渡すようにしたことによって、コントローラとビジネスコンポーネントとの依存部分を共通連携コンポーネントで吸収することが可能となり、コントローラ/ビジネスコンポーネントいずれか一方の変更による影響が他方に波及することがなくなり、ビジネスコンポーネントの変更の自由度が向上する。
【0019】
また、本発明のビジネスコンポーネントへのデータ受け渡し方法は、アプリケーションサーバ上でクライアントからのリクエストに基づく業務処理を行う方法において、業務処理を実行する手段を前記コンピュータに実現するビジネスコンポーネントと、クライアントからのリクエストを解析して前記ビジネスコンポーネントにより処理可能なデータセットを生成し、前記ビジネスコンポーネントに受け渡す手段を前記コンピュータに実現する共通連携コンポーネントと、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出す手段を前記コンピュータに実現するコントローラと、前記ビジネスコンポーネントによる業務処理結果をクライアントに応答する手段を前記コンピュータに実現するビューとを有するプログラムを前記アプリケーションサーバのコンピュータに配置しておき、前記アプリケーションサーバは、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出し、この共通連携コンポーネントを用いて生成されたデータセットを前記ビジネスコンポーネントに受け渡すことを特徴とする。
【0020】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
図1は本発明のプログラムが適用される典型的なWebアプリケーションサーバシステムの構成を示す図である。
【0021】
同図に示すように、このWebアプリケーションサーバシステム100は、Webクライアント1からのHTTP(HyperText Transfer Protocol)リクエストを受け付けてレスポンスを返すWebサーバ2、およびWebサーバ2を介してWebクライアント1からのHTTPリクエストに対して業務処理を行うアプリケーションサーバ3とからなる。
【0022】
Webクライアント1は、具体的には、PC(Personal Conputer)、PDA(Personal Digital(Data) Assistants) 、携帯電話、その他インターネットへの接続機能とWebブラウザとを有する端末装置である。
【0023】
Webサーバ2およびアプリケーションサーバ3には、具体的には、ワークステーションや、これと同等の性能を有したPCなどが用いられる。Webサーバ2およびアプリケーションサーバ3は一台もしくは複数台のサーバコンピュータ上で稼動する。
【0024】
図2はWebサーバ2およびアプリケーションサーバ3に適用される典型的なコンピュータシステムの構成を示している。
【0025】
同図に示すように、コンピュータシステムは、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入力デバイス14、表示デバイス15、インターフェース16、ストレージデバイス17、通信デバイス18、システムバス19を備えて構成される。
【0026】
CPU11は、ROM12やRAM13に格納されたプログラムやデータなどを用いて各種の演算処理を実行する。ROM12は、コンピュータを機能させるための基本的なプログラムやパラメータなどが記憶された読み取り専用メモリである。RAM13は、CPU11が実行するプログラムやプログラムの実行に必要なデータを記憶する、高速な読み出しと書き込みが可能なメモリである。システムバス19は、CPU11、ROM12、RAM13、インターフェース16などで共有される情報伝達路である。
【0027】
インターフェース16には、入力デバイス14、表示デバイス15、ストレージデバイス17、通信デバイス18などの各種デバイスが接続されている。入力デバイス14は、オペレータからの入力を処理するデバイスであり、たとえばキーボードやマウスなどである。表示デバイス15は、オペレータに演算結果や描画結果などを表示するデバイスであり、たとえばCRT、液晶ディスプレイ、プラズマディスプレイなどである。ストレージデバイス17は、プログラムやデータを蓄積しておくための大容量の記憶装置であり、たとえばハードディスク装置などである。通信デバイス18は、コンピュータをインターネットに接続するための、たとえばモデムやNIC(Network Interface Card)などである。
【0028】
一方、Webクライアント1の構成は、基本的には上記コンピュータシステムと同等であり、少なくとも、有線もしくは無線でインターネットに接続するための機能、Webブラウザを動作させるためのハードウェア資源を備えたものである。
【0029】
図3は、上記Webアプリケーションサーバシステム100のサーバサイドのアーキテクチャ(ソフトウェア構成)を示す図である。
【0030】
Webサーバ2は、HTTPサーバ4、コントローラ5およびビュー6で構成される。アプリケーションサーバ3は、共通連携コンポーネント7およびビジネスコンポーネント8で構成される。
【0031】
HTTPサーバ4は、HTTPプロトコルによりWebクライアント1との間でリクエストとレスポンスの送受信を行う。
【0032】
コントローラ5は、たとえばJSP(Java Server Page)やServletなどで実装され、共通連携コンポーネント7およびビュー6の呼び出し、さらにコンポーネント間でのデータの受け渡しの制御をする。
【0033】
コントローラ5は、たとえば、HTTPサーバ4を通じて受け取ったWebクライアント1からのリクエストに基づいて共通連携コンポーネント7を呼び出し、リクエストのデータを共通連携コンポーネント7に受け渡したり、ビジネスコンポーネント8から業務処理結果であるデータを受け取ってビュー6を呼び出す。
【0034】
共通連携コンポーネント7は、たとえばJavaBeansなどで実装された1つ以上のコンポーネントであり、コントローラ5により受け取ったリクエストを解析して、このリクエストに対して適切な業務処理を行うビジネスコンポーネント8にて処理可能なデータセット形式を作成し、このデータセットをそのビジネスコンポーネント8に受け渡す。
【0035】
ビジネスコンポーネント8は、たとえばJavaBeansなどで実装された1つ以上のコンポーネントである。ビジネスコンポーネント8は、共通連携コンポーネント7より受け取ったデータセットに基づいて業務処理を実行し、その結果をコントローラ5へ返す。
【0036】
ビュー6は、たとえばJSP(Java Server Page)やServletなどによって実装され、コントローラ5から受け取ったデータからWebページを作成し、HTTPサーバ4を介してWebクライアント1にHTTPリクエストに対するHTTPレスポンスとして返す。
【0037】
次に、この実施形態のWebアプリケーションサーバシステム100の動作として、Webクライアント1からのHTTPリクエストのデータをビジネスコンポーネント8に受け渡す動作を図4を用いて説明する。
【0038】
Webクライアント1は、ユーザからの入力データをもとにHTTPリクエストを生成する。図4の符号41はこのとき生成されるHTTPリクエストの例である。リクエスト41には、たとえば、クラアント画面でユーザが入力した、テキスト、非表示テキスト、画面フォーム上でクライアントが選択(チェック)した項目に関する情報などが含まれている。
【0039】
Webクライアント1は、生成したリクエスト41をHTTPプロトコルによりWebサーバ2に送信する。リクエスト41はWebサーバ2のHTTPサーバ4に受信され、HTTPサーバ4からコントローラ5に渡される。
【0040】
コントローラ5はリクエスト41を受け取ると共通連携コンポーネント7を呼び出し、共通連携コンポーネント7にHTTPサーバ4から受け取ったリクエスト41をそのまま受け渡す。
【0041】
なお、リクエストを受けたとき実行する業務処理が予め外部の指定情報により指定されている場合がある。この場合共通連携コンポーネント7は、その外部の指定情報に従って適切なビジネスコンポーネント8を呼び出すことになる。
【0042】
また、共通連携コンポーネント7は、一つのコンポーネントであることに限らず、複数のコンポーネントで処理を分担するようにしても構わない。この場合の共通連携コンポーネント7の呼び出しはコントローラ5において制御するか、Webクライアント1からのリクエストのデータ内で指定するか、あるいは、外部からの指定情報内で指定することが可能である。
【0043】
共通連携コンポーネント7は、コントローラ5から受け取ったリクエスト41を解析して、その中から必要なキー情報、値を抽出して、ビジネスコンポーネント8にて処理可能なデータセット42を生成する。たとえば、キー情報と値情報をリスト上に並べた形式の一時データセットテーブル42が作成される。
【0044】
共通連携コンポーネント7は、作成したデータセット42をビジネスコンポーネント8に受け渡す。ビジネスコンポーネント8は受け取ったデータセット42に基づいて業務処理を実行する。
【0045】
なお、このとき、図5に示すように、複数のビジネスコンポーネント8a,8b間でデータセット42を次々と引き渡しながら、業務処理を継続して行く構成も考えられる。すなわち、最初のビジネスコンポーネント8aは、共通連携コンポーネント7によって作成されたデータセット42を受け取りこれを基に業務処理を行う。その結果がデータセット42に反映され、次のビジネスコンポーネント8bでの業務処理に利用される。
【0046】
そして最後のビジネスコンポーネント8(図5では8b)は業務処理結果を含むデータセット42をコントローラ5に返す。コントローラ5は、ビジネスコンポーネント8よりデータセット42を受け取るとビュー6を呼び出し、ビュー6に業務処理結果を含むデータセット42を受け渡す。
【0047】
ビュー6は、コントローラ5より受け取ったデータセット42より業務処理結果を取り出し、これをたとえばHTML(Hyper Text Markup Language)形式やXML(eXtensible Markup Language)形式のデータに変換し、HTTPサーバ4を介してWebクライアント1にHTTPリクエストに対するHTTPレスポンスとして返す。
【0048】
Webクライアント1は受け取ったHTTPレスポンスを描画する。
【0049】
このように、このWebアプリケーションサーバシステム100によれば、コントローラ5とビジネスコンポーネント8との間に共通連携コンポーネント7を配置し、この共通連携コンポーネント7にて、Webクライアント1からのリクエストを解析し、ビジネスコンポーネント8にて処理可能なデータセットを生成し、当該リクエストに対して適切な業務処理を行うビジネスコンポーネント8にデータセットを受け渡すようにしたことによって、コントローラ5とビジネスコンポーネント8との依存部分を共通連携コンポーネント7で吸収することが可能となり、コントローラ/ビジネスコンポーネントいずれか一方の変更による影響が他方に波及することがなくなり、ビジネスコンポーネント8の変更の自由度が向上する。
【0050】
たとえば、図6に示すように、複数のビジネスコンポーネント8a,8bの順番を入れ替えたり、図7に示すように、新しいビジネスコンポーネント8cを挿入しても、各ビジネスコンポーネント8a,8bを改造する必要がなく、この変更にコントローラ5も影響されることがないため、コントローラ5の改造も必要としない。
【0051】
共通連携コンポーネント7は、前述したように、一つのコンポーネントであっても、複数のコンポーネントで構成されていても構わない。
【0052】
この場合の共通連携コンポーネント7の呼び出しは、コントローラ5において制御するか、Webクライアント1からのリクエストのデータ内で指定するか、あるいは、外部からの指定情報内で指定することが可能である。
【0053】
このように共通連携コンポーネント7を複数のコンポーネントで構成しておき、その中の必要なコンポーネントのみを呼び出すようにすることで、速度的な性能アップを図れるとともに、メンテナンスも容易になる。
【0054】
【発明の効果】
以上説明したように、本発明のWebアプリケーションサーバシステム用のプログラムによれば、共通連携コンポーネントでコントローラとビジネスコンポーネントとの依存部分を吸収でき、一方の変更による影響が他方に波及することがなくなり、ビジネスコンポーネントの変更の自由度を高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るテレビジョンセットのシステムを示す概略図である。
【図2】図1のWebサーバおよびアプリケーションサーバに適用される典型的なコンピュータシステムの構成を示すブロック図である。
【図3】図1のWebアプリケーションサーバシステムのサーバサイドのアーキテクチャを示すブロック図である。
【図4】WebクライアントからのHTTPリクエストのデータをビジネスコンポーネントに受け渡す動作を説明するための図である。
【図5】複数のビジネスコンポーネントで業務処理を継続する場合のブロック図である。
【図6】本発明の第1の実施形態に係るビデオ入力を含んだ画面説明図である。
【図7】本発明の第1の実施形態に係る基本フローチャート図である。
【図8】従来のWebアプリケーションサーバシステムのソフトウェア構成を示すブロック図である。
【図9】従来のWebアプリケーションサーバシステムでのリクエスト解析の方法を示す図である。
【図10】従来のWebアプリケーションサーバシステムでのリクエスト解析の他の方法を示す図である。
【符号の説明】
1・・・・Webクライアント
2・・・・Webサーバ
3・・・・アプリケーションサーバ
4・・・・HTTPサーバ
5・・・・コントローラ
6・・・・ビュー
7・・・・共通連携コンポーネント
8・・・・ビジネスコンポーネント
41・・・・HTTPリクエスト
42・・・・データセット
100・・・・アプリケーションサーバシステム
Claims (2)
- 業務処理を実行する手段をコンピュータに実現するビジネスコンポーネントと、
クライアントからのリクエストを解析して前記ビジネスコンポーネントにより処理可能なデータセットを生成し、前記ビジネスコンポーネントに受け渡す手段をコンピュータに実現する共通連携コンポーネントと、
前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出す手段をコンピュータに実現するコントローラと、
前記ビジネスコンポーネントによる業務処理結果をクライアントに応答する手段をコンピュータに実現するビューと
を有することを特徴とするアプリケーションサーバシステム用プログラム。 - アプリケーションサーバ上でクライアントからのリクエストに基づく業務処理を行う方法において、
業務処理を実行する手段を前記コンピュータに実現するビジネスコンポーネントと、
クライアントからのリクエストを解析して前記ビジネスコンポーネントにより処理可能なデータセットを生成し、前記ビジネスコンポーネントに受け渡す手段を前記コンピュータに実現する共通連携コンポーネントと、
前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出す手段を前記コンピュータに実現するコントローラと、
前記ビジネスコンポーネントによる業務処理結果をクライアントに応答する手段を前記コンピュータに実現するビューと
を有するプログラムを前記アプリケーションサーバのコンピュータに配置しておき、
前記アプリケーションサーバは、前記クライアントからのリクエストに応じて前記共通連携コンポーネントを呼び出し、この共通連携コンポーネントを用いて生成されたデータセットを前記ビジネスコンポーネントに受け渡すことを特徴とするビジネスコンポーネントへのデータ受け渡し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002268682A JP2004110156A (ja) | 2002-09-13 | 2002-09-13 | アプリケーションサーバシステム用プログラムとビジネスコンポーネントへのデータ受け渡し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002268682A JP2004110156A (ja) | 2002-09-13 | 2002-09-13 | アプリケーションサーバシステム用プログラムとビジネスコンポーネントへのデータ受け渡し方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004110156A true JP2004110156A (ja) | 2004-04-08 |
Family
ID=32266841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002268682A Pending JP2004110156A (ja) | 2002-09-13 | 2002-09-13 | アプリケーションサーバシステム用プログラムとビジネスコンポーネントへのデータ受け渡し方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004110156A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010123127A (ja) * | 2008-11-20 | 2010-06-03 | Nhn Corp | ウェブページを作成するために使用されるコンポーネントベースのジャバウェブアプリケーション開発フレームワーク |
JP2011096112A (ja) * | 2009-10-30 | 2011-05-12 | Toshiba Corp | フレームワーク及び情報処理装置 |
-
2002
- 2002-09-13 JP JP2002268682A patent/JP2004110156A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010123127A (ja) * | 2008-11-20 | 2010-06-03 | Nhn Corp | ウェブページを作成するために使用されるコンポーネントベースのジャバウェブアプリケーション開発フレームワーク |
US8839194B2 (en) | 2008-11-20 | 2014-09-16 | Nhn Corporation | Component-based web application development framework used for creating web page |
JP2011096112A (ja) * | 2009-10-30 | 2011-05-12 | Toshiba Corp | フレームワーク及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7464381B1 (en) | Content update proxy method | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
EP2847686B1 (en) | Enhanced document and event mirroring for accessing content | |
US8341595B2 (en) | System and method for developing rich internet applications for remote computing devices | |
US7698256B1 (en) | History support for stateless Javascript Web client | |
JP4867482B2 (ja) | 制御プログラムおよび通信システム | |
US20150095763A1 (en) | Browser emulator system | |
JP5238851B2 (ja) | 画面生成システム、画面生成方法、および画面生成プログラム | |
US20120317185A1 (en) | Method and system for controlling user experience with an application on a client device | |
CN101106578B (zh) | 一种更换界面主题的方法和系统 | |
EP1872208A1 (en) | Method and apparatus to select and deliver portable portlets | |
JP5936103B2 (ja) | クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム | |
CN102323880A (zh) | 基于浏览器解析方式的手机应用界面的开发方法和终端 | |
US20110264729A1 (en) | Augmentation of network traffic | |
US7877434B2 (en) | Method, system and apparatus for presenting forms and publishing form data | |
US9830307B1 (en) | Ahead of time compilation of content pages | |
JP2004110156A (ja) | アプリケーションサーバシステム用プログラムとビジネスコンポーネントへのデータ受け渡し方法 | |
US7171648B1 (en) | System and method for implementing object property grouping | |
US20140359429A1 (en) | Method, computer program, and system for rearranging a server response | |
Davis et al. | A comparative study of SOAP and DCOM | |
JP2002351677A (ja) | アプリケーション・プログラム実行順序制御システム | |
JP4039842B2 (ja) | 画面遷移方法、および、画面遷移プログラム | |
JP2003085033A (ja) | ファイル変換システム、コンピュータ、プログラム、ファイル変換方法 | |
JP2004021988A (ja) | ウェブページの転送およびレンダリングを行うためのシステム、方法およびコンピュータ読取可能媒体 | |
JP6072169B2 (ja) | ブラウザ及び擬似プラグインを用いた情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050909 |
|
A977 | Report on retrieval |
Effective date: 20080222 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A02 | Decision of refusal |
Effective date: 20080701 Free format text: JAPANESE INTERMEDIATE CODE: A02 |