JP4709481B2 - サーバ、情報処理方法およびプログラム - Google Patents

サーバ、情報処理方法およびプログラム Download PDF

Info

Publication number
JP4709481B2
JP4709481B2 JP2003283501A JP2003283501A JP4709481B2 JP 4709481 B2 JP4709481 B2 JP 4709481B2 JP 2003283501 A JP2003283501 A JP 2003283501A JP 2003283501 A JP2003283501 A JP 2003283501A JP 4709481 B2 JP4709481 B2 JP 4709481B2
Authority
JP
Japan
Prior art keywords
view
client
jsp
response
file
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.)
Expired - Fee Related
Application number
JP2003283501A
Other languages
English (en)
Other versions
JP2005050241A (ja
Inventor
豪 近藤
紳一 広瀬
文彦 北山
宏明 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003283501A priority Critical patent/JP4709481B2/ja
Priority to US10/896,339 priority patent/US7454703B2/en
Priority to CNB2004100586673A priority patent/CN1311375C/zh
Publication of JP2005050241A publication Critical patent/JP2005050241A/ja
Priority to US12/263,081 priority patent/US7996764B2/en
Application granted granted Critical
Publication of JP4709481B2 publication Critical patent/JP4709481B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ネットワークを介して所定のクライアントからの要求を受け付けてウェブアプリケーションを実行するウェブアプリケーションサーバおよびその情報処理方法に関する。
インターネット等、ネットワーク環境の充実に伴い、ウェブベースのネットワークシステム上でブラウザを利用して操作するウェブアプリケーションが普及してきている。ウェブアプリケーションの実現には、クライアント(ブラウザ)からの要求に応じてサーバで動的にウェブページを生成しクライアントに送信する機能が必要であるが、このための手段として一般的なものに、JSP(Java Server Pages)がある。JSPは、Java(米国サン・マイクロシステムズ社の商標)言語を利用して、上述したウェブページの動的生成を実現する技術である。
今日、インターネットに接続可能な端末装置の種類は非常に多岐に及んでいる。そのため、ウェブアプリケーションにおいても、当該ウェブアプリケーションを利用しようとする端末装置の種類に応じた適切な処理を行うことが必要となっている。
ウェブアプリケーションの設計時に多数の端末装置に対して、適切なJSPおよび適切なアクションを用いてウェブアプリケーションの処理を実行することを可能とする従来技術としては、米国IBM社のMulti-device Authoring Technology(以下、MDAT)がある(例えば、非特許文献1参照)。
MDATでは、JSPのモデル2(Model2)と呼ばれるアーキテクチャを基本として、MVC(Model、View、Control)モデルに基づく多種の端末装置向けのウェブアプリケーション開発技術が提供されている。MVCモデルに基づくウェブアプリケーションでは、ウェブアプリケーションが業務ロジックを記述するモデル、ウェブ画面のデザインを記述するビュー、クライアントからの要求と業務処理の連携制御を記述するコントローラの3種の機能に分解され、例えばモデルとして抽象表現による定義を用い、ビューとしてJSPを用い、コントローラとしてサーブレット(Servlet)を用いて作成される。
ウェブアプリケーションを多種の端末装置に適応させるには、例えば、処理の内容や結果を端末装置の表示手段に表示させるためのビュー部分において、各端末装置に適応させるために複数のJSPのセットを用意する必要がある。MDATでは、このビュー部分であるJSPファイルは、特定の端末装置に特化されていないダイアログという抽象表現に基づき、ビュー・スペシャライザによって自動的に生成される。この際、アプリケーションで対象とする端末装置が予め指定されなければならない。ビュー・スペシャライザは、指定された端末装置の属性(使用されるマークアップ言語、画面サイズ、表示可能色数など)を所定のプロファイルデータベースから取得し、これに応じてJSPファイルを適切に生成する。
このように、対象となる端末装置を特定し、その属性に関する情報に基づいてJSPファイルを生成する方法によれば、生成すべきJSPがウェブアプリケーションの設計時に明らかとなり、特定の端末装置用のカスタマイズをJSPに加えることが可能である。
"Everyplace Toolkit for WebSphere Studio"、[online]、IBM、[平成15年7月15日検索]、インターネット<URL : http://www-3.ibm.com/software/pervasive/products/mobile_apps/everyplace_toolkit.shtml>
上記のように、ウェブアプリケーションによる処理をクライアントの端末装置の種類に応じて適切に実行するためには、ウェブアプリケーションを利用する各種の端末装置に対応したビューを用意することが必要である。しかし、インターネットに接続可能な、膨大な種類の端末装置の全てに対応してビューを生成することは、ウェブアプリケーション開発における負担の増大を招く。
また、インターネットに接続可能な端末装置の種類は日々増加しつつあり、ウェブアプリケーションの設計時に想定されていない端末装置に対応することは困難である。上述したMDAT等のようにウェブアプリケーションの設計時にビュー(JSP)を生成する手法では、ウェブアプリケーションの作成、テスト、デバッグを行うために、既存の端末装置を対象としてJSPファイルを作成しておかなければならず、未知の端末装置には対応できない。
未知の端末装置からの要求に対応する方法として、アプリケーションサーバが、かかる端末装置から初回の要求を受け付けた際に、その端末装置向けの、ウェブアプリケーション全体に対応するビューを一度に生成してしまうことが考えられる。
しかし、未知の端末装置から初めて要求を受け付けた時点で対応するウェブアプリケーションの全体を生成しようとすると、当該初回の応答作成に多大な時間を要する。
また、端末装置の種類によっては、ウェブアプリケーションの機能の一部しか使用しない(もしくは使用できない)場合もあり得るが、ウェブアプリケーションの全体に対応するビューを生成すると、当該ウェブアプリケーションのデザインにしたがって、そのような使用されない機能についてもビューを生成することとなり、無駄が多い。
なお、上記の問題は、ウェブアプリケーションのビューの生成手段としてJSP以外の手段を用いる場合も同様であることは言うまでもない。
そこで本発明は、上記の課題に鑑み、ウェブアプリケーションの設計時に想定されていない端末装置からのアクセスに対しても適切に処理を行うことが可能なウェブアプリケーションサーバを提供し、ウェブアプリケーション開発時の負担を軽減することを目的とする。
また本発明は、上記のウェブアプリケーションサーバにおいて、未知の端末装置からの要求に対し、効率的かつ速やかな応答を可能とすることを他の目的とする。
上記の目的を達成する本発明は、ネットワークを介して所定のクライアントからの要求を受け付けてウェブアプリケーションを実行する、次のように構成されたウェブアプリケーションサーバとして実現される。このウェブアプリケーションサーバは、クライアントにおける表示形態とは独立のビュー定義である抽象ビューを格納した抽象ビュー格納部と、この抽象ビューを用いてクライアントからの要求に対する処理を実行する抽象ビュー処理実行部と、この抽象ビュー処理実行部による処理結果に基づいてクライアントの属性に対応したビューを生成するビュー生成部と、このビュー生成部にて生成されたビューを用いてクライアントへの応答を生成し返送する応答生成部とを備えることを特徴とする。
ここで、ビュー生成部はJSPによりビューを生成することができ、また生成されたビューに含まれるハイパーリンクのリンク先は他のビューではなく抽象ビューとする。抽象ビューとしては、特定のクライアントのシステム構成に関わらない抽象表現によるビュー定義や、国際化JSPにて記述したビューを用いることができる。さらに、ビュー生成部にて生成されたビューを保持するビュー格納部を備えた構成とし、クライアントからの要求に応じて抽象ビュー処理実行部により行われた処理の結果に対応するクライアント用のビューがビュー格納部に保持されている場合に、ビュー生成部により改めてビューを生成することをせず、応答生成部が、ビュー格納部に保持されているビューを用いて応答を生成する構成とすることができる。
本発明による他のウェブアプリケーションサーバは、クライアントの属性に関わらない抽象表現による定義を用いてウェブアプリケーションの業務処理を実行する業務実行手段と、この業務実行手段による業務処理の結果に基づいてクライアントの属性に適合したJSPファイルを生成するJSPファイル生成手段と、このJSPファイル生成手段にて生成されたJSPファイルを用いてクライアントへの応答を生成し返送する応答手段とを備えることを特徴とする。
本発明による更に他のウェブアプリケーションサーバは、クライアントの属性に関わらない抽象表現による定義を格納した定義格納手段と、この抽象表現による定義を用いてクライアントからの要求に対する処理を実行する処理実行手段と、この処理実行手段による処理結果をクライアントにて表示可能とするためのテンプレートを生成するテンプレート生成手段と、このテンプレート生成手段にて生成されたテンプレートを用いて処理実行手段による処理結果をクライアントに表示させるための応答を生成し返送する応答手段とを備えることを特徴とする。
さらにまた、上記の目的を達成する本発明は、ネットワークに接続されたコンピュータを用いて、所定のクライアントからの要求を受け付けてウェブアプリケーションによる業務処理を実行する、次のような情報処理方法としても実現される。すなわち、この情報処理方法は、クライアントからの要求を受け付け、所定の記憶装置に格納されているクライアントの属性に関わらない抽象表現による定義を用いてウェブアプリケーションの業務処理を実行する第1のステップと、業務処理の結果をクライアントにて表示可能とするためのテンプレートを生成し、所定の記憶装置に格納する第2のステップと、記憶装置に格納されたテンプレートを用いて要求に対する応答を生成し返送する第3のステップとを含むことを特徴とする。
また本発明は、コンピュータを制御して上記のウェブアプリケーションサーバとして機能させるプログラム、または上述した情報処理方法における各ステップに相当する処理をコンピュータに実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
以上のように構成された本発明は、ウェブアプリケーションの設計時に当該ウェブアプリケーションを使用する全てのクライアント(端末装置)に対するビューを生成するのではなく、クライアントからの要求を受け付けるたびに当該クライアントに対応するビューを生成することにより、ウェブアプリケーションの設計時に想定されていない端末装置からのアクセスに対しても適切に処理を行うことが可能となる。これにより、ウェブアプリケーション開発時における負担を軽減させることができる。
また本発明は、クライアントからの要求を受け付けた際に、当該クライアント用のウェブアプリケーション全体に対応するビューを全て生成してしまうのではなく、当該要求に対する応答を行うために必要なビューを生成することにより、当該要求に対する効率的かつ速やかな応答が可能となる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
本実施形態は、インターネット等のネットワークを介してクライアントからの要求を受け付け、ウェブアプリケーションによる処理を実行して応答を当該クライアントへ返送するウェブアプリケーションサーバとして実現される。ここで、クライアントは、ウェブアプリケーションを利用可能なソフトウェアを実行する情報端末(パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話等)であり、以下の説明では、当該情報端末のハードウェアと当該情報端末で実行されるソフトウェアとを特に区別せずに端末装置と呼称する。例えば、クライアントの具体例として米国マイクロソフト社のインターネットブラウザであるインターネットエクスプローラを想定した場合、ソフトウェアであるインターネットエクスプローラおよび当該インターネットエクスプローラが動作するハードウェアを、いずれも端末装置と呼ぶ。
図1は、本実施形態のウェブアプリケーションサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図1に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:中央処理装置)101と、M/B(マザーボード)チップセット102およびCPUバスを介してCPU101に接続されたメインメモリ103と、同じくM/Bチップセット102およびAGP(Accelerated Graphics Port)を介してCPU101に接続されたビデオカード104と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット102に接続された磁気ディスク装置(HDD)105、ネットワークインターフェイス106と、さらにこのPCIバスからブリッジ回路107およびISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット102に接続されたフロッピーディスクドライブ108およびキーボード/マウス109とを備える。
なお、図1は本実施形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード104を設ける代わりに、ビデオメモリのみを搭載し、CPU101にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment)やSCSI(Small Computer System Interface)などのインターフェイスを介してCD−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。
図2は、本実施形態によるウェブアプリケーションサーバ10の機能構成を示す図である。
図2を参照すると、本実施形態のウェブアプリケーションサーバ10は、種々の端末装置(クライアント、User-Agent)の属性に関する情報を格納した端末プロファイルDB(データベース)11と、特定の端末装置に特化されない抽象的な表現でウェブアプリケーションを記述したダイアログのファイル(以下、DLGファイル)を格納したDLGファイル格納部12と、ウェブアプリケーションの実行時にJSPを動的に生成するためのDLG実行部13およびビュー・スペシャライザ14と、生成されたJSPを保持するJSPファイル格納部15と、JSPファイルを解釈してHTML文書等からなる応答を生成する応答生成部16とを備える。
上記の構成のうち、端末プロファイルDB11、DLGファイル格納部12およびJSPファイル格納部15は、例えば図1に示したコンピュータ装置のメインメモリ103や磁気ディスク装置105にて実現される。また、DLG実行部13、ビュー・スペシャライザ14および応答生成部16は、例えば図1のプログラム制御されたCPU101の機能として実現される。CPU101を制御するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることができる。
図2に示した本実施形態において、端末プロファイルDB11は、ウェブアプリケーションサーバ10にアクセスしウェブアプリケーションを利用すると想定される各種の端末装置に関して、その属性(使用されるマークアップ言語、画面サイズ、表示可能色数など)に関する情報(以下、属性情報)を格納している。ウェブアプリケーションサーバ10にアクセスすることが想定される端末装置とは、例えば、パーソナルコンピュータ等のコンピュータ装置、ネットワーク機能を備えたPDA(Personal Digital Assistance)、携帯電話等の情報端末である。また、端末プロファイルDB11の内容は、ウェブアプリケーションサーバ10にアクセス可能な端末装置の機種の増加に伴い、随時更新され、当該機種の属性情報が追加される。
DLGファイル格納部12は、ウェブアプリケーションサーバ10が提供するウェブアプリケーションの機能を、特定の端末に特化されない抽象的な表現であるダイアログで記述したDLGファイルを格納している。このDLGファイルは、ウェブアプリケーションにおける業務処理の内容や結果をクライアントに表示させるためのビューを、個々のクライアントにおける表示形態とは独立の抽象的な表現で記述したビュー定義(抽象ビュー)である。
DLG実行部13は、所定の端末装置からのウェブアプリケーションに対する要求(HTTPリクエスト等)を受け付け、当該要求に対する処理をダイアログのレベルで行い、当該端末装置に対応するJSPファイルの生成を制御するDLGサーブレット(コントローラ)である。すなわち、ウェブアプリケーションによる業務処理を、抽象ビューであるDLGファイルを用いて実行する業務(処理)実行手段である。具体的には、まず端末装置からの要求をダイアログレベルで解釈・実行して応答に必要なDLGファイルを特定し、さらに要求ヘッダのUser-Agentフィールドの記述等から当該端末装置(User-Agent)を特定するキー情報を取得する。そして、これらの情報をビュー・スペシャライザ14に与え、対応するJSPファイルを生成させる。また、DLG実行部13は、端末装置から受け付けた要求およびキー情報を応答生成部16にも転送(フォワード)する。
ビュー・スペシャライザ14は、DLG実行部13にて特定されたDLGファイルをDLGファイル格納部12から読み出し、同じくDLG実行部13から取得したキー情報を用いて端末プロファイルDB11を検索して該当する端末装置の属性情報を取得する。そして、読み出したDLGファイルを、当該端末装置に特化したビューであるJSPファイルに変換する。すなわち、ビュー・スペシャライザ14は、特定の端末装置の属性に関わらない抽象ビューであるDLGファイルから特定の端末装置の属性に特化したビューであるJSPファイルを生成するビュー生成手段である。ビュー・スペシャライザ14にて生成されたJSPファイルは、端末装置への応答を生成するために使用されるテンプレートとして、JSPファイル格納部15に格納される。
本実施形態では、端末装置から要求があった場合に、ウェブアプリケーション全体に相当する当該端末装置に特化したJSPファイルを全て生成するのではなく、当該要求への応答として必要なJSPファイルのみを生成する。このとき、生成されるJSPファイルに他のJSPファイルへのリンクが存在し、かつリンク先のJSPファイルが未生成である場合、ウェブアプリケーション全体のJSPファイルを生成する場合と全く同様にリンク先を定義してJSPファイルを生成すると、正常に実行できないこととなる。したがって、DLGファイル間のリンクやDLGファイルへの遷移を、どのようにJSPファイルに反映させるかが問題となる。本実施形態では、生成されたJSPファイルのリンクを、JSPファイルではなくDLGファイルへのリンクとすることで、この問題を解決する。この手法については、後で具体例を挙げて詳述する。
JSPファイル格納部15は、ビュー・スペシャライザ14にて生成されたJSPファイルを格納する。一度格納されたJSPファイルは、当該機種用のウェブアプリケーションとして、JSPファイル格納部15に保存され、これ以後、同じ機種の端末装置から同じ要求が行われた場合に使用される。すなわち同種の端末装置からの2回目以降の要求に対しては、JSPファイルを改めて生成する必要はなくなる。
応答生成部16は、上述した端末装置からの要求およびキー情報をDLG実行部13から受け取り、当該要求に応じたJSPファイルをJSPファイル格納部15から読み出して当該要求に対する応答(HTTPレスポンス等)を生成し、当該端末装置に返送するJSPサーブレットである。
次に、具体的なファイルの例を提示して、本実施形態の動作について説明する。
前提として、DLGファイル格納部12には、図3に示すDLGファイル(Hello.dlg、World.dlg)が格納されている。また、DLG実行部13の機能が、図4に示すXMLファイル(controller.xml)で記述されているものとする。このHello.dlgから個々の端末装置に特化したHello.jspが生成され、同様にWorld.dlgからWorld.jspが生成されるとすると、このウェブアプリケーションは、Hello.jspに基づくウェブページからWorld.jspへ遷移することにより、端末装置のディスプレイに「Hello,World!」の文字が表示されるものである。
ここで、比較のために、ウェブアプリケーションの設計時や端末装置から要求があった際に当該ウェブアプリケーションの全体のJSPファイルを生成する場合に、どのようなファイルが生成されるかを示す。端末装置が「MSIE」というキー情報で特定されるとすると、かかる手法では、図3のDLGファイルから図5に示すJSPファイル(MSIE/Hello.jsp、MSIE/World.jsp)が生成され、図6に示すStruts設定ファイル(struts-config.xml)が生成される。そして、これらのJSPファイルとStruts設定ファイルとにより、キー情報「MSIE」で特定される端末装置の属性に適応した応答(HTMLファイル)が生成されて当該端末装置に返送されることとなる。
一方、本実施形態では、要求を受けるたびに必要なJSPファイルのみを生成していくため、Hello.dlgからHello.jspが生成された時点では、まだWorld.jspは生成されていない。そのため、図6のようにStruts設定ファイルを生成してしまうと、これを実行することができずエラーとなってしまう。すなわち、Hello.jspに基づくウェブページからgotoWorldアクションが呼ばれた場合に、World.jspというこの時点では存在しないファイルへ転送してしまうためである。この場合、gotoWorldアクションを実行する前に、まずWorld.dlgからWorld.jspを生成しなくてはならない。
そこで、本実施形態では、ウェブアプリケーションにJSPファイルではなくダイアログ自体を配置する。これに応じて、当該ウェブアプリケーション内の全てのリンク(welcomeファイル、HTMLのAタグなどの静的リンク、アクションの結果としてのフォワードとリダイレクトなど)は、JSPファイルへではなくダイアログへと張られる。
図7は、本実施形態にて構築されるウェブアプリケーションにおけるウェブアプリケーション配置記述子の例を示す図である。
上記のようにDLGファイルのファイル拡張子がdlgであり、DLGサーブレットのクラスがcom.ibm.hopi.runtime.struts.DLGServletであったとすると、そのウェブアプリケーション配置記述子は、図7に示すようになる。
また図8は、当該ウェブアプリケーションの設計時に生成されるStruts設定ファイル(struts-config.xml)を示す図である。
図8のStruts設定ファイルを図6のStruts設定ファイルと比較すると、アクションの転送先がキー情報「MSIE」で特定される端末装置に特化したJSPファイルではなく、DLGファイルとなっている。このStruts設定ファイルは、特定の端末装置に特化されていないので、ウェブアプリケーションの設計時に生成しておくことができる。
図9は、図7に示したDLGサーブレット、すなわちDLG実行部13が所定の端末装置から所定の要求を受け付けた場合の動作(doGet、doPostメソッド)を示すフローチャートである。
図9を参照すると、DLG実行部13は、まず所定の端末装置(User-Agent)から要求を受け付ける(ステップ901)。この要求はDLGファイルに対する要求であるが、必ずしもDLGファイルが直接要求されるとは限らず、ウェブアプリケーションのルートがアクセスされたときに、予めウェルカムファイル(welcome-file)として定義されたDLGファイルによって間接的に要求されたり、コントローラ・サーブレットであるDLG実行部13自身がビジネス・ロジックの結果としてDLGファイルに要求を転送したりすることができる。
DLGファイルへの要求を受け取ったDLG実行部13は、ウェブアプリケーションに定義されたサーブレットマッピング(ServletMapping)により、このDLGファイルへの要求を処理する。これにより、当該要求に対する応答に用いられるDLGファイルが特定される(ステップ902)。さらにDLG実行部13は、当該要求が含まれるセッションに対して設定されたセッションオブジェクトに端末装置の種類を特定するキー情報が存在するかどうかを調べる(ステップ903)。そして、存在しない(すなわち新たなセッションにおける最初の受信)ならば、当該要求に含まれているUser-Agentヘッダの文字列を用いて端末プロファイルDB11へ問い合わせてキー情報を作成し、セッションオブジェクトに保存する(ステップ904)。
ステップ903でセッションオブジェクトからキー情報が取得された場合、またはステップ904でキー情報が作成された後、DLG実行部13は、当該キー情報を用いてJSPファイル格納部15を検索し、ステップ902で特定されたDLGファイルが当該端末装置に対してスペシャライズされているか、すなわち、当該DLGファイルに対応し当該端末装置に特化したJSPファイルが既に生成されているかどうかを調べる(ステップ905)。JSPファイル格納部15に該当するJSPファイルが格納されていないならば、ビュー・スペシャライザ14に、当該JSPファイルの生成を指示する。
ビュー・スペシャライザ14は、DLG実行部13から、キー情報とDLGファイルを特定する情報を取得し、キー情報に基づいて端末プロファイルDB11から該当する端末装置の属性情報を取得すると共に、DLGファイル格納部12からステップ902で特定されたDLGファイルを読み出す。そして、端末プロファイルDB11から取得した端末装置の属性情報に基づいて、DLGファイル格納部12から読み出したDLGファイルを当該端末装置に特化したJSPファイルに変換する(ステップ906)。
これによって生成されたJSPファイルには、アプリケーション・フローに対応するリンクが多数含まれるが、上述したように本実施の形態では、リンク先はJSPファイルではなくDLGファイルとする。リンク先のDLGファイルを特定する情報は、例えばステップ902の処理において得ることができる。
図10は、本実施形態により図3(A)のDLGファイルから変換され生成されたJSPファイルを示す図である。
ここでは、図5の場合と同様に、端末装置がキー情報「MSIE」で特定された場合のJSPファイルを示している。図5(A)のJSPファイルと比較すると、アクションの転送先がキー情報「MSIE」で特定される端末装置に限定されていないことがわかる。
以上のようにして生成されたJSPファイルは、JSPファイル格納部15に格納される。
ステップ905で所望のJSPファイルが既に存在していた場合、またはステップ906で当該JSPファイルが生成された後、応答生成部16が、JSPファイル格納部15から当該JSPファイルを読み出し、DLG実行部13が、端末装置から受け付けた要求を当該JSPファイルに転送(フォワード)する(ステップ907)。
この後、応答生成部16は、読み出したJSPファイルに基づき、端末装置からの要求に対する、HTML文書等からなる応答を生成し、当該端末装置に返送する(ステップ908)。
図11は、本実施形態により、図10のJSPファイルに基づいて生成されるキー情報「MSIE」の端末装置への応答(HTML文書)を示す図である。
図11に示した文書をキー情報「MSIE」の端末装置(User-Agent:米国マイクロソフト社のインターネットエクスプローラ)で実行すると、表示画面にSubmitボタンが表示される。端末装置のユーザがこのSubmitボタンをマウスクリックすると、gotoWorldアクションが呼ばれ、DLGファイルであるWorld.dlgへの転送(フォワード)が行われる。ウェブアプリケーションサーバ10のDLG実行部13は、この要求を受け付けると、図9に示した処理を行うこととなるが、図3(A)のDLGファイル(Hello.dlg)から図10のJSPファイル(MSIE/Hello.jsp)を生成した際に取得されたキー情報「MSIE」がセッションオブジェクトに保存されているので、ステップ903でキー情報が取得でき、ステップ904のキー情報の生成は行わずに直接ステップ905へ移行する。
以前の操作や他のユーザによる同様の端末装置を用いた操作によって、DLGファイルHello.dlgやWorld.dlgに対し、当該端末装置に特化したJSPファイルが既に生成されている場合は、JSPファイル格納部15に当該JSPファイルが格納されているので、ステップ906の処理は行われずに直接ステップ907へ移行する。
以上のようにして、本実施形態によれば、所定の種類の端末装置がウェブアプリケーションを初めて利用しようとした時点で、当該端末装置に特化したJSPファイルを生成して応答するため、ウェブアプリケーションの設計時に当該ウェブアプリケーションを利用可能な全ての種類の端末装置に対するJSPファイルを用意する必要が無く、アプリケーション設計における負担を軽減することができる。また、設計時に想定されていなかった端末装置に対しても、最初のアクセス時に、当該端末装置に対応するJSPファイルを生成して対応し、適切に処理を行うことが可能である。
さらに本実施形態は、要求された処理に応答するためのJSPファイルのみを、その都度生成するため、最初の要求があった時点でウェブアプリケーションの全体に相当するJSPファイルを全て生成する場合のように多大な時間を要することなく、遅延時間の増大を防止できる。また、結果的に使用されないJSPファイルを生成してしまう無駄を省くことができる。
さて、上記の実施形態では、ウェブアプリケーションを多種の端末装置に対応させることを目的としたが、本発明の本質は、ビュー部分のJSPが抽象的な定義である抽象ビューに基づいてクライアント(端末装置)の属性に応じて生成されるようなウェブアプリケーションにおいて、抽象ビューを直接用いて処理を行うことにより、コントローラ部分の煩雑化を防ぐことにある。そこで、本発明のウェブアプリケーションサーバ10は、多種の端末装置への対応にとどまらず、例えば、抽象表現として国際化JSPファイルを考え、この国際化JSPファイルからローカル化JSPファイルを生成する場合の実行速度を向上させるためにも適用できる。
国際化JSPファイルの生成は、JSTL(JSP Standard Tag Library)やStrutsのタグ・ライブラリを用いれば実現できる。しかし、この場合、各単語、文、段落ごとにタグ・ライブラリが呼ばれるので実行速度が遅い。
これに対して、ウェブアプリケーションの設計時に、各言語リソースをバインドして、国際化JSPファイルからローカル化JSPファイルを生成してしまうことが考えられる。例えば、図12に示すような国際化されたJSPファイル(hello.jsp)があって、図13に示すような日本語リソース(MyResource_ja.properties)があるならば、図14に示すような日本語のローカル化JSPファイル(hello_ja.jsp)をウェブアプリケーションの設計時に生成してしまえば良い。バインドされるテキストはウェブアプリケーション設計時に決まっており変化がないので、タグ・ライブラリを使用する場合と実行結果は同じであるが、この方法ではタグ・ライブラリを呼んでいないので、実行速度が速い。
しかし、このウェブアプリケーション設計時にローカル化JSPファイルを生成してしまう方法では、コントローラもローカル化されたJSPにフォワードするように書き換えなければならない。この作業は、対象の言語・地域設定(言語環境等、例えばマイクロソフト社のオペレーティングシステムにおけるロケール)の数が増えるにしたがって煩雑になる。
そこで、本発明を用いて、ウェブアプリケーションの実行時にローカル化JSPを生成することを考える。
図15は、端末装置からの要求に対して国際化JSPファイルからローカル化JSPファイルを生成して応答を行うウェブアプリケーションサーバの機能構成を示す図である。
上述したようにこの実施形態では、業務処理の内容や結果をクライアントに表示させるためのビューを記述する抽象的表現(抽象ビュー)として国際化JSPが用いられる。したがって、図15に示すウェブアプリケーションサーバ20は、図2に示したウェブアプリケーションサーバ10と比較すると、抽象ビューとしてのDLGファイルを格納したDLGファイル格納部12の代わりに、国際化JSPファイルを格納した国際化JSPファイル格納部21を備え、ダイアログを対象として処理を行うDLG実行部13の代わりに、国際化JSPを対象として処理を実行する国際化JSP実行部22を備えている。その他の構成要素(端末プロファイルDB11、ビュー・スペシャライザ14、JSPファイル格納部15および応答生成部16は、図2に示したウェブアプリケーションサーバ10の構成要素と同様であるので、同一の符号を付して説明を省略する。
図15に示したウェブアプリケーションサーバ20において、国際化JSPファイル格納部21は、例えば図1に示したコンピュータ装置のメインメモリ103や磁気ディスク装置105にて実現される。また、国際化JSP実行部22は、例えば図1のプログラム制御されたCPU101の機能として実現される。この国際化JSP実行部22は、所定の端末装置からのウェブアプリケーションに対する要求(HTTPリクエスト等)を受け付け、当該要求に対する処理を国際化JSPのレベルで行い、当該端末装置の言語・地域設定に対応するJSPファイルの生成を制御するローカル化JSPサーブレット(コントローラ)である。
図16は、かかる実施形態におけるウェブアプリケーションサーバ20の動作を説明するフローチャートである。
図16を参照すると、国際化JSP実行部22は、まず所定の端末装置(User-Agent)から国際化JSPファイルに対する要求を受け付ける(ステップ1601)。
要求を受け取った国際化JSP実行部22は、ウェブアプリケーションに定義されたサーブレットマッピング(ServletMapping)により、この国際化JSPファイルへの要求を処理する。これにより、当該要求に対する応答に用いられる国際化JSPファイルが特定される(ステップ1602)。さらに国際化JSP実行部22は、当該要求を行った端末装置の言語・地域設定の情報を取得する(ステップ1603)。この言語・地域設定の情報は、doGetメソッドやdoPostメソッドにおける第1引数のjavax.servlet.http.HttpServletRequest型のrequestインスタンスに対してgetLocaleメソッドを呼ぶことによって容易に得られる。
次に、国際化JSP実行部22は、ステップ1603で取得した言語・地域設定を用いてJSPファイル格納部15を検索し、ステップ1602で特定された国際化JSPファイルが当該言語・地域設定で既にローカル化されているか、すなわち、当該国際化JSPファイルに対応するローカル化JSPファイルが生成されているかを調べる(ステップ1604)。JSPファイル格納部15に該当するローカル化JSPファイルが格納されていないならば、ビュー・スペシャライザ14に、当該ローカル化JSPファイルの生成を指示する。
ビュー・スペシャライザ14は、国際化JSP実行部22から言語・地域設定と国際化JSPファイルを特定する情報を取得し、言語・地域設定の情報に基づいて国際化JSPファイル格納部21からステップ1602で特定された国際化JSPファイルを読み出す。そして、当該言語・地域設定に対応するローカル化JSPファイルに変換する(ステップ1605)。これによって生成されたローカル化JSPファイルには、アプリケーション・フローに対応するリンクが多数含まれるが、リンク先はローカル化JSPファイルではなく国際化JSPファイルとする。リンク先の国際化JSPファイルを特定する情報は、例えばステップ1602の処理において得ることができる。
ステップ1604で所望のローカル化JSPファイルが既に存在していた場合、またはステップ1605で当該ローカル化JSPファイルが生成された後、応答生成部16が、JSPファイル格納部15から当該ローカル化JSPファイルを読み出し、国際化JSP実行部22が、端末装置から受け付けた要求を当該ローカル化JSPファイルに転送(フォワード)する(ステップ1606)。
この後、応答生成部16は、読み出したローカル化JSPファイルに基づき、端末装置からの要求に対する、HTML文書等からなる応答を生成し、当該端末装置に返送する(ステップ1607)。
上述した各実施形態は、いずれもウェブアプリケーションのコントローラ部分をサーブレットにて実現した。しかしながら、例えばポータルサーバでは、サーブレットではなくポートレット(Portlet)により、上述したダイアログや国際化JSPファイルといった抽象表現による定義に対する処理を行うことが要求される。この場合、PortalStrutsを用いてこの機能を実現することができる。PortalStrutsは、コントローラにおけるアクションによってフォワードされたファイル(ビューに相当)を処理するコマンド(ViewCommand:以下、ビューコマンドと記述)を自由に定義して拡張できる仕組みを提供している。この仕組みを用いてサーブレットの代わりにビューコマンドを実装することにより、ポートレットにおいて、抽象表現による定義に対する処理が可能となる。具体的には、配置記述子でDLGサーブレット(DLG実行部13)を宣言する代わりに、ビューコマンドのファクトリを宣言し、DLGファイルには、図9に示したアルゴリズムをexecuteメソッドで実装したビューコマンドを生成するように設定する。生成するStruts設定ファイルとしては、上述したサーブレットを用いた実施形態と同じものを使用することができる。
このように、本発明は、ビュー部分が抽象的な定義に基づいてクライアント(端末装置)の属性に応じて生成されるようなウェブアプリケーションにおいて、クライアントからの要求に対して抽象ビューを直接用いて処理を行った後に当該クライアントに対応する適切なビューを用いて当該クライアントへの応答を行う機能を実現するものであれば、その構成は、必ずしも上述したサーブレットやJSPを用いた構成には限らない。
本発明の実施形態のウェブアプリケーションサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。 本実施形態によるウェブアプリケーションサーバの機能構成を示す図である。 本実施形態にて用いられるDLGファイルの例を示す図である。 本実施形態のDLG実行部の機能を記述したXMLファイルの例を示す図である。 ウェブアプリケーションの設計時や端末装置から要求があった際に当該ウェブアプリケーションの全体のJSPファイルを生成する手法で生成されるJSPファイルの例を示す図である。 ウェブアプリケーションの設計時や端末装置から要求があった際に当該ウェブアプリケーションの全体のJSPファイルを生成する手法で生成されるStruts設定ファイルの例を示す図である。 本実施形態にて構築されるウェブアプリケーションにおけるウェブアプリケーション配置記述子の例を示す図である。 本実施形態においてウェブアプリケーションの設計時に生成されるStruts設定ファイル(struts-config.xml)を示す図である。 本実施形態のDLG実行部の動作を示すフローチャートである。 本実施形態により図3(A)のDLGファイルから変換され生成されたJSPファイルを示す図である。 本実施形態の応答生成部により生成される端末装置への応答の例を示す図である。 本発明の他の実施形態にて用いられる国際化JSPファイルの例を示す図である。 本実施形態にて用いられる日本語リソースの例を示す図である。 本実施形態において図13の日本語リソースを用いて図12の国際化JSPファイルをローカル化した例を示す図である。 本実施形態によるウェブアプリケーションサーバの機能構成を示す図である。 本実施形態の国際化JSP実行部の動作を示すフローチャートである。
符号の説明
10、20…ウェブアプリケーションサーバ、11…端末プロファイルDB(データベース)、12…DLGファイル格納部、13…DLG実行部、14…ビュー・スペシャライザ、15…JSPファイル格納部、16…応答生成部、21…国際化JSPファイル格納部、22…国際化JSP実行部、101…CPU(中央処理装置)、103…メインメモリ、105…磁気ディスク装置(HDD)、106…ネットワークインターフェイス

Claims (18)

  1. ネットワークを介して所定のクライアントからの要求を受け付けてウェブアプリケーションを実行するサーバにおいて、
    クライアントにおける表示形態とは独立に画面のデザインを記述したMVC(Model、View、Control)モデルのビュー定義である抽象ビューを格納した抽象ビュー格納部と、
    前記抽象ビューを用いて前記クライアントからの要求に対する処理を実行する抽象ビュー処理実行部と、
    前記抽象ビュー処理実行部による処理結果に基づいて前記クライアントの属性に対応したビューを生成するビュー生成部と、
    前記ビュー生成部にて生成された前記ビューを用いて前記クライアントへの応答を生成し当該クライアントへ返送する応答生成部と
    を備えることを特徴とするサーバ。
  2. 前記ビュー生成部は、JSP(Java Server Pages)により前記ビューを生成することを特徴とする請求項1に記載のサーバ。
  3. 前記ビュー生成部は、生成された前記ビューに含まれるハイパーリンクのリンク先を前記抽象ビューとすることを特徴とする請求項1に記載のサーバ。
  4. 前記ビュー生成部にて生成された前記ビューを保持するビュー格納部をさらに備え、
    前記クライアントからの要求に応じて前記抽象ビュー処理実行部により行われた処理の結果に対応する当該クライアント用のビューが前記ビュー格納部に保持されている場合に、前記ビュー生成部によるビューの生成を行わず、前記応答生成部が、当該ビュー格納部に保持されているビューを用いて前記クライアントへの応答を生成することを特徴とする請求項1に記載のサーバ。
  5. 前記抽象ビュー処理実行部は、ウェブアプリケーションを利用可能なクライアントのシステム構成に関わらない抽象表現で記述された抽象ビューに対して処理を実行し、
    前記ビュー生成部は、前記クライアントのシステム構成に適合したビューを生成することを特徴とする請求項1に記載のサーバ。
  6. 前記抽象ビュー処理実行部は、国際化JSPにて記述された抽象ビューに対して処理を実行し、
    前記ビュー生成部は、前記クライアントの言語・地域設定に対応したローカル化JSPによるビューを生成することを特徴とする請求項1に記載のサーバ。
  7. ネットワークを介して所定のクライアントからの要求を受け付けてウェブアプリケーションを実行するサーバにおいて、
    前記クライアントの属性に関わらない抽象表現によってMVC(Model、View、Control)モデルにおけるビューである画面のデザインを記述した定義を用いて前記ウェブアプリケーションの業務処理を実行する業務実行手段と、
    前記業務実行手段による業務処理の結果に基づいて前記クライアントの属性に適合したJSP(Java Server Pages)ファイルを生成するJSPファイル生成手段と、
    前記JSPファイル生成手段にて生成されたJSPファイルを用いて前記クライアントへの応答を生成し当該クライアントに返送する応答手段と
    を備えることを特徴とするサーバ。
  8. 前記JSPファイル生成手段は、生成するJSPファイル内の他のファイルへのハイパーリンクのリンク先を前記抽象表現による前記定義とすることを特徴とする請求項7に記載のサーバ。
  9. 前記JSPファイル生成手段にて生成された前記JSPファイルを保持するJSPファイル格納手段をさらに備え、
    前記業務実行手段による業務処理の結果に基づく前記クライアントの属性に適合したJSPファイルが前記JSPファイル格納手段に保持されている場合に、前記JSPファイル生成手段によるJSPファイルの生成を行わず、前記応答手段が、当該JSPファイル格納手段に保持されているJSPファイルを用いて前記クライアントへの応答を生成することを特徴とする請求項7に記載のサーバ。
  10. ネットワークを介して所定のクライアントからの要求を受け付けてウェブアプリケーションを実行するサーバにおいて、
    前記クライアントの属性に関わらない抽象表現によってMVC(Model、View、Control)モデルにおけるビューである画面のデザインを記述した定義を格納した定義格納手段と、
    前記抽象表現による前記定義を用いて前記クライアントからの要求に対する処理を実行する処理実行手段と、
    前記処理実行手段による処理結果を前記クライアントにて表示可能とするためのテンプレートを生成するテンプレート生成手段と、
    前記テンプレート生成手段にて生成されたテンプレートを用いて前記処理実行手段による処理結果を前記クライアントに表示させるための応答を生成し当該クライアントへ返送する応答手段と
    を備えることを特徴とするサーバ。
  11. 前記テンプレート生成手段は、生成するテンプレートに含まれるハイパーリンクのリンク先を前記抽象表現による前記定義とすることを特徴とする請求項10に記載のサーバ。
  12. ネットワークに接続されたコンピュータを用いて、所定のクライアントからの要求を受け付けてウェブアプリケーションによる業務処理を実行する情報処理方法であって、
    前記クライアントからの要求を受け付け、所定の記憶装置に格納されている前記クライアントの属性に関わらない抽象表現によってMVC(Model、View、Control)モデルにおけるビューである画面のデザインを記述した定義を用いて前記ウェブアプリケーションの業務処理を実行する第1のステップと、
    前記業務処理の結果を前記クライアントにて表示可能とするためのテンプレートを生成し、所定の記憶装置に格納する第2のステップと、
    前記記憶装置に格納された前記テンプレートを用いて前記要求に対する応答を生成し前記クライアントへ返送する第3のステップと
    を含むことを特徴とする情報処理方法。
  13. 前記第2のステップでは、前記第1のステップにおける業務処理の結果に対応する前記テンプレートが既に前記所定の記憶装置に格納されている場合に、改めて当該テンプレートを生成しないことを特徴とする請求項12に記載の情報処理方法。
  14. ネットワークに接続されたコンピュータを制御して、所定のクライアントからの要求を受け付けてウェブアプリケーションによる業務処理を実行させるプログラムであって、
    前記クライアントからの要求を受け付け、所定の記憶装置に格納されている前記クライアントの属性に関わらない抽象表現によってMVC(Model、View、Control)モデルにおけるビューである画面のデザインを記述した定義を用いて前記ウェブアプリケーションの業務処理を実行する第1の処理と、
    前記業務処理の結果を前記クライアントにて表示可能とするためのテンプレートを生成し、所定の記憶装置に格納する第2の処理と、
    前記記憶装置に格納された前記テンプレートを用いて前記要求に対する応答を生成し前記クライアントへ返送する第3の処理と
    を前記コンピュータに実行させることを特徴とするプログラム。
  15. 前記第2の処理では、前記テンプレートとしてJSP(Java Server Pages)ファイルを生成することを特徴とする請求項14に記載のプログラム。
  16. 前記第2の処理では、前記第1の処理における業務処理の結果に対応する前記テンプレートが既に前記所定の記憶装置に格納されている場合に、改めて当該テンプレートを生成しないことを特徴とする請求項14に記載のプログラム。
  17. 前記第2の処理では、生成するテンプレートに含まれるハイパーリンクのリンク先を前記抽象表現による前記定義とすることを特徴とする請求項14に記載のプログラム。
  18. ネットワークに接続されたコンピュータを制御して、所定のクライアントからの要求を受け付けてウェブアプリケーションによる業務処理を実行させるプログラムであって、
    前記クライアントからの要求を受け付け、所定の記憶装置に格納されている、クライアントにおける表示形態とは独立に画面のデザインを記述したMVC(Model、View、Control)モデルのビュー定義である抽象ビューを用いて、当該要求に対する処理を実行する処理実行手段と、
    前記処理の結果に基づいて前記クライアントの属性に対応したビューを生成し、所定の記憶装置に格納するビュー変換手段と、
    前記所定の記憶装置に格納された前記ビューを用いて前記クライアントへの応答を生成し当該クライアントへ返送する応答生成手段として
    前記コンピュータを機能させることを特徴とするプログラム。
JP2003283501A 2003-07-31 2003-07-31 サーバ、情報処理方法およびプログラム Expired - Fee Related JP4709481B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003283501A JP4709481B2 (ja) 2003-07-31 2003-07-31 サーバ、情報処理方法およびプログラム
US10/896,339 US7454703B2 (en) 2003-07-31 2004-07-21 Apparatus, program and method for accepting a request from a client computer via a network and executing a web application
CNB2004100586673A CN1311375C (zh) 2003-07-31 2004-07-27 服务器和信息处理方法
US12/263,081 US7996764B2 (en) 2003-07-31 2008-10-31 Apparatus, program and method for accepting a request from a client computer via a network and executing a web application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003283501A JP4709481B2 (ja) 2003-07-31 2003-07-31 サーバ、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2005050241A JP2005050241A (ja) 2005-02-24
JP4709481B2 true JP4709481B2 (ja) 2011-06-22

Family

ID=34101054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003283501A Expired - Fee Related JP4709481B2 (ja) 2003-07-31 2003-07-31 サーバ、情報処理方法およびプログラム

Country Status (3)

Country Link
US (2) US7454703B2 (ja)
JP (1) JP4709481B2 (ja)
CN (1) CN1311375C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4663525B2 (ja) * 2006-01-06 2011-04-06 株式会社日立製作所 情報処理方法、情報処理装置、及びプログラム
JP4758253B2 (ja) * 2006-03-02 2011-08-24 富士通株式会社 イベントドリブン型アプリケーションの画面制御装置,画面制御方法およびそのプログラム
US20080071922A1 (en) * 2006-09-19 2008-03-20 International Business Machines Corporation Methods, systems, and computer program products to transparently dispatch requests to remote resources in a multiple application server environment
US20080127234A1 (en) * 2006-09-19 2008-05-29 International Business Machines Corporation Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models
US8032587B2 (en) * 2007-08-28 2011-10-04 International Business Machines Corporation Method and apparatus for client-side aggregation of asynchronous fragmented requests
US8984165B2 (en) * 2008-10-08 2015-03-17 Red Hat, Inc. Data transformation

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5782508A (en) * 1980-10-29 1998-07-21 Proprietary Technologies, Inc. Swivelable quick connector assembly
US5649131A (en) * 1992-12-30 1997-07-15 Lucent Technologies Inc. Communications protocol
TW347498B (en) * 1996-09-30 1998-12-11 Casio Computer Co Ltd Information supply system
JP3202968B2 (ja) 1998-06-30 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御情報生成方法及びコンピュータ
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US6697849B1 (en) * 1999-08-13 2004-02-24 Sun Microsystems, Inc. System and method for caching JavaServer Pages™ responses
US7383320B1 (en) 1999-11-05 2008-06-03 Idom Technologies, Incorporated Method and apparatus for automatically updating website content
WO2001052056A2 (en) * 2000-01-14 2001-07-19 Saba Software, Inc. Method and apparatus for a business applications management system platform
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US20020194267A1 (en) * 2000-06-23 2002-12-19 Daniel Flesner Portal server that provides modification of user interfaces for access to computer networks
US20020046240A1 (en) * 2000-08-31 2002-04-18 Scott Graham Web server framework
GB0023570D0 (en) * 2000-09-26 2000-11-08 Volantis Systems Ltd Web server
US6950850B1 (en) * 2000-10-31 2005-09-27 International Business Machines Corporation System and method for dynamic runtime partitioning of model-view-controller applications
US6766333B1 (en) * 2000-11-08 2004-07-20 Citrix Systems, Inc. Method and apparatus for synchronizing a user interface element displayed on a client and a software application component executing on a web server
US7000185B1 (en) * 2001-04-30 2006-02-14 General Electric Capital Corporation Method and system for customization of a program
US7603403B2 (en) * 2001-05-30 2009-10-13 International Business Machines Corporation Localization in distributed computer environments
JP2002366514A (ja) * 2001-06-12 2002-12-20 Himacs Ltd 表示情報生成方法、表示情報生成システム及びサーブレットエンジン
US7096455B2 (en) * 2001-06-19 2006-08-22 Sun Microsystems, Inc. Method and system for representing and accessing data for computer software applications
US7000218B2 (en) * 2001-06-29 2006-02-14 International Business Machines Corporation System and method for developing custom programmable tags
JP3824298B2 (ja) 2001-07-26 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法
US7058671B2 (en) * 2001-09-13 2006-06-06 International Business Machines Corporation System combining information with view templates generated by compiler in a server for generating view structure for client computer
US7003570B2 (en) * 2001-10-05 2006-02-21 Bea Systems, Inc. System for integrating java servlets with asynchronous messages
US7152204B2 (en) * 2001-10-18 2006-12-19 Bea Systems, Inc. System and method utilizing an interface component to query a document
JP4173447B2 (ja) * 2001-10-24 2008-10-29 ビーイーエイ システムズ, インコーポレイテッド データ同期
JP3758554B2 (ja) * 2001-10-31 2006-03-22 ソニー株式会社 情報提供システム及び情報提供方法、記憶媒体、並びにコンピュータ・プログラム
US20030093465A1 (en) * 2001-10-31 2003-05-15 International Business Machines Corporation Management strategies for internationalization in a distributed computer environment
US6918088B2 (en) * 2001-11-05 2005-07-12 Sun Microsystems, Inc. Service portal with application framework for facilitating application and feature development
US7315613B2 (en) * 2002-03-11 2008-01-01 International Business Machines Corporation Multi-modal messaging
US7162687B2 (en) * 2002-05-31 2007-01-09 Sun Microsystems, Inc. JSP tag libraries and web services
US7076766B2 (en) * 2002-06-03 2006-07-11 Steve Wirts Software application development methods and framework
US6993713B2 (en) * 2002-06-06 2006-01-31 International Business Machines Corporation Web content management software utilizing a workspace aware JSP servlet
US7093243B2 (en) * 2002-10-09 2006-08-15 International Business Machines Corporation Software mechanism for efficient compiling and loading of java server pages (JSPs)
US20040122659A1 (en) * 2002-12-23 2004-06-24 Hourihane John Philip Tool and method for managing web pages in different languages
JP4493269B2 (ja) * 2002-12-27 2010-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム編集装置及びプログラム

Also Published As

Publication number Publication date
CN1581132A (zh) 2005-02-16
JP2005050241A (ja) 2005-02-24
US20090132908A1 (en) 2009-05-21
US20050028095A1 (en) 2005-02-03
US7996764B2 (en) 2011-08-09
CN1311375C (zh) 2007-04-18
US7454703B2 (en) 2008-11-18

Similar Documents

Publication Publication Date Title
KR102497463B1 (ko) 미니프로그램 실행 방법, 미니프로그램 실행 장치, 전자 기기 및 저장 매체
JP5160553B2 (ja) サーバ・リソースに依存せずにクライアント環境内で用いるポートレットの集約
JP4643931B2 (ja) 外部プログラムに基づくテーマを使用するWebページレンダリング機構
US6108673A (en) System for creating a form from a template that includes replication block
US7647561B2 (en) System, method and computer program product for application development using a visual paradigm to combine existing data and applications
US5920696A (en) Dynamic windowing system in a transaction base network for a client to request transactions of transient programs at a server
TW413764B (en) Method for generating display control information and computer
JP4340566B2 (ja) Webページ生成装置、組み込み装置、Webページ生成の制御方法、Webページ生成プログラム及び記録媒体
US10419568B2 (en) Manipulation of browser DOM on server
KR20060050608A (ko) 데이터 공유 시스템, 방법 및 소프트웨어 툴
US20110083070A1 (en) Systems and methods for rendering and increasing portability of document-based user interface software objects
US20080082965A1 (en) Providing globalization functionalities for javascript applications
US20070226633A1 (en) Copying and pasting portlets in a portal environment
US7783751B2 (en) Communication system, proxy server, method of controlling same and control program therefor
US8621092B2 (en) Remote portlet consumer with enhanced resource URL processing
JP2012521609A (ja) ウェブブラウザ経由のアプリケーションに対するコンテンツ入力
US7996764B2 (en) Apparatus, program and method for accepting a request from a client computer via a network and executing a web application
US20060117257A1 (en) System and method for processing JavaScript resource files
JP5039946B2 (ja) クライアント装置およびサーバ装置の間の通信を中継する技術
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
Fay An Architecture for Distributed Applications on the Internet: Overview of Microsoft? s. NET Platform
US20090055161A1 (en) Technology for supporting modification of messages displayed by program
Gray Web server programming
US20220398138A1 (en) Standard API For Integrated Development Environments
CA2360959A1 (en) Tester for url addressable computer applications

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090114

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090626

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110318

LAPS Cancellation because of no payment of annual fees