(57)【要約】【課題】  インタフェース定義情報の変更に伴うエラーが発生した場合にそのエラーの発生を防止する為のプログラムの修正を動的に行うことが可能な技術を提供する。【解決手段】  インタフェース定義情報の変更に応じてプログラムを変更するプログラム管理方法において、メッセージを通信手段により情報処理装置へ送信した際にその送信先の情報処理装置から通信手段により応答を受信して当該情報処理装置のインタフェースを示すインタフェース定義情報の変更によるエラーが発生したか否かを判定するステップと、前記インタフェース定義情報の変更によるエラーが発生した場合に、その変更箇所の入力形式を判定する為のメッセージを通信手段により前記情報処理装置へテスト送信するステップと、前記情報処理装置へメッセージの送信を行うプログラムの内容を前記変更箇所及びテスト送信の結果に合わせて記憶手段上で変更するステップとを有するものである。【選択図】        図２
2005222130.tif 000002
【特許請求の範囲】
【請求項１】
インタフェース定義情報の変更に応じてプログラムを変更するプログラム管理方法において、
メッセージを通信手段により情報処理装置へ送信した際にその送信先の情報処理装置から通信手段により応答を受信して当該情報処理装置のインタフェースを示すインタフェース定義情報の変更によるエラーが発生したか否かを判定するステップと、
前記インタフェース定義情報の変更によるエラーが発生した場合に、その変更箇所の入力形式を判定する為のメッセージを通信手段により前記情報処理装置へテスト送信するステップと、
前記情報処理装置へメッセージの送信を行うプログラムの内容を前記変更箇所及びテスト送信の結果に合わせて記憶手段上で変更するステップとを有することを特徴とするプログラム管理方法。
【請求項２】
前記変更箇所の追加タグの内容として空文字を通信手段により前記情報処理装置へテスト送信することにより、メッセージの送信時に当該タグの内容が必須であるかどうかをチェックすることを特徴とする請求項１に記載されたプログラム管理方法。
【請求項３】
前記変更箇所の追加タグの内容として所定の種類の文字を通信手段により前記情報処理装置へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な文字をチェックし、送信可能な文字を示す情報を記憶手段中のチェックリストに格納することを特徴とする請求項１または請求項２のいずれかに記載されたプログラム管理方法。
【請求項４】
前記変更箇所の追加タグの内容として所定の数の文字を通信手段により前記情報処理装置へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な文字数をチェックし、送信可能な文字数を示す情報を記憶手段中のチェックリストに格納することを特徴とする請求項１乃至請求項３のいずれか１項に記載されたプログラム管理方法。
【請求項５】
前記変更箇所の追加タグの内容として所定の数値を通信手段により前記情報処理装置へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な範囲の数値をチェックし、送信可能な範囲の数値を示す情報を記憶手段中のチェックリストに格納することを特徴とする請求項１乃至請求項４のいずれか１項に記載されたプログラム管理方法。
【請求項６】
前記変更箇所の追加タグの内容として所定の形式の文字列を通信手段により前記情報処理装置へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な文字の形式をチェックし、送信可能な形式の文字列を示す情報を記憶手段中のチェックリストに格納することを特徴とする請求項１乃至請求項５のいずれか１項に記載されたプログラム管理方法。
【請求項７】
前記文字形式のチェックにより送信可能と判定された形式の文字列から文字及び文字数を抽出し、送信可能な文字及び文字数を示す情報を記憶手段中のチェックリストに格納することを特徴とする請求項６に記載されたプログラム管理方法。
【請求項８】
前記変更箇所の追加タグの内容をチェックする為の入力チェックスクリプトを記憶手段上で追加することにより、前記情報処理装置へメッセージの送信を行うプログラムの内容を前記テスト送信の結果に合わせて変更することを特徴とする請求項１乃至請求項７のいずれか１項に記載されたプログラム管理方法。
【請求項９】
インタフェース定義情報の変更に応じてプログラムを変更するプログラム管理装置において、
メッセージを通信手段により情報処理装置へ送信した際にその送信先の情報処理装置から通信手段により応答を受信して当該情報処理装置のインタフェースを示すインタフェース定義情報の変更によるエラーが発生したか否かを判定するFault取得・解析処理部と、
前記インタフェース定義情報の変更によるエラーが発生した場合に、その変更箇所の入力形式を判定する為のメッセージを通信手段により前記情報処理装置へテスト送信する通信処理部と、
前記情報処理装置へメッセージの送信を行うプログラムの内容を前記変更箇所及びテスト送信の結果に合わせて記憶手段上で変更するクライアントプログラム変更処理部とを備えることを特徴とするプログラム管理装置。
【請求項１０】
インタフェース定義情報の変更に応じてプログラムを変更するプログラム管理方法をコンピュータに実行させる為のプログラムにおいて、
メッセージを通信手段により情報処理装置へ送信した際にその送信先の情報処理装置から通信手段により応答を受信して当該情報処理装置のインタフェースを示すインタフェース定義情報の変更によるエラーが発生したか否かを判定するステップと、
前記インタフェース定義情報の変更によるエラーが発生した場合に、その変更箇所の入力形式を判定する為のメッセージを通信手段により前記情報処理装置へテスト送信するステップと、
前記情報処理装置へメッセージの送信を行うプログラムの内容を前記変更箇所及びテスト送信の結果に合わせて記憶手段上で変更するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラムまたはオブジェクトの変更管理を行うプログラム管理技術に関するものである。
【背景技術】
【０００２】
近年、インターネットを用いた分散オブジェクト技術であるWebサービス（プログラムやオブジェクトの実行により実現される機能）が注目されている。Webサービスに関しては、その基礎技術として、SOAP(Simple Object Access Protocol)、WSDL(Web Service Description Language)、UDDI(Universal Description Discovery, and Integration)がある（例えば非特許文献１ pp.3-7参照）。
【０００３】
SOAPは構造化文書交換に使う封筒構造の定義を示しており、この定義に従って記述した構造化文書をSOAPメッセージと呼び、Webサービスを用いたクライアント／サーバプログラムではこのSOAPメッセージを用いて通信を行う（例えば非特許文献１ pp.25-53参照）。
【０００４】
WSDLは、Webサービスのインタフェースを定義する為の構造化文書フォーマットである。WebサービスではWSDLファイルをインタフェースとし、SOAPメッセージを用いて通信を行う（例えば非特許文献１ pp.72-95参照）。
【０００５】
UDDIは、Webサービスに対するグローバルレジストリと標準仕様を提供しており、インターネットで共通に利用できるレジストリとして公開されている。従って、Webサービスを用いたクライアント／サーバプログラムでは、サーバプログラムのWebサービスをこのUDDIレジストリに登録しておき、クライアントプログラムはこのUDDIレジストリに登録されているWebサービスを見つけることにより、サーバプログラムのWebサービスが利用できる様になる（例えば非特許文献１ pp.98-139参照）。
【０００６】
【非特許文献１】David A. Chappell他著「Java Web Services」、出版社：O'Reilly & Associates,Inc., 2002.3, pp.3-7, pp.72-95, pp.98-139
【発明の開示】
【発明が解決しようとする課題】
【０００７】
分散技術におけるアクセス要求送付先のインタフェース定義情報が変更された場合を考えてみる。保守作業者は、クライアントプログラムがエラーメッセージを受け付けた原因がインタフェース定義情報の変更によるものであることを判っており、それを基にクライアントプログラムの修正を行うものとする。
【０００８】
上記の様なクライアントプログラムの保守作業に際しては、エラーを発生させた送付メッセージが、改訂前のインタフェース定義情報に従って生成されたメッセージかどうかを確認し、生成されたメッセージが改訂前のインタフェース定義情報に従って正しく生成されたものである場合には、改訂後のインタフェース定義情報を取得し、改訂後のインタフェース定義情報に従ったメッセージを送付する様にクライアントプログラムを修正する。
【０００９】
しかしながら、従来の方法によるクライアントプログラムの生成は、インタフェース定義情報と雛型からクライアントプログラムを生成するものに過ぎない。その為、実行中のクライアントプログラムに発生したエラーがインタフェース定義情報の変更によるエラーであると判っていても、保守作業者は、一旦クライアントプログラムを停止させ、改訂後のインタフェース定義情報を取得し、それに沿ったクライアントプログラムの雛型の作成を再度行い、インタフェース定義情報の変更箇所とプログラムの修正個所の対応関係を判断しながら作業する等の手間のかかる作業を行う必要がある。
【００１０】
更に、クライアントプログラムに、前記変更箇所での入力内容をチェックする入力チェック等のスクリプトを付加する為には、前記変更箇所での入力形式に関してチェックリストに従ってテスト送信を行い、その結果に基づいて入力チェックスクリプトを作成した後、前記変更箇所の修理を行ったクライアントプログラムに対して、前記作成した入力チェックスクリプトを付加するといった作業を、保守作業者が行う必要がある。
【００１１】
本発明の目的は上記問題を解決し、インタフェース定義情報の変更に伴うエラーが発生した場合にそのエラーの発生を防止する為のプログラムの修正を動的に行うことが可能な技術を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、インタフェース定義情報の変更に応じてプログラムを変更するプログラム管理装置において、インタフェース定義情報の変更によるエラー発生時に変更箇所の入力形式を判定する為のテスト送信を行い、インタフェース定義情報の変更内容及びテスト結果に合わせてプログラムを変更するものである。
【００１３】
本発明のプログラム管理装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）では、Webサービス（プログラムやオブジェクトの実行により実現される機能）を提供するWebサービスサーバに対して、SOAPメッセージによるアクセス要求を送付してWebサービスの提供を受ける処理を行う。
【００１４】
前記SOAPメッセージによるアクセス要求を送付した際に、そのアクセス要求先のWebサービスプログラムとの間でやりとりされるデータや操作等に関するインタフェースを示すインタフェース定義情報の変更によるエラー、すなわちWSDLファイルの変更によるエラーが発生したか否かを判定し、WSDLファイルの変更によるエラーが発生した場合には、改訂前のWSDLファイルと改訂後のWSDLファイルとを比較して変更箇所を調べる。
【００１５】
そして、その変更箇所での入力形式を判定する為のSOAPメッセージをWebサービスサーバにテスト送信して当該変更箇所に対して入力可能な形式を示すテスト結果を収集した後、SOAPメッセージの送信を行うクライアントプログラムの内容を前記変更箇所及びテスト送信の結果に合わせて変更する。すなわち、SOAPメッセージの送信を行うクライアントプログラムの内容を前記変更箇所に合わせて変更した後、前記テスト結果を元に当該変更箇所での入力をチェックする入力チェックスクリプトを生成してクライアントプログラムに追加する。
【発明の効果】
【００１６】
本発明によれば、インタフェース定義情報の変更に伴うエラーが発生した場合にそのエラーの発生を防止する為のプログラムの修正を動的に行うことが可能である。
【発明を実施するための最良の形態】
【００１７】
以下にインタフェース定義情報の変更に応じてクライアントプログラムを変更し、その変更箇所での入力内容をチェックする入力チェックスクリプトを当該クライアントプログラムに付加する一実施形態のプログラム管理装置について説明する。
【００１８】
図１は本実施形態のWSDLファイルの変更例を示す図である。図１の様にWebサービス（プログラムやオブジェクトの実行により実現される機能）のインタフェースを示すWSDL1（１−１）の保存場所情報がWSDL2（１−４）の保存場所情報に変更された場合、すなわち、改訂前のWSDL1においては、ユーザ情報として名前と住所のみの入力を受け付けていたが、改訂後のWebサービスでは、名前、住所に加えて電話番号の入力を受け付ける場合、図１の様に、<NAME>,<ADRESS>タグ（１−２,１−３）のみのWSDL1から<NAME>,<ADRESS>,<TEL>タグ（１−５,１−６,１−７）のWSDL2へと変更され、具体的にはWebサービスのインタフェースに１−８の行が追加される。
【００１９】
図２は本実施形態のプログラム管理装置の処理概要を示す図である。本実施形態ではプログラムを対象として説明するが、オブジェクトに対しても適用可能である。
【００２０】
図２に示す様に通常の運用は、Webサービスサーバ２−１とWebサービスクライアント２−２上のWebアプリケーション運用処理２−３との間でのSOAPメッセージ通信２−１０によって行われる。本実施形態ではWebサービスクライアント２−２は、インタフェース定義情報の変更に応じてクライアントプログラムを変更するプログラム管理装置として動作し、図２に示したWebサービスサーバ２−１及びWebサービスクライアント２−２の各装置は、計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良いものとする。
【００２１】
ここで、Webサービスサーバ２−１において、WebサービスのインタフェースであるWSDLが図１の様に変更になった場合、Webサービスクライアント２−２側から送られてきたSOAPメッセージのインタフェースが現在のインタフェースと異なる為、Webサービスサーバ２−１はFaultメッセージを返す。この場合のFaultcodeはSOAP-ENV:Clientとなる。
【００２２】
Webサービスクライアント２−２側のWebアプリケーション運用処理２−３がそのFaultメッセージを取得すると、変更検知処理２−４によってWebサービスサーバ２−１側のインタフェースであるWSDLの変更を検知し、WSDLの変更箇所を特定する。
【００２３】
そして本実施形態では、その変更されたインタフェースの入力形式に関するテストをWebアプリケーションテスト処理２−７によって行うか（２−１１）、或いは、そのままクライアントプログラム変更処理を行う（２−１２）。ここで、どちらの処理を行うかは、予め設定ファイルに設定しておき、その設定した値から判定する。
【００２４】
Webアプリケーションテスト処理２−７に進んだ場合、メッセージにインタフェースの入力形式をテストする為のテスト内容を追加して、Webサービスサーバ２−１に対してテストモードによる通信２−９を行う。
【００２５】
クライアントプログラム変更処理２−５では、前記特定した変更箇所の情報とWebアプリケーションテスト処理２−７の結果に基づいてクライアントプログラムの変更を行う。また、前記テストを行っていない場合には、特定した変更箇所の情報のみに基づいてクライアントプログラムの変更を行う。
【００２６】
Webアプリケーション生成処理２−６では、クライアントプログラム変更処理２−５で変更したプログラムを統合し、Webアプリケーションプログラムを再生成する。その後、Webアプリケーションテスト処理２−７では、前記統合したWebアプリケーションプログラムにより再度テスト送信を行い、その応答を解析してエラーが発生しているかどうかを判定して、Webアプリケーション運用処理２−３を再開するか、或いは運用を停止してエラー内容を管理者に通知する処理を行う。
【００２７】
図１５は本実施形態のプログラム管理システムの概略構成を示す図である。図１５に示す様に本実施形態のWebサービスクライアントは、Fault取得・解析処理部１５−１と、HTTP通信処理部１５−２と、SOAP通信処理部１５−３と、SOAPメッセージ変更処理部１５−４と、SOAPメッセージ作成処理部１５−５と、統合システム作成処理部１５−７と、クライアントプログラム変更処理部１５−８と、WSDL比較・差分取得処理部１５−９と、UDDI検索処理部１５−１０と、WSDL取得処理部１５−１１と、表示処理部１５−１３とを有している。
【００２８】
Fault取得・解析処理部１５−１は、メッセージを通信装置によりWebサービスサーバ１５−２０へ送信した際にその送信先のWebサービスサーバ１５−２０から通信装置により応答を受信して、エラー発生時にFaultメッセージの取得及び解析を行い、そのWebサービスサーバ１５−２０のインタフェースを示すインタフェース定義情報の変更によるエラーが発生したか否かを判定する処理部である。
【００２９】
HTTP通信処理部１５−２は、HTTPに基づきWebサービスサーバ１５−２０と通信を行う処理部である。SOAP通信処理部１５−３は、テストモードを含むSOAPメッセージの送受信を行う処理部であり、インタフェース定義情報の変更によるエラーが発生した場合に、その変更箇所の入力形式を判定する為のメッセージを通信装置によりWebサービスサーバ１５−２０へテスト送信する処理部である。
【００３０】
SOAPメッセージ変更処理部１５−４は、インタフェース定義情報の変更によるエラーが発生した場合に、その変更箇所の入力形式を判定する為のメッセージにHeader要素の追加を行う処理部である。SOAPメッセージ作成処理部１５−５は、ユーザPC１５−１４のブラウザから入力されたデータを、表示処理部１５−１３を介して受け取り、SOAPメッセージの作成を行う処理部である。
【００３１】
統合システム作成処理部１５−７は、インタフェース定義情報の変更によるエラーが発生し、クライアントプログラムの変更が行われた場合に、その全コンポーネントの再コンパイル及びWebアプリケーションプログラムの再構築を行う処理部である。
【００３２】
クライアントプログラム変更処理部１５−８は、Webサービスサーバ１５−２０へメッセージの送信を行うクライアントプログラムの内容を前記変更箇所及びテスト送信の結果に合わせてメモリや磁気ディスク装置等の記憶装置上で変更する処理部である。
【００３３】
WSDL比較・差分取得処理部１５−９は、インタフェース定義情報の変更によるエラーが発生した場合に、改訂前後のWSDLを比較してその差分の取得を行う処理部である。UDDI検索処理部１５−１０は、UDDIレジストリ１５−２１からWSDLの保存場所情報の検索を行う処理部である。
【００３４】
WSDL取得処理部１５−１１は、前記検索した保存場所情報を基にWebサーバ１５−２２からWSDLの取得を行う処理部である。表示処理部１５−１３は、前記クライアントプログラムを含むWebアプリケーションプログラムの動作によりユーザPC１５−１４上のブラウザにWebページの表示を行い、またブラウザからの入力を受け取ってSOAPメッセージ作成処理部１５−５へと渡す処理部である。
【００３５】
WebサービスクライアントをFault取得・解析処理部１５−１、HTTP通信処理部１５−２、SOAP通信処理部１５−３、SOAPメッセージ変更処理部１５−４、SOAPメッセージ作成処理部１５−５、統合システム作成処理部１５−７、クライアントプログラム変更処理部１５−８、WSDL比較・差分取得処理部１５−９、UDDI検索処理部１５−１０、WSDL取得処理部１５−１１及び表示処理部１５−１３として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００３６】
図１５のWebサービスクライアント１５−１２、Webサービスサーバ１５−２０、UDDIレジストリ１５−２１、Webサーバ１５−２２、ユーザPC１５−１４は、ネットワーク１５−１９に接続されたコンピュータである。
【００３７】
本実施形態は、サーバ−クライアント間の通信手段について特定するものではないが、本実施形態では、インターネット上でのHTTP(HyperText Transfer Protocol)による通信を前提として説明する。
【００３８】
すなわち、Webサービスクライアント１５−１２、Webサービスサーバ１５−２０及びUDDIレジストリ１５−２１はHTTPサーバとしての機能を備え、Webサービスクライアント１５−１２は、Webブラウザを介してユーザPC１５−１４と通信を行い、Webサービスサーバ１５−２０は、SOAPメッセージを用いてWebサービスクライアント１５−１２と通信を行い、UDDIレジストリ１５−２１は、SOAPメッセージを用いてWebサービスクライアント１５−１２と通信を行うものとする。
【００３９】
また、Webサービスサーバ１５−２０は、メモリ上にHTTP通信処理部１５−１５及びWebサービス処理部１５−１６を備えており、HTTP通信処理部１５−１５は、HTTPに基づきWebサービスクライアント１５−１２との通信を行い、Webサービス処理部１５−１６はWebサービスクライアント１５−１２からのSOAPメッセージを受け取って所定の処理を実行することによりWebサービスを提供する。UDDIレジストリ１５−２１は、WSDLの保持場所等のWebサービスに関する情報を保持し、Webサーバ１５−２２はWSDLの情報を保持している。
【００４０】
図１６は本実施形態のプログラム管理装置のハードウェア構成を示す図である。図１６に示す様に本実施形態のプログラム管理装置であるWebサービスクライアント１５−１２は、Fault取得・解析処理部１５−１、HTTP通信処理部１５−２、SOAP通信処理部１５−３、SOAPメッセージ変更処理部１５−４、SOAPメッセージ作成処理部１５−５、統合システム作成処理部１５−７、クライアントプログラム変更処理部１５−８、WSDL比較・差分取得処理部１５−９、UDDI検索処理部１５−１０、WSDL取得処理部１５−１１、表示処理部１５−１３をメモリ上に保持している。
【００４１】
またWebサービスクライアント１５−１２は、改訂前と改訂後のWSDLと設定ファイルを有するクライアントDB１５−６、カテゴリ情報を保持するカテゴリDB１５−１７、入力チェックを行う際のチェックリストを保持するCLDB１５−２３を磁気ディスク装置に格納しており、通信装置によりWebサービスサーバ１５−２０等の他の処理装置との通信を行う。
【００４２】
図３は本実施形態のクライアントプログラム側の処理の詳細を示す図である。以下、本実施形態のWebサービスクライアント１５−１２側での処理の詳細を図１５及び図３を参照して説明する。
【００４３】
本実施形態のプログラム管理装置であるWebサービスクライアント１５−１２のHTTP通信処理部１５−２及びSOAP通信処理部１５−３は、Webサービスを提供するWebサービスサーバ１５−２０に対して、SOAPメッセージによるアクセス要求を送付してWebサービスの提供を受ける処理を行う。
【００４４】
Webサービスクライアント１５−１２のFault取得・解析処理部１５−１は、SOAPメッセージを通信装置によりWebサービスサーバ１５−２０へ送信した際にその送信先のWebサービスサーバ１５−２０から通信装置により応答を受信して、その応答がFaultメッセージ３−１であるかどうかを調べ、Faultメッセージ３−１である場合にはそのFaultメッセージ３−１を取得してメモリに格納する（３−２）。
【００４５】
次にFault取得・解析処理部１５−１は、Faultメッセージの解析を行い、前記SOAPメッセージによるアクセス要求を送付した際に、そのアクセス要求先のWebサービス処理部１５−１６との間でやりとりされるデータや操作等に関するインタフェースを示すWSDLファイルの変更によるエラーが発生したか否かを判定する（３−３）。すなわちFaultメッセージ解析処理３−３では、前記メモリに格納したFaultメッセージ３−１を参照してFaultcodeタグの内容がSOAP-ENV:Clientかそれ以外かを調べ、SOAP-ENV:ClientであればWSDLの取得を行い（３−５）、SOAP-ENV:Client以外であれば、Webアプリケーションプログラムの運用を停止して管理者側の出力装置にエラー画面を表示し、管理者へエラー通知する（３−４）。
【００４６】
WSDL取得処理３−５でUDDI検索処理部１５−１０は、予めクライアントDB１５−６に保存されているWebサービス検索条件を用いてUDDIレジストリ１５−２１でWebサービスの検索を行い（３−６）、改訂後WSDLの保存場所情報をUDDIレジストリ１５−２１から取得する（３−７）。
【００４７】
次にWSDL取得処理３−８でWSDL取得処理部１５−１１は、前記取得した保存場所情報のURLを用いてWebサーバ１５−２２にアクセスし、改訂後WSDL2（１５−１８）を通信装置によりWebサーバ１５−２２から取得してメモリに格納する。
【００４８】
WSDL比較・差分取得処理３−１１でWSDL比較・差分取得処理部１５−９は、前記取得した改訂後のWSDL2（１５−１８）とクライアントDB１５−６に保存してある改訂前WSDL1（３−１４）とをメモリ上で比較し、その変更箇所を示す差分を取得する。本実施形態の場合、例えばWSDL差分３−１２の様な差分を取得する。
【００４９】
設定判別処理３−１６でSOAP通信処理部１５−３は、クライアントDB１５−６から設定ファイルの値を読み取り、その読み取った値が入力チェック有りの設定を示すものである場合にはテスト送信（入力形式チェック）処理３−１７を行い、その後、クライアントプログラム変更処理３−１８を行う。また前記読み取った値が入力チェック無しの設定を示すものである場合には、テスト送信を行わずにそのままクライアントプログラム変更処理３−１８を行う。
【００５０】
テスト送信（入力形式チェック）処理３−１７でSOAP通信処理部１５−３は、テスト送信によりWebサービスサーバ１５−２０側のWSDL差分３−１２での入力仕様のチェックを行う。
【００５１】
図４は本実施形態のテスト送信（入力形式チェック）処理３−１７の処理の詳細を示す図である。図４に示す様にテスト送信（入力形式チェック）４−１でSOAP通信処理部１５−３は、最初に、WSDL比較・差分取得処理３−１１で取得したWSDL差分３−１２に対して、Webサービスクライアント１５−１２側に保存されたカテゴリDB１５−１７を検索するカテゴリ検索４−２を行なう。
【００５２】
カテゴリ検索４−２では、カテゴリテーブル４−８のWSDL_TAG_NAME列から、差分の値を検索し、それに対応するCATEGORY列の値を読み出す。例えば、WSDL差分中のタグの名称が「PHONE」だった場合には、そのタグ名称に対応するCATEGORY列の値「TEL」を読み出す。
【００５３】
次の一致判定処理４−４では、カテゴリ検索４−２でWSDL差分中のタグ名称に一致するWSDL_TAG_NAME列の値が検索されたかを調べ、WSDL_TAG_NAME列の値が検索された場合にはカテゴリの一致有りと判定してカテゴリ別入力チェック４−６へ進み、そうでない場合には標準入力チェック４−５へ進む。例えばWSDL差分のタグ名称が「AGE」であり、タグ名称「AGE」に該当する値がWSDL_TAG_NAME列に存在しない場合には、カテゴリの一致無しと判定して標準入力チェック４−５を行い、本実施形態のWSDL差分３−１２のタグ名称「TEL」の場合では、CATEGORY列の「TEL」に関してのカテゴリ別入力チェック４−６を行う。
【００５４】
図５は本実施形態の標準入力チェック４−５及びカテゴリ別入力チェック４−６の処理の概要を示す図である。図５に示す様に標準入力チェック４−５でSOAP通信処理部１５−３は、WSDL差分の型（type）の値により、標準入力チェック（string）５−１または、標準入力チェック（int）５−２を行う。そして標準入力チェック（string）５−１では、必須チェック５−４、文字チェック５−５及び文字数チェック５−６を行い、標準チェック（int）５−２では、必須チェック５−７及び範囲チェック５−８を行う。
【００５５】
図５のカテゴリ別入力チェック５−３では、カテゴリが「TEL」の例を示している。このカテゴリ別入力チェック処理ではカテゴリに応じて異なるチェックを選択できるものとし、「TEL」の場合には、必須チェック５−９及び形式チェック５−１０を行う。
【００５６】
図６は本実施形態の必須チェック（５−４、５−７及び５−９）の処理の詳細を示す図である。図６に示す様に必須チェックでSOAP通信処理部１５−３は、前記変更箇所の追加タグの内容として空文字を通信装置によりWebサービスサーバ１５−２０へテスト送信することにより、メッセージの送信時に当該タグの内容が必須であるかどうかをチェックする。
【００５７】
まずSOAPメッセージに空文字を追加する処理６−１でSOAP通信処理部１５−３は、取得した差分から、追加するタグ（ここではTEL）を判別して、その内容として設定例６−１１の様に空文字列("")を設定し、エラーとなったSOAPメッセージのBODY要素に追加する。本実施形態では、エラー発生時にこの様なSOAPメッセージの修正を行う為に、Webサービスクライアント１５−１２からWebサービスサーバ１５−２０へ送信したSOAPメッセージをメモリ内に一時的に記録しているものとする。
【００５８】
次に、SOAPメッセージをテストモードで送付する。これは、以下の様にして実施する。すなわち、まずSOAP通信処理部１５−３は、SOAPメッセージのHeaderにModeタグを追加する（６−２）。ここで、設定例６−１０の様にModeタグの属性をmustUnderstand属性に設定し、Webサービスサーバ１５−２０がModeタグを理解できない場合にはWebサービスサーバ１５−２０がエラーを返す様に設定する。また、Modeタグの内容は"TEST"とする。本実施形態では、Webサービスサーバ１５−２０側もこのHeaderを解釈する機能を有しているものとし、Modeタグの内容が"TEST"の場合にはテストモードとして動作し、実際の予約や注文といった動作は行わずに、クライアント側から送られてきたSOAPメッセージが正常な入力かどうかをチェックしてそれに対する応答を返すものとする。
【００５９】
次にSOAP通信処理部１５−３は、前記変更したSOAPメッセージを通信装置によりWebサービスサーバ１５−２０へ送信し（６−３）、その応答を受信して解析する（６−４）。この必須チェックにおいて、正常な応答が返ってきた場合には、Webサービスサーバ１５−２０は追加するタグ（ここではTEL）について空文字を受け付ける、つまり、追加するタグの内容が必須ではないということになり、Faultメッセージが帰ってきた場合には、Webサービスサーバ１５−２０は追加するタグについて空文字を受け付けない、つまり、追加するタグの内容が必須であるということになる。
【００６０】
応答解析６−４の結果、正常な応答が返ってきている場合には、返り値をfalseに設定し（６−６）、クライアントDB１５−６に保存された設定ファイルの修正レベルを判別する（６−７）。そして、その修正の必要性を示す修正レベルが"低"に設定されている場合には運用を再開し（６−８）、修正レベルが"高"に設定されている場合には必須チェック処理を終了して呼び出し元の処理へ戻る（６−９）。また、応答解析６−４において、Faultメッセージが帰ってきている場合には、返り値をtrueに設定し（６−５）、必須チェック処理を終了して呼び出し元の処理へ戻る（６−９）。
【００６１】
この様に、追加するタグを判別し、その内容として空文字を設定し、そのタグと内容をメッセージのボディに追加してアクセス要求の入力形式に関するテスト送信を行うことにより追加するタグの内容が必須かどうかのチェックを行うことができる。
【００６２】
また、前記運用の再開では、Webサービスクライアント１５−１２から出力されるSOAPメッセージに対して前記差分に相当するBODY要素の追加または削除等の修正を行った後、その修正したSOAPメッセージをWebサービスサーバ１５−２０へ送信する処理を行う。
【００６３】
図７は本実施形態の文字チェック５−５の処理の詳細を示す図である。図７に示す様に文字チェック５−５でSOAP通信処理部１５−３は、前記変更箇所の追加タグの内容として所定の種類の文字を通信装置によりWebサービスサーバ１５−２０へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な文字をチェックし、送信可能な文字を示す情報を記憶装置中のCLDB１５−２３内のチェックリスト（テーブル７−１２）に格納する。
【００６４】
文字チェック５−５でSOAP通信処理部１５−３は、まず整数変数iを新たに定義してiに0を代入し（７−１）、iがMAXより小さい間、以降の処理を繰り返す処理を行って、ステップ７−２の処理でiがMAXより大きいか等しい値になると文字チェック処理を終了する（７−３）。
【００６５】
ここでMAXの値は、チェックリストを格納したデータベースであるCLDB１５−２３に格納している文字の種類の個数であり、CLDB１５−２３に格納されたテーブル７−１２のval列にはチェック対象の各文字を格納しておき、Bool列には文字チェックによりブール値の代入を行う。これらのテーブル内の値ch[0], ch[1],,,ch[max]は、オブジェクト配列変数としてval列、bool列の値を属性として持たせて運用開始時にメモリ内に保持しておくものとする。以降、この変数について値を操作する。
【００６６】
SOAPメッセージにch[i].valを追加する処理７−４でSOAP通信処理部１５−３は、取得した差分から追加するタグ（ここではTEL）を判別し、その内容としてch[i].valの値を設定して、エラーとなったSOAPメッセージのBODY要素に追加する。
【００６７】
次に、SOAPメッセージのHeaderにModeタグを追加し（７−５）、テストモードでのSOAPメッセージの送信を行う（７−６）。そして、その応答を解析し（７−７）、正常な応答が返ってきた場合にはch[i].boolの値にtrueを代入し（７−９）、Faultが返ってきた場合にはch[i].boolの値にfalseを代入する（７−８）。その後、変数iの値を一つ増やしてステップ７−２の処理に戻る。
【００６８】
図８は本実施形態の文字数チェック５−６の処理の詳細を示す図である。図８に示す様に文字数チェック５−６でSOAP通信処理部１５−３は、前記変更箇所の追加タグの内容として所定の数の文字を通信装置によりWebサービスサーバ１５−２０へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な文字数をチェックし、送信可能な文字数を示す情報を記憶装置中のCLDB１５−２３内のチェックリスト（テーブル８−１２）に格納する。
【００６９】
文字数チェック５−６でSOAP通信処理部１５−３は、まず整数変数iを新たに定義してiに0を代入し（８−１）、iがMAXより小さい間、以降の処理を繰り返す処理を行って、ステップ８−２の処理でiがMAXより大きいか等しい値になると文字数チェック処理を終了する（８−３）。
【００７０】
ここでMAXの値は、CLDB１５−２３に格納している文字数データの個数であり、CLDB１５−２３に格納されたテーブル８−１２のval列にはチェック対象の文字数の値を格納しておき、Bool列には文字数チェックによりブール値の代入を行う。これらのテーブル内の値len[0], len[1],,,len[max]は、オブジェクト配列変数としてval列、bool列の値を属性として持たせて運用開始時にメモリ内に保持しておくものとする。以降、この変数について値を操作する。
【００７１】
SOAPメッセージにlen[i].valの数だけ文字を連結する処理８−４でSOAP通信処理部１５−３は、取得したWSDL差分から、追加するタグ（ここではTEL）を判別し、その内容として所定の文字をlen[i].valの数だけ連結した文字列を設定する。ここで使用する文字は、文字チェック５−５においてch[i].bool値がtrueに設定されたch[i].valの何れかの文字であるものとする。そして、そのタグと内容をSOAPメッセージのBODY要素に追加する。
【００７２】
次に、SOAPメッセージのHeaderにModeタグを追加し（８−５）、テストモードでのSOAPメッセージの送信を行う（８−６）。そして、その応答を解析し（８−７）、正常な応答が返ってきた場合にはlen[i].boolの値にtrueを代入し（８−９）、Faultが返ってきた場合にはlen[i].boolの値にfalseを代入する（８−８）。その後、変数iの値を一つ増やしてステップ８−２の処理に戻る。
【００７３】
図９は本実施形態の範囲チェック５−８の処理の詳細を示す図である。図９に示す様に範囲チェック５−８でSOAP通信処理部１５−３は、前記変更箇所の追加タグの内容として所定の数値を通信装置によりWebサービスサーバ１５−２０へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な範囲の数値をチェックし、送信可能な範囲の数値を示す情報を記憶装置中のCLDB１５−２３内のチェックリスト（テーブル９−１２）に格納する。
【００７４】
範囲チェック５−８でSOAP通信処理部１５−３は、まず整数変数iを新たに定義してiに0を代入し（９−１）、iがMAXより小さい間、以降の処理を繰り返す処理を行って、ステップ９−２の処理でiがMAXより大きいか等しい値になると範囲チェック処理を終了する（９−３）。
【００７５】
ここでMAXの値は、CLDB１５−２３に格納している数値の個数であり、CLDB１５−２３に格納されたテーブル９−１２のval列にはチェック対象の各数値（整数値）を格納しておき、Bool列には範囲チェックによりブール値の代入を行う。これらのテーブル内の値range[0],range[1],,,range[max]は、オブジェクト配列変数としてval列、bool列の値を属性として持たせて運用開始時にメモリ内に保持しておくものとする。以降、この変数について値を操作する。
【００７６】
SOAPメッセージにrange[i].valを追加する処理９−４でSOAP通信処理部１５−３は、取得した差分から追加するタグ（ここではTEL）を判別し、その内容としてrange[i].valの値を設定し、エラーとなったSOAPメッセージのBODY要素に追加する。
【００７７】
次に、SOAPメッセージのHeaderにModeタグを追加し（９−５）、テストモードでのSOAPメッセージの送信を行う（９−６）。そして、その応答を解析し（９−７）、正常な応答が返ってきた場合にはrange[i].boolの値にtrueを代入し（９−９）、Faultが返ってきた場合にはrange[i].boolの値にfalseを代入する（９−８）。その後、変数iの値を一つ増やしてステップ９−２の処理に戻る。
【００７８】
図９のテーブル９−１２は以上の処理が終わった後のテーブルの内容を示している。図９の例では、val列の1、2、3、…に対応するbool列の値がtrueであり、val列の10、…に対応するbool列の値がfalseである。この範囲チェックの結果により、追加するタグの内容として、1〜9の整数値は使用可能であるが、10以上の整数値は使用できないことが判る。この様に、追加するタグを判別し、その内容としてテストする数値を設定し、そのタグと内容をメッセージのボディに追加してアクセス要求の入力形式に関するテスト送信を行うことにより数値の範囲のチェックを行うことができる。
【００７９】
図１０は本実施形態の形式チェック５−１０の処理の詳細を示す図である。図１０に示す様に形式チェック５−１０でSOAP通信処理部１５−３は、前記変更箇所の追加タグの内容として所定の形式の文字列を通信装置によりWebサービスサーバ１５−２０へテスト送信することにより、メッセージの送信時に当該タグの内容として送信可能な文字の形式をチェックし、送信可能な形式の文字列を示す情報を記憶装置中のCLDB１５−２３内のチェックリスト（テーブル１０−１２）に格納する。
【００８０】
形式チェック５−１０でSOAP通信処理部１５−３は、まず整数変数iを新たに定義してiに0を代入し（１０−１）、iがMAXより小さい間、以降の処理を繰り返す処理を行って、ステップ１０−２の処理でiがMAXより大きいか等しい値になると形式チェック処理を終了する（１０−３）。
【００８１】
ここでMAXの値は、CLDB１５−２３に格納している形式サンプルの種類の個数であり、CLDB１５−２３に格納されたテーブル１０−１２のval列にはチェック対象の各形式サンプルの値（文字列）を格納しておき、Bool列には形式チェックによりブール値の代入を行う。これらのテーブル内の値form[0],form[1],,,form[max]は、オブジェクト配列変数としてval列、bool列の値を属性として持たせて運用開始時にメモリ内に保持しておくものとする。以降、この変数について値を操作する。
【００８２】
SOAPメッセージにform[i].valを追加する処理１０−４でSOAP通信処理部１５−３は、取得した差分から追加するタグ（ここではTEL）を判別し、その内容としてform[i].valの値を設定し、エラーとなったSOAPメッセージのBODY要素に追加する。
【００８３】
次に、SOAPメッセージのHeaderにModeタグを追加し（１０−５）、テストモードでのSOAPメッセージの送信を行う（１０−６）。そして、その応答を解析し（１０−７）、正常な応答が返ってきた場合にはform[i].boolの値にtrueを代入し（１０−１０）、Faultが返ってきた場合にはform[i].boolの値にfalseを代入する（１０−８）。その後、変数iの値を一つ増やしてステップ１０−２の処理に戻る。
【００８４】
図１０のテーブル１０−１２は、以上の処理が終わった後のテーブルの内容を示している。図１０の例では、val列の0123456789に対応するbool列の値がtrueであり、val列の01-2345-6789、0120-111-111、０１２３４５６７８９、・・・に対応するbool列の値がfalseである。この形式チェックの結果により、追加するタグ（例えばTEL）の内容として、0123456789の形式は使用可能であるが、01-2345-6789、0120-111-111、０１２３４５６７８９、…の形式は使用できないことが判る。この様に、追加するタグを判別し、その内容としてテストする文字形式を設定し、そのタグと内容をメッセージのボディに追加してアクセス要求の入力形式に関するテスト送信を行うことにより文字形式のチェックを行うことができる。
【００８５】
前記の様にしてテスト送信（入力形式チェック）処理３−１７を行った後、Webサービスクライアント１５−１２のクライアントプログラム変更処理部１５−８は、クライアントプログラム変更処理３−１８を行う。
【００８６】
図１１は本実施形態のクライアントプログラム変更処理３−１８の詳細を示す図である。図１１に示す様にWebサービスクライアント１５−１２のクライアントプログラム変更処理部１５−８は、メッセージの送信を行うクライアントプログラムの内容を前記変更箇所及びテスト送信の結果に合わせてメモリや磁気ディスク装置等の記憶装置上で変更する処理を行う。
【００８７】
まずJSP変更１１−２でクライアントプログラム変更処理部１５−８は、取得したWSDL差分から追加するタグ（ここではTEL）を判別し、その入力フォームをJSP(Java Server Pages)に追加する。
【００８８】
図１２は本実施形態のプログラム管理装置の変更したJSPの例を示す図である。図１２に示す様に、JSP変更１１−２でクライアントプログラム変更処理部１５−８は、既存のname、adressの入力フォーム１２−２及び１２−３に加えて、telの入力フォーム１２−４を追加している。
【００８９】
次にクライアントプログラム変更処理部１５−８は設定判別１１−３を行う。設定判別１１−３では、クライアントDB１５−６から設定ファイルの値を読み取り、その読み取った値が入力チェック有りの設定を示すものである場合には、入力チェックスクリプト追加処理１１−４を行い、前記読み取った値が入力チェック無しの設定を示すものである場合には、入力チェックスクリプト追加処理１１−４を行わずにSOAP通信プログラム変更処理１１−５へ進む。
【００９０】
図１３は本実施形態の入力チェックスクリプト追加処理１１−４の詳細を示す図である。まず形式チェック結果反映処理１３−２でクライアントプログラム変更処理部１５−８は、形式チェック結果を示すテーブル１０−１２のform[i].bool値から、trueの形式を判別し、形式チェックの際には未実施であった文字チェック及び文字数チェックについて、テーブル７−１２とテーブル８−１２にその形式に応じた所定の値を設定する（１３−９、１３−１１）。
【００９１】
すなわち、形式チェック５−１０により送信可能と判定された形式の文字列から文字及び文字数を抽出し、送信可能な文字及び文字数を示す情報を記憶装置中のCLDB１５−２３内のチェックリストのテーブル７−１２及びテーブル８−１２にそれぞれ格納する。
【００９２】
例えば形式チェック結果を示すテーブル１０−１２中の例により反映処理を行う場合、形式「0123456789」がtrueであるので、文字についてはその形式中に現れる「0」〜「9」のみをtrueとし、文字数についてはその形式中の文字数である「10」のみをtrueとしている（１３−１２、１３−１３）。
【００９３】
入力文字チェックスクリプト追加処理１３−３、入力文字数チェックスクリプト追加処理１３−４、入力範囲チェックスクリプト追加処理１３−５では、それぞれ、CLDB１５−２３のチェックリスト中の文字チェック結果、文字数チェック結果、範囲チェック結果に応じて、前記変更箇所の追加タグの内容をチェックする為の入力チェックスクリプトをメモリ等の記憶装置上でJSPに追加することにより、メッセージの送信を行うクライアントプログラムの内容を前記テスト結果に合わせて変更する処理を行う。メッセージの送信を行う際に前記変更箇所の追加タグの内容として入力装置により入力された文字が、CLDB１５−２３のチェックリスト中に格納されている送信可能な文字及び文字数等の内容に該当するかどうかを、前記追加した入力チェックスクリプトにより判定することができる。
【００９４】
図１４は本実施形態の入力文字チェックスクリプト追加処理１３−３の詳細を示す図である。レンジ抽出処理１４−２でクライアントプログラム変更処理部１５−８は、文字チェック結果を示すテーブル７−１２のオブジェクト変数ch[0],,,ch[max]から属性boolの値がtrueである値の範囲を抽出する。すなわちテーブル７−１２中でbool列の値が連続してtrueとなっているval列の値の範囲を抽出する。ここで、bool列の値が連続してtrueとなっているval列の値が無く、範囲が抽出できない場合には、bool列の値がtrueとなっているval列の値を個々に取り出すものとする。
【００９５】
次に文字チェックスクリプト生成処理１４−４では、レンジ抽出処理１４−２で抽出した結果（ここでは文字「0」から「9」のレンジ）から、文字チェックスクリプトの生成を行う。入力チェックスクリプト例１４−６は、入力された文字が「0」から「9」の何れかであるかをチェックするスクリプトの生成例を示している。
【００９６】
次に文字チェックスクリプト追加処理１４−５では、文字チェックスクリプト生成処理１４−４で生成した文字チェックスクリプトをメモリ等の記憶装置上でクライアントプログラムに追加することによりクライアントプログラムの変更を行う。
【００９７】
ここでは、入力された文字の種類をチェックする文字チェックスクリプトの追加例を示したが、入力された文字数のチェックを行う文字数チェックスクリプトの追加、入力された数値の範囲をチェックする範囲チェックスクリプトの追加も同様に行うものとする。また、全角を半角に変換するスクリプトの追加等を行っても良い。
【００９８】
前記の様にしてクライアントプログラム変更処理３−１８を行った後、Webサービスクライアント１５−１２の統合システム作成処理部１５−７は、図３の統合システム作成処理３−１９を行い、変更・修正した全てのクライアントプログラムを再コンパイルして、Webアプリケーションプログラムを再構築する。
【００９９】
次にWebサービスクライアント１５−１２の表示処理部１５−１３は、前記再構築したWebアプリケーションプログラムを起動して、ユーザPC１５−１４上のブラウザにWebページの表示を行い、ブラウザからの入力を通信装置により受け取って、SOAPメッセージ作成処理部１５−５へと渡す処理を行う。
【０１００】
Webサービスクライアント１５−１２のSOAPメッセージ作成処理部１５−５は、ユーザPC１５−１４のブラウザから入力されたデータを、表示処理部１５−１３を介して受け取り、SOAPメッセージの作成を行う。その際、前記追加した入力チェックスクリプトは、前記変更箇所の追加タグの内容としてユーザPC１５−１４の入力装置により入力された文字が、記憶装置中のCLDB１５−２３内のチェックリストに格納されている送信可能な文字及び文字数等の内容に該当するかどうかを判定する処理を行い、送信可能な文字及び文字数等の内容に該当していない場合に「入力形式が不正です。」等の警告メッセージを出力する処理を行う。
【０１０１】
次にSOAP通信処理部１５−３は、前記作成されたSOAPメッセージをテストモードで送付する。これは、前述のテスト送信処理３−１７と同様にして実施する。すなわち、SOAPメッセージのHeaderにModeタグを追加し、Modeタグの内容を"TEST"としたSOAPメッセージをWebサービスサーバ１５−２０に送付する。本実施形態では、Webサービスサーバ１５−２０側もこのHeaderを解釈する機能を有しているものとし、Modeタグの内容が"TEST"の場合にはテストモードとして動作し、実際の予約や注文といった動作は行わずに、クライアント側から送られてきたSOAPメッセージが正常な入力かどうかをチェックしてそれに対する応答を返すものとする。
【０１０２】
応答解析処理３−２１でSOAP通信処理部１５−３は、その応答を解析するか、或いは、実行時エラーによりSOAPメッセージの送付に失敗した場合のエラー解析を行う。正常な応答が返ってきた場合には即座に運用を再開し（３−２２）、実行時エラー、或いはWebサービスサーバ１５−２０からの応答がエラーであった場合には管理者へエラー内容を通知して運用を停止する（３−２３）。
【０１０３】
以上説明した様に本実施形態のプログラム管理装置によれば、インタフェース定義情報の変更によるエラー発生時に変更箇所の入力形式を判定する為のテスト送信を行い、インタフェース定義情報の変更内容及びテスト結果に合わせてプログラムを変更するので、インタフェース定義情報の変更に伴うエラーが発生した場合にそのエラーの発生を防止する為のプログラムの修正を動的に行うことが可能である。
【図面の簡単な説明】
【０１０４】
【図１】本実施形態のWSDLファイルの変更例を示す図である。
【図２】本実施形態のプログラム管理装置の処理概要を示す図である。
【図３】本実施形態のクライアントプログラム側の処理の詳細を示す図である。
【図４】本実施形態のテスト送信（入力形式チェック）処理３−１７の処理の詳細を示す図である。
【図５】本実施形態の標準入力チェック４−５及びカテゴリ別入力チェック４−６の処理の概要を示す図である。
【図６】本実施形態の必須チェック（５−４、５−７及び５−９）の処理の詳細を示す図である。
【図７】本実施形態の文字チェック５−５の処理の詳細を示す図である。
【図８】本実施形態の文字数チェック５−６の処理の詳細を示す図である。
【図９】本実施形態の範囲チェック５−８の処理の詳細を示す図である。
【図１０】本実施形態の形式チェック５−１０の処理の詳細を示す図である。
【図１１】本実施形態のクライアントプログラム変更処理３−１８の詳細を示す図である。
【図１２】本実施形態のプログラム管理装置の変更したJSPの例を示す図である。
【図１３】本実施形態の入力チェックスクリプト追加処理１１−４の詳細を示す図である。
【図１４】本実施形態の入力文字チェックスクリプト追加処理１３−３の詳細を示す図である。
【図１５】本実施形態のプログラム管理システムの概略構成を示す図である。
【図１６】本実施形態のプログラム管理装置のハードウェア構成を示す図である。
【符号の説明】
【０１０５】
１−１…WSDLファイル、１−２及び１−３…タグ、１−４…WSDLファイル、１−５〜１−７…タグ、１−８…追加内容、２−１…Webサービスサーバ、２−２…Webサービスクライアント、２−３…Webアプリケーション運用処理、２−４…変更検知処理、２−５…クライアントプログラム変更処理、２−６…Webアプリケーション生成処理、２−７…Webアプリケーションテスト処理、２−８…ネットワーク、２−９…テストモードによる通信、２−１０…通常運用時の通信、３−１…Faultメッセージ、３−１２…WSDL差分、３−１４…改訂前WSDL、５−１…標準入力チェック（string）、５−２…標準入力チェック（int）、５−３…カテゴリ別入力チェック、５−４…必須チェック、５−５…文字チェック、５−６…文字数チェック、５−７…必須チェック、５−８…範囲チェック、５−９…必須チェック、５−１０…形式チェック、６−１０及び６−１１…設定例、７−１２…テーブル、８−１２…テーブル、９−１２…テーブル、１０−１２…テーブル、１２−１…JSP例、１２−２〜１２−４…入力フォーム、１３−１…入力チェックスクリプト追加処理、１３−２…形式チェック結果の反映処理、１３−３…入力文字チェックスクリプト追加処理、１３−４…入力文字数チェックスクリプト追加処理、１３−５…入力範囲チェックスクリプト追加処理、１３−７…形式チェック結果、１３−９…値設定処理、１３−１１…値設定処理、１３−１２…値設定例、１３−１３…値設定例、１４−１…入力文字チェックスクリプト追加処理、１４−２…レンジ抽出処理、１４−３…文字チェック結果、１４−４…文字チェックスクリプト生成処理、１４−５…文字チェックスクリプト追加処理、１４−６…入力チェックスクリプト例、１５−６…クライアントDB、１５−１２…Webサービスクライアント、１５−１４…ユーザPC、１５−１５…HTTP通信処理部、１５−１６…Webサービス処理部、１５−１７…カテゴリDB、１５−１８…改訂後WSDL、１５−１９…ネットワーク、１５−２０…Webサービスサーバ、１５−２１…UDDIレジストリ、１５−２２…Webサーバ、１５−２３…CLDB、１５−１…Fault取得・解析処理部、１５−２…HTTP通信処理部、１５−３…SOAP通信処理部、１５−４…SOAPメッセージ変更処理部、１５−５…SOAPメッセージ作成処理部、１５−７…統合システム作成処理部、１５−８…クライアントプログラム変更処理部、１５−９…WSDL比較・差分取得処理部、１５−１０…UDDI検索処理部、１５−１１…WSDL取得処理部、１５−１３…表示処理部。
【図１】
2005222130.tif 000003
【図２】
2005222130.tif 000004
【図３】
2005222130.tif 000005
【図４】
2005222130.tif 000006
【図５】
2005222130.tif 000007
【図６】
2005222130.tif 000008
【図７】
2005222130.tif 000009
【図８】
2005222130.tif 000010
【図９】
2005222130.tif 000011
【図１０】
2005222130.tif 000012
【図１１】
2005222130.tif 000013
【図１２】
2005222130.tif 000014
【図１３】
2005222130.tif 000015
【図１４】
2005222130.tif 000016
【図１５】
2005222130.tif 000017
【図１６】
2005222130.tif 000018