JP7060788B2 - 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム - Google Patents

情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP7060788B2
JP7060788B2 JP2018007228A JP2018007228A JP7060788B2 JP 7060788 B2 JP7060788 B2 JP 7060788B2 JP 2018007228 A JP2018007228 A JP 2018007228A JP 2018007228 A JP2018007228 A JP 2018007228A JP 7060788 B2 JP7060788 B2 JP 7060788B2
Authority
JP
Japan
Prior art keywords
input
information processing
processing apparatus
display
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018007228A
Other languages
English (en)
Other versions
JP2019125308A (ja
Inventor
知子 石田
剛 高塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2018007228A priority Critical patent/JP7060788B2/ja
Publication of JP2019125308A publication Critical patent/JP2019125308A/ja
Application granted granted Critical
Publication of JP7060788B2 publication Critical patent/JP7060788B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、情報処理装置の制御方法、およびコンピュータプログラムに関する。
従来から、入出力定義やデータモデル定義などを設定し、Webアプリケーションを構築するWebアプリケーション開発ツールが存在する。
また、一般に公開されているサーバにて提供される機能やリソースを活用するWebサービスの利用も高まっており、複数のWebサービスを組み合わせることによって、統合的なWebアプリケーションを作成することができる。Webサービスの一例として、HTTP(HyperText Transport Protocol)などのインターネット関連技術を応用して、SOAP(Simple Object Access Protocol)と呼ばれるXML(Extensible Markup Language)形式のプロトコルを用いてメッセージの送受信を行うサービスがある。このWebサービスを呼び出すWebサービスクライアント(クライアントアプリケーション)には、公開されているWSDL(Web Services Description Language)が利用される。WSDLは、Webサービスを記述している言語である。
特許文献1には、WSDL等で記載されたWebサービスの定義情報を用いて、マッピングファイルと呼ばれる(データモデルとWebサービスの入出力データを対応付ける)定義ファイルを生成するWebアプリケーション開発ツールの仕組みが示されている。
特開2011-59751号公報
ところで、SOAPにおけるWSDLのようにサービスの構造を定義しているものが存在しないRESTのようなプロトコルも存在する。したがって、このようなプロトコルを用いてWebサービスのリソースをユーザが取得しアプリケーションを開発する場合には、WSDLのような既存の定義を利用してマッピングファイルを作成することは困難であった。
そこで本発明は、上記課題に鑑みてなされたものであり、Webサービスを利用するアプリケーションを容易に構築する仕組みを提供することである。
そこで、本発明は、
アプリケーションを構築するための情報処理装置であって、
Webサービスから取得した戻り値を入力するための入力領域を表示するように制御する制御手段と
前記入力領域に入力された戻り値のデータ構造を要素単位で識別可能に表示部に表示するように制御する表示制御手段と、
前記表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付手段と、
を有することを特徴とする。
本発明によれば、Webサービスを利用するアプリケーションを容易に構築する仕組みを提供することが可能となる。
本実施形態における情報処理システムの一例を示す図である。 本実施形態における情報処理システムの各構成に適用可能なハードウェア構成の一例を示す図である。 本実施形態におけるプログラム開発装置の機能構成を示す図である。 本実施形態におけるプログラム開発装置の機能構成を示す図である。 マッピングファイルを生成するためのフローチャートの一例である。 マッピングルールを生成するためのフローチャートの一例である。 マッピングファイルの表示画面の一例を示す図である。 マッピングファイルの編集画面の一例を示す図である。 データモデル定義の表示画面の一例を示す図である。 マッピングファイルの編集画面の一例を示す図である。 REST通信メッセージの一例を示す図である。 マッピングファイルの一例を示す図である。 XML形式のメッセージから生成されたマッピングファイルとデータモデル定義との関係を示す図である。 JSON形式のメッセージから生成されたマッピングファイルとデータモデル定義との関係を示す図である。 Webアプリケーション/Webサービス生成のフローチャートの一例である。
以下、本発明の実施形態を、図面を参照して詳細に説明する。
図1は、本実施形態に係わるプログラム開発装置(開発者がアプリケーションの構築のために使用する情報処理装置)、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント(クライアント装置)、アプリケーションサーバの構成の一例を示すシステム(情報処理システム)構成図である。
プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置101単体では、開発者の入力受付を行い、後述するプログラム開発サーバ102に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム開発装置101単体でプログラム生成、アプリケーション生成まで処理してもよい。
なお、本実施形態においては、プログラム開発装置101で生成するアプリケーションはWebアプリケーションを一例として説明するが、これに限定されるものではない。アプリケーションには、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなどのWeb技術による通信を利用しないアプリケーションを含まれる。また、アプリケーションは、Webサービスも含まれる。
更に、本実施形態においては、プログラム開発装置101はアプリケーションのプログラムを生成するものとして説明するが、この方法に限定するものではない。例えば、プログラム開発装置101はプログラムを生成することなく、プログラム開発サーバ102やクラウド環境等でアプリケーションが動作する様にアプリケーション環境を構築する方法であってもよい。
また、以下の説明では、SOAPにおけるWSDLのようにWebサービスの構造を定義しているものが存在しないプロトコルの一態様としてRESTを例に説明するが、これに限られるものではない。
プログラム開発サーバ102a~102b(情報処理装置)は、プログラム開発装置101により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102aはLANなどのネットワーク106内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。
データベースサーバ103a~103b(情報処理装置)は、開発されたアプリケーションが使用するデータベースであり、開発の際に動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク106内に配置されてもよい(データベースサーバ103a)。またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。
アプリケーションサーバ105a~105b(情報処理装置)は、プログラム開発装置101で開発されたアプリケーションを実行する。LANなどのネットワーク106内に配置されてもよい(アプリケーションサーバ105a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク106、インターネット、クラウド上のデータベースサーバ103と接続して動作する可能である。
アプリケーションクライアント104a~104b(情報処理装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク106内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。また、情報処理装置は、携帯端末やタブレット型の端末であってもよい。
図2は、本実施形態に係わるプログラム開発装置101、プログラム開発サーバ102、データベースサーバ103、アプリケーションクライアント104、アプリケーションサーバ105として適用可能な各ハードウェア構成の一例を示すブロック図である。
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。つまり、出力部210は、画面を表示する表示部としての機能を備える。この場合、CPU201は、出力コントローラ206を介して表示部の表示を制御することが可能である。換言すると、CPU201は、表示制御手段の一態様である。
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。
図3および図4を用いて、プログラム開発装置101の機能構成を説明する。なお、プログラム開発装置101における各機能は、プログラム開発装置101のCPU201により実行されるものである。また、CPU201によって実行されるプログラム212は、外部メモリ211に記録されており、必要に応じてRAM202にロードされる。つまり、各機能は、CPU201とメモリ(RAM202)とが協業することにより実現される。
プログラム開発装置101は、Webアプリケーションを開発する開発者により設定されたリポジトリ定義部304の各定義を用いて、Webアプリケーション生成部306によりWebアプリケーション440を生成する。当該処理については、図15を用いて後述する。
プログラム開発装置101は、入力受付部301と、マッピングファイル編集部302と、マッピングルール生成部303と、リポジトリ定義部304と、表示制御部305と、Webアプリケーション生成部306とを含む。
入力受付部301は、ユーザによる各表示画面への入力操作を受け付ける機能部である。入力受付部301は、本実施形態において、後述する図7~図10に表示される各表示画面への入力操作を受け付ける。
リポジトリ定義部304は、アプリケーション定義401、入出力定義402、データモデル定義403、ビジネスプロセス定義404、拡張定義405、マッピングファイル406、を備える。これらの定義・ファイルは、入力受付部301で受け付けた入力内容を基に生成される。
入出力定義402は、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する。具体的に、入力定義情報は、生成されたWebアプリケーションの画面を介して当該Webアプリケーションのユーザが入力する入力項目を定義した情報である。また、出力定義情報は、生成されたWebアプリケーションの画面として出力する出力項目を定義した情報である。
データモデル定義403は、データベースのスキーマ情報(すなわち、項目の属性や名称、桁数)を管理する情報である。
ビジネスプロセス定義404は、業務フローを管理する情報である。
拡張定義405は、マッピングファイル406を呼び出すための定義である。また、拡張定義405は入出力定義402から呼び出されて用いられる。
マッピングファイル406は、Webサービスの入出力データ項目と、Webアプリケーションの取り扱うデータモデルのデータ項目とを対応付けるファイルである。また、マッピングファイル406は、外部のWebサービスをRESTにより取得したデータ(リソース)とデータモデル定義403を対応づけるものである。なお、以下の説明では、マッピングファイルのテンプレートとは、マッピングファイルに対してマッピングルールおよびデータモデル定義とが対応づけられていないファイルを示す。また、マッピングルールは、REST通信メッセージを解析し、マッピングファイルに対応づけが可能となったデータを示す。ここで、REST通信メッセージとは、RESTによって取得されたWebサービスの戻り値を示す。また、本実施形態において、REST通信メッセージは、なお、本実施形態では、REST通信メッセージは、アプリケーション作成者であるユーザがブラウザなどを用いて取得し、プログラム開発装置101に入力する。データを記述するためフォーマットの一例として、XML形式、およびJSON形式の場合を例に説明するが、これに限られるものでない。
マッピングファイル編集部302は、マッピングファイルの生成・編集を行うとともに、編集したマッピングファイルとデータモデル定義403との対応づけを行う機能部である。マッピングファイル編集部302は、マッピングファイルGUI表示部421と、マッピングファイル生成部422と、マッピングファイル更新部423と、を備える。
マッピングファイルGUI表示部421は、データを表示制御部305で表示可能なGUIを生成するための機能部である。マッピングファイルGUI表示部421は、図11から図14で示すように記述されたデータを、図7から図10で示す各表示画面を生成する。マッピングファイルGUI表示部421で生成された画面は、表示制御部305により表示される。
マッピングファイル生成部422は、ユーザからの指示に応じてマッピングファイルを生成する機能部である。図7の710は、マッピングファイルGUI表示部421で生成されたマッピングファイルの一態様であり、図12の1200は、マッピングファイルの一態様である。
マッピングファイル更新部423は、ユーザからの、図7~図10に表示される各表示画面への入力操作に応じてマッピングファイルを更新する機能部である。ここで、マッピングファイルの更新は、マッピングルールが対応づけられたマッピングファイルの一部の要素を削除する態様を含む。
マッピングルール生成部303は、REST通信メッセージの取得・解析を行うことによりマッピングルールの生成を行う。マッピングルール生成部303は、REST通信メッセージ取得部431と、REST通信メッセージ解析部432とを備える。
REST通信メッセージ取得部431は、RESTによってWebサービスの戻り値を取得する。Webサービスの戻り値は、例えば、図11の1100、および1110で示すデータである。REST通信メッセージ取得部431は、図7の取得部741に入力されたREST通信メッセージを取得することができる。
REST通信メッセージ解析部432は、REST通信メッセージ取得部431で取得した戻り値のデータ構造を解析する。なお、当該解析処理については、図6を用いて後述する。また、当該解析処理の結果表示される画面については、図8,10を用いて後述する。
表示制御部305は、後述する図7~図10に表示される各表示画面の表示を制御する機能部である。具体的には、表示制御部305は、マッピングファイル生成部422で生成されたマッピングファイルの表示画面、およびマッピングファイル編集部302で編集されたマッピングファイルの表示画面を表示する。
Webアプリケーション生成部306は、リポジトリ定義部304に基づきWebアプリケーションを生成する機能を備える。Webアプリケーション生成部306は、リポジトリ定義解析部461と、Webアプリケーションコード生成部462とを備える。
リポジトリ定義解析部461は、リポジトリ定義部304の各定義を読み込み解析する。Webアプリケーションコード生成部462は、当該解析した定義を用いてソースコードを生成する。Webアプリケーション生成部306は、ソースコードコンパイル部410を介し、Webアプリケーション440としてプログラムを生成することができる。
Webアプリケーション440は、コンパイルJava(登録商標)コード441とHTML/JSP/JavaScript(登録商標)442とを含む。
次に、図5を用いて、マッピングファイルを生成するための処理を説明する。図5は、マッピングファイルを生成するためのフローチャートの一例である。プログラム開発装置101の各機能部により実行される。
S501において、プログラム開発装置101は、マッピングファイルの作成指示を取得する。当該作成指示は、ユーザによる入力操作により取得される。
S502において、プログラム開発装置101は、マッピングファイルのテンプレートを作成する。当該マッピングファイルのテンプレートの一例を図12に示す。図12のマッピングファイル1200は、マッピングファイルのテンプレートをXML形式で表示したものである。そして、マッピングファイル1200をGUIで表示したものを図7の710に示す。ここで、図7のマッピングファイル表示画面710について説明する。マッピングファイル表示画面710は、操作一覧部711を含み、マッピングファイル1200の内容をユーザが認識しやすい態様で表示する。操作一覧部711の各項目は、RESTでの呼び出し方法を定義するための項目である。具体的には、操作一覧部711は、コード712、操作名713、URLパス714、HTTPメソッド715、メッセージ形式716の入力を受け付ける。
コード712および操作名713は、それぞれ、REST操作を識別するコード、および名称である。URLパス714は、RESTによる通信で呼び出すWebサービスのURLを示す。HTTPメソッド715は、HTTPにおけるメソッドを示し、例えば、GET、POST、PUT、DELETEのいずれか1つから選択することができる。メッセージ形式716は、RESTによる通信で取得するメッセージの形式を示し、XML形式、およびJSON形式のいずれか1つから選択することができる。なお、これらの各選択項目は一例であり、RESTでの呼び出し方法を定義するための項目の一態様であり、これに限られるものでない。
マッピングファイル表示画面710における1つの行は、1つのWebサービスの呼び出し方法を定義している。そのため、ユーザは、マッピングファイル表示画面710から複数のWebサービスの呼び出し方法の定義を行うことが可能である。つまり、1つのWebアプリケーションに対して、複数のWebサービスを使用することも可能である。
また、タブ717は、プログラム開発装置101で生成するWebアプリケーションと、利用するWebサービスの入出力関係を規定する。タブ717で「入力」が選択されている場合、Webサービスのリソースを、生成したWebアプリケーションが使用する。一方、タブ717で「出力」が選択されている場合、生成したWebアプリケーションを、Webサービスとして利用させる場合を示す。
S503において、プログラム開発装置101は、マッピングルールを生成する。なお、当該マッピングルールの生成処理については、図6を用いて詳細に説明する。
S504において、プログラム開発装置101は、マッピングファイルの編集画面を表示する。ここで、図8を用いてマッピングファイルの編集画面について説明する。図8の編集画面800および編集画面810は、マッピングファイルを編集を受け付けるための表示画面である。編集画面800は、図7のマッピングファイル表示画面720で表示されるマッピングファイルのテンプレートに、S503で生成されたマッピングルールが対応づけて表示された画面である。なお、編集画面800は、REST通信メッセージ1100から生成されたマッピングルールの編集画面である。また、編集画面810は、REST通信メッセージ1110から生成されたマッピングルールの編集画面である。以下、編集画面800を用いて各項目について説明するが、編集画面810についても同様である。ここで、編集画面800は、マッピングルールのデータ構造を、要素単位で識別可能に表示している。また、編集画面800は、各要素の要素数も識別可能に表示している。一例として、編集画面800において、要素804の子要素は、要素805である。編集画面800は、各要素単位で編集、削除するための入力操作を受け付ける。
S505において、プログラム開発装置101は、マッピングルールの編集指示を受け付ける。ここで、編集画面800から要素807の削除を受け付ける。編集画面800は、行単位あるいはプロパティ単位で削除のための操作入力を受け付ける。図10における編集画面1000は、編集画面800から要素807が削除された後の編集画面である。編集画面800から所定の要素(要素807)が削除されることにより、当該削除された要素よりも下の階層にある要素が編集画面上で繰り上がって表示される。同様に、図10における編集画面1010は、編集画面810から要素812が削除された後の編集画面である。このため、編集画面は、編集の操作に応じてマッピングファイルの構造をより見やすく表示することができる。
S506において、プログラム開発装置101は、マッピングルールとデータモデルコードとを対応づける。図10における編集画面1000は、編集画面800にデータモデル定義1001の対応づけがされた状態を示す。また、同様に、図10における編集画面1010は、編集画面810にデータモデル定義1011の対応づけがされた状態を示す。ここで、対応づけられたデータモデル定義は、図9に示すデータモデル定義表示画面900で示す定義である。データモデル定義表示画面900において、データモデル901を一覧で表示する表示画面である。
次に、図6を用いて、マッピングルールを生成するためのフローを説明する。図6は、マッピングルールを生成するためのフローチャートの一例である。
S601において、プログラム開発装置101は、図7のマッピングファイル表示画面710における操作一覧部711への入力を受け付ける。図7のマッピングファイル表示画面720は、操作一覧部711に各項目が入力された後の画面である。ここで、図12を用いて、マッピングファイル1210およびマッピングファイル1220について説明する。マッピングファイル1210およびマッピングファイル1220は、マッピングファイル1200に、操作一覧部711を介して各種情報が入力された後のマッピングファイルである。ここで、マッピングファイル1210は、メッセージ形式716でXML形式が選択された場合のマッピングファイルである。また、マッピングファイル1220は、メッセージ形式716でJSON形式が選択された場合のマッピングファイルである。
S602において、プログラム開発装置101は、REST通信メッセージを受け付ける。プログラム開発装置101は、コンテキストメニュー表示730からREST通信メッセージを読み込む旨の選択を受け付ける。プログラム開発装置101は、当該選択を受け付けたことに応じて入力ボックス740を表示する。入力ボックス740は、REST通信メッセージの入力を受け付けるための取得部741を備える。プログラム開発装置101は、取得部741にメッセージが入力され、「OK」ボタンが押下されることによりREST通信メッセージを受け付ける。ここで、REST通信メッセージの一例について、図11を用いて説明する。図11における1100は、XML形式で取得したREST通信メッセージの一例である。また、図11における1110は、JSON形式で取得したREST通信メッセージの一例である。なお、以下の説明では、REST通信メッセージ1100に基づいて説明し、REST通信メッセージ1110については説明を省略する。
S603において、プログラム開発装置101は、取得部741に入力されたREST通信メッセージの形式が適正か否かを判定する。具体的には、プログラム開発装置101は、取得部741に入力されたREST通信メッセージの形式とメッセージ形式716とが一致するか否かを判定する。プログラム開発装置101は、メッセージ形式同士が一致しないすると判定する場合には、S604の処理を実行する。その一方で、プログラム開発装置101は、メッセージ形式同士が一致しないと判定した場合には、マッピングルールの生成を終了する。
S604において、プログラム開発装置101は、REST通信メッセージにおける最初の要素を親に設定する。ここで、具体的な処理について、図11のREST通信メッセージ1100を用いて説明する。REST通信メッセージ1100において、最初の要素1101は、「ns:ST1C_IO306_getDataResponse」である。
S605において、プログラム開発装置101は、上述の最初の要素における要素数を1に設定する。
S606において、プログラム開発装置101は、親の要素名をプロパティ名として設定する。REST通信メッセージ1100において、プロパティ名として「ns:ST1C_IO306_getDataResponse」が設定される。
ここで、S605とS606の処理が行われた後の表示画面について図8を用いて説明する。プログラム開発装置101は、図8で示すようにプロパティ名801に「ns:ST1C_IO306_getDataResponse」が表示される。また、プロパティ名801の「ns:ST1C_IO306_getDataResponse」に対応する要素数803の欄に「1」が表示される。
S607において、プログラム開発装置101は、S608からS614までの処理を子要素の数だけ繰り返される。REST通信メッセージ1100において、親の要素を「ns:ST1C_IO306_getDataResponse」としている場合には、子要素は「ns:return」である。
S608において、プログラム開発装置101は、要素がすでに設定済みの要素であるか否かを判定する。具体的には、プログラム開発装置101は、同じフルパスがすでに出力されている場合はS611に進む。一例として、REST通信メッセージ1100における子要素「ns:return」のフルパスは「ns:ST1C_IO306_getDataResponse/ns:return」となる。プログラム開発装置101は、現在の子要素が1102である場合には、先に同一の要素が設定されていないため、S610に進む。その一方で、プログラム開発装置101は、現在の子要素が1102である場合には、先に同一の要素が設定されているため、S609に進む。
S609において、プログラム開発装置101は、子の要素数を複数に設定する。図8において、要素数の項目において、複数の要素数が設定された例を806に示す。複数となる場合は、例えば、図11の1100における要素1105と要素1106のように同一の要素が複数存在する場合である。
S610において、プログラム開発装置101は、子の要素数を1に設定する。
S611において、プログラム開発装置101は、子の要素名をマッピングファイルに出力する。ここで、図8で示すようにプロパティ名欄の805に「ns:return」が設定される。また、「ns:return」は、親の要素である「ns:ST1C_IO306_getDataResponse」の下部に表示される。
S612において、プログラム開発装置101は、現在の子の要素にさらに子の要素があるかを判定する。プログラム開発装置101は、現在の子の要素にさらに子の要素がある場合には、S613に進む。その一方で、プログラム開発装置101は、現在の子の要素に子がない場合にはS614に進む。ここで、REST通信メッセージ1100を用いて当該処理について具体的に説明する。プログラム開発装置101は、現在の子の要素が1102の場合、さらに、子の要素1103(「ns:queryResult」)が存在するため、S613へ進む。一方で、プログラム開発装置101は、現在の子要素が1104である場合には、更なる子要素が存在しないためS614へ進む。
S613において、プログラム開発装置101は、子の要素を親と設定してS608からS614の処理を繰り返す。
S614において、プログラム開発装置101は、子の要素全ての処理が終了した場合にマッピングルールの生成を終了する。
上述の処理により、REST通信メッセージのデータ構造が要素単位で識別可能に表示される。そのため、ユーザはREST通信メッセージ階層構造を容易に識別することが可能となる。具体的には、プログラム開発装置101は、REST通信メッセージにおける要素同士の階層構造を識別可能に表示する。また、プログラム開発装置101は、REST通信メッセージにおける同一の要素が存在するか否かを識別可能に表示している。更に、プログラム開発装置101は、REST通信メッセージにおける同一の要素が存在するか否かを識別可能に表示する。更に、プログラム開発装置101は、単一で存在する要素と複数存在する要素とを識別可能に表示しているともいえる。
次に、図12から図14を用いて、マッピングファイルおよびマッピングルールについて説明する。初めに、図12を用いてマッピングファイルについて説明する。
マッピングファイル1200は、図7のマッピングファイル表示画面710で表示されるデータである。すなわち、マッピングファイル1200は、マッピングファイルのテンプレートである。
マッピングファイル1210は、図7のマッピングファイル表示画面720で表示されるデータであって、メッセージ形式716でXML形式が選択された場合のマッピングファイルである。マッピングファイル1210は、マッピングファイル1200から、要素1201に要素1211が追加されたデータである。
マッピングファイル1220は、図7のマッピングファイル表示画面720で表示されるデータであって、メッセージ形式716でJSON形式が選択された場合のマッピングファイルである。マッピングファイル1220は、マッピングファイル1200から、要素1201に要素1221が追加されたデータである。
次に、図13を用いてXML形式で呼び出されたREST通信メッセージに基づくマッピングファイルについて説明する。
マッピングファイル1300は、図8の編集画面800で表示されるマッピングファイルである。なお、要素1302は、編集画面800における要素807に対応する。また要素1301の前後は、マッピングファイル1210に対応するため省略する。
マッピングファイル1310は、編集画面1000で表示されるマッピングファイルである。ここで、要素1311は、編集画面1000で表示されるデータモデル定義1001に対応する。
次に、図14を用いてJSON形式で呼び出されたREST通信メッセージに基づくマッピングルールについて説明する。
マッピングファイル1400は、図8の編集画面810で表示されるマッピングファイルである。なお、要素1401は、編集画面810における要素812に対応する。
マッピングファイル1410は、編集画面1010で表示されるマッピングファイルである。ここで、要素1411は、データモデル定義1011に対応する。
次に、図15を用いてWebアプリケーション/Webサービス生成のフローチャートの一例を示す図である。
ステップS1501において、プログラム開発装置101は、ユーザによるWebアプリケーション/Webサービス生成指示を受け付けると、外部メモリ211に記憶されているリポジトリ定義部304のアプリケーション定義401をRAM202に読み込む。
ステップS1502において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部304のデータモデル定義403をRAM202に読み込む。
ステップS1503において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部304の入出力定義402をRAM202に読み込む。
ステップS1504において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部304のビジネスプロセス定義404をRAM202に読み込む。
ステップS1505において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部304のデータモデル定義403をRAM202に読み込む。
ステップS1506において、プログラム開発装置101は、RAM202に読み込んだリポジトリ定義部304の各定義・各ファイルから情報を取得し、ソースコードを生成する。なお、生成されたソースコードにはプログラミング言語が記載されたファイルに加え、HTML、JavaScript(登録商標)、JSP、Java(登録商標)等のWebアプリケーションやWebサービスの提供に利用されるファイルも含まれる。
以上、上述の実施形態によれば、情報処理装置は、Webサービスから取得した戻り値のデータ構造を要素単位で識別可能に表示部に表示し、当該表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付けることができる。そのため、Webサービスを利用するアプリケーションを容易に構築する仕組みを提供することが可能となる。したがって、ユーザは、RESTのようなサービスの定義を取得できないプロトコルにおいても、取得したリソースを容易にアプリケーションの構築に利用することができる。特に、Webサービスのリソースの階層構造を容易に識別できることによりユーザが、必要なリソースを選択的に編集することができる。
また、情報処理装置は、データ構造の要素のうち単一で存在する要素と複数存在する要素とを識別可能に表示部に表示することができる。そのため、全ての要素を階層構造で提示せず同一の要素についてはまとめてプロパティ単位で表示できる。したがって、Webサービスのリソースの階層構造の全体を把握することに寄与する。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。特に、プログラム開発装置101の各機能は、本実施の形態に限定されるものでなく、複数のプログラム開発装置で協業して処理されるものであってもよい。更に、プログラム開発装置は、オンプレミス環境で用いられるサーバであってもよいし、クラウドサービスにおける仮想的なサーバであってもよい。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本実施形態は、コンピュータや制御コンピュータがプログラム(コンピュータプログラム)を実行することによって実現することもできる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD-ROM等のコンピュータが読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も実施例として適用することができる。また、上記のプログラムも実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、実施形態に基づいて詳述してきたが、特定の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲の様々な形態も本発明の範疇に含まれる。さらに、上述した実施形態は一実施の形態を示すものにすぎず、上述した実施形態から容易に想像可能な発明も本発明の範疇に含まれる。
101 プログラム開発装置
301 入力受付部
302 リポジトリ定義部
303 マッピングファイル編集部
304 マッピングルール生成部
305 表示制御部
306 Webアプリケーション生成部

Claims (16)

  1. アプリケーションを構築するための情報処理装置であって、
    Webサービスから取得した戻り値を入力するための入力領域を表示するように制御する制御手段と
    前記入力領域に入力された戻り値のデータ構造を要素単位で識別可能に表示部に表示するように制御する表示制御手段と、
    前記表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付手段と、
    を有することを特徴とする情報処理装置。
  2. 前記表示制御手段は、前記データ構造における要素同士の階層構造を識別可能に表示部に表示するように制御することを特徴とする請求項1に記載の情報処理装置。
  3. 前記表示制御手段は、前記データ構造に同一の要素が存在するか否かを識別可能に表示部に表示するように制御することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記表示制御手段は、前記データ構造の要素のうち単一で存在する要素と複数存在する要素とを識別可能に表示部に表示するように制御することを特徴とする請求項3に記載の情報処理装置。
  5. 前記入力受付手段は、前記表示部に表示されたデータ構造を要素単位で削除するための入力を受け付けることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記入力領域に入力された値を解析する解析手段をさらに有し、
    前記表示制御手段は、前記入力領域に入力された戻り値を前記解析手段が解析した結果に基づいて当該戻り値のデータ構造を表示するように制御することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記解析手段は、前記入力領域に入力された値の形式が適正か否かを判定し、
    前記表示制御手段は、前記入力領域に入力された戻り値を前記解析手段が適正な形式であると判定した場合に当該戻り値のデータ構造を表示するように制御することを特徴とする請求項6に記載の情報処理装置。
  8. 前記入力領域に入力する値の形式を選択する選択手段をさらに有し、
    前記解析手段は、前記入力領域に入力された値の形式が適正か否かを、前記選択手段で選択された形式に基づいて判定することを特徴とする請求項7に記載の情報処理装置。
  9. 前記選択手段で選択可能な形式にはXML形式とJSON形式が含まれることを特徴とする請求項8に記載の情報処理装置。
  10. 前記解析手段は、JSON形式の値を解析可能であることを特徴とする請求項6乃至9のいずれか1項に記載の情報処理装置。
  11. 前記解析手段は、前記入力領域に入力された値に、複数の同一の要素が含まれているかを解析し、複数の同一の要素に対して1つの要素名を出力するように制御することを特徴とする請求項6乃至10のいずれか1項に記載の情報処理装置。
  12. 前記解析手段は、前記入力領域に入力された値に、複数の同一の要素が含まれているかを解析し、複数の同一の要素が含まれている場合に、当該要素が複数であることを示す出力をするように制御することを特徴とする請求項6乃至11のいずれか1項に記載の情報処理装置。
  13. 前記解析手段は、前記入力領域に入力された値に、複数の同一の要素が含まれているかを解析し、複数の同一の要素に対して1つの要素名を出力するように制御することを特徴とする請求項6乃至12のいずれか1項に記載の情報処理装置。
  14. 前記入力領域は、RESTによる通信を用いて取得されたWebサービスの戻り値を入力するための領域であることを特徴とする請求項1乃至13のいずれか1項に記載の情報処理装置。
  15. アプリケーションを構築するための情報処理装置の制御方法であって、
    Webサービスから取得した戻り値を入力するための入力領域を表示するように制御する制御工程と
    前記入力領域に入力された戻り値のデータ構造を要素単位で識別可能に表示部に表示するように制御する表示制御工程と、
    前記表示部に表示されたデータ構造を要素毎にデータモデル定義と対応づけるための入力を受け付ける入力受付工程と、
    を有することを特徴とする情報処理装置の制御方法。
  16. コンピュータを請求項1乃至14のいずれか1項に記載された情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2018007228A 2018-01-19 2018-01-19 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム Active JP7060788B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018007228A JP7060788B2 (ja) 2018-01-19 2018-01-19 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018007228A JP7060788B2 (ja) 2018-01-19 2018-01-19 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019125308A JP2019125308A (ja) 2019-07-25
JP7060788B2 true JP7060788B2 (ja) 2022-04-27

Family

ID=67398874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018007228A Active JP7060788B2 (ja) 2018-01-19 2018-01-19 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7060788B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146677A (ja) 2004-11-22 2006-06-08 Hitachi Ltd アプリケーションの開発支援システム及びこの開発支援システムを用いたデータフォーマット生成方法並びにデータ処理システム
JP2017062851A (ja) 2011-04-28 2017-03-30 キヤノンマーケティングジャパン株式会社 情報処理システム、アプリケーションサーバ、情報処理方法、プログラムおよび記録媒体
JP2018005451A (ja) 2016-06-30 2018-01-11 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2018010628A (ja) 2016-06-30 2018-01-18 キヤノンマーケティングジャパン株式会社 情報処理装置、サーバ、その処理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146677A (ja) 2004-11-22 2006-06-08 Hitachi Ltd アプリケーションの開発支援システム及びこの開発支援システムを用いたデータフォーマット生成方法並びにデータ処理システム
JP2017062851A (ja) 2011-04-28 2017-03-30 キヤノンマーケティングジャパン株式会社 情報処理システム、アプリケーションサーバ、情報処理方法、プログラムおよび記録媒体
JP2018005451A (ja) 2016-06-30 2018-01-11 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2018010628A (ja) 2016-06-30 2018-01-18 キヤノンマーケティングジャパン株式会社 情報処理装置、サーバ、その処理方法及びプログラム

Also Published As

Publication number Publication date
JP2019125308A (ja) 2019-07-25

Similar Documents

Publication Publication Date Title
US11635974B2 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
US11321669B2 (en) Creating a customized email that includes an action link generated based on form data
JP5128673B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
CN111488148B (zh) 网页源代码的生成方法及装置
US11487595B2 (en) API adapter creation device, API adapter creation method, and API adapter creation program
US11516298B2 (en) Integrating a plurality of third party service interactions into a portal system
JP7014960B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
JP7060788B2 (ja) 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム
JP7004930B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP2006163855A (ja) Webアプリケーション開発支援装置及び開発支援方法
JP2012150740A (ja) プログラム生成装置及び方法
JP6730632B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6697168B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP4894534B2 (ja) ジェネレータサービス提供システム、設計情報の再利用・蓄積方法及びジェネレータサービス用プログラム
JP6264399B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6744553B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2019082896A (ja) 情報処理装置、その処理方法及びプログラム
JP6256535B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP7280475B2 (ja) 情報処理装置及びその制御方法、プログラム
JP7053983B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP2020107020A (ja) プログラム、情報処理装置及び処理方法
JP2019153131A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2019049858A (ja) 情報処理装置、その処理方法及びプログラム
JP2019109732A (ja) 情報処理システム、その制御方法、及びプログラム、並びに、情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180703

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R151 Written notification of patent or utility model registration

Ref document number: 7060788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151