(57)【要約】      （修正有）【課題】Ｗｅｂサービスの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供する。【解決手段】アプリケーションを構築する情報処理装置であって、アプリケーションが利用するＷｅｂサービスの定義情報を読み取りＳ５０１、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＳ５０２。取得された入力データの定義情報に従ってＷｅｂサービスに対してデータを送信し、取得された出力データの定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築するＳ５０４、Ｓ５０５ことを特徴とする。【選択図】図５
2018106747.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを構築する情報処理装置であって、
前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得手段と、
前記Ｗｅｂサービス定義情報取得手段により取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得手段により取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを構築するアプリケーション構築手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記Ｗｅｂサービス定義情報取得手段により取得された入力データ定義情報に従って、前記アプリケーションの画面を介して入力される項目を定義する入力定義情報を生成し、前記Ｗｅｂサービス定義情報取得手段により取得された出力データ定義情報に従って、前記アプリケーションの画面に出力する項目を定義する出力定義情報を生成するアプリケーション入出力定義情報生成手段と、
前記アプリケーション構築手段は、
前記アプリケーション入出力定義情報生成手段により生成された入力定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記アプリケーション入出力定義情報生成手段により生成された出力定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを構築すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーションが接続するデータベースのデータ操作に用いるデータモデル定義情報を設定するデータモデル定義情報設定手段と、
前記Ｗｅｂサービス定義情報取得手段により取得された入力データ定義情報及び／又は出力データ定義情報と、前記データモデル定義情報設定手段により設定されたデータモデル定義情報とを対応付けるデータモデル定義対応付手段とを更に備え、
前記アプリケーション構築手段は、
前記データモデル定義対応付手段により対応付けられたデータモデル定義情報を用いて前記Ｗｅｂサービスに対してデータを送信する及び／又は前記データモデル定義対応付手段により対応付けられたデータモデル定義情報を用いて前記Ｗｅｂサービスからデータを受信するアプリケーションを構築すること
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記アプリケーションの画面のレイアウト設計を受け付けるレイアウト設計画面を表示するレイアウト設計画面表示手段と、
前記レイアウト設計画面表示手段により表示されたレイアウト設計画面において、前記Ｗｅｂサービスへアクセスするための部品の配置を受け付ける部品配置受付手段と、
前記部品配置受付手段により受け付けた部品の設定を受け付ける部品設定受付手段とを更に備え、
前記アプリケーション構築手段は、
前記部品設定受付手段により受け付けた設定に従って前記Ｗｅｂサービスにアクセスし、前記部品配置受付手段により受け付けた部品の位置に対応する前記アプリケーションの画面の位置に当該Ｗｅｂサービスから出力された出力データを用いた情報を表示するアプリケーションを構築すること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記アプリケーション構築手段により構築されたアプリケーションを当該アプリケーションとして機能させるためのプログラムを生成するプログラム生成手段を更に備えること
を特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
アプリケーションを実行するサーバであって、
前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データ及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得手段と、
前記Ｗｅｂサービス定義情報取得手段により取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得手段により取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを実行する実行手段と
を備えることを特徴とするサーバ。
【請求項７】
アプリケーションを構築する情報処理装置における処理方法であって、
前記情報処理装置が、
前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得ステップと、
前記Ｗｅｂサービス定義情報取得ステップにより取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得ステップにより取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを構築するアプリケーション構築ステップと
を実行することを特徴とする処理方法。
【請求項８】
アプリケーションを実行するサーバにおける処理方法であって、
前記サーバが、
前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データ及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得ステップと、
前記Ｗｅｂサービス定義情報取得ステップにより取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得ステップにより取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを実行する実行ステップと
を実行することを特徴とする処理方法。
【請求項９】
アプリケーションを構築する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得手段と、
前記Ｗｅｂサービス定義情報取得手段により取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得手段により取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを構築するアプリケーション構築手段
として機能させるためのプログラム。
【請求項１０】
アプリケーションを実行するサーバで実行可能なプログラムであって、
前記サーバを、
前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データ及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得手段と、
前記Ｗｅｂサービス定義情報取得手段により取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得手段により取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを実行する実行手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを構築するための情報処理装置、情報処理装置の処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来から、入出力定義やデータモデル定義などを設定し、Ｗｅｂアプリケーションを構築するＷｅｂアプリケーション開発ツールが存在する。
【０００３】
また、他者のサーバにて提供される機能を部品のように活用するＷｅｂサービスの利用も高まっており、複数のＷｅｂサービスを組み合わせることによって、統合的なＷｅｂアプリケーションを作成することができる。
【０００４】
特許文献１には、ＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等で記載されたＷｅｂサービスの定義情報を用いて、プロキシクラスおよびマッピングファイルと呼ばれる（データモデルとＷｅｂサービスの入出力データを対応付ける）定義ファイルを生成する、Ｗｅｂアプリケーション開発ツールの仕組みが示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−５９７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の仕組みでは、他者によって公開されているＷｅｂサービスの定義情報（ＷＳＤＬファイル）を用いて、そのＷｅｂサービスを利用するＷｅｂアプリケーションまでは構築できないため、Ｗｅｂサービスへ接続するための定義の設定に不慣れな開発者にとっては多くの学習時間を要するという問題があった。そのため、上記のようなＷｅｂアプリケーション開発ツールを活用しても、Ｗｅｂサービスを利用するＷｅｂアプリケーション開発には時間がかかってしまうという問題があった。
【０００７】
そこで、本発明の目的は、Ｗｅｂサービスの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供することである。
【課題を解決するための手段】
【０００８】
アプリケーションを構築する情報処理装置であって、前記アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得するＷｅｂサービス定義情報取得手段と、前記Ｗｅｂサービス定義情報取得手段により取得された入力データの定義情報に従って前記Ｗｅｂサービスに対してデータを送信し、前記Ｗｅｂサービス定義情報取得手段により取得された出力データの定義情報に従って前記Ｗｅｂサービスからデータを受信するアプリケーションを構築するアプリケーション構築手段とを備えることを特徴とする情報処理装置。
【発明の効果】
【０００９】
本発明によれば、アプリケーションの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。
【図２】本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【図３】本発明に係るプログラム開発装置のソフトウェア構成を示すブロック図の一例である。
【図４】本発明に係るプログラム開発装置の構成図である。
【図５】Ｗｅｂサービスを利用するＷｅｂアプリケーション生成のフローチャートの一例を示す図である。
【図６】Ｗｅｂサービスを利用するＷｅｂアプリケーション定義生成のフローチャートの一例を示す図である。
【図７】Ｗｅｂサービスを利用するためのデータモデル定義生成のフローチャートの一例を示す図である。
【図８】Ｗｅｂサービスを利用するための拡張定義生成のフローチャートの一例を示す図である。
【図９】Ｗｅｂサービスを利用するための入出力定義生成のフローチャートの一例を示す図である。
【図１０】Ｗｅｂサービスの定義情報であるＷＳＤＬファイルの一例を示す図である。
【図１１】Ｗｅｂサービスの定義情報とＷｅｂアプリケーションのデータモデルとの関連付けを行うマッピングファイルの一例を示す図である。
【図１２】マッピングファイルエディタの一例を示す図である。
【図１３】マッピングファイルエディタにおいて、Ｗｅｂサービスを利用するためのデータモデル定義生成指示受付画面の一例を示す図である。
【図１４】Ｗｅｂサービスを利用するためのデータモデル定義生成ウィザードの一例を示す図である。
【図１５】Ｗｅｂサービスを利用するためのデータモデル定義生成後のマッピングファイルエディタの一例を示す図である。
【図１６】図１４にて生成されたデータモデル定義の一例を示す図である。
【図１７】拡張定義の生成指示受付画面の一例を示す図である。
【図１８】拡張定義生成ウィザード画面の一例を示す図である。
【図１９】図１８にて生成された拡張定義の一例を示す図である。
【図２０】入出力定義の生成指示受付画面の一例を示す図である。
【図２１】入出力定義生成ウィザード画面（Ｗｅｂサービス呼び出し方法選択）の一例を示す図である。
【図２２】入出力定義生成ウィザード画面（拡張定義選択）の一例の一例を示す図である。
【図２３】入出力定義生成ウィザード画面（入力データの指定）の一例を示す図である。
【図２４】入出力定義生成ウィザード画面（出力データの指定）の一例を示す図である。
【図２５】入出力定義生成ウィザード画面（入出力定義の生成）の一例を示す図である。
【図２６】入力定義生成ウィザード画面（定義ファイルの生成確認）の一例を示す図である。
【図２７】図２１から図２６の入出力定義生成ウィザード画面を介して設定・生成された入出力定義の一例を示す図である。
【図２８】生成したＷｅｂアプリケーションの実行結果の一例を示す図である。
【図２９】第３の実施形態に係るアプリケーションレイアウト設計画面にＷｅｂサービスアクセス部品を配置するフローチャートの一例を示す図である。
【図３０】第３の実施形態に係るアプリケーションレイアウト設計画面３０００の一例を示す図である。
【図３１】第３の実施形態により生成したＷｅｂアプリケーションの実行結果の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
〔第１の実施形態〕
図１は、本発明に係わるプログラム開発装置（開発者がＷｅｂアプリケーション生成のために使用する情報処理装置）、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント（クライアント装置）、アプリケーションサーバの構成の一例を示すシステム構成図である（情報処理システム）。
【００１２】
プログラム開発装置１０１は、開発者の操作に従って画面レイアウトおよびデータベース検索指示などを定義する。プログラム開発装置１０１単体では、開発者の入力受付を行い、後述するプログラム開発サーバ１０２に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム開発装置１０１単体でプログラム生成、アプリケーション生成まで処理してもよい。
【００１３】
なお、この実施形態においては、プログラム開発装置１０１で生成するアプリケーションはＷｅｂアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、ＷｅｂサービスとのやりとりにはＷｅｂによる通信を利用するが、主としてＷｅｂによる通信を利用しないアプリケーションであってもよい。
【００１４】
プログラム開発サーバ１０２ａ〜１０２ｂ（情報処理装置）は、プログラム開発装置１０１により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ１０２ａはＬＡＮなどのネットワーク１０６内に配置されてもよいし、プログラム開発サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００１５】
データベースサーバ１０３ａ〜１０３ｂ（情報処理装置）は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ１０３は、プログラム開発装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０６内に配置されてもよい（データベースサーバ１０３ａ）。またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、プログラム開発装置１０１が、プログラム開発サーバ１０２と協調する場合には、プログラム開発サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００１６】
アプリケーションサーバ１０５ａ〜１０５ｂ（情報処理装置）は、プログラム開発装置１０１で開発されたアプリケーションを実行する。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションサーバ１０５ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションサーバ１０５ｂ）。また、ネットワーク１０６、インターネット、クラウド上のデータベースサーバ１０３と接続して動作する可能である。
【００１７】
アプリケーションクライアント１０４ａ〜１０４ｂ（情報処理装置）は、アプリケーションサーバ１０５と協調してプログラム開発装置１０１で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションクライアント１０４ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションクライアント１０４ｂ）。携帯端末などの情報処理装置であってもよい。
【００１８】
図２は、本発明に係わるプログラム開発装置１０１、プログラム開発サーバ１０２、データベースサーバ１０３、アプリケーションクライアント１０４、アプリケーションサーバ１０５として適用可能な各ハードウェア構成の一例を示すブロック図である。
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００１９】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【００２０】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２１】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
【００２２】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００２３】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、データが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００２４】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００２５】
本発明を実現するためのプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００２６】
図３は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
プログラム開発装置１０１は、以下の機能部を備える。
【００２７】
Ｗｅｂサービス入出力定義情報取得部３０１は、アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データおよび当該Ｗｅｂサービスから出力される出力データの定義情報を取得する機能部である。
【００２８】
Ｗｅｂサービス定義情報取得部３１１は、アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得する機能部である。
【００２９】
アプリケーション構築部３０２は、Ｗｅｂサービス入出力定義情報取得部３０１により取得された入力データの定義情報に従ってＷｅｂサービスに対してデータを送信し、Ｗｅｂサービス入出力定義情報取得部３０１により取得された出力データの定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する機能部である。
【００３０】
アプリケーション構築部３１２は、Ｗｅｂサービス定義情報取得手段により取得された入力データの定義情報に従ってＷｅｂサービスに対してデータを送信し、Ｗｅｂサービス定義情報取得手段により取得された出力データの定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する機能部である。
【００３１】
アプリケーション入出力定義情報生成部３１３は、Ｗｅｂサービス定義情報取得部３１１により取得された入力データ定義情報に従って、アプリケーションの画面を介して入力される項目を定義する入力定義情報を生成し、Ｗｅｂサービス定義情報取得部３１１により取得された出力データ定義情報に従って、アプリケーションの画面に出力する項目を定義する出力定義情報を生成する機能部である。
【００３２】
アプリケーション構築部３１２は、アプリケーション入出力定義情報生成部３１３により生成された入力定義情報に従ってＷｅｂサービスに対してデータを送信し、アプリケーション入出力定義情報生成部３１３により生成された出力定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する機能部である。
【００３３】
データモデル定義情報設定部３０３は、アプリケーションが接続するデータベースにおけるデータ操作に用いるデータモデル定義情報を設定する機能部である。
【００３４】
データモデル定義対応付部３０４は、Ｗｅｂサービス入出力定義情報取得部３０１により取得された入力データの定義情報及び／又は出力データの定義情報と、データモデル定義情報設定部３０３により設定されたデータモデル定義情報とを対応付ける機能部である。
【００３５】
アプリケーション構築部３０２は、データモデル定義対応付部３０４により対応付けられたデータモデル定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又はデータモデル定義対応付部３０４により対応付けられたデータモデル定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する機能部である。
【００３６】
アプリケーション構築部３１２は、データモデル定義対応付部３０４により対応付けられたデータモデル定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又はデータモデル定義対応付部３０４により対応付けられたデータモデル定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する機能部である。
【００３７】
入出力定義情報設定部３０５は、アプリケーションが出力する画面情報を生成するために与える入力項目の定義情報およびアプリケーションが出力する画面情報に含まれる出力項目の定義情報を設定する機能部である。
【００３８】
また、入出力定義情報設定部３０５は、アプリケーションの画面を介して入力される項目を定義する入力定義情報と、アプリケーションの画面に出力する項目を定義する出力定義情報とを入出力定義情報として設定する機能部である、ということもできる。
【００３９】
入出力定義対応付部３０６は、Ｗｅｂサービス入出力定義情報取得部３０１により取得された入力データの定義情報と入出力定義情報設定部３０５により設定された入力項目の定義情報及び／又はＷｅｂサービス入出力定義情報取得部３０１により取得された出力データの定義情報と入出力定義情報設定部３０５により設定された出力項目の定義情報とを対応付ける機能部である。
【００４０】
アプリケーション構築部３０２は、入出力定義対応付部３０６により対応付けられた入力項目の定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又は入出力定義対応付部３０６により対応付けられた出力項目の定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する機能部である。
【００４１】
レイアウト設計画面表示部３１４は、アプリケーションの画面のレイアウト設計を受け付けるレイアウト設計画面を表示する機能部である。
【００４２】
部品配置受付部３１５は、レイアウト設計画面表示部３１４により表示されたレイアウト設計画面において、Ｗｅｂサービスへアクセスするための部品の配置を受け付ける機能部である。
【００４３】
部品設定受付部３１６は、部品配置受付部３１５により受け付けた部品の設定を受け付ける機能部である。
【００４４】
アプリケーション構築部３１２は、部品設定受付手段により受け付けた設定に従ってＷｅｂサービスにアクセスし、部品配置受付手段により受け付けた部品の位置に対応するアプリケーションの画面の位置に当該Ｗｅｂサービスから出力された出力データを用いた情報を表示するアプリケーションを構築する機能部である。
【００４５】
プログラム生成部３０７は、アプリケーション構築部３０２により構築されたアプリケーションのプログラムを生成する機能部である。
【００４６】
プログラム生成部３１７は、アプリケーション構築部３１２により構築されたアプリケーションを当該アプリケーションとして機能させるためのプログラムを生成する機能部である。
【００４７】
図４は、プログラム開発装置１０１の構成図である。
プログラム開発装置１０１は、Ｗｅｂアプリケーションを開発する開発者が定義した定義ファイルをもとにＷｅｂアプリケーションを自動生成することを目的とした装置である。
【００４８】
プログラム開発装置１０１は、リポジトリ定義部４００、アプリケーション生成部４１０、Ｗｅｂアプリケーション基盤コード生成部４２０、Ｗｅｂサービス呼び出しモジュール（つまり、Ｗｅｂサービスを利用するＷｅｂアプリケーション）生成部４３０、マッピングファイルＧＵＩエディタ部４４０、ソースコードコンパイル部４６０、Ｗｅｂサービス連携定義自動生成部４７０を備える。
【００４９】
リポジトリ定義部４００は、マッピングファイル４０１、アプリケーション定義４０２、データモデル定義４０３、入出力定義４０４、ビジネスプロセス定義４０５、拡張定義４０６を備える。これらの定義・ファイルは、Ｗｅｂアプリケーション開発ツールを介して開発者によって入力され、生成される。
【００５０】
次に、Ｗｅｂアプリケーション基盤コード生成部４２０について説明する。リポジトリ定義解析部４２１は、リポジトリ定義部４００からアプリケーション定義４０２、データモデル定義４０３、入出力定義４０４、ビジネスプロセス定義４０５を読み込み解析する。Ｗｅｂアプリケーションコード生成部４２２は、外部メモリ２１１に記憶されているコード生成ルールと、リポジトリ定義解析部４２１によって解析された内容とを用いて、ソースコードコンパイル部４６０を介し、Ｗｅｂアプリケーション４８１のソースコード（プログラム）を生成する。
【００５１】
すなわち、データモデル定義４０３は、アプリケーションが接続するデータベースにおけるデータ操作に用いるデータモデル定義情報を設定する手段の一例である。
【００５２】
また、入出力定義４０４は、Ｗｅｂアプリケーションが出力する画面情報を生成するために与える入力項目の定義情報およびＷｅｂアプリケーションが出力する画面情報に含まれる出力項目の定義情報を設定する手段の一例である。
【００５３】
なお、入力項目の定義情報は、生成されたＷｅｂアプリケーションの画面を介して当該Ｗｅｂアプリケーションのユーザが入力する入力項目を定義した情報であり、出力項目の定義情報は、生成されたＷｅｂアプリケーションの画面として出力する出力項目を定義した情報である、と言い換えることができる。
【００５４】
よって、リポジトリ定義部４００は、生成されたプログラムの実行によって表示されるアプリケーションの画面を介して入力される項目を定義する入力定義情報と、画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する手段の一例である。
【００５５】
次に、Ｗｅｂサービス呼び出しモジュール生成部４３０について説明する。ＷＳＤＬ解析部４３１は、利用するＷｅｂサービスのＷＳＤＬを解析する。マッピングファイル生成部４３２は、ＷＳＤＬ解析部４３１によって解析された、Ｗｅｂサービスの呼び出しに必要な入力データおよびＷｅｂサービスから出力される出力データをデータモデル定義４０３と対応付けるマッピングファイルを生成する。Ｗｅｂサービス呼び出しプログラム生成部は、外部メモリ２１１に記憶されているコード生成ルールと、ＷＳＤＬ解析部４３１によって解析された内容とを用いて、Ｗｅｂサービスを利用するＷｅｂアプリケーションのプログラムを生成する。
図５は、Ｗｅｂサービスを利用するＷｅｂアプリケーション生成のフローチャートである。なお、図５〜図９のフローチャートにおける各処理は、プログラム開発装置１０１のＣＰＵ２０１が行うものとする。
【００５６】
ステップＳ５０１において、これから生成するＷｅｂアプリケーションが利用するＷｅｂサービスの定義情報であるＷＳＤＬファイル１０００（図１０）を読み込む。具体的には、ユーザによって指定されたＵＲＬから、利用するＷｅｂサービスのＷＳＤＬファイル１０００をダウンロードしてＲＡＭ２０２に読み込む。
【００５７】
ステップＳ５０２において、ＷＳＤＬ解析部４３１を用いて、ダウンロードしたＷＳＤＬファイル１０００を解析する。すなわち、ステップＳ５０１〜ステップＳ５０２は、アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データおよび当該Ｗｅｂサービスから出力される出力データの定義情報を取得する処理の一例を示すステップである。また、ステップＳ５０１〜ステップＳ５０２は、アプリケーションが利用するＷｅｂサービスの定義情報を読み取り、当該Ｗｅｂサービスへ入力する入力データの定義情報及び当該Ｗｅｂサービスから出力される出力データの定義情報を取得する処理の一例を示すステップである。
【００５８】
具体的には、図１０の１００５における＜ｗｓｄｌ：ｏｐｅｒａｔｉｏｎ＞の記述に基づき、オペレーション名＝“ＳＬＯＣ＿ＪＡＶＡ（登録商標）＿ＷＳＩＯ＿ｇｅｔＤａｔａ”と読み取る。
【００５９】
また、図１０の１００５における＜ｗｓｄｌ：ｉｎｐｕｔ＞の記述および１００２、１００３、１００６の記述から、Ｗｅｂサービスの呼び出しに必要な入力データ＝“ｇＯｒｄｅｒＢｙ”および“ｔｏｋｅｎ”と読み取る。
【００６０】
同様に、図１０の１００５における＜ｗｓｄｌ：ｏｕｔｐｕｔ＞の記述および１００４の記述に基づき、Ｗｅｂサービスから出力される出力データ＝“ＷＳＩｏＳＬＯＣ＿ＪＡＶＡ（登録商標）＿ＷＳＩＯＧｅｔＤａｔａＲｅｓｕｌｔ”であり、その形式は１００１（図１０）のような形式であると読み取る。
【００６１】
ステップＳ５０３において、ＷＳＤＬファイル１０００の解析結果に基づき、マッピングファイル生成部４３２を用いて、データモデルとＷｅｂサービスの入出力データを対応付けるマッピングファイル４０１（図１１）を生成する。なお、マッピングファイル４０１とは、データモデル定義４０３とＷｅｂサービスの入出力定義４０４の対応付けを行うファイルである。なお、マッピングファイル４０１を生成することにより、Ｗｅｂサービスの入出力データの仕様変更がデータモデル定義４０３などＷｅｂアプリケーションの定義に影響を及ぼさないため、仕様変更の多いＷｅｂサービスを利用するＷｅｂアプリケーションや多くのＷｅｂサービスを利用するＷｅｂアプリケーション開発の管理を容易にすることができる。
【００６２】
具体的には、ＷＳＤＬファイル１０００に記述されていたオペレーション名１００２はマッピングファイル４０１の１１０２（図１１）に、ＷＳＤＬファイル１０００に記述されていた入力データ１００３はマッピングファイル４０１の１１０３（図１１）に、ＷＳＤＬファイル１０００に記述されていた出力データ１００１はマッピングファイル４０１の１１０１（図１１）に、それぞれ展開する形でマッピングファイル４０１を生成する。
【００６３】
ステップＳ５０４において、マッピングファイルＧＵＩエディタ部４４０を用いて、Ｗｅｂサービスの呼び出し時に必要な入力データ１００３およびＷｅｂサービスからの出力データ１００１を定義する入出力定義４０４とデータモデル定義４０３とを紐付け、Ｗｅｂアプリケーション定義（リポジトリ定義部４００の各定義）を生成する。
【００６４】
すなわち、ステップＳ５０４は、Ｗｅｂサービスの定義情報から取得された入力データの定義情報に従ってＷｅｂサービスに対してデータを送信し、Ｗｅｂサービスの定義情報から取得された出力データの定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００６５】
また、ステップＳ５０４は、アプリケーションが接続するデータベースにおけるデータ操作に用いるデータモデル定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又はアプリケーションが接続するデータベースにおけるデータ操作に用いるデータモデル定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００６６】
また、ステップＳ５０４は、アプリケーションが出力する画面情報を生成するために与える入力項目の定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又はアプリケーションが出力する画面情報に含まれる出力項目の定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００６７】
また、ステップＳ５０４は、取得された入力データの定義情報に従ってＷｅｂサービスに対してデータを送信し、取得された出力データの定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００６８】
また、ステップＳ５０４は、生成された入力定義情報に従ってＷｅｂサービスに対してデータを送信し、生成された出力定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００６９】
また、ステップＳ５０４は、対応付けられたデータモデル定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又は対応付けられたデータモデル定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００７０】
具体的には、後述する図６にて説明する。
【００７１】
ステップＳ５０５において、Ｗｅｂアプリケーションのプログラムを生成する。すなわち、ステップＳ５０５は、構築されたアプリケーションのプログラムを生成する処理の一例を示すステップである。
【００７２】
具体的には、Ｗｅｂサービス呼び出しプログラム生成部４３３を用いて、ステップＳ５０３にて生成したマッピングファイル４０１（図１１）およびステップＳ５０４にて生成したＷｅｂアプリケーション定義に従い、Ｗｅｂサービスを利用するＷｅｂアプリケーションのプログラムを生成する。
【００７３】
ステップＳ５０６において、ソースコードコンパイル部４６０を用いて、ステップＳ５０５にて生成したＷｅｂアプリケーションのプログラムをコンパイルし、アプリケーションサーバ４８０にＷｅｂアプリケーション４８１としてデプロイ（配置）する。
【００７４】
これにより、Ｗｅｂサービスを利用するアプリケーションを容易に構築することができる。
【００７５】
図６は、Ｗｅｂサービスを利用するＷｅｂアプリケーション定義生成のフローチャートである。
ステップＳ６０１において、マッピングファイルＧＵＩ表示部４４１を介して、Ｗｅｂアプリケーション開発者からマッピングファイル４０１を開く指示を受け付け、マッピングファイルエディタ１２００（図１２）を用いて、指示されたマッピングファイル４０１の内容を表示する。
【００７６】
ここで、図１２のマッピングファイルエディタ１２００について説明しておく。マッピングファイルエディタ１２００は、操作一覧部１２０１、データ構造部１２０２、プロパティ一覧部１２０３を備えるマッピングファイル４０１を編集するためのツールである。
【００７７】
操作一覧部１２０１には、図５のステップＳ５０１にて読み込んだＷＳＤＬファイルに記述されているＷｅｂサービスの操作（オペレーション）の一覧を表示する。操作一覧部１２０１に表示されている「操作」の選択を受け付けると、選択された「操作」の内容をデータ構造部１２０２およびプロパティ一覧部１２０３に表示する。
【００７８】
データ構造部１２０２には、操作一覧部１２０１にて選択された「操作」の入出力データの名前をツリー形式で表示する。入力タブ１２０４と出力タブ１２０５を切り換えることにより、マッピングファイル４０１の入力データ(例えば、図１１の１１０３の情報)または出力データ(例えば、図１１の１１０１の情報)を選択可能に表示する。
【００７９】
データ構造部１２０２に表示するデータの名前の後ろに［１］［ｎ］のような数字を表示する。この数字は、当該データの出現回数である。
【００８０】
つまり、当該データが入出力データに１つだけ存在する詳細情報形式の場合は当該データ名の後ろに［１］を表示し、入出力データに複数存在する一覧情報形式の場合は当該データ名の後ろに［ｎ］を表示する。この数字が表示されていることにより、アプリケーション開発者はデータの型を知ることができるため、どのような入出力定義で使用できるかについて認識することができる。
【００８１】
データ構造部１２０２に表示された入出力データの選択を受け付けると、コンテキストメニュー（図１３の１３０１）を表示し、選択された入出力データに係る「拡張定義の作成」「データモデル定義の作成」「入出力定義の作成」の実行の受け付けを可能にする。なお、拡張定義とは、Ｗｅｂサービスを呼び出すために利用するマッピングファイルやＷｅｂサービスの操作名等の定義である。
【００８２】
プロパティ一覧部１２０３には、データ構造部１２０２にて選択された入出力データのプロパティ一覧を表示し、データモデルとのマッピングを可能にする。
【００８３】
以上により、ＷＳＤＬファイル１０００の構造を視覚的に表示し、Ｗｅｂサービスの入出力定義をＧＵＩの操作によってＷｅｂアプリケーションの各定義と対応付けることができるため、アプリケーションの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションの入出力定義を容易に構築することができる。
【００８４】
以上で、図１２の説明を終了する。
【００８５】
図６の説明に戻る。
【００８６】
ステップＳ６０２において、データ構造部１２０２にて選択された入出力データのコンテキストメニューのうち、データモデル定義生成メニュー１３０１（図１３）の押下による指示を受け付ける。
【００８７】
ステップＳ６０３において、データモデル定義生成部４７２を用いて、Ｗｅｂサービスを利用するためのデータモデル定義４０３（図１６）を生成する。具体的には、後述する図７にて説明する。
【００８８】
ステップＳ６０４において、データ構造部１２０２にて選択された入出力データのコンテキストメニューのうち、拡張定義生成メニュー１７０１（図１７）の押下による指示を受け付ける。
【００８９】
ステップＳ６０５において、拡張定義生成部４７４を用いて、Ｗｅｂサービスを利用するための拡張定義４０６（図１９）を生成する。具体的には、後述する図８にて説明する。
【００９０】
ステップＳ６０６において、データ構造部１２０２にて選択された入出力データのコンテキストメニューのうち、入出力定義生成メニュー２００１（図２０）の押下による指示を受け付ける。
【００９１】
ステップＳ６０７において、入出力定義生成部４７６を用いて、Ｗｅｂサービスを利用するための入出力定義４０４（図２７）を生成する。具体的には、後述する図９にて説明する。
【００９２】
すなわち、ステップＳ６０１〜ステップＳ６０７は、取得された入力データの定義情報に従ってＷｅｂサービスに対してデータを送信し、取得された出力データの定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００９３】
また、ステップＳ６０１〜ステップＳ６０７は、生成された入力定義情報に従ってＷｅｂサービスに対してデータを送信し、生成された出力定義情報に従ってＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００９４】
また、ステップＳ６０１〜ステップＳ６０７は、対応付けられたデータモデル定義情報を用いてＷｅｂサービスに対してデータを送信する及び／又は対応付けられたデータモデル定義情報を用いてＷｅｂサービスからデータを受信するアプリケーションを構築する処理の一例を示すステップである。
【００９５】
以上のように、ウィザード形式でＷｅｂサービスを利用するアプリケーションに必要なデータを設定することができるため、Ｗｅｂサービスへ接続するための定義の設定に不慣れな開発者にとっても、本発明のようなアプリケーション開発ツールを使用すれば、Ｗｅｂサービスを利用するアプリケーション開発に時間がかかってしまうという問題は解消できるようになる。
【００９６】
図７は、Ｗｅｂサービスを利用するためのデータモデル定義生成のフローチャートである。
ステップＳ７０１において、データモデル定義ウィザード表示部４４４を用いて、データモデル定義生成ウィザード画面１４００（図１４）を表示する。
【００９７】
ここで、図１４のデータモデル定義生成ウィザード画面１４００について説明しておく。データモデル定義生成ウィザード画面１４００は、Ｗｅｂサービスの入出力データのプロパティにマッピングするデータモデル定義を作成する画面である。
【００９８】
データモデル定義生成ウィザード画面１４００には、マッピングファイル解析部４４９を用いてステップＳ５０３にて生成したマッピングファイル４０１（図１１）を解析した結果を表示する。具体的には、図１０の１００４のｎａｍｅの値を「項目コード１４０１」と「名前１４０２」に表示し、図１０の１００４のｔｙｐｅの値を「データタイプ１４０３」に表示する。
【００９９】
以上で、図１４の説明を終了する。
【０１００】
図７の説明に戻る。
【０１０１】
ステップＳ７０２において、Ｆｉｎｉｓｈボタン１４０６（図１４）の押下を受け付けると、データモデル定義生成命令送信部４４３からデータモデル定義生成命令を送信し、データモデル定義生成受信部４７１を用いてデータモデル定義生成命令を受信する。
【０１０２】
ステップＳ７０３において、データモデル定義生成ウィザード画面１４００の各値に基づき、データモデル定義生成部４７２を用いて、図１６のようなデータモデル定義４０３を生成する。生成されたデータモデル定義４０３は、図１５の１５０１のように自動的にマッピングされる。
【０１０３】
以上により、Ｗｅｂサービスの入出力データのプロパティにマッピングするデータモデル定義を作成することができる。
【０１０４】
なお、データモデル定義４０３は、元々、（Ｗｅｂサービスを利用しない）ＷｅｂアプリケーションをＷｅｂアプリケーション開発ツールで開発する際に、データベースのデータを操作しやすくするために用意された定義である。そのデータモデル定義４０３を、Ｗｅｂサービスを利用する際の入出力データのプロパティへのマッピングに用いることで、Ｗｅｂサービスを利用していないアプリケーションを開発するのと同様の仕組みで、Ｗｅｂサービスを利用するアプリケーションを開発することができるようになる。
【０１０５】
つまり、Ｗｅｂサービスへ接続するための定義の設定に不慣れな開発者にとっても、本発明のようなアプリケーション開発ツールを使用すれば、Ｗｅｂサービスを利用するアプリケーション開発に時間がかかってしまうという問題は解消できるようになる。
【０１０６】
以上で、図７の説明を終了する。
【０１０７】
図８は、Ｗｅｂサービスを利用するための拡張定義生成のフローチャートである。
ステップＳ８０１において、拡張定義ウィザード表示部４４６を用いて、拡張定義生成ウィザード画面１８００（図１８）を表示する。
【０１０８】
ここで、図１８の拡張定義生成ウィザード画面１８００について説明しておく。拡張定義生成ウィザード画面１８００では、Ｗｅｂサービスの操作の呼び出しに必要な拡張定義を作成する。拡張定義生成ウィザード画面１８００では、「拡張定義ファイル名１８０１」では保存するためのファイル名、「コード１８０２」では拡張定義を特定するためのＩＤ、「名前１８０３」ではその名前の入力をそれぞれ受け付ける。
【０１０９】
以上で、図１８の説明を終了する。
【０１１０】
図８の説明に戻る。
ステップＳ８０２において、Ｆｉｎｉｓｈボタン１８０４（図１８）の押下を受け付けると、拡張定義生成送信部４４５から拡張定義生成命令を送信し、拡張定義生成受信部４７３を用いて拡張定義生成命令を受信する。
【０１１１】
ステップＳ８０３において、拡張定義生成ウィザード画面１８００の各値に基づき、拡張定義生成部４７４を用いて、図１９のような拡張定義４０６を生成する。拡張定義４０６には、マッピングファイル名１９０１と呼び出す操作名１９０２とが定義されている。
【０１１２】
以上で、図８の説明を終了する。
【０１１３】
図９は、Ｗｅｂサービスを利用するための入出力定義生成のフローチャートである。
ステップＳ９０１において、入出力定義ウィザード表示部４４８を用いて、入出力定義生成ウィザード画面２１００（図２１）を表示する。
【０１１４】
入出力定義生成ウィザード画面（Ｗｅｂサービス呼び出し方法選択）２１００にて、Ｗｅｂアプリケーション開発者は、呼び出すＷｅｂサービスが検索処理などのデータ取得の場合は「入出力の対象条件」を選択し、追加・更新・削除処理の場合は「ビジネスプロセス」を選択する。
【０１１５】
ステップＳ９０２において、入出力定義生成ウィザード画面（Ｗｅｂサービス呼び出し方法選択）２１００にてＷｅｂサービス呼び出し方法の選択を受け付ける。図２１では、「入出力の対象条件」が選択されたとする。
【０１１６】
ステップＳ９０３において、入出力定義生成ウィザード画面（拡張定義選択）（図２２）にて、Ｗｅｂサービス呼び出しに必要な拡張定義の選択を受け付ける。なお、拡張定義コードの選択肢には、リポジトリ定義部４００に存在する拡張定義４０６が表示される。図２２では、ステップＳ８０３（図８）にて生成した拡張定義４０６（図１９）が選択されたとする。
【０１１７】
ステップＳ９０４において、ステップＳ９０２にて選択されたＷｅｂサービス呼び出し方法を判定する。Ｗｅｂサービス呼び出し方法が「ビジネスプロセス」の場合はステップＳ９０５に進み、Ｗｅｂサービス呼び出し方法が「入出力の対象条件」の場合はステップＳ９０６に進む。
【０１１８】
ステップＳ９０５において、Ｗｅｂサービス呼び出しを行うビジネスプロセス定義を生成する。
【０１１９】
ステップＳ９０６において、マッピングファイル４０１で定義されている入力データに対応付けるデータモデル定義４０３の指定を受け付ける（図２３）。
【０１２０】
ここで、図２３について説明しておく。図２３は、入出力定義生成ウィザード画面（入力データの指定）の一例を示す図である。
【０１２１】
入出力定義生成ウィザード画面（入力データの指定）２３００の２３０１〜２３０３には、初期値として、マッピングファイル４０１の入力データ(例えば、図１１の１１０３の情報)を表示する。Ｗｅｂアプリケーション開発者は、データモデルコード２３０４とデータモデル項目コード２３０５を入力することにより、Ｗｅｂサービスの呼び出しに必要な入力データとデータモデル定義４０３とを関連付けることができる。
【０１２２】
以上で、図２３の説明を終了する。
【０１２３】
図９の説明に戻る。
ステップＳ９０７において、マッピングファイル４０１で定義されている出力データに対応付けるデータモデル定義４０３の指定を受け付ける（図２４）。
【０１２４】
ここで、図２４について説明しておく。図２４は、入出力定義生成ウィザード画面（出力データの指定）の一例を示す図である。
【０１２５】
入出力定義生成ウィザード画面（出力データの指定）２４００の２４０１〜２４０３には、初期値として、マッピングファイル４０１の入力データ(例えば、図１１の１１０４の情報)を表示する。また、既にマッピング済の場合は、図２４のようにデータモデルコード２４０４とデータモデル項目コード２４０５が入力された状態で表示される。Ｗｅｂアプリケーション開発者は、データモデルコード２４０４とデータモデル項目コード２４０５を入力または更新することにより、Ｗｅｂサービスから出力される出力データとデータモデル定義４０３とを関連付けることができる。
【０１２６】
なお、Ｗｅｂサービスの呼び出し方法が「ビジネスプロセス」の場合、データモデル生成するチェックボックス２４０６を表示する。Ｗｅｂアプリケーション開発者は、出力データ用に新たなデータモデルを生成する場合、データモデル生成するチェックボックス２４０６にチェックを入れる。
【０１２７】
以上で、図２４の説明を終了する。
【０１２８】
図９の説明に戻る。
ステップＳ９０８において、データモデル生成するチェックボックス２４０６がチェックされているか否かを判定する。チェックされている場合はステップＳ９０９に進み、チェックされていない場合はステップＳ９１０に進む。
【０１２９】
ステップＳ９０９において、入出力定義生成ウィザード画面（出力データの指定）２４００の各値に基づき、データモデル定義生成部４７２を用いて、データモデル定義４０３を生成する。すなわち、ステップＳ９０９は、取得された入力データの定義情報及び／又は出力データの定義情報と、Ｗｅｂアプリケーションが接続するデータベースにおけるデータ操作に用いるデータモデル定義情報とを対応付ける処理の一例を示すステップである。
【０１３０】
ステップＳ９１０において、図２５の入出力定義生成ウィザード画面（入出力定義の生成）２５００にて、生成する入出力画面のコード２５０１と名前２５０２の入力を受け付ける。すなわち、ステップＳ９１０は、取得された入力データの定義情報とアプリケーションが出力する画面情報を生成するために与える入力項目の定義情報、または取得された出力データの定義情報とアプリケーションが出力する画面情報に含まれる出力項目の定義情報とを対応付ける処理の一例を示すステップである。入出力定義生成ウィザード画面（入出力定義の生成）２５００では、図２０にて選択された操作名２００２をコード２５０１に、図２０にて選択された名前２５０２に、それぞれ初期値として表示し、編集可能にすることによって、任意のコードと名前を付けることができる。
【０１３１】
ステップＳ９１１において、図２６の入力定義生成ウィザード画面（定義ファイルの生成確認）２６００を表示し、Ｆｉｎｉｓｈボタン２６０１の押下を受け付けると、入出力定義生成送信部４４７から入出力定義生成命令を送信し、入出力定義生成受信部４７５を用いて入出力定義生成命令を受信する。
【０１３２】
ステップＳ９１２において、図２１から図２６の入出力定義生成ウィザード画面を介して設定された入出力定義に基づき、入出力定義生成部４７６を用いて、図２７のような入出力定義を生成する。すなわち、ステップＳ９１２は、取得された入力データ定義情報に従って、アプリケーションの画面を介して入力される項目を定義する入力定義情報を生成し、取得された出力データ定義情報に従って、アプリケーションの画面に出力する項目を定義する出力定義情報を生成する処理の一例を示すステップである。
【０１３３】
ここで、図２７について説明しておく。
【０１３４】
図２７は、図２１から図２６の入出力定義生成ウィザード画面を介して設定・生成された入出力定義の一例を示す図である。
【０１３５】
Ｗｅｂサービスの呼び出しに必要な入力データは項目タイプ２７０１＝“Ｉ  入力”として生成され、Ｗｅｂサービスから出力される出力データは項目タイプ２７０１＝“Ｏ  出力”として生成される。また、出力データには、マッピングされているデータモデル定義４０３が表示されている。
【０１３６】
本実施例では、図２３にて指定された項目は２７０２のように生成され、図２４にて指定された項目は２７０３のように生成される。また、図２１にて「入出力の対象条件」を選択したため、Ｗｅｂサービスを呼び出すトリガーとしてアクション２７０４が生成される。
【０１３７】
以上で、図９の説明を終了する。
【０１３８】
以上により、アプリケーションの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションの入出力定義を容易に構築することができる。
【０１３９】
なお、入出力定義４０４、元々、（Ｗｅｂサービスを利用しない）アプリケーションをアプリケーション開発ツールで開発する際に、画面に対しての入力項目、画面での出力項目を設定しやすくするために用意された定義である。その入出力定義４０４を、Ｗｅｂサービスを利用する際の入出力データに用いることで、Ｗｅｂサービスを利用していないアプリケーションを開発するのと同様の仕組みで、Ｗｅｂサービスを利用するアプリケーションを開発することができるようになる。つまり、Ｗｅｂサービスへ接続するための定義の設定に不慣れな開発者にとっても、本発明のようなアプリケーション開発ツールを使用すれば、Ｗｅｂサービスを利用するアプリケーション開発に時間がかかってしまうという問題は解消できるようになる。
【０１４０】
図２８は、生成したＷｅｂアプリケーションの実行結果（Ｗｅｂサービス連携結果）の一例を示す図である。
アプリケーションクライアント１０４から送信されたＱＵＥＲＹボタン２８０１の押下信号を受信したアプリケーションサーバ１０５は、図８のステップＳ８０３にて生成した拡張定義４０６（図１９）を呼び出し、拡張プロパティ（図１９の１９０１と１９０２）に定義されている、図５のステップＳ５０３にて生成したマッピングファイル４０１（図１１および図１５）の設定に従い、Ｗｅｂサービスの操作を呼び出す。
【０１４１】
アプリケーションサーバ１０５は、Ｗｅｂサービスから出力される出力データをマッピングファイル４０１の設定に従い、図７にて設定・生成されたデータモデル定義４０３（図１６）にバインドし、当該データモデル定義４０３と図９のステップＳ９１２にて生成した入出力定義４０４とを用いて、Ｗｅｂサービスの利用結果を表示する画面情報を生成し、アプリケーションクライアント１０４に送信し、アプリケーションクライアント１０４が結果画面を表示する（図２８）。
これにより、ソースコードを記述しなくてもＷｅｂサービスを利用するアプリケーションを生成することができるため、アプリケーションの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に構築することができる。よって、Ｗｅｂサービスへ接続するための定義の設定に不慣れな開発者にとっては多くの学習時間を要するという問題、上記のようなアプリケーション開発ツールを活用しても、Ｗｅｂサービスを利用するアプリケーション開発には時間がかかってしまうという問題を解決することができる。
【０１４２】
〔第２の実施形態〕
第１の実施形態は、Ｗｅｂサービスの定義情報（ＷＳＤＬファイル）を用いて、そのＷｅｂサービスを利用するアプリケーションの定義情報（入出力定義、データモデル定義など）を生成し、アプリケーションのプログラムを生成することで、当該アプリケーションを容易に構築する仕組みである。
【０１４３】
一方、第１の実施形態のような、ユーザによって設定された各定義情報を用いてアプリケーションのプログラムを生成する開発ツール以外にも、プログラムを生成せずにユーザによって設定された各定義情報に従って動作するアプリケーションを提供する仕組みもある。例えば、ブラウザ等を介して、クラウド上でユーザにアプリケーションの設定をさせ、その設定に従って動作するアプリケーションを提供する仕組み等が挙げられる。
【０１４４】
第２の実施形態は、そのようなアプリケーション提供システムにおいて、Ｗｅｂサービスの定義情報（ＷＳＤＬファイル）を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に提供する仕組みである。
よって、第２の実施形態では、プログラム開発装置１０１は、プログラムを開発する装置ではないため、アプリケーション構築装置と読み替える。
【０１４５】
この場合、図５のステップＳ５０３〜ステップＳ５０６は不要である。つまり、第１の実施形態で説明したデータモデル定義４０３、入出力定義４０４、ビジネスプロセス定義４０５、拡張定義４０６はファイルとして生成する必要はなく、例えばデータベースにデータモデル項目、入出力項目、ビジネスプロセス項目、拡張項目等のように記憶し、アプリケーション提供システムはそれらの項目に従って動作するアプリケーションを提供する。
これにより、Ｗｅｂサービスの定義情報（ＷＳＤＬファイル）を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に提供することができる。
【０１４６】
〔第３の実施形態〕
第１の実施形態は、Ｗｅｂサービスの定義情報（ＷＳＤＬファイル）を用いて、そのＷｅｂサービスを利用するアプリケーションの定義情報（入出力定義、データモデル定義など）を生成し、アプリケーションのプログラムを生成することで、当該アプリケーションを容易に構築する仕組みである。
【０１４７】
一方、第１の実施形態のように、Ｗｅｂサービスの定義情報を指定して、そのＷｅｂサービスを利用するアプリケーションの定義情報を生成する以外にも、アプリケーション開発ツールで生成した既存のアプリケーション又は第２の実施形態のようなアプリケーション提供システムで構築した既存のアプリケーションのレイアウト設計画面を用いて、既存のアプリケーションの画面レイアウトにＷｅｂサービスへアクセスするための部品を配置し、その部品の設定を行うことでＷｅｂサービスへのアクセスを可能にする仕組みも考えられる。
【０１４８】
第３の実施形態は、このように既存のアプリケーションの画面レイアウトにＷｅｂサービスへアクセスするための部品を配置することにより、Ｗｅｂサービスを利用するアプリケーションを容易に提供する仕組みである。
【０１４９】
よって、第３の実施形態では、プログラム開発装置１０１は、プログラムを開発する装置又はアプリケーション構築装置と読み替える。
【０１５０】
なお、この実施形態においては、生成または構築するアプリケーションはＷｅｂアプリケーションとしたが、Ｗｅｂアプリケーションに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、ＷｅｂサービスとのやりとりにはＷｅｂによる通信を利用するが、主としてＷｅｂによる通信を利用しないアプリケーションであってもよい。
【０１５１】
図２９は、第３の実施形態に係るアプリケーションレイアウト設計画面にＷｅｂサービスアクセス部品を配置するフローチャートの一例を示す図である。
図３０は、第３の実施形態に係るアプリケーションレイアウト設計画面３０００の一例を示す図である。アプリケーションレイアウト設計画面３０００は、プログラム開発装置１０１を用いて、生成または構築されたアプリケーションの画面レイアウトを設計する画面である。
【０１５２】
ステップＳ２９０１において、プログラム開発装置１０１は、開発者による既存のアプリケーション画面３００１に対する指示を受け付けると、レイアウト設計画面３００２に既存のアプリケーション画面３００１のレイアウトを表示する。すなわち、ステップＳ２９０１は、アプリケーションの画面のレイアウト設計を受け付けるレイアウト設計画面を表示する処理の一例を示すステップである。
【０１５３】
ステップＳ２９０２において、プログラム開発装置１０１は、開発者によるＷｅｂサービスアクセス部品３００３の３００４へのドラッグ＆ドロップ操作を受け付けると、３００４の位置にＷｅｂサービスアクセス部品３００３を配置する。すなわち、ステップＳ２９０２は、表示されたレイアウト設計画面において、Ｗｅｂサービスへアクセスするための部品の配置を受け付ける処理の一例を示すステップである。ここでは、「天気予報」を表示欄に天気情報を提供するＷｅｂサービスへアクセスする部品を配置する。
【０１５４】
ステップＳ２９０３において、プログラム開発装置１０１は、配置されたＷｅｂサービスアクセス部品３００３の設定を受け付ける設定画面（不図示）を表示し、設定を受け付ける。すなわち、ステップＳ２９０３は、配置を受け付けた部品の設定を受け付ける処理の一例を示すステップである。
【０１５５】
ステップＳ２９０４において、プログラム開発装置１０１は、Ｗｅｂアプリケーション生成処理（図５）を行う。具体的には、Ｗｅｂサービスアクセス部品３００３の設定画面において、アクセスするＷｅｂサービスの定義情報（ＷＳＤＬファイル）のＵＲＬ及びＷｅｂサービスへ入力する入力データ（ここでは、仕入日３００５）の指定を受け付け、Ｗｅｂサービスの定義情報を読み込み解析し、当該Ｗｅｂサービスを利用するＷｅｂアプリケーションを生成する。
【０１５６】
なお、本実施形態においては、図５のステップＳ５０４にて、図６のステップＳ６０１〜ステップＳ６０７に含まれる、データモデル定義生成処理（図７）、拡張定義生成処理（図８）、入出力定義生成処理（図９）を行うことでＷｅｂサービスを利用するアプリケーションを構築するとしたが、この方法に限定するものではなく、図６〜図９の処理を行わず、Ｗｅｂサービスアクセス部品３００３の設定画面において設定した「仕入日３００５」のような画面入力項目をＷｅｂサービスへ入力する入力データ定義情報としてＷｅｂサービスを実行し、Ｗｅｂサービスから出力される出力データを用いてＷｅｂサービスアクセス部品３００３の配置位置に表示するとしてもよい。
以上で、図２８及び図２９の説明を終了する。
【０１５７】
図３１は、第３の実施形態により生成したＷｅｂアプリケーションの実行結果（Ｗｅｂサービス連携結果）の一例を示す図である。
【０１５８】
アプリケーションクライアント１０４から送信された「仕入日３００５」の値を受信したアプリケーションサーバ１０５は、図８のステップＳ８０３にて生成した拡張定義４０６（図１９）を呼び出し、拡張プロパティ（図１９の１９０１と１９０２）に定義されている、図５のステップＳ５０３にて生成したマッピングファイル４０１（図１１および図１５）の設定に従い、Ｗｅｂサービスの操作を呼び出す。
【０１５９】
アプリケーションサーバ１０５は、Ｗｅｂサービスから出力される出力データ（天気予報情報。例えば、“晴れ  ３０℃”）をマッピングファイル４０１の設定に従い、図７にて設定・生成されたデータモデル定義４０３（図１６）にバインドし、当該データモデル定義４０３と図９のステップＳ９１２にて生成した入出力定義４０４とを用いて、Ｗｅｂサービスの利用結果を表示する画面情報（天気予報３１０２）を生成し、アプリケーションクライアント１０４に送信し、アプリケーションクライアント１０４が結果画面を表示する（図３１）。
【０１６０】
よって、このＷｅｂアプリケーションのユーザは、仕入日３１０１の天気予報３１０２を見ながら、仕入れる商品３１０３を入力することができるようになる。
【０１６１】
すなわち、第３の実施形態におけるステップＳ６０１〜ステップＳ６０７は、受け付けた設定に従ってＷｅｂサービスにアクセスし、受け付けた部品の位置に対応するアプリケーションの画面の位置に当該Ｗｅｂサービスから出力された出力データを用いた情報を表示するアプリケーションを構築する処理の一例を示すステップである。
【０１６２】
これにより、アプリケーションの定義情報を用いて、（ここでは「仕入日３００５」のような画面入力項目）を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に構築することができる。つまり、Ｗｅｂサービスに引数を渡し、Ｗｅｂサービスからある情報を得るというだけの小さい及び／又は単純なＷｅｂサービス（例えば、ここで挙げた「天気予報サービス」）へアクセスする部品を配置して設定するだけで、Ｗｅｂサービスを利用するアプリケーションを容易に構築することができる。
【０１６３】
よって、Ｗｅｂサービスへ接続するための定義の設定に不慣れな開発者にとっては多くの学習時間を要するという問題、上記のようなアプリケーション開発ツールを活用しても、Ｗｅｂサービスを利用するアプリケーション開発には時間がかかってしまうという問題を解決することができる。
【０１６４】
なお、本実施形態においては、ＷｅｂアプリケーションとＷｅｂサービスの通信に「拡張定義４０６」「マッピングファイル４０１」「データモデル定義４０３」を用いるとしたが、この方法に限定するものではなく、異なる定義を用いたり、これらの定義を用いずにＷｅｂサービスアクセス部品３００３の設定画面において、Ｗｅｂサービスの定義情報のＵＲＬ及び「仕入日３００５」のような画面入力項目を設定に従ってＷｅｂサービスを実行し、Ｗｅｂサービスから出力される出力データを用いてＷｅｂサービスアクセス部品３００３の配置位置に表示したりしてもよい。
【０１６５】
なお、本実施形態においては、Ｗｅｂサービスの例として「天気予報サービス」を挙げたが、これに限定するものではなく、日時を受信してニュース情報を返信する「ニュース提供サービス」や、商品ＩＤを受信して当該商品を返信する「商品情報提供サービス」などであってもよい。
以上により、アプリケーションの定義情報を用いて、そのＷｅｂサービスを利用するアプリケーションを容易に構築することができる。
【０１６６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１６７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１６８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１６９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７１】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１７２】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１７３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１７４】
１０１  プログラム開発装置
１０２  プログラム開発サーバ
１０３  データベースサーバ
１０４  アプリケーションクライアント
１０５  アプリケーションサーバ
１０６  ネットワーク
【図１】
2018106747.tif 000003
【図２】
2018106747.tif 000004
【図３】
2018106747.tif 000005
【図４】
2018106747.tif 000006
【図５】
2018106747.tif 000007
【図６】
2018106747.tif 000008
【図７】
2018106747.tif 000009
【図８】
2018106747.tif 000010
【図９】
2018106747.tif 000011
【図１０】
2018106747.tif 000012
【図１１】
2018106747.tif 000013
【図１２】
2018106747.tif 000014
【図１３】
2018106747.tif 000015
【図１４】
2018106747.tif 000016
【図１５】
2018106747.tif 000017
【図１６】
2018106747.tif 000018
【図１７】
2018106747.tif 000019
【図１８】
2018106747.tif 000020
【図１９】
2018106747.tif 000021
【図２０】
2018106747.tif 000022
【図２１】
2018106747.tif 000023
【図２２】
2018106747.tif 000024
【図２３】
2018106747.tif 000025
【図２４】
2018106747.tif 000026
【図２５】
2018106747.tif 000027
【図２６】
2018106747.tif 000028
【図２７】
2018106747.tif 000029
【図２８】
2018106747.tif 000030
【図２９】
2018106747.tif 000031
【図３０】
2018106747.tif 000032
【図３１】
2018106747.tif 000033