(57)【要約】【課題】ＨＴＴＰメソッドからＡＰＩを作成する際に、同期処理または非同期処理を最適に選択する。【解決手段】変換ロジック生成装置１であって、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータ１２を記憶する記憶装置１０と、選択ロジックデータ１２を参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するＨＴＴＰメソッドと、特定したテーブルに対応するＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータＬを出力する変換ロジック生成部２２を備える。【選択図】      図３
2019200691.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置であって、
前記データベースのテーブルに対する前記コマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、前記処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、
前記選択ロジックデータを参照して、前記条件に適合する前記テーブルおよびコマンドと処理種別を特定し、前記特定したコマンドに対応する前記ＨＴＴＰメソッドと、前記特定したテーブルに対応する前記ＨＴＴＰメソッドの処理対象と、特定された前記コマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部
を備えることを特徴とする変換ロジック生成装置。
【請求項２】
前記選択ロジックデータは、
前記テーブルに対する実行に時間を要する条件に対して、前記処理種別として非同期処理を対応づける
ことを特徴とする請求項１に記載の変換ロジック生成装置。
【請求項３】
前記選択ロジックデータは、
前記データベースの他のテーブルへのアクセスを伴う条件に対して、前記処理種別として非同期処理を対応づける
ことを特徴とする請求項１に記載の変換ロジック生成装置。
【請求項４】
アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、前記変換ロジックデータに基づいてＨＴＴＰメソッドをデータベースのコマンドに変換して実行するＨＴＴＰメソッド実行装置と、前記データベースを管理するデータベース管理装置を備えるＨＴＴＰメソッド実行システムであって、
前記変換ロジック生成装置は、
前記データベースのテーブルに対する前記コマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、前記処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、
前記選択ロジックデータを参照して、前記条件に適合する前記テーブルおよびコマンドと処理種別を特定し、前記特定したコマンドに対応する前記ＨＴＴＰメソッドと、前記特定したテーブルに対応する前記ＨＴＴＰメソッドの処理対象と、特定された前記コマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部を備え、
前記ＨＴＴＰメソッド実行装置は、
前記アプリケーション実行装置から、前記ＨＴＴＰメソッドと処理対象を含む処理リクエストを受信するアプリリクエスト処理部と、
前記変換ロジックデータを参照して、前記処理リクエストを前記データベースに対するデータベースリクエストに変換するとともに、前記処理リクエストに含まれる前記ＨＴＴＰメソッドと、前記処理リクエストに含まれる処理対象から、前記コマンドの処理種別を決定する変換部と、
前記変換部が決定した処理種別に基づいて、前記データベースリクエストを処理するデータベースリクエスト処理部
を備えることを特徴とするＨＴＴＰメソッド実行システム。
【請求項５】
前記データベースリクエスト処理部は、
前記変換部が決定した処理種別が同期処理の場合、
前記データベースリクエストを前記データベース管理装置に送信し、前記データベース管理装置から受信した処理結果を前記アプリケーション実行装置に送信する同期処理部と、
前記変換部が決定した処理種別が非同期処理の場合、
前記処理リクエストに対する処理結果を提供する問い合わせＵＲＩを含む処理レスポンスをアプリケーション実行装置に送信するとともに、前記データベースリクエストを前記データベース管理装置に送信し、前記データベース管理装置から受信した処理結果を、前記問い合わせＵＲＩと対応づけて保持する非同期処理部を備える
ことを特徴とする請求項５に記載のＨＴＴＰメソッド実行システム。
【請求項６】
アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、前記変換ロジックデータに基づいてＨＴＴＰメソッドをデータベースのコマンドに変換して実行するＨＴＴＰメソッド実行装置と、前記データベースを管理するデータベース管理装置を備えるＨＴＴＰメソッド実行システムに用いられるＨＴＴＰメソッド実行方法であって、
前記変換ロジック生成装置が、前記データベースのテーブルに対する前記コマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、前記処理種別を適用する条件を対応づけた選択ロジックデータを記憶するステップと、
前記変換ロジック生成装置が、前記選択ロジックデータを参照して、前記条件に適合する前記テーブルおよびコマンドと処理種別を特定し、前記特定したコマンドに対応する前記ＨＴＴＰメソッドと、前記特定したテーブルに対応する前記ＨＴＴＰメソッドの処理対象と、特定された前記コマンドの処理種別を対応づけた変換ロジックデータを出力するステップと、
前記ＨＴＴＰメソッド実行装置が、前記アプリケーション実行装置から、前記ＨＴＴＰメソッドと処理対象を含む処理リクエストを受信するステップと、
前記ＨＴＴＰメソッド実行装置が、前記変換ロジックデータを参照して、前記処理リクエストを前記データベースに対するデータベースリクエストに変換するとともに、前記処理リクエストに含まれる前記ＨＴＴＰメソッドと、前記処理リクエストに含まれる処理対象から、前記コマンドの処理種別を決定するステップと、
前記ＨＴＴＰメソッド実行装置が、決定した処理種別に基づいて、前記データベースリクエストを処理するステップ
を備えることを特徴とするＨＴＴＰメソッド実行方法。
【請求項７】
コンピュータに、請求項１ないし請求項３のいずれか１項に記載の変換ロジック生成装置として機能させるための変換ロジック生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置、ＨＴＴＰメソッド実行システム、ＨＴＴＰメソッド実行方法および変換ロジック生成プログラムに関する。
【背景技術】
【０００２】
近年、自社または自組織の様々なリソースをネットワーク越しに利用するためのアプリケーションをＡＰＩ(Application Programming Interface)化し、ＡＰＩの外部提供によるパートナーシップの円滑化や、社内の開発の効率化が行われている。ここでＡＰＩは、ＲＥＳＴ(REpresentational State Transfer)に従う。
【０００３】
ＲＥＳＴ  ＡＰＩは、ＨＴＴＰ（Hypertext Transfer Protocol）を利用し、ＵＲＩ（Uniform Resource Identifier）で一意に表されたリソースに対して、ＣＲＵＤの各操作(C:Create、R:Read、U:Update、D:Delete)を、それぞれＨＴＴＰのＰＯＳＴ／ＧＥＴ／ＰＵＴ（ＰＡＴＣＨ）／ＤＥＬＥＴＥに対応させる。また、ＲＥＳＴ  ＡＰＩのリソースの表現として、ＪＳＯＮ（JavaScript（登録商標）Object Notation）、ＸＭＬ（Extensible Markup Language）等のウェブ技術と親和性が高いデータ形式を利用する。現在、多くのＡＰＩが、ＲＥＳＴ  ＡＰＩで提供されている。
【０００４】
データベースマネージメントシステム（ＤＢＭ）によって管理されるデータを操作するＡＰＩを作成する際、（１）ＨＴＴＰメソッドとＤＢＭのデータを操作するコマンドの変換、（２）ＨＴＴＰで指定されるＵＲＩとＤＢＭのテーブルまたはビューの変換、（３）ＨＴＴＰで指定されるパラメータとＤＢＭの属性の変換、（４）同期処理で行うか非同期処理で行うかの処理種別の決定を行う必要がある。
【０００５】
ここで、ＤＢＭによって管理されるデータに対して、ＡＰＩにより操作する手法がある。例えば特許文献１に記載の方法は、ＤＢＭが有するプロトコルを含めて、シーケンスとＲＥＳＴとを変換する。しかしながら特許文献１は、ＤＢＭとＲＥＳＴとの対応を熟知した上でＡＰＩを利用しなければならず、ＤＢＭをＡＰＩから利用したいだけのウェブ技術者であっても、ＤＢＭの仕様について知識やノウハウを把握する必要があり、ＡＰＩの利活用の障壁を高める場合がある。
【０００６】
そのような状況を鑑みて、ＤＢＭに対する操作等を、ＨＴＴＰのメソッド等に置換するツールがある（非特許文献１および非特許文献２）。このツールは、ＤＢＭに対するＣＲＵＤ操作を、ＲＥＳＴの各ＨＴＴＰメソッドに変換するとともに、ＤＢＭの各テーブルやビューをＵＲＩに変換し、ＤＢＭのレコードや属性をＪＳＯＮまたはＸＭＬの表現に変換する。このツールによって、既存のＤＢＭで管理されているＤＢがあれば、特別な開発なしにＡＰＩとして提供することが可能になるので、ウェブ技術者は特別なＤＢＭの知識やノウハウなしに、ＤＢＭが管理するデータの利活用が可能になる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許６１６９６６２号公報
【非特許文献】
【０００８】
【非特許文献１】ＣＡ、" CA Live API Creator - 3.1"、［online］、［平成３０年５月１０日検索］、インターネット〈URL：https://docops.ca.com/ca-live-api-creator/3-1/en〉
【非特許文献２】Tomohiro Kada、"CA Live API Creator 製品説明資料"、［online］、平成２９年８月２４日、［平成３０年５月１０日検索］、インターネット〈URL：https://techplay.jp/slide/170422〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１、非特許文献１および２に記載の方法は、いずれも、同期処理で行うか非同期処理で行うかの処理種別を決定する方法について何ら触れられていない。
【００１０】
ＡＰＩを生成する際に、同期処理または非同期処理のいずれかを示す処理種別を特定する必要があるところ、いずれの先行技術文献もこの点に触れられていないので、ＡＰＩの開発者等が指定する必要がある。しかしながら、処理種別を特定するためには、ＤＢＭにおけるデータ構造や処理時間等を把握する必要があり、ＤＢＭの仕組みに詳しくないＡＰＩの開発者等は、処理種別を適切に設定できない場合がある。
【００１１】
従って本発明の目的は、ＨＴＴＰメソッドからＡＰＩを作成する際に、同期処理または非同期処理を最適に選択可能な変換ロジック生成装置、ＨＴＴＰメソッド実行システム、ＨＴＴＰメソッド実行方法および変換ロジック生成プログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の第１の特徴は、アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置に関する。第１の特徴に係る変換ロジック生成装置は、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、選択ロジックデータを参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するＨＴＴＰメソッドと、特定したテーブルに対応するＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部を備える。
【００１３】
ここで選択ロジックデータは、テーブルに対する実行に時間を要する条件に対して、処理種別として非同期処理を対応づけても良い。
【００１４】
選択ロジックデータは、データベースの他のテーブルへのアクセスを伴う条件に対して、処理種別として非同期処理を対応づけても良い。
【００１５】
選択ロジックデータは、データベースの各テーブルについて、データベースへのコマンドと、テーブルに対するコマンドの処理種別を対応づけたデータであって、変換ロジック生成部は、選択ロジックデータから、アプリケーション実行装置から受信するＨＴＴＰメソッドに対応するコマンドと、ＨＴＴＰメソッドの処理対象に対応するテーブルから、処理種別を特定し、ＨＴＴＰメソッドと、ＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力しても良い。
【００１６】
本発明の第２の特徴は、アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、変換ロジックデータに基づいてＨＴＴＰメソッドをデータベースのコマンドに変換して実行するＨＴＴＰメソッド実行装置と、データベースを管理するデータベース管理装置を備えるＨＴＴＰメソッド実行システムに関する。本発明の第２の特徴に係るＨＴＴＰメソッド実行システムにおいて、変換ロジック生成装置は、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、選択ロジックデータを参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するＨＴＴＰメソッドと、特定したテーブルに対応するＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部を備え、ＨＴＴＰメソッド実行装置は、アプリケーション実行装置から、ＨＴＴＰメソッドと処理対象を含む処理リクエストを受信するアプリリクエスト処理部と、変換ロジックデータを参照して、処理リクエストをデータベースに対するデータベースリクエストに変換するとともに、処理リクエストに含まれるＨＴＴＰメソッドと、処理リクエストに含まれる処理対象から、コマンドの処理種別を決定する変換部と、変換部が決定した処理種別に基づいて、データベースリクエストを処理するデータベースリクエスト処理部を備える。
【００１７】
ここで、データベースリクエスト処理部は、変換部が決定した処理種別が同期処理の場合、データベースリクエストをデータベース管理装置に送信し、データベース管理装置から受信した処理結果をアプリケーション実行装置に送信する同期処理部と、変換部が決定した処理種別が非同期処理の場合、処理リクエストに対する処理結果を提供する問い合わせＵＲＩを含む処理レスポンスをアプリケーション実行装置に送信するとともに、データベースリクエストをデータベース管理装置に送信し、データベース管理装置から受信した処理結果を、問い合わせＵＲＩと対応づけて保持する非同期処理部を備えても良い。
【００１８】
本発明の第３の特徴は、アプリケーション実行装置から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、変換ロジックデータに基づいてＨＴＴＰメソッドをデータベースのコマンドに変換して実行するＨＴＴＰメソッド実行装置と、データベースを管理するデータベース管理装置を備えるＨＴＴＰメソッド実行システムに用いられるＨＴＴＰメソッド実行方法に関する。本発明の第３の特徴に係るＨＴＴＰメソッド実行方法は、変換ロジック生成装置が、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータを記憶するステップと、変換ロジック生成装置が、選択ロジックデータを参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するＨＴＴＰメソッドと、特定したテーブルに対応するＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力するステップと、ＨＴＴＰメソッド実行装置が、アプリケーション実行装置から、ＨＴＴＰメソッドと処理対象を含む処理リクエストを受信するステップと、ＨＴＴＰメソッド実行装置が、変換ロジックデータを参照して、処理リクエストをデータベースに対するデータベースリクエストに変換するとともに、処理リクエストに含まれるＨＴＴＰメソッドと、処理リクエストに含まれる処理対象から、コマンドの処理種別を決定するステップと、ＨＴＴＰメソッド実行装置が、決定した処理種別に基づいて、データベースリクエストを処理するステップを備える。
【００１９】
本発明の第３の特徴は、コンピュータに、本発明の第１の特徴に記載の変換ロジック生成装置として機能させるための変換ロジック生成プログラムに関する。
【発明の効果】
【００２０】
本発明によれば、ＨＴＴＰメソッドからＡＰＩを作成する際に、同期処理または非同期処理を最適に選択可能な変換ロジック生成装置、ＨＴＴＰメソッド実行システム、ＨＴＴＰメソッド実行方法および変換ロジック生成プログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態に係る情報処理システムのシステム構成を説明する図である。
【図２】本発明の実施の形態に係るＨＴＴＰメソッド実行方法を説明するシーケンス図である。
【図３】本発明の実施の形態に係る変換ロジック生成装置のハードウエア構成および機能ブロックを説明する図である。
【図４】本発明の実施の形態に係る変換ロジックデータの一例を説明する図である。
【図５】ＡＰＩで指定されるＨＴＴＰメソッドと、各ＨＴＴＰメソッドに対応するデータベースのコマンドを説明する図である。
【図６】本発明の実施の形態に係る変換ロジック生成部による変換ロジック生成手段の処理を説明するフローチャートである。
【図７】本発明の実施の形態に係るＨＴＴＰメソッド実行装置のハードウエア構成および機能ブロックを説明する図である。
【図８】本発明の実施の形態に係る処理結果データの一例を説明する図である。
【図９】データベース管理装置が管理する具体的なテーブルの一例を説明する図である。
【図１０】図９に示す顧客テーブルのテーブル構造データを説明する図である。
【図１１】図９に示す製品テーブルのテーブル構造データを説明する図である。
【図１２】図９に示す発注名簿テーブルのテーブル構造データを説明する図である。
【発明を実施するための形態】
【００２２】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２３】
（情報処理システム）
図１を参照して、本発明の実施の形態に係る変換ロジック生成装置１が用いられる情報処理システム９を説明する。情報処理システム９は、ＨＴＴＰメソッド実行システム５、アプリケーション開発装置６およびアプリケーション実行装置７を備える。ＨＴＴＰメソッド実行システム５、アプリケーション開発装置６およびアプリケーション実行装置７は、インターネット等の通信ネットワーク８により相互に通信可能に接続される。
【００２４】
アプリケーション開発装置６は、本発明の実施の形態に係るＡＰＩを用いたアプリケーションを生成する。またアプリケーション開発装置６は、生成したアプリケーションで用いるＡＰＩに関する情報を、ＨＴＴＰメソッド実行システム５に登録する。
【００２５】
アプリケーション実行装置７は、アプリケーション開発装置６が生成したアプリケーションを実行し、アプリケーションにおいて、ＡＰＩを用いてＨＴＴＰメソッド実行システム５にアクセスして処理をリクエストし、ＨＴＴＰメソッド実行システム５から処理結果を受領する。
【００２６】
ＨＴＴＰメソッド実行システム５は、アプリケーション実行装置７が送信したＡＰＩを、データベース管理装置３が管理するデータに対するアクセスするためのコマンドに変換してデータを処理し、処理結果をアプリケーション実行装置７に送信する。
【００２７】
ＨＴＴＰメソッド実行システム５は、変換ロジック生成装置１、ＨＴＴＰメソッド実行装置２およびデータベース管理装置３を備える。変換ロジック生成装置１、ＨＴＴＰメソッド実行装置２およびデータベース管理装置３は、ＬＡＮ（Local Area Network）等の通信ネットワーク４により相互に通信可能に接続される。本発明の実施の形態において、変換ロジック生成装置１、ＨＴＴＰメソッド実行装置２およびデータベース管理装置３は、それぞれ個別のハードウエアである場合を説明するが、一つのハードウエアにおいて、各装置の機能が実現されても良いし、３台以上のハードウエアによって、各装置の機能が実現されても良い。また各装置は、仮想マシンであっても良い。
【００２８】
変換ロジック生成装置１は、アプリケーション実行装置７から受信したＨＴＴＰメソッドを、データベースのコマンドに変換するための変換ロジックデータＬを生成する。変換ロジック生成装置１は、アプリケーション開発装置６から受信したＡＰＩに関する情報に基づいて、予めアプリケーションが送信するＨＴＴＰメソッドと、そのＨＴＴＰメソッドに対応するデータベースに対するコマンドに変換した変換ロジックデータＬを生成する。
【００２９】
ＨＴＴＰメソッド実行装置２は、アプリケーション実行装置７からＨＴＴＰメソッドの処理リクエストを受信すると、変換ロジックデータＬに基づいて、ＨＴＴＰメソッドに対応するコマンドで、データベースにアクセスして処理し、その結果をアプリケーション実行装置７に送信する。
【００３０】
データベース管理装置３は、アプリケーション実行装置７がアクセスするデータを管理するＤＢＭである。データベース管理装置３は、データを複数のテーブルまたはビューの形式で保持するとともに、ＳＱＬ（Structured Query Language）によりデータにアクセスするためのインタフェースとして機能する。データベース管理装置３は、ＨＴＴＰメソッド実行装置２からのデータベースリクエスト（ＤＢリクエスト）を受け付け、ＨＴＴＰメソッド実行装置２に、処理結果を含むデータベースレスポンス（ＤＢレスポンス）を送信する。
【００３１】
本発明の実施の形態においてＡＰＩは、ＲＥＳＴ  ＡＰＩを意味する。ＡＰＩにおいて、ＳＱＬコマンドに変換可能なＨＴＴＰメソッド、データベース管理装置３が有するテーブルまたはビューを特定するＵＲＩ、テーブルまたはビューの属性を特定可能なＪＳＯＮ形式またはクエリ形式のパラメータ等が指定される。
【００３２】
本発明の実施の形態に係るＨＴＴＰメソッド実行システム５は、アプリケーション実行装置７から受信したＡＰＩについて、予め作成した変換ロジックデータＬに従って同期処理で行うか非同期処理で行うかを示す処理種別を決定し、決定した処理種別で、ＨＴＴＰメソッドを実行する。アプリケーションがＡＰＩの処理をＨＴＴＰメソッド実行システム５にリクエストする際、ＨＴＴＰメソッドの処理種別を特定しなくても良く、アプリケーションの開発者は、ＤＢＭに関する知識は要求されない。
【００３３】
（ＨＴＴＰメソッド実行方法）
図２を参照して、本発明の実施の形態に係るＨＴＴＰメソッド実行方法を説明する。
【００３４】
ステップＳ１においてアプリケーション実行装置７が、ＨＴＴＰメソッド実行装置２に処理リクエストを送信する。この処理リクエストには、ＨＴＴＰメソッドと処理対象とを含む。この処理対象は、データベース管理装置３が管理するデータを特定する情報である。
【００３５】
ＨＴＴＰメソッド実行装置２は、アプリケーション実行装置７から処理リクエストを受信すると、ステップＳ２において変換ロジック生成装置１から変換ロジックデータＬを取得する。ＨＴＴＰメソッド実行装置２は、変換ロジックデータＬを予め取得しても良い。
【００３６】
ステップＳ３においてＨＴＴＰメソッド実行装置２は、アプリケーション実行装置７から受信した処理リクエストを、データベースリクエストに変換する。データベースリクエストは、処理リクエストに含まれるＨＴＴＰメソッドに対応するデータベースのコマンドと、処理リクエストに含まれる処理対象に対応するデータベース中のデータを特定する処理対象を含む。ステップＳ４においてＨＴＴＰメソッド実行装置２は、変換ロジックデータＬに従って、受信した処理リクエストの処理種別を特定し、ステップＳ５において特定した処理種別に従って処理を切り替える。
【００３７】
同期処理と特定された場合、ＨＴＴＰメソッド実行装置２は、ステップＳ１１において、ステップＳ３で変換したデータベースリクエストをデータベース管理装置３に送信する。データベース管理装置３は、ステップＳ１１で受信したデータベースリクエストを処理し、ステップＳ１２において、処理結果を含むデータベースレスポンスをＨＴＴＰメソッド実行装置２に送信する。ＨＴＴＰメソッド実行装置２は、ステップＳ１２で受信したデータベースレスポンスをアプリケーション実行装置７宛の処理レスポンスに変換する。ステップＳ１３においてＨＴＴＰメソッド実行装置２は、ステップＳ１で受信した処理リクエストに対する応答として、処理レスポンスをアプリケーション実行装置７に送信する。
【００３８】
一方非同期処理と特定された場合、ＨＴＴＰメソッド実行装置２は、ステップＳ２１において、ステップＳ１で受信した処理リクエストに対する応答として、問い合わせＵＲＩを設定したレスポンスをアプリケーション実行装置７に送信する。問い合わせＵＲＩは、アプリケーション実行装置７が、ステップＳ１で送信した処理リクエストに対する処理結果を受信するために用いられる。ステップＳ２２においてＨＴＴＰメソッド実行装置２は、ステップＳ２２において、ステップＳ３で変換したデータベースリクエストをデータベース管理装置３に送信する。データベース管理装置３は、ステップＳ２２で受信したデータベースリクエストを処理し、ステップＳ２３において、処理結果を含むデータベースレスポンスをＨＴＴＰメソッド実行装置２に送信する。ステップＳ２４においてＨＴＴＰメソッド実行装置２は、ステップＳ２１で送信した問い合わせＵＲＩと、ステップＳ２３で受信した処理結果とを対応づけて保持する。
【００３９】
ステップＳ２５においてアプリケーション実行装置７が、問い合わせＵＲＩを指定した問合リクエストをＨＴＴＰメソッド実行装置２に送信すると、ＨＴＴＰメソッド実行装置２は、ステップＳ２６において、受信した問い合わせＵＲＩに対応づけられた処理結果を、アプリケーション実行装置７に送信する。なお図示しないが、ステップＳ２４で処理結果を保持する前に、アプリケーション実行装置７が問合リクエストをＨＴＴＰメソッド実行装置２に送信すると、ＨＴＴＰメソッド実行装置２は、まだ処理が完了していない旨をアプリケーション実行装置７に返す。
【００４０】
（変換ロジック生成装置）
図３を参照して、本発明の実施の形態に係る変換ロジック生成装置１を説明する。変換ロジック生成装置１は、記憶装置１０、処理装置２０、通信制御装置３０を備える一般的なコンピュータである。一般的なコンピュータが変換ロジック生成プログラムを実行することにより、図３に示す機能を実現する。
【００４１】
記憶装置１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置２０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置２０は、ＣＰＵ（Central Processing Unit）であって、記憶装置１０に記憶されたデータを読み書きしたり、通信制御装置３０とデータを入出力したりして、変換ロジック生成装置１における処理を実行する。通信制御装置３０は、変換ロジック生成装置１が、ＨＴＴＰメソッド実行装置２およびデータベース管理装置３と通信可能に接続するためのインタフェースである。
【００４２】
記憶装置１０は、テーブル構造データ１１、選択ロジックデータ１２および変換ロジックデータＬを記憶する。
【００４３】
テーブル構造データ１１は、データベース管理装置３が管理するテーブルの構造データである。テーブル構造データ１１は、ＤＤＬ（Database Definition Language）によって記載される。テーブル構造データ１１の形式を、例えば図１０ないし図１２の各（ａ）に示すが、これらの図に示す形式でなくても良い。
【００４４】
選択ロジックデータ１２は、データベース管理装置３が管理するデータベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけたデータである。選択ロジックデータ１２は、ＨＴＴＰメソッド実行システム５の管理者等によって、予め作成される。
【００４５】
例えば選択ロジックデータ１２は、「テーブルに対する実行に時間を要する」条件に対して、処理種別として「非同期処理」を対応づける。選択ロジックデータ１２は、「データベースの他のテーブルへのアクセスを伴う」条件に対して、処理種別として「非同期処理」を対応づける。さらに選択ロジックデータ１２は、指定された条件外のケースについては、デフォルトの処理種別として「同期処理」を対応づけるようにしても良い。
【００４６】
また選択ロジックデータ１２は、データベース管理装置３が管理する各テーブルについて、データベースへのコマンドと、このテーブルに対するこのコマンドの処理種別を対応づけたデータであっても良い。この場合選択ロジックデータ１２は、各テーブルについて、データベースの各コマンド（ＩＮＳＥＲＴ、ＳＥＬＥＣＴ、ＵＰＤＡＴＥ、ＤＥＬＥＴＥ）について、処理種別を特定可能である。
【００４７】
変換ロジックデータＬは、本発明の実施の形態に係る変換ロジック生成装置１が、ＨＴＴＰメソッド実行装置２に出力するデータである。変換ロジックデータＬは、アプリケーション実行装置７から受信するＨＴＴＰメソッドと、ＨＴＴＰメソッドの処理対象と、ＨＴＴＰメソッドに対応するコマンドの処理種別を対応づけたデータである。
【００４８】
変換ロジックデータＬは、例えば図４に示すように、アプリケーションから受信するＡＰＩに関する欄と、データベースを処理するためのＳＱＬに関する欄を備える。ＡＰＩに関する項目の各小項目と、ＳＱＬに関する項目の各小項目は、相互に変換可能に対応づけられる。ＡＰＩに関する項目は、ＡＰＩで指定される処理対象のＵＲＩと、テーブル中の属性を特定するためのパラメータの各小項目を含む。パラメータは、ＡＰＩに含まれるパラメータをＪＳＯＮ形式で記載したフォーマットと、クエリ形式で記載したフォーマットを含む。ＳＱＬに関する項目は、ＡＰＩに関する項目の処理対象ＵＲＩの小項目に対応するテーブル名と、パラメータの小項目で特定された属性のデータベースのテーブルにおける記載の各小項目を含む。
【００４９】
さらに、変換ロジックデータＬは、ＡＰＩに関する項目において、ＡＰＩで指定されるＨＴＴＰメソッドを有し、ＳＱＬに関する項目において、ＨＴＴＰメソッドに対応するデータベースのコマンドが対応づけられる。ＡＰＩで指定されるＨＴＴＰメソッドと、各ＨＴＴＰメソッドに対応するデータベースのコマンドの関係は、図５に示すように、予め定められている。
【００５０】
さらに変換ロジックデータＬは、テーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別を対応づける。例えば図４に示す例では、ＨＴＴＰメソッド“ＧＥＴ”は、ＳＱＬコマンドの“ＳＥＬＥＣＴ”に対応し、同期処理である。ＨＴＴＰメソッド“ＰＯＳＴ”は、ＳＱＬコマンドの“ＩＮＳＥＲＴ”に対応し、非同期処理である。
【００５１】
処理装置２０は、テーブル構造取得部２１、変換ロジック生成部２２および変換ロジック提供部２４を備える。
【００５２】
テーブル構造取得部２１は、アプリケーション開発装置６からＡＰＩの登録を行う指示が入力された際、そのＡＰＩの処理で用いられるデータベースの各テーブルについて、テーブル構造データ１１を取得して記憶装置１０に記憶する。アプリケーション開発装置６は、例えば、ＤＢＭのＩＰアドレス、ポート番号などを指定して、テーブル構造取得部２１が対象となるデータベースを特定し、特定されたデータベースが収容する各テーブルについて、テーブル構造データ１１を取得しても良い。
【００５３】
変換ロジック生成部２２は、テーブル構造データ１１および選択ロジックデータ１２を参照して、変換ロジックデータＬを生成する。変換ロジック生成部２２は、従来と同様に、（１）ＨＴＴＰメソッドとＤＢＭのデータを操作するコマンドの変換、（２）ＨＴＴＰで指定されるＵＲＩとＤＢＭのテーブルまたはビューの変換および（３）ＨＴＴＰで指定されるパラメータとＤＢＭの属性の変換を行う。本発明の実施の形態に係る変換ロジック生成部２２は、さらに（４）同期処理で行うか非同期処理で行うかの処理種別を設定する処理種別決定部２３を備える。
【００５４】
処理種別決定部２３は、選択ロジックデータ１２を参照して、選択ロジックデータ１２の条件に適合するデータベースのテーブルおよびコマンドと処理種別を特定する。処理種別決定部２３は、変換ロジックデータＬにおいて、特定したコマンドに対応するＨＴＴＰメソッドと、特定したテーブルに対応するＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づける。処理種別決定部２３は、テーブルの構造に従って処理種別を決定する場合、テーブル構造データ１１も併せて参酌する。処理種別決定部２３は、データベースのテーブルに対するコマンドが、選択ロジックデータ１２で定められた条件を満たすか否かを判定するために、テーブル構造データ１１を参照したり、その他の必要なデータを参照したりしても良い。
【００５５】
例えば、選択ロジックデータ１２において、「テーブルに対する実行に時間を要する」条件に対して、処理種別として非同期処理が対応づけられる場合、処理種別決定部２３は、実行に時間を要するコマンドとテーブルを特定する。処理種別決定部２３は、特定したコマンドとテーブルについて、このコマンドに対応するＨＴＴＰメソッドと、このテーブルに対する処理対象に、処理種別として非同期処理を対応づけて変換ロジックデータＬを更新する。
【００５６】
また選択ロジックデータ１２において、「データベースの他のテーブルへのアクセスを伴う」条件に対して、処理種別として非同期処理が対応づけられる場合、処理種別決定部２３は、テーブルに対するコマンドの実行に伴って、他のテーブルへアクセスするコマンドとテーブルを特定する。処理種別決定部２３は、特定したコマンドとテーブルについて、このコマンドに対応するＨＴＴＰメソッドと、このテーブルに対する処理対象に、処理種別として非同期処理を対応づけて変換ロジックデータＬを更新する。
【００５７】
また選択ロジックデータ１２において、データベース管理装置３が管理する各テーブルについて、データベースへのコマンドと、このテーブルに対するこのコマンドの処理種別を対応づける場合、処理種別決定部２３は、選択ロジックデータ１２から、アプリケーション実行装置７から受信するＨＴＴＰメソッドに対応するコマンドと、ＨＴＴＰメソッドの処理対象に対応するテーブルから、処理種別を特定する。処理種別決定部２３は、特定されたＨＴＴＰメソッドと、特定されたＨＴＴＰメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータＬを出力する。
【００５８】
このように処理種別決定部２３は、選択ロジックデータ１２を参照して、コマンドとテーブルに対応するＨＴＴＰメソッドおよび処理対象について、処理種別として非同期処理または同期処理を対応づけて、変換ロジックデータＬを更新する。
【００５９】
複数のテーブルの変更を伴うなど、処理に時間がかかるコマンドを同期処理で行った場合、アプリケーション実行装置７がＡＰＩを送信してから所定の時間以内にレスポンスを返信することができず、タイムアウトとなってしまう場合がある。そこで、処理種別決定部２３は、原則同期処理を割り当て、処理に時間がかかるコマンドについて例外的に非同期処理を割り当てる。これにより、アプリケーション開発者にＤＢＭの知識がない場合でも、アプリケーション実行装置７は、アプリケーションでタイムアウトが生じる事態を回避して、結果を適切に取得することができる。
【００６０】
変換ロジック提供部２４は、変換ロジック生成部２２が生成した変換ロジックデータＬを、ＨＴＴＰメソッド実行装置２に送信する。変換ロジック提供部２４は、変換ロジックデータＬが生成された際にＨＴＴＰメソッド実行装置２に送信しても良いし、ＨＴＴＰメソッド実行装置２からリクエストがあった際にＨＴＴＰメソッド実行装置２に送信しても良い。
【００６１】
図６を参照して、本発明の実施の形態に係る変換ロジック生成部２２による変換ロジック生成処理を説明する。
【００６２】
まずステップＳ１０１において変換ロジック生成部２２は、変換対象のＨＴＴＰのメソッドとＤＢのコマンドを対応づける。ステップＳ１０２において変換ロジック生成部２２は、アプリケーションから送信される処理対象と、ＤＢのテーブルおよび属性とを対応づける。ステップＳ１０１およびステップＳ１０２の処理は、図５に示すテーブルなどを用いて従来と同様の方法で行われる。
【００６３】
次に、ステップＳ１０３において変換ロジック生成部２２は、ＡＰＩで指定される処理対象に対応する各テーブルおよびデータベースの各コマンドについて、選択ロジックデータ１２に従って、同期処理で行うか或いは非同期処理で行うかを示す処理種別を特定する。或いは、変換ロジック生成部２２は、選択ロジックデータ１２に従って、非同期処理で行うテーブルおよびコマンドを特定するとともに、それ以外のテーブルおよびコマンドについて非同期処理で行うと、各処理種別を特定しても良い。
【００６４】
ステップＳ１０４において変換ロジック生成部２２は、ステップＳ１０１ないしステップＳ１０３の処理結果に基づいて、変換ロジックデータＬを生成する。本発明の実施の形態において変換ロジック生成部２２は特に、ＨＴＴＰメソッドおよび処理対象に、処理対象に対応するテーブルおよび属性に対して、ＨＴＴＰメソッドに対応するコマンドを実行する際の処理種別として、ステップＳ１０３で特定した処理種別を対応づけて変換ロジックデータＬを生成する。
【００６５】
（ＨＴＴＰメソッド実行装置）
図７を参照して、本発明の実施の形態に係るＨＴＴＰメソッド実行装置２を説明する。ＨＴＴＰメソッド実行装置２は、記憶装置５０、処理装置６０および通信制御装置７０を備える一般的なコンピュータである。一般的なコンピュータがＨＴＴＰメソッド実行プログラムを実行することにより、図７に示す機能を実現する。
【００６６】
記憶装置５０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置６０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置６０は、ＣＰＵ（Central Processing Unit）であって、記憶装置５０に記憶されたデータを読み書きしたり、通信制御装置７０とデータを入出力したりして、ＨＴＴＰメソッド実行装置２における処理を実行する。通信制御装置７０は、ＨＴＴＰメソッド実行装置２が、変換ロジック生成装置１およびデータベース管理装置３と通信可能に接続するためのインタフェースである。
【００６７】
記憶装置５０は、変換ロジックデータＬおよび処理結果データ５１を記憶する。
【００６８】
変換ロジックデータＬは、変換ロジック生成装置１が生成したデータであって、図４等を参照して説明したデータである。
【００６９】
処理結果データ５１は、データベースに非同期処理を行った場合の処理結果を保持する。処理結果データ５１は、図８に示すように、データベースに対して行った非同期処理に割り当てられた問い合わせＵＲＩに、その非同期処理の処理結果の識別子（リンク）を対応づけて保持する。
【００７０】
処理装置６０は、変換ロジック取得部６１、アプリリクエスト処理部６２、変換部６３およびデータベースリクエスト処理部６４を備える。
【００７１】
変換ロジック取得部６１は、変換ロジック生成装置１から変換ロジックデータＬを取得して、記憶装置５０に記憶する。変換ロジック取得部６１は、アプリケーション実行装置７から処理リクエストを受信した際に変換ロジックデータＬを取得しても良いし、予め変換ロジックデータＬを取得しても良い。
【００７２】
アプリリクエスト処理部６２は、アプリケーション実行装置７から、ＨＴＴＰメソッドと処理対象を含むリクエストを受信する。アプリリクエスト処理部６２はさらに、処理リクエストの処理結果をアプリケーション実行装置７に返す。
【００７３】
変換部６３は、変換ロジックデータＬを参照して、処理リクエストをデータベースに対するデータベースリクエストに変換するとともに、処理リクエストに含まれるＨＴＴＰメソッドと、処理リクエストに含まれる処理対象から、コマンドの処理種別を決定する。変換部６３は、処理リクエストで指定されたＨＴＴＰメソッドを、データベースコマンドに変換し、処理リクエストで指定された処理対象を、データベースのテーブルの属性に変換する。さらに変換部６３は、処理リクエストで指定されたＨＴＴＰメソッドおよび処理対象に対して、同期処理で行うか非同期処理で行うかを示す処理種別を特定する。
【００７４】
データベースリクエスト処理部６４は、変換部６３が変換したデータベースリクエストを、変換部６３が決定した処理種別に基づいて、データベースリクエストを処理する。データベースリクエスト処理部６４は、同期処理でデータベースにアクセスする同期処理部６５と、非同期処理でデータベースにアクセスする非同期処理部６６を有する。
【００７５】
同期処理部６５は、データベースリクエストを即座に処理し、アプリケーション実行装置７に返す。具体的には同期処理部６５は、変換部６３が決定した処理種別が同期処理の場合、データベースリクエストをデータベース管理装置３に送信し、データベース管理装置から受信した処理結果をアプリケーション実行装置７に送信する。
【００７６】
非同期処理部６６は、データベースリクエストを即座に処理することなく、問い合わせＵＲＩを作成してアプリケーション実行装置７に返し、データベースリクエストを処理する。具体的には非同期処理部６６は、変換部６３が決定した処理種別が非同期処理の場合、処理リクエストに対する処理結果を提供する問い合わせＵＲＩを含む処理レスポンスをアプリケーション実行装置７に送信する。また同期処理部６５は、データベースリクエストをデータベース管理装置３に送信し、データベース管理装置３から受信した処理結果を、問い合わせＵＲＩと対応づけて、処理結果データ５１に保持する。
【００７７】
非同期処理部６６は、データベース管理装置３から受信した処理結果を処理結果データ５１に保持する前に、アプリケーション実行装置７から問い合わせＵＲＩを含む問い合わせリクエストを受信すると、処理が未完了である旨をアプリケーション実行装置７に返す。一方非同期処理部６６は、データベース管理装置３から受信した処理結果を処理結果データ５１に保持した後に、アプリケーション実行装置７から問い合わせＵＲＩを含む問い合わせリクエストを受信すると、その処理結果をアプリケーション実行装置７に返す。
【００７８】
（具体例）
図９ないし図１２を参照して、データベース管理装置３が管理する具体的なテーブルを例に、変換ロジック生成装置１が、「データベースの他のテーブルへのアクセスを伴う」条件についてコマンドを非同期処理と判定する例を説明する。
【００７９】
図９は、データベース管理装置３が管理する顧客テーブルＴ１、製品テーブルＴ２および発注名簿テーブルＴ３の一例である。発注名簿テーブルＴ３の「顧客アドレス」は、顧客テーブルＴ１の「顧客ＩＤ」とリレーションシップを有し、発注名簿テーブルＴ３の「製品名」は、製品テーブルＴ２の「製品ＩＤ」とリレーションシップを有する。
【００８０】
顧客テーブルＴ１のテーブル構造データを図１０（ａ）に示し、テーブル構造データでの表記と、図９での表記との対応を図１０（ｂ）に示す。製品テーブルＴ２および発注名簿テーブルＴ３も同様に、テーブル構造データを図１１（ａ）および図１２（ａ）に示し、テーブル構造データでの表記と、図９での表記との対応を図１１（ｂ）および図１２（ｂ）に示す。
【００８１】
ここで、図１２（ａ）に示す発注名簿テーブルＴ３のテーブル構造データにおいて、「顧客アドレス（ｃｕｓｔｏｍｅｒ＿ａｄｄｒｅｓｓｓ）」および「製品名（ｐｒｏｄｕｃｔ＿ｎａｍｅ）」について、“ＦＯＲＥＩＧＮ  ＫＥＹ”であることが示されている。また各項目は、それぞれ他のテーブルの“ｃｕｓｔｏｍｅｒ＿ｉｄ”と“ｐｒｏｄｕｃｔ＿ｉｄ”を参照することを示す。
【００８２】
ここで、変換ロジック生成装置１の選択ロジックデータ１２において、「データベースの他のテーブルへのアクセスを伴う」条件について、非同期処理を行うと設定されているとする。図１２に示す発注名簿テーブルの構造データにおいて、“ＦＯＲＥＩＧＮ  ＫＥＹ”という外部キー、すなわちリレーションがある。発注名簿テーブルＴ３に対する追加または変更を伴うＩＮＳＥＲＴおよびＵＰＤＡＴＥのコマンドは、他のテーブルへのアクセスを伴う。従って、処理種別決定部２３は、図１２に示す発注名簿テーブルＴ３について、ＩＮＳＥＲＴおよびＵＰＤＡＴＥに対応するＨＴＴＰメソッドのＰＯＳＴおよびＰＵＴについて、非同期処理で行うと決定する。処理種別決定部２３は、図１２に示す発注名簿テーブルＴ３について、ＩＮＳＥＲＴおよびＵＰＤＡＴＥ以外のコマンドであるＳＥＬＥＣＴおよびＤＥＬＥＴＥに対応するＨＴＴＰメソッドのＧＥＴおよびＤＥＬＥＴＥについて、同期処理で行うと決定する。
【００８３】
なお、ここで説明した選択ロジックデータ１２は一例であり、これに限るものではない。例えば、選択ロジックデータ１２において、「データベースの他の２以上のテーブルへのアクセスを伴う」条件について非同期処理にすると設定しても良い。また「所定数以上のレコードを有するテーブルに対するコマンド」の条件について、非同期処理にすると設定しても良い。そのほか、経験的に処理に時間がかかると判定される条件や、経験的に処理に時間がかかると判定されたテーブルおよびコマンドの組み合わせについて、非同期処理にすると設定しても良い。また実際の運用において、処理に時間がかかると判定されたテーブルおよびコマンドの組み合わせについて、非同期処理にすると設定しても良い。
【００８４】
このような本発明の実施の形態に係る変換ロジック生成装置１は、選択ロジックデータ１２において、予め、テーブルと、このテーブルに対するコマンドを、非同期処理にするか同期処理にするかの処理種別を対応づける。変換ロジック生成装置１は、選択ロジックデータ１２に基づいて、ＨＴＴＰメソッドと、処理対象に、処理種別を対応づけた変換ロジックデータＬを出力するので、ＨＴＴＰメソッド実行装置２が、ＨＴＴＰメソッドからＡＰＩを作成する際に、同期処理または非同期処理を最適に選択することができる。これによりＡＰＩを送信するアプリケーションの開発者は、ＡＰＩコマンドについて、同期処理または非同期処理の処理種別を設定する必要がないので、データベースの仕組みを熟知していなくとも、ＡＰＩコマンドの処理種別を特定することができる。また処理種別が適切に設定できるので、アプリケーション実行装置７は、アプリケーションでタイムアウトが生じるなどの不足の事態が生じることなく、結果を取得することができる。
【００８５】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００８６】
例えば、本発明の実施の形態に記載した変換ロジック生成装置は、図３に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。また、既存の情報処理システム上に実現されても良い。
【００８７】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００８８】
１  変換ロジック生成装置
２  ＨＴＴＰメソッド実行装置
３  データベース管理装置
４、８  通信ネットワーク
５  ＨＴＴＰメソッド実行システム
６  アプリケーション開発装置
７  アプリケーション実行装置
９  情報処理システム
１０、５０  記憶装置
３０、７０  通信制御装置
１１  テーブル構造データ
１２  選択ロジックデータ
２０、６０  処理装置
２１  テーブル構造取得部
２２  変換ロジック生成部
２３  処理種別決定部
２４  変換ロジック提供部
５１  処理結果データ
６１  変換ロジック取得部
６２  アプリリクエスト処理部
６３  変換部
６４  データベースリクエスト処理部
６５  同期処理部
Ｌ  変換ロジックデータ
【図１】
2019200691.tif 000003
【図２】
2019200691.tif 000004
【図３】
2019200691.tif 000005
【図４】
2019200691.tif 000006
【図５】
2019200691.tif 000007
【図６】
2019200691.tif 000008
【図７】
2019200691.tif 000009
【図８】
2019200691.tif 000010
【図９】
2019200691.tif 000011
【図１０】
2019200691.tif 000012
【図１１】
2019200691.tif 000013
【図１２】
2019200691.tif 000014