(54)【発明の名称】Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
(58)【調査した分野】(Int.Cl.,DB名)
Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムにおいて、
前記サーバは、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報とを記憶する設計情報記憶手段と、
前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段と、
を備え、
前記Webアプリケーション生成装置は、
前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段と、
前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、
前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、
を備えることを特徴とするWebアプリケーション生成システム。
前記サーバは、前記判定手段により、前記サーバが前記モバイル端末からアクセスを受け付けたと判定した場合に表示するWebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけた対応テーブルを記憶するフィルタ設定情報記憶手段
を更に備えることを特徴とする請求項2に記載のWebアプリケーション生成システム。
前記切替手段は、前記アクセス元のモバイル端末がリクエスト情報として前記サーバに送信した前記クライアントアプリケーションのURLに対応する、前記Webアプリケーションを表示するためのURLが前記フィルタ設定情報記憶手段に存在する場合、前記アクセス元のモバイル端末に当該Webアプリケーションを表示するURLに対応する前記Webアプリケーションを表示する
ことを特徴とする請求項3に記載のWebアプリケーション生成システム。
Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムにおいて、
前記サーバは、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報と、を記憶する設計情報記憶手段と、
を備え、
前記Webアプリケーション生成装置は、
前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段と、
前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、
前記設計情報記憶手段に記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信手段と、
前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段と、
前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段と、
前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、
を備えることを特徴とするWebアプリケーション生成システム。
前記サーバは、前記判定手段により、前記サーバが前記モバイル端末からアクセスを受け付けたと判定した場合に表示するWebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけた対応テーブルを記憶するフィルタ設定情報記憶手段
を更に備えることを特徴とする請求項6に記載のWebアプリケーション生成システム。
前記切替手段は、前記アクセス元のモバイル端末がリクエスト情報として前記サーバに送信した前記クライアントアプリケーションのURLに対応する、前記Webアプリケーションを表示するためのURLが前記フィルタ設定情報記憶手段に存在する場合、前記アクセス元のモバイル端末に当該Webアプリケーションを表示するURLに対応する前記Webアプリケーションを表示する
ことを特徴とする請求項7に記載のWebアプリケーション生成システム。
Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムの制御方法にであって、
前記サーバは、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報とを記憶する設計情報記憶ステップと、
前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供ステップと、
を含み、
前記Webアプリケーション生成装置は、
前記設計情報記憶ステップにおいて記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信ステップと、
前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、
前記データモデル定義と、前記Webサービス提供ステップにより提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、
を含むことを特徴とするWebアプリケーション生成システムの制御方法。
Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムのプログラムであって、
前記サーバであるコンピュータを、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報とを記憶する設計情報記憶手段、
前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段、
として機能させ、
前記Webアプリケーション生成装置であるコンピュータを、
前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段、
前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、
前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、
として機能させるためのWebアプリケーション生成システムのプログラム。
クライアントアプリケーションの設計情報を有し、前記クライアントアプリケーションからのリクエストに応じて行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段を備えるサーバとネットワークを介して接続可能なWebアプリケーション生成装置であって、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信手段と、
前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、
前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、
を備えることを特徴とするWebアプリケーション生成装置。
クライアントアプリケーションの設計情報を有し、前記クライアントアプリケーションからのリクエストに応じて行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段を備えるサーバとネットワークを介して接続可能なWebアプリケーション生成装置の制御方法であって、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信ステップと、
前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、
前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、
を含むことを特徴とするWebアプリケーション生成装置の制御方法。
クライアントアプリケーションの設計情報を有し、前記クライアントアプリケーションからのリクエストに応じて行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段を備えるサーバとネットワークを介して接続可能なWebアプリケーション生成装置のプログラムであって、
前記Webアプリケーション生成装置であるコンピュータを、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信手段、
前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、
前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、
として機能させるためのWebアプリケーション生成装置のプログラム。
Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムの制御方法であって、
前記サーバは、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報と、を記憶する設計情報記憶ステップと、
を含み、
前記Webアプリケーション生成装置は、
前記設計情報記憶ステップにおいて記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信ステップと、
前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、
前記設計情報記憶ステップにおいて記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信ステップと、
前記レイアウト情報受信ステップより受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶ステップと、
前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成ステップと、
前記データモデル定義と、前記入出力定義と、前記Webサービス作成ステップにより作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、
を含むことを特徴とするWebアプリケーション生成システムの制御方法。
Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムのプログラムであって、
前記サーバであるコンピュータを、
前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報と、を記憶する設計情報記憶手段、
として機能させ、
前記Webアプリケーション生成装置であるコンピュータを、
前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段、
前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、
前記設計情報記憶手段に記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信手段、
前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段、
前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段、
前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、
として機能させるためのWebアプリケーション生成システムのプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1で提案されているプログラム(アプリケーションの画面上の部品に対する処理)を別のアプリケーションにおける、同じ処理を可能とするプログラムに変換する技術は難易度が高く、変換が可能なケースは少ないと考えられる。また、変換したプログラムが正しく動作する保証はなく、検証作業が別途必要になる。また、特許文献1ではクライアントアプリケーションからの操作とWebブラウザからの操作で、同じデータに関して相互運用することができない。このため、Webアプリケーションを構築するにあたっては、既存のクライアントアプリケーションの設計情報を利用しつつも、Webアプリケーションの処理の部分に関しては、クライアントアプリケーションで動作している処理のロジックを変換することなく、そのまま利用できるようにWebアプリケーションを構築することが望まれる。また、一般的には、ユーザの利用端末の種別に応じて、適切なアプリケーション画面が呼び出され、同じデータにアクセスできるようにすることが望まれている。
【0010】
そこで、本発明の目的は上記課題を鑑み、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーションを生成するWebアプリケーション生成システムを提供することを目的とする。
【課題を解決するための手段】
【0011】
前述した課題を解決するための第1の発明は、Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムにおいて、前記サーバは、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報とを記憶する設計情報記憶手段と、前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段と、を備え、前記Webアプリケーション生成装置は、前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段と、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、を備えることを特徴とするWebアプリケーション生成システムである。
【0012】
第1の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合であって、クライアントアプリケーションからのリクエストに応じてサーバが行う処理がWebアプリケーションから呼び出し可能となるようにWebサービスとして提供されている場合に、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成システムを提供することが可能になる。
【0013】
前記サーバは、前記サーバの前記クライアントアプリケーションに対しアクセスを受け付けた場合にアクセス元を判定する判定手段と、前記判定手段により、前記サーバが端末からアクセスを受け付けたと判定した場合は、前記クライアントアプリケーションを前記端末へ表示するとともに、前記判定手段により、前記サーバがモバイル端末からアクセスを受け付けたと判定した場合は、前記Webアプリケーションの画面を前記モバイル端末へ表示する切替手段と、を更に備えることが望ましい。
【0014】
これにより、サーバは、サーバへのアクセスが端末かモバイル端末かに応じて、クライアントアプリケーションを表示するか、Webアプリケーションを表示するかを切り替えることができる。
【0015】
前記サーバは、前記判定手段により、前記サーバが前記モバイル端末からアクセスを受け付けたと判定した場合に表示するWebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけた対応テーブルを記憶するフィルタ設定情報記憶手段を更に備えることが望ましい。
【0016】
これにより、サーバは、WebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけたフィルタ設定情報を利用することができる。
【0017】
前記切替手段は、前記アクセス元のモバイル端末がリクエスト情報として前記サーバに送信した前記クライアントアプリケーションのURLに対応する、前記Webアプリケーションを表示するためのURLが前記フィルタ設定情報記憶手段に存在する場合、前記アクセス元のモバイル端末に当該Webアプリケーションを表示するURLに対応する前記Webアプリケーションを表示することが望ましい。
【0018】
これにより、サーバは、モバイル端末がリクエストしたクライアントアプリケーションの処理画面に対応するWebアプリケーションの処理画面がある場合には、モバイル端末にWebアプリケーションの処理画面を表示させるようにすることができる。
【0019】
第2の発明は、Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムにおいて、前記サーバは、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報と、を記憶する設計情報記憶手段と、を備え、前記Webアプリケーション生成装置は、前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段と、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、前記設計情報記憶手段に記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信手段と、前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段と、前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段と、前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、を備えることを特徴とするWebアプリケーション生成システムである。
【0020】
第2の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成システムを提供することが可能になる。
【0021】
前記サーバは、前記サーバの前記クライアントアプリケーションに対しアクセスを受け付けた場合にアクセス元を判定する判定手段と、前記判定手段により、前記サーバが端末からアクセスを受け付けたと判定した場合は、前記クライアントアプリケーションを前記端末へ表示するとともに、前記判定手段により、前記サーバがモバイル端末からアクセスを受け付けたと判定した場合は、前記Webアプリケーションの画面を前記モバイル端末へ表示する切替手段と、を更に備え、前記Webアプリケーション生成装置は、前記判定手段と、前記切替手段とを備えるフィルタプログラムを生成するフィルタプログラム生成手段を更に備えることが望ましい。
【0022】
これにより、サーバは、サーバへのアクセスが端末かモバイル端末かに応じて、クライアントアプリケーションを表示するか、Webアプリケーションを表示するかを切り替えることができ、Webアプリケーション生成装置は、アクセス元の判定及び切り替えを行うフィルタプログラムを生成することができる。
【0023】
前記サーバは、前記判定手段により、前記サーバが前記モバイル端末からアクセスを受け付けたと判定した場合に表示するWebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけた対応テーブルを記憶するフィルタ設定情報記憶手段を更に備えることが望ましい。
【0024】
これにより、サーバは、WebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけたフィルタ設定情報を利用することができる。
【0025】
前記切替手段は、前記アクセス元のモバイル端末がリクエスト情報として前記サーバに送信した前記クライアントアプリケーションのURLに対応する、前記Webアプリケーションを表示するためのURLが前記フィルタ設定情報記憶手段に存在する場合、前記アクセス元のモバイル端末に当該Webアプリケーションを表示するURLに対応する前記Webアプリケーションを表示することが望ましい。
【0026】
これにより、サーバは、モバイル端末がリクエストしたクライアントアプリケーションの処理画面に対応するWebアプリケーションの処理画面がある場合には、モバイル端末にWebアプリケーションの処理画面を表示させるようにすることができる。
【0027】
第3の発明は、Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムの制御方法にであって、前記サーバは、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報とを記憶する設計情報記憶ステップと、前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供ステップと、を含み、前記Webアプリケーション生成装置は、前記設計情報記憶ステップにおいて記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信ステップと、前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、前記データモデル定義と、前記Webサービス提供ステップにより提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、を含むことを特徴とするWebアプリケーション生成システムの制御方法である。
【0028】
第3の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合であって、クライアントアプリケーションからのリクエストに応じてサーバが行う処理がWebアプリケーションから呼び出し可能となるようにWebサービスとして提供されている場合に、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成システムを制御することが可能になる。
【0029】
第4の発明は、Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムのプログラムであって、前記サーバであるコンピュータを、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報とを記憶する設計情報記憶手段、前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段、として機能させ、前記Webアプリケーション生成装置であるコンピュータを、前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、として機能させるためのWebアプリケーション生成システムのプログラムである。
【0030】
第4の発明を汎用のコンピュータにインストールすることにより、第1の発明に係るWebアプリケーション生成システムを実現するプログラムを実行することができる。
【0031】
第5の発明は、クライアントアプリケーションの設計情報を有し、前記クライアントアプリケーションからのリクエストに応じて行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段を備えるサーバとネットワークを介して接続可能なWebアプリケーション生成装置であって、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信手段と、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、を備えることを特徴とするWebアプリケーション生成装置である。
【0032】
第5の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合であって、クライアントアプリケーションからのリクエストに応じてサーバが行う処理がWebアプリケーションから呼び出し可能となるようにWebサービスとして提供されている場合に、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成装置を提供することが可能になる。
【0033】
第6の発明は、クライアントアプリケーションの設計情報を有し、前記クライアントアプリケーションからのリクエストに応じて行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段を備えるサーバとネットワークを介して接続可能なWebアプリケーション生成装置の制御方法であって、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信ステップと、前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、を含むことを特徴とするWebアプリケーション生成装置の制御方法である。
【0034】
第6の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合であって、クライアントアプリケーションからのリクエストに応じてサーバが行う処理がWebアプリケーションから呼び出し可能となるようにWebサービスとして提供されている場合に、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成装置を制御することが可能になる。
【0035】
第7の発明は、クライアントアプリケーションの設計情報を有し、前記クライアントアプリケーションからのリクエストに応じて行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段を備えるサーバとネットワークを介して接続可能なWebアプリケーション生成装置のプログラムであって、前記Webアプリケーション生成装置であるコンピュータを、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信手段、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、として機能させるためのWebアプリケーション生成装置のプログラムである。
【0036】
第7の発明を汎用のコンピュータにインストールすることにより、第5の発明に係るWebアプリケーション生成装置を実現するプログラムを実行することができる。
【0037】
第8の発明は、Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムの制御方法であって、前記サーバは、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報と、を記憶する設計情報記憶ステップと、を含み、前記Webアプリケーション生成装置は、前記設計情報記憶ステップにおいて記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信ステップと、前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、前記設計情報記憶ステップにおいて記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信ステップと、前記レイアウト情報受信ステップより受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶ステップと、前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成ステップと、前記データモデル定義と、前記入出力定義と、前記Webサービス作成ステップにより作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、を含むことを特徴とするWebアプリケーション生成システムの制御方法である。
【0038】
第8の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成システムを制御することが可能になる。
【0039】
第9の発明は、Webアプリケーション生成装置と、クライアントアプリケーションの設計情報を有するサーバとがネットワークを介して接続可能なWebアプリケーション生成システムのプログラムであって、前記サーバであるコンピュータを、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報と、を記憶する設計情報記憶手段、として機能させ、前記Webアプリケーション生成装置であるコンピュータを、前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、前記設計情報記憶手段に記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信手段、前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段、前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段、前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、として機能させるためのWebアプリケーション生成システムのプログラムである。
【0040】
第9の発明を汎用のコンピュータにインストールすることにより、第2の発明に係るWebアプリケーション生成システムを実現するプログラムを実行することができる。
【0041】
第10の発明は、クライアントアプリケーションの設計情報を有するサーバとネットワークを介して接続可能なWebアプリケーション生成装置であって、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信手段と、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段と、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報を前記サーバから受信するレイアウト情報受信手段と、前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段と、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段と、前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段と、を備えることを特徴とするWebアプリケーション生成装置である。
【0042】
第10の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成装置を提供することが可能になる。
【0043】
第11の発明は、クライアントアプリケーションの設計情報を有するサーバとネットワークを介して接続可能なWebアプリケーション生成装置の制御方法であって、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信ステップと、前記データ構造情報受信ステップより受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶ステップと、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報を前記サーバから受信するレイアウト情報受信ステップと、前記レイアウト情報受信ステップより受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶ステップと、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成ステップと、前記データモデル定義と、前記入出力定義と、前記Webサービス作成ステップにより作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成ステップと、を含むことを特徴とするWebアプリケーション生成装置の制御方法である。
【0044】
第11の発明によって、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成装置を制御することが可能になる。
【0045】
第12の発明は、クライアントアプリケーションの設計情報を有するサーバとネットワークを介して接続可能なWebアプリケーション生成装置のプログラムであって、前記Webアプリケーション生成装置であるコンピュータを、前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報を前記サーバから受信するデータ構造情報受信手段、前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段、前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報を前記サーバから受信するレイアウト情報受信手段、前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段、前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段、前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段、として機能させるためのWebアプリケーション生成装置のプログラムである。
【0046】
第12の発明を汎用のコンピュータにインストールすることにより、第10の発明に係るWebアプリケーション生成装置を実現するプログラムを実行することができる。
【発明の効果】
【0047】
本発明によれば、クライアントアプリケーションで処理を行うシステムをWebアプリケーションからも処理を行えるようにするために、クライアントアプリケーションからWebアプリケーションを構築する場合、クライアントアプリケーションの処理をWebアプリケーション用の処理に変換することなく、Webアプリケーション生成システムを提供することが可能になる。
【発明を実施するための形態】
【0049】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0050】
図1は、本発明の第1の実施形態を示すワークフローシステム1の全体構成を示すシステム構成図である。
【0051】
図1は、ネイティブ型のクライアントアプリケーションを帳票画面として返すワークフローシステム1において、ワークフローデータにアクセス可能なWebアプリケーションを生成することで、当該ワークフローシステム1の利用者が、利用者端末140から、従来のクライアントアプリケーションだけではなく、ブラウザ利用によってWebアプリケーションより、同じワークフロー処理を行えるシステムをWebアプリケーション生成装置100によって生成可能とすることを示す、構成図である。
【0052】
つまり、ワークフローシステム1が、Personal Computer(PC)を前提として構築されたクライアントアプリケーションである場合に、利用者端末140がPCなどの端末である場合、ネイティブ型のクライアントアプリケーションにアクセスすることは可能であるが、利用者端末140がスマートフォンなどのモバイル端末である場合、モバイル端末からネイティブ型のクライアントアプリケーションにアクセスすることは不可能なので、このような場合に、Webアプリケーションからアクセスできるようにするための、Webアプリケーション構築のシステム構成図となる。
【0053】
ワークフローサーバ120は、利用者端末140(PC等の端末、または、モバイル端末)より行われたワークフローシステム1における帳票の起案や承認などの処理を受け付け、帳票のデータ、あるいは、起案や承認などの処理の履歴のデータをワークフローデータベース130に保存する。
【0054】
また、ワークフローサーバ120は、利用者端末140から、ネイティブ型のクライアントアプリケーション、または、Webアプリケーションによってもワークフローシステム1へアクセスを可能とすることを可能とする。つまり、利用者端末140がワークフローサーバ120へアクセスすると、ワークフローサーバ120が、利用者端末140に対し、クライアントアプリケーション150またはWebアプリケーション160のいずれかの画面を返すことによって、利用者端末140からワークフロー処理が可能になる。
【0055】
Webアプリケーション生成装置100は、アプリケーションで使用する項目の情報や、アプリケーション画面の定義情報をワークフローサーバ120の設計情報から取得し、Webアプリケーションを生成するために必要な設計情報として保持する。その設計情報の値をパラメータとして、Webアプリケーションを生成するのに必要となるソースコードのテンプレートに当てはめることによって、Webアプリケーションを生成する。
【0056】
なお、Webアプリケーションにおけるワークフローの処理を実行する処理情報については、Webサービスとして公開されている、既存のクライアントアプリケーションからのリクエストに応じてクライアントアプリケーションのサーバが行う処理の機能を利用する。そして、Webアプリケーション160を、Webアプリケーションサーバ170に配置する。
【0057】
以上によって、ワークフローサーバ120の設計情報から生成したWebアプリケーションがWebアプリケーションとして動作し、ワークフローデータベース130のデータへアクセスし、ワークフロー処理を可能とする(
図1でいうとワークフローシステム1を使用可能とする)。
【0058】
なお、本実施例の
図1、
図3の説明において、利用者端末140からアクセスするシステムを、ワークフローシステム1を例として挙げて説明を行っているが、利用者端末140からアクセスするシステムは、ワークフロー処理を行わないシステムであっても本発明を応用できることとする。
【0059】
なお、このワークフローシステム1によって、本発明に係る「Webアプリケーション生成システム」の一例が構成されており、ワークフローサーバ120によって、本発明に係る「クライアントアプリケーションの設計情報を有するサーバ」の一例が構成されており、Webアプリケーション生成装置100によって、本発明に係る「Webアプリケーション生成装置」の一例が構成されている。
【0060】
また、モバイル端末である場合の利用者端末140によって、本発明に係る「モバイル端末」の一例が構成されており、PCである場合の利用者端末140によって、本発明に係る「端末」の一例が構成されている。
【0061】
次に、
図2を用いて、本発明の実施形態におけるハードウェア構成の一例について説明を行う。
【0062】
図2は、
図1に示したWebアプリケーション生成装置100、ワークフローサーバ120、利用者端末140のハードウェア構成の一例を示す図である。
【0063】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0064】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PC、各モバイル端末の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
【0065】
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
【0066】
また、入力コントローラ(入力C)205は、キーボード(KB)209や不図示のマウス等のポインティングデバイスからの入力を制御する。なお、モバイル端末への入力の制御は、画面に表示されるソフトキーボードを使用することにより、画面に直に接触することによって行う。
【0067】
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTや、液晶ディスプレイを想定するが、これに限らない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【0068】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピー(登録商標)ディスク或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0069】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0070】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRTディスプレイ210上での表示を可能としている。また、CPU201は、CRTディスプレイ210上の不図示のマウスカーソルや、タッチ操作等によるユーザ指示を可能とする。
【0071】
本発明を実現するためのプログラムは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。
【0072】
<第1の実施形態>
次に、第1の実施形態について
図3を用いて説明を行う。
図3は、本発明の実施形態における機能構成の一例を示す図である。
【0073】
図3のワークフローサーバ120は、ワークフローサーバ120で動作するアプリケーションの設計情報として、データ構造情報121、レイアウト情報122、および、ワークフロー処理部123を保持する。さらに、ワークフロー処理部123の処理を行う部分をWebサービスとして公開したものとして、Webサービスインタフェース124(以下、WSインタフェース124という)を保持する。
【0074】
なお、クライアントアプリケーション150は、利用者端末140側が使用するために、利用者端末140b側に構築され、ワークフローシステム1においてワークフローの処理を行うことを可能とする。このクライアントアプリケーション150は、ワークフローサーバ120で管理される、レイアウト情報122、ならびに、データ構造情報121の内容が反映されたアプリケーションである。
【0075】
Webアプリケーション生成装置100は、サーバ処理プログラム変換部101、データ構造情報取得部102、データモデル定義変換部103、データモデル定義104、レイアウト情報取得部105、入出力定義変換部106、入出力定義107、レイアウトエディタ部108、フィルタプログラム生成部109、プログラム生成部110を機能として保持する。
【0076】
Webアプリケーション生成装置100のプログラム生成部110は、アプリケーションで使用する項目となるデータモデル定義104や、アプリケーション画面の入出力定義107の定義情報をもとに、その定義情報の値をパラメータとして、Webアプリケーションを生成するのに必要となるソースコードのテンプレートに当てはめ、Webアプリケーションの処理についてはWebサービスコードを読み込み、スタブコードを作成することによって、Webアプリケーション160を生成する。そして、生成したWebアプリケーション160をWebアプリケーションサーバ170に配置する。
【0077】
利用者端末140は、ワークフローシステム1でワークフロー処理を行うための端末である。利用者端末140には、モバイル端末である利用者端末140aと、PCである利用者端末140bの2種類の種別の端末が存在する。
【0078】
なお、ワークフローサーバ120のフィルタ処理部125は、利用者端末140に対し、クライアントアプリケーション150またはWebアプリケーション160の画面を返すことによって、利用者端末140のワークフローシステム1へのアクセスを可能にする。
【0079】
すなわち、フィルタ処理部125は、利用者端末140aからアクセスを受け付けた場合は、Webアプリケーションサーバ170のWebアプリケーション160にアクセスさせ、利用者端末140bからアクセスを受け付けた場合は、利用者端末140bに存在するクライアントアプリケーション150にアクセスさせる。
【0080】
また、その生成されたWebアプリケーション160からワークフローデータベース130のデータへアクセス可能とするために(
図1でいうとワークフローシステム1を使用可能とするために)、サーバ処理プログラム変換部101は、ワークフロー処理部123の既存の処理をWebサービスとして公開し、WSインタフェース124を作成する。
【0081】
以下、
図3の各部(各機能)の詳細について説明する。
【0082】
<<処理機能のWebサービスとしての公開処理>>
まず、Webアプリケーション160から、ワークフローサーバ120のワークフロー処理部123に存在する既存の処理機能(ワークフローシステム1である場合は、起案、承認等の処理)を呼び出せるようにWebサービスとして公開するための処理について説明する。
【0083】
サーバ処理プログラム変換部101は、ワークフロー処理部123に対して、外部からWebサービス経由でアクセスできるように、ワークフロー処理部123のソースの処理内容をWSインタフェース124に変換生成する。
【0084】
図4は、Webサービス変換処理を示すフローチャートである。なお、
図4の処理は、Webアプリケーション生成装置100のサーバ処理プログラム変換部101が行うこととする。
【0085】
S201において、Webアプリケーション生成装置100のCPU201(サーバ処理プログラム変換部101)は、ワークフローサーバ120のワークフロー処理部123に記載してある、ワークフロー処理を行うためのソースコードファイルを取得する。なお、ワークフロー処理を行っているソースコードファイルの指定は開発者が行う。例えば、
図5(a)に図示するソースコードファイル301の指定を行うこととする。
【0086】
次に、S202において、Webアプリケーション生成装置100のCPU201(サーバ処理プログラム変換部101)は、開発者によって指定されたソースコードファイルの構文解析を行う。
【0087】
次に、S203において、Webアプリケーション生成装置100のCPU201(サーバ処理プログラム変換部101)は、S201で取得したソースコードのコピーを受け付け、コピーしたソースコードに対するWebサービス公開用のアノテーションの記述の追加を受け付ける(
図5(b)の303、304、305)。
【0088】
図5に、ソースコード変換の一例を示す。
図5(a)のソースコードファイル301は、変換前のソースコードである。なお、この例ではJava(登録商標)言語を例にしているが、任意の言語において、変換処理は可能である。
図5(b)のソースコードファイル302は、ソースコードファイル301に対して、Webサービスとして公開するためのJava(登録商標)言語用の記述として、アノテーションを追加したソースコードである。
図5(b)の304および305で、アノテーションを示す。なお、303はアノテーションを利用するための、インポート宣言である。
【0089】
次に、S204において、Webアプリケーション生成装置100のCPU201(サーバ処理プログラム変換部101)は、この変換したソースコードに対するWebサービス処理コードを生成し、S205において、どのようなWebサービスが存在し、その中にどのようなオペレーションが存在し、そのオペレーションにはどの引数を渡せばよいかが記述されているWSDL(Web Services Description Language)を生成する。
図20にWSDLを例示する。なお、Webサービス処理コードとWSDLは、例えば、WSGENというコマンドを実行することによって、生成することが可能であることとする。
【0090】
最後に、S206において、Webアプリケーション生成装置100のCPU201(サーバ処理プログラム変換部101)は、Webサービスをネットワークからアクセスできるように、Webサービス処理コードとWSDLを公開する。なお、Webアプリケーション生成装置100のCPU201(サーバ処理プログラム変換部101)は、公開されたWebサービス処理コードとWSDLが使用されるようにするために、Webサービス処理コードおよびWSDLを、WSインタフェース124に配備する。
【0091】
以上の方法により、既存のクライアントアプリケーションから呼び出される処理を新たに開発することなく、Webサービスインタフェースを介して処理できるWebアプリケーションを構築することが可能になる。
【0092】
なお、このワークフロー処理部123によって、本発明に係る「前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報」の一例が構成されている。
【0093】
また、このS201〜206によって、本発明に係る「前記処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを作成するWebサービス作成手段」の一例が構成されている。
【0094】
<<データ構造情報のデータモデル定義への変換処理>>
続いて、アプリケーションを構成するのに必要となる、ワークフローサーバ120における項目データ(データ構造情報121)をWebアプリケーション生成装置100側のデータ構造(データモデル定義104)に変換する処理について説明する。
【0095】
データ構造情報取得部102は、ワークフローサーバ120が保持する、ワークフローシステム1において起案される案件のデータ構造であるデータ構造情報121を取得する。
【0096】
なお、このデータ構造情報取得部102によって、本発明に係る「前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段」の一例が構成されている。
【0097】
ここで、ワークフローサーバ120が保持するデータ構造情報121について説明する。
【0098】
図6は、ワークフローサーバ120が保持するデータ構造情報121をGUIの編集画面で表示している一例を示す図である。データ構造情報121を定義する場合、
図6に示すようなGUI画面(データ構造情報GUI画面400)を利用することによって行うことができる。また、データそのものはXMLファイルで管理されることが多い。
【0099】
図7は、
図6に示すデータ構造情報GUI画面400で編集した結果をXML形式のデータで保存した例を示す図である。データ構造情報GUI画面400で編集したデータ構造情報121は、XMLファイル510として保存されている。
【0100】
項目ID401は、XMLファイル510のschemaItem要素のid属性511に保存されている。項目名402は、XMLファイル510のschemaItem要素のname属性512に保存されている。属性403は、XMLファイル510のschemaItem要素のtype属性513に保存されている。文字数404は、XMLファイル510のschemaItem要素のlength属性514に保存されている。小数405は、XMLファイル01のschemaItem要素のpoint属性515に保存されている。主キー情報(不図示)は、XMLファイル510のschemaItem要素のpkey属性516に保存されている。NULL可の情報(不図示)は、XMLファイル510のschemaItem要素のnullEnable属性517に保存されている。
【0101】
データ構造情報GUI画面400では属性403は文字や数値といった名称で表示されているのに対し、XMLファイル510では00や01といった値で保存されている。これは、データ構造情報GUI画面400が値によって、表示を変更しているためである。
【0102】
以上が、ワークフローサーバ120が保持するデータ構造情報121の一例の説明である。
【0103】
なお、このデータ構造情報121によって、本発明に係る「クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報」の一例が構成されている。
【0104】
データモデル定義変換部103は、データ構造情報取得部102が取得したデータ構造情報121を、データ構造情報XMLタグルール610及びデータ構造情報値変換ルール710を参照して、データモデル定義104に変換する。
【0105】
図8は、
図7の510示したXML形式で管理されたデータ構造情報121を、
図11の910に示すデータモデル定義104の定義に変換するためのルールを示したテーブルの一例である。
図8のテーブルを、データ構造情報XMLタグルール610と呼ぶ。データ構造情報XMLタグルール610は、
図11の各データモデル定義104(例えば、911、912等)に定義する値が、
図7のデータ構造情報121のどのXMLのタグが参照する値から取得するかについて表形式で管理する。
【0106】
ID600は、各項目種別601をIDで管理する。項目種別601は、
図11に示すデータモデル定義104(例えば、911、912等)に定義する値を示す。また、XMLタグルール602は、項目種別601のデータモデル定義104に設定する値を取得してくる場所を、
図7のXML形式で管理されたデータ構造情報121の階層における位置で示す。
【0107】
図11は、Webアプリケーション生成装置100におけるデータモデル定義104の定義画面910の一例を示す図である。
図11は、
図7のデータ構造情報121(XMLファイル510)を、Webアプリケーションを構築する際の画面定義に必要となるデータモデル定義104へ変換した例である。
【0108】
なお、このデータモデル定義104によって、本発明に係る「Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義」の一例が構成されている。
【0109】
図8の説明に戻る。
図8のID600=1の項目種別601にはDM_ITEM_CODEの値がある。この値はデータモデル定義104の定義画面910の項目コード911を指す。
図8において、このDM_ITEM_CODEに対応するXMLタグルール602はschemaDefinition.schema.schemaItem.idとなっている。これは、
図11のデータモデル定義104の項目コード911の値は、
図7の<schemaDefinition>の子要素<schema>の子要素<schemItem>の属性であるidの値を使用するというルールを示している。
【0110】
同様に、
図8のID600=2の項目種別601の値であるDM_ITEM_NAMEは、データモデル定義104の定義画面910の名前912を指し、これに該当する
図11のデータモデル定義104の名前912の値は、
図7の<schemaDefinition>の子要素<schema>の子要素<schemaItem>要素の属性であるnameの値を使用するというルールを示している。このように、データモデル定義104とデータ構造情報121との値の関係性は決まる。
【0112】
データモデル定義変換部103は、この変換を
図7のデータ構造情報121の全てのschemaItemの情報に対して行うことで、
図11の定義画面910で表示されるデータモデル定義104とすることができる。
【0113】
なお、データ構造情報121の値を
図8のルールに従って、データモデル定義104の値とする場合に、更なる関係性の定義が必要な場合もある。
【0114】
例えば、
図8のID600=5の項目種別601の値であるDM_ITEM_TYPEは、
図11のデータモデル定義104のデータタイプ917を指し、その値は、TEXT テキスト型、NUM 数値型などである。一方、
図7のデータ構造情報121での対応する値(
図7の513のtype)は、00、01などの値である。
【0115】
このような場合には、
図9の例に示す変換テーブルを定義する必要となる。
図9は、データ構造情報121における値がデータモデル定義104へ移行できないときの変換ルールを定義した、データ構造情報値変換ルール710のテーブルである。例えば、
図9のXML値701において00の値の、データモデル定義104におけるデータモデル−データタイプ702の値は、TEXT(
図11の917の表示においては、TEXT テキスト型)となる。
【0116】
これにより、クライアントアプリケーションのデータ構造情報を、Webアプリケーションを生成する際に利用するデータモデル定義に適切に変換することができる。
【0117】
図10に、以上の説明をまとめた、データモデル定義変換部103が、データ構造情報121からデータモデル定義104を作成するフローチャートを示す。
【0118】
S801において、Webアプリケーション生成装置100のCPU201(データモデル定義変換部103)は、データ構造情報取得部102がワークフローサーバ120から取得したデータ構造情報121を読み込む。
【0119】
S802において、Webアプリケーション生成装置100のCPU201(データモデル定義変換部103)は、
図8に示すデータ構造情報XMLタグルール610および
図9に示すデータ構造情報値変換ルール710を参照する。
【0120】
S803において、Webアプリケーション生成装置100のCPU201(データモデル定義変換部103)は、S801で取得したデータ構造情報121とS802で参照した各ルールとから、データモデル定義104(又はそのファイル)を作成し、Webアプリケーション生成装置100の外部メモリ211に記憶する。なお、記憶先は不図示の内蔵ハードディスクや、外部ハードディスクであっても良いこととする。
【0121】
S801からS803の処理は、取得したデータ構造情報121に存在する項目ごとに行うこととする。
【0122】
以上で、データモデル定義104の作成に関する説明を完了する。
【0123】
なお、このS801〜S803によって、本発明に係る「前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段」の一例が構成されている。
【0124】
<<レイアウト情報の入出力定義への変換処理>>
続いて、アプリケーションを構成するのに必要となる、ワークフローサーバ120における画面のレイアウトの情報(レイアウト情報122)をWebアプリケーション生成装置100側の画面のレイアウトの情報(入出力定義107)に変換する処理について説明する。
【0125】
レイアウト情報取得部105は、ワークフローサーバ120が保持するレイアウト情報122を取得する。
【0126】
なお、このレイアウト情報取得部105によって、本発明に係る「前記設計情報記憶手段に記憶された前記レイアウト情報を前記サーバから受信するレイアウト情報受信手段」することの一例が構成されている。
【0127】
図12は、ワークフローサーバ120が保持するレイアウト情報122をGUIの編集画面で表示している一例を示す図である。
【0128】
ワークフロー処理の画面レイアウトを定義する場合、
図12に示すようなGUI画面(レイアウト情報GUI画面1000)を利用することが多い。また、画面のレイアウト定義そのものはXMLファイルで管理されることが多い。
【0129】
図13は、レイアウト情報GUI画面1000で編集した結果をXML形式のデータで保存した例を示す図である。レイアウト情報GUI画面1000で編集したレイアウト情報122は、レイアウト情報XML(ファイル)1100として保存されている。
【0130】
例えば、
図12のレイアウト情報GUI画面1000に部品として登録されている注文番号フィールド1001は、
図13のレイアウト情報XML1100では、1101で示したfield要素の属性であるidがORDER_NOとなっているタグ要素とその子要素として保存されている。
【0131】
同様に、
図12の優先度フィールド1002は、
図13の1102で示したfield要素の属性であるidがPRIORITYとなっているタグ要素とその子要素として保存されている。
【0132】
なお、このレイアウト情報122によって、本発明に係る「前記データ構造情報が前記クライアントアプリケーションで使用される時の属性情報を定義したレイアウト情報」の一例が構成されている。また、データ構造情報121、レイアウト情報122、及び、ワークフロー処理部123によって、本発明に係る「設計情報記憶手段」の一例が構成されている。
【0133】
入出力定義変換部106は、レイアウト情報取得部105が取得したレイアウト情報122を、レイアウト情報XMLタグルール1210及びレイアウト情報値変換ルール1310を参照して、入出力定義107に変換する。
【0134】
図14は、レイアウト情報122とWebアプリケーション生成装置100の
図17で定義される入出力定義107との関係性を示したテーブルの一例である。
図14のテーブルを、レイアウト情報XMLタグルール1210と呼ぶ。レイアウト情報XMLタグルール1210は、
図17で定義される入出力定義107に定義する値とレイアウト情報XML1100のタグが参照する値との関係を表形式で管理する。
【0135】
ID1200は、各項目種別1201をIDで管理する。項目種別1201は
図17の入出力定義107で定義される項目を示す。XMLタグルール1202は、項目種別1201で管理される入出力定義107に設定する値を取得してくる場所を、
図13のXML形式で管理されたレイアウト情報122の階層における位置で示す。
【0136】
図17は、Webアプリケーション生成装置100における入出力定義107の定義画面1500の一例を示す図である。なお、
図17の入出力定義107の定義画面1500は、
図13のレイアウト情報XML1100(レイアウト情報122)を、Webアプリケーション生成装置100の入出力定義107へ変換した状態で表示している例である。
【0137】
なお、この入出力定義107によって、本発明に係る「前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義」の一例が構成されている。
【0138】
図14の説明に戻る。
図14のID1200=1の項目種別1201にはIO_ITEM_CODEの値がある。この値は、
図17の入出力定義107の定義画面1500の項目コード1501を指す。
図14において、このIO_ITEM_CODEに対応するXMLタグルール1202はformDefinition.page.elements.field.idとなっている。これは、
図17の入出力定義107の項目コード1501の値は、
図13の<formDefinition>の子要素<page>の子要素<elements>の子要素<field>の属性であるidの値を使用するというルールを示している。
【0139】
同様に、
図14のID1200=2の項目種別1201の値であるIO_ITEM_NAMEは、
図17の入出力定義107の定義画面1500の名前1502を指し、これに該当する入出力定義107の名前1502の値は、
図13の<formDefinition>の子要素<page>の子要素<elements>の子要素<field>要素の子要素<label>の値を使用するというルールを示している。このように、レイアウト情報122と入出力定義107との値の関係性は決まる。
【0140】
なお、レイアウト情報122の値を
図14のルールに従って、入出力定義107の値とする場合に、更なる関係性の定義が必要な場合もある。
【0141】
例えば、
図14のID1200=3の項目種別1201の値であるIO_ITEM_TYPEは、
図17の入出力定義107の項目タイプ1503を指し、その値は、O 出力、IO 入出力などである。一方、
図13のレイアウト情報122での対応する値(
図13の<editable>タグの値)は、true、falseなどである。
【0142】
そのため、この変換を定義する必要があり、その一例を
図15に示す。
図15は、レイアウト情報122の値(
図13の<editable>タグの値)と入出力定義107の項目タイプ1503との関係性を定義した、レイアウト情報値変換ルール1310のテーブルである。例えば、レイアウト情報値変換ルール1310において、XML値1301がfalseの場合は、項目タイプ1302はOとなっているので、
図13のレイアウト情報122のXMLにおける<editable>タグの値がfalseの場合の、
図17の入出力定義107における項目タイプ1503の値は、O出力となる。
【0143】
これにより、クライアントアプリケーションのレイアウト情報を、Webアプリケーションを生成する際に利用する入出力定義に適切に変換することができる。
【0144】
図16に、以上の説明をまとめた、入出力定義変換部106が、(ネイティブ型の)クライアントアプリケーション側のレイアウト情報122より、Webアプリケーションを構築するのに必要となる入出力定義107を作成するフローチャートを示す。
【0145】
S1401において、Webアプリケーション生成装置100のCPU201(入出力定義変換部106)は、レイアウト情報取得部105がワークフローサーバ120から取得したレイアウト情報122を読み込む。
【0146】
S1402において、Webアプリケーション生成装置100のCPU201(入出力定義変換部106)は、
図14に示すレイアウト情報XMLタグルール1210および
図15に示すレイアウト情報値変換ルール1310を参照する。
【0147】
S1403において、Webアプリケーション生成装置100のCPU201(入出力定義変換部106)は、
図14のレイアウト情報XMLタグルール1210と、
図15のレイアウト情報値変換ルール1310に基づき、レイアウト情報122から入出力定義107(又はそのファイル)を作成し、Webアプリケーション生成装置100の外部メモリ211に記憶する。なお、記憶先は不図示の内蔵ハードディスクや、外部ハードディスクであっても良いこととする。
【0148】
S801からS803の処理は、取得したレイアウト情報122に存在するレイアウト情報ごとに行うこととする。
【0149】
以上で、入出力定義107の作成に関する説明を完了する。
【0150】
なお、このS1401〜S1403によって、本発明に係る「前記レイアウト情報受信手段より受信した前記レイアウト情報を、前記Webアプリケーションで使用される時の属性情報を定義した定義情報である入出力定義として記憶する入出力定義記憶手段」の一例が構成されている。
【0151】
<<レイアウトエディタによるレイアウト調整及び処理の呼び出しの定義>>
レイアウトエディタ部108は、作成した入出力定義107を読み込み、レイアウトの調整、及び、ワークフロー処理部123が保持する処理を呼び出すための定義の配置を受け付け、受け付けた結果を、入出力定義107に反映する。
【0152】
図18に、レイアウトエディタ部108のレイアウトエディタGUI画面1600の一例を示す。レイアウトエディタ部108は、入出力定義107の内容を読み取り、レイアウトエディタGUI画面1600で表示することが可能である。また、レイアウトエディタ部108により、配置済みのフィールド項目については、レイアウト位置を変更する、ラベル名を変更する、削除するといった編集操作が可能である。また、レイアウトエディタ部108により、レイアウトエディタGUI画面1600内に新規に項目を配置することによって、新たな項目を追加することも可能とする。また、レイアウトエディタ部108により、
図18の1601に示す操作ボタンに対して、ワークフローの処理を呼び出す定義を行うことができる。この定義については、次に述べる。
【0153】
続いて、アプリケーションを構成するのに必要となる、ワークフローサーバ120における処理ロジックをWebアプリケーション生成装置100側の処理ロジックに変換する処理について説明する。
【0154】
図19は、処理定義の定義画面1700の一例である。
図19は、
図18のレイアウトエディタGUI画面1600において、承認1601で示す操作ボタンに対して、WSインタフェース124を介して、ワークフロー処理部123が保持する処理を呼び出すための定義をする際に表示される定義画面である。なお、ワークフロー処理部123が保持する処理とは、ワークフローシステム1の場合は起案、承認などの処理であるが、クライアントアプリ側をワークフローシステム1としない場合は、起案、承認の処理に限られない。
【0155】
また、このボタンの定義は、
図17の入出力定義107を管理する定義画面1500において、項目タイプ1503においてアクション(アクション定義)として管理することが可能な項目であることとする(例えば、
図17の1504)。
【0156】
一例として、
図19の承認ボタン1701に対し、加工式1702に「ExecuteCaseWS#approveCase」と定義している。これは、
図5のソースコードファイル302の例に示すExcecuteCaseWSクラス(
図5の304)のapproveCaseメソッド(
図5の305)を呼び出すための定義となる。
【0157】
開発者は定義に際して、
図4のS205のステップで生成した
図20のWSDL1800の指定箇所(
図20の1801および1802)を確認することで、定義すべき内容を決定する。
【0158】
つまり、
図19の加工式1702は、どのWebサービスのどのオペレーションを起動するかを記載している(ExecuteCaseWSはWebサービス、approveCaseはオペレーション名)箇所であって、加工式1702のExecuteCaseWSは、
図20のWSDL1800の1801の情報、加工式1702のapproveCaseは、
図20のWSDL1800の1802の情報を確認することによって定義可能となる。
【0159】
以上の方法により、既存のクライアントアプリケーションから呼び出される処理を新たに開発することなく、サーバが処理を行う機能である処理情報を、起動する操作ボタンに設定することで、Webサービスインタフェースを介して処理できるWebアプリケーションを構築することが可能になる。
【0160】
なお、この
図19の1702よって、本発明に係る「Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報」の一例が構成されている。
【0161】
<<Webアプリケーションの生成処理>>
プログラム生成部110は、データモデル定義104および入出力定義107を読み込み、Webアプリケーション160を生成する。
図21は、プログラム生成部110がデータモデル定義104および入出力定義107を読み込み、Webアプリケーション160を生成する処理を示すフローチャートである。
【0162】
S1901において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、ワークフローサーバ120が公開するWSDLを読み込む。
【0163】
S1902において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、ワークフロー処理部123のWebサービスを呼び出すためにWebアプリケーション160に保持するスタブコードを生成する。
【0164】
S1903において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、データモデル定義104を読み込む。さらにS1904において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、入出力定義107を読み込む。
【0165】
S1905において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、読み込んだデータモデル定義104と入出力定義107をメモリ内にオブジェクトに変換して取り込み、定義の解析処理を行う。
【0166】
S1906において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、Webアプリケーション生成装置100が保持するソースコードテンプレートをメモリ内に読み込む。
【0167】
S1907において、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、S1903において読み込んだデータモデル定義104とS1904において読み込んだ入出力定義107とから抽出した定義情報、および、S1906で読み込んだソースコードテンプレートを利用し、ソースコード生成処理を行う。
【0168】
つまり、Webアプリケーション生成装置100のCPU201(プログラム生成部110)は、S1903からS1907の処理では、Webアプリケーション生成装置100に定義として存在する、
図11(データモデル定義104)、
図17(入出力定義107)、
図19(入出力定義107で定義されたアクション定義の情報)で設定された情報をもとに、Webアプリケーション160を動作させるのに必要となるソースコードを生成することになる。なお、ソースコードにより生成されるWebアプリケーション160は、利用者端末140からワークフローサーバ120へアクセス可能とする。
【0169】
このように、
図21の処理においては、Webアプリケーション160を動作させるために必要となる、スタブコード(S1902)と、Webアプリケーションのソースコード(S1907)を生成したということになる。
【0170】
以上で、
図21のWebアプリケーション160を生成するフローチャートの説明を完了する。
【0171】
なお、
図21のS1901〜1907によって、本発明に係る「前記データモデル定義と、前記入出力定義と、前記Webサービス作成手段により作成した前記Webサービスにより既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段」の一例が構成されている。
【0172】
<<フィルタプログラムの生成処理>>
続いて、ワークフローサーバ120に利用者端末140からアクセスがあった場合に、利用者端末140の端末の種別に応じて、利用者端末140の表示画面に表示する画面のプログラムを切り替えるために必要となるフィルタプログラムの生成処理について説明する。
【0173】
なお、利用者端末140がモバイル端末である場合は、PCによる処理を前提として構築されたクライアントアプリケーションを介してワークフローデータベース130にある処理対象のデータへアクセスすることが出来ないため、利用者端末140の端末の種別に応じて、クライアントアプリケーション150、または、Webアプリケーション160を操作可能に切り替えるためのプログラム生成処理が必要となる。
【0174】
図22は、利用者端末140によってワークフローサーバ120にアクセスが行われた場合に、ワークフローサーバ120のフィルタ処理部125が呼び出すアプリケーションを振り分けるために必要となるフィルタ設定情報2010が登録されているテーブルの一例である。
【0175】
フィルタ設定情報2010によって、ワークフローサーバ120に対してPCからアクセスされたときは、クライアントアプリケーション150を呼び出す、あるいは、モバイル端末からアクセスされたときはWebアプリケーション160を呼び出す、といったように、利用者端末140の種別に応じて、呼び出すアプリケーションを切り替えることができる。
【0176】
図22のフィルタ設定情報2010は、ワークフローシステム1の処理画面へアクセスするためのURLを管理している。ID2000は、各ワークフローシステム1における各処理画面をIDで管理する。処理画面2001は、ワークフローシステム1における各処理画面の名称が管理される。クライアントアプリケーション2002は、利用者端末140からアクセスされた場合のURLが各処理画面2001ごとに管理される。Webアプリケーション2003は、モバイル端末からアクセスされた場合にWebアプリケーション画面への表示へ切り替えるためのURLが各処理画面2001ごとに管理される。
【0177】
なお、この
図22によって、本発明に係る「前記サーバは、前記判定手段により、前記サーバが前記モバイル端末からアクセスを受け付けたと判定した場合に表示するWebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけた対応テーブルを記憶するフィルタ設定情報記憶手段」の一例が構成されている。
【0178】
これにより、サーバは、WebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけたフィルタ設定情報を利用することができる。
【0179】
なお、クライアントアプリケーション2002のみURLが記述されている場合があるが、これは、運用上、ワークフローの処理をPCからのアクセスのみを想定し、モバイルからのアクセスは想定していない場合のケースである。
【0180】
この場合、仮にモバイル端末からのアクセスがあった場合、まず、モバイル端末においては、クライアントアプリケーション150を呼び出すことは不可能となる。
【0181】
また、クライアントアプリケーション2002において、モバイルから送信されたURLに該当するURLが存在したとしても、それに対応するWebアプリケーション2003のURLの情報が存在しないため、Webアプリケーション160は呼び出すことは出来ない(フィルタ設定情報2010のID2000=1及びID2000=3並びに
図24のS2206でNoの場合)。
【0182】
なお、PC等の端末、或いは、モバイル端末である利用者端末140からアクセスがされた場合に送信してきたURLが、クライアントアプリケーション2002に存在しない場合は、対応する処理画面2001をPCから呼び出せないということになる。
【0183】
フィルタプログラム生成部109は、ワークフローサーバ120のフィルタ処理部125に対して、埋め込むフィルタプログラムを生成する。
【0184】
図23は、フィルタプログラム生成部109のフィルタプログラムの生成処理の一例を示すフローチャートである。
【0185】
このフィルタプログラムは、利用者端末140からワークフローサーバ120へアクセスした時に、ワークフローサーバ120へ渡されるリクエスト情報(アクセス先のURL情報、アクセス元の端末情報を含む)から、リクエスト情報として渡されたURLの情報に基づくプログラムで表示するのか、それとも、別のURLに基づくプログラムで表示するのかを切り替える処理を行う。なお、このフィルタプログラムの処理については、
図24で説明を行う。
【0186】
図23のS2101において、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、
図22で示したフィルタ設定情報2010をメモリに読み込む。
【0187】
S2102において、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、フィルタプログラムのためのソースコードテンプレートをメモリに読み込む。なお、ソースコードテンプレートというのは、Webアプリケーション生成装置100が、アプリケーションを動作させるためのソースコードを生成するために必要となるソースコードのテンプレートことを指す。また、ソースコードテンプレートは、Webアプリケーション生成装置100の外部メモリ211等に記憶されている。したがって、ここでは、フィルタプログラムのソースを作成するためのステップとしてソースコードテンプレートを読み込んでいるということになる。
【0188】
S2103において、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、S2101で読み込んだフィルタ設定情報2010とS2102で読み込んだフィルタプログラムのためのソースコードテンプレートから、ソースコード生成処理を行う。
【0189】
S2104において、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、生成したソースコードをコンパイルして、フィルタプログラムを生成する。また、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、コンパイルしたソースコード(フィルタプログラム)を、ライブラリとしてアーカイブする。
【0190】
S2105において、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、ワークフローサーバ120へアクセスするためのURLについて、コンパイルしたフィルタプログラムを経由するように記述した
図25に示すweb.xmlファイルを生成する。つまり、S2105で作成するweb.xmlは、ワークフローサーバ120へ利用者端末140からアクセスがあった場合に、最初にフィルタプログラムを呼び出すための設定ファイルとなる。
【0191】
S2106にて、Webアプリケーション生成装置100のCPU201(フィルタプログラム生成部109)は、ライブラリ(フィルタプログラム)とweb.xmlをワークフローサーバ120のフィルタ処理部125へ配備する。
以上で、
図23の説明を完了する。
【0192】
なお、このフィルタプログラム生成部109によって、本発明に係る「前記判定手段と、前記切替手段とを備えるフィルタプログラムを生成するフィルタプログラム生成手段」の一例が構成されている。
【0193】
これにより、サーバは、サーバへのアクセスが端末かモバイル端末かに応じて、クライアントアプリケーションを表示するか、Webアプリケーションを表示するかを切り替えることができ、Webアプリケーション生成装置は、アクセス元の判定及び切り替えを行うフィルタプログラムを生成することができる。
【0194】
<<アプリケーションの切り替え処理>>
フィルタ処理部125は、利用者端末140がワークフローサーバ120へアクセスしワークフローシステム1を利用しようとした場合に、端末情報等に応じて、利用者端末140側の端末に表示されるアプリケーションの切り替えの処理を行う。
【0195】
続いて、
図24を用いて、フィルタ処理部125による利用者端末140側の端末に表示されるアプリケーションの切り替えの処理について説明を行う。
【0196】
S2201において、ワークフローサーバ120のCPU201(フィルタ処理部125)は、利用者端末140からのアクセスを受け付ける。
【0197】
S2202において、ワークフローサーバ120のCPU201(フィルタ処理部125)は、ワークフローサーバ120の決められた位置に配備された
図25に示すweb.xmlを参照し、フィルタプログラムを呼び出すためのURLパターン2301を確認する。
【0198】
利用者端末140からワークフローサーバ120へアクセス時に送信されるリクエスト情報の中に含まれるURL情報(送信されるURL情報はクライアントアプリケーションのURL)が、そのURLパターン2301に合致する場合は、フィルタプログラムを呼び出すということになり、ワークフローサーバ120のCPU201(フィルタ処理部125)は、次のS2203への処理へ進めることになる。
【0199】
なお、URLパターン2301が「/*」と記載されている場合は、送信されてきたURLがどのURLパターンでもフィルタ処理を行うということになるが、例えば、URLパターン2301が「/approve01」のように固定値が記載されている場合は、「/approve01」の記載を有するURLのみフィルタ処理を行うということになる。
【0200】
S2203において、ワークフローサーバ120のCPU201(フィルタプログラム(フィルタ処理部125))は、リクエスト情報に含まれる端末情報を読み取る。端末情報には、端末がPCなのかモバイルなのかといった判別可能な情報が含まれる。
【0201】
S2204において、S2203で読み取った端末情報がPCと判断した場合は、S2205において、ワークフローサーバ120のCPU201(フィルタプログラム(フィルタ処理部125))は、利用者端末140に対し、クライアントアプリケーション150を表示する。
【0202】
これにより、サーバは、端末がリクエストしたクライアントアプリケーションの処理画面を、端末に表示させるようにすることができる。
【0203】
S2204において、S2203で読み取った端末情報がモバイル端末と判断した場合は、ワークフローサーバ120のCPU201(フィルタプログラム(フィルタ処理部125))は、S2206へ処理をすすめる。
【0204】
S2206において、ワークフローサーバ120のCPU201(フィルタプログラム(フィルタ処理部125))は、
図22のフィルタ設定情報2010において、S2201で受け付けたリクエスト情報のURLに対応する、Webアプリケーション160を表示可能とするURLが存在しているか否かを判定する。
【0205】
S2206において、URLが存在すると判断した場合は、S2207において、ワークフローサーバ120のCPU201(フィルタプログラム(フィルタ処理部125))は、利用者端末140にはブラウザを介して、そのURLに該当するWebアプリケーションの画面を返す。
【0206】
これにより、サーバは、モバイル端末がリクエストしたクライアントアプリケーションの処理画面に対応するWebアプリケーションの処理画面がある場合には、モバイル端末にWebアプリケーションの処理画面を表示させるようにすることができる。
【0207】
S2206において、URLが存在しないと判断した場合は、利用者端末140にはブラウザを介して、Webアプリケーション160の画面を表示できなくなるため、ワークフローサーバ120のCPU201(フィルタプログラム(フィルタ処理部125))は、本処理を終了する。
【0208】
ここで、S2203以降の処理について、例を用いて説明する。例えば、「http://wfserve01/approve01/」で利用者端末140からワークフローサーバ120へアクセスがあった場合、
図22の2001の設定のうち、クライアントアプリケーション2002が「/approve01/」と設定されている部分に着目する(
図22のID2000=2のクライアントアプリケーション2002の値)。この設定によれば、リーダー承認の処理画面2001については、PCからのアクセスについては、クライアントアプリケーション150でhttp://wfserve01/approve01/のアドレスのリクエストとして、そのまま処理する(S2205)。つまり、利用者端末140に対し、http://wfserve01/approve01/のURLに対応するクライアントアプリケーション150のアプリケーション画面を表示する。
【0209】
一方、モバイルからのアクセスの場合は、Webアプリケーション2003の設定があるかどうかを確認し、設定があると判断した場合(S2206でYesの場合)は、Webアプリケーション160の画面を表示する(S2207)。
【0210】
例えば、「http://wfserve01/approve01/」で利用者端末140からワークフローサーバ120へアクセスがあった場合、
図22のフィルタ設定情報2010の設定のうち、クライアントアプリケーション2002が「/approve01/」と設定されている部分に着目する(
図22のID2000=2のクライアントアプリケーション2002の値)。次に、モバイルからアクセスされた場合であるため、クライアントアプリケーション2002に対応するWebアプリケーション2003の値を取得する。
【0211】
図22のクライアントアプリケーション2002=/approve01/に対応するWebアプリケーション2003では、「http://webserve01/approve/」の値が設定されているため、モバイルからのアクセスでは利用者端末140に対し「http://webserve01/approve/」の画面を表示する。この場合、利用者端末140にはWebアプリケーション160で処理された画面を表示する(S2207)。
【0212】
なお、S2206において、モバイルからのアクセスの場合に、Webアプリケーション2003のURLの設定があるかどうかを確認し、設定が無いと判断した場合(S2206でNoの場合)は、利用者端末140においては、Webアプリケーション160の画面を表示することは不可能とし、本処理を終了する。なお、このとき、表示不可能であるためエラー表示をしても良いこととする。
【0213】
なお、このフィルタ処理部125、及び、
図24のS2201〜S2204によって、本発明に係る「前記サーバの前記クライアントアプリケーションに対しアクセスを受け付けた場合にアクセス元を判定する判定手段」の一例が構成されている。また、フィルタ処理部125、及び、
図24のS2205によって、本発明に係る「前記判定手段により、前記サーバが端末からアクセスを受け付けたと判定した場合は、前記クライアントアプリケーションを前記端末へ表示する」ことの一例が構成されている。また、フィルタ処理部125、及び、
図24のS2207によって、本発明に係る「前記判定手段により、前記サーバがモバイル端末からアクセスを受け付けたと判定した場合は、前記Webアプリケーションの画面を前記モバイル端末へ表示する」ことの一例が構成されている。
【0214】
また、
図22の「ID=2」、及び、
図24のS2206がYesの場合、によって、本発明に係る「前記切替手段は、前記アクセス元のモバイル端末がリクエスト情報として前記サーバに送信した前記クライアントアプリケーションのURLに対応する、前記Webアプリケーションを表示するためのURLが前記フィルタ設定情報記憶手段に存在する場合」の一例が構成されている。また、
図24のS2207によって、本発明に係る「前記アクセス元のモバイル端末に当該Webアプリケーションを表示するURLに対応する前記Webアプリケーションを表示する」ことの一例が構成されている。
【0215】
以上、第1の実施形態により、既存のクライアントアプリケーションから呼び出される処理を新たに開発することなく、サーバが処理を行う機能である処理情報を、起動する操作ボタンに設定することで、Webサービスインタフェースを介して処理できるWebアプリケーションを生成するWebアプリケーション生成システムを提供することが可能になる。
【0216】
<第2の実施形態>
続いて、第2の実施形態について説明する。
【0217】
第2の実施形態においては、ワークフロー処理部123に存在する、ワークフローサーバ120上で起案されたデータをワークフローシステム1で配送させる処理を可能とする、承認処理、起案処理などの処理が、Webサービスとして既に公開されて、さらに、フィルタプログラムが既に存在し、Webアプリケーション生成装置100が設計情報としてデータ構造情報121のみをワークフローサーバ120から受け取る、という状態によって(他の方法については第1の実施形態と同様の処理)、Webアプリケーションを生成する方法について説明をする。なお、第2の実施形態においては、利用者端末140がアクセスするシステムは、ワークフロー処理を行うシステム(ワークフローシステム1)であることとする。
【0218】
まず、ワークフロー処理部123の処理を呼び出すためのWSインタフェース124が存在している場合、サーバ処理プログラム変換部101の処理である
図4の処理は行わなくて良いことになる。したがって、サーバ処理プログラム変換部101は無くてよいことになる。また、
図21のプログラム生成部110の処理においては、S1901、S1902のWebサービスの読込みとスタブコードの作成の処理は、既にプログラム生成部110において行われている処理となるためこの処理も行わなくてよくなる。
【0219】
つまり、
図4の処理によって行われるWebサービスの公開は、既にワークフローサーバ120によって行われているということである。このとき、WSDLも予め用意されている状態であるため、Webアプリケーション生成装置100の
図19の1701のアクション定義で配置可能な起案、承認等のボタンの、どのサービスのどのオペレーションを呼ぶかについて、予め、既にワークフローサーバ120のWSDLに則った内容で記載がされていることにすると、
図4の処理や、
図19の1702における、WSDLに記載のWebサービス名とオペレーション名を記載しなくてよいことになる。また、前述したように、ワークフローサーバ120においては、ワークフロー処理部123のWebサービスも公開されていて、スタブコードもプログラム生成部110に既に作成済みのため、
図21のS1901からS1902の処理は行わなくて良いということになる。
【0220】
なお、ワークフロー処理部123によって、本発明に係る「前記クライアントアプリケーションからのリクエストに応じて前記サーバが行う処理情報」の一例が構成されている。
【0221】
また、WSインタフェース124、並びに、第2の実施形態の「ワークフロー処理部123の処理を呼び出すためのWSインタフェース124が存在している」及び「Webサービスの公開は、既にワークフローサーバ120によって行われている」という記載等によって、本発明に係る「処理情報をWebアプリケーションから呼び出し可能にするためのWebサービスを提供するWebサービス提供手段」の一例が構成されている。
【0222】
また第2の実施形態では、フィルタ処理部125が行うフィルタプログラムをフィルタプログラム生成部109が、Webアプリケーションを開発する度に生成しないこととする。
【0223】
予め、ワークフローサーバ120において、既存のフィルタプログラム(フィルタ処理部125)を準備しておくことにより、フィルタプログラム生成部109によって、フィルタ処理を行うプログラムを生成しなくてよくなる。(第1の実施形態においてフィルタプログラム生成部109が必要なのはワークフローサーバ120側にフィルタ処理部125であるフィルタプログラムが存在していないことを前提とし、これを作成するという意味でフィルタプログラム生成部109を存在させている。)このような理由により、第2の実施形態では、フィルタプログラム生成部109が機能として無い形態とする。
【0224】
更に、第2の実施形態では、Webアプリケーション生成装置100は、ワークフローサーバ120からデータ構造情報121のみを受け取ることによって、Webアプリケーション160を生成するのに必要となる処理定義以外の部分の設計情報を生成することとする。
【0225】
なお、
図10のS801、及び、第2の実施形態の「Webアプリケーション生成装置100は、ワークフローサーバ120からデータ構造情報121のみを受け取る」という記載によって、本発明に係る「前記設計情報記憶手段に記憶された前記データ構造情報を前記サーバから受信するデータ構造情報受信手段」の一例が構成されている。
【0226】
最低限、ワークフローサーバ120のデータ構造情報121から、項目の定義情報を受け取り、データモデル定義104を生成することによって、Webアプリケーション生成装置100においては、(ワークフロー処理の定義以外の)入出力定義107の定義を生成することが可能であることとする。
【0227】
なお、第2の実施形態の「ワークフローサーバ120のデータ構造情報121から、項目の定義情報を受け取る」という記載、及び、「データ構造情報121」によって、本発明に係る「前記クライアントアプリケーションで使用されるデータ項目の情報であるデータ構造情報」の一例が構成されている。
【0228】
また、
図10のS802〜S803、及び、第2の実施形態の「ワークフローサーバ120のデータ構造情報121から、項目の定義情報を受け取り、データモデル定義104を生成する」という記載によって、本発明に係る「前記データ構造情報受信手段より受信した前記データ構造情報を、前記Webアプリケーションで使用されるデータ項目の情報であるデータモデル定義として記憶するデータモデル定義記憶手段」の一例が構成されている。
【0229】
これにより、レイアウト情報取得部105と入出力定義変換部106が無くてよいことになる。なお、入出力定義107は、レイアウトエディタ部108の機能を使用することによって、データモデル定義104の定義情報から作成することが可能であることとする。
【0230】
なお、Webアプリケーション160の生成において、このデータモデル定義104や、入出力定義107の設計情報が関わる処理は、第1の実施形態のプログラム生成部110が行う、
図21のS1903からS1907の処理と同様であることとする。
【0231】
以上、第2の実施形態により、クライアントアプリケーションの項目情報と、既存のWebサービスと、既存のフィルタプログラムを使用することにより、既存のクライアントアプリケーションから呼び出される処理を新たに開発することなく、Webアプリケーション生成システムを提供することが可能になる。なお、第1の実施形態と異なる点を中心に説明したが、それ以外の部分については、第1の実施形態と同様とする。
【0232】
なお、第2の実施形態の記載、特に「クライアントアプリケーションの項目情報と、既存のWebサービスと、既存のフィルタプログラムを使用することにより、既存のクライアントアプリケーションから呼び出される処理を新たに開発することなく」という記載等によって、本発明に係る「前記データモデル定義と、前記Webサービス提供手段により提供されるWebサービスにより使用可能な既存の前記処理情報を処理可能にするための定義情報と、を用いることにより、Webアプリケーションを生成する生成手段」の一例が構成されている。
【0233】
なお、このフィルタ処理部125、及び、
図24のS2201〜S2204によって、本発明に係る「前記サーバの前記クライアントアプリケーションに対しアクセスを受け付けた場合にアクセス元を判定する判定手段」の一例が構成されている。また、フィルタ処理部125、及び、
図24のS2205によって、本発明に係る「前記判定手段により、前記サーバが端末からアクセスを受け付けたと判定した場合は、前記クライアントアプリケーションを前記端末へ表示する」ことの一例が構成されている。また、フィルタ処理部125、及び、
図24のS2207によって、本発明に係る「前記判定手段により、前記サーバがモバイル端末からアクセスを受け付けたと判定した場合は、前記Webアプリケーションの画面を前記モバイル端末へ表示する」ことの一例が構成されている。
【0234】
また、第2の実施形態の「フィルタプログラム生成部109が機能として無い形態とする」という記載によって、本発明において「フィルタプログラム生成手段」を備えていないことが構成されている。
【0235】
また、
図22によって、本発明に係る「前記サーバは、前記判定手段により、前記サーバが前記モバイル端末からアクセスを受け付けたと判定した場合に表示するWebアプリケーションのURLと、前記クライアントアプリケーションのURLとを対応づけた対応テーブルを記憶するフィルタ設定情報記憶手段」の一例が構成されている。
【0236】
また、
図22の「ID=2」、及び、
図24のS2206がYesの場合、によって、本発明に係る「前記切替手段は、前記アクセス元のモバイル端末がリクエスト情報として前記サーバに送信した前記クライアントアプリケーションのURLに対応する、前記Webアプリケーションを表示するためのURLが前記フィルタ設定情報記憶手段に存在する場合」の一例が構成されている。また、
図24のS2207によって、本発明に係る「前記アクセス元のモバイル端末に当該Webアプリケーションを表示するURLに対応する前記Webアプリケーションを表示する」ことの一例が構成されている。
【0237】
以上、2つの実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0239】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0240】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0241】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0242】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0243】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0244】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0245】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0246】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。