(57)【要約】【課題】Ｗｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供すること【解決手段】アプリケーションを構築する情報処理装置であって、Ｗｅｂサービスから取得した戻り値のデータ構造を要素単位で識別可能に表示部に表示する表示制御手段と、表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付手段と、を有することを特徴とする。【選択図】図５
2019125308.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを構築する情報処理装置であって、
Ｗｅｂサービスから取得した戻り値のデータ構造を要素単位で識別可能に表示部に表示する表示制御手段と、
前記表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記データ構造における要素同士の階層構造を識別可能に表示部に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記データ構造に同一の要素が存在するか否かを識別可能に表示部に表示することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記データ構造の要素のうち単一で存在する要素と複数存在する要素とを識別可能に表示部に表示することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記入力受付手段は、前記表示部に表示されたデータ構造を要素単位で削除するための入力を受け付けることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記Ｗｅｂサービスから取得した戻り値は、ＸＭＬ形式またはＪＳＯＮ形式の少なくともいずれか一方を含むことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記Ｗｅｂサービスから取得した戻り値は、ＲＥＳＴによる通信を用いて取得されたデータであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
アプリケーションを構築する情報処理装置の制御方法であって、
Ｗｅｂサービスから取得した戻り値のデータ構造を要素単位で識別可能に表示部に表示する表示制御工程と、
前記表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを請求項１乃至７のいずれか１項に記載の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、入出力定義やデータモデル定義などを設定し、Ｗｅｂアプリケーションを構築するＷｅｂアプリケーション開発ツールが存在する。
【０００３】
また、一般に公開されているサーバにて提供される機能やリソースを活用するＷｅｂサービスの利用も高まっており、複数のＷｅｂサービスを組み合わせることによって、統合的なＷｅｂアプリケーションを作成することができる。Ｗｅｂサービスの一例として、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）などのインターネット関連技術を応用して、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）と呼ばれるＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のプロトコルを用いてメッセージの送受信を行うサービスがある。このＷｅｂサービスを呼び出すＷｅｂサービスクライアント（クライアントアプリケーション）には、公開されているＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）が利用される。ＷＳＤＬは、Ｗｅｂサービスを記述している言語である。
【０００４】
特許文献１には、ＷＳＤＬ等で記載されたＷｅｂサービスの定義情報を用いて、マッピングファイルと呼ばれる（データモデルとＷｅｂサービスの入出力データを対応付ける）定義ファイルを生成するＷｅｂアプリケーション開発ツールの仕組みが示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−５９７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＳＯＡＰにおけるＷＳＤＬのようにサービスの構造を定義しているものが存在しないＲＥＳＴのようなプロトコルも存在する。したがって、このようなプロトコルを用いてＷｅｂサービスのリソースをユーザが取得しアプリケーションを開発する場合には、ＷＳＤＬのような既存の定義を利用してマッピングファイルを作成することは困難であった。
【０００７】
そこで本発明は、上記課題に鑑みてなされたものであり、Ｗｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供することである。
【課題を解決するための手段】
【０００８】
そこで、本発明は、アプリケーションを構築する情報処理装置であって、Ｗｅｂサービスから取得した戻り値のデータ構造を要素単位で識別可能に表示部に表示する表示制御手段と、前記表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、Ｗｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態における情報処理システムの一例を示す図である。
【図２】本実施形態における情報処理システムの各構成に適用可能なハードウェア構成の一例を示す図である。
【図３】本実施形態におけるプログラム開発装置の機能構成を示す図である。
【図４】本実施形態におけるプログラム開発装置の機能構成を示す図である。
【図５】マッピングファイルを生成するためのフローチャートの一例である。
【図６】マッピングルールを生成するためのフローチャートの一例である。
【図７】マッピングファイルの表示画面の一例を示す図である。
【図８】マッピングファイルの編集画面の一例を示す図である。
【図９】データモデル定義の表示画面の一例を示す図である。
【図１０】マッピングファイルの編集画面の一例を示す図である。
【図１１】ＲＥＳＴ通信メッセージの一例を示す図である。
【図１２】マッピングファイルの一例を示す図である。
【図１３】ＸＭＬ形式のメッセージから生成されたマッピングファイルとデータモデル定義との関係を示す図である。
【図１４】ＪＳＯＮ形式のメッセージから生成されたマッピングファイルとデータモデル定義との関係を示す図である。
【図１５】Ｗｅｂアプリケーション／Ｗｅｂサービス生成のフローチャートの一例である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を、図面を参照して詳細に説明する。
【００１２】
図１は、本実施形態に係わるプログラム開発装置（開発者がアプリケーションの構築のために使用する情報処理装置）、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント（クライアント装置）、アプリケーションサーバの構成の一例を示すシステム（情報処理システム）構成図である。
【００１３】
プログラム開発装置１０１は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置１０１単体では、開発者の入力受付を行い、後述するプログラム開発サーバ１０２に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム開発装置１０１単体でプログラム生成、アプリケーション生成まで処理してもよい。
【００１４】
なお、本実施形態においては、プログラム開発装置１０１で生成するアプリケーションはＷｅｂアプリケーションを一例として説明するが、これに限定されるものではない。アプリケーションには、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなどのＷｅｂ技術による通信を利用しないアプリケーションを含まれる。また、アプリケーションは、Ｗｅｂサービスも含まれる。
【００１５】
更に、本実施形態においては、プログラム開発装置１０１はアプリケーションのプログラムを生成するものとして説明するが、この方法に限定するものではない。例えば、プログラム開発装置１０１はプログラムを生成することなく、プログラム開発サーバ１０２やクラウド環境等でアプリケーションが動作する様にアプリケーション環境を構築する方法であってもよい。
【００１６】
また、以下の説明では、ＳＯＡＰにおけるＷＳＤＬのようにＷｅｂサービスの構造を定義しているものが存在しないプロトコルの一態様としてＲＥＳＴを例に説明するが、これに限られるものではない。
【００１７】
プログラム開発サーバ１０２ａ〜１０２ｂ（情報処理装置）は、プログラム開発装置１０１により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ１０２ａはＬＡＮなどのネットワーク１０６内に配置されてもよいし、プログラム開発サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００１８】
データベースサーバ１０３ａ〜１０３ｂ（情報処理装置）は、開発されたアプリケーションが使用するデータベースであり、開発の際に動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ１０３は、プログラム開発装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０６内に配置されてもよい（データベースサーバ１０３ａ）。またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、プログラム開発装置１０１が、プログラム開発サーバ１０２と協調する場合には、プログラム開発サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００１９】
アプリケーションサーバ１０５ａ〜１０５ｂ（情報処理装置）は、プログラム開発装置１０１で開発されたアプリケーションを実行する。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションサーバ１０５ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションサーバ１０５ｂ）。また、ネットワーク１０６、インターネット、クラウド上のデータベースサーバ１０３と接続して動作する可能である。
【００２０】
アプリケーションクライアント１０４ａ〜１０４ｂ（情報処理装置）は、アプリケーションサーバ１０５と協調してプログラム開発装置１０１で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションクライアント１０４ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションクライアント１０４ｂ）。また、情報処理装置は、携帯端末やタブレット型の端末であってもよい。
【００２１】
図２は、本実施形態に係わるプログラム開発装置１０１、プログラム開発サーバ１０２、データベースサーバ１０３、アプリケーションクライアント１０４、アプリケーションサーバ１０５として適用可能な各ハードウェア構成の一例を示すブロック図である。
【００２２】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２３】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【００２４】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２５】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
【００２６】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。つまり、出力部２１０は、画面を表示する表示部としての機能を備える。この場合、ＣＰＵ２０１は、出力コントローラ２０６を介して表示部の表示を制御することが可能である。換言すると、ＣＰＵ２０１は、表示制御手段の一態様である。
【００２７】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００２８】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００２９】
図３および図４を用いて、プログラム開発装置１０１の機能構成を説明する。なお、プログラム開発装置１０１における各機能は、プログラム開発装置１０１のＣＰＵ２０１により実行されるものである。また、ＣＰＵ２０１によって実行されるプログラム２１２は、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされる。つまり、各機能は、ＣＰＵ２０１とメモリ（ＲＡＭ２０２）とが協業することにより実現される。
【００３０】
プログラム開発装置１０１は、Ｗｅｂアプリケーションを開発する開発者により設定されたリポジトリ定義部３０４の各定義を用いて、Ｗｅｂアプリケーション生成部３０６によりＷｅｂアプリケーション４４０を生成する。当該処理については、図１５を用いて後述する。
【００３１】
プログラム開発装置１０１は、入力受付部３０１と、マッピングファイル編集部３０２と、マッピングルール生成部３０３と、リポジトリ定義部３０４と、表示制御部３０５と、Ｗｅｂアプリケーション生成部３０６とを含む。
【００３２】
入力受付部３０１は、ユーザによる各表示画面への入力操作を受け付ける機能部である。入力受付部３０１は、本実施形態において、後述する図７〜図１０に表示される各表示画面への入力操作を受け付ける。
【００３３】
リポジトリ定義部３０４は、アプリケーション定義４０１、入出力定義４０２、データモデル定義４０３、ビジネスプロセス定義４０４、拡張定義４０５、マッピングファイル４０６、を備える。これらの定義・ファイルは、入力受付部３０１で受け付けた入力内容を基に生成される。
【００３４】
入出力定義４０２は、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する。具体的に、入力定義情報は、生成されたＷｅｂアプリケーションの画面を介して当該Ｗｅｂアプリケーションのユーザが入力する入力項目を定義した情報である。また、出力定義情報は、生成されたＷｅｂアプリケーションの画面として出力する出力項目を定義した情報である。
【００３５】
データモデル定義４０３は、データベースのスキーマ情報（すなわち、項目の属性や名称、桁数）を管理する情報である。
【００３６】
ビジネスプロセス定義４０４は、業務フローを管理する情報である。
【００３７】
拡張定義４０５は、マッピングファイル４０６を呼び出すための定義である。また、拡張定義４０５は入出力定義４０２から呼び出されて用いられる。
【００３８】
マッピングファイル４０６は、Ｗｅｂサービスの入出力データ項目と、Ｗｅｂアプリケーションの取り扱うデータモデルのデータ項目とを対応付けるファイルである。また、マッピングファイル４０６は、外部のＷｅｂサービスをＲＥＳＴにより取得したデータ（リソース）とデータモデル定義４０３を対応づけるものである。なお、以下の説明では、マッピングファイルのテンプレートとは、マッピングファイルに対してマッピングルールおよびデータモデル定義とが対応づけられていないファイルを示す。また、マッピングルールは、ＲＥＳＴ通信メッセージを解析し、マッピングファイルに対応づけが可能となったデータを示す。ここで、ＲＥＳＴ通信メッセージとは、ＲＥＳＴによって取得されたＷｅｂサービスの戻り値を示す。また、本実施形態において、ＲＥＳＴ通信メッセージは、なお、本実施形態では、ＲＥＳＴ通信メッセージは、アプリケーション作成者であるユーザがブラウザなどを用いて取得し、プログラム開発装置１０１に入力する。データを記述するためフォーマットの一例として、ＸＭＬ形式、およびＪＳＯＮ形式の場合を例に説明するが、これに限られるものでない。
【００３９】
マッピングファイル編集部３０２は、マッピングファイルの生成・編集を行うとともに、編集したマッピングファイルとデータモデル定義４０３との対応づけを行う機能部である。マッピングファイル編集部３０２は、マッピングファイルＧＵＩ表示部４２１と、マッピングファイル生成部４２２と、マッピングファイル更新部４２３と、を備える。
【００４０】
マッピングファイルＧＵＩ表示部４２１は、データを表示制御部３０５で表示可能なＧＵＩを生成するための機能部である。マッピングファイルＧＵＩ表示部４２１は、図１１から図１４で示すように記述されたデータを、図７から図１０で示す各表示画面を生成する。マッピングファイルＧＵＩ表示部４２１で生成された画面は、表示制御部３０５により表示される。
【００４１】
マッピングファイル生成部４２２は、ユーザからの指示に応じてマッピングファイルを生成する機能部である。図７の７１０は、マッピングファイルＧＵＩ表示部４２１で生成されたマッピングファイルの一態様であり、図１２の１２００は、マッピングファイルの一態様である。
【００４２】
マッピングファイル更新部４２３は、ユーザからの、図７〜図１０に表示される各表示画面への入力操作に応じてマッピングファイルを更新する機能部である。ここで、マッピングファイルの更新は、マッピングルールが対応づけられたマッピングファイルの一部の要素を削除する態様を含む。
【００４３】
マッピングルール生成部３０３は、ＲＥＳＴ通信メッセージの取得・解析を行うことによりマッピングルールの生成を行う。マッピングルール生成部３０３は、ＲＥＳＴ通信メッセージ取得部４３１と、ＲＥＳＴ通信メッセージ解析部４３２とを備える。
【００４４】
ＲＥＳＴ通信メッセージ取得部４３１は、ＲＥＳＴによってＷｅｂサービスの戻り値を取得する。Ｗｅｂサービスの戻り値は、例えば、図１１の１１００、および１１１０で示すデータである。ＲＥＳＴ通信メッセージ取得部４３１は、図７の取得部７４１に入力されたＲＥＳＴ通信メッセージを取得することができる。
【００４５】
ＲＥＳＴ通信メッセージ解析部４３２は、ＲＥＳＴ通信メッセージ取得部４３１で取得した戻り値のデータ構造を解析する。なお、当該解析処理については、図６を用いて後述する。また、当該解析処理の結果表示される画面については、図８，１０を用いて後述する。
【００４６】
表示制御部３０５は、後述する図７〜図１０に表示される各表示画面の表示を制御する機能部である。具体的には、表示制御部３０５は、マッピングファイル生成部４２２で生成されたマッピングファイルの表示画面、およびマッピングファイル編集部３０２で編集されたマッピングファイルの表示画面を表示する。
【００４７】
Ｗｅｂアプリケーション生成部３０６は、リポジトリ定義部３０４に基づきＷｅｂアプリケーションを生成する機能を備える。Ｗｅｂアプリケーション生成部３０６は、リポジトリ定義解析部４６１と、Ｗｅｂアプリケーションコード生成部４６２とを備える。
【００４８】
リポジトリ定義解析部４６１は、リポジトリ定義部３０４の各定義を読み込み解析する。Ｗｅｂアプリケーションコード生成部４６２は、当該解析した定義を用いてソースコードを生成する。Ｗｅｂアプリケーション生成部３０６は、ソースコードコンパイル部４１０を介し、Ｗｅｂアプリケーション４４０としてプログラムを生成することができる。
【００４９】
Ｗｅｂアプリケーション４４０は、コンパイルＪａｖａ（登録商標）コード４４１とＨＴＭＬ／ＪＳＰ／ＪａｖａＳｃｒｉｐｔ（登録商標）４４２とを含む。
【００５０】
次に、図５を用いて、マッピングファイルを生成するための処理を説明する。図５は、マッピングファイルを生成するためのフローチャートの一例である。プログラム開発装置１０１の各機能部により実行される。
【００５１】
Ｓ５０１において、プログラム開発装置１０１は、マッピングファイルの作成指示を取得する。当該作成指示は、ユーザによる入力操作により取得される。
【００５２】
Ｓ５０２において、プログラム開発装置１０１は、マッピングファイルのテンプレートを作成する。当該マッピングファイルのテンプレートの一例を図１２に示す。図１２のマッピングファイル１２００は、マッピングファイルのテンプレートをＸＭＬ形式で表示したものである。そして、マッピングファイル１２００をＧＵＩで表示したものを図７の７１０に示す。ここで、図７のマッピングファイル表示画面７１０について説明する。マッピングファイル表示画面７１０は、操作一覧部７１１を含み、マッピングファイル１２００の内容をユーザが認識しやすい態様で表示する。操作一覧部７１１の各項目は、ＲＥＳＴでの呼び出し方法を定義するための項目である。具体的には、操作一覧部７１１は、コード７１２、操作名７１３、ＵＲＬパス７１４、ＨＴＴＰメソッド７１５、メッセージ形式７１６の入力を受け付ける。
【００５３】
コード７１２および操作名７１３は、それぞれ、ＲＥＳＴ操作を識別するコード、および名称である。ＵＲＬパス７１４は、ＲＥＳＴによる通信で呼び出すＷｅｂサービスのＵＲＬを示す。ＨＴＴＰメソッド７１５は、ＨＴＴＰにおけるメソッドを示し、例えば、ＧＥＴ、ＰＯＳＴ、ＰＵＴ、ＤＥＬＥＴＥのいずれか１つから選択することができる。メッセージ形式７１６は、ＲＥＳＴによる通信で取得するメッセージの形式を示し、ＸＭＬ形式、およびＪＳＯＮ形式のいずれか１つから選択することができる。なお、これらの各選択項目は一例であり、ＲＥＳＴでの呼び出し方法を定義するための項目の一態様であり、これに限られるものでない。
【００５４】
マッピングファイル表示画面７１０における１つの行は、１つのＷｅｂサービスの呼び出し方法を定義している。そのため、ユーザは、マッピングファイル表示画面７１０から複数のＷｅｂサービスの呼び出し方法の定義を行うことが可能である。つまり、１つのＷｅｂアプリケーションに対して、複数のＷｅｂサービスを使用することも可能である。
【００５５】
また、タブ７１７は、プログラム開発装置１０１で生成するＷｅｂアプリケーションと、利用するＷｅｂサービスの入出力関係を規定する。タブ７１７で「入力」が選択されている場合、Ｗｅｂサービスのリソースを、生成したＷｅｂアプリケーションが使用する。一方、タブ７１７で「出力」が選択されている場合、生成したＷｅｂアプリケーションを、Ｗｅｂサービスとして利用させる場合を示す。
【００５６】
Ｓ５０３において、プログラム開発装置１０１は、マッピングルールを生成する。なお、当該マッピングルールの生成処理については、図６を用いて詳細に説明する。
【００５７】
Ｓ５０４において、プログラム開発装置１０１は、マッピングファイルの編集画面を表示する。ここで、図８を用いてマッピングファイルの編集画面について説明する。図８の編集画面８００および編集画面８１０は、マッピングファイルを編集を受け付けるための表示画面である。編集画面８００は、図７のマッピングファイル表示画面７２０で表示されるマッピングファイルのテンプレートに、Ｓ５０３で生成されたマッピングルールが対応づけて表示された画面である。なお、編集画面８００は、ＲＥＳＴ通信メッセージ１１００から生成されたマッピングルールの編集画面である。また、編集画面８１０は、ＲＥＳＴ通信メッセージ１１１０から生成されたマッピングルールの編集画面である。以下、編集画面８００を用いて各項目について説明するが、編集画面８１０についても同様である。ここで、編集画面８００は、マッピングルールのデータ構造を、要素単位で識別可能に表示している。また、編集画面８００は、各要素の要素数も識別可能に表示している。一例として、編集画面８００において、要素８０４の子要素は、要素８０５である。編集画面８００は、各要素単位で編集、削除するための入力操作を受け付ける。
【００５８】
Ｓ５０５において、プログラム開発装置１０１は、マッピングルールの編集指示を受け付ける。ここで、編集画面８００から要素８０７の削除を受け付ける。編集画面８００は、行単位あるいはプロパティ単位で削除のための操作入力を受け付ける。図１０における編集画面１０００は、編集画面８００から要素８０７が削除された後の編集画面である。編集画面８００から所定の要素（要素８０７）が削除されることにより、当該削除された要素よりも下の階層にある要素が編集画面上で繰り上がって表示される。同様に、図１０における編集画面１０１０は、編集画面８１０から要素８１２が削除された後の編集画面である。このため、編集画面は、編集の操作に応じてマッピングファイルの構造をより見やすく表示することができる。
【００５９】
Ｓ５０６において、プログラム開発装置１０１は、マッピングルールとデータモデルコードとを対応づける。図１０における編集画面１０００は、編集画面８００にデータモデル定義１００１の対応づけがされた状態を示す。また、同様に、図１０における編集画面１０１０は、編集画面８１０にデータモデル定義１０１１の対応づけがされた状態を示す。ここで、対応づけられたデータモデル定義は、図９に示すデータモデル定義表示画面９００で示す定義である。データモデル定義表示画面９００において、データモデル９０１を一覧で表示する表示画面である。
【００６０】
次に、図６を用いて、マッピングルールを生成するためのフローを説明する。図６は、マッピングルールを生成するためのフローチャートの一例である。
【００６１】
Ｓ６０１において、プログラム開発装置１０１は、図７のマッピングファイル表示画面７１０における操作一覧部７１１への入力を受け付ける。図７のマッピングファイル表示画面７２０は、操作一覧部７１１に各項目が入力された後の画面である。ここで、図１２を用いて、マッピングファイル１２１０およびマッピングファイル１２２０について説明する。マッピングファイル１２１０およびマッピングファイル１２２０は、マッピングファイル１２００に、操作一覧部７１１を介して各種情報が入力された後のマッピングファイルである。ここで、マッピングファイル１２１０は、メッセージ形式７１６でＸＭＬ形式が選択された場合のマッピングファイルである。また、マッピングファイル１２２０は、メッセージ形式７１６でＪＳＯＮ形式が選択された場合のマッピングファイルである。
【００６２】
Ｓ６０２において、プログラム開発装置１０１は、ＲＥＳＴ通信メッセージを受け付ける。プログラム開発装置１０１は、コンテキストメニュー表示７３０からＲＥＳＴ通信メッセージを読み込む旨の選択を受け付ける。プログラム開発装置１０１は、当該選択を受け付けたことに応じて入力ボックス７４０を表示する。入力ボックス７４０は、ＲＥＳＴ通信メッセージの入力を受け付けるための取得部７４１を備える。プログラム開発装置１０１は、取得部７４１にメッセージが入力され、「ＯＫ」ボタンが押下されることによりＲＥＳＴ通信メッセージを受け付ける。ここで、ＲＥＳＴ通信メッセージの一例について、図１１を用いて説明する。図１１における１１００は、ＸＭＬ形式で取得したＲＥＳＴ通信メッセージの一例である。また、図１１における１１１０は、ＪＳＯＮ形式で取得したＲＥＳＴ通信メッセージの一例である。なお、以下の説明では、ＲＥＳＴ通信メッセージ１１００に基づいて説明し、ＲＥＳＴ通信メッセージ１１１０については説明を省略する。
【００６３】
Ｓ６０３において、プログラム開発装置１０１は、取得部７４１に入力されたＲＥＳＴ通信メッセージの形式が適正か否かを判定する。具体的には、プログラム開発装置１０１は、取得部７４１に入力されたＲＥＳＴ通信メッセージの形式とメッセージ形式７１６とが一致するか否かを判定する。プログラム開発装置１０１は、メッセージ形式同士が一致しないすると判定する場合には、Ｓ６０４の処理を実行する。その一方で、プログラム開発装置１０１は、メッセージ形式同士が一致しないと判定した場合には、マッピングルールの生成を終了する。
【００６４】
Ｓ６０４において、プログラム開発装置１０１は、ＲＥＳＴ通信メッセージにおける最初の要素を親に設定する。ここで、具体的な処理について、図１１のＲＥＳＴ通信メッセージ１１００を用いて説明する。ＲＥＳＴ通信メッセージ１１００において、最初の要素１１０１は、「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ」である。
【００６５】
Ｓ６０５において、プログラム開発装置１０１は、上述の最初の要素における要素数を１に設定する。
【００６６】
Ｓ６０６において、プログラム開発装置１０１は、親の要素名をプロパティ名として設定する。ＲＥＳＴ通信メッセージ１１００において、プロパティ名として「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ」が設定される。
【００６７】
ここで、Ｓ６０５とＳ６０６の処理が行われた後の表示画面について図８を用いて説明する。プログラム開発装置１０１は、図８で示すようにプロパティ名８０１に「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ」が表示される。また、プロパティ名８０１の「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ」に対応する要素数８０３の欄に「１」が表示される。
【００６８】
Ｓ６０７において、プログラム開発装置１０１は、Ｓ６０８からＳ６１４までの処理を子要素の数だけ繰り返される。ＲＥＳＴ通信メッセージ１１００において、親の要素を「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ」としている場合には、子要素は「ｎｓ：ｒｅｔｕｒｎ」である。
【００６９】
Ｓ６０８において、プログラム開発装置１０１は、要素がすでに設定済みの要素であるか否かを判定する。具体的には、プログラム開発装置１０１は、同じフルパスがすでに出力されている場合はＳ６１１に進む。一例として、ＲＥＳＴ通信メッセージ１１００における子要素「ｎｓ：ｒｅｔｕｒｎ」のフルパスは「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ／ｎｓ：ｒｅｔｕｒｎ」となる。プログラム開発装置１０１は、現在の子要素が１１０２である場合には、先に同一の要素が設定されていないため、Ｓ６１０に進む。その一方で、プログラム開発装置１０１は、現在の子要素が１１０２である場合には、先に同一の要素が設定されているため、Ｓ６０９に進む。
【００７０】
Ｓ６０９において、プログラム開発装置１０１は、子の要素数を複数に設定する。図８において、要素数の項目において、複数の要素数が設定された例を８０６に示す。複数となる場合は、例えば、図１１の１１００における要素１１０５と要素１１０６のように同一の要素が複数存在する場合である。
【００７１】
Ｓ６１０において、プログラム開発装置１０１は、子の要素数を１に設定する。
【００７２】
Ｓ６１１において、プログラム開発装置１０１は、子の要素名をマッピングファイルに出力する。ここで、図８で示すようにプロパティ名欄の８０５に「ｎｓ：ｒｅｔｕｒｎ」が設定される。また、「ｎｓ：ｒｅｔｕｒｎ」は、親の要素である「ｎｓ：ＳＴ１Ｃ＿ＩＯ３０６＿ｇｅｔＤａｔａＲｅｓｐｏｎｓｅ」の下部に表示される。
【００７３】
Ｓ６１２において、プログラム開発装置１０１は、現在の子の要素にさらに子の要素があるかを判定する。プログラム開発装置１０１は、現在の子の要素にさらに子の要素がある場合には、Ｓ６１３に進む。その一方で、プログラム開発装置１０１は、現在の子の要素に子がない場合にはＳ６１４に進む。ここで、ＲＥＳＴ通信メッセージ１１００を用いて当該処理について具体的に説明する。プログラム開発装置１０１は、現在の子の要素が１１０２の場合、さらに、子の要素１１０３（「ｎｓ:ｑｕｅｒｙＲｅｓｕｌｔ」）が存在するため、Ｓ６１３へ進む。一方で、プログラム開発装置１０１は、現在の子要素が１１０４である場合には、更なる子要素が存在しないためＳ６１４へ進む。
【００７４】
Ｓ６１３において、プログラム開発装置１０１は、子の要素を親と設定してＳ６０８からＳ６１４の処理を繰り返す。
【００７５】
Ｓ６１４において、プログラム開発装置１０１は、子の要素全ての処理が終了した場合にマッピングルールの生成を終了する。
【００７６】
上述の処理により、ＲＥＳＴ通信メッセージのデータ構造が要素単位で識別可能に表示される。そのため、ユーザはＲＥＳＴ通信メッセージ階層構造を容易に識別することが可能となる。具体的には、プログラム開発装置１０１は、ＲＥＳＴ通信メッセージにおける要素同士の階層構造を識別可能に表示する。また、プログラム開発装置１０１は、ＲＥＳＴ通信メッセージにおける同一の要素が存在するか否かを識別可能に表示している。更に、プログラム開発装置１０１は、ＲＥＳＴ通信メッセージにおける同一の要素が存在するか否かを識別可能に表示する。更に、プログラム開発装置１０１は、単一で存在する要素と複数存在する要素とを識別可能に表示しているともいえる。
【００７７】
次に、図１２から図１４を用いて、マッピングファイルおよびマッピングルールについて説明する。初めに、図１２を用いてマッピングファイルについて説明する。
【００７８】
マッピングファイル１２００は、図７のマッピングファイル表示画面７１０で表示されるデータである。すなわち、マッピングファイル１２００は、マッピングファイルのテンプレートである。
【００７９】
マッピングファイル１２１０は、図７のマッピングファイル表示画面７２０で表示されるデータであって、メッセージ形式７１６でＸＭＬ形式が選択された場合のマッピングファイルである。マッピングファイル１２１０は、マッピングファイル１２００から、要素１２０１に要素１２１１が追加されたデータである。
【００８０】
マッピングファイル１２２０は、図７のマッピングファイル表示画面７２０で表示されるデータであって、メッセージ形式７１６でＪＳＯＮ形式が選択された場合のマッピングファイルである。マッピングファイル１２２０は、マッピングファイル１２００から、要素１２０１に要素１２２１が追加されたデータである。
【００８１】
次に、図１３を用いてＸＭＬ形式で呼び出されたＲＥＳＴ通信メッセージに基づくマッピングファイルについて説明する。
【００８２】
マッピングファイル１３００は、図８の編集画面８００で表示されるマッピングファイルである。なお、要素１３０２は、編集画面８００における要素８０７に対応する。また要素１３０１の前後は、マッピングファイル１２１０に対応するため省略する。
【００８３】
マッピングファイル１３１０は、編集画面１０００で表示されるマッピングファイルである。ここで、要素１３１１は、編集画面１０００で表示されるデータモデル定義１００１に対応する。
【００８４】
次に、図１４を用いてＪＳＯＮ形式で呼び出されたＲＥＳＴ通信メッセージに基づくマッピングルールについて説明する。
【００８５】
マッピングファイル１４００は、図８の編集画面８１０で表示されるマッピングファイルである。なお、要素１４０１は、編集画面８１０における要素８１２に対応する。
【００８６】
マッピングファイル１４１０は、編集画面１０１０で表示されるマッピングファイルである。ここで、要素１４１１は、データモデル定義１０１１に対応する。
【００８７】
次に、図１５を用いてＷｅｂアプリケーション／Ｗｅｂサービス生成のフローチャートの一例を示す図である。
【００８８】
ステップＳ１５０１において、プログラム開発装置１０１は、ユーザによるＷｅｂアプリケーション／Ｗｅｂサービス生成指示を受け付けると、外部メモリ２１１に記憶されているリポジトリ定義部３０４のアプリケーション定義４０１をＲＡＭ２０２に読み込む。
【００８９】
ステップＳ１５０２において、プログラム開発装置１０１は、外部メモリ２１１に記憶されているリポジトリ定義部３０４のデータモデル定義４０３をＲＡＭ２０２に読み込む。
【００９０】
ステップＳ１５０３において、プログラム開発装置１０１は、外部メモリ２１１に記憶されているリポジトリ定義部３０４の入出力定義４０２をＲＡＭ２０２に読み込む。
【００９１】
ステップＳ１５０４において、プログラム開発装置１０１は、外部メモリ２１１に記憶されているリポジトリ定義部３０４のビジネスプロセス定義４０４をＲＡＭ２０２に読み込む。
【００９２】
ステップＳ１５０５において、プログラム開発装置１０１は、外部メモリ２１１に記憶されているリポジトリ定義部３０４のデータモデル定義４０３をＲＡＭ２０２に読み込む。
【００９３】
ステップＳ１５０６において、プログラム開発装置１０１は、ＲＡＭ２０２に読み込んだリポジトリ定義部３０４の各定義・各ファイルから情報を取得し、ソースコードを生成する。なお、生成されたソースコードにはプログラミング言語が記載されたファイルに加え、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＪＳＰ、Ｊａｖａ（登録商標）等のＷｅｂアプリケーションやＷｅｂサービスの提供に利用されるファイルも含まれる。
【００９４】
以上、上述の実施形態によれば、情報処理装置は、Ｗｅｂサービスから取得した戻り値のデータ構造を要素単位で識別可能に表示部に表示し、当該表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付けることができる。そのため、Ｗｅｂサービスを利用するアプリケーションを容易に構築する仕組みを提供することが可能となる。したがって、ユーザは、ＲＥＳＴのようなサービスの定義を取得できないプロトコルにおいても、取得したリソースを容易にアプリケーションの構築に利用することができる。特に、Ｗｅｂサービスのリソースの階層構造を容易に識別できることによりユーザが、必要なリソースを選択的に編集することができる。
【００９５】
また、情報処理装置は、データ構造の要素のうち単一で存在する要素と複数存在する要素とを識別可能に表示部に表示することができる。そのため、全ての要素を階層構造で提示せず同一の要素についてはまとめてプロパティ単位で表示できる。したがって、Ｗｅｂサービスのリソースの階層構造の全体を把握することに寄与する。
【００９６】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。特に、プログラム開発装置１０１の各機能は、本実施の形態に限定されるものでなく、複数のプログラム開発装置で協業して処理されるものであってもよい。更に、プログラム開発装置は、オンプレミス環境で用いられるサーバであってもよいし、クラウドサービスにおける仮想的なサーバであってもよい。
【００９７】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００９８】
なお、本実施形態は、コンピュータや制御コンピュータがプログラム（コンピュータプログラム）を実行することによって実現することもできる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータが読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も実施例として適用することができる。また、上記のプログラムも実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
【００９９】
以上、実施形態に基づいて詳述してきたが、特定の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲の様々な形態も本発明の範疇に含まれる。さらに、上述した実施形態は一実施の形態を示すものにすぎず、上述した実施形態から容易に想像可能な発明も本発明の範疇に含まれる。
【符号の説明】
【０１００】
１０１    プログラム開発装置
３０１    入力受付部
３０２    リポジトリ定義部
３０３    マッピングファイル編集部
３０４    マッピングルール生成部
３０５    表示制御部
３０６    Ｗｅｂアプリケーション生成部
【図１】
2019125308.tif 000003
【図２】
2019125308.tif 000004
【図３】
2019125308.tif 000005
【図４】
2019125308.tif 000006
【図５】
2019125308.tif 000007
【図６】
2019125308.tif 000008
【図７】
2019125308.tif 000009
【図８】
2019125308.tif 000010
【図９】
2019125308.tif 000011
【図１０】
2019125308.tif 000012
【図１１】
2019125308.tif 000013
【図１２】
2019125308.tif 000014
【図１３】
2019125308.tif 000015
【図１４】
2019125308.tif 000016
【図１５】
2019125308.tif 000017