(57)【要約】【課題】  Ｗｅｂサービスを基盤とするサービス指向アーキテクチャを利用して、柔軟性のある強固なセキュリティを実現する情報処理装置において、Ｗｅｂサービスの追加／削除を含む管理作業を迅速化かつ簡素化し、管理コストの軽減を図る。【解決手段】  ユーザにより要求されたＷｅｂサービス（１１０〜１１３）を提供する情報処理装置であって、該Ｗｅｂサービスの提供を要求するユーザに対して認証処理を実施する複数の認証処理手段（１０７〜１０９）と、Ｗｅｂサービスに関する情報と、前記認証処理手段に関する情報との対応づけを記述したファイル（１０６）を記録する記録手段と、Ｗｅｂサービスに関する指示を行う指示手段（１１４）と、を備え、前記記録手段は、前記指示手段によるＷｅｂサービスに関する指示に基づいて、前記ファイルを書き換えることを特徴とする。【選択図】  図１
2006163947.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより要求されたサービスを提供する情報処理装置であって、
ネットワークを介してサービスの提供を要求するユーザに対して認証処理を実施する複数の認証処理手段と、
サービスに関する情報と、該サービスの提供に際して認証処理を実施する前記認証処理手段に関する情報との対応づけを記述したファイルを記録する記録手段と、
前記ユーザにより要求されたサービスに関する情報を前記ファイルから検索し、該情報に対応づけて記述された前記認証処理手段に関する情報を判別する判別手段と、
サービスに関する指示を行う指示手段と、を備え、
前記記録手段は、前記指示手段によるサービスに関する指示があった場合に、当該サービスに関する情報と、当該サービスの提供に際して認証処理を実施する認証処理手段に関する情報との対応付けを記録することを特徴とする情報処理装置。
【請求項２】
前記指示手段による指示に基づいて、サービスが新たに追加された場合、当該指示手段は、同時に、当該追加されたサービスに関する情報を前記ファイルに追加し、前記記録手段は当該ファイルを記録することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記指示手段による指示に基づいて、サービスが削除された場合、当該指示手段は、同時に、当該削除されたサービスに関する情報を前記ファイルから削除し、前記記録手段は当該ファイルを記録することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記指示手段による指示に基づいて、サービスの提供を再開した場合、当該指示手段は、同時に、当該再開されたサービスに関する情報について前記ファイルを書き換え、前記記録手段は当該ファイルを記録することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記指示手段による指示に基づいて、サービスの提供を停止した場合、当該指示手段は、同時に、当該停止されたサービスに関する情報について前記ファイルを書き換え、前記記録手段は当該ファイルを記録することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
第１の情報処理装置と、該第１の情報処理装置と通信可能に接続される第２の情報処理装置とを備える情報処理システムであって、
前記第１の情報処理装置は、
複数のサービスを提供する複数の提供手段と、
ネットワークを介して該サービスの提供を要求するユーザに対して認証処理を実施する複数の認証処理手段と、
前記各サービスを提供する提供手段に関する情報と、該各サービスの提供に際して認証処理を実施する前記認証処理手段に関する情報との対応づけを記述したファイルを記録する記録手段と、
前記ユーザにより要求されたサービスを提供する提供手段に関する情報を前記ファイルから検索し、該情報に対応づけて記述された前記認証処理手段に関する情報を判別する判別手段と、を備え、
前記判別手段により判別された認証処理手段に関する情報により特定される認証処理手段を用いて、前記ユーザの認証確認がなされた場合に、前記ユーザにより要求されたサービスを提供し、
前記第２の情報処理装置は、
前記提供手段に関する指示を行う指示手段を備え、
前記記録手段は、前記指示手段による前記提供手段に関する指示があった場合に、同時に、前記ファイルを記録することを特徴とする情報処理システム。
【請求項７】
複数のサービスを提供する複数の提供工程と、ネットワークを介して該サービスの提供を要求するユーザに対して認証処理を実施する複数の認証処理工程と、前記各サービスを提供する提供工程に関する情報と、該各サービスの提供に際して認証処理を実施する前記認証処理工程に関する情報との対応づけを記述したファイルを記録手段に記録する記録工程と、前記ユーザにより要求されたサービスを提供する提供工程に関する情報を前記ファイルから検索し、該情報に対応づけて記述された前記認証処理工程に関する情報を判別する判別工程と、を備え、前記判別工程により判別された認証処理工程に関する情報により特定される認証処理工程を用いて、前記ユーザの認証確認がなされた場合に、前記ユーザにより要求されたサービスを提供する情報処理装置における情報処理方法であって、
前記提供工程に関する指示を行う指示工程を備え、
前記記録工程は、前記指示工程による前記提供工程に関する指示があった場合に、同時に、前記ファイルを記録することを特徴とする情報処理方法。
【請求項８】
請求項７に記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項９】
請求項７に記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して複数のＷｅｂサービスを提供する情報処理装置における情報処理技術に関するものである。
【背景技術】
【０００２】
近年、構造化言語であるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）はビジネス文書の管理やメッセージング、データベースなどの用途に利用され、その応用範囲は、ますます広がってきている。
【０００３】
その顕著な例が、ＸＭＬ−ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を利用した分散オブジェクトモデルであるＷｅｂサービスへの応用である。そして、このＷｅｂサービスの出現により、従来のオブジェクト指向モデルからサービス指向アーキテクチャ(ＳＯＡ：Ｓｅｒｖｉｃｅ  Ｏｒｉｅｎｔｅｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）への転換が徐々に進められるようになってきている。
【０００４】
サービス指向アーキテクチャとは、Ｗｅｂサービスを単位としてプロセスを分割するアーキテクチャであり、既存のＷｅｂサービスを再利用、再編成することができるため、高信頼性、低コストを維持しながら迅速にビジネスソリューションを構築・提供できるというメリットを有している。
【０００５】
ここで、ビジネスソリューションの提供にあたっては、強固なセキュリティを構築することが不可欠である。特にネットワーク上に構築されるビジネスソリューションにあっては、ユーザ情報およびユーザデータの保護、さらには本人性の識別、認証が重要な課題となっている。Ｗｅｂサービスを基盤とするサービス指向アーキテクチャにおいても例外ではなく、同一のＷｅｂサービスであっても、そのＷｅｂサービスが使用される環境、セキュリティレベル、システム構成等の諸条件によって、それぞれ異なる認証、権限付与処理を提供するといった柔軟な対応が望まれる。例えば、ユーザ認証１つとっても、簡便なパスワード認証、ＰＩＮコードによる認証、ＩＣカードによる認証、生体認証等、その認証方法は多岐にわたるため、諸条件を考慮して適切に対応していくことが重要である。
【０００６】
その一方で、ネットワークソリューションの利便性、簡易性を高めるために、シングルサインオン、Ｆｅｄｅｒａｔｅｄ  Ｉｄｅｎｔｉｔｙ（統合認証）等の要求も高まってきている。例えば、複数のＷｅｂサービスを統合して、新規Ｗｅｂサービスを構築、提供する場合においては、それぞれのＷｅｂサービスごとに実行される認証、権限付与処理を統合し、シングルサインオン等の環境を提供することが要求される。このため、サービス指向アーキテクチャの効率の良さ及び柔軟性を損なうことなく、強固なセキュリティを実現するという背反する要求を満たす解決策が必要となってきている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このような背景のもと、Ｗｅｂサービスを基盤とするサービス指向アーキテクチャ（ＳＯＡ）を利用して、柔軟性やユーザビリティを有しつつ強固なセキュリティを実現するために、本願出願人は、Ｗｅｂサービスを提供する情報処理装置において、Ｗｅｂサービスと、当該サービスに対する認証、権限処理を実施するサービスとの対応付けを記述したテーブル（ＭＡＰＰＩＮＧ  ＴＡＢＬＥ）を導入することを提案している。
【０００８】
図１０は、本願出願人が提案する当該ＭＡＰＰＩＮＧ  ＴＡＢＬＥを備え、Ｗｅｂサービスを提供可能な情報処理装置のモデル図である。以下、同モデルについて簡単に説明する。
【０００９】
同図に示すように、ＥＮＴＲＡＮＣＥ１００１においてＷｅｂサービスに対するＳＯＡＰリクエストを受信すると、リクエスト先のサービス名称、認証情報はＡＲＢＩＴＲＡＴＯＲ１００２に通知される。
【００１０】
ＡＲＢＩＴＲＡＴＯＲ１００２では、ＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５を参照し、リクエストされたＷｅｂサービスに対応づけられた認証、権限付与サービスに関する情報を取得する。
【００１１】
ＡＲＢＩＴＲＡＴＯＲ１００２では、取得した認証、権限付与サービスに関する情報に基づいて、ＥＮＴＲＡＮＣＥ１００１より受信した認証情報を、対応するＡＵＴＨＥＮＴＩＣＡＴＩＯＮ／ＡＵＴＨＯＲＩＺＡＴＩＯＮ  ＳＥＲＶＩＣＥ１００３に通知する。
【００１２】
ＡＵＴＨＥＮＴＩＣＡＴＩＯＮ／ＡＵＴＨＯＲＩＺＡＴＩＯＮ  ＳＥＲＶＩＣＥ１００３における認証、権限付与処理の結果は、ＡＲＢＩＴＲＡＴＯＲ１００２に返信され、ＡＲＢＩＴＲＡＴＯＲ１００２では、当該処理結果に基づいてＷｅｂサービスの実行の可否、あるいはアクセス制限情報をＥＮＴＡＲＡＮＣＥ１００１に送信する。
【００１３】
ＥＮＴＲＡＮＣＥ１００１では、ＡＲＢＩＴＲＡＴＯＲ１００２からの送信内容に基づいて、リクエストされたＳＥＲＶＩＣＥ１００４をコールするか、あるいはリクエスト発行元に対し、Ｗｅｂサービスの実行が拒否された旨を通知する。
【００１４】
このような情報処理装置によれば、Ｗｅｂサービスの提供を行うにあたり、強固なセキュリティを維持しつつ、利便性、簡易性の高いネットワークソリューションを低コストで実現することができる。
【００１５】
しかしながら、上述した情報処理装置の場合、ＡＲＢＩＴＲＡＴＯＲ１００２がＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５を参照することにより、リクエストされたＷｅｂサービスに対する認証・権限付与サービスに関する情報を取得する構成を採っているため、Ｗｅｂサービスの追加／削除に対しては、逐次、ＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５を更新しなければならないという問題がある。
【００１６】
これに対しては、ＡＲＢＩＴＲＡＴＯＲ１００２の管理者が逐次手動でＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５を更新することで対処することも可能であるが、管理者がＷｅｂサービスの更新情報を調べて、その都度更新作業を行わなければならず、しかもその作業は煩雑であるため、管理コストが高くつくといった問題がある。
【００１７】
更に、管理者によるＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５の更新は管理者の都合で実施されるため、Ｗｅｂサービスの新規追加／削除の情報の反映が遅くなり、最適なセキュリティシステムを最適なタイミングで導入することへの妨げとなり、ひいては不正利用による被害をもたらすことの原因ともなる。
【００１８】
本発明は、上記課題に鑑みてなされたものであり、Ｗｅｂサービスを基盤とするサービス指向アーキテクチャを利用して、柔軟性のある強固なセキュリティを実現する情報処理装置において、Ｗｅｂサービスの追加／削除を含む管理作業を迅速化かつ簡素化し、管理コストの軽減を図ることを目的とする。
【課題を解決するための手段】
【００１９】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
ユーザにより要求されたサービスを提供する情報処理装置であって、
ネットワークを介してサービスの提供を要求するユーザに対して認証処理を実施する複数の認証処理手段と、
サービスに関する情報と、該サービスの提供に際して認証処理を実施する前記認証処理手段に関する情報との対応づけを記述したファイルを記録する記録手段と、
前記ユーザにより要求されたサービスに関する情報を前記ファイルから検索し、該情報に対応づけて記述された前記認証処理手段に関する情報を判別する判別手段と、
サービスに関する指示を行う指示手段を備え、
前記記録手段は、前記指示手段によるサービスに関する指示があった場合に、当該サービスに関する情報と、当該サービスの提供に際して認証処理を実施する認証処理手段に関する情報との対応付けを記録することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、Ｗｅｂサービスを基盤とするサービス指向アーキテクチャを利用して、柔軟性のある強固なセキュリティを実現する情報処理装置において、Ｗｅｂサービスの追加／削除を含む管理作業を迅速化かつ簡素化し、管理コストを軽減することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、必要に応じて添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、本発明はネットワークを介してＷｅｂサービスを提供する種々の装置において実施可能であり、様々なシステムに適用できるが、以下では、ネットワーク対応型ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）において実施すると共に、該ＭＦＰを備える情報処理システムに適用する場合について説明する。
【００２２】
［第１の実施形態］
＜情報処理システムの全体構成＞
図１１は、本発明の一実施形態にかかる情報処理装置である、ネットワーク対応型ＭＦＰ（以下、単に「ＭＦＰ」と称す）を含む情報処理システムの全体構成を示す図である。図１１において、１１００はＭＦＰであり、ネットワーク１１１０を介して接続可能なコンピュータ端末１１２１へプリントサービス、スキャンサービス、ストレージサービス、ＦＡＸサービスなど各種Ｗｅｂサービスを提供するＭＦＰである。１１２１はコンピュータ端末であり、ネットワーク１１１０を介してＭＦＰ１１００が提供する各種Ｗｅｂサービスを利用することができる。
【００２３】
ＭＦＰ１１００は、通信装置１１０１、ＣＰＵ（中央処理装置）１１０２、メモリ１１０３、ＨＤＤ（ハードディスクドライブ）１１０４及び画像処理装置１１０７、プリンタ１１０５、スキャナ１１０６などのハードウェアから構成されており、構造化言語であるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いて認証、権限付与等のセキュリティ処理を行う機能を有している。
【００２４】
通信装置１１０１は、ネットワーク１１１０を介して通信を行う。ＣＰＵ１１０２は、画像処理装置１１０７における種々の機能を実現するためのプログラムを実行するコンピュータである。具体的には、ＣＰＵ１１０２が、ＨＤＤ１１０４から種々の機能を実現するためのプログラム（アプリケーションプログラム等）を読み出し、メモリ１１０３をワーク領域として、当該読み出したプログラムを実行する。
【００２５】
＜ＭＦＰ１１００の機能構成＞
次に、本実施形態にかかるＭＦＰ１１００の機能構成について図１を用いて説明する。図１は、本実施形態にかかるＭＦＰ１１００の機能構成を示すブロック図である。
【００２６】
同図に示すように、ＭＦＰ１１００は、通信機能としてＴＣＰ／ＩＰ／ＵＤＰプロトコルをスタックするＴＣＰ／ＩＰ／ＵＤＰプロトコルスタック処理部１０１を備え、その上位層にＳＯＡＰ処理部１０２を備え、更にその上位層に調停サービス１０３、ＸＭＬスクリプト処理部１０４、認証・権限サービスＡ（１０７）、認証サービスＢ（１０８）、権限サービスＢ（１０９）、プリントサービス１１０、スキャンサービス１１１、ストレージサービス１１２、ＦＡＸサービス１１３、サービス管理サービス（指示手段）１１４を備え、ネットワーク１１１０を介して、コンピュータ端末１１２１に対し、これらＷｅｂサービス（１１０〜１１３）を提供する。
【００２７】
ＭＦＰ１１００に対して、システム管理者は後述するサービス管理サービス１１４を介してかかるＷｅｂサービスの機能停止、Ｗｅｂサービスの削除、Ｗｅｂサービスの再インストール、新規Ｗｅｂサービスのインストールをコンピュータ端末１１２１を介して行うことが可能である。なお、ここでいう新規Ｗｅｂサービスには、例えば既にインストール済みの複数のＷｅｂサービスを組みあわせ、新規機能を提供する場合も含まれるものとする。
【００２８】
ＳＯＡＰ処理部１０２は、受信したＳＯＡＰリクエストを解析し、ＳＯＡＰヘッダ部の記述内容を調停サービス１０３に送信し、調停サービス１０３から返信される処理結果に基づき、ＳＯＡＰレスポンスを生成し、ＳＯＡＰリクエストを発行したコンピュータ端末１１２１に対し返信する機能と、調停サービス１０３から返信される処理結果に基づき、該当するＷｅｂサービスに対しＳＯＡＰボディの記述内容を送信し、該当Ｗｅｂサービスから通知される処理結果に基づきＳＯＡＰレスポンスを生成し、ＳＯＡＰリクエストを発行したコンピュータ端末１１２１に対し返信する機能とを有する。
【００２９】
調停サービス１０３は、ＳＯＡＰ処理部１０２より送信されたＳＯＡＰヘッダ部の記述内容を解析し、実行要求されたＷｅｂサービスに関する情報を取得する機能と、ＸＭＬスクリプト処理部１０４を介して、メモリ装置制御部１０５が管理するメモリ（ＨＤＤ１１０４）上に登録されたＸＭＬスクリプト１０６より、実行要求されたＷｅｂサービスに対応づけられた認証・権限付与サービスに関する情報を取得する機能とを有する。
【００３０】
さらに調停サービス１０３は取得した認証・権限付与サービスに関する情報に基づき、ＳＯＡＰヘッダ部に記述された認証情報を、ＸＭＬスクリプト１０６より取得した認証・権限付与サービス（１０７〜１０９のいずれか）に対し送信する機能と、認証・権限付与サービス（１０７〜１０９のいずれか）から通知される処理結果に基づきＳＯＡＰレスポンスを生成し、ＳＯＡＰ処理部１０２に対し通知する機能とを有する。
【００３１】
なお、本実施形態にかかるＭＦＰ１１００は、認証・権限付与機能を実現するサービスとして認証・権限サービスＡ（１０７）、認証サービスＢ（１０８）、権限サービスＢ（１０９）を組み込む構成としているが、本発明はこれに限られず、図１に示すように更に、認証・権限サービスＣ（１１５）をＭＦＰ１１００の外部に配し、ネットワーク１１１０を介して利用可能なように構成してもよい。
【００３２】
各認証・権限付与サービス（１０７〜１０９）は調停サービス１０３より送信された認証情報を処理し、その処理結果を調停サービス１０３に対し返信する機能を有する。
【００３３】
サービス管理サービス１１４は、Ｗｅｂサービスの管理を行う専用のサービスで、新規のＷｅｂサービスの追加（インストール）、既存のＷｅｂサービスの削除（アンインストール）、停止、再開などを制御する機能を有する。なお、本実施形態において、当該サービス管理サービス１１４は、ＭＦＰ１１００に内在しているものとして図１に描かれているが、ＭＦＰ１１００の外部にネットワーク１１１０を介して接続されたコンピュータ端末１１２１内に在っても良い。なお、当該サービス管理サービス１１４は、他のサービスと同様、ＸＭＬ−ＳＯＡＰに対応したＷｅｂサービスとして構成されている。
【００３４】
さらにＭＦＰ１１００は、プリントサービス１１０、スキャンサービス１１１、ストレージサービス１１２、ＦＡＸサービス１１３を実装している。これらはＸＭＬ−ＳＯＡＰに対応したＷｅｂサービスであり、これらのＷｅｂサービスに対してはサービス管理サービス１１４を介して、Ｗｅｂサービスの停止、再開、削除、再インストールすることが可能であり、また、同様に新規Ｗｅｂサービスの追加、開始、停止、削除が可能である。
【００３５】
調停サービス１０３の下位層となるＸＭＬスクリプト処理部１０４は、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１１０４）へアクセスする機能を有する。メモリ装置制御部１０５は、Ｗｅｂサービスと、そのＷｅｂサービスに対する認証・権限付与サービスに関する情報、および処理手順が記述されたＸＭＬスクリプト１０６を格納するメモリ（ＨＤＤ１１０４）へのデータの書き込み及びメモリ（ＨＤＤ１１０４）からのデータの読み出しを制御する。
【００３６】
該ＸＭＬスクリプト１０６は、サービス管理サービス１１４を利用して管理者がＷｅｂサービスをインストールする際、Ｗｅｂサービスの実装モジュールとあわせて自動的に登録される。また、当該ＸＭＬスクリプト１０６には、Ｗｅｂサービスの管理情報（停止中、起動中など）が記述されており、ユーザがＷｅｂサービスを利用する際にチェックされるようになっている。サービス管理サービス１１４を利用して、管理者がＷｅｂサービスの削除を行った場合、当該ＸＭＬスクリプト１０６も自動的に削除される。
【００３７】
なお、管理者は、該ＸＭＬスクリプト１０６の記述内容を書き換えることで、同一のＷｅｂサービスに対し、他の認証・権限付与サービスへの対応付けをすることも可能である。また、複数のＷｅｂサービスの組み合わせにより機能する新規Ｗｅｂサービスに対し、新たに認証・権限付与サービスを対応付けるなど、柔軟にセキュリティ要件に対処することが可能である。
【００３８】
ただし、本実施形態にかかるＭＦＰ１１００においては、メモリ（ＨＤＤ１１０４）上に該ＸＭＬスクリプト１０６が存在しない場合には、ＭＦＰ１１００上で稼動中のＷｅｂサービスのいずれも実行することはできない。
【００３９】
また、システム管理者は、Ｗｅｂサービスのインストールをネットワーク１１１０を介して実施することも可能である。この場合、システム管理者は前述のサービス管理サービス１１４の動作するコンピュータ端末１１２１上でＷｅｂサービスのインストール処理を実行する。サービス管理サービス１１４は、後述するサービス管理処理フローに従ってＷｅｂサービスのインストール処理と、ＸＭＬスクリプト１０６の登録処理とを行う。これにより、メモリ装置制御部１０５が制御するメモリ（ＨＤＤ１１０４）上に、当該ＸＭＬスクリプト１０６が格納されることとなる。
【００４０】
本実施形態にかかるＭＦＰ１１００においては、ＸＭＬスクリプト１０６の登録、削除、有効化、無効化を行うために以下に示すＸＭＬ−ＳＯＡＰ  ＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）を備える。これにより、ＸＭＬスクリプト処理部１０４は、ＸＭＬスクリプト１０６の登録、削除、およびＸＭＬスクリプト１０６の有効化、無効化を行うことができる。具体的には、ＸＭＬスクリプト１０６をＭＦＰ１１００に対し送信、登録するにあたっては、ＳＯＡＰ関数であるＵｐｌｏａｄＳｃｒｉｐｔ（ｓｃｒｉｐｔＮａｍｅ、ａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ）を用いる。
【００４１】
ここで、ＭＦＰ１１００では、ＸＭＬスクリプト１０６を複数登録することが可能な構成を有しているため、ｓｃｒｉｐｔＮａｍｅはその識別情報として使用される。なお、本実施形態においては、３２文字までのＡＳＣＩＩ文字列が使用可能である。ただし、ａｃｃｏｕｎｔとｐａｓｓｗｏｒｄは、いずれも３２文字までのＡＳＣＩＩ文字列が使用される。かかる識別情報は、予めＭＦＰ１１００に対し登録済みであるものとし、その情報はメモリ装置制御部１０５が管理するメモリ（ＨＤＤ１１０４）上に記録されており、システム管理者のみが知りうるように構成されているものとする。また、ＸＭＬデータであるＸＭＬスクリプト１０６は、該ＳＯＡＰ関数を記述するＳＯＡＰリクエストの添付ファイルの形式でＭＦＰ１１００に送信される。
【００４２】
また、ＭＦＰ１１００に登録済みのＸＭＬスクリプト１０６を削除するにあたっては、ＳＯＡＰ関数であるＤｅｌｅｔｅＳｃｒｉｐｔ（ｓｃｒｉｐｔＮａｍｅ、ａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ）を用いる。なお、この場合もａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ情報を知りうるシステム管理者のみが、ＭＦＰ１１００のメモリ（ＨＤＤ１１０４）上に登録されたＸＭＬスクリプト１０６を削除することができるものとする。ＭＦＰ１１００では、複数のＸＭＬスクリプト１０６が登録可能であるためｓｃｒｉｐｔＮａｍｅにより、削除対象となるＸＭＬスクリプト１０６を指定する。
【００４３】
また、ＭＦＰ１１００に登録された複数のＸＭＬスクリプト１０６に対し、ｓｃｒｉｐｔＮａｍｅで指定したＸＭＬスクリプト１０６を有効化するにあたっては、ＳＯＡＰ関数であるＥｎａｂｌｅＳｃｒｉｐｔ（ｓｃｒｉｐｔＮａｍｅ、ａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ）を用いる。また、ここでもａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ情報を知りうるシステム管理者のみが、ＭＦＰ１１００のメモリ（ＨＤＤ１１０４）上に登録されたＸＭＬスクリプト１０６を指定し、有効化できるものとする。
【００４４】
また、ＭＦＰ１１００に登録された複数のＸＭＬスクリプト１０６に対し、ｓｃｒｉｐｔＮａｍｅで指定したＸＭＬスクリプト１０６を無効化するにあたっては、ＳＯＡＰ関数であるＤｉｓａｂｌｅＳｃｒｉｐｔ（ｓｃｒｉｐｔＮａｍｅ、ａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ）を用いる。また、ここでもａｃｃｏｕｎｔ、ｐａｓｓｗｏｒｄ情報を知りうるシステム管理者のみが、ＭＦＰ１１００のメモリ（ＨＤＤ１１０４）上に登録されたＸＭＬスクリプト１０６を指定し、無効化できるものとする。
【００４５】
＜ＸＭＬスクリプトの登録、削除、有効化、無効化処理＞
次に、図２を用いてＸＭＬスクリプト１０６の登録、削除、有効化、無効化処理の流れについて説明する。図２は、本実施形態にかかるＭＦＰ１１００におけるＸＭＬスクリプト１０６の登録、削除、有効化、無効化処理の流れを示すフローチャートである。
【００４６】
尚、図２の処理の前提として、ＸＭＬスクリプト１０６は、外部デバイスであるコンピュータ端末１１２１よってＭＦＰ１１００に対し送信されるものとする（つまり、ここでは、サービス管理サービス１１４はコンピュータ端末１１２１内にあるものとして説明する）。
【００４７】
図２に示すように、まず、調停サービス１０３を構成するＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してＳＯＡＰリクエストであるＵｐｌｏａｄＳｃｒｉｐｔを受信したか否かを判断する（ステップＳ２０１）。ここで、ＳＯＡＰリクエストであるＵｐｌｏａｄＳｃｒｉｐｔを受信したと判断した場合には、ＸＭＬスクリプト処理部１０４は、引数であるａｃｃｏｕｎｔとｐａｓｓｗｏｒｄの内容を確認すべく、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１４０４）上に記録されている情報（以下、アカウント情報とする）と一致するか否かを判断する（ステップＳ２０２）。
【００４８】
アカウント情報が一致しないと判断した場合には（ステップＳ２０２で「ｎｏ」の場合には）、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージをコンピュータ端末１１２１に返信する（ステップＳ２０３）。一方、アカウント情報が一致すると判断した場合には（ステップＳ２０２で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、既に同一ｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプト１０６が登録済みであるか否かを判断する（ステップＳ２０４）。
【００４９】
既に登録済みであると判断した場合には（ステップＳ２０４で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージをコンピュータ端末１１２１に返信し（ステップＳ２０３）、図２のステップＳ２０１に戻る。尚、この場合には、システム管理者は既に登録済みとなっているＸＭＬスクリプトをＤｅｌｅｔｅＳｃｒｉｐｔを使って削除しない限り、同一のｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトを登録することはできない。
【００５０】
登録済みのＸＭＬスクリプトが存在しないと判断した場合には（ステップＳ２０４で「ｎｏ」の場合には）、ＸＭＬスクリプト処理部１０４は、該ＳＯＡＰリクエストの添付ファイルの形式で送信されたＸＭＬスクリプトを、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１１０４）上に記録する（ステップＳ２０５）。
【００５１】
また、ステップＳ２０１においてＳＯＡＰリクエストであるＵｐｌｏａｄＳｃｒｉｐｔを受信していないと判断した場合には（ステップＳ２０１で「ｎｏ」の場合には）、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してＳＯＡＰリクエストであるＤｅｌｅｔｅＳｃｒｉｐｔを受信したか否かを判断する（ステップＳ２０６）。ここで、ＳＯＡＰリクエストであるＤｅｌｅｔｅＳｃｒｉｐｔを受信したと判断した場合には（ステップＳ２０６で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、引数であるａｃｃｏｕｎｔとｐａｓｓｗｏｒｄの内容を確認するため、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１１０４）上に記録されているアカウント情報と一致するか否かを判断する（ステップＳ２０７）。
【００５２】
ステップＳ２０７においてアカウント情報と一致しないと判断した場合には、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージをコンピュータ端末１１２１に返信する（ステップＳ２０８）。また、アカウント情報と一致すると判断した場合には（ステップＳ２０７で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、既に同一ｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトが登録済みか否か判断する（ステップＳ２０９）。
【００５３】
ステップＳ２０９において、指定されたｓｃｒｉｐｔＮａｍｅをもつＸＭＬスクリプトがメモリ（ＨＤＤ１１０４）上に記録されていない場合（登録済みでない場合）には（ステップＳ２０９で「ｎｏ」の場合には）、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージをコンピュータ端末１１２１に返信する（ステップＳ２０８）。また、指定されたｓｃｒｉｐｔＮａｍｅをもつＸＭＬスクリプトがメモリ（ＨＤＤ１１０４）上に記録されている場合（登録済みである場合）には（ステップＳ２０９で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１１０４）上に記録されたＸＭＬスクリプトを削除する（ステップＳ２１０）。
【００５４】
また、ステップＳ２０６においてＳＯＡＰリクエストであるＤｅｌｅｔｅＳｃｒｉｐｔを受信していないと判断した場合には、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してＳＯＡＰリクエストであるＥｎａｂｌｅＳｃｒｉｐｔを受信したか否かを判断する（ステップＳ２１１）。ここで、ＳＯＡＰリクエストであるＥｎａｂｌｅＳｃｒｉｐｔを受信したと判断した場合には（ステップＳ２１１で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、引数であるａｃｃｏｕｎｔとｐａｓｓｗｏｒｄの内容を確認するため、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１１０４）上に記録されているアカウント情報と一致するか否かを判断する（ステップＳ２１２）。
【００５５】
ステップＳ２１２において、アカウント情報と一致しないと判断した場合には、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージをコンピュータ端末１１２１に返信する（ステップＳ２１３）。また、アカウント情報と一致すると判断した場合には（ステップＳ２１２で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、指定されたｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトが登録済みか否か判断する（ステップＳ２１４）。
【００５６】
ステップＳ２１４において、指定されたｓｃｒｉｐｔＮａｍｅをもつＸＭＬスクリプトがメモリ（ＨＤＤ１１０４）上に記録されていない場合（登録済みでない場合）には（ステップＳ２１４で「ｎｏ」の場合には）、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージをコンピュータ端末１１２１に返信する（ステップＳ２１３）。また、指定されたｓｃｒｉｐｔＮａｍｅをもつＸＭＬスクリプトがメモリ（ＨＤＤ１１０４）上に記録されている場合（登録済みである場合）には（ステップＳ２１４で「ｙｅｓ」の場合には）、ＸＭＬスクリプト処理部１０４は、指定されたｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトを有効とし（ステップＳ２１５）、以降、調停サービス１０３が該ＸＭＬスクリプトを参照する。
【００５７】
一方、ステップＳ２１１において、ＳＯＡＰリクエストであるＥｎａｂｌｅＳｃｒｉｐｔを受信していないと判断した場合には、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してＳＯＡＰリクエストであるＤｉｓａｂｌｅＳｃｒｉｐｔを受信したか否かを判断する（ステップＳ２１６）。
【００５８】
ここでＳＯＡＰリクエストであるＤｉｓａｂｌｅＳｃｒｉｐｔを受信したと判断した場合には、ＸＭＬスクリプト処理部１０４は、引数であるａｃｃｏｕｎｔとｐａｓｓｗｏｒｄの内容を確認するため、メモリ装置制御部１０５を介してメモリ（ＨＤＤ１１０４）上に記録されているアカウント情報と一致するか否かを判断する（ステップＳ２１７）。
【００５９】
ステップＳ２１７において、アカウント情報が一致しないと判断された場合には、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージを返信する（ステップＳ２２０）。また、アカウント情報が一致すると判断した場合には、ＸＭＬスクリプト処理部１０４は、指定されたｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトが登録済みか否かを判断する（ステップＳ２１８）。
【００６０】
ステップＳ２１８において、指定されたｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトがメモリ（ＨＤＤ１１０４）上に記録されていない場合（登録済みでない場合）には、ＸＭＬスクリプト処理部１０４は、ＳＯＡＰ処理部１０２を介してエラーレスポンスメッセージを返信する（ステップＳ２２０）。
【００６１】
また、指定されたｓｃｒｉｐｔＮａｍｅをもつＸＭＬスクリプトがメモリ（ＨＤＤ１１０４）上に記録されている場合（登録済みである場合）には、ＸＭＬスクリプト処理部１０４は、指定されたｓｃｒｉｐｔＮａｍｅを持つＸＭＬスクリプトを無効とし（ステップＳ２１９）、以降、調停サービス１０３が該ＸＭＬスクリプトを参照する。
【００６２】
以上の処理が、サービス管理サービス１１４から、ＭＦＰ１１００へのＷｅｂサービスに関する指示に応じたＸＭＬスクリプトの管理コマンドが発行された場合の処理である。
【００６３】
＜サービス管理サービス１１４における処理の流れ＞
次に、図１２を用いてシステム管理者によるサービス管理処理フローについて説明する。本実施形態において、サービス管理サービス１１４は、コンピュータ端末１１２１内のシステム管理画面中のＷｅｂサービス管理画面として実装されているものとする。システム管理者は、ＭＦＰ１１００のＷｅｂサービス管理画面から、サービス管理サービス１１４を実行して、Ｗｅｂサービスの登録（インストール）、削除（アンインストール）、有効化、無効化など一連の管理操作を実施する。
【００６４】
ところで、Ｗｅｂサービスの管理操作はＳＯＡＰエンベロープ形式で構成される。このＳＯＡＰコマンドには、操作アクションの種類や、コマンド発行者の認証権限に関するセキュリティトークンが、それぞれＳＯＡＰヘッダ部に格納されている。また、Ｗｅｂサービスを追加する場合には、当該Ｗｅｂサービスが必要とする認証サービスの所在情報を対応付けて記述したＸＭＬスクリプトがＳＯＡＰボディ部に付属される。
【００６５】
図１２は、システム管理者が前述のＷｅｂサービス管理画面において適切にユーザ認証が行われ管理者としての権限が付与され、かつＷｅｂサービスに対する管理操作を指定するところから始まる。ステップＳ１２０１では、指定されたＷｅｂサービスの管理操作を行うにあたって、先に行われたユーザ認証の結果、操作者が正しい管理権限を有しているか否かが判断される。この判断はＳＯＡＰヘッダ内にあるセキュリティトークンを用いて行われる。
【００６６】
ステップＳ１２０１において、適切な管理権限を有していないと判断された場合には、認証エラー応答を返し、再びユーザ認証を求める画面に遷移する（ステップＳ１２０２）。一方、適切な操作権限を有していると判断された場合には、Ｗｅｂサービスに対する管理操作を受け付ける。
【００６７】
次に、ＳＯＡＰコマンドのフォームに必要な情報として、管理操作の種別、及びＸＭＬスクリプトが正しく含まれているかどうかの判断をする（ステップＳ１２０３）。ここでＳＯＡＰコマンドがＷｅｂサービスの追加であるのに、ＸＭＬスクリプトが含まれていない場合など、ＳＯＡＰコマンドが適切なフォームを形成していない場合はコマンドエラー応答をＳＯＡＰレスポンスとして生成する（ステップＳ１２０４）。
【００６８】
ＳＯＡＰコマンドが正しく構成されている場合は、ステップＳ１２０５でＳＯＡＰコマンドのアクション種別がＷｅｂサービスの追加であるか否かが判定される。Ｗｅｂサービスの追加の場合には、ステップＳ１２０６でＸＭＬスクリプトがＳＯＰＡエンベロープに付属しているか否か判定を受ける。ＸＭＬスクリプトは、追加するＷｅｂサービスと該Ｗｅｂサービスが必要とする認証・権限サービスの所在情報を関連付けるＭＡＰＰＩＮＧ  ＴＡＢＬＥであり、Ｗｅｂサービスを追加する処理の段階でこのＭＡＰＰＩＮＧ  ＴＡＢＬＥが無いと、Ｗｅｂサービスを追加してもこれを利用することができない。従って、ステップＳ１２０６で当該ＸＭＬスクリプトの有無を判定する。
【００６９】
ＸＭＬスクリプトがある場合はステップＳ１２０７でＳＯＡＰエンベロープをパーシングしてＳＯＡＰボディ部にあるＸＭＬスクリプトを抽出する。次に、ステップＳ１２０８でＸＭＬスクリプト処理部１０４に対してＵｐｌｏａｄＳｃｒｉｐｔコマンドを発行する。なお、ＳＯＡＰエンベロープのパーシング、フォーム確認シーケンスは、図１のＳＯＡＰ処理部１０２において行われる。一方、ＸＭＬスクリプトが無い場合はエラー応答を行う（ステップＳ１２０９）。
【００７０】
ステップＳ１２０５でＳＯＡＰコマンドのアクションフィールドがＷｅｂサービスの追加ではない場合、ステップＳ１２１０の判定シーケンスで、Ｗｅｂサービスの再開かどうかを判定する。Ｗｅｂサービスの再開である場合は、ステップＳ１２１１に遷移し、ＸＭＬスクリプト処理部４に対してＥｎａｂｌｅＳｃｒｉｐｔコマンドを発行する。
【００７１】
ステップＳ１２１０でＳＯＡＰコマンドのアクションフィールドがＷｅｂサービスの再開ではない場合、ステップＳ１２１２の判定シーケンスで、Ｗｅｂサービスの停止（無効化）かどうかを判定する。Ｗｅｂサービスの停止である場合は、ステップＳ１２１３に遷移し、ＸＭＬスクリプト処理部１０４に対してＤｉｓａｂｌｅＳｃｒｉｐｔコマンドを発行する。
【００７２】
ステップＳ１２１４でＳＯＡＰコマンドのアクションフィールドがＷｅｂサービスの停止（無効化）ではない場合、ステップＳ１２１２の判定シーケンスで、Ｗｅｂサービスの削除（アンインストール）かどうか判定を受ける。Ｗｅｂサービスの削除である場合は、ステップＳ１２１５に遷移し、ＸＭＬスクリプト処理部１０４に対してＤｅｌｅｔｅＳｃｒｉｐｔコマンドを発行する。
【００７３】
なお、ステップＳ１２１４においてＳＯＡＰコマンドのアクションフィールドがＷｅｂサービスの削除ではない場合、予定された管理操作ではなく、予定しないアクションであるため、コマンドエラーを応答することとなる（ステップＳ１２０４）。
【００７４】
図１２で発行するコマンド、すなわちＵｐｌｏａｄＳｃｒｉｐｔ、ＥｎａｂｌｅＳｃｒｉｐｔ、ＤｉｓａｂｌｅＳｃｒｉｐｔ、ＤｅｌｅｔｅＳｃｒｉｐｔは、ＳＯＡＰ処理部１０２によって発行され、ＸＭＬスクリプト処理部１０４で処理されアクションの種別に応じてＸＭＬスクリプトの登録、削除、更新が実施される。
【００７５】
＜Ｗｅｂサービスに対するＳＯＡＰリクエストを受信した場合の各部の処理＞
次に、本実施形態にかかるＭＦＰ１１００において、コンピュータ端末１１２１よりＷｅｂサービスに対するＳＯＡＰリクエストを受信した場合の各部の処理について説明する。はじめに処理の概要について説明する。図１０は、Ｗｅｂサービスに対するＳＯＡＰリクエストを受信した場合のＭＦＰ１１００における処理の流れを示した概念図である。
【００７６】
同図に示すように、ＥＮＴＲＡＮＣＥ１００１がコンピュータ端末１１２１よりＷｅｂサービスに対するＳＯＡＰリクエストを受信すると、リクエスト先のサービス名称、認証情報がＡＲＢＩＴＲＡＴＯＲ１００２に通知される。なお、ＥＮＴＲＡＮＣＥ１００１は、図１におけるＳＯＡＰ処理部１０２に相当し、図３Ａはその制御フローを示すフローチャートである。また、ＡＲＢＩＴＲＡＴＯＲ１００２は、図１における調停サービス１０３に相当し、図３Ｂはその制御フローを示すフローチャートである。
【００７７】
ＡＲＢＩＴＲＡＴＯＲ１００２では、ＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５を参照し、リクエストされたＷｅｂサービスに対応づけられた認証、権限付与サービスに関する情報を取得する。なお、ＭＡＰＰＩＮＧ  ＴＡＢＬＥ１００５は、図１におけるＸＭＬスクリプト１０６に相当する。
【００７８】
ＡＲＢＩＴＲＡＴＯＲ１００２では、取得した認証、権限付与サービスに関する情報に基づいて、ＥＮＴＲＡＮＣＥ１００１より受信した認証情報を、対応するＡＵＴＨＥＮＴＩＣＡＴＩＯＮ／ＡＵＴＨＯＲＩＺＡＴＩＯＮ  ＳＥＲＶＩＣＥ１００３に通知する。なお、ＡＵＴＨＥＮＴＩＣＡＴＩＯＮ／ＡＵＴＨＯＲＩＺＡＴＩＯＮ  ＳＥＲＶＩＣＥ１００３は、図１における認証、権限付与サービス１０７、１０８、１０９、１１５に相当し、図３Ｃはその制御フローを示すフローチャートである。
【００７９】
ＡＵＴＨＥＮＴＩＣＡＴＩＯＮ／ＡＵＴＨＯＲＩＺＡＴＩＯＮ  ＳＥＲＶＩＣＥ１００３における認証、権限付与処理の結果は、ＡＲＢＩＴＲＡＴＯＲ１００２に返信され、ＡＲＢＩＴＲＡＴＯＲ１００２では、当該処理結果に基づいてＷｅｂサービスの実行の可否、あるいはアクセス制限情報をＥＮＴＡＲＡＮＣＥ１００１に送信する。
【００８０】
ＥＮＴＲＡＮＣＥ１００１では、ＡＲＢＩＴＲＡＴＯＲ１００２からの送信内容に基づいて、リクエストされたＳＥＲＶＩＣＥ１００４をコールするか、あるいはリクエスト発行元であるコンピュータ端末１１２１に対し、Ｗｅｂサービスの実行が拒否された旨を通知する。なお、ＳＥＲＶＩＣＥ１００４は、図１における各Ｗｅｂサービスである、プリントサービス１１０、スキャンサービス１１１、ストレージサービス１１２、ＦＡＸサービス１１３に相当し、図３Ｄはその制御フローを示すフローチャートである。以下、これらのフローチャートに従い、各部の制御の流れを詳細に説明する。
【００８１】
図３Ａに示すとおり、ＭＦＰ１１００が稼動中、ＳＯＡＰ処理部１０２は外部のコンピュータ端末１１２１から送信されるＷｅｂサービスに対するＳＯＡＰリクエストの受信を、ＴＣＰ／ＩＰ／ＵＤＰプロトコルスタック１０１を介して常時監視し（ステップＳ３０１Ａ）、Ｗｅｂサービスに対するＳＯＡＰリクエストの受信を確認すると（ステップＳ３０１Ａで「ｙｅｓ」の場合）、受信したＳＯＡＰリクエストのヘッダ部を、調停サービス１０３に対し送信する（ステップＳ３０２Ａ）。
【００８２】
図３Ｂに示すとおり、調停サービス１０３では、ＳＯＡＰリクエストのヘッダ部の受信を常時監視し（ステップＳ３０１Ｂ）、ＳＯＡＰ処理部１０２から、ＳＯＡＰリクエストのヘッダ部を受信した場合（ステップＳ３０１Ｂで「ｙｅｓ」の場合）、調停サービス１０３は、ＳＯＡＰリクエストのヘッダ部の記述内容をパースする（ステップＳ３０２Ｂ）。
【００８３】
ここで、図４にＳＯＡＰリクエストのヘッダ部の記述内容の一例を示す。同図に示すように、該ＳＯＡＰリクエストのヘッダ部にはＭｉｃｒｏｓｏｆｔ、ＢＥＡ、ＩＢＭ等が共同で策定を進めるＷＳＡｄｄｒｅｓｓｉｎｇ仕様に基づき（例えば、ｈｔｔｐ：／／ｓｃｈｅｍａｓ．ｘｍｌｓｏａｐ．ｏｒｇ／ｗｓ／２００３／０３／ａｄｄｒｅｓｓｉｎｇ／参照）、リクエスト対象とするＷｅｂサービスのサービス名称が＜ＡＣＴＩＯＮ＞タグのコンテンツとして記述されている。また、標準化団体ＯＡＳＩＳにより策定されたＷＳ−Ｓｅｃｕｒｉｔｙ  ＵｓｅｒｎａｍｅＴｏｋｅｎ  Ｐｒｏｆｉｌｅ  １．０仕様に基づき＜ＵｓｅｒｎａｍｅＴｏｋｅｎ＞タグのコンテンツとして認証情報が記述されている。
【００８４】
調停サービス１０３では該ＳＯＡＰリクエストのヘッダ部をパースし、まず、＜ＡＣＴＩＯＮ＞タグの有無、およびそのコンテンツ内容をチェックする（ステップＳ３０３Ｂ）。＜ＡＣＴＩＯＮ＞タグが記述されていない場合、あるいは＜ＡＣＴＩＯＮ＞タグが存在しても、そのコンテンツが無い、すなわち空タグであった場合は（ステップＳ３０３Ｂで「ｎｏ」の場合は）不正要求であると判断し、調停サービス１０３はＳＯＡＰ処理部１０２に対しエラーを通知する（ステップＳ３０４Ｂ）。
【００８５】
一方、＜ＡＣＴＩＯＮ＞タグのコンテンツが存在する場合（ステップＳ３０３Ｂで「ｙｅｓ」の場合）、調停サービス１０３は、あらかじめＥｎａｂｌｅＳｃｒｉｐｔにより有効化されているＸＭＬスクリプト１０６をメモリ装置制御部１０５を介して読み出し、＜ＡＣＴＩＯＮ＞タグのコンテンツとして記述されたＷｅｂサービスが、該ＸＭＬスクリプト１０６に記述されているか否かを検索する（ステップＳ３０５Ｂ）。検索した結果、＜ＡＣＴＩＯＮ＞タグに記述されたＷｅｂサービスに該当する登録が見つからなかった場合（ステップＳ３０６Ｂで「ｎｏ」の場合）、ＳＯＡＰ処理部１０２は不正要求であると判断してエラーを通知する（ステップＳ３０７Ｂ）。
【００８６】
一方、検索した結果、＜ＡＣＴＩＯＮ＞タグに記述されたＷｅｂサービスに該当する登録が見つかった場合には（ステップＳ３０６Ｂで「ｙｅｓ」の場合には）、続けて、指定されたＷｅｂサービスに対応づけられた認証、権限付与サービスに関する情報の有無を検索する（ステップＳ３０８Ｂ）。検索した結果、ＸＭＬスクリプトに指定されたＷｅｂサービスに対応づけられた認証、権限付与サービスに関する情報が見つからなかった場合（ステップＳ３０８Ｂで「ｎｏ」の場合）、該Ｗｅｂサービスに対する認証処理、権限付与処理は不要と判断し、調停サービス１０３は、実行許可を通知する（ステップＳ３０９Ｂ）。
【００８７】
一方、検索した結果、ＸＭＬスクリプトに指定されたＷｅｂサービスに対応づけられた認証、権限付与サービスに関する情報が見つかった場合には（ステップＳ３０８Ｂで「ｙｅｓ」の場合には）、ＸＭＬスクリプト１０６に記述されたＵＲＬに対し、クレデンシャル情報、この場合は、ＵｓｅｒｎａｍｅＴｏｋｅｎ情報を通知する（ステップＳ３１０Ｂ）。なお、認証、権限付与サービス（１０７〜１０９）との通信プロトコルとして、本実施形態においては標準化団体ＯＡＳＩＳにより策定されたＳＡＭＬ(Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ)１．１を用いることとする。
【００８８】
図３Ｃに示すとおり、ステップＳ３０１Ｃにて、調停サービス１０３からクレデンシャル情報を受信した認証、権限付与サービス（１０７〜１０９のいずれか）は、ＳＯＡＰリクエストの記述内容をパースし（ステップＳ３０２Ｃ）、ＵｓｅｒｎａｍｅＴｏｋｅｎ情報を取得し、該情報を元に認証、権限付与処理を実行し（ステップＳ３０３Ｃ）、その処理結果に基づいてＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）１．１に従ったＳＯＡＰリクエストを生成し、調停サービス１０３に対し返信する（ステップＳ３０４Ｃ）。返信処理完了後、認証、権限付与サービス（１０７〜１０９）は、調停サービス１０３からのクレデンシャル情報の受信待ち（ステップＳ３０１Ｃ）に移行する。
【００８９】
再び図３Ｂに戻る。ステップＳ３１１Ｂでは認証、権限付与サービスからの認証結果の受信を待ち、認証結果を受信した調停サービス１０３は、引き続きＸＭＬスクリプト１０６に認証、権限付与サービスの呼び出し手続きの記述があるか否かを確認し（ステップＳ３１２Ｂ）、記述がある場合はステップＳ３１０ＢからステップＳ３１２Ｂまでの工程を繰り返す。
【００９０】
一方、ＸＭＬスクリプト１０６の記述が完了している場合には（ステップＳ３１２Ｂで「ｎｏ」の場合には）、調停サービス１０３はその認証結果をＳＯＡＰ処理部１０２に対し返信する（ステップＳ３１３Ｂ）。返信処理完了後、調停サービス１０３はＳＯＡＰ処理部１０２からのＳＯＡＰヘッダ受信待ち状態（ステップＳ３０１Ｂ）に移行する。
【００９１】
このように、調停サービス１０３はＸＭＬスクリプト１０６の記述に従い、コンピュータ端末１１２１から実行指定されたＷｅｂサービスに対応づけられた認証・権限付与サービス（１０７〜１０９のいずれか）の呼び出しを実行するため、該ＸＭＬスクリプト１０６の記述内容によって、それぞれ異なる認証、権限付与サービスを実施することが可能となる。そこで、ＸＭＬスクリプト１０６の記述内容について、ここで簡単に説明する。
【００９２】
ＸＭＬスクリプト１０６においては、＜ｘｍｌｓｃｒｉｐｔ＞タグの属性ｎａｍｅに、ＸＭＬスクリプトを識別するファイル名が記述されている。該ファイル名は、先に説明したＵｐｌｏａｄＳｃｒｉｐｔ関数で指定したｓｃｒｉｐｔＮａｍｅにより設定される。＜ｍａｐｐｉｎｇ＞タグの子タグとして、対象となるＷｅｂサービスに関する情報をＵＲＬ形式で記述する＜Ｓｅｒｖｉｃｅ＞タグと、そのＷｅｂサービスに対応づけられた認証、権限付与サービスに関する情報をＵＲＬ形式で記述する＜ＡｕｔｈＳｅｒｖｉｃｅ＞タグとが定義されている。
【００９３】
図５にＸＭＬスクリプトの具体例を示す。同図に示すＸＭＬスクリプトの場合、そのファイル名は“Ｓａｍｐｌｅ１”であり、プリントサービス１１０に対して、認証・権限サービスＡ（１０７）を、スキャンサービス１１１に対して、認証サービスＢ（１０８）を、ストレージサービス１１２に対して、権限サービスＢ（１０９）を、ＦＡＸサービス１１３に対して、認証・権限サービスＣ（１１５）を対応づけて記述し、これにより調停サービス１０３は、それぞれのＷｅｂサービスに対し、それぞれ異なる認証、権限付与サービスを実施する。この結果、例えばプリントサービス１１０にはパスワード認証、スキャンサービス１１１にはＰＩＮコード認証、ＦＡＸサービス１１３にはＩＣカード認証といったように、異なる認証、権限付与処理を実施することが可能となる。
【００９４】
また、図６に示すようなＸＭＬスクリプトによれば、同じプリントサービス１１０に対し、異なる認証、権限付与処理を実施することが可能となる。ここで定義されるアドホックプリントサービス（５０１）は、ネットワーク１１１０に接続したコンピュータ端末１１２１に対し簡易プリント機能を提供するＷｅｂサービスであり、ＭＦＰ１１００に実装された認証・権限サービスＡ（１０７）により、認証、権限付与処理を実施する。また、課金プリントサービス（５０２）として定義されるＷｅｂサービスは、ネットワーク１１１０を介してＭＦＰ１１００の外部において稼動状態にある認証・権限サービスＣ（１１５）により認証、権限付与処理が実施されることとなる。
【００９５】
このように記述することにより、例えば、認証・権限サービスＡ（１０７）が部門コードによる簡易な認証、権限付与サービスであり、認証・権限サービスＣ（１１４）がクレジットカード番号、暗証番号、およびランタイムパスワードによるセキュアレベルの高い認証・権限付与サービスであった場合等に、両者を使い分けることが可能となる。
【００９６】
また、それぞれ単独で機能するスキャンサービス１１１とストレージサービス１１２とを組み合わせて、新規のＷｅｂサービスであるスキャン−ストレージサービスを提供するような場合には、図７に示すようにスキャンサービス１１１、ストレージサービス１１２に対しては、それぞれ認証・権限サービスＡ（１０７）、認証サービスＢ（１０８）を対応付け、新規Ｗｅｂサービスであるスキャン−ストレージサービスに対しては認証・権限サービスＣ（１１５）を対応付けるといったことができる。
【００９７】
また、図８に示すＸＭＬスクリプトはプリントサービス１１０、スキャンサービス１１１共に認証・権限サービスＡ（１０７）に対応づけており、両Ｗｅｂサービスは認証・権限サービスＣ（１１５）で管理されるデータベースに基づいて処理されることから、両Ｗｅｂサービスを利用するユーザに対して同一のクレデンシャル情報に基づいて認証、権限付与処理を実施する（即ちシングルサインオンをプリントサービス１１０とスキャンサービス１１１とに対して実施する）ことが可能となる。
【００９８】
また、図９に示すＸＭＬスクリプトはプリントサービス１１０に対し、認証サービスＢ（１０８）、および権限サービスＢ（１０９）を記述し、対応づけているが、この場合、調停サービス１０３は該ＸＭＬスクリプトに記述された順番に、各認証、権限付与サービスを呼び出す。そのため、認証サービスＢ（１０８）により認証処理が実施され、該認証サービス（１０８）により付与されたアサーションを、次の処理である権限サービスＢ（１０９）に対し通知することで権限情報の付与を受けることが可能となる。即ち、認証処理を多重に実施する必要がある場合、あるいは、認証処理と権限処理とを切り分け、ユースケースによってその組み合わせを変更する必要がある場合等には、この図９に示すようなＸＭＬスクリプトを記述、登録することとなる。
【００９９】
本実施形態においては、上記例に示したＸＭＬスクリプトを複数登録することが可能であり、ＥｎａｂｌｅＳｃｒｉｐｔで指定されたＸＭＬスクリプトの記述に従い、Ｗｅｂサービスと認証・権限付与サービスとの対応付け処理が実施される。従って、ＸＭＬスクリプトの記述を変更するのみで、実施する認証・権限付与処理をユースケースに応じて変更、更新するこが可能となる。
【０１００】
再び図３Ａに戻る。同図に示すとおり、調停サービス１０３から処理結果を受信したＳＯＡＰ処理部１０２は（ステップＳ３０３Ａ）、その処理結果を解析し（ステップＳ３０４Ａ）、認証結果がＮＧであった場合には（ステップＳ３０４Ａで「ｎｏ」の場合には）、コンピュータ端末１１２１に対し不正要求としてＳＯＡＰ  Ｆａｕｌｔを返信する（ステップＳ３０５Ａ）。
【０１０１】
一方、認証結果がＯＫであった場合（ステップＳ３０４Ａで「ｙｅｓ」の場合）、ＳＯＡＰボディ部に記述されたサービス属性情報をパースし（ステップＳ３０６Ａ）、該当するＷｅｂサービス（１１０〜１１３のいずれか）に対する属性情報を読み取り、該属性情報をＷｅｂサービスに対し通知し、Ｗｅｂサービスの実行を要求する（ステップＳ３０７Ａ）。
【０１０２】
図３Ｄに示すとおり、ＳＯＡＰ処理部１０２からＷｅｂサービス実行要求を受信したＷｅｂサービス（１１０〜１１３のいずれか）は、通知された属性情報に基づき、Ｗｅｂサービス処理を実行し（ステップＳ３０２Ｄ）、その処理結果をＳＯＡＰ処理部１０２に対して返信する（ステップＳ３０３Ｄ）。Ｗｅｂサービスは処理結果返信後、ＳＯＡＰ処理部１０２からのＷｅｂサービス実行要求受信待ち（ステップＳ３０１Ｄ）に移行する。
【０１０３】
再び図３Ａに戻る。Ｗｅｂサービスから処理結果を受信したＳＯＡＰ処理部１０２は（ステップＳ３０８Ａ）、その処理結果に基づきＳＯＡＰレスポンスを生成する（ステップＳ３０９Ａ）。この際、調停サービス１０３を介して、認証、権限付与サービスよりコンピュータ端末１１２１に返信すべくアサーション情報等の付加情報を受信済みの場合は、該情報をＳＯＡＰヘッダ部に記述する。ＳＯＡＰレスポンスの生成が完了した時点で、ＳＯＡＰ処理部１０２はコンピュータ端末１１２１に対してＳＯＡＰレスポンスを返信する（ステップＳ３１０Ａ）。ＳＯＡＰレスポンス返信後、ＳＯＡＰ処理部１０２はコンピュータ端末１１２１からのＳＯＡＰリクエスト受信待ち（ステップＳ３０１Ａ）に移行する。
【０１０４】
以上の一連のプロセスを繰り返すことにより、要求されたＷｅｂサービスに対する認証、権限付与処理を実施することが可能となる。
【０１０５】
以上の説明から明らかなように、本実施形態にかかるＷｅｂサービスを基盤とする情報処理装置によれば、Ｗｅｂサービスのインストールに際して、サービス管理サービス１１４が、Ｗｅｂサービスの実装モジュールを情報処理装置にインストールすると同時に、あわせてＸＭＬスクリプト処理部１０４に対して認証サービスの対応する所在情報を記述したＸＭＬスクリプト（ＭＡＰＰＩＮＧ  ＴＡＢＬＥ）を通知し、これをＸＭＬスクリプト処理部１０４が受け取ってＸＭＬスクリプトを自動で更新するため、システム管理者は、Ｗｅｂサービスのインストール作業と対応する認証サービスの関連付けを明示的に手動で行う必要が無くなり、ひいては管理コストを低く抑えることが可能となる。
【０１０６】
また、Ｗｅｂサービスのインストールのみならず、Ｗｅｂサービスの削除、停止、再開といった一連の管理操作も、当該サービス管理サービス１１４によって容易にかつ一元的に、リモート環境においても実現することができ、これにより管理コストの軽減ができるといった効果がある。
【０１０７】
加えて、システム管理者によるＭＡＰＰＩＮＧ  ＴＡＢＬＥの更新がサービスの追加／削除に伴って自動的に行われるので、サービスの新規追加／削除の情報の反映が遅れることなく、最適なセキュリティシステムを最適なタイミングで導入することが可能となり、これによって不正利用による被害を未然に防止するといった効果ももたらされることとなる。
【０１０８】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１０９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１１０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１１４】
【図１】本発明の一実施形態にかかるＭＦＰの機能構成を示すブロック図である。
【図２】本発明の一実施形態にかかるＭＦＰにおけるＸＭＬスクリプトの登録、削除、有効化処理の流れを示すフローチャートである。
【図３Ａ】ＳＯＡＰ処理部の制御フローを示す図である。
【図３Ｂ】調停サービスの制御フローを示す図である。
【図３Ｃ】認証・権限付与サービスの制御フローを示す図である。
【図３Ｄ】Ｗｅｂサービスの制御フローを示す図である。
【図４】ＳＯＡＰリクエストのヘッダ部の記述内容の一例を示す図である。
【図５】ＸＭＬスクリプトの記述例を示す図である。
【図６】ＸＭＬスクリプトの記述例を示す図である。
【図７】ＸＭＬスクリプトの記述例を示す図である。
【図８】ＸＭＬスクリプトの記述例を示す図である。
【図９】ＸＭＬスクリプトの記述例を示す図である。
【図１０】Ｗｅｂサービスに対するＳＯＡＰリクエストを受信した場合のＭＦＰにおける処理の流れを示した概念図である。
【図１１】本発明の一実施形態にかかるＭＦＰを含む情報処理システムの全体構成を示す図である。
【図１２】システム管理者によるサービス管理フローについて説明する図である。
【符号の説明】
【０１１５】
１０１                  ＴＣＰ／ＩＰ／ＵＤＰプロトコルスタック処理部
１０２                  ＳＯＡＰ処理部
１０３                  調停サービス
１０４                  ＸＭＬスクリプト処理部
１０５                  メモリ装置制御部
１０６                  ＸＭＬスクリプト
１０７                  認証・権限サービスＡ
１０８                  認証サービスＢ
１０９                  権限サービスＢ
１１０                  プリントサービス
１１１                  スキャンサービス
１１２                  ストレージサービス
１１３                  ＦＡＸサービス
１１４                  サービス管理サービス
１１５                  認証・権限サービスＣ
１１０１                通信装置
１１０２                ＣＰＵ
１１０３                メモリ
１１０４                ＨＤＤ
１１０５                プリンタ
１１０６                スキャナ
１１０７                画像処理装置
１１００                ＭＦＰ
１１１０                ネットワーク
１１２１                コンピュータ端末
【図１】
2006163947.tif 000003
【図２】
2006163947.tif 000004
【図３Ａ】
2006163947.tif 000005
【図３Ｂ】
2006163947.tif 000006
【図３Ｃ】
2006163947.tif 000007
【図３Ｄ】
2006163947.tif 000008
【図４】
2006163947.tif 000009
【図５】
2006163947.tif 000010
【図６】
2006163947.tif 000011
【図７】
2006163947.tif 000012
【図８】
2006163947.tif 000013
【図９】
2006163947.tif 000014
【図１０】
2006163947.tif 000015
【図１１】
2006163947.tif 000016
【図１２】
2006163947.tif 000017