JP3808020B2 - Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム - Google Patents
Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP3808020B2 JP3808020B2 JP2002249266A JP2002249266A JP3808020B2 JP 3808020 B2 JP3808020 B2 JP 3808020B2 JP 2002249266 A JP2002249266 A JP 2002249266A JP 2002249266 A JP2002249266 A JP 2002249266A JP 3808020 B2 JP3808020 B2 JP 3808020B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- java
- html
- web page
- code
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、Javaサーブレットの機能を有するWebサーバにおけるJavaプログラムの変更に関する。
【0002】
【従来の技術】
サン・マイクロシステムズ社のプログラム言語であるJava(米国 Sun Microsystems, Inc. の登録商標)技術の1つとして、Webサーバで用いられるJavaサーブレットがある。Javaサーブレットによってプログラムを実行すると、WWWブラウザからの要求に応じてWebページを表示するための記述言語であるHTML(Hypertext Markup Language )のハイパーテキストすなわちHTMLファイルを生成し、そのWWWブラウザに送信することができる。
【0003】
係るプログラムは、主に業務ロジック、画面生成(描画)ロジック、および制御ロジックからなる。業務ロジックは、ユーザ認証などの業務的な処理を行う。画面生成ロジックは、Webページのデザインなど構成に関するものであり、業務ロジックによる処理の結果に基づいてHTMLファイルを生成する。よって、係るプログラムを実行することにより、それぞれのユーザの指示などに応じた内容のWebページを表示するためのHTMLファイルを生成することができる。つまり、内容が固定的ではない、動的なWebページを各ユーザに提供することができる。
【0004】
このような特徴より、Javaサーブレットを利用してネットワークのユーザに対してWebによるサービス(例えばオンラインショッピングまたは情報検索など)のサイトを開設するする業者も多い。
【0005】
これらの業者は、Javaサーブレットを利用したサイトを開設する際に、業務的な処理(例えばユーザ認証、商品の選択、課金、または検索など)を行う仕組みを構築し、さらにWebページのデザインを行わなければならない。これらの作業は大変なので、Javaプログラミングのできるプログラマに業務ロジックおよび制御ロジックの作成の作業を行わせ、Webデザイナに画面生成ロジックの作成の作業を行わせる場合がほとんどである。
【0006】
プログラマまたはWebデザイナは、サーブレットエンジン上で動作させるために、これらのロジックをJavaのコードまたはJSP(Java Server Pages )によって作成しなければならない。
【0007】
Javaによる作業を効率的に進めるために、例えば、特開2001−344105号公報に記載されるように、各画面とサーブレットとを1対1の関係で定義できるようにする技術が提案されている。
【0008】
【発明が解決しようとする課題】
しかし、JavaまたはJSPによる作業は、高度なスキルが要求されるので、上記の公報に記載の技術を用いたとしても、Webデザイナにとって画面生成ロジックの作成および修正の作業は非常に難しい。
【0009】
したがって、サイトの開設後、サイト内のWebページの更新の作業に手間が掛かってWebページの更新が遅れがちになり、またはプログラムの中にバグが生じやすくなるなど、サイトの円滑な運営を妨げてしまうおそれがあった。
【0010】
本発明は、このような問題点に鑑み、Javaサーブレットを用いたWebサーバがある環境において、JavaのスキルのないWebデザイナであっても容易にWebページのデザインの変更を行うことができるようにすることを目的とする。
【0011】
【課題を解決するための手段】
本発明に係るWebサーバは、ネットワークユーザの端末装置に表示するためのWebページのHTMLファイルを生成する処理を行うJavaのアプリケーションを記憶する、Javaサーブレットの機能を有するWebサーバであって、前記アプリケーションの中から前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードを抽出する抽出手段と、前記抽出手段によって抽出されたJavaのソースコードをHTMLのソースコードに変換するJava−HTML変換手段と、前記Webページに係る、前記Java−HTML変換手段によって変換されたHTMLのソースコードを、当該Webページを編集する編集者の端末装置に送信する送信手段と、編集された、前記送信手段によって送信された前記Webページに係るHTMLのソースコードを取得する、取得手段と、前記取得手段によって取得された、前記Webページに係るHTMLのソースコードをJavaのソースコードに変換する、HTML−Java変換手段と、前記アプリケーションの更新を、当該アプリケーションの中の前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードの部分を、前記取得手段によって取得された当該Webページに係るHTMLのソースコードが前記HTML−Java変換手段によって変換されることによって得られたJavaのソースコードに書き換えることによって行う、アプリケーション更新手段と、を有し、前記Java−HTML変換手段は、前記抽出手段によって抽出されたJavaのソースコードの中に所定のコードが含まれている場合は、当該所定のコードおよび当該所定のコードに係る部分を、HTMLの、編集不可である部分を示すタグである編集不可タグでマーキングするように変換し、前記HTML−Java変換手段は、前記取得手段によって取得されたHTMLのソースコードの中に前記編集不可タグが含まれている場合は、当該編集不可タグによってマーキングされている部分を、前記所定のコードを含むJavaのソースコードに変換する、ことを特徴とする。
【0012】
好ましくは、前記アプリケーションは、所定の演算処理を行う業務ロジックおよび当該業務ロジックによる演算処理の結果に基づいて前記Webページのデザインに関するHTMLのソースコードを生成する処理を行う画面生成ロジックからなり、
前記所定のコードは、前記画面生成ロジックにおいて前記業務ロジックから値を受け取るために用いられるコードであり、前記編集不可タグは、前記送信手段によって送信される前記Webページに係るHTMLのソースコードの中の、業務ロジックによる演算処理の結果によって当該Webページの表示の内容が異なってしまう部分を、示すために用いられる。
【0013】
または、前記取得手段によって取得された前記Webページに係るHTMLのソースコードに他のファイルのパスが含まれる場合に、当該パスのパス名を記憶するパス記憶手段と、前記パス記憶手段に記憶されているパス名を更新するパス更新手段と、を有し、前記アプリケーションの中の前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードに、他のファイルのパスが含まれている場合は、Java−HTML変換手段は、当該パスのパス名を、前記パス記憶手段に記憶されている当該パスのパス名に書き換えて、当該JavaのソースコードをHTMLのソースコードに変換する。
【0014】
本発明において、「Javaのコード群」とは、Javaのソースコードまたはこのソースコードをコンパイルして得られるJavaバイトコード(中間コード)を示す。
【0015】
【発明の実施の形態】
図1は本発明に係るWebサーバ1が設けられたネットワークシステムの例を示す図、図2はWebサーバ1のハードウェア構成の例を示す図、図3はWebサーバ1のプログラムの例を示す図、図4はログイン画面HG1の例を示す図、図5はHTMLのソースコードの例を示す図、図6はJavaソースコードの例を示す図、図7は初期状態のWebページ編集画面HG2の例を示す図、図8はHTMLのソースコードが表示されたWebページ編集画面HG2の例を示す図、図9はWebサーバ1の機能的構成の例を示す図、図10は編集後のログイン画面HG1' を示す図、図11は更新が完了した旨のメッセージの画面を示す図である。
【0016】
本発明に係るWebサーバ1は、図1に示すように、ネットワーク4を介して端末装置2、3と接続されている。ネットワーク4として、インターネット、専用線、または公衆回線などが用いられる。
【0017】
端末装置3は、一般のユーザが所有するパーソナルコンピュータ、ワークステーション、PDA(Personal Digital Assistant)、または携帯電話端末などである。端末装置3にはWWWブラウザ(Webブラウザ)の機能が備えられており、Webサーバ1などからHTML(Hypertext Markup Language )ファイルを取得することによって、種々の情報が記載されたWebページを閲覧し、または情報検索、オンラインショッピング、オークション、またはオンラインバンキングなどの種々のサービスのWebアプリケーションを利用することができる。
【0018】
端末装置2は、これらのサービスの提供の際に用いられるWebページを作成しまたは編集するためのものである。例えば、Webページに季節に応じた挿し絵を入れたり、誤字が見つかった場合に修正したりする際に用いられる。端末装置2として、例えばWWWブラウザがインストールされているパーソナルコンピュータまたはワークステーションなどが用いられる。
【0019】
Webサーバ1は、図2に示すように、CPU10a、RAM10b、ROM10c、磁気記憶装置10d、ディスプレイ装置10e、およびマウスまたはキーボードなどの入力装置10fなどによって構成される。
【0020】
磁気記憶装置10dには、オペレーティングシステム(OS)のほか、図3に示すように、JavaサーブレットによるWebアプリケーションを実現するためのプログラムが記憶されている。これらのプログラムは、必要に応じてRAM10bにロードされ、CPU10aによって実行される。
【0021】
サーブレットエンジン71は、JavaサーブレットにおけるJava仮想マシン(JVM)に相当するものである。なお、サーブレットエンジンは、サーブレットAPI2.2以降では、サーブレットコンテナと呼称される。
【0022】
Javaソースジェネレータ72は、HTMLで記述されたソースコードに基づいてJavaソースコードを生成する、HTML−Java変換ツールである。Javaコンパイラ73は、Javaソースコードをサーブレットエンジン71で実行可能なJavaバイトコードであるJavaクラス(クラスファイル)にコンパイルする。
【0023】
Webアプリケーション80は、端末装置3に対してサービスを提供するためのプログラムであり、複数のJavaクラス(サーブレットクラス)によって構成される。これらの中には、例えば図4に示すログイン画面HG1のような画面(Webページ)ごとのJavaクラスが含まれている。このような画面のJavaクラスとして、画面生成(描画)ロジックを実現するための画面生成ロジッククラスおよび業務ロジックを実現するための業務ロジッククラスがある。基本的に、1つの画面について画面生成ロジッククラスおよび業務ロジッククラスが少なくとも1つずつ用意されている。または、画面生成ロジックおよび業務ロジックが1つのJavaクラスに含まれるように構成してもよい。
【0024】
業務ロジックは、端末装置3における操作などに基づいて所定の演算処理を行う。例えば、ログイン画面HG1が表示された端末装置3において入力されたユーザIDおよびパスワードに基づいてユーザ認証を行う。画面生成ロジックは、画面(Webページ)のHTMLファイルを生成する処理を行う。業務ロジックと画面生成ロジックとは処理の流れが連携されており、例えば、画面生成ロジックは業務ロジックの処理結果(実行結果)に基づいてHTMLファイルを生成する。
【0025】
画面生成ロジックは、次のような手順で作成される。まず、HTMLで図5に示すように画面生成ロジックの基となる部分をコーディングする。コーディングされたソースコードをJavaソースジェネレータ72によって図6に示すようにJavaソースコードに変換する。そして、これをJavaコンパイラ73によってJavaバイトコードにコンパイルし、画面生成ロジックが得られる。
【0026】
HTMLのソースコードには、このHTMLのソースコードを編集(メンテナンス)する際に書き換えてはならない個所を示す本発明のオリジナルのタグを用いることができる。以下、係るタグを「Xタグ」を呼称する。
【0027】
Xタグは、「<X name=" …" >…</X>」または「<X=…=X>」のように用いられる。例えば、図4のログイン画面HG1において、通常ユーザIDのテキストボックスの既定値(value=…に示される値)として変数「USER_ID」に格納されている値を用いる場合は「<INPUT type=" text" name=" USER_ID" value=" USER_ID" >」のようにコードを記述するが、この既定値の部分を編集不可であるものとして表したい場合は「<INPUT type=" text" name=" USER_ID" value=" <X=USER_ID" =X>>」のように記述すればよい。このように、Xタグは、HTMLのソースのうちの動的部分に対して用いることができる。「動的部分」とは、画面のデザイン(文字または画像など)のうち業務ロジックの処理の結果に応じて表示の内容が異なる部分をいう。Xタグに対する処理については後に説明する。
【0028】
一方、業務ロジックは、プログラマによってコーディングされたJavaソースコードをJavaコンパイラ73でコンパイルすることによって得られる。
【0029】
また、磁気記憶装置10dには、図3に示すように、画面生成ロジックをWebデザイナの端末装置2において編集(メンテナンス)するための編集アプリケーション74も記憶されている。編集アプリケーション74によると、例えば、端末装置2において図7または図8に示すWebページ編集画面HG2によってWebページ(HTMLファイル)をメンテナンスすることができる。編集アプリケーション74も、画面生成ロジックおよび業務ロジックなどによって構成され、Webサーバ1のサーブレットエンジン上で動作する。
【0030】
このような構成により、Webサーバ1には、図9に示すように、HTMLファイル受信部101、指定受付部102、指定画面抽出部103、第一の変換部104、コード更新部105、第二の変換部106、HTMLファイル送信部107、パス記憶部108、およびパス更新部109などの機能が実現される。これらの機能によって、各ユーザに対して提供するサービスのためのWebページ(例えば図4のログイン画面HG1など)のデザインを変更することができる。以下、これらの機能について説明する。
【0031】
端末装置2のWWWブラウザにおいて、所定のURLが指定されると、Webサーバ1から取得したHTMLファイルに基づいて図7に示すWebページ編集画面HG2が表示される。ここで、Webデザイナは、編集したいWebページのID(以下、「GID」と記載する。)、WebデザイナのユーザIDおよびパスワードをテキストボックスBX21〜BX23にそれぞれ入力し、編集ボタンBN21をクリックする。例えば、図4に示すログイン画面HG1を編集したい場合は、GIDとして「GID01」を入力する。編集ボタンBN21がクリックされると、入力されたGID、ユーザID、およびパスワードがWebサーバ1に対して送信される。
【0032】
図9の指定受付部102は、端末装置2から取得したユーザIDおよびパスワードに基づいて端末装置2のユーザ(Webデザイナ)が正しいユーザであるか否かの認証つまりセキュリティのチェックを行う。そして、正しいユーザである旨の認証が得られた場合に、GIDの指定を受理し、指定画面抽出部103に対してそのGIDを伝える。
【0033】
指定画面抽出部103は、伝えられたGIDに対応する画面生成ロジックのJavaバイトコードを磁気記憶装置10dより抽出する。第二の変換部106は、抽出されたJavaバイトコードをHTMLのソースコードに変換する。HTMLファイル送信部107は、変換されたHTMLのソースコードを編集する画面を表示するためのHTMLファイルを端末装置2に送信する。
【0034】
このとき、端末装置2において、Webページ編集画面HG2のテキストボックスBX24には、図8に示すように、Webサーバ1から受信したHTMLのソースコードが表示される。Webデザイナは、このHTMLのソースコードを修正することによって、Webページのデザインの編集を行うことができる。プレビューボタンBN23がクリックされると、修正されたHTMLのソースコードに基づいてWWWブラウザに図10に示すようなログイン画面HG1' が表示(プレビュー)される。Webデザイナは、これを見て編集の出来具合いを確かめることができる。そして、Webページ編集画面HG2に戻ってアップデートボタンBN22がクリックされると、修正されたHTMLのソースコードがWebサーバ1に対して送信される。
【0035】
Webサーバ1において、修正されたHTMLのソースコードを図9のHTMLファイル受信部101が受信すると、第一の変換部104は、このHTMLのソースコードをJavaソースコードに変換し、さらにJavaバイトコードに変換(コンパイル)する。
【0036】
コード更新部105は、変換されたJavaバイトコードを元のJavaバイトコードに上書きすることによって、画面生成ロジックのコードを更新(差替え)する。このとき、端末装置3には、図11に示すような画面生成ロジッククラスの更新が完了した旨のメッセージが表示される。
【0037】
図12は画面HG4(Webページ)の例を示す図、図13は図12の画面HG4のためのHTMLのソースコードの例を示す図、図14は業務ロジックおよび画面生成ロジックにおけるXタグの機能を説明する図、図15は図13(a)のHTMLのソースコードを編集した例を示す図である。
【0038】
次に、HTMLのXタグの処理とともに、HTMLとJavaとの間でのコード変換について説明する。前に述べた通り、Webデザイナは、HTMLによってWebページの作成およびメンテナンスを行う。例えば、図12のWebページ(画面HG4)を作成する場合は、図13(a)のようにHTMLのソースコードを記述する。画面HG4の「大阪府」という文字列の部分を動的部分として扱いたい場合は、Xタグを用いる。すなわち、図13(b)のように「大阪府」の部分をXタグでマーキングすればよい。
【0039】
図9の第一の変換部104は、HTMLのソースコードを、次のようなルールでJavaソースコードに変換する。
(a) Xタグでマーキングされていない部分は、HTMLのソースコードに示されるそのままの画面を表示させるように機能するコードに変換する。
(b) Xタグでマーキングされている部分は、このHTMLのソースコードを基に生成された画面生成ロジックの実行時に、業務ロジックからマーキング名(name=…が示す値)に基づいて値を受け取るように機能する「getHTML」というコードに変換する(図5、図6参照)。例えば、図13(b)のソースコードに含まれる「<X name=" ADDRESS" >大阪府</X>」の場合は、図14に示すように業務ロジックの実行結果を「ADDRESS」という名の変数を介して取得するように機能するコードに変換する。
(c) 画像のURL(パス)またはサブミット先のURLとなる部分は、そのURLを外部ファイルから動的に読み取ることができるように機能するコードに変換する。つまり、例えば、次のようにしてコード化を行う。図9のパス記憶部108は、端末装置2から得たHTMLのソースコードに含まれる画像などのURLを抽出し、そのうちのファイル名以外の部分すなわちパス名をパス情報89として記憶する。例えば、HTMLのソースコードに「src=" /test1/images/gazou.gif" 」という記述があった場合は、「/test1/images/」をパス情報89として外部ファイルに記憶する。第一の変換部104は、HTMLのソースコードに含まれるURLのうちのパス名の部分を、パス情報89を識別する文字列と置き換えた後、Javaソースコードに変換する。
【0040】
これらのルールに基づいて変換されたJavaソースコードは、コンパイルされてJavaバイトコードとなり、Javaサーブレットの実行環境下に格納される。以上のようにして、画像生成ロジックのHTMLのソースコードがJavaバイトコードに変換される。
【0041】
なお、前に述べた通り、プログラマは、業務ロジックについてはJavaのソースコードとして記述しなければならない。さらに、画面生成ロジックと連携する業務ロジックについては、その画面生成ロジックとの間でデータをやり取りが行われるようコーディングしなければならない。例えば、図14の場合は、「ADDRESS」によって値が出力(セット)される機能を業務ロジックに実装させなければならない。
【0042】
一方、図9の第二の変換部106は、画像生成ロジックのJavaバイトコードに「getHTML」に相当するコードが含まれている場合に、係る部分がXタグになるようにHTMLのソースコードに変換する。
【0043】
また、画像などのURL(パス)に相当する部分については、パス情報89に基づいてHTMLへの変換を行う。したがって、端末装置2から取得したHTMLのソースコードに示されるURLがそのまま復元されるとは限らず、異なるURLに変換されて得られる場合がある。
【0044】
例えば、テスト段階において端末装置2から取得したHTMLのソースコードに「/test1/images/gazou.gif」という画像のURLが含まれていたとする。このとき、パス情報89として「/test1/images/」というパス名が得られる。そして、本番環境に移行する際にシステム管理者の操作に従って図9のパス更新部109がそのパス情報89を「/honban/images/」と書き換えたとする。すると、JavaバイトコードをHTMLのソースコードに変換した際に、画像のURLは「/honban/images/gazou.gif」となる。このように、外部ファイルに含まれるパス情報89を変更可能とすることによって、同一の階層に多数の画像のURLが含まれる場合であっても、容易に動的に本番環境または次のテスト段階のURLへの変更を行うことができる。
【0045】
このようにして得られたHTMLのソースコードは、HTMLファイル送信部107によって端末装置2に送信され、Webデザイナによって例えば図15のように編集される。編集されたソースコードは、再び第一の変換部104によってコンパイルなどが施されてJavaバイトコードとなり、そして元の画面生成ロジックと置き換えられる。
【0046】
図16はWebサーバ1における処理の流れを説明するフローチャート、図17は画面HG5(Webページ)の例を示す図である。次に、端末装置2または端末装置3からアクセスがあった場合のWebサーバ1の処理の流れを、図16に示すフローチャートを参照して説明する。
【0047】
端末装置2からWebページのデザインの編集の指示があった場合は(#11でYes)、指定された画面ID(GID)に対応する画面生成ロジックのJavaバイトコードを抽出し、これに基づいて「getHTML」の部分をXタグでマーキングしたHTMLファイルを生成し(#12)、図8に示すようなWebページ編集画面HG2のためのHTMLファイルを端末装置2に送信する(#13)。
【0048】
Webページ編集画面HG2が表示された端末装置2において、Webデザイナは、Xタグの部分を書き換えないように注意しながらテキストボックスBX24内のHTMLのソースコードを修正(編集)する(#14)。例えば、図13(b)のソースコードのうちのXタグで示された動的部分以外の部分つまりデザインが固定的または静的な部分を編集し、図15のようなソースコードにする。編集されたソースコードはWebサーバ1に送信され(#15)、Javaソースコードに変換され(#16)、さらにJavaバイトコードにコンパイルされる(#17)。そして、元のJavaバイトコードと置き換えられ、これによりWebページのデザインの編集が完了する。編集の完了後、念のために、ログインの認証機能が問題なく作動するか否かを確認する。
【0049】
一方、端末装置3からアクセスがあった場合は(#11でNo)、まず、業務ロジックが実行される(#21)。次に、業務ロジックによる実行結果に基づいて画面生成ロジックが動作し、HTMLファイルが生成される(#22)。例えば、業務ロジックの実行の結果が「大阪市中央区城見」であれば、図17に示すように動的部分MVが「大阪市中央区城見」となる画面HG5が表示されるようなHTMLファイルが生成される。そして、生成されたHTMLファイルが端末装置3に送信される(#23)。
【0050】
ステップ#12〜#18および#21〜#23の処理は、端末装置2、3からアクセスがあるごとに適宜繰り返される。
【0051】
本実施形態によると、Javaサーブレットによって提供されるWebアプリケーションの画面のデザインの編集を、Javaのスキルのない者であっても容易に行うことができる。また、編集はWWWブラウザ上で行うことができるので、端末装置2には、FTP(File Transfer Protocol)のアプリケーションやコンパイラなどを用意しておく必要がない。
【0052】
Xタグを用いることにより、画面生成ロジックと業務ロジックとの連携を崩すようなバグを防止することができる。さらに、HTMLのソースコードに含まれる画像ファイルのURLをパス情報として外部ファイルに記憶しておくことにより、テスト環境から本番環境への移行の際のURLの付替えの手間を少なくすることができる。
【0053】
1つのHTMLのソースコードの中に複数個のXタグを用いることも可能である。第二の変換部106は、編集対象のWebページのHTMLのソースコードを、Javaバイトソースを変換して生成したが、Javaソースコードを変換して生成してもよい。
【0054】
Webデザイナは、HTMLのソースコードの修正を、Webページ作成用アプリケーション(いわゆるホームページ作成ソフト)を用いて行ってもよい。ホームページ作成ソフトに、Xタグの部分に修正禁止を示す特殊な印を付ける機能を設けてもよい。
【0055】
その他、Webサーバ1、端末装置2、3の全体または各部の構成、プログラムの構成および内容、処理内容、処理順序などは、本発明の趣旨に沿って適宜変更することができる。
【0056】
【発明の効果】
本発明によると、Javaサーブレットによって提供されるWebアプリケーションの画面のデザインの編集を、Javaのスキルのない者であっても容易に行うことができるようにすることができる。
【0057】
請求項2の発明によると、編集の際に画面生成ロジックと業務ロジックとの連携を崩すようなバグを防止することができる。請求項3の発明によると、テスト環境から本番環境への移行の際に、URLの付替えの手間を少なくすることができる。
【図面の簡単な説明】
【図1】本発明に係るWebサーバが設けられたネットワークシステムの例を示す図である。
【図2】Webサーバのハードウェア構成の例を示す図である。
【図3】Webサーバのプログラムの例を示す図である。
【図4】ログイン画面の例を示す図である。
【図5】HTMLのソースコードの例を示す図である。
【図6】Javaソースコードの例を示す図である。
【図7】初期状態のWebページ編集画面の例を示す図である。
【図8】HTMLのソースコードが表示されたWebページ編集画面の例を示す図である。
【図9】Webサーバの機能的構成の例を示す図である。
【図10】編集後のログイン画面を示す図である。
【図11】更新が完了した旨のメッセージの画面を示す図である。
【図12】画面(Webページ)の例を示す図である。
【図13】図12の画面のためのHTMLのソースコードの例を示す図である。
【図14】業務ロジックおよび画面生成ロジックにおけるXタグの機能を説明する図である。
【図15】図13(a)のHTMLのソースコードを編集した例を示す図である。
【図16】Webサーバにおける処理の流れを説明するフローチャートである。
【図17】画面(Webページ)の例を示す図である。
【符号の説明】
1 Webサーバ
2 端末装置
80 Webアプリケーション
89 パス情報
101 ファイル受信部(取得手段)
103 指定画面抽出部(抽出手段)
104 第一の変換部(HTML−Java変換手段)
105 コード更新部(アプリケーション更新手段)
106 第二の変換部(Java−HTML変換手段)
107 ファイル送信部(送信手段)
108 パス記憶部(パス記憶手段)
109 パス更新部(パス更新手段)
Claims (5)
- ネットワークユーザの端末装置に表示するためのWebページのHTMLファイルを生成する処理を行うJavaのアプリケーションを記憶する、Javaサーブレットの機能を有するWebサーバであって、
前記アプリケーションの中から前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードを抽出する抽出手段と、
前記抽出手段によって抽出されたJavaのソースコードをHTMLのソースコードに変換するJava−HTML変換手段と、
前記Webページに係る、前記Java−HTML変換手段によって変換されたHTMLのソースコードを、当該Webページを編集する編集者の端末装置に送信する送信手段と、
編集された、前記送信手段によって送信された前記Webページに係るHTMLのソースコードを取得する、取得手段と、
前記取得手段によって取得された、前記Webページに係るHTMLのソースコードをJavaのソースコードに変換する、HTML−Java変換手段と、
前記アプリケーションの更新を、当該アプリケーションの中の前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードの部分を、前記取得手段によって取得された当該Webページに係るHTMLのソースコードが前記HTML−Java変換手段によって変換されることによって得られたJavaのソースコードに書き換えることによって行う、アプリケーション更新手段と、
を有し、
前記Java−HTML変換手段は、前記抽出手段によって抽出されたJavaのソースコードの中に所定のコードが含まれている場合は、当該所定のコードおよび当該所定のコードに係る部分を、HTMLの、編集不可である部分を示すタグである編集不可タグでマーキングするように変換し、
前記HTML−Java変換手段は、前記取得手段によって取得されたHTMLのソースコードの中に前記編集不可タグが含まれている場合は、当該編集不可タグによってマーキングされている部分を、前記所定のコードを含むJavaのソースコードに変換する、
ことを特徴とするJavaサーブレットの機能を有するWebサーバ。 - 前記アプリケーションは、所定の演算処理を行う業務ロジックおよび当該業務ロジックによる演算処理の結果に基づいて前記Webページのデザインに関するHTMLのソースコードを生成する処理を行う画面生成ロジックからなり、
前記所定のコードは、前記画面生成ロジックにおいて前記業務ロジックから値を受け取るために用いられるコードであり、
前記編集不可タグは、前記送信手段によって送信される前記Webページに係るHTMLのソースコードの中の、業務ロジックによる演算処理の結果によって当該Webページの表示の内容が異なってしまう部分を、示すために用いられる、
請求項1記載のJavaサーブレットの機能を有するWebサーバ。 - 前記取得手段によって取得された前記Webページに係るHTMLのソースコードに他のファイルのパスが含まれる場合に、当該パスのパス名を記憶するパス記憶手段と、
前記パス記憶手段に記憶されているパス名を更新するパス更新手段と、を有し、
前記アプリケーションの中の前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードに、他のファイルのパスが含まれている場合は、Java−HTML変換手段は、当該パスのパス名を、前記パス記憶手段に記憶されている当該パスのパス名に書き換えて、当該JavaのソースコードをHTMLのソースコードに変換する、
請求項1または請求項2記載のJavaサーブレットの機能を有するWebサーバ。 - ネットワークユーザの端末装置に表示するためのWebページのHTMLファイルを生成する処理を行うJavaのアプリケーションの更新方法であって、
前記アプリケーションの中から前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードを抽出する第一のステップと、
前記第一のステップで抽出したJavaのソースコードをHTMLのソースコードに変換する第二のステップと、
前記Webページに係る、前記第二のステップで変換したHTMLのソースコードを、当該Webページを編集する編集者の端末装置に送信する、第三のステップと、
編集された、前記第三のステップで送信した前記Webページに係るHTMLのソースコードを取得する、第四のステップと、
前記第四のステップで取得した、前記Webページに係るHTMLのソースコードを、Javaのソースコードに変換する第五のステップと、
前記アプリケーションの更新を、当該アプリケーションの中の前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードの部分を、前記第四のステップで取得した当該Webページに係るHTMLのソースコードが前記第五のステップで変換されることによって得られたJavaのソースコードに書き換えることによって行う、第六のステップと、
を有し、
前記第二のステップにおいては、前記第一のステップで抽出したJavaのソースコードの中に所定のコードが含まれている場合は、当該所定のコードおよび当該所定のコードに係る部分を、HTMLの、編集不可である部分を示すタグである編集不可タグでマーキングするように変換し、
前記第五のステップにおいては、前記第四のステップで取得したHTMLのソースコードの中に前記編集不可タグが含まれている場合は、当該編集不可タグによってマーキングされている部分を、前記所定のコードを含むJavaのソースコードに変換する、
ことを特徴とするJavaのアプリケーションの更新方法。 - ネットワークユーザの端末装置に表示するためのWebページのHTMLファイルを生成する処理を行うJavaのアプリケーションの更新を行うコンピュータを制御するための制御プログラムであって、
前記コンピュータに、
前記アプリケーションの中から前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードを抽出する第一の処理と、
前記第一の処理で抽出したJavaのソースコードをHTMLのソースコードに変換する第二の処理と、
前記Webページに係る、前記第二の処理で変換したHTMLのソースコードを、当該Webページを編集する編集者の端末装置に送信する、第三の処理と、
編集された、前記第三の処理で送信した前記Webページに係るHTMLのソースコードを取得する、第四の処理と、
前記第四の処理で取得した、前記Webページに係るHTMLのソースコードを、Javaのソースコードに変換する第五の処理と、
前記アプリケーションの更新を、当該アプリケーションの中の前記Webページのデザインに関するHTMLのソースコードを生成する処理を行うためのJavaのソースコードの部分を、前記第四のステップで取得した当該Webページに係るHTMLのソースコードが前記第五のステップで変換されることによって得られたJavaのソースコードに書き換えることによって行う、第六の処理と、
を実行させ、
前記第二の処理においては、前記第一の処理で抽出したJavaのソースコードの中に所定のコードが含まれている場合は、前記コンピュータに、当該所定のコードおよび当該所定のコードに係る部分を、HTMLの、編集不可である部分を示すタグである編集不可タグでマーキングするように変換させ、
前記第五の処理においては、前記第四の処理で取得したHTMLのソースコードの中に前記編集不可タグが含まれている場合は、前記コンピュータに、当該編集不可タグによってマーキングされている部分を、前記所定のコードを含むJavaのソースコードに変換させる、
ことを特徴とする制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002249266A JP3808020B2 (ja) | 2002-08-28 | 2002-08-28 | Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム |
US10/647,310 US7305657B2 (en) | 2002-08-28 | 2003-08-26 | Web server having function of Java servlet, method for updating Java program and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002249266A JP3808020B2 (ja) | 2002-08-28 | 2002-08-28 | Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004086739A JP2004086739A (ja) | 2004-03-18 |
JP3808020B2 true JP3808020B2 (ja) | 2006-08-09 |
Family
ID=32024485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002249266A Expired - Fee Related JP3808020B2 (ja) | 2002-08-28 | 2002-08-28 | Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7305657B2 (ja) |
JP (1) | JP3808020B2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589787B2 (en) * | 2004-04-20 | 2013-11-19 | American Express Travel Related Services Company, Inc. | Centralized field rendering system and method |
US7565371B2 (en) * | 2005-09-13 | 2009-07-21 | Siemens Aktiengesellschaft | System and method for converting complex multi-file database structures to HTML |
US8914774B1 (en) | 2007-11-15 | 2014-12-16 | Appcelerator, Inc. | System and method for tagging code to determine where the code runs |
US8954989B1 (en) | 2007-11-19 | 2015-02-10 | Appcelerator, Inc. | Flexible, event-driven JavaScript server architecture |
US8260845B1 (en) * | 2007-11-21 | 2012-09-04 | Appcelerator, Inc. | System and method for auto-generating JavaScript proxies and meta-proxies |
US8719451B1 (en) | 2007-11-23 | 2014-05-06 | Appcelerator, Inc. | System and method for on-the-fly, post-processing document object model manipulation |
US8566807B1 (en) | 2007-11-23 | 2013-10-22 | Appcelerator, Inc. | System and method for accessibility of document object model and JavaScript by other platforms |
US8806431B1 (en) | 2007-12-03 | 2014-08-12 | Appecelerator, Inc. | Aspect oriented programming |
US8756579B1 (en) | 2007-12-03 | 2014-06-17 | Appcelerator, Inc. | Client-side and server-side unified validation |
US8819539B1 (en) | 2007-12-03 | 2014-08-26 | Appcelerator, Inc. | On-the-fly rewriting of uniform resource locators in a web-page |
US8938491B1 (en) | 2007-12-04 | 2015-01-20 | Appcelerator, Inc. | System and method for secure binding of client calls and server functions |
US8527860B1 (en) | 2007-12-04 | 2013-09-03 | Appcelerator, Inc. | System and method for exposing the dynamic web server-side |
US8335982B1 (en) | 2007-12-05 | 2012-12-18 | Appcelerator, Inc. | System and method for binding a document object model through JavaScript callbacks |
US8639743B1 (en) | 2007-12-05 | 2014-01-28 | Appcelerator, Inc. | System and method for on-the-fly rewriting of JavaScript |
US8285813B1 (en) | 2007-12-05 | 2012-10-09 | Appcelerator, Inc. | System and method for emulating different user agents on a server |
US8291079B1 (en) | 2008-06-04 | 2012-10-16 | Appcelerator, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US8880678B1 (en) | 2008-06-05 | 2014-11-04 | Appcelerator, Inc. | System and method for managing and monitoring a web application using multiple cloud providers |
CN101296243B (zh) * | 2008-06-26 | 2013-02-20 | 阿里巴巴集团控股有限公司 | 一种服务集成平台系统及提供互联网服务的方法 |
US7596620B1 (en) | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US20140289656A1 (en) * | 2009-10-02 | 2014-09-25 | Rebecca Sun | Systems and Methods for Creating and Using Electronic Content with Displayed Objects Having Enhanced Features |
US9747630B2 (en) * | 2013-05-02 | 2017-08-29 | Locu, Inc. | System and method for enabling online ordering using unique identifiers |
JP6331307B2 (ja) * | 2013-09-26 | 2018-05-30 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
US9692815B2 (en) * | 2015-11-12 | 2017-06-27 | Mx Technologies, Inc. | Distributed, decentralized data aggregation |
CN110069399A (zh) * | 2019-03-15 | 2019-07-30 | 平安普惠企业管理有限公司 | Html5包安装测试方法、装置、计算机设备及存储介质 |
CN110321109B (zh) * | 2019-05-23 | 2023-10-20 | 深圳市融锋科技有限公司 | 接口服务的获取方法、装置、计算机设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2255023C (en) * | 1998-11-30 | 2004-04-13 | Siu Chung Yuen | A method and system for monitoring the execution of hybrid source code |
US8397223B2 (en) * | 2000-03-17 | 2013-03-12 | Gutenberg Printing Llc | Web application generator |
JP2001344105A (ja) * | 2000-03-31 | 2001-12-14 | Hitachi Software Eng Co Ltd | Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体 |
US7580841B2 (en) * | 2004-09-17 | 2009-08-25 | At&T Intellectual Property I, L.P. | Methods, systems, and computer-readable media for associating dynamic sound content with a web page in a browser |
-
2002
- 2002-08-28 JP JP2002249266A patent/JP3808020B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-26 US US10/647,310 patent/US7305657B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7305657B2 (en) | 2007-12-04 |
US20040064822A1 (en) | 2004-04-01 |
JP2004086739A (ja) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3808020B2 (ja) | Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム | |
US7051084B1 (en) | Methods and apparatus for regenerating and transmitting a partial page | |
JP4643931B2 (ja) | 外部プログラムに基づくテーマを使用するWebページレンダリング機構 | |
US8161472B2 (en) | Methods and apparatus for incorporating a partial page on a client | |
US7269792B2 (en) | System and method for generating high-function browser widgets with full addressability | |
US7194683B2 (en) | Representing and managing dynamic data content for web documents | |
US7954107B2 (en) | Method and system for integrating the existing web-based system | |
US6961750B1 (en) | Server-side control objects for processing client-side user interface elements | |
US6854120B1 (en) | Accessing a ERP application over the internet using strongly typed declarative language files | |
US20040068554A1 (en) | Web service-enabled portlet wizard | |
JP2001344105A (ja) | Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体 | |
US9514115B2 (en) | Method for creating form validation program and corresponding form interface according to result set metadata | |
JP2011070640A (ja) | デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム | |
JP2004510254A (ja) | ネットワークサーバ | |
US8407598B2 (en) | Dynamic web control generation facilitator | |
IE20030061A1 (en) | Document transformation | |
EP1186996B1 (en) | Method of programming for providing polymorphism | |
CN101876998B (zh) | 一种实现数据编辑的方法和系统 | |
US6785880B1 (en) | Tooling framework system and method for code generation | |
US20220043546A1 (en) | Selective server-side rendering of scripted web page interactivity elements | |
JP2002366352A (ja) | Webアプリケーション開発支援装置 | |
US20100287292A1 (en) | Method, apparatus and computer program product for generating a content website in a data communications network | |
US20100269089A1 (en) | Method and system for generation of reusable design patterns | |
EP0926607A2 (en) | Object-oriented system for mapping structered information to different structured information | |
Taguchi et al. | Comparison of two approaches for automatic construction of Web applications: Annotation approach and diagram approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060516 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3808020 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090526 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110526 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120526 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130526 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130526 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |