(57)【要約】【課題】  予め定められた利用可能な実行手段を指示していない指示記述であっても利用する。【解決手段】  処理と該処理を実行するサービスの位置とを指示する指示書を受信すると、予め定められた利用可能なサービスの位置と、指示書により指示されたサービスの位置とを比較し（２８）、指示書により指示されたサービスの位置が、前記予め定められた利用可能なサービスの位置を示しているか否かを判断する（３８）。指示書により指示されたサービスの位置が、前記予め定められた利用可能なサービスの位置を示していないと判断された場合（３８；Ｎ）には、指示書により指示された位置を、指示書により指示された処理を実行可能でありかつ予め定められた利用可能なサービスの位置に変更する（４０）。【選択図】        図４
2005208985.tif 000002
【特許請求の範囲】
【請求項１】
処理と該処理を実行する実行手段の位置とを指示する指示記述を受信する受信手段と、
予め定められた利用可能な実行手段の位置と、前記受信手段により受信された指示記述により指示された実行手段の位置と、に基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する判断手段と、
前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示していないと判断された場合には、前記指示記述により指示された位置を、前記指示記述により指示された処理を実行可能でありかつ前記予め定められた利用可能な実行手段の位置に変更する変更手段と、
を備えた指示記述内容変更装置。
【請求項２】
前記受信手段は、予め定められた利用可能な実行手段から、又は、予め定められた利用可能な実行手段により実行される処理及び該実行手段の位置を管理する管理手段から、該予め定められた利用可能な実行手段の位置を受信可能に構成され、
前記判断手段は、前記受信手段により受信された前記予め定められた利用可能な実行手段の位置と前記指示記述により指示された実行手段の位置とに基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する、
ことを特徴とする請求項１記載の指示記述内容変更装置。
【請求項３】
処理と該処理を実行する実行手段の位置とを指示する指示記述を受信する受信ステップと、
予め定められた利用可能な実行手段の位置と、前記受信ステップにより受信された指示記述により指示された実行手段の位置と、に基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する判断ステップと、
前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示していないと判断された場合には、前記指示記述により指示された位置を、前記指示記述により指示された処理を実行可能でありかつ前記予め定められた利用可能な実行手段の位置に変更する変更ステップと、
を備えた指示記述内容変更方法。
【請求項４】
前記受信ステップでは、予め定められた利用可能な実行手段から、又は、予め定められた利用可能な実行手段により実行される処理及び該実行手段の位置を管理する管理手段から、該予め定められた利用可能な実行手段の位置を更に受信し、
前記判断ステップでは、前記受信ステップにより受信された前記予め定められた利用可能な実行手段の位置と前記指示記述により指示された実行手段の位置とに基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する、
ことを特徴とする請求項３記載の指示記述内容変更方法。
【請求項５】
コンピュータに、処理と該処理を実行する実行手段の位置とを指示する指示記述の内容を変更させる指示記述内容変更処理プログラムであって、
処理と該処理を実行する実行手段の位置とを指示する指示記述を受信する受信ステップと、
予め定められた利用可能な実行手段の位置と、前記受信ステップにより受信された指示記述により指示された実行手段の位置と、に基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する判断ステップと、
前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示していないと判断された場合には、前記指示記述により指示された位置を、前記指示記述により指示された処理を実行可能でありかつ前記予め定められた利用可能な実行手段の位置に変更する変更ステップと、
を備えた指示記述内容変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示記述内容変更装置及び方法、指示記述内容変更プログラムにかかり、特に、処理と該処理を実行する実行手段の位置とを指示する指示記述の内容を変更する指示記述内容変更装置及び方法、指示記述内容変更プログラムに関する。
【背景技術】
【０００２】
従来、分散処理システムは、複数の分散処理オブジェクトに処理の一部を委譲し、その結果を組み合わせて処理を実行する。処理の委譲を受け、実行するオブジェクトをサービス、処理の委譲を行い、結果を処理するオブジェクトをクライアントと呼んでいる。
【０００３】
また、分散処理システムでは、クライアントは一般にプログラムもしくはスクリプトと呼ばれる操作記述を実行して、サービスへの処理の委譲や、結果の取得を行うものであり、クライアントがひとつの機器、もしくはソフトウエアに固定的に存在していることは前提とせず、操作記述の実行の進行に応じて、操作記述を実行するクライアント機能が複数の機器・ソフトウエアにまたがることも想定の範囲である。
【０００４】
ところで、従来の分散処理システムでは、Microsoft 社の COM/DCOM のように、それぞれのサービスに一意となる名前、あるいは識別子を設定し、名前もしくは識別子とサービスを実現する実体、たとえばサービスが実行されているホスト名や、プログラム名とを記録したデータベースを参照して、サービスへのアクセスを実行する構成となっていた。
【０００５】
このような構成をとると、サービスを利用するクライアントはサービスを名前や識別子で指定することができ、クライアントやサーバの配置に依存しないシステムを構成することが可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来の分散処理システムの方法の問題点として、以下の点が挙げられる。ひとつは、名前により一意にサービスが決定されるため、名前とサービスの関係を記述したデータベースの保守が必要であり、場合によってはその保守作業が煩雑になることである。
【０００７】
たとえば、営業実績サービスがあると考える。複数の営業部門がある事務所などでは、営業実績サービスが部門ごとにそれぞれ存在し、営業実績を個別に管理する必要があるとすると、営業部門ごとに異なる一意名を持つサービスとして営業実績サービスを作成し、営業部門ごとに参照するサービスが異なる複数のクライアントを用意するか、営業部門ごとに一意名とサービスとを登録したデータベースを用意し、それぞれを独立に管理するか、あるいはその他の方法を取るにしても、サービスおよびクライアントの管理が煩雑になる可能性がある。
【０００８】
特に、共有装置上で複数のクライアントを起動・動作させる場合には、このような管理が非常に複雑なものとなる。
【０００９】
本発明は、上記事実に鑑み成されたもので、予め定められた利用可能な実行手段を指示していない指示記述であっても利用することができる指示記述内容変更装置及び方法、指示記述内容変更プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために請求項１に記載の発明にかかる指示記述内容変更装置は、処理と該処理を実行する実行手段の位置とを指示する指示記述を受信する受信手段と、予め定められた利用可能な実行手段の位置と、前記受信手段により受信された指示記述により指示された実行手段の位置と、に基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する判断手段と、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示していないと判断された場合には、前記指示記述により指示された位置を、前記指示記述により指示された処理を実行可能でありかつ前記予め定められた利用可能な実行手段の位置に変更する変更手段と、を備えている。
【００１１】
即ち、受信手段は、処理と該処理を実行する実行手段の位置とを指示する指示記述を受信する。
【００１２】
判断手段は、予め定められた利用可能な実行手段の位置と、前記受信手段により受信された指示記述により指示された実行手段の位置と、に基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する。
【００１３】
変更手段は、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示していないと判断された場合には、前記指示記述により指示された位置を、前記指示記述により指示された処理を実行可能でありかつ前記予め定められた利用可能な実行手段の位置に変更する。
【００１４】
このように、指示記述により指示された位置が、予め定められた利用可能な実行手段の位置を示していない場合でも、指示記述により指示された位置を、指示記述により指示された処理を実行可能でありかつ予め定められた利用可能な実行手段の位置に変更するので、予め定められた利用可能な実行手段を指示していない指示記述であっても利用することができる。
【００１５】
請求項２記載の発明では、請求項１記載の指示記述内容変更装置において、前記受信手段は、予め定められた利用可能な実行手段から、又は、予め定められた利用可能な実行手段により実行される処理及び該実行手段の位置を管理する管理手段から、該予め定められた利用可能な実行手段の位置を受信可能に構成されている。
【００１６】
そして、判断手段は、前記受信手段により受信された前記予め定められた利用可能な実行手段の位置と前記指示記述により指示された実行手段の位置とに基づいて、前記指示記述により指示された位置が、前記予め定められた利用可能な実行手段の位置を示しているか否かを判断する。
【００１７】
なお、請求項３、４記載の指示記述内容変更方法は、前述した請求項１、２の指示記述内容変更装置と同様の作用・効果を奏するので、その説明を省略する。また、請求項５の指示記述内容変更プログラムも請求項１の指示記述内容変更装置と同様の作用・効果を奏するので、その説明を省略する。
【発明の効果】
【００１８】
以上説明したように本発明によれば、指示記述により指示された位置が、予め定められた利用可能な実行手段の位置を示していない場合でも、指示記述により指示された位置を、指示記述により指示された処理を実行可能でありかつ予め定められた利用可能な実行手段の位置に変更するので、予め定められた利用可能な実行手段を指示していない指示記述であっても利用することができる、という効果がある。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の第１の実施の形態を詳細に説明する。
【００２０】
図１に示すように、本実施の形態にかかる分散処理システムは、実行手段としてのサービス １０２a を実装したサーバ １０１a 、サービス １０２b を実装したサーバ １０１b 、…サービス １０２a,１０２b に対する処理要求等を記載した指示書 １０２ を作成する、指示記述内容変更装置としての管理端末 １０３ 、及び、管理端末 １０３ で作成した指示書 １０５a、１０５b、…に従って処理を行うクライアント １０４a,１０５bを備えている。
【００２１】
サーバ １０１a、１０１b、…、管理端末 １０３ 、クライアント １０４a、１０４b、…はネットワーク １０６ により接続され、クライアント １０５a、１０５b、… には、上記指示書 １０４a、１０４b、… が保管されている。なお、サーバ １０１a、１０１b、…、管理端末 １０３ 、クライアント １０４a、１０４b…は、ＣＰＵ、ＲＯＭ、ＲＡＭ、表示装置、入力装置、記憶装置、ネットワーク１０６に接続されたインタフェース等を備えて構成されている。
【００２２】
上記サービス１０２a、１０２b、…は、Web サービス規約に従って構成されており、そのサービス仕様はＷＳＤＬによって記述されている。
【００２３】
図２に示すように、サービス仕様（Ｗｅｂサービス）は、SOAPAction ２０４ およびSOAPメッセージの名前空間 ２０２、パラメータ名 ２０３ 等によって、サービスの要求・応答の形式が指定される。SOAPAction ２０４ および、SOAPメッセージの名前空間 ２０２、パラメータ名 ２０３ を適切に設定することで、Web サービスの機能（処理内容）をインタフェースによって一意に識別することが可能となっている。また、Web サービスは、http プロトコルによって、要求・応答の通信を行うため、サービスごとにURL ２０５（位置情報） が定められている。これらのSOAPAction ２０４、SOAPメッセージの名前空間 ２０２、パラメータ名 ２０３、およびサービスURL ２０５ は図２に示すとおりＷＳＤＬを参照することで取得することができる。
【００２４】
一方、指示書１０５a、１０５b、…は、該指示書１０５a、１０５b、…が使用するサービスを定義する部分を示す図３に示すように、サービスURL ３０５、SOAPAction ３０４、SOAPメッセージの名前空間 ３０２、パラメータ名 ３０３によって、どのインタフェースを通して機能を使用するか、また、パラメータ形式はどのようなものかが定義される。
【００２５】
指示書１０５a、１０５b、…を適切なXMLパーザを用いて解釈することで、上記SOAPAction ３０４、SOAPメッセージの名前空間 ３０２ およびパラメータ名 ３０３、サービスURL ３０５などを取得することができ、逆にこれらの情報から、指示書を再構成することも可能となっている。
【００２６】
次に、本実施の形態の作用を説明する。本実施の形態では、指示書を当初使用予定だったサイトとは別のサイトで利用する場合を説明する。なお、別のサイトで利用する場合としては、例えば、システムインテグレータなどで作成された指示書を利用する場面を考える。
【００２７】
システムインテグレータと実際に利用する環境とでは、図２および図３に示したように、サービスが配置されているサーバが異なるため、この指示書をそのまま利用することはできず、指示書中のサービスの位置情報であるサービスURL ３０５を、利用する環境に合わせて変更しなければならない。
【００２８】
たとえば、サービス １０２のＷＳＤＬは図２に示されているように、サービスURL ２０５ が "http://server.foo.com/EchobackService" をさしているが、図３の指示書は、この指示書を作成したときに利用したサーバのURLである "http://server１.some.vender/echoservice/" がサービスURL ３０５ に記載されている。よって、この指示書をそのまま使用して、処理を実行しようとした場合、利用者の環境からは server１.some.venderというサーバが利用できず、処理に失敗することになる。
【００２９】
このような処理の失敗を回避するため、管理端末１０３で指示書の導入 (インポート) を行った時点で、指示書が実行可能かどうかを確認する必要がある。そして、外部で作成された指示書が導入されたと判断された場合には、指示書中のサービスの位置情報を、例えば、第１に、ユーザに編集してもらうか、第２に、自動的に変更するかの取り扱いが考えられる。以下、自動的に変更する場合を例にとり説明する。
【００３０】
図４には、管理端末１０３に指示書が導入されたときにスタートする指示書管理処理プログラムが示されている。なお、サーバ １０１a、１０１b、…を代表してサーバ１０１、クライアント １０４a、１０４b、…を代表してクライアント１０４、指示書 １０４a、１０４b、… を代表して指示書１０４として説明する。
【００３１】
本指示書管理処理プログラムがスタートすると、ステップ２２で、管理端末１０３は、システムインテグレータなどが作成した指示書を読み込んで、使用されているサービス１０２のSOAPAction、SOAPメッセージ形式をサービスURLごとに抽出する。
【００３２】
ステップ２４で、管理端末１０３は各サーバ１０１に対して、サーバ１０１に配置されているサービス１０２のＷＳＤＬ位置を要求する（図５；符号１参照）。各サーバ１０１からはそのサーバ１０１に配置されているサービス１０２のＷＳＤＬ位置が応答として返ってくる（図５；符号２参照）ので、管理端末１０３はその応答を参照して、各サービス１０２に対してＷＳＤＬを要求する（図５；符号３参照）。この要求に応じて、各サービスは管理端末１０３にＷＳＤＬを送信する（図５；符号４参照）。これにより、ステップ２６が実行される。
【００３３】
ＷＳＤＬには、前述したように、サービスURLおよびSOAPAction、SOAPメッセージ形式が記載されている。そこで、管理端末１０３は、ステップ２８で、指示書中のSOAPAction、SOAPメッセージと、サービス１０２より返されたＷＳＤＬ中のSOAPAction、およびSOAPメッセージを比較する。
【００３４】
ステップ３０で、上記比較結果に基づいて、指示書中の処理を実行可能なサービスがない、即ち、指示書中に記載されているSOAPAction、SOAPメッセージに対応するＷＳＤＬがなかった場合は、ステップ３２で、その指示書が利用できないことを管理端末１０３のユーザに通知し、異常終了する。
【００３５】
一方、指示書中の処理を実行可能なサービスがある場合には、ステップ３４で、指示書中の処理を実行可能なサービスが複数存在するか否かを判断する。複数存在する場合には、ステップ３６で、管理端末１０３上にその旨を表示し、管理端末１０３のユーザが選択して、ステップ３８に進む。なお、ステップ３４で、指示書中の処理を実行可能なサービスが複数存在しないと判断された場合もステップ３８に進む。
【００３６】
ステップ３８で、指示書中のサービス位置情報が環境に適しているか否か判断する。即ち、指示書中のサービス位置情報が、図１に示した環境内の位置を示していないか否かを判断する。指示書中のサービス位置情報が環境に適していない場合には、ステップ４０で、指示書中のサービス位置情報を、環境に適するように修正する。即ち、指示書中のサービス位置情報を、指示書中の処理を実行可能なサービスの位置情報に自動的に変更する。例えば、上記例では、図３の指示書中のサービスURL ３０５である、http://server１.some.vender/echoservice/を、図２におけるサービスURL ２０５である、http://server.foo.com/EchobackServiceに自動的に変更する。
【００３７】
そして、ステップ４２で、クライアントに指示書を転送する（図５；符号５参照）。
【００３８】
なお、その後、クライアント１０４は管理端末１０３で作成された指示書１０５をそのまま解釈、実行することで、サービス１０２に対する要求の発行、処理の実行を行う（図５；符号６，７参照）。
【００３９】
以上説明したように本実施の形態では、指示書中のサービス位置情報が環境に適していない場合、指示書中のサービス位置情報を、環境に適するように修正するので、外部用に作成された指示書でも利用することができる。
【００４０】
以上説明した実施の形態は、指示書の変更を行う独立した管理端末を想定したが、本発明はこれに限定されるものではなく、クライアント、ないしサービスのひとつが管理端末の持つ上記機能を有するようにしてもよい。この場合、クライアントやサービスが指示記述内容変更装置に対応する。
【００４１】
次に、本発明の第２の実施の形態を説明する。なお、本実施の形態の構成は、前述した第１の実施の形態とほぼ同様の構成であるので、同一部分には同一の符号を付してその説明を省略し、異なる部分のみ説明する。
【００４２】
図６に示すように、本実施の形態の分散処理システムでは、第１の実施の形態の分散処理システムに対し、更に、管理手段としてのＷＳＤＬデータベース１０７を備えている点で相違する。ＷＳＤＬデータベース１０７には、サーバ１０１にサービス１０２が配置された際に、ユーザの指示もしくは自動的に、サービス１０２のＷＳＤＬの登録が行われ、管理端末１０３が指示書を変更する際にＷＳＤＬデータベース１０７を参照可能な構成となっている。
【００４３】
次に、本実施の形態の作用を説明する。なお、本実施の形態の作用は、前述した第１の実施の形態とほぼ同様であるので、同一部分には同一の符号を付してその説明を省略し、異なる部分のみ説明する。
【００４４】
サーバ１０１にサービス１０２が配置された場合に、サービス１０２、ＷＳＤＬデータベース１０７等が実行する処理を説明する。
【００４５】
サーバ１０１にサービス１０２が配置されると、サービス１０２は、図８のステップ５２で、サービス１０２が配置されたことを、ＷＳＤＬデータベース１０７に通知する（図７；符号１参照）。
【００４６】
サービス１０２が配置されたことが通知されたＷＳＤＬデータベース１０７は、図９のステップ６２で、配置されたサービス１０２にＷＳＤＬの送信要求を通知する（図７；符号２参照）。
【００４７】
ＷＳＤＬの送信要求を受信（図８のステップ５４）したサービス１０２は、ステップ５６で、該サービス１０２のＷＳＤＬをＷＳＤＬデータベース１０７に送信する（図７；符号３参照）。
【００４８】
これにより、ＷＳＤＬデータベース１０７は、サービス１０２のＷＳＤＬを受信し（図９のステップ６４）、ステップ６６で、図１０に示すデータベースを更新する。
【００４９】
なお、管理端末が、指示書を導入した際に実行する処理は、前述した第１の実施の形態とほぼ同様であるが、簡単に説明すると、指示書を読み込んで、使用されているサービス１０２のSOAPAction、SOAPメッセージ形式をサービスURLごとに抽出する。続いて、管理端末はＷＳＤＬデータベース１０７に対して、登録されているＷＳＤＬを要求し（図７；符号４参照）、ＷＳＤＬデータベース１０７から、登録されているＷＳＤＬを受信する（図７；符号５参照）。
【００５０】
各ＷＳＤＬには上に述べたようにサービスURLおよびSOAPAction、SOAPメッセージ形式が記載されている。管理端末は先に抽出した指示書中のSOAPAction、SOAPメッセージと、ＷＳＤＬデータベース１０７より返されたＷＳＤＬ中のSOAPAction、およびSOAPメッセージを比較し、指示書中のサービスURLを対応するサービス１０２のURLに変更して、指示書を更新する。
【００５１】
なお、前述した第１の実施の形態と同様に、指示書中に記載されているSOAPAction、SOAPメッセージに対応するＷＳＤＬがなかった場合は、その指示書が利用できないことを管理端末５０３のユーザに通知し、異常終了する。
【００５２】
また、指示書中に記載されているSOAPActionおよびSOAPメッセージに対応するＷＳＤＬが複数検出された場合には、管理端末１０３上にその旨を表示し、管理端末１０３のユーザが選択する。
【００５３】
更新された指示書は、管理端末１０３からクライアントに転送される。
【００５４】
なお、管理端末上５０３で指示書をクライアント１０４と共有し、クライアント１０４から利用可能とする構成も可能である。
【００５５】
クライアント１０４は管理端末１０３で作成された指示書１０５をそのまま解釈、実行することで、サービス１０２に対する要求の発行、処理の実行を行う。
【００５６】
なお、指示書１０５にはサービス１０２のサービス仕様が記載されているため、このサービス１０２に対する要求の発行において、ＷＳＤＬデータベース１０７に対する通信は必要ない。
【００５７】
本実施の形態の分散処理システムでは、指示書の変更を行う独立した管理端末を想定したが、第１の実施の形態と同様、クライアント、ないしサービスのひとつが管理端末の持つ機能を有することも当然可能である。この場合、クライアントやサービスが指示記述内容変更装置に対応する。
【図面の簡単な説明】
【００５８】
【図１】第１の実施の形態にかかる分散処理システムのブロック図である。
【図２】WSDLで記述されたサービス仕様の例を示す図である。
【図３】指示書の一部を示す図である。
【図４】管理端末が実行する指示書管理処理プログラムを示すフローチャートである。
【図５】本実施の形態の作用を説明する説明図である。
【図６】第２の実施の形態にかかる分散処理システムのブロック図である。
【図７】本実施の形態の作用を説明する説明図である。
【図８】サーバにサービスが導入された際にサービスが実行する処理プログラムを示すフローチャートである。
【図９】サーバにサービスが導入された際にＷＳＤＬデータベースが実行する処理プログラムを示すフローチャートである。
【図１０】ＷＳＤＬデータベースの内容を示す図である。
【符号の説明】
【００５９】
１０１  サーバ
１０２  指示書（指示記述）
１０２  サービス（実行手段）
１０３  管理端末
１０４  クライアント
１０７  ＷＳＤＬデータベース（管理手段）
【図１】
2005208985.tif 000003
【図２】
2005208985.tif 000004
【図３】
2005208985.tif 000005
【図４】
2005208985.tif 000006
【図５】
2005208985.tif 000007
【図６】
2005208985.tif 000008
【図７】
2005208985.tif 000009
【図８】
2005208985.tif 000010
【図９】
2005208985.tif 000011
【図１０】
2005208985.tif 000012