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