(57)【要約】【課題】ＲＥＳＴ  Ｗｅｂサービスのような非論理構造化データを扱うサービスを、ＳＯＡＰ  Ｗｅｂサービスのように論理的構造データでやりとりすることを可能にする論理構造化データ生成装置を提供する。【解決手段】Ｗｅｂサービスから取得した非論理構造データであるＸＭＬデータを収集する非論理構造データ収集手段と、非論理構造データ収集手段により収集したＸＭＬデータをもとにＸＳＬＴシート及びデータクラスを生成する論理構造化用変換データ生成手段と、Ｗｅｂサービスを実行して得た結果ＸＭＬを、ＸＳＬＴシートを利用して論理構造化データに変換し、変換した論理構造化データをデータクラスを利用してオブジェクト化するＷｅｂサービス実行手段と、を備える。【選択図】図２
2010224633.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスから取得した非論理構造データであるＸＭＬデータを収集する非論理構造データ収集手段と、
前記非論理構造データ収集手段により収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成する論理構造化用変換データ生成手段と、
Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換し、変換した論理構造化データを前記データクラスを利用してオブジェクト化するＷｅｂサービス実行手段と、を具備したことを特徴とする論理構造化データ生成装置。
【請求項２】
前記論理構造化用変換データ生成手段は、前記非論理構造データ収集部で収集したＸＭＬデータを最小公倍数的に混合し、前記混合したＸＭＬデータをもとにスキーマを生成し、前記スキーマから前記ＸＳＬＴシート及び前記データクラスを生成することを請求項２記載の論理構造化データ生成装置。
【請求項３】
Ｗｅｂサービスから取得した非論理構造データを論理構造化データに変換するための論理構造化データ生成システムであって、
前記Ｗｅｂサービスから取得した非論理構造のＸＭＬデータを収集する非論理構造データ収集手段と、
前記非論理構造データ収集手段により収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成する論理構造化用変換データ生成手段と、
Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換するとともに、変換した論理構造化データを前記データクラスを利用してオブジェクト化するＷｅｂサービス実行手段と、を具備したことを特徴とする論理構造化データ生成システム。
【請求項４】
前記論理構造化用変換データ生成手段は、前記非論理構造データ収集手段で収集したＸＭＬデータを最小公倍数的に混合し、前記混合したＸＭＬデータをもとにスキーマを生成し、前記スキーマから前記ＸＳＬＴシート及び前記データクラスを生成することを請求項３記載の論理構造化データ生成システム。
【請求項５】
Ｗｅｂサービスから取得した非論理構造データを論理構造化データに変換するための論理構造化データ生成方法であって、
前記Ｗｅｂサービスから取得した非論理構造のＸＭＬデータを収集し、
前記収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成し、
Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換し、
前記変換した論理構造化データを前記データクラスを利用してオブジェクト化することを特徴とする論理構造化データ生成方法。
【請求項６】
前記収集したＸＭＬデータを最小公倍数的に混合し、
前記最小公倍数的に混合したＸＭＬデータをもとにスキーマを生成し、
前記スキーマから前記ＸＳＬＴシート及び前記データクラスを生成することを請求項５記載の論理構造化データ生成方法。
【請求項７】
Ｗｅｂサービスから取得した非論理構造データを論理構造化データに変換するための論理構造化データ生成プログラムであって、コンピュータに、
前記Ｗｅｂサービスから取得した非論理構造のＸＭＬデータを収集する収集機能と、
前記収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成する生成機能と、
Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換する変換機能と、
前記変換した論理構造化データを前記データクラスを利用してオブジェクト化する機能を実現させるための論理構造化データ生成プログラム。
【請求項８】
前記生成機能は、前記収集したＸＭＬデータを最小公倍数的に混合する混合機能を有し、前記最小公倍数的に混合したＸＭＬデータをもとにスキーマを生成し、前記スキーマから前記ＸＳＬＴシート及び前記データクラスを生成することを請求項７記載の論理構造化データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非論理構造化データを提供するＷｅｂサービスを、論理的構造化データを提供するＷｅｂサービスであるかのように利用することができる論理構造化データ生成装置、システム、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、大規模なシステムをサービスの集まりとして構築するサービス指向アーキテクチャ（ＳＯＡ；Service Oriented Architecture）が普及している。サービスの単位として有望視されているものがＷｅｂサービスである。Ｗｅｂサービスは、ＨＴＴＰ（Hyper Text Transfer Protocol）等のインターネット関連技術を応用し、ＸＭＬ（eXtensible Markup Language）形式のメッセージをやりとりすることで、ネットワーク上にあるソフトウェアの機能やサービスを利用できるようにする仕組みである。
【０００３】
Ｗｅｂサービスには現在ＳＯＡＰ（Simple Object Access Protocol）をベースとしたＷｅｂサービス（以降、ＳＯＡＰ Ｗｅｂサービスと呼ぶ）と、ＲＥＳＴ（Representational State Transfer）アーキテクチャをベースとしたＷｅｂサービス（以降、ＲＥＳＴ  Ｗｅｂサービスと呼ぶ）が存在する。
【０００４】
ＳＯＡＰ  ＷｅｂサービスにおけるＳＯＡＰプロトコルは、ＸＭＬをベースにしたメッセージ交換プロトコルであり、Ｗｅｂサービス間の送受信を、ＸＭＬをベースにしたＳＯＡＰメッセージによって行う。ＳＯＡＰメッセージはスキーマが定められている。スキーマはＸＭＬの論理的構造を示すものであり、この構造に従うことによって、どんな時も同じ封筒のようなＸＭＬ要素によって本文やヘッダ情報を包むことができる。
【０００５】
本文の構造やメッセージを送信する際の通信プロトコルは、Ｗｅｂサービス記述言語（ＷＳＤＬ；Web services Description Language）で記述される。本文のデータ構造もまたスキーマで定義されており、その中でデータの型までもが厳密に定義されている。本文のデータ構造がスキーマで定義されているため、スキーマをもとにデータを示すクラス（データクラス）を生成することができる。
【０００６】
またスキーマから作られたデータクラスによって、要求のためのＸＭＬを生成したり、リソース（結果ＸＭＬ）であるＸＭＬをクラスオブジェクトに変換することができる。この作業をシリアライズ・デシリアライズといい、ＸＭＬを扱うよりも簡単にデータを利用することができる。
【０００７】
ＳＯＡＰメッセージは複雑な構造となっているため、ＸＭＬを操作し本文を抜き出すことは難しい。そのため、通常はＳＯＡＰ対応のミドルウェアを用いてＳＯＡＰメッセージの構築や解析、送受信を行う。ＷＳＤＬをミドルウェアに取り込むことで、通信に必要な処理が記述されたコードが自動生成される。このコードを呼び出せば簡単にＳＯＡＰ  Ｗｅｂサービスと通信できる。
【０００８】
一方のＲＥＳＴ  Ｗｅｂサービスは、ＨＴＴＰを使って通信を行いＵＲＩ（Uniform Resource Identifier）とパラメタを指定することで、ＵＲＩに割り当てられたリソースを取得するというアーキテクチャを採用したＷｅｂサービスである。ただし、ＵＲＩに付属するパラメタは複雑なデータを指定することができない。またこのリソース（結果ＸＭＬ）はＸＭＬとなっているが、スキーマを定める必要がないため必ずしも論理的構造とはなっていない。そのためこのリソースをデシリアライズ（クラスオブジェクトに変換）することができず、処理する際はＸＭＬの形で扱う必要がある。
【０００９】
ＳＯＡＰ／ＲＥＳＴ  Ｗｅｂサービスでは、それぞれの特徴を生かし利用しやすいタイプのＷｅｂサービスを選択することになる。例えば、企業間のやりとりでは、入出力に対してチェックを必要とするため、厳密な型指定や論理的構造が保障されているＳＯＡＰ  Ｗｅｂサービスを利用されることが多い。
【００１０】
但し、Ｗｅｂサービス提供者は、ＳＯＡＰ又はＲＥＳＴの一方のＷｅｂサービスを提供することが多い。そのため、入出力に対してチェックを求めるような企業間連携の場合、ＲＥＳＴ  Ｗｅｂサービスのように非論理的構造でかつ厳密な型指定ができないＷｅｂサービスを扱いにくいという問題が残る。
【００１１】
特許文献１には、半構造化データ構造化システムについて開示しており、Ｗｅｂアプリケーションの表示構造の構造ルールを用意し、Ｗｅｂアプリケーションの表示（ｈｔｍｌ）からデータを抽出することで、ＷｅｂアプリケーションをＷｅｂサービスの様に利用する手法を示している。
【００１２】
この手法では、Ｗｅｂアプリケーションが常に同じ構造の表示データ（html）、つまり論理的構造が保障されているために実現可能である。また構造ルールに従ってデータを抽出することにより、論理的構造が保障されたデータとして扱うことができる。しかしながらこの手法は、論理的構造が保障されていないＲＥＳＴ  Ｗｅｂサービスでは実現できない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−３８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
従来、Ｗｅｂサービスには、決められたメッセージでやりとりすＳＯＡＰを利用したものと、ＵＲＬを指定しＸＭＬを受け取るＲＥＳＴの２種類がある。ＳＯＡＰ／ＲＥＳＴ  Ｗｅｂサービスでは、それぞれの特徴を生かし利用しやすいタイプのＷｅｂサービスを選択することとなり、例えば、企業間のやりとりでは、入出力に対してチェックを必要とするため、厳密な型指定や論理的構造が保障されているＳＯＡＰ  Ｗｅｂサービスを利用されることが多い。
【００１５】
但し、Ｗｅｂサービス提供者は、ＳＯＡＰ及びＲＥＳＴの両方のＷｅｂサービスを提供する必要はなく、どちらか一方のＷｅｂサービスを提供することが多い。そのため、入出力に対してチェックを求めるような企業間連携の場合、ＲＥＳＴ  Ｗｅｂサービスのように非論理的構造でかつ厳密な型指定ができないＷｅｂサービスを扱いにくいという問題が残る。
【００１６】
本発明は上記事情に鑑みて成されたもので、ＲＥＳＴ  Ｗｅｂサービスのような非論理構造化データを扱うサービスを、ＳＯＡＰ  Ｗｅｂサービスのように論理的構造データでやりとりすることを可能にする論理構造化データ生成装置、システム、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
請求項1記載の本発明の構造化データ論理構造化装置は、Ｗｅｂサービスから取得した非論理構造データであるＸＭＬデータを収集する非論理構造データ収集手段と、前記非論理構造データ収集手段により収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成する論理構造化用変換データ生成手段と、Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換し、変換した論理構造化データを前記データクラスを利用してオブジェクト化するＷｅｂサービス実行手段と、を具備したことを特徴とする。
【００１８】
請求項３記載の本発明は、Ｗｅｂサービスから取得した非論理構造データを論理構造化データに変換するための論理構造化データ生成システムであって、前記Ｗｅｂサービスから取得した非論理構造のＸＭＬデータを収集する非論理構造データ収集手段と、前記非論理構造データ収集手段により収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成する論理構造化用変換データ生成手段と、Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換するとともに、変換した論理構造化データを前記データクラスを利用してオブジェクト化するＷｅｂサービス実行手段と、を具備したことを特徴とする。
【００１９】
請求項５記載の本発明は、Ｗｅｂサービスから取得した非論理構造データを論理構造化データに変換するための論理構造化データ生成方法であって、前記Ｗｅｂサービスから取得した非論理構造のＸＭＬデータを収集し、前記収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成し、Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換し、前記変換した論理構造化データを前記データクラスを利用してオブジェクト化することを特徴とする。
【００２０】
請求項７記載の本発明は、Ｗｅｂサービスから取得した非論理構造データを論理構造化データに変換するための論理構造化データ生成プログラムであって、コンピュータに、前記Ｗｅｂサービスから取得した非論理構造のＸＭＬデータを収集する収集機能と、前記収集したＸＭＬデータをもとにＸＳＬＴ（XML Stylesheet Language Transform）シート及びデータクラスを生成する生成機能と、Ｗｅｂサービスを実行して得た結果ＸＭＬを、前記ＸＳＬＴシートを利用して論理構造化データに変換する変換機能と、前記変換した論理構造化データを前記データクラスを利用してオブジェクト化する機能を実現させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、予めＷｅｂサービスの結果を取得し、クラスオブジェクトへ変換するためのＸＳＬＴシートとデータクラスを取得しておくことにより、ＷｅｂサービスをＳＯＡＰ  Ｗｅｂサービスと同様の呼び出し手法にて開発・実行することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態における論理構造化データ生成装置の構成を示すブロック図。
【図２】論理構造化用変換データ生プログラムをＣＰＵ１０によって実行することにより実現される本実施形態の機能構成を示す図。
【図３】本実施形態における非論理構造データの収集処理を示すフローチャート。
【図４】ＲＥＳＴ  Ｗｅｂサービスのへの要求入力のためのアプリケーションのウィンドウを示す図。
【図５】本実施形態における論理構造化用変換データ生成処理を示すフローチャート。
【図６】ＲＥＳＴ  Ｗｅｂサービスの結果を示すＸＭＬ例を示す図。
【図７】ＸＭＬから生成される論理構造化データ例を示す図。
【図８】論理構造化データに対応するスキーマ例を示す図。
【図９】本実施形態における論理構造化データ生成部の処理を示すフローチャート。
【図１０】結果ＸＭＬから生成されるＸＰａｔｈリスト例を示す図。
【図１１Ａ】本実施形態における論理構造化データ生成部にて処理中の論理構造化データ。
【図１１Ｂ】本実施形態における論理構造化データ生成部にて処理中の論理構造化データ。
【図１１Ｃ】本実施形態における論理構造化データ生成部にて処理中の論理構造化データ。
【図１２Ａ】結果ＸＭＬにおける配列表現とデシリアライズ可能な配列表現例を示す図。
【図１２Ｂ】結果ＸＭＬにおける配列表現とデシリアライズ可能な配列表現例を示す図。
【図１３】本実施形態における論理構造化データデシリアライズ部の処理を示すフローチャート。
【図１４】論理構造化データをデシリアライズ最適化したデータ例を示す図。
【図１５】本実施形態におけるスキーマ生成処理を示すフローチャート。
【図１６Ａ】論理構造化データの構造例とそれに対応するスキーマを示す図。
【図１６Ｂ】論理構造化データの構造例とそれに対応するスキーマを示す図。
【図１６Ｃ】論理構造化データの構造例とそれに対応するスキーマを示す図。
【図１６Ｄ】論理構造化データの構造例とそれに対応するスキーマを示す図。
【図１７】デシリアライズ最適化論理構造化データから生成したスキーマの一部を示す図。
【図１８】本実施形態におけるデータクラス生成処理を示すフローチャート。
【図１９】スキーマから生成したデータクラスの一部を示す図。
【図２０】本実施形態におけるＸＳＬＴシート生成処理を示すフローチャート。
【図２１】論理構造化データの構造例とそれに対応するＸＳＬＴの構造の変換例を示す図。
【図２２】論理構造化データから生成したＸＳＬＴシートの一部を示す図。
【図２３】ＲＥＳＴ  Ｗｅｂサービス実行プログラムをＣＰＵによって実行することにより実現される機能構成を示す図。
【図２４】ＲＥＳＴ  Ｗｅｂサービスへの要求入力のためのアプリケーションのウィンドウを示す図。
【図２５】本実施形態におけるＲＥＳＴ  Ｗｅｂサービス実行処理を示すフローチャート。
【図２６】本実施形態のシステムを概略的に示した図。
【発明を実施するための形態】
【００２３】
以下、この発明の一実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００２４】
図１は、本実施形態における論理構造化データ生成装置の構成を示すブロック図である。
【００２５】
本発明の論理構造化データ生成装置は、図１に示すように、各種プログラムやデータの制御等の処理を行うＣＰＵ（中央処理装置）１０と、ＣＰＵ１０が処理するためのプログラムやデータを一時的に記憶するＲＡＭ（Random Access Memory）１１と、処理プログラム等を記憶するＲＯＭ（Read Only Memory）１２と、構造化文書等を長期的に記憶するためのハードディスク（ＨＤ）に対するアクセスを制御するハードディスク駆動制御部１３と、プログラム等を記憶しているＣＤ−ＲＯＭを制御するＣＤ−ＲＯＭ駆動制御部１４と、を含んでいる。さらに構造化文書やその他の情報を表示する表示器１６を制御する表示器制御回路１５と、キーボード１８やマウス等の入力装置の制御を行う入力制御部１７と、ネットワークからデータを入力する通信インターフェース（Ｉ／Ｆ）１９と、バスライン２０と、を含んでいる。
【００２６】
論理構造化データ生成装置を実現するプログラム開発プログラムは、ＨＤに格納されている。ＨＤに格納される際は、ＣＤ−ＲＯＭからインストールされてもよいし、ＣＤ−ＲＯＭ以外のドライブやメディア（例えば、ＭＯドライブとＭＯディスク、ＵＳＢ端子とＵＳＢメモリ等）からインストールされてもよい。
【００２７】
図２は、プログラム開発プログラムをＣＰＵ１０によって実行することにより実現される論理構造化データ生成装置の機能構成を示す図である。図２に示すように、論理構造化データ生成装置は、非論理構造データ収集手段２０１と、論理構造化用変換データ生成手段２０２と、Ｗｅｂサービス実行手段２０３とを含む。
【００２８】
非論理構造データ収集手段２０１は、ＲＥＳＴ  Ｗｅｂサービスから非論理構造である応答ＸＭＬデータを収集する。論理構造化用変換データ生成手段２０２は、収集した応答ＸＭＬデータから非論理構造データをデシリアライズ可能な論理構造化データに変換するためのＸＳＬＴと、デシリアライズ可能な論理構造化データをデシリアライズするためのデータクラスを生成する。尚、ＸＳＬＴ（XML Stylesheet Language Transform）は、ＸＭＬデータの構造を別の形式に変換するルールを記述するものである。
【００２９】
Ｗｅｂサービス実行手段２０３は、ＲＥＳＴ  Ｗｅｂサービスを要求に基づき実行し、返ってきた非論理構造データをＸＳＬＴとデータクラスをもとにクラスオブジェクト化する。
【００３０】
非論理構造データ収集手段２０１は、入力・表示ウィンドウ２０４、非論理構造データ収集設定・表示制御部２０５、非論理構造データ収集部２０６、Ｗｅｂサービス接続手段２０７を含む。
【００３１】
非論理構造データ収集手段２０１は、入力・表示ウィンドウ２０４を通じてＲＥＳＴ  Ｗｅｂサービスへアクセスするために必要な情報を設定し、非論理構造データ収集設定・表示制御部２０５は、データ収集の結果を表示する。非論理構造データ収集部２０６は、アクセスに必要な情報をＵＲＬとして設定し、Ｗｅｂサービスの結果を保存する。またＷｅｂサービス接続手段２０７は、非論理構造データ収集部２０６から受け取ったＵＲＬをもとにＲＥＳＴ  Ｗｅｂサービスにアクセスし、非論理構造データ収集部２０６からは応答ＸＭＬリスト２０８が出力される。
【００３２】
論理構造化用変換データ生成手段２０２は、論理構造化用変換データ生成部２０９と、論理構造化データ生成部２１１と、論理構造化データデシリアライズ最適化データ生成部２１３と、スキーマ生成部２１５と、データクラス生成部２１６と、ＸＳＬＴシート生成部２１７を含む。
【００３３】
論理構造化用変換データ生成部２０９は、後述するＸＳＬＴシート２１８とデータクラス２１９を生成するための制御を行い、論理構造化データ生成部２１１は、ＲＥＳＴ  Ｗｅｂサービスから得られた非論理構造の応答ＸＭＬリスト２０８を基に論理構造化データ２１０を生成する。論理構造化データデシリアライズ最適化データ生成部２１３は、論理構造データ２１０をもとにデシリアライズ可能な構成を有するデシリアライズ最適化論理構造化データ２１２に変換する。
【００３４】
スキーマ生成部２１５は、デシリアライズ最適化論理構造化データ２１２をもとにこの構成を示すスキーマ２１４を生成する。データクラス生成部２１６は、スキーマ２１４をもとにデータクラス２１９を生成する。ＸＳＬＴシート生成部２１７は、Ｗｅｂサービス実行手段にて得られる応答ＸＭＬをスキーマ２１４に適応したデータに変換するためのＸＳＬＴシート２１８を、論理構造化データ２１０をもとに生成する。
【００３５】
Ｗｅｂサービス実行手段２０３は、Ｗｅｂサービス接続部２２２と、Ｗｅｂサービス実行部２２３と、デシリアライズ最適化部２２５と、クラスオブジェクト生成部２２６を含む。
【００３６】
Ｗｅｂサービス実行部２２３は、Ｗｅｂサービスへの要求をＵＲＬに変更し、Ｗｅｂサービスからの結果ＸＭＬ２２０をクラスオブジェクト２２１に変換するための制御を行う。デシリアライズ最適化部２２５は、ＸＳＬプロセッサを有しＷｅｂサービスからの結果２２０をＸＳＬＴシート２１８に基づきデシリアライズ可能なデシリアライズ最適化論理構造化データ２２４に変換する。クラスオブジェクト生成部２２６は、デシリアライズ最適化論理構造化データ２２４をデータクラス２１９に基づきクラスオブジェクト２２１に変換する。
【００３７】
非論理構造データ収集設定・表示制御部２０５、非論理構造データ収集部２０６、Ｗｅｂサービス接続部２０７，２２２、論理構造化用変換データ生成部２０９、論理構造化データ生成部２１１、論理構造化データシリアライズ最適化データ生成部２１３、スキーマ生成部２１５、データクラス生成部２１６、ＸＳＬＴシート生成部２１７、Ｗｅｂサービス実行部２２３、デシリアライズ最適化部２２５、クラスオブジェクト生成部２２６は、ＣＰＵ１０、ＲＡＭ１１、及びＲＯＭ１２の組み合わせにより実現される機能である。ＣＰＵ１０は、ＲＡＭ１１あるいはＲＯＭ１２に記憶された、プログラム開発プログラムに含まれるそれぞれに対応するプログラムを実行することにより各手段を実現する。
【００３８】
Ｗｅｂサービス接続部２０７，２２２はＩ／Ｆ１９を通じネットワークあるいはインターネット上のＷｅｂサービスにアクセスできる。入力・表示ウィンドウ２０４は、ＲＡＭ１１あるいはＲＯＭ１２に記憶されたウィンドウフォーマットのデータに基づいて表示される。論理構造化用変換データ生成手段における結果ＸＭＬリスト２０８、論理構造化データ２１０、デシリアライズ最適化論理構造化データ２１２、スキーマ２１４、Ｗｅｂサービス実行手段における結果ＸＭＬ２２０はＲＡＭ１１上に保存される。論理構造化用変換データ生成手段のＸＳＬＴシート２１８、データクラス２１９は、ＲＡＭ１１、ＲＯＭ１２またはハードディスク駆動制御部１３のいずれかに保存される。これは論理構造化用変換データ生成手段のモジュール構成による。
【００３９】
本実施形態では、大きく３つの処理が実施される。まず非論理構造データ収集手段２０１では、ＲＥＳＴ  Ｗｅｂサービスから非論理構造化データの応答を収集し、論理的構造化データを構築するための材料（結果ＸＭＬ）を集める。
【００４０】
次に論理構造化用変換データ生成手段２０２では、収集した結果ＸＭＬ群のどの結果ＸＭＬにも対応できる論理的構造化データ２１０を作成し、デシリアライズ可能なデシリアライズ最適化論理構造化データ２１２に変換する。またこれらを基にデータクラス２１９とＸＳＬシート２１８を生成する。  
生成したデータクラス２１９とＸＳＬシート２１８は、Ｗｅｂサービス実行手段２０３に組み込まれる。Ｗｅｂサービス実行手段２０３は、非論理構造データ収集手段２０１、論理構造化用変換データ生成手段２０２と同じモジュールとして存在する必要はなく、データクラス２１９とＸＳＬシート２１８の生成後にデータクラス２１９とＸＳＬシート２１８とともにモジュール化されてもよい。
【００４１】
この場合、データクラス２１９とＸＳＬシート２１８はＲＯＭ１２に記憶される。また、データクラス２１９とＸＳＬシート２１８を除くＷｅｂサービス実行手段２０３は、データクラス２１９とＸＳＬシート２１８を除き予めモジュール化しておき、データクラス２１９とＸＳＬシート２１８はＲＡＭ１１またはハードディスク駆動制御部１３から取得する形でもよい。
【００４２】
本実施形態では、Ｗｅｂサービス実行手段２０３があらかじめモジュール化されており、データクラス２１９とＸＳＬシート２１８をハードディスク駆動制御部１３に保存するものとして説明する。
【００４３】
最後にＷｅｂサービス実行手段２０３は、Ｗｅｂサービス実行部２２３を通じてＷｅｂサービスを実行し、得られた結果ＸＭＬ２２０をＳＸＬＴシート２１８、データクラス２１９を基にクラスオブジェクト２１３へ変換する。
【００４４】
以下、非論理構造データ収集手段２０１、論理構造化用変換データ生成手段２０２、Ｗｅｂサービス実行手段２０３の処理の詳細について説明する。
【００４５】
先ず非論理構造データ収集手段２０１の処理について説明する。図３は非論理構造データを収集する処理を示すフローチャートであり、図４は要求を入力するためのアプリケーションのインターフェース例である。尚、フローチャートにおいて符号Ｓを付した番号はフローのステップを示す。
【００４６】
初期段階では、図４の生成ボタン４０４は無効状態である。まず非論理構造データ収集設定・表示制御部２０５は、インターフェースのボタンが押されたことを認識する（Ｓ３０１）。実行ボタン４０３が押されたことがわかると（Ｓ３０２）、ＵＲＩ入力テキストボックス４０１とパラメタテキストボックス４０２から、対象となるＲＥＳＴ  ＷｅｂサービスのＵＲＩと、利用が想定されるＲＥＳＴ  Ｗｅｂサービスの入力パラメタを受け取り、非論理構造データ収集部２０５に渡す（ステップＳ３０３）。
【００４７】
非論理構造データ収集部２０５は、そのＵＲＩとパラメタから、リソースを取得するためのパラメタ付きＵＲＩを生成する（Ｓ３０４）。さらに非論理構造データ収集部２０５は、サービス接続部２０７を通じて、生成したパラメタ付きＵＲＩをｈｔｔｐリクエストのＵＲＩとしてＷｅｂサービスを実施する（Ｓ３０５）。
【００４８】
非論理構造データ収集部２０５が結果を受け取ると、結果ＸＭＬを保存するため結果ＸＭＬリストに追加する（Ｓ３０６）。結果ＸＭＬリストはＲＡＭ１１に保存される。一度以上選択すると、論理構造化するためのデータを生成する生成ボタン４０４を有効にする（Ｓ３０７）。ステップＳ３０１〜Ｓ３０７は、任意の回数だけ実施される。
【００４９】
一方、ステップＳ３０２で、入力・表示ウィンドウ２０４の生成ボタン４０３の操作を認識すると、論理構造化用変換データ生成手段２０２は論理構造化用変換処理を開始し（Ｓ３０８）、一連の処理は終了する。
【００５０】
次に論理構造化用変換データ生成手段２０２の処理について説明する。図５は、論理構造化用変換データを生成するための処理を示すフローチャートであり、非論理構造データを論理構造データに変換し、クラスオブジェクトを生成するために必要なデータクラスとＸＳＬＴシートを生成する。
【００５１】
先ず論理構造化用変換データ生成部２０９は、論理構造化データ生成部２１１にて、論理構造化データ２１０を生成する（Ｓ５０１）。この作業は、図６に示すような結果ＸＭＬ（６０１，６０２，６０３）を最小公倍数的に混合し、図７に示す論理構造化データを生成する作業である。
【００５２】
次に、データクラス生成部２１６により、データクラス２１９を生成する。そのためには、論理構造化データ２１０をデシリアライズ可能な構造にし（Ｓ５０２）、そのデータに対するスキーマを用意する必要がある（Ｓ５０３）。スキーマ（図８）は、図７の論理構造化データから生成され、結果ＸＭＬ（６０１、６０２、６０３）のいずれに対しても適用できる。
【００５３】
これらの作業を論理構造化データシリアライズ最適化データ生成部２１３、スキーマ生成部２１５の順に行う。
【００５４】
そして、生成されたスキーマ２１４に対するデータクラス２１９を生成し（Ｓ５０４）、最後にＸＳＬＴシート２１８を生成する（Ｓ５０５）。ＸＳＬＴシート２１８は、Ｗｅｂサービス実行手段２２１において得られた結果ＸＭＬをデシリアライズ最適化可能な構造に変換するために使用する。最後に生成したデータクラスとＸＳＬＴシートは、Ｗｅｂサービス実行手段が読み取れるハードディスク駆動制御部１３を通じてハードディスクのフォルダ内に保存され一連の処理を終了する。
【００５５】
以下、ステップＳ５０１〜Ｓ５０５の処理の詳細について説明する。図９は、論理構造化データを生成する論理構造化データ生成部２１１の処理（Ｓ５０１）を示すフローチャートである。まず、ｉ＝１とし（Ｓ９０１）、結果ＸＭＬリスト２０８から１つの結果ＸＭＬ、Ｒ＿ｉを取り出し（Ｓ９０２）、Ｒ＿ｉのルート要素を取得し、これを対象の要素Ｅとする（Ｓ９０３）。対象要素Ｅの要素・属性を指すＸｐａｔｈを取得し、Ｘｐａｔｈリストの末尾に追加する（Ｓ９０４）。
【００５６】
次にｊ＝１とし（Ｓ９０５）、対象要素のＣ＿ｊ（Ｅ）を取り出し（Ｓ９０６）、ＥをＣ＿ｊ（Ｅ）としてＳ９０４〜Ｓ９０９を実施する（Ｓ９０７）。Ｓ９０７の処理は再帰処理であり、Ｃ＿ｊ（Ｅ）の子孫要素に対するＸｐａｔｈリストの作成が終了する。ｊに１追加し（Ｓ９０８）、Ｃ＿ｊ（Ｅ）が存在すれば（Ｓ９０９−ＹＥＳ）Ｓ９０６に戻り処理を続ける。Ｃ＿ｊ（Ｅ）が存在しなければ（Ｓ９０９−ＮＯ）すべての要素を網羅したこととなる。
【００５７】
次にＸｐａｔｈリストから論理構造化データを生成する。ｋ＝１とし（Ｓ９１０）、ＸｐａｔｈリストからＸｐａｔｈ  Ｐ＿ｋを取得する（Ｓ９１１）。構造化論理データが存在しない場合（Ｓ９１２―ＮＯ）は、このＸｐａｔｈの結果ＸＭＬからＰ＿ｋが指す結果ＸＭＬの要素を取得し（Ｓ９１３）、論理構造化データのルート要素として追加する（Ｓ９１４）。存在する場合は（Ｓ９１２−ＹＥＳ）、論理構造化データ要素にＸｐａｔｈ  Ｐ＿ｋが指す要素または属性が存在するかどうかを検証する（Ｓ９１５）。存在すれば、既存の要素・属性であり追加はしない（Ｓ９１５−ＹＥＳ）。存在しなければ新規要素または属性となる。
【００５８】
新規要素・属性であれば（Ｓ９１５−ＮＯ）、次にＸｐａｔｈの要素の何番目かを指定する［＊］（＊は順番をさす数値）をＰ＿ｋから削除し（Ｓ９１６・このＸｐａｔｈをＱとする）、論理構造化データ要素にＱが指す要素があるかを検証する（Ｓ９１７）。この要素があれば（Ｓ９１７−ＹＥＳ）、すでに同じ要素が論理構造化データに追加されているが、要素数として足りていないことを意味する（属性の場合、同じ名前をもつ属性が同じ要素に複数あることはないのでＳ９１９は発生しない）。
【００５９】
Ｘｐａｔｈ  Ｑが指す要素を論理構造化データから取得し（Ｓ９１８）、Ｐ＿ｋが指す位置に挿入する（Ｓ９１９）。Ｑが指す要素・属性が１つもない場合は（Ｓ９１７−ＮＯ）、その要素・属性は論理構造化データ内では全く存在しないことを意味するため、Ｘｐａｔｈの結果ＸＭＬからＰ＿ｋが指す要素・属性を取得し（Ｓ９２０）、論理構造化データのＱが指す位置へ追加する（Ｓ９２１）。
【００６０】
ここで挿入先としてＰ＿ｋを指定するのではなく、Ｑを指定する理由を述べる。結果ＸＭＬ６０１のＸｐａｔｈリストを図１０に示す。ｋ＝１５（１５行目）までの処理が終了した時点で論理構造化データは、図１１Ａの状態となる。ここでＫ＝１６（１６行目）の”／ｒｅｓｕｌｔ／Ｄ［２］／Ｈ［１］＠ａｔｔｒｉｂｕｔｅＯｆＨ”は図１１Ａには存在しないため、Ｓ９２２の処理が行われる。このとき、”／ｒｅｓｕｌｔ／Ｄ［２］／Ｈ［１］＠ａｔｔｒｉｂｕｔｅＯｆＨ”に対し挿入すると図１１Ｂの状態となる。
【００６１】
このとき、１３行目が変更されるが、９行目の属性は追加されない。つまり、配列の要素Ｄの構成が異なることになる。”／ｒｅｓｕｌｔ／Ｄ／Ｈ＠ａｔｔｒｉｂｕｔｅＯｆＨ”に対し挿入すると図１１Ａの９行目と１３行目が対象となり、図１１Ｃの状態となる。このとき、７行目の要素Ｄと１１行目の要素Ｄの構成は同じとなる。Ｑに対して挿入するのには配列の内部構成を同一にする目的がある。
【００６２】
ｋを１追加し（Ｓ９２２）、Ｐ＿ｋが存在すれば、Ｓ９１１に戻る（Ｓ９２３−ＹＥＳ）。Ｐ＿ｋがなければ（Ｓ９２３−ＮＯ）、ｉを１追加し（Ｓ９２４）、Ｒ＿ｉが存在すれば、Ｓ９０２に戻る（Ｓ９２５−ＹＥＳ）。Ｐ＿ｋがなければ終了となる（Ｓ９２５−ＮＯ）。一連の処理によりすべての結果ＸＭＬの要素・属性を示すＸｐａｔｈに対して対応可能な論理構造化データが生成される。この論理構造化データはＲＡＭ１１に保存される（Ｓ９２６）。
【００６３】
次に、この構造化データをＸＭＬからオブジェクトへデシリアライズ可能な構造に変換する（図５のＳ５０２）。Ｓ５０２は、例えば図１２Ａのような要素Ｆの配列（ある親要素の中に同じ名前の要素が複数ある場合、デシリアライズするためには、図１２Ｂの要素ＡｒｒａｙＯｆＦのように配列）を意味する要素を明示する必要があるとき、図１２Ａから図１２ＢへＸＭＬの構造を変換する処理を行う。
【００６４】
この処理はデシリアライズの処理内容によって異なる。ここでは上記配列の例に加え、属性はデシリアライズできないとの前提で話を進める。図１３に論理構造化データデシリアライズ最適化データ生成部２１３の処理フローチャートを示す。
【００６５】
まずＲＡＭ１１から論理構造化データを取得し（Ｓ１３０１）、次に論理構造化データのルート要素を取得する。この要素を対象要素Ｅとする（Ｓ１３０２）。次に構造化データのルート要素に属性が存在するかを確認する（Ｓ１３０３）。ルート要素に属性がある場合（Ｓ１３０３−ＹＥＳ）、要素への変換を行い（Ｓ１３０４）、デシリアライズ最適化論理構造化データのルート要素とする（Ｓ１３０５）。属性がない場合もデシリアライズ最適化論理構造化データのルート要素とし（Ｓ１３０６）、ルート要素をＯとする（Ｓ１３０７）。
【００６６】
次にｌ＝１とし（Ｓ１３０８）、対象要素Ｅの子要素Ｃ＿ｌ（Ｅ）を取り出す（Ｓ１３０９）。対象要素に属性が存在するかを確認する（Ｓ１３１０）。対象要素に属性がある場合（Ｓ１３１０−ＹＥＳ）、要素への変換を行い（Ｓ１３１１）、要素Ｏの子要素として付加する（Ｓ１３１２）。更に対象要素が値を持つか確認し（Ｓ１３１３）、対象要素が値を持つ場合（Ｓ１３１３−ＹＥＳ）、値を要素に変換し（Ｓ１３１４）、Ｓ１３１１で生成した要素内に属性と並列に挿入する（Ｓ１３１５）。Ｃ＿ｌ（Ｅ）に属性がない場合は（Ｓ１３１０−ＮＯ）、Ｃ＿ｌ（Ｅ）を要素Ｃ＿ｌ（Ｏ）に相当する位置に挿入する（Ｓ１３１６）。Ｃ＿ｌ（Ｅ）が値を持てば（Ｓ１３１７−ＹＥＳ）、値を追加する（Ｓ１３１８）。
【００６７】
これが終わると、Ｃ＿ｌ（Ｅ）をＥ、Ｃ＿ｌ（Ｏ）をＯとして子要素に対しＳ１３０９〜Ｓ１３２４の作業を実施する（Ｓ１３１９）。但し、Ｓ１３２２，Ｓ１３２３がＮＯのときはＳ１３２５を実施しない。これにより、対象要素の子孫要素に対する処理を再帰的に行うことができる。この処理を終えるとｌに１を追加し（Ｓ１３２０）、Ｃ＿ｌ（Ｅ）が存在ればＳ１３０９に戻る（Ｓ１３２１−ＹＥＳ）。
【００６８】
Ｃ＿ｌ（Ｅ）が存在しなければ（Ｓ１３２１−ＮＯ）、要素Ｏの子要素に複数の同一要素があるか（Ｓ１３２２）、子要素にそれ以外の要素があるか（Ｓ１３２３）を確認する。Ｓ１３２２、Ｓ１３２３を満たすとき、デシリアライズする際、配列の構造としては不十分なため、これらの要素を含む親要素として配列を示す要素を追加する（Ｓ１３２４）。最後に、生成されたデシリアライズ最適化論理構造化データ２１２をＲＡＭ１１に保存する（Ｓ１３２５）。図１４に図７の論理構造化データをデシリアライズ最適化したデータを示す。
【００６９】
次にデシリアライズ最適化論理構造化データ２１２に対応するスキーマ２１４を生成するスキーマ生成部２１５（Ｓ５０３）の処理について説明する。図１５はスキーマ生成の流れを示す。ＲＡＭ１１からデシリアライズ最適化論理構造化データ２１２を取り出し（Ｓ１５０１）、そのルート要素を取得する（Ｓ１５０２）。まず、このルート要素に対応するスキーマ構造を作成し（Ｓ１５０３）、デシリアライズ最適化論理構造化データのスキーマのルート要素として保存する（Ｓ１５０４）。
【００７０】
次にルート要素を対象要素Ｅ（Ｓ１５０５）とし、スキーマのルート要素内のｘｓｄ：ｓｅｑｕｅｎｃｅをスキーマ対象要素Ｓとする（Ｓ１５０６）。ｍ＝１とし（Ｓ１５０７）、対象要素の子要素Ｃ＿ｍ（Ｅ）の構造を調べる（Ｓ１５０８）。Ｃ＿ｍ（Ｅ）の構造は３つあり、シンプルタイプ、コンプレックスタイプ、配列の３種類に分かれる。図１６Ａ〜１６Ｄに構造例とそれに対応するスキーマを示す。
【００７１】
Ｃ＿ｍ（Ｅ）が値を持つ時（Ｓ１５０８−値）、シンプルタイプでありＣ＿ｍ（Ｅ）の位置にシンプルタイプの要素を挿入する（Ｓ１５０９）。挿入後、ｍに１を加えそれ以降の要素への処理を実施する（Ｓ１５１６）。Ｃ＿ｍ（Ｅ）が存在する場合（Ｓ１５１７−ＹＥＳ）は、Ｓ１５０８に戻り処理を続け、それ以外の場合（Ｓ１５１７−ＮＯ）は対象要素の子要素Ｃ＿ｍ（Ｅ）の構造調査を終了する。
【００７２】
Ｃ＿ｍ（Ｅ）が持つ子要素が複数あり、すべての要素名が同じであればそれは配列（Ｓ１５０８−配列）であり、配列の各要素を示すスキーマを示すスキーマ構造をルートに追加し（Ｓ１５１０）、この構造を指すスキーマ要素をＣ＿ｍ（Ｓ）の位置に挿入する（Ｓ１５１１）。
【００７３】
次にＥをＣ（Ｃ＿１（Ｅ））（配列の要素）とし、Ｓ１５１０で追加したスキーマ内のｘｓｄ：ｓｅｑｕｅｎｃｅをＳとし、Ｓ１５０７〜Ｓ１５１７を再帰的に処理する（Ｓ１５１２）。再帰処理を行うと、ｍ＞１以降のスキーマ構造はｍ＝１と同じ構造のため、処理を行わず、対象要素の子要素Ｃ＿ｍ（Ｅ）の構造調査を終了する。
【００７４】
シンプルタイプ・配列以外であればコンプレックスタイプであり（Ｓ１５０８−コンプレックスタイプ）、コンプレックスタイプを示すスキーマを示すスキーマ構造をルートに追加し（Ｓ１５１３）、この構造を指すスキーマ要素をＣ＿ｍ（Ｓ）の位置に挿入する（Ｓ１５１４）。次にＥをＣ（Ｃ＿ｍ（Ｅ））とし、Ｓを配列の要素を指すスキーマ要素とし、Ｓ１５０７〜Ｓ１５１７を再帰的に処理する（Ｓ１５１５）。
【００７５】
再帰処理を終えるとｍに１追加する（Ｓ１５１６）。Ｃ＿ｍ（Ｅ）が存在する場合は（Ｓ１５１７−ＹＥＳ）、Ｓ１５０８に戻り処理を続け、それ以外の場合（Ｓ１５１７−ＮＯ）は対象要素の子要素Ｃ＿ｍ（Ｅ）の構造調査を終了する。
【００７６】
すべて終えると、再帰的にすべての子要素について構造を調査することができる。構築されたデシリアライズ最適化論理構造化データ２１２のスキーマ２１４はＲＡＭ１１に保存される（Ｓ１５１８）。
【００７７】
図１７に図１３のデシリアライズ最適化論理構造化データ２１２から生成したスキーマの一部を示す。
【００７８】
データクラス生成部２１６では、スキーマ２１４に基づくデータクラス２１９を生成する（Ｓ５０４）。データクラス生成の流れを図１８に示す。スキーマからデータクラスを生成する処理は、ＳＯＡＰ  Ｗｅｂサービスと同様の処理を行う。そのためここでは詳細については示さない。まずＲＡＭ１１からスキーマ２１４を取得すると（Ｓ１８０１）、スキーマ２１４からデータクラス２１９を生成する（Ｓ１８０２）。データクラス２１９を、ハードディスク駆動制御部１３を通じハードディスクに保存する（Ｓ１８０３）。図１９に図１６のスキーマを変換したデータクラスを示す。
【００７９】
次にＸＳＬＴシート生成部２１７の処理（Ｓ５０５）の内容について説明する。図２０は、ＸＳＬＴシート生成の流れを示すフローチャートである。まずＲＡＭ１１から論理構造化データ２１０を取得し（Ｓ２００１）、次に構造化データのルート要素を取得し、この要素を対象要素Ｅとする（Ｓ２００２）。次にこの要素の構造を解析する（Ｓ２００３）。つまり、スキーマにおけるシンプルタイプ、コンプレックスタイプ、配列に相当する構造のいずれかであるか、属性は含むかを解析する。
【００８０】
次に、これらの構造にあったｘｓｌ：ｔｅｐｌａｔｅを生成し（Ｓ２００４）、条件文や構造についての情報をＥから取得し（Ｓ２００５）、ｘｓｌ：ｔｅｍｐｌａｔｅ要素に挿入する（Ｓ２００６）。図２１に構造例と対応するＸＳＬＴの構造の変換例を示す。これをＸＳＬＴシートに追加する（Ｓ２００７）。
【００８１】
次にｎ＝１とし（Ｓ２００８）、子要素Ｃ＿ｎ（Ｅ）をＥとして、Ｓ２００３〜Ｓ２０１０の処理を実施する（Ｓ２００９）。この処理によって再帰的にすべての子孫要素を走査することができる。Ｓ２００９の処理を終えると、ｎに１を追加する（Ｓ２０１０）。Ｃ＿ｎ（Ｅ）が存在すれば（Ｓ２０１１−ＹＥＳ）、Ｓ２００９に戻る。すべての処理を終えると、ハードディスク駆動制御部１３を通じハードディスクにＸＳＬＴシート２１８を保存し処理を終了する（Ｓ２０１２）。図２２に図７の論理構造化データから生成したＸＳＬＴシートの一部を示す。
【００８２】
ＸＳＬＴシート２１８とデータクラス２１９が揃うとＷｅｂサービス実行手段２０３として機能することができる。Ｗｅｂサービス実行手段２０３は、通常他のモジュールに呼ばれることで実行される。
【００８３】
図２３にＷｅｂサービス実行時の構成を示す。Ｗｅｂサービス呼び出し設定・表示制御部２３０３は、ＣＰＵ１０、ＲＡＭ１１、及びＲＯＭ１２の組み合わせにより実現される機能である。ＣＰＵ１０は、ＲＡＭ１１あるいはＲＯＭ１２に記憶されたプログラム開発プログラムに含まれるそれぞれに対応するプログラムを実行することにより各手段を実現する。入力・表示ウィンドウ２３０２は、ＲＡＭ１１あるいはＲＯＭ１２に記憶されたウィンドウフォーマットのデータに基づいて表示される。
【００８４】
開発者がＷｅｂサービス呼び出し手段２３０１を有するモジュールを開発する際、ＳＯＡＰ  Ｗｅｂサービスと同様にデータクラス２１９を利用した開発を行うことができる。
【００８５】
図２４にＷｅｂサービス呼び出し手段２３０１のウィンドウを、図２５に処理の流れを示す。入力・表示ウィンドウ２４００にて実行ボタン２４０３が押されたことを、Ｗｅｂサービス呼び出し設定・表示制御部２３０３が認識すると（Ｓ２５０１）、ウィンドウのテキストボックス２４０１、２４０２からＵＲＩとパラメタの値を取得する（Ｓ２５０２）。
【００８６】
Ｗｅｂサービス実行部２２３にこのＵＲＩとパラメタを渡し（Ｓ２５０３）、Ｗｅｂサービス実行部２２３ではＵＲＩとパラメタから生成したパラメタ付きＵＲＩを生成し（Ｓ２５０４）、Ｗｅｂサービス接続部２２２を通じｈｔｔｐリクエストのＵＲＩとしてＷｅｂサービスを実施する（Ｓ２５０５）。Ｗｅｂサービスが結果ＸＭＬ２２０をＷｅｂサービス接続部２２２から受け取ると、デシリアライズ最適化部２２５はハードディスク駆動制御部１３を通じハードディスクからＸＳＬＴシートを取得する（Ｓ２５０６）。
【００８７】
そして、ＸＳＬプロセッサによりＸＳＬＴシート２１８に基づきデシリアライズ最適化論理構造化データ２２４へ変換する（Ｓ２５０７）。次にクラスオブジェクト生成部２２６にてデータクラス２１９を、ハードディスク駆動制御部１３を通じハードディスクより取得し（Ｓ２５０８）、デシリアライズ最適化論理構造化データ２２４をデータクラス２１９に基づいたクラスオブジェクト２２１へ変換する（Ｓ２５０９）。Ｗｅｂサービス実行部２２３はクラスオブジェクトをＷｅｂサービス呼び出し設定・表示制御部２３０３に返し、入力・表示ウィンドウ２３０２の結果テキストボックス２４０４に結果を表示する（Ｓ２５１０）。
【００８８】
図２６は、以上説明した本発明の実施形態のシステムを概略的に示した図である。図２６（ａ）において、２０１は非論理構造データ収集手段、２０２は論理構造化用変換データ生成手段、２０３はデシリアライズ部を含むＷｅｂサービス実行手段であり、３００はネットワーク上のＷｅｂサービスを示す。
【００８９】
前述したようにＷｅｂサービスには要求・応答とも決められたメッセージでやりとりするＳＯＡＰを利用したものと、ＵＲＬを指定しＸＭＬを受け取るＲＥＳＴの２種類があり、ＳＯＡＰではＷＳＤＬにある応答メッセージのスキーマがあるため、それに応じて応答メッセージをデシリアライズすることができる。しかし、ＲＥＳＴの場合、応答メッセージのＸＭＬはどのようなフォーマットでもよいため、デシリアライズできずＸＭＬのまま取り扱う必要がある。
【００９０】
つまり、ＲＥＳＴの応答メッセージに対するスキーマが存在しないことが、デシリアライズできない原因である。そこで、要求によって得られた応答ＸＭＬメッセージを基にスキーマを生成し、スキーマを基にデータクラス及びＸＳＬシートを生成し、アプリケーションで使用可能なデータ形式に変換するデシリアライズ部を導入した点が本発明の特徴といえる。
【００９１】
図２６（ａ）のシステムでは、例えば１〜６の番号で示す順に処理が行われる。
【００９２】
１．非論理構造データ収集手段２０１は（ＲＥＳＴ送受信部）は、ＵＲＬを指定しＷｅｂサービス３００から多数の応答ＸＭＬメッセージをサンプリングする（図６参照）。
【００９３】
２．論理構造化用変換データ生成手段２０２は、多数の応答ＸＭＬメッセージから最小公倍数的なＸＭＬを生成する。最小公倍数的なＸＭＬとは、図２６（ｂ）にて概略的に示すように、例えば２つのＸＭＬメッセージ（result_A.xmlと、result_B.xml）があった場合、それらを混合して最小公倍数（LCM）のＸＭＬを取得することを意味する（図７参照）。
【００９４】
３．論理構造化用変換データ生成手段２０２は、最小公倍数的なＸＭＬに対応するスキーマを生成する（図８参照）。
【００９５】
４．生成されたスキーマに対するデータクラスを生成し、Ｗｅｂサービス実行手段に渡す。
【００９６】
５．Ｗｅｂサービスからの応答ＸＭＬをスキーマに即した形に変換するためのＸＳＬＴシートを生成し、Ｗｅｂサービス実行手段に渡す（ＸＳＬＴシートはＸＭＬをクラスオブジェクトに変換するために使用する）。
【００９７】
６．アプリケーションがＲＥＳＴによりＷｅｂサービスを利用する時、応答ＸＭＬメッセージを受け取ると、ＸＳＬＴシートをもとにデシリアライズ部はオブジェクト化処理を行い、ＸＭＬからアプリケーションが利用できるオブジェクトの形へ変換し、アプリケーションへ渡す。
【００９８】
以上説明した本発明の実施形態によれば、予めＷｅｂサービスの結果を取得し、クラスオブジェクトへ変換するためのＸＳＬＴシートとデータクラスを取得しておくことにより、ＷｅｂサービスをＳＯＡＰ  Ｗｅｂサービスと同様の呼び出し手法にて開発・実行が可能となる。
【００９９】
また本発明の実施形態は、以上の説明に限定されることなく、特許請求の範囲を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【０１００】
１０…ＣＰＵ
１１…ＲＡＭ
１２…ＲＯＭ
１３…ハードディスク駆動制御部
１４…ＣＤ−ＲＯＭ駆動制御部
１５…表示器制御部
１６…表示器
１７…入力制御部
１８…キーボード
１９…Ｉ／Ｆ
２０…バスライン
２０１…非論理構造データ収集手段
２０２…論理構造化用変換データ生成手段
２０３…Ｗｅｂサービス実行手段
２３０１…Ｗｅｂサービス呼出し手段
【図１】
2010224633.tif 000003
【図２】
2010224633.tif 000004
【図３】
2010224633.tif 000005
【図４】
2010224633.tif 000006
【図５】
2010224633.tif 000007
【図６】
2010224633.tif 000008
【図７】
2010224633.tif 000009
【図８】
2010224633.tif 000010
【図９】
2010224633.tif 000011
【図１０】
2010224633.tif 000012
【図１１Ａ】
2010224633.tif 000013
【図１１Ｂ】
2010224633.tif 000014
【図１１Ｃ】
2010224633.tif 000015
【図１２Ａ】
2010224633.tif 000016
【図１２Ｂ】
2010224633.tif 000017
【図１３】
2010224633.tif 000018
【図１４】
2010224633.tif 000019
【図１５】
2010224633.tif 000020
【図１６Ａ】
2010224633.tif 000021
【図１６Ｂ】
2010224633.tif 000022
【図１６Ｃ】
2010224633.tif 000023
【図１６Ｄ】
2010224633.tif 000024
【図１７】
2010224633.tif 000025
【図１８】
2010224633.tif 000026
【図１９】
2010224633.tif 000027
【図２０】
2010224633.tif 000028
【図２１】
2010224633.tif 000029
【図２２】
2010224633.tif 000030
【図２３】
2010224633.tif 000031
【図２４】
2010224633.tif 000032
【図２５】
2010224633.tif 000033
【図２６】
2010224633.tif 000034