JP2005301527A - Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム - Google Patents

Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム Download PDF

Info

Publication number
JP2005301527A
JP2005301527A JP2004114730A JP2004114730A JP2005301527A JP 2005301527 A JP2005301527 A JP 2005301527A JP 2004114730 A JP2004114730 A JP 2004114730A JP 2004114730 A JP2004114730 A JP 2004114730A JP 2005301527 A JP2005301527 A JP 2005301527A
Authority
JP
Japan
Prior art keywords
soap message
soap
requester
message
child
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004114730A
Other languages
English (en)
Other versions
JP4061288B2 (ja
Inventor
Takayuki Ito
伊藤 貴之
Masayoshi Teraguchi
正義 寺口
Hiromi Yamaguchi
裕美 山口
Satoko Saikai
聡子 西海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004114730A priority Critical patent/JP4061288B2/ja
Priority to US11/101,314 priority patent/US7529793B2/en
Publication of JP2005301527A publication Critical patent/JP2005301527A/ja
Application granted granted Critical
Publication of JP4061288B2 publication Critical patent/JP4061288B2/ja
Priority to US12/166,007 priority patent/US8656037B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Abstract

【課題】 モバイル機器等のリクエスタ11において、リクエスト用SOAPメッセージの処理時間を短縮する。
【解決手段】 順番規定手段26は、WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(親SOAPメッセージ)をSOAPヘッダ21及びSOAPボディ22の区分に分割する。区分作成手段27は、親SOAPメッセージのSOAPボディ22の区分及び親SOAPメッセージのSOAPヘッダ21の区分をその順番に作成する。送信手段28は、区分作成手段27の作成処理と並行して送信処理を行い、各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当て、各子SOAPメッセージを作成順番に従い前記プロバイダへ送信する。
【選択図】 図6

Description

本発明は、SOAP(Simple Object Access Protocol)メッセージを取り扱うWEBサービス・システム、リクエスタ、SOAPメッセージ用中間処理装置、リクエスタのリクエスト用SOAPメッセージ処理方法、リクエスタのレスポンス用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のリクエスト用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のレスポンス用SOAPメッセージ処理方法、及びプログラムに係り、詳しくはリクエスタにおけるSOAPメッセージの処理を改善したWEBサービス・システム、リクエスタ、SOAPメッセージ用中間処理装置、リクエスタのリクエスト用SOAPメッセージ処理方法、リクエスタのレスポンス用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のリクエスト用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のレスポンス用SOAPメッセージ処理方法、及びプログラムに関するものである。
WEBサービス・セキュリティは、SOAPメッセージへの電子署名や暗号化の適用や、セキュリティ・トークンの伝播を目的とした仕様である(非特許文献1)。WEBサービス・セキュリティを適用したメッセージをモバイル機器からサーバーに送信し、サーバーから受信したメッセージをモバイル機器から受信する、というケースを考える。このときモバイル機器側の典型的な処理手順は、非特許文献2によれば、以下の通りである。
[メッセージの構築(生成)]
ステップ1:SOAPメッセージを構築する。
ステップ2:SOAPメッセージに電子署名や暗号化を適用する。
ステップ3:電子署名の検証、暗号値の復号化、などに必要な情報、及びセキュリティ・トークン、などを包括したSOAPヘッダを構築し、SOAPメッセージに挿入する。
[通信]
ステップ1:サーバーとの通信を確立する。
ステップ2:サーバーにSOAPメッセージを送信する。
ステップ3:サーバーからのSOAPメッセージを受信する。
ステップ4:サーバーとの通信を閉じる。
[受信メッセージ解読]
ステップ1:受信したSOAPメッセージの中にあるSOAPヘッダを解読し、電子署名の検証や、暗号値の復号化などに必要な情報を蓄積する。
ステップ2:SOAPヘッダの記述順に従って、電子署名の検証や、暗号値の復号化などを行う。
ステップ3:検証、復号化を終えたら、SOAPメッセージの中から、サーバーからの返答を抽出して、アプリケーションに返す。
米国IBM社、"Webサービス・セキュリティ(Web Services Security (WS-Security))[online]、[平成16年4月1日検索]、インターネット< URL :http://www-106.ibm.com/developerworks/webservices/library/ws-secure/> 寺口正義、山口裕美、西海聡子及び伊藤貴之著、「WebサービスとWebサービス・セキュリティの逐次処理による軽量実装」、「暗号と情報セキュリティシンポジウム」学会2004年講演原稿集、2004年1月27日、p.119−124
WEBサービスの高速化は、モバイル機器だけでなくサーバー側でも重要な課題となっている。これを改善する従来技術として、非特許文献2にも提案されているXML処理のストリーミングが考えられる。しかし、XML処理以外にも処理時間の大きい要素は残っているので、WEBサービスの高速化の問題は、まだ完全には解決していない。具体的にいうとセキュリティ演算処理の処理時間の中で、(a)メッセージ送信時の署名値算出、及び(b)メッセージ受信時の鍵復号化は、非常に大きな割合を占める。また、ワイヤレス機器の場合、通信処理も非常に大きな割合を占める。
パーベイシブ(pervasive)機器によるセキュリティ処理は、ハードウェア上の制約及びプログラミング言語等の制約のために、計算時間が非常に大きくなることが多い。発明者らのパートナー部門の測定によると、特に(a)公開鍵方式を用いた送信側による署名値の算出、及び(b)公開鍵方式を用いた受信側による暗号値の復号化には、1回あたり数秒の計算時間を要していることが分かっている。
また、ワイヤレス機器特有の問題として、通信に非常に時間がかかることが知られている。発明者自身による測定でも、サーバーとの通信の確立、メッセージの送信及び受信処理に、合計で数秒〜十数秒の処理時間を要することが分かっている。
これらの数値から単純計算すると、モバイル機器にWEBサービス・セキュリティを適用すると、前述の[メッセージの構築(生成)]、[通信]及び[受信メッセージ解読]の処理手順に要する合計時間が15〜30秒程度を要することになり、その高速化が重要な課題となることが分かる。
本発明の目的は、モバイル機器等のリクエスタにおけるリクエスト用SOAPメッセージの処理時間を短縮できるWEBサービス・システム、リクエスタ、SOAPメッセージ用中間処理装置、リクエスタのリクエスト用SOAPメッセージ処理方法、リクエスタのレスポンス用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のリクエスト用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のレスポンス用SOAPメッセージ処理方法、及びプログラムを提供することである。
本発明の他の目的は、モバイル機器等のリクエスタにおけるレスポンス用SOAPメッセージの処理時間を短縮できるWEBサービス・システム、リクエスタ、SOAPメッセージ用中間処理装置、リクエスタのリクエスト用SOAPメッセージ処理方法、リクエスタのレスポンス用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のリクエスト用SOAPメッセージ処理方法、SOAPメッセージ用中間処理装置のレスポンス用SOAPメッセージ処理方法、及びプログラムを提供することである。
本発明のリクエスト処理用WEBサービス・システムでは、リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信する。該リクエスト処理用WEBサービス・システムは、リクエスタからプロバイダへのSOAPメッセージを中継するSOAPメッセージ用中間処理装置を有している。
本発明のリクエスト処理用WEBサービス・システムのリクエスタは次の手段を有している。
WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
規定順番に従い親SOAPメッセージの各区分の内容を作成する区分作成手段、及び
区分作成手段の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当て、各子SOAPメッセージを作成順番に従いプロバイダへ送信する送信手段。
本発明のリクエスト処理用WEBサービス・システムのSOAPメッセージ用中間処理装置は次の手段を有している。
1個の親SOAPメッセージに係る子SOAPメッセージをリクエスタから受信する受信手段、
1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してからこれら子SOAPメッセージに基づき親SOAPメッセージを生成する親SOAPメッセージ生成手段、及び
生成した親SOAPメッセージをプロバイダへ送信する送信手段。
本発明のレスポンス処理用WEBサービス・システムでは、リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信する。該レスポンス処理用WEBサービス・システムは、プロバイダからリクエスタへのSOAPメッセージを中継するSOAPメッセージ用中間処理装置を有している。
本発明のレスポンス処理用WEBサービス・システムのSOAPメッセージ用中間処理装置は次のものを有している。
WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(=親SOAPメッセージ)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当て各子SOAPメッセージを生成する子SOAPメッセージ生成手段、及び
各子SOAPメッセージを、それに対応する区分についての規定順番に従いリクエスタへ送信する送信手段。
本発明のレスポンス処理用WEBサービス・システムのリクエスタは次のものを有している。
子SOAPメッセージを受信する受信手段、及び
受信手段の受信処理と並行して解読処理を行うものであって各子SOAPメッセージをその受信順番に従い解読する解読処理手段。
本発明のリクエスト用SOAPメッセージ処理方法が適用されるリクエスタは、インターネットを経由してWEBサービスに係るリクエストをプロバイダへ送信し、プロバイダからインターネットを経由してWEBサービスに係るレスポンスを受信する。該リクエスタに適用する本発明のリクエスト用SOAPメッセージ処理方法は次のステップを有している。
WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(=親SOAPメッセージ)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定するステップ、
規定順番に従い親SOAPメッセージの各区分の内容を作成するステップ、及び
各区分の内容を作成する処理と並行して送信処理を行うものであって各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当て、各子SOAPメッセージを作成順番に従いプロバイダへ送信するステップ。
本発明のレスポンス用SOAPメッセージ処理方法が適用されるリクエスタは、インターネットを経由してWEBサービスに係るリクエストをプロバイダへ送信し、プロバイダからインターネットを経由してWEBサービスに係るレスポンスを受信する。該リクエスタに適用する本発明のレスポンス用SOAPメッセージ処理方法は次のステップを有している。
WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(=親SOAPメッセージ)を複数の区分に分割した各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当ててある各子SOAPメッセージを所定の規定順番に従い受信するステップ、及び
各子SOAPメッセージを受信するステップと並行して実行されるものであって各子SOAPメッセージをその受信順番に従い解読するステップ。
本発明のリクエスト用SOAPメッセージ処理方法が適用されるSOAPメッセージ用中間処理装置では、リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信し、該SOAPメッセージ用中間処理装置がリクエスタからプロバイダへのSOAPメッセージを中継する。該SOAPメッセージ用中間処理装置に適用する本発明のリクエスト用SOAPメッセージ処理方法は次のステップを有している。
WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(=親SOAPメッセージ)を複数の区分に分割してある各区分に対しその内容を収めた各SOAPメッセージ(=子SOAPメッセージ)をリクエスタから受信するステップ、
1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してからこれら子SOAPメッセージに基づき親SOAPメッセージを生成するステップ、及び
生成した親SOAPメッセージをプロバイダへ送信するステップ。
本発明のレスポンスリ用SOAPメッセージ処理方法が適用されるSOAPメッセージ用中間処理装置では、リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信し、該SOAPメッセージ用中間処理装置がプロバイダからリクエスタへのSOAPメッセージを中継する。該SOAPメッセージ用中間処理装置に適用する本発明のレスポンス用SOAPメッセージ処理方法は次のステップを有している。
プロバイダからリクエスタへ宛てた1個のレスポンスとしての1個のSOAPメッセージ(=親SOAPメッセージ)を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定するステップ、
各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を生成するステップ、及び
各子SOAPメッセージを、それに対応する区分についての規定順番に従いリクエスタへ送信するステップ。
本発明のプログラムは、前述した各リクエスタの各手段としてコンピュータを機能させる。本発明のプログラムは、また、前述のSOAPメッセージ用中間処理装置の各手段としてコンピュータを機能させる。
本発明によれば、WEBサービスにおける1個のリクエストとしての1個のSOAPメッセージ(=親SOAPメッセージ)が複数の区分に分割され、各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当てる。そして、リクエスタは、親SOAPメッセージを作成してから、プロバイダへ送信するのではなく、各区分の内容の作成に並行して、子SOAPメッセージをその作成順番に従い送信することになるので、リクエスタにおけるリクエスト用SOAPメッセージについてその作成開始から送信完了までの時間を短縮できる。
本発明によれば、プロバイダからのレスポンスとしての1個のSOAPメッセージ(=親SOAPメッセージ)が複数の区分に分割され、各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当てる。そして、リクエスタは、親SOAPメッセージを受信してから、解読するのではなく、子SOAPメッセージを受信しつつ、受信済み又は受信中の子SOAPメッセージについて、解読することになるので、リクエスタにおけるレスポンス用SOAPメッセージについてその受信開始から処理完了までの時間を短縮できる。
図1はWEBサービス・システム10の概略図である。例えば携帯電話機であるリクエスタ11は、それが現在、位置する地域を担当しかつリクエスタ11のユーザが契約している携帯電話機会社に属する基地局12と無線を介してデータを送受する。典型的な携帯電話会社では、ゲートウェイ13は、各基地局12ごとに、又は複数個の基地局12を1群とする、その群ごとに、設けられ、リクエスタ11とインターネット14とを相互に接続している。あるいは、第1段のゲートウェイ13が基地局12ごとに設けられるとともに、第2段のゲートウェイ13が、複数個の基地局12を1群とする、その群ごとに設けられ、リクエスタ11は、複数段のゲートウェイ13を経由してインターネット14へ接続されることもあり得る。後述のSOAPメッセージ用中間処理装置24(図4)は、各リクエスタ11とインターネット14との間に介在するどの段のゲートウェイ13に実装されてもよい。サーバーとしてのWEBサービスのプロバイダ15は、ゲートウェイ13とは別の箇所においてインターネット14へ接続されている。
図2はSOAPメッセージ18の送受に利用するトランスポート層のメッセージの構造図である。トランスポート層のメッセージ16は、HTTP等のプロトコルのプロトコル・ヘッダ17と、アプリケーション層のSOAPメッセージ18とを含む。アプリケーション層のSOAPメッセージ18は「SOAPエンベロープ」ともいわれる。本発明において単に「SOAPメッセージ」というときは、SOAPエンベロープとしてのSOAPメッセージ18を指すものとする。
図3はSOAPメッセージ18の構造図である。SOAPメッセージ18はSOAPヘッダ21とSOAPボディ22とを含む。SOAPヘッダ21及びSOAPボディ22は共にXML(eXtensible Markup Language)で記述される。SOAPヘッダ21は、オプションであり、省略可能であるが、WEBサービス・セキュリティに対処するSOAPメッセージ18では、セキュリティ・トークンやデジタル署名に係る情報がSOAPヘッダ21に記述される。
図4はSOAPメッセージ用中間処理装置24がゲートウェイ13に装備される場合のWEBサービス・システム10の機能ブロック図、図5はSOAPメッセージ用中間処理装置24がプロバイダ15に装備される場合のWEBサービス・システム10の機能ブロック図である。WEBサービス・システム10は、リクエスタ11、プロバイダ15及びSOAPメッセージ用中間処理装置24を有している。リクエスタ11及びプロバイダ15は、インターネット14を介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信する。SOAPメッセージ用中間処理装置24は、リクエスタ11からプロバイダ15へのSOAPメッセージ及びプロバイダ15からリクエスタ11へのSOAPメッセージを中継し、典型的にはゲートウェイ13に装備されるが、プロバイダ15に装備されることも可能である。
図6はWEBサービス・システム10の中でリクエスト処理に関わる部分の機能ブロック図である。リクエスタ11は、順番規定手段26、区分作成手段27及び送信手段28を有している。順番規定手段26は、WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(=親SOAPメッセージ)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する。区分作成手段27は、規定順番に従い親SOAPメッセージの各区分の内容を作成する。送信手段28は、区分作成手段27の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当て、各子SOAPメッセージを作成順番に従いプロバイダ15へ送信する。SOAPメッセージ用中間処理装置24は、受信手段32、親SOAPメッセージ生成手段33及び送信手段34を有している。受信手段32は、1個の親SOAPメッセージに係る子SOAPメッセージをWEBサービス・システム10から受信する。親SOAPメッセージ生成手段33は、1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してから、これら子SOAPメッセージに基づき親SOAPメッセージを生成する。送信手段34は、生成した親SOAPメッセージをプロバイダ15へ送信する。
リクエスト処理における1個の親SOAPメッセージが、WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージである旨、述べたが、これは、1個の親SOAPメッセージが、1個のリクエスト単位を構成することを意味する。したがって、1個の親SOAPメッセージを複数個の区分に分割して、各区分に対してその内容を収めた1個の子SOAPメッセージを割り当てているが、個々の子SOAPメッセージは、それ単体では、1個のリクエスト単位を構成することはできないものである。
従来のリクエスタでは、親SOAPメッセージを作成してから、親SOAPメッセージを送信していたのに対し、リクエスタ11では、親SOAPメッセージが複数の区分に分割される結果、区分作成手段27における区分作成と送信手段28における子SOAPメッセージの送信とが並列処理可能となり、リクエスタ11におけるリクエストに係る処理時間が短縮される。
図7はWEBサービス・システム10の中でレスポンス処理に関わる部分の機能ブロック図である。SOAPメッセージ用中間処理装置24は、順番規定手段39、子SOAPメッセージ生成手段40及び送信手段41を有している。順番規定手段39は、WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(=親SOAPメッセージ)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する。子SOAPメッセージ生成手段40は、各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当て、各子SOAPメッセージを生成する。送信手段41は、各子SOAPメッセージを、それに対応する区分についての規定順番に従いリクエスタ11へ送信する。リクエスタ11は受信手段45及び解読処理手段46を有している。受信手段45は、子SOAPメッセージを受信する。解読処理手段46は、受信手段45の受信処理と並行して解読処理を行うものであって、各子SOAPメッセージをその受信順番に従い解読する。
レスポンス処理における1個の親SOAPメッセージが、WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージである旨、述べたが、これは、1個の親SOAPメッセージが、1個のレスポンス単位を構成することを意味する。したがって、1個の親SOAPメッセージを複数個の区分に分割して、各区分に対してその内容を収めた1個の子SOAPメッセージを割り当てているが、個々の子SOAPメッセージは、それ単体では、1個のレスポンス単位を構成することはできないものである。
従来のリクエスタでは、親SOAPメッセージを受信してから、親SOAPメッセージを解読処理していたのに対し、リクエスタ11では、レスポンスに係るSOAPメッセージを分割した区分に対応する子SOAPメッセージを単位に受信し、受信手段45における子SOAPメッセージの受信と解読処理手段46おける子SOAPメッセージの解読とが並列処理される。結果、リクエスタ11におけるレスポンスに係る処理時間が短縮される。
以下は、WEBサービス・システム10の一層の具体的な構成例の説明である。これら構成例は、前述のWEBサービス・システム10、リクエスタ11及びSOAPメッセージ用中間処理装置24へ任意の組み合わせで適用できる。
リクエスタ11は、例えば、携帯電話、PDA(Private Digital Assistant)、工場や家庭のロボット、情報家電及びカーナビゲーション装置である。リクエスタ11は、一般的には、CPUの性能が不十分で、リクエストに係るSOAPメッセージを高速に処理することができない電気機器であって、プロバイダ15へゲートウェイ13を介して接続可能となっているあらゆる電気機器を含む。リクエスタ11は、ノート型PC(パーソナルコンピュータ)であってもよい。リクエスタ11は少なくともパーベイシブ(pervasive)機器を包摂する。
所定の分割基準とは、典型的には、親SOAPメッセージを2個の区分に分割し、第1の区分はSOAPヘッダ21の記述全部であり、第2の区分はSOAPボディ22の記述部の全部である。しかし、親SOAPメッセージのSOAPヘッダ21及びSOAPボディ22をそれぞれ少なくとも1個の区分とする計3個以上の区分とする分割基準で、親SOAPメッセージを分割してもよい。リクエスト処理過程に関わるリクエスタ11の順番規定手段26(図6)における規定順番では、SOAPヘッダ21をSOAPボディ22より後の順番にし、レスポンス処理過程に関わるSOAPメッセージ用中間処理装置24の順番規定手段39(図7)における規定順番では、SOAPヘッダ21をSOAPボディ22より先の順番にする。例えば、親SOAPメッセージのSOAPヘッダ21をH1,H2,H3,・・・Hnの複数個の区分に分割し、親SOAPメッセージのSOAPボディ22をB1,B2,B3,・・・Bm(ただし、n,mは自然数。n≠mであってもよい。)の複数個の区分に分割した場合を考える。順番規定手段26における規定順番は、例えば、(a)B1→B2→B3→・・・→Bm→H1→H2→H3→・・・→Hn、及び(b)B1→H1→B2→H2→B3→H3→・・・である。順番規定手段39における規定順番は、例えば、(c)H1→H2→H3→・・・→Hn→B1→B2→B3→・・・→Bm、及び(d)H1→B1→H2→B2→H3→B3→・・・である。親SOAPメッセージのヘッダのみ及びボディのみを範囲とする区分をそれぞれヘッダ区分及びボディ区分と、説明の便宜上、呼ぶことにする。(a)及び(c)では、それぞれ全部のボディ区分及び全部のヘッダ区分を、全部のヘッダ区分及び全部のボディ区分に対して先行させているのに対し、(b)及び(d)では、ヘッダ区分及びボディ区分を交互にした順番となっている。なお、(b)及び(d)において、H1とB1、H2とB2、H3とB3、・・・は、好ましくは参照元のヘッダ区分と参照先のボディとの関係等が規定されている。WEBサービス・システム10のリクエスト処理では、区分作成手段27における区分の作成と、送信手段28における子SOAPメッセージの送信とが並行処理され、WEBサービス・システム10のレスポンス処理では、受信手段45における子SOAPメッセージの受信と、解読処理手段46における子SOAPメッセージの解読処理とが並列処理される。要は、その並列処理による合計の処理時間が最小となるように、親SOAPメッセージの分割基準及び規定順番を設定することである。
なお、後述の図16から理解されるように、ヘッダ区分は、子SOAPメッセージにおけるヘッダとされ、ボディ区分は、子SOAPメッセージにおけるボディとされる。親SOAPメッセージにおけるヘッダが複数の区分に分割されるときの子SOAPメッセージの内容について下記の親SOAPメッセージ例に基づき言及する。なお、左端の3桁は説明の便宜上、挿入した行番号である。
[親SOAPメッセージ]
200:・・・
201:<Header>
202: <L1a>
203: <L2a1>
204: ・・・
205: </L2a1>
206: <L2a2>
207: ・・・
208: </L2a2>
209: </L1a>
210: <L1b>
211: <L2b1>
212: ・・・
213: </L2b1>
214: <L2b2>
215: ・・・
216: </L2b2>
217: </L1b>
218:</Header>
219:・・・
上記親SOAPメッセージのヘッダにおいて、ルートから2階層下のL2を分割階層として、ヘッダを3個の区分に分ける。第1の区分は行番号203〜208の範囲、第2の区分は行番号211〜213の範囲、及び第3の区分は行番号214〜216とする。このときの各子SOAPメッセージのヘッダは次のようになる。なお、SOAPの規約では、ヘッダは省略可能であるものの、ボディは省略不能であるので、下記の各子SOAPメッセージのボディの記述は、空のボディを意味する<Body></Body>となる。
[子SOAPメッセージ1]
240:・・・
241:<Header>
242: <L1a>
243: <L2a1>
244: ・・・
245: </L2a1>
246: <L2a2>
247: ・・・
248: </L2a2>
249: </L1a>
250:</Header>
251:・・・
[子SOAPメッセージ2]
260:・・・
261:<Header>
262: <L1b>
263: <L2b1>
264: ・・・
265: </L2b1>
266: </L1b>
267:</Header>
268:・・・
[子SOAPメッセージ3]
280:・・・
281:<Header>
282: <L1b>
283: <L2b2>
284: ・・・
285: </L2b2>
286: </L1b>
287:</Header>
288:・・・
すなわち、各子SOAPメッセージにおけるヘッダでは、区分内の該分割階層以下の全要素が含まれるとともに、該区分が木構造においてぶら下がっている上位階層の全要素名が含まれることになる。
親SOAPメッセージは、WEBサービス・セキュリティを適用されたSOAPメッセージである。リクエストに係りWEBサービス・セキュリティを適用されたSOAPメッセージ18では、SOAPボディ22が対称鍵(=公開鍵と対関係にある秘密鍵)により暗号化されるとともに、SOAPヘッダ21は、それにセキュリティ・トークンやデジタル署名や対称鍵に係る情報が記述されてから、さらにプロバイダ15の公開鍵により暗号化される。WEBサービス・セキュリティを適用したSOAPメッセージの作成の場合、CPU性能の低い携帯電話等のリクエスタ11では、SOAPメッセージ18の作成処理に時間がかかる。このようなSOAPメッセージ18をSOAPヘッダ21とSOAPボディ22との区分に分割し、SOAPボディ22に係る区分を子SOAPメッセージによる送信する期間を利用して、SOAPヘッダ21に係る区分を作成する。こうして、リクエスタ11におけるリクエストに係る処理の時間が短縮される。同様に、レスポンスに係りWEBサービス・セキュリティを適用されたSOAPメッセージ18では、SOAPヘッダ21には、SOAPボディ22を解読するのに必要な情報が記入され、SOAPヘッダ21及びSOAPボディ22が対称鍵に暗号化される。リクエスタ11では、レスポンスの処理において、SOAPヘッダ21に係る子SOAPメッセージを先に受信して、SOAPボディ22に係る子SOAPメッセージの受信中に、SOAPヘッダ21に係る子SOAPメッセージを解読しておき、これにより、SOAPボディ22に係る子SOAPメッセージを受信するのに伴い、それを速やかに復号して解読できる。こうして、リクエスタ11におけるレスポンスに係る処理の時間が短縮される。
リクエスタ11の処理にはストリーム型のプロトコルを適用可能である。通常型(非ストリーム型)のプロトコルを適用したリクエスタ11では、リクエストに係る処理(図6)において、送信手段28は、区分作成手段27において作成済みとなった区分に対して、子SOAPメッセージによる送信処理を開始し、また、レスポンスに係る処理(図7)において、解読処理手段46は、受信完了した子SOAPメッセージについて解読処理する。これに対し、ストリーム型のプロトコルを適用したリクエスタ11では、リクエストに係る処理(図6)において、送信手段28は、区分作成手段27において作成中であって途中までしか作成されていない区分に対して、区分作成手段27から順次、送られてくる区分部分を順次、送信し、また、レスポンスに係る処理(図7)において、解読処理手段46は、受信中の子SOAPメッセージについて、受信手段45から順次、出力されて来る区分部分を、言語プロセッサのインタプリタのように、所定バイト数単位で順次、解読していく。
図8はWEBサービス・システム10に適用されるリクエスト用SOAPメッセージ処理方法のフローチャートである。該リクエスト用SOAPメッセージ処理方法は、リクエスタ11における方法部分50とSOAPメッセージ用中間処理装置24における方法部分51とを含む。方法部分50は、S54,S55,S56を含み、方法部分51はS59,S60,S61を含む。S54では、WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(=親SOAPメッセージ)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する。S55では、規定順番に従い親SOAPメッセージの各区分の内容を作成する。S56では、各区分の内容を作成する処理と並行して送信処理を行い、各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当て、各子SOAPメッセージを作成順番に従いプロバイダ15へ送信する。S59では、リクエスタ11から受信する。S60では、1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してから、これら子SOAPメッセージに基づき親SOAPメッセージを生成する。S61では、生成した親SOAPメッセージをプロバイダ15へ送信する。
図9はWEBサービス・システム10に適用されるレスポンス用SOAPメッセージ処理方法のフローチャートである。該レスポンス用SOAPメッセージ処理方法は、SOAPメッセージ用中間処理装置24における方法部分64とリクエスタ11における方法部分65とを含む。方法部分64は、S69,S70,S71を含み、方法部分65はS74,S75を含む。S69では、プロバイダ15からリクエスタ11へ宛てた1個のレスポンスとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定する。S70では、各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を生成する。S71では、各子SOAPメッセージを、それに対応する区分についての規定順番に従いリクエスタ11宛てに送信する。S74では、WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(=親SOAPメッセージ)を複数の区分に分割した各区分に対してその内容を収めた1個のSOAPメッセージ(=子SOAPメッセージ)を割り当ててある各子SOAPメッセージを所定の規定順番に従い受信する。S75では、各子SOAPメッセージを受信するステップと並行して、各子SOAPメッセージをその受信順番に従い解読する。
図10はプログラムを実行するためのハードウェア構成図である。前述のリクエスタ11及びゲートウェイ13は、図10記載のハードウェアを内蔵しており、前述したWEBサービス・システム10、リクエスタ11及びSOAPメッセージ用中間処理装置24の各手段としてコンピュータを機能させるためのプログラムは、図10に記載したハードウェアを使用して、実行される。あるいは、前述したリクエスト及びレスポンス用のSOAPメッセージ処理方法の各ステップをコンピュータに実行させるためのプログラムは、図10に記載したハードウェアを使用して、実行される。システム・バス80には、CPU81、主記憶装置82及び入出力制御装置83が接続される。前述した手段又はステップは、コード化されたプログラムとして実行可能となっている。入出力制御装置83には、ハード・ディスク・インターフェース等が含まれ、CPU81が実行する各種プログラムはハード・ディスク装置等にストアされている。プログラムは、CPU81において実行されるのに先立ち、主記憶装置82にストアされる。CPU81は、主記憶装置82の命令行を順次、読み出して、該プログラムを実行する。
以下、本発明の実施例について説明する。図11は実施例が想定するシステム構成図である。「要求メッセージ」とはリクエストのことであり、「回答メッセージ」とはレスポンスのことである。「通常の」とは、従来技術と同一であることを意味する。リクエスタとしてのモバイル機器100はプロバイダとしてのサーバー102に接続する際に、携帯電話キャリア会社や無線通信業者などのゲートウェイ101を経由することを前提とする。このとき技術的には、電子署名や暗号化をゲートウェイ101が代行し、モバイル機器100自体にはセキュリティ処理を適用しない、という運用方法も可能である。しかし、そのような運用方法が望ましくないようなシステムは容易に考えつく。例えば従業員がモバイル機器100から自社サーバー102に接続するようなWEBサービスを想定したとき、他社によるゲートウェイ101に対してセキュリティを確保したい、という条件は容易に発生しうる。この条件を満たすためには、電子署名や暗号化などの処理をゲートウェイ101に代行させるのではなく、モバイル機器100自ら処理する必要がある。携帯電話やPDAなどのモバイル機器100とサーバー102の間に、無線通信業者のゲートウェイ101が介入しており、またゲートウェイ101はモバイル機器100から受信するメッセージ、及びモバイル機器100に送信するメッセージを加工できるものとする。
[解決手段1]
図12は実施例のおける送信メッセージの分割の説明図である。モバイル機器100からゲートウェイ101へのメッセージ送信処理について、以下の手順によりモバイル機器100上での並列化を実現する。この解決手段では、モバイル機器100が構築したSOAPメッセージは、ボディ区分とヘッダ区分の2通に分割されて、ゲートウェイ101に到達し、ゲートウェイ101は、そのメッセージを1通に合体しても、サーバー102に転送するものとする。ここで、時間軸を横軸にして処理時間の内訳を図示したものを、図13に示す。
S1:スレッドを起動して、そのスレッドを用いてゲートウェイ101への通信確立を図る。
S2:S1と並列して、以下の処理を行う。
(ア): SOAPメッセージのボディ区分を構築する。
(イ):SOAPボディを参照しながら、セキュリティ演算処理のうち、メッセージ暗号化を行う。SOAPボディの加工が必要な処理はすべて進めるが、それ以外の処理は後回しにする。
S3:S2(イ)を完了する間に通信が確立されていれば、SOAPボディを送信する。通信が確立されていなければ、確立されるのを確認するまで待ってからSOAPボディを送信する。
S4:S34と並列して、以下の処理を行う。
(ア): セキュリティ演算処理のうち、鍵暗号化、ダイジェスト値算出、署名値算出を行う。
(イ): SOAPヘッダを構築し、鍵暗号化結果、ダイジェスト値算出結果、署名値算出結果をSOAPヘッダに組み込み、SOAPヘッダを完成する。
S5:S4(イ)の終了時にSOAPボディの送信及びゲートウェイ101からの受信が終了していれば、SOAPヘッダの送信を始める。終了していなければ、ゲートウェイ101からの返信の受信を終了するのを確認するまで待ってから、SOAPヘッダの送信を始める。
以上の処理のうち、S1とS2が並列化され、またS3とS4が並列化されている。メッセージの送信に時間のかかるようなモバイル機器100を使用している際に、最も処理時間の大きいS3とS4(ア)が並列化されていることから、処理全体の高速化が期待できる。
なお以上の処理手順は、HTTPのようにメッセージ全体を一度に送受信する形式のプロトコルを想定して記述されている。もしストリーム型のプロトコルを適用するなら、例えば(a)SOAPボディの一部を送信しながらSOAPボディの残りの部分を暗号化すること(S2(イ)とS3とを並列化すること。)、及び(b)SOAPヘッダの一部を送信しながらSOAPヘッダの残りの部分を構築すること(S4(イ)とS5とを並列化すること)というようなことも、原理的には可能である。
SOAPメッセージが依拠するトランスポート層のプロトコルはHTTPに限定されない。SMTPやFTPであってもよい。
[解決手段2]
図14は受信メッセージの分割についての説明図である。ゲートウェイ101からモバイル機器100へのメッセージ受信処理について、以下の手順によりモバイル機器100上での並列化を実現する。この解決手段では、ゲートウェイ101が受信したSOAPメッセージを、ボディ区分とヘッダ区分の2通に分割して、モバイル機器100に到達するものとする。ここで、時間軸を横軸にして処理時間の内訳を図示したものを、図15に示す。
S1:ゲートウェイ101からSOAPヘッダを受信する。
S2:SOAPヘッダの受信が終わったら、引き続きゲートウェイ101からSOAPボディを受信する。
S3:S2と並列して、以下の処理を行う。
(ア):SOAPヘッダを解読し、署名検証や復号化に必要な情報を蓄積する。
(イ):SOAPヘッダに記述されている鍵を復号化する。また署名値を検証する。このとき、鍵復号化と署名値検証は並列化が可能である。
(ウ):受信したSOAPボディに対して、署名検証の対象、メッセージ復号化の対象、などをバッファにコピーすることで、各処理の準備を整える。
S4:S3(イ)の終了時に通信が終了していれば、SOAPボディの解読を始める。終了していなければ、受信を終了するのを確認するまで待ってから、SOAPボディの解読を始める。
S5:SOAPボディ中で暗号化されているメッセージ部分の復号化、署名対象となっている部分のダイジェスト値検証、などを行う。
S6:セキュリティ演算処理を終了した後に、SOAPボディの中からアプリケーションに返すべき値を見つける。
以上の処理のうち、S2とS3が並列化されている。メッセージの受信に時間のかかるようなモバイル機器100を使用している際に、最も処理時間の大きいS2とS3(イ)が並列化されていることから、処理全体の高速化が期待できる。
なお以上の処理手順は、HTTPのようにメッセージ全体を一度に送受信する形式のプロトコルを想定して記述されている。もしストリーム型のプロトコルを適用するなら、例えば(a)SOAPヘッダの一部を処理しながらSOAPヘッダの残りの部分を受信すること(S1とS3とを並列化すること)、及び(b)SOAPボディの一部を処理しながらSOAPボディの残りの部分を受信すること(S2とS4〜S6とを並列化すること)というようなことも、原理的には可能である。
実施例におけるSOAPメッセージの分割例及び通信手順を図16及び図17に示す。なお、図16は通常のWEBサービスの使用を想定した分割メッセージを示し、図17はJSR172準拠下で許容される簡略な分割メッセージを示している。ここでは、HTTPのようにメッセージ全体を一度に送受信し、Request−Response形式で通信するプロトコルを想定する。ストリーム型のプロトコルを適用するなら、通信手順はこの限りではない。
ここで、SOAPメッセージは必ずSOAPエンベロープ要素を持ち、その内側にSOAPボディを持つ、と規定されている。この規定に従ってSOAPメッセージを分割すると、図16のようになる。しかしJ2ME(Java 2 Micro Edition)環境上でのWEBサービスについて規定したJSR172では『ゲートウェイ101とサーバー102の間で適切なSOAPメッセージが送受信できるならば、ゲートウェイ101とモバイル機器100の間のSOAPメッセージは厳密にSOAPの仕様に従っていなくてもよい』と定めている。よってJSR172に準拠したWEBサービスにおいては、例えば図17に示すように、SOAPエンベロープ要素やSOAPボディ要素を省略したメッセージをモバイル機器100とゲートウェイ101の間で送受信することができる。図17のようなメッセージを送受信できるなら、ゲートウェイ101は単純にメッセージを分割または結合するだけでモバイル機器100との通信ができるので、図16と比較して好都合である。
モバイル機器100とゲートウェイ101の間のSOAPメッセージを分割し、メッセージ処理と通信処理を並列化することで、モバイル機器100上のWEBサービス及びWEBサービス・セキュリティの処理を高速化する、という効果を得ることができた。本発明は、例えば以下のようなビジネスにおいて有効であると考えられる。
携帯電話キャリア会社では、クレジットカードと同じ感覚で携帯電話を決済に用いるシステムの実証実験を終えている。このシステム構築は、(a)携帯電話に装着するメモリデバイス機器に、クレジットカード会社が発行した証明書及び公開鍵を挿入すること、及び(b)携帯電話からショッピングサーバー102及び決済サーバー102に、上述の証明書及び公開鍵を用いて署名・暗号化を適用したメッセージを送信することで、クレジットカード会社は購買者を特定し、決済を行うことというシナリオの上に成立している。このとき、携帯電話キャリア会社のゲートウェイ101が、携帯電話機器による署名や暗号化に手を加えずに、ショッピングサーバー102や決済サーバー102にメッセージを届けることを保証するという観点から、このシステムにはWEBサービス・セキュリティが適している。またこのシステムでは、携帯電話キャリア会社のゲートウェイ101が直接関与しているシステムであるため、携帯電話会社のゲートウェイ101がSOAPメッセージに分割処理・結合処理を組み込むことが可能である。このビジネスにおいて、WEBサービス・セキュリティの処理時間が課題となった場合には、本発明を提案する余地があるものと考えられる。
[処理時間の測定]
本発明を発明者の手持ちのモバイル機器100に実装して処理時間を測定することは、現時点では以下の理由により不可能である。そのため、本発明の実施例及び効果を、実際の測定結果をもって示すことができない。
理由1:モバイル機器100に実装されている署名や暗号化のAPIが公開されていないので、それを利用して呼び出すことができない。
理由2: 署名や暗号化などの処理を実装したライブラリをアプリケーションの一部として実装することも考えられるが、現在市販されている携帯電話等のアプリケーション容量の範囲内で実装するのは困難である。
代わりに本明細書では、以下のデータ1,2を参照して、本発明を実装した際の処理時間の向上度を推定する。
[データ1] 発明者らによるWEBサービス及びWEBサービス・セキュリティの実装を用いて、発明者のビジネスパートナーがモバイル機器100実機上にて測定した処理時間。
[データ2] 発明者らによるWEBサービスの実装を用いて、携帯電話実機からゲートウェイ101にSOAPメッセージを送受信して測定した通信時間。
[データ1]の測定時間は図18に示す通りである。この測定では、モバイル機器100からの送信メッセージ、モバイル機器100への受信メッセージ、ともにSOAPボディに対して署名と暗号化が1回ずつ適用されている。SOAPメッセージは後述の[SOAPメッセージの例]のようなものである(まったく同一ではないが、非常に類似したメッセージを用いていた)。
[データ2]の測定時間は図19に示す通りである。この測定では、さまざまなサイズのSOAPメッセージを送受信したところ、送受信の所要時間がメッセージサイズ s に対する一次関数で近似できるような結果となったので、その係数を近似により求めた。
上記の測定結果中の一次関数より、後述の[SOAPメッセージの例]の送受信には、図20に示す時間を要すると仮定できる。
以上のデータを用いて、本発明による処理時間の向上を推定する。ただし以下、サーバー102内部による処理時間は、どの処理においても同一と考えられるので無視する。また、ゲートウェイ101によるメッセージ加工処理時間は、処理時間全体に対して非常に小さいので無視できるとする。
[推定1]
アプリケーション起動初回時の通信について、従来の実装による処理時間と、本発明で [解決手段1]と[解決手段2] を併用したときの処理時間、を推定する。
従来の実装による処理時間は、以下の内訳により、合計27493.1ミリ秒と推定される。
4618.4ミリ秒:送信メッセージ構築([送信1]+[送信2])
7246.6ミリ秒:通信確立([通信1])
6413.4ミリ秒:メッセージ送信([通信3])
806.3ミリ秒:メッセージ受信([通信3])
8408.4ミリ秒:受信メッセージ解読([受信1]+[受信2])
本発明による処理時間は、通信処理とメッセージ処理が完全に並列できたと仮定すると、以下の内訳により、合計24932.4ミリ秒と推定される。
7246.6 ミリ秒:送信メッセージ構築前半([送信1])と通信確立([通信1])の並列
2843.0ミリ秒:メッセージ送信前半([通信5])と送信メッセージ構築後半([送信2])の並列
5715.8ミリ秒:メッセージ送信後半([通信4])
718.6ミリ秒:メッセージ受信前半([通信4])
7151.7ミリ秒:メッセージ受信後半([通信5])と受信メッセージ解読前半([受信1])の並列
1256.7ミリ秒:受信メッセージ解読後半([受信2])
[推定2]
アプリケーション起動2回目以降の通信について、従来の実装による処理時間と、本発明で [解決手段1]と[解決手段2] を併用したときの処理時間、を推定する。
従来の実装による処理時間は、以下の内訳により、合計22357.6ミリ秒と推定される。
4618.4ミリ秒:送信メッセージ構築([送信1]+[送信2])
2111.1ミリ秒:通信確立([通信2])
6413.4ミリ秒:メッセージ送信([通信3])
806.3ミリ秒:メッセージ受信([通信3])
8408.4ミリ秒:受信メッセージ解読([受信1]+[受信2])
本発明による処理時間は、通信処理とメッセージ処理が完全に並列できたと仮定すると、以下の内訳により、合計19796.9ミリ秒と推定される。
2111.1ミリ秒:送信メッセージ構築前半([送信1])と通信確立([通信2])の並列
2843.0ミリ秒:メッセージ送信前半([通信5])と送信メッセージ構築後半([送信2])の並列
5715.8ミリ秒:メッセージ送信後半([通信4])
718.6ミリ秒:メッセージ受信前半([通信4])
7151.7ミリ秒:メッセージ受信後半([通信5])と受信メッセージ解読前半([受信1])の並列
1256.7ミリ秒:受信メッセージ解読後半([受信2])
実際には本発明による並列処理部分の処理時間は、この推定時間よりは多少大きくなることが予想される。なお本明細書では、発明者のビジネスパートナーから提供いただいた測定結果を用いるために、SOAPボディ区分が小さい(829バイト)メッセージについて推定を行ったが、SOAPボディ区分が大きくなればなるほど、本発明と従来実装の処理時間の差が広がる(=本発明の優位性が高くなる)ことが予想される。
[SOAPメッセージの例]
なお、下記のSOAPメッセージにおいて左端の3桁の300番台の数字は行番号である。該SOAPメッセージは、前述の親SOAPメッセージに対応する。行番号311〜382がヘッダであり、行番号383〜395がボディである。
300:POST /Echo_ArraytestWeb/services/EchoArray HTTP/1.1
301:User-Agent: Java1.2.2
302:Host: sfumiko-server.trl.ibm.com
303:Connection: close
304:Content-Length: 5122
305:Content-Type: text/xml;charset=utf-8
306:SOAPAction:
307:<s:Envelope
308:xmlns:s=http://schemas.xmlsoap.org/soap/envelope/
309:xmlns:xsd=http://www.w3.org/2001/XMLSchema
310:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
311: <s:Header>
312: <w:Security xmlns:w="http://schemas.xmlsoap.org/ws/2003/06/secext" s:mustUnderstand="1">
313: <w:BinarySecurityToken
314:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility
315:EncodingType="w:Base64Binary"
316:ValueType="w:X509v3" u:Id="X509BST_8000939669883004294_1065777034858">
317:MIIB7jCCAVcCBD9hYbowDQYJKoZIhvcNAQEEBQAwPjELMAkGA1UEBhMCSlAxDDAKBgNVBAoTA0lCTTEMMAoGA1UECxMDVFJMMRMwEQYDVQQDDApSU0FfQ2xpZW50MB4XDTAzMDkxMjA2MDMzOFoXDTA0MDkxMTA2MDMzOFowPjELMAkGA1UEBhMCSlAxDDAKBgNVBAoTA0lCTTEMMAoGA1UECxMDVFJMMRMwEQYDVQQDDApSU0FfQ2xpZW50MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGQQtBMUGWLDFT2BwiCzOtyyJ4zjBVndEtYZGRyeJmRtMOp4WIJ+MfBjYyvCNpm4AVV+rg7zbsqo1p5Fxta3Un3efO4MMgYnUmPT35+BlA062n/iZmAdSOt+Wiiwqgt5SElMi6clR3TMdOrldEtqngYEfTsgSkQv+wBSXbE8np+wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAE3bs8xb5KNc61L3x6rIftzJHZxtb3sD7oCttiS4U0wgHwE/KyeCyMLi8WrrSa3ImDyjCjLoTATgECCiRBsLOG0OGgSqrTJsSP6T9s2FVcl/pab0wSuvhB2j4WR/MQGlM5zrYcAM4hHcUr5vnhs6sA91wVzvmtmbZxjHnzrsphes</w:BinarySecurityToken>
318: <e:EncryptedKey xmlns:e="http://www.w3.org/2001/04/xmlenc#">
319: <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
320: <d:KeyInfo xmlns:d="http://www.w3.org/2000/09/xmldsig#">
321: <w:SecurityTokenReference>
322: <w:KeyIdentifier>mIkBAV0xjRhM1l8oag50LVP55ns=</w:KeyIdentifier>
323: </w:SecurityTokenReference>
324: </d:KeyInfo>
325: <e:CipherData>
326:<e:CipherValue>
327:eXfS8n/XjZ2BLm7eVLKf92qx/Qoc7ektAWBJ+xpcMclLLCRXcn/afwWDCXXQ/ZHNLeBQodRcUas6ujvBbGhU6xaJfhAGsjOLXCBXi9EYmxPuy1UL50nNh0qJnIJsfxgYBnTgk2ny3OEfNE2NQxjgtbCRvJvFAk1PdcOmKRvxOzw=<
328:/e:CipherValue>
329: </e:CipherData>
330: <e:ReferenceList>
331: <e:DataReference URI="#enc_173517017163344533_1065777035148"/>
332: <e:DataReference URI="#enc_8650492430262383644_1065777035399"/>
333: </e:ReferenceList>
334: </e:EncryptedKey>
335: <d:Signature xmlns:d="http://www.w3.org/2000/09/xmldsig#">
336: <d:SignedInfo xmlns:d="http://www.w3.org/2000/09/xmldsig#">
337: <d:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:CanonicalizationMethod>
338: <d:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></d:SignatureMethod>
339: <d:Reference URI="#tsc_5174836288291415044_1065777035348">
340: <d:Transforms>
341: <d:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:Transform>
342: </d:Transforms>
343: <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></d:DigestMethod>
344: <d:DigestValue>JhhPEHjP9fR2T39+KmZTIQ6B+AA=</d:DigestValue>
345: </d:Reference>
346: <d:Reference URI="#tse_5174836288291415044_1065777035348">
347: <d:Transforms>
348: <d:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:Transform>
349: </d:Transforms>
350: <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></d:DigestMethod>
351: <d:DigestValue>frlyPRyyWh7I00T0t4B7QMgd2Zw=</d:DigestValue>
352: </d:Reference>
353: <d:Reference URI="#sign_961746961227845441_1065777035378">
354: <d:Transforms>
355: <d:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:Transform>
356: </d:Transforms>
357: <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></d:DigestMethod>
358: <d:DigestValue>9qHLwsH9q1tk0277D6TTVrcdd8s=</d:DigestValue>
359: </d:Reference>
360:</d:SignedInfo> <d:SignatureValue>pJ/g8fV8l0TjSDWTbk/entiMlX1cMfA/c/ZGejOB4/ewzTp2KFQLEFy7ghvO1ygbVARnu/hYNxPnhqO4NMBOtcmXPFzaWnoHnAycsAf2lVphJk4U2Fl5kQjZHvoVtsWA3LpYYsuXqsVgof5iI6GMXgrsHxy2sgEVWUiaDcpjfqo=</d:SignatureValue>
361: <d:KeyInfo>
362: <w:SecurityTokenReference>
363: <w:Reference URI="#X509BST_8000939669883004294_1065777034858"/>
364: </w:SecurityTokenReference>
365: </d:KeyInfo>
366: </d:Signature>
367: <e:EncryptedData
368:xmlns:e=http://www.w3.org/2001/04/xmlenc#
369:Id="enc_173517017163344533_1065777035148"
370:Type="http://www.w3.org/2001/04/xmlenc#Element">
371: <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
372: <e:CipherData> <e:CipherValue>7VnWQO88ymAtijDYZLufL3v1qjGm6yCY4vqrzFZOt6r9Cwlb0zJYY+d8LtmpSPAOQhxZtDACqjOXanv+72Rr76K0S+G1iMlto0aAlTR2iwbj7DWFfo1esphjznWSAA+qzvbXd0H4ES4x8AfRlpAkbzIvm0ilqn4iudJNdiWTWVIS6nV90QihNSb3elNOd2IEHafKQ+HSdfyPp8yvk8cHrHx492k6X8YAkqjufTbszcthfNdX9wMH8lTasl54ob5s4hNHBcm3R0BAib5RqV67Dw==</e:CipherValue>
373: </e:CipherData>
374: </e:EncryptedData>
375: </w:Security>
376: <u:Timestamp xmlns:u="http://schemas.xmlsoap.org/ws/2003/06/utility">
377: <u:Created
378:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility u:Id="tsc_5174836288291415044_1065777035348">2003-10-10T09:10:35Z</u:Created>
379: <u:Expires
380:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility u:Id="tse_5174836288291415044_1065777035348">2003-11-10T09:10:35Z</u:Expires>
381: </u:Timestamp>
382: </s:Header>
383: <s:Body
384:xmlns:s=http://schemas.xmlsoap.org/soap/envelope/
385:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility
386:u:Id="sign_961746961227845441_1065777035378">
387: <e:EncryptedData
388:xmlns:e=http://www.w3.org/2001/04/xmlenc#
389:Id="enc_8650492430262383644_1065777035399"
390:Type="http://www.w3.org/2001/04/xmlenc#Content">
391: <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
392: <e:CipherData> <e:CipherValue>Gj4UeMvvEvSuimE7FFV39GV2y78OFJE1ytiUic9gFPdSBc9gYaOsrBRBC989fuKJuhbW3kGD14+GNjzyZ/K14buTTbPvJoKnemy31XVzHNusObY5PPtvpfJBRIUtuIHb</e:CipherValue>
393: </e:CipherData>
394: </e:EncryptedData>
395: </s:Body>
396:</s:Envelope>
WEBサービス・システムの概略図である。 SOAPメッセージの送受に利用するトランスポート層のメッセージの構造図である。 SOAPメッセージの構造図である。 SOAPメッセージ用中間処理装置がゲートウェイに装備される場合のWEBサービス・システムの機能ブロック図である。 SOAPメッセージ用中間処理装置がプロバイダに装備される場合のWEBサービス・システムの機能ブロック図である。 WEBサービス・システムの中でリクエスト処理に関わる部分の機能ブロック図である。 WEBサービス・システムの中でレスポンス処理に関わる部分の機能ブロック図である。 WEBサービス・システムに適用されるリクエスト用SOAPメッセージ処理方法のフローチャートである。 WEBサービス・システムに適用されるレスポンス用SOAPメッセージ処理方法のフローチャートである。 プログラムを実行するためのハードウェア構成図である。 実施例が想定するシステム構成図である。 実施例のおける送信メッセージの分割の説明図である。 第1の解決手段における各処理部分の処理時間の内訳を時間軸を横軸にして示す図である。 受信メッセージの分割についての説明図である。 第2の解決手段における各処理部分の処理時間の内訳を時間軸を横軸にして示す図である。 通常のWEBサービスの使用を想定した分割メッセージを示す図である。 JSR172準拠下で許容される簡略な分割メッセージを示す図である。 第1のデータについての測定時間を示す図である。 第2のデータについての測定時間を示す図である。 測定時間に基づき計算した所定のSOAPメッセージの送受信に要する時間を示す図である。
符号の説明
10:WEBサービス・システム、11:リクエスタ、13:ゲートウェイ、14:インターネット、15:プロバイダ、16:SOAPメッセージ、18:SOAPメッセージ、21:SOAPヘッダ、22:SOAPボデー、24:SOAPメッセージ用中間処理装置、26:順番規定手段、27:区分作成手段、28:送信手段、32:受信手段、33:親SOAPメッセージ生成手段、34:送信手段、39:順番規定手段、40:子SOAPメッセージ生成手段、41:送信手段、45:受信手段、46:解読処理手段。

Claims (22)

  1. リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信するWEBサービス・システムにおいて、
    前記リクエスタから前記プロバイダへのSOAPメッセージを中継するSOAPメッセージ用中間処理装置を有し、
    前記リクエスタは、
    WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
    前記規定順番に従い前記親SOAPメッセージの各区分の内容を作成する区分作成手段、及び
    前記区分作成手段の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当て、各子SOAPメッセージを作成順番に従い前記プロバイダへ送信する送信手段、
    を有し、
    前記SOAPメッセージ用中間処理装置が、
    1個の親SOAPメッセージに係る子SOAPメッセージを前記リクエスタから受信する受信手段、
    前記1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してからこれら子SOAPメッセージに基づき親SOAPメッセージを生成する親SOAPメッセージ生成手段、及び
    生成した親SOAPメッセージを前記プロバイダへ送信する送信手段、
    を有していることを特徴とするWEBサービス・システム。
  2. リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信するWEBサービス・システムにおいて、
    前記プロバイダから前記リクエスタへのSOAPメッセージを中継するSOAPメッセージ用中間処理装置を有し、
    前記SOAPメッセージ用中間処理装置は、
    WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
    各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当て各子SOAPメッセージを生成する子SOAPメッセージ生成手段、及び
    各子SOAPメッセージを、それに対応する区分についての前記規定順番に従い前記リクエスタへ送信する送信手段、
    を有し、
    前記リクエスタは、
    前記子SOAPメッセージを受信する受信手段、及び
    前記受信手段の受信処理と並行して解読処理を行うものであって各子SOAPメッセージをその受信順番に従い解読する解読処理手段、
    を有していることを特徴とするWEBサービス・システム。
  3. インターネットを経由してWEBサービスに係るリクエストをプロバイダへ送信し、前記インターネットを経由して前記プロバイダからWEBサービスに係るレスポンスを受信するリクエスタにおいて、
    WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
    前記規定順番に従い前記親SOAPメッセージの各区分の内容を作成する区分作成手段、及び
    前記区分作成手段の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当て、各子SOAPメッセージを作成順番に従い前記プロバイダへ送信する送信手段、
    を有していることを特徴とするリクエスタ。
  4. 前記所定の分割基準とは、前記親SOAPメッセージのヘッダ及びボディをそれぞれ少なくとも1個の区分にするものであることを特徴とする請求項3記載のリクエスタ。
  5. 前記順番規定手段は、前記親SOAPメッセージのヘッダのみ及びボディのみを範囲とする区分をそれぞれヘッダ区分及びボディ区分として、前記規定順番においてヘッダ区分をボディ区分より後にすることを特徴とする請求項3記載のリクエスタ。
  6. 前記親SOAPメッセージは、WEBサービス・セキュリティを適用されたSOAPメッセージであることを特徴とする請求項3記載のリクエスタ。
  7. インターネットを経由してWEBサービスに係るリクエストをプロバイダへ送信し、前記プロバイダから前記インターネットを経由してWEBサービスに係るレスポンスを受信するリクエスタにおいて、
    WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割した各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当ててある各子SOAPメッセージを所定の規定順番に従い受信する受信手段、及び
    前記受信手段の受信処理と並行して解読処理を行うものであって各子SOAPメッセージをその受信順番に従い解読する解読処理手段、
    を有していることを特徴とするリクエスタ。
  8. 前記所定の分割基準とは、親SOAPメッセージのヘッダ及びボディをそれぞれ少なくとも1個の区分にするものであることを特徴とする請求項7記載のリクエスタ。
  9. 前記所定の規定順番とは、前記親SOAPメッセージのヘッダのみ及びボディのみを範囲とする区分をそれぞれヘッダ区分及びボディ区分として、前記規定順番においてヘッダ区分をボディ区分より先にすることを特徴とする請求項7記載のリクエスタ。
  10. 前記親SOAPメッセージは、WEBサービス・セキュリティを適用されたSOAPメッセージであることを特徴とする請求項7記載のリクエスタ。
  11. リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信し、SOAPメッセージ用中間処理装置が前記リクエスタから前記プロバイダへのSOAPメッセージを中継し、前記SOAPメッセージ用中間処理装置において、
    WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を複数の区分に分割してある各区分に対しその内容を収めた各SOAPメッセージ(以下、「子SOAPメッセージ」という。)を前記リクエスタから受信する受信手段、
    前記1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してからこれら子SOAPメッセージに基づき親SOAPメッセージを生成する親SOAPメッセージ生成手段、及び
    生成した親SOAPメッセージを前記プロバイダへ送信する送信手段、
    を有していることを特徴とするSOAPメッセージ用中間処理装置。
  12. 前記SOAPメッセージ用中間処理装置は、前記リクエスタと前記インターネットとの間に介在するゲートウェイであることを特徴とする請求項11記載のSOAPメッセージ用中間処理装置。
  13. 前記SOAPメッセージ用中間処理装置は、前記プロバイダに装備されていることを特徴とする請求項11記載のSOAPメッセージ用中間処理装置。
  14. リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信し、SOAPメッセージ用中間処理装置が前記プロバイダから前記リクエスタへのSOAPメッセージを中継し、前記SOAPメッセージ用中間処理装置において、
    前記プロバイダから前記リクエスタへ宛てた1個のレスポンスとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定する順番規定手段、
    各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を生成する子SOAPメッセージ生成手段、及び
    各子SOAPメッセージを、それに対応する区分についての前記規定順番に従い前記リクエスタへ送信する送信手段、
    を有していることを特徴とするSOAPメッセージ用中間処理装置。
  15. 前記SOAPメッセージ用中間処理装置は、前記リクエスタと前記インターネットとの間に介在するゲートウェイであることを特徴とする請求項14記載のSOAPメッセージ用中間処理装置。
  16. 前記SOAPメッセージ用中間処理装置は、前記プロバイダに装備されていることを特徴とする請求項14記載のSOAPメッセージ用中間処理装置。
  17. インターネットを経由してWEBサービスに係るリクエストをプロバイダへ送信し、前記プロバイダから前記インターネットを経由してWEBサービスに係るレスポンスを受信するリクエスタのリクエスト用SOAPメッセージ処理方法において、
    WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定するステップ、
    前記規定順番に従い前記親SOAPメッセージの各区分の内容を作成するステップ、及び
    各区分の内容を作成する処理と並行して送信処理を行うものであって各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当て、各子SOAPメッセージを作成順番に従い前記プロバイダへ送信するステップ。
    を有していることを特徴とするリクエスタのリクエスト用SOAPメッセージ処理方法。
  18. インターネットを経由してWEBサービスに係るリクエストをプロバイダへ送信し、前記プロバイダから前記インターネットを経由してWEBサービスに係るレスポンスを受信するリクエスタのレスポンス用SOAPメッセージ処理方法において、
    WEBサービスに係る1個のレスポンスとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を複数の区分に分割した各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を割り当ててある各子SOAPメッセージを所定の規定順番に従い受信するステップ、及び
    各子SOAPメッセージを受信する前記ステップと並行して実行されるものであって各子SOAPメッセージをその受信順番に従い解読するステップ、
    を有していることを特徴とするリクエスタのレスポンス用SOAPメッセージ処理方法。
  19. リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信し、SOAPメッセージ用中間処理装置が前記リクエスタから前記プロバイダへのSOAPメッセージを中継し、前記SOAPメッセージ用中間処理装置のリクエスト用SOAPメッセージ処理方法において、
    WEBサービスに係る1個のリクエストとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を複数の区分に分割してある各区分に対しその内容を収めた各SOAPメッセージ(以下、「子SOAPメッセージ」という。)を前記リクエスタから受信するステップ、
    前記1個の親SOAPメッセージに係る全部の子SOAPメッセージを受信してからこれら子SOAPメッセージに基づき親SOAPメッセージを生成するステップ、及び
    生成した親SOAPメッセージを前記プロバイダへ送信するステップ、
    を有していることを特徴とするSOAPメッセージ用中間処理装置のリクエスト用SOAPメッセージ処理方法。
  20. リクエスタ及びプロバイダが、インターネットを介してそれぞれWEBサービスに係るリクエスト及びレスポンスをSOAPメッセージにより相手方へ発信し、SOAPメッセージ用中間処理装置が前記プロバイダから前記リクエスタへのSOAPメッセージを中継し、前記SOAPメッセージ用中間処理装置のレスポンス用SOAPメッセージ処理方法において、
    前記プロバイダから前記リクエスタへ宛てた1個のレスポンスとしての1個のSOAPメッセージ(以下、「親SOAPメッセージ」という。)を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定するステップ、
    各区分に対してその内容を収めた1個のSOAPメッセージ(以下、「子SOAPメッセージ」という。)を生成するステップ、及び
    各子SOAPメッセージを、それに対応する区分についての前記規定順番に従い前記リクエスタへ送信するステップ、
    を有していることを特徴とするSOAPメッセージ用中間処理装置のレスポンス用SOAPメッセージ処理方法。
  21. 請求項3〜10のいずれかに記載のリクエスタの各手段としてコンピュータを機能させるプログラム。
  22. 請求項11〜16のいずれかに記載のSOAPメッセージ用中間処理装置の各手段としてコンピュータを機能させるプログラム。
JP2004114730A 2004-04-08 2004-04-08 Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム Expired - Fee Related JP4061288B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004114730A JP4061288B2 (ja) 2004-04-08 2004-04-08 Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム
US11/101,314 US7529793B2 (en) 2004-04-08 2005-04-07 Web service simple object access protocol request response processing
US12/166,007 US8656037B2 (en) 2004-04-08 2008-07-01 Web service simple object access protocol request response processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004114730A JP4061288B2 (ja) 2004-04-08 2004-04-08 Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2005301527A true JP2005301527A (ja) 2005-10-27
JP4061288B2 JP4061288B2 (ja) 2008-03-12

Family

ID=35333004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004114730A Expired - Fee Related JP4061288B2 (ja) 2004-04-08 2004-04-08 Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム

Country Status (2)

Country Link
US (2) US7529793B2 (ja)
JP (1) JP4061288B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216024A (ja) * 2005-02-02 2006-08-17 Microsoft Corp 交換フォーマットメッセージの効率的な変換
JP2010026847A (ja) * 2008-07-22 2010-02-04 Kyocera Mita Corp 画像形成システム、画像形成装置およびコンピュータプログラム

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205216A1 (en) * 2003-03-19 2004-10-14 Ballinger Keith W. Efficient message packaging for transport
JP4061288B2 (ja) * 2004-04-08 2008-03-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム
JP4487725B2 (ja) * 2004-10-25 2010-06-23 株式会社島津製作所 分析データ処理システム及び分析装置
US8296354B2 (en) * 2004-12-03 2012-10-23 Microsoft Corporation Flexibly transferring typed application data
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513014A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513016A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513022A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
US7814211B2 (en) 2006-01-31 2010-10-12 Microsoft Corporation Varying of message encoding
EP1860587B1 (en) * 2006-05-26 2008-07-16 Sap Ag Method and system for providing a secure message transfer within a network system
US8127306B2 (en) * 2006-12-18 2012-02-28 Ricoh Company, Ltd. Integrating eventing in a web service application of a multi-functional peripheral
US7904917B2 (en) * 2006-12-18 2011-03-08 Ricoh Company, Ltd. Processing fast and slow SOAP requests differently in a web service application of a multi-functional peripheral
JP5014095B2 (ja) * 2006-12-18 2012-08-29 株式会社リコー 複合機
US7680877B2 (en) * 2006-12-18 2010-03-16 Ricoh Company, Ltd. Implementing a web service application on a device with multiple threads
US8200845B2 (en) * 2006-12-19 2012-06-12 Ianywhere Solutions, Inc. Queuing of invocations for mobile web services
US20080178010A1 (en) * 2007-01-18 2008-07-24 Vaterlaus Robert K Cryptographic web service
DE602007000919D1 (de) * 2007-05-18 2009-05-28 Sap Ag Verfahren und System zum Schutz einer Nachricht vor einem XML-Angriff beim Austausch in einem verteilten und dezentralisierten Netzwerksystem
CN101355492B (zh) * 2007-07-27 2011-04-13 华为技术有限公司 简单对象访问协议路由方法及路由系统以及相关设备
US8290152B2 (en) * 2007-08-30 2012-10-16 Microsoft Corporation Management system for web service developer keys
US20090182816A1 (en) * 2008-01-10 2009-07-16 Jean Xu Yu Method and system for managing j2ee and .net interoperating applications
US20090241033A1 (en) * 2008-03-21 2009-09-24 Florida Gulf Coast University Participant response and polling system
JP5242315B2 (ja) * 2008-09-25 2013-07-24 株式会社東芝 非水電解質二次電池
US8108540B2 (en) 2008-12-12 2012-01-31 Microsoft Corporation Envelope attachment for message context
US8782532B2 (en) 2011-06-10 2014-07-15 Qualcomm Innovation Center, Inc. Website object-request method and system
EP2557752B1 (de) * 2011-08-11 2017-09-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zum herstellen einer end-zu-end-kommunikation zwischen zwei netzwerken
US9276998B2 (en) * 2011-10-06 2016-03-01 International Business Machines Corporation Transfer of files with arrays of strings in soap messages
JP5454960B2 (ja) 2011-11-09 2014-03-26 株式会社東芝 再暗号化システム、再暗号化装置及びプログラム
US9369544B1 (en) 2012-02-14 2016-06-14 Google Inc. Testing compatibility with web services
US9400641B2 (en) * 2012-02-29 2016-07-26 Red Hat, Inc. Adaptable middleware layer
US10129244B2 (en) * 2016-06-20 2018-11-13 Princeton SciTech, LLC Securing computing resources
CN109150505A (zh) * 2017-06-16 2019-01-04 苏宁云商集团股份有限公司 一种用于sap系统的信息传输方法及装置
US11921872B2 (en) * 2020-12-16 2024-03-05 International Business Machines Corporation Access control for a data object including data with different access requirements

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149965B1 (en) * 1999-08-10 2006-12-12 Microsoft Corporation Object persister
US7031945B1 (en) * 2000-07-24 2006-04-18 Donner Irah H System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services
JP3751191B2 (ja) 2000-08-22 2006-03-01 シャープ株式会社 スターリング冷凍システム
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
JP2002091911A (ja) 2000-09-12 2002-03-29 Digital Electronics Corp ネットワーク情報作成方法およびそのプログラムを記録した記録媒体ならびにその方法を実行する制御用通信システム
US7730204B2 (en) * 2001-03-31 2010-06-01 Siebel Systems, Inc. Extensible interface for inter-module communication
US7055143B2 (en) * 2001-07-10 2006-05-30 Microsoft Corporation System and methods for providing a declarative syntax for specifying SOAP-based web services
US7103773B2 (en) * 2001-10-26 2006-09-05 Hewlett-Packard Development Company, L.P. Message exchange in an information technology network
CN1980247B (zh) * 2002-03-25 2010-06-23 株式会社理光 具有万维网服务功能的图像形成装置及方法
US7159224B2 (en) * 2002-04-09 2007-01-02 Sun Microsystems, Inc. Method, system, and articles of manufacture for providing a servlet container based web service endpoint
US20040148299A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Automated workflow composable action model
US7283629B2 (en) * 2002-12-05 2007-10-16 Microsoft Corporation Deriving keys used to securely process electronic messages
EP1609285B1 (en) * 2003-02-14 2007-11-07 Research In Motion Limited System and method of compact messaging in network communications
JP3969654B2 (ja) * 2003-03-07 2007-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーション Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム
US7418485B2 (en) * 2003-04-24 2008-08-26 Nokia Corporation System and method for addressing networked terminals via pseudonym translation
US7546284B1 (en) * 2003-06-11 2009-06-09 Blue Titan Software, Inc. Virtual message persistence service
US7685288B2 (en) * 2003-06-30 2010-03-23 Microsoft Corporation Ad-hoc service discovery protocol
US7716290B2 (en) * 2003-11-20 2010-05-11 Microsoft Corporation Send by reference in a customizable, tag-based protocol
US7698383B2 (en) * 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US7254579B2 (en) * 2004-03-15 2007-08-07 Microsoft Corporation Using endpoint references in a pub-sub system
US7680945B2 (en) * 2004-03-31 2010-03-16 Sap Ag Messaging protocol in enterprise applications
JP4061288B2 (ja) * 2004-04-08 2008-03-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216024A (ja) * 2005-02-02 2006-08-17 Microsoft Corp 交換フォーマットメッセージの効率的な変換
JP2010026847A (ja) * 2008-07-22 2010-02-04 Kyocera Mita Corp 画像形成システム、画像形成装置およびコンピュータプログラム

Also Published As

Publication number Publication date
US20120158980A9 (en) 2012-06-21
US20060036754A1 (en) 2006-02-16
US8656037B2 (en) 2014-02-18
JP4061288B2 (ja) 2008-03-12
US20090019172A1 (en) 2009-01-15
US7529793B2 (en) 2009-05-05

Similar Documents

Publication Publication Date Title
JP4061288B2 (ja) Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム
US8001588B2 (en) Secure single sign-on authentication between WSRP consumers and producers
JP7235930B2 (ja) データ要求を処理するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN108923925B (zh) 应用于区块链的数据存储方法和装置
CN111199037A (zh) 登录方法、系统和装置
US20100088743A1 (en) Personal-information managing apparatus and personal-information handling apparatus
US11050722B2 (en) Information processing device, program, and information processing method
CN112560003A (zh) 用户权限管理方法和装置
US8520840B2 (en) System, method and computer product for PKI (public key infrastructure) enabled data transactions in wireless devices connected to the internet
CN111291420B (zh) 一种基于区块链的分布式离链数据存储方法
CN111010283B (zh) 用于生成信息的方法和装置
CN112329044A (zh) 信息获取方法、装置、电子设备和计算机可读介质
CN116975810A (zh) 身份验证方法、装置、电子设备及计算机可读存储介质
JP5651611B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、プログラム
CN114422123A (zh) 通信方法、装置、电子设备和计算机可读介质
CN114428973A (zh) 去标识化的信息传输方法、装置、设备和计算机可读介质
CN111752625A (zh) 用于接口mock的方法和装置
CN113206837B (zh) 信息传输方法、装置、电子设备和计算机可读介质
CN115296934B (zh) 基于工控网络入侵的信息传输方法、装置、电子设备
CN113810779B (zh) 码流验签方法、装置、电子设备和计算机可读介质
CN110858243A (zh) 用于网关的页面获取方法和装置
CN113301058B (zh) 信息加密传输方法、装置、电子设备和计算机可读介质
US20230421540A1 (en) Systems and methods for generating secure, encrypted communications using multi-party computations in order to perform blockchain operations in decentralized applications
US20230421397A1 (en) Systems and methods for performing blockchain operations using multi-party computation cohort management groupings
US20230421396A1 (en) Systems and methods for performing two-tiered multi-party computation signing procedures to perform blockchain operations

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071212

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20071212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees