(57)【要約】      （修正有）【課題】修正を行う必要性、或いは修正量をより低減できる形でソース・プログラムを自動作成する。【解決手段】自動作成部２００は、記憶装置３００から第１のプロパティファイル３１１、及び第２のプロパティファイル３１２、テンプレートファイル群３２０を読み込み、データベース１０２のメタ情報を利用してテーブル定義情報を取得し、それらを用いて、それぞれ複種類のファイルを有するマッピングクラス群、ＤＡＯクラス群、及び定義ファイル群を自動作成できる。マッピングクラス群、ＤＡＯクラス群を構成する各ファイルは、ユーザが指定されたもののみを提供する。【選択図】図２
2006268124.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を行わせるためのソース・プログラムを自動作成する自動作成システムにおいて、
前記ソース・プログラムの自動作成に必要なデータを取得するデータ取得手段と、
前記データ取得手段が取得したデータを用いて、前記ソース・プログラムとして複数のファイルを自動作成できる自動作成手段と、
前記自動作成手段が自動作成できる複数のファイルのなかで自動作成の対象とすべきファイルを指定するための対象ファイル指定手段と、
前記対象ファイル指定手段により指定されたファイルを対象にして、前記自動作成手段に自動作成させて出力させる作成制御手段と、
を具備することを特徴とする自動作成システム。
【請求項２】
前記自動作成手段は、前記所定の処理でデータにアクセスするためのファイルを階層的に複種類、自動作成できる、
ことを特徴とする請求項１記載の自動作成システム。
【請求項３】
所定の処理を行わせるためのソース・プログラムを自動作成する自動作成システムの構築に用いられるデータ処理装置に実行させるプログラムであって、
前記ソース・プログラムの自動作成に必要なデータを取得する機能と、
前記取得する機能により取得したデータを用いて、前記ソース・プログラムとして複数のファイルを自動作成できる機能と、
前記自動作成できる機能により自動作成可能な複数のファイルのなかで自動作成の対象とすべきファイルを指定するための機能と、
前記指定するための機能により指定されたファイルを対象にして、前記自動作成できる機能により自動作成させて出力させる機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の処理を行わせるためのソース・プログラムを自動作成するための技術に関する。
【背景技術】
【０００２】
アプリケーション・プログラム（以降「アプリケーション」と略記）の開発には多大なコストがかかるのが普通である。このことから、開発に必要なコストを削減するために、ソース・プログラムを自動作成させることが行われている。自動作成システムは、その自動作成を行うものである。
【０００３】
従来の自動作成システムとしては、例えば特許文献１に記載されたものがある。その特許文献１に記載された自動作成システムでは、ソース・プログラムとして、ＸＭＬファイル、ＨＴＭＬファイルの複数のファイルを自動作成している。そのように複数のファイルに分けてソース・プログラムを自動作成すると、修正すべき内容によっては１つのファイルのみを更新するだけで済むようになり、その更新に必要とするスキルはより限定されたものとすることができる。
【０００４】
自動作成システムがユーザの望むソース・プログラムを確実に自動作成できるのであれば、そのような修正を行う必要性は回避される。しかし、そのような自動作成システムを実現させるのは非常に困難である。このことから、自動作成されたソース・プログラムは何らかの修正を行う必要があるのが普通となっている。それにより開発者は、ソース・プログラムを自動作成させる度に、その修正を行うのが実情となっていた。そのような実情から、アプリケーション・プログラムの開発をより容易とするうえでは、その修正を行う必要性、或いは修正量はより低減させることが重要であると考えられる。
【特許文献１】特開２００２−３６６３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、修正を行う必要性、或いは修正量をより低減できる形でソース・プログラムを自動作成する自動作成システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の自動作成システムは、所定の処理を行わせるためのソース・プログラムを自動作成することを前提とし、ソース・プログラムの自動作成に必要なデータを取得するデータ取得手段と、データ取得手段が取得したデータを用いて、ソース・プログラムとして複数のファイルを自動作成できる自動作成手段と、自動作成手段が自動作成できる複数のファイルのなかで自動作成の対象とすべきファイルを指定するための対象ファイル指定手段と、対象ファイル指定手段により指定されたファイルを対象にして、自動作成手段に自動作成させて出力させる作成制御手段と、を具備する。
【０００７】
なお、上記自動作成手段は、所定の処理でデータにアクセスするためのファイルを階層的に複種類、自動作成できる、ことが望ましい。
本発明のプログラムは、所定の処理を行わせるためのソース・プログラムを自動作成する自動作成システムの構築に用いられるデータ処理装置に実行させることを前提とし、ソース・プログラムの自動作成に必要なデータを取得する機能と、取得する機能により取得したデータを用いて、ソース・プログラムとして複数のファイルを自動作成できる機能と、自動作成できる機能により自動作成可能な複数のファイルのなかで自動作成の対象とすべきファイルを指定するための機能と、指定するための機能により指定されたファイルを対象にして、自動作成できる機能により自動作成させて出力させる機能と、を実現させる。
【発明の効果】
【０００８】
本発明は、自動作成に必要なデータを取得し、そのデータを用いて、ソース・プログラムとして複数のファイルを自動作成できるようになっており、複数のファイルのなかで自動作成の対象とすべきファイルをユーザに指定させ、指定されたファイルのみをユーザに提供する。そのため、ユーザは必要なファイルのみを選択して取得することができる。それにより、残すべき必要なファイルが上書きによって失われてしまうといったことを確実に回避させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明を実施するための最良の形態について説明する。
図１は、本実施の形態で前提とするＷｅｂアプリケーションの構成例を説明する図である。図１のＷｅｂアプリケーション１０１は、クライアントレイヤ１１１、プレゼンテーションレイヤ１１２、ビジネスレイヤ１１３、および永続化レイヤ１１４からなる。クライアントレイヤ１１１は、クライアントである端末装置上で動作するＷｅｂブラウザ１２１を有する。プレゼンテーションレイヤ１１２、ビジネスレイヤ１１３、および永続化レイヤ１１４は、通信ネットワークを介して端末装置と接続されたサーバ上で動作する。本実施の形態による自動作成システムは、そのサーバ上で実現されている。
【００１０】
プレゼンテーションレイヤ１１２は、単独のＪａｖａ（登録商標）仮想マシンで実行され、ビジネスレイヤ１１３と永続化レイヤ１１４は、同一のＪａｖａ仮想マシンで実行される。プレゼンテーションレイヤ１１２のＪａｖａ仮想マシンとビジネスレイヤ１１３および永続化レイヤ１１４のＪａｖａ仮想マシンは、同一のサーバ上にあってもよく、別々のサーバ上にあってもよい。
【００１１】
プレゼンテーションレイヤ１１２は、プレゼンテーションの基盤技術としてＪＳＦ（JavaServer Faces ）１３２を用いたアプリケーションサーバ１３１を有する。ＪＳＦ１３２は、ビジネスロジックとプレゼンテーションデザインの分離を目的とした、Ｗｅｂアプリケーションのインタフェースのためのフレームワークである。
【００１２】
ＪＳＦ１３２は、グラフィカルユーザインタフェース（ＧＵＩ）でＷｅｂアプリケーションを開発できるツールであり、Ｗｅｂアプリケーションを構成する画面コンポーネントをマウスでドラッグ＆ドロップすることにより、画面フォーム上に配置できる。また、コンポーネント毎に、イベントハンドラに相当するManaged Bean１３３を記述することができる。
【００１３】
ビジネスレイヤ１１３は、ビジネスオブジェクト１４２を生成するビジネスロジックコンテナ１４１を有し、ビジネスオブジェクト１４２は、ビジネスロジックを実行する。ビジネスオブジェクト１４２としては、例えば、ＰＯＪＯ（Plain Old Java Object ）が用いられる。これにより、ビジネスオブジェクト１４２の開発・試験時に特別な試験環境を必要とせず、また再利用性を高めている。
【００１４】
ビジネスロジックコンテナ１４１は、プレゼンテーションレイヤ１１２から処理要求が届くと、ビジネスオブジェクト１４２を生成して業務処理を依頼する。そして、業務処理が完了すると、そのビジネスオブジェクト１４２は廃棄される。同時に複数の処理要求が届いた場合は、複数のビジネスオブジェクト１４２が同時に生成される。
【００１５】
永続化レイヤ１１４は、データベース１０２にアクセスするためにＯ／Ｒマッピング１４５を有する。Ｏ／Ｒマッピング１４５は、Ｊａｖａオブジェクトモデルのデータ表現を、ＳＱＬ（Structured Query Language ）ベースのスキーマを持つリレーショナルデータモデルにマッピングする。また、Ｏ／Ｒマッピング１４５は、データベース１０２のスキーマからデータアクセスオブジェクト（ＤＡＯ）１４３を生成する。
【００１６】
アプリケーションサーバ１３１は、Ｗｅｂブラウザ１２１から要求を受信すると、その要求をManaged Bean１３３に通知し、Managed Bean１３３は、ビジネスロジックコンテナ１４１を呼び出す。これを受けて、ビジネスロジックコンテナ１４１は、ビジネスオブジェクト１４２を生成する。
【００１７】
生成されたビジネスオブジェクト１４２は、データベースアクセスを行うためにＤＡＯ１４３を獲得し、ＤＡＯ１４３を用いて、データベース１０２の表に相当するマッピングクラス１４４を獲得する。そして、マッピングクラス１４４のメソッドを使用して、データベース１０２を更新する。
【００１８】
処理結果は、データベース１０２からビジネスオブジェクト１４２、ビジネスロジックコンテナ１４１、Managed Bean１３３、アプリケーションサーバ１３１、Ｗｅｂブラウザ１２１の順番に通知される。
【００１９】
このようなＷｅｂアプリケーション１０１とは別に、プレゼンテーションレイヤを持たないアプリケーション１０３および１０４も設けられる。アプリケーション１０３および１０４は、Ｗｅｂアプリケーション１０１とは異なり、設定時刻に処理を起動したり、常に処理を実行し続けるタイプのものが多い。
【００２０】
アプリケーション１０３は、ビジネスレイヤ１５１および永続化レイヤ１５２からなり、ビジネスレイヤ１５１はバッチプロセス１５３を有し、永続化レイヤ１５２はＯ／Ｒマッピング１５４を有する。アプリケーション１０４は、ビジネスレイヤ１６１および永続化レイヤ１６２からなり、ビジネスレイヤ１６１はバッチプロセス１６３を有し、永続化レイヤ１６２はＯ／Ｒマッピング１６４を有する。
【００２１】
バッチプロセス１５３および１６３は、例えば、他サーバとの連携処理、夜間に実行されるデータ処理、ハードウェアとの通信処理等を行う。また、ビジネスオブジェクト１４２や他のバッチプロセスからイベントの通知を受け取ったり、他のバッチプロセスにイベントを通知したりすることができる。
【００２２】
Ｗｅｂアプリケーション１０１では、Managed Bean１３３およびビジネスオブジェクト１４２がオブジェクト共有機構１１５を介して、セッション情報や処理結果等のデータを持つオブジェクトを共有することができる。
【００２３】
図２は、本実施の形態による自動作成システムの構成例を説明する図である。その自動作成システムは、上述したように、プレゼンテーションレイヤ１１２、ビジネスレイヤ１１３、および永続化レイヤ１１４が動作するサーバ上で実現されている。自動作成の対象とするソース・プログラム（ソース・コード）は、データベース１０２へのアクセス用を想定している。それは、ソース・プログラムを自動作成する自動作成部２００、及び記憶装置３００を備えた構成となっている。その記憶装置３００は、サーバに搭載、若しくは接続されたもの、或いはそのサーバと接続された外部装置（例えばデータベースサーバ）である。
【００２４】
自動作成部２００には、記憶装置３００から、データベースサーバ情報を定義する第１のプロパティファイル（図中「ｈｉｂｅｒｎａｔｅ＿ｃｆｇ．ｐｒｏｐｅｒｔｉｅｓ」と表記）３１１、環境変数を定義する第２のプロパティファイル（図中「Ｉｎｉｔ．ｐｒｏｐｅｒｔｉｅｓ」と表記）３１２、データベース１０２のメタ情報、及び複数のテンプレートファイル３２１からなるテンプレートファイル群３２０が読み込まれる。それら各ファイル３１１、３１２、及び３２１は共に例えばＸＭＬファイルである。
【００２５】
自動作成部２００を説明する前に、自動作成を行わせるために用意すべきファイル、及び自動作成されるファイルについて、図３、及び図５〜図１３を参照して具体的に説明する。
【００２６】
図５、及び図６は、第１、及び第２のプロパティファイル３１１、３１２に格納された内容を説明する図である。
第１のプロパティファイル３１１には、図５に示すように、ＳＱＬ方言を設定するための「ｈｉｂｅｒｎａｔｅ．ｄｉａｌｅｃｔ」項目、Javaのデータベース・アクセスＡＰＩであるＪＤＢＣドライバクラスを設定するための「ｈｉｂｅｒｎａｔｅ．ｃｏｎｎｅｃｔｉｏｎ．ｄｒｉｖｅｒ＿ｃｌａｓｓ」項目、データベースサーバのＵＲＬを設定するための「ｈｉｂｅｒｎａｔｅ．ｃｏｎｎｅｃｔｉｏｎ．ｕｒｌ」項目、などが用意されており、各項目への設定を開発者（ユーザ）に行わせるようにしている。
【００２７】
第２のプロパティファイル３１２には、図６に示すように、自動作成するファイルの出力先を設定するための「ｓｒｃ＿ｐａｔｈ」項目、各種テンプレートファイル３２１の配備（保存）先を設定するための「ｔｅｍｐ＿ｐａｔｈ」項目、ビジネスロジックレイヤとの連携状態を指定するための「ｂｌ＿ｊｏｉｎ＿ｆｌａｇ」項目、自動作成されるJavaクラスのパッケージ名称を設定するための「ｐａｃｋａｇｅ」項目、自動作成対象のテーブルを名称で設定するための「ｔａｂｌｅｓ」項目、及び自動作成除外対象のテーブルを名称で設定するための「ｅｘｃｌｕｄｅ＿ｔａｂｌｅｓ」項目、などが用意されており、各項目への設定を開発者（ユーザ）に行わせるようにしている。
【００２８】
図３は、自動作成されるソース・プログラムの構成を説明する図である。
本実施の形態では、図３に示すように、マッピングクラス群４１０、ＤＡＯクラス群４２０、及び定義ファイル群４３０に大別されるファイルを自動作成するようになっている。マッピングクラス群４１０は、「テーブル名．ｊａｖａ」と表記のマッピングクラス２１１、「テーブル名Ｂａｓｅ．ｊａｖａ」と表記のマッピングベースクラス４１１、及び「テーブル名ＰＫ．ｊａｖａ」と表記のマッピングプライマリクラス４１２、の３種類のファイルから構成される。それらの表記はファイル（ソース）名を表している。これらは他でも同様である。
【００２９】
ＤＡＯクラス群４２０は、「ｆｆｃＤＡＯＦａｃｔｏｒｙ．ｊａｖａ」と表記のＤＡＯファクトリークラス２４１、「テーブル名ＤＡＯ．ｊａｖａ」と表記のＤＡＯインターフェイスクラス２３１、及び「テーブル名ＤＡＯＩｍｐｌ．ｊａｖａ」と表記のＤＡＯクラス２３２の３種類のファイルから構成される。定義ファイル群４３０は、「テーブル名．ｈｂｍ．ｘｍｌ」と表記のマッピングファイル２１２、「ｈｉｂｅｒｎａｔｅ．ｃｆｇ．ｘｍｌ」と表記のＯ／Ｒマッピング環境ファイル３１３、及び「ａｐｐｌｉｃａｔｉｏｎＣｏｎｔｅｘｔ．ｘｍｌ」と表記のトランザクション管理ファイル２４２の２種類のファイルから構成される。マッピングファイル２１２は、例えば図９に示すようなものである。
【００３０】
図８は、上記各ファイルの作成単位、及びその作成に用いるテンプレートファイルを説明する図である。その図８に示すように、各ファイル作成用のテンプレートファイル３２１が用意され、ＤＡＯファクトリークラス２４１、Ｏ／Ｒマッピング環境ファイル３１３、及びトランザクション管理ファイル２４２を除くファイルは何れもテーブル（データベース）単位に作成されるようになっている。Ｏ／Ｒマッピング環境ファイル３１３はＯ／Ｒマッピング１４５が必要とするファイルであり、図７に示すような項目が存在する。
【００３１】
上記第２のプロパティファイル３１２に用意された「ｔａｂｌｅｓ」項目、及び「ｅｘｃｌｕｄｅ＿ｔａｂｌｅｓ」項目では、自動作成の対象とすべき、及びその除外対象とすべきテーブルをそれぞれ設定できるようになっている。それにより、本実施の形態では、自動作成させるべきテーブル用のファイルのみを任意に選択して自動作成させられるようにしている。テーブル単位で選択させるようにしたのは、構成等の変更にデータベース１０２単位で対応できるようにしたためである。
【００３２】
そのように自動作成させるファイルを選択（指定）できるようにしたことにより、開発者は必要なファイルのみを自動作成させることができる。新たに自動作成させても実質的に内容が変化しないことで、そのまま使用可能、或いは僅かな修正が必要な修正済みのファイルは残す形で自動作成させることができる。このため、開発者にとっての利便性はより向上し、自動作成後に修正を行う必要性、或いは修正量はより低減できることとなる。それにより、プログラム開発はより容易となる。
【００３３】
マッピングプライマリクラス４１２は、複合主キーを定義したクラスであり、対象テーブルが複合主キーである場合のみ作成される。マッピングベースクラス４１１は、その上位に位置し、マッピングクラス２１１は、ラッパークラスとなっている。そのような階層関係とさせることにより、マッピングクラス２１１の抽象化をより高めることができる。それにより、マッピングクラス２１１を新たに自動作成させる必要性をより低減させ、修正済みのマッピングクラス２１１はより高い確率でそのまま、或いは僅かな修正量で使用できるようにさせている。そのマッピングクラス２１１には、データのマッピングに必要なメンバー変数およびアクセサーメソッドがJavaBeansスタイルで実装されている。
【００３４】
ＤＡＯクラス群４２０では、修正の対象としてＤＡＯクラス２３２を想定している。図１０は、そのＤＡＯクラス２３２の例を示す図である。
ＤＡＯクラス２３２は、ＤＡＯファクトリークラス２４１やマッピングクラス２１１を利用したデータアクセスを提供する。図１０において、３〜１０行目はインポート宣言の記述であり、その宣言により、Ｏ／Ｒマッピングのライブラリをインポートする。１５行目のクラス宣言では、対になっているＤＡＯインターフェイスクラス２３１を実装（Implements）する。３８〜５８行目はユーザが追加した分（メソッド）である。図１１は、ＤＡＯインターフェイスクラス２３１の例を示す図である。
【００３５】
ＤＡＯクラス２３２は、実装クラスであり、ＤＡＯファクトリークラス２４１は、ＤＡＯクラス２３２の取得メソッドを実装している。ＤＡＯインターフェイスクラス２３１は、それらの間のインターフェイスとして機能する。
【００３６】
図１２は、トランザクション管理ファイル２４２の例を示す図である。本実施の形態では、ＤＢ（データベース）接続手続およびトランザクション管理は基盤パッケージのSpringframeworkを利用して行うようにしている。トランザクション管理ファイル２４２は、そのためのものである。
【００３７】
図１３は、ユーザアプリケーションの例を示す図である。その例は、データの登録、検索、削除などの業務ロジックを実行させるためのものである。
図２に戻り、自動作成部２００について説明する。ここでは便宜的に、全てのファイルを作成する場合を想定して説明することとする。
【００３８】
マッピングソース作成部２０１は、第１、及び第２のプロパティファイル３１１、３１２、データベース１０２のメタ情報、及び対応するテンプレートファイル３２１（図８）を取得し、メタ情報を利用して作成対象のテーブル定義情報を取得し、それらを用いて、マッピングクラス２１１、マッピングベースクラス４１１、マッピングプライマリクラス４１２、マッピングファイル２１２、及びＯ／Ｒマッピング環境ファイル３１３を作成する。
【００３９】
ＤＡＯクラス作成部２０２は、マッピングソース作成部２０１から作成結果を受け取り、対応するテンプレートファイル３２１を用いて、ＤＡＯクラス２２１を作成する。ＤＡＯクラス群作成部２０３は、ＤＡＯクラス２２１や対応するテンプレートファイル３２１等を用いてＤＡＯクラス２３２を作成し、そのＤＡＯクラス２３２を実装するＤＡＯインターフェイスクラス２３１を作成する。管理クラス作成部２０４は、ＤＡＯクラス群作成部２０３から受け取った作成結果、及び対応するテンプレートファイル３２１を用いて、度ファクトリークラス２４１、及びトランザクション管理ファイル２４２（図１２）を作成する。
【００４０】
マッピングソース作成部２０１、ＤＡＯクラス群作成部２０３がそれぞれ作成するファイルは、第２のプロパティファイル３１２で作成が指示されたもののみが指定の出力先に保存される。それにより、ユーザが必要とするファイルのみを新たに提供する。図２中の業務アプリクラス２５１は、例えば図１３に示すようなユーザプログラムである。
【００４１】
図４は、自動作成処理のフローチャートである。図２に示す自動作成部２００は、サーバに搭載されたＣＰＵが、例えば記憶装置３００に格納されている自動作成用のクラスを起動し、その自動作成処理を実行することで実現される。
【００４２】
先ず、ステップＳ１では、第１、及び第２のプロパティファイル３１１、３１２を読み込み、それらから定義情報を取得する。続くステップＳ２では、データベース１０２のメタ情報を利用して作成対象のテーブル定義情報を取得する。その後に移行するステップＳ３では、ステップＳ１、Ｓ２でそれぞれ取得した情報、及びテンプレートファイル群３２０を用いて、各ファイルをプログラム・ソースとして自動作成し、そのなかでユーザが作成対象として指定したもののみを指定の出力先に保存する。一連の処理をその後に終了する。
【００４３】
上記ステップＳ１、Ｓ２の処理は、マッピングソース作成部２０１により行われる。ステップＳ３の処理は、各部２０１〜２０４により行われる。
なお、本実施の形態では、自動作成（保存）させるファイルを第２のプロパティファイル３１２により指定させているが、別の方法で指定させるようにしても良い。自動作成させるファイルの種類や数等は、行わせる処理の内容等に応じて適宜、決定すれば良いものである。
【００４４】
上述したような自動作成部２００を実現させるようなプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ等の記録媒体に記録させて配布しても良い。通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してデータ処理装置にロードすることにより、その装置を用いて本発明を適用させた情報提供システムを構築することができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【図面の簡単な説明】
【００４５】
【図１】本実施の形態で前提とするＷｅｂアプリケーションの構成例を説明する図である。
【図２】本実施の形態による自動作成システムの構成例を説明する図である。
【図３】自動作成されるソース・プログラムの構成を説明する図である。
【図４】自動作成処理のフローチャートである。
【図５】第１のプロパティファイル３１１に格納された内容を説明する図である。
【図６】第２のプロパティファイル３１２に格納された内容を説明する図である。
【図７】Ｏ／Ｒマッピング環境ファイル３１３に格納された内容を説明する図である。
【図８】ソース・プログラムとして作成されるファイルの作成単位、及びその作成に用いるテンプレートファイルを説明する図である。
【図９】マッピングファイルの例を示す図である。
【図１０】ＤＡＯクラスの例を示す図である。
【図１１】ＤＡＯインターフェイスクラスの例を示す図である。
【図１２】トランザクション管理ファイルの例を示す図である。
【図１３】ユーザアプリケーションの例を示す図である。
【符号の説明】
【００４６】
１０２    データベース
２００    自動作成部
２０１    マッピングソース作成部
２０２    ＤＡＯクラス作成部
２０３    ＤＡＯクラス群作成部
２０４    管理クラス作成部
３００    記憶装置
【図１】
2006268124.tif 000003
【図２】
2006268124.tif 000004
【図３】
2006268124.tif 000005
【図４】
2006268124.tif 000006
【図５】
2006268124.tif 000007
【図６】
2006268124.tif 000008
【図７】
2006268124.tif 000009
【図８】
2006268124.tif 000010
【図９】
2006268124.tif 000011
【図１０】
2006268124.tif 000012
【図１１】
2006268124.tif 000013
【図１２】
2006268124.tif 000014
【図１３】
2006268124.tif 000015