(57)【特許請求の範囲】
【請求項１】
通信部によってリクエストメッセージをクラウドサービスのＷｅｂサービスプロバイダへ転送し、リスポンスメッセージを該Ｗｅｂサービスプロバイダから受信させ、該リスポンスメッセージの内容をクライアント端末に表示させる拡張アプリケーションと該通信部との間に結合された、クライアントサイドＷｅｂサービスインターフェイスとしてコンピュータを機能させる拡張アプリケーションの開発用プログラムにおいて、
該Ｗｅｂサービスプロバイダの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブルと、
該リクエストメッセージに関するデータに、該変換テーブル中の変換先サービスメソッド名が含まれていれば該変換先サービスメソッド名を対応する変換元サービスメソッド名に変換する逆変換手段と、
該リスポンスメッセージに関するデータに、該変換テーブル中の変換元サービスメソッド名が含まれていれば該変換元サービスメソッド名を対応する変換先サービスメソッド名に変換する変換手段と、
該アプリケーションからサービスメソッドが呼び出され、リスポンスメッセージを該アプリケーションに返すサービスプロキシと、
該サービスメソッドの呼び出をシリアライズして該通信部へ渡すシリアライザと、
該シリアライズされたリスポンスメッセージを該通信部から受け取ってデシリアライズし該サービスプロキシに渡すデシリアライザと、
を有し、
該拡張アプリケーションの開発が完了した後で後処理が実行され、該後処理は、
１）ＷＳＤＬファイルの内容に基づいてＷＳＤＬツールにより新規サービスプロキシを生成し、これを該サービスプロキシと置換し、
２）該拡張アプリケーションのソースコードのうち、該変換テーブルに含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換し  て、新規拡張アプリケーションとし、
３）該変換テーブル、該逆変換手段、及び該変換手段を省略し、該シリアライザ及び該デシリアライザを直接、該クライアント端末のＷｅｂクライアントと論理的に結合させることにより、該Ｗｅｂサービスインターフェイスを新規ＷｅｂサービスインターフェイスとするクライアントサイドＷｅｂサービスインターフェイスとしてコンピュータを機能させることを特徴とする拡張アプリケーションの開発用プログラム。
【請求項２】
該変換手段及び該逆変換手段はいずれも、該サービスプロキシと該通信部との間又は該サービスプロキシと該拡張アプリケーションとの間に結合されていることを特徴とする請求項１に記載の拡張アプリケーションの開発用プログラム。
【請求項３】
該リクエストメッセージに関するデータは、該シリアライズされたリクエストメッセージであり、該リスポンスメッセージに関するデータは、該シリアライズされたリスポンスメッセージであり、
該逆変換手段は、該シリアライザと該通信部との間に結合され、該変換手段は、該デシリアライザと該通信部との間に結合されていることを特徴とする請求項２に記載の拡張アプリケーションの開発用プログラム。
【請求項４】
該リクエストメッセージに関するデータは、該シリアライズされる前のサービスメソッド呼出しコードであり、該リスポンスメッセージに関するデータは、該デシリアライズされた後の戻り値であり、
該変換手段及び該逆変換手段はいずれも、該拡張アプリケーションと該サービスプロキシとの間に結合されていることを特徴とする請求項２に記載の拡張アプリケーションの開発用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リクエストメッセージをＷｅｂサービスへ転送し、リスポンスメッセージを該Ｗｅｂサービスから受信する通信部と、アプリケーションとの間に結合されたクライアントサイドＷｅｂサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法に関する。
【背景技術】
【０００２】
セキュリティを確保するため、企業内に私用コンピュータを持ち込むことは一般に禁止されている。
【０００３】
しかしながら、スマートフォンの普及に伴い、一定条件の下でこの禁止を解除することにより、ビジネス上の処理の効率化が図られようとしている。
【０００４】
一方、クラウド毎にサービスの形態や料金が異なるので、ユーザは複数のクラウドサービスを利用する場合がある。
【０００５】
スマートフォンで社内の画像形成装置を、そのＷｅｂサービスを使って、リモートコントロールしたり、設定情報を読み出したり、設定情報を変更したりする拡張アプリケーションや、スマートフォンでクラウドサービスを利用する拡張アプリケーションを、ユーザ又はサードベンダーが開発する場合、一般に、Ｗｅｂサービスプロバイダ毎にサービスメソッド名の名付規則が異なるので、アプリケーション開発の円滑化が妨げられ、プログラムミスが増大して、拡張アプリケーションの開発期間が増長する原因となる。
【０００６】
このような問題は、デスクトップコンピュータ等、スマートフォン以外の拡張アプリケーションの開発においても生ずる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】http://shizlabs.amonya.com/tecnorogy/webapi.html  Web API一覧表
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、このような問題点に鑑み、複数のＷｅｂサービスプロバイダのＷｅｂサービスを使用するアプリケーションの開発をより円滑に行うことが可能なクライアントサイドＷｅｂサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１態様では、通信部によってリクエストメッセージをクラウドサービスのＷｅｂサービスプロバイダへ転送し、リスポンスメッセージを該Ｗｅｂサービスプロバイダから受信させ、該リスポンスメッセージの内容をクライアント端末に表示させる拡張アプリケーションと該通信部との間に結合された、クライアントサイドＷｅｂサービスインターフェイスとしてコンピュータを機能させる拡張アプリケーションの開発用プログラムにおいて、
該Ｗｅｂサービスプロバイダの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブルと、
該リクエストメッセージに関するデータに、該変換テーブル中の変換先サービスメソッド名が含まれていれば該変換先サービスメソッド名を対応する変換元サービスメソッド名に変換する逆変換手段と、
該リスポンスメッセージに関するデータに、該変換テーブル中の変換元サービスメソッド名が含まれていれば該変換元サービスメソッド名を対応する変換先サービスメソッド名に変換する変換手段と、
該アプリケーションからサービスメソッドが呼び出され、リスポンスメッセージを該アプリケーションに返すサービスプロキシと、
該サービスメソッドの呼び出をシリアライズして該通信部へ渡すシリアライザと、
該シリアライズされたリスポンスメッセージを該通信部から受け取ってデシリアライズし該サービスプロキシに渡すデシリアライザと、
を有し、
該拡張アプリケーションの開発が完了した後で後処理が実行され、該後処理は、
１）ＷＳＤＬファイルの内容に基づいてＷＳＤＬツールにより新規サービスプロキシを生成し、これを該サービスプロキシと置換し、
２）該拡張アプリケーションのソースコードのうち、該変換テーブルに含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換し  て、新規拡張アプリケーションとし、
３）該変換テーブル、該逆変換手段、及び該変換手段を省略し、該シリアライザ及び該デシリアライザを直接、該クライアント端末のＷｅｂクライアントと論理的に結合させることにより、該Ｗｅｂサービスインターフェイスを新規ＷｅｂサービスインターフェイスとするクライアントサイドＷｅｂサービスインターフェイスとしてコンピュータを機能させることを特徴とする拡張アプリケーションの開発用プログラム。
【００１０】
本発明による拡張アプリケーションの開発用プログラムの第２態様では、第１態様において、
該変換手段及び該逆変換手段はいずれも、該サービスプロキシと該通信部との間又は該サービスプロキシと該アプリケーションとの間に結合されている。
【００１１】
本発明による拡張アプリケーションの開発用プログラムの第３態様では、第２態様において、
該リクエストメッセージに関するデータは、該シリアライズされたリクエストメッセージであり、該リスポンスメッセージに関するデータは、該シリアライズされたリスポンスメッセージであり、
該逆変換手段は、該シリアライザと該通信部との間に結合され、該変換手段は、該デシリアライザと該通信部との間に結合されている。
【００１３】
本発明による拡張アプリケーションの開発用プログラムの第５態様では、第２態様において、
該リクエストメッセージに関するデータは、該シリアライズされる前のサービスメソッド呼出しコードであり、該リスポンスメッセージに関するデータは、該デシリアライズされた後の戻り値であり、
該変換手段及び該逆変換手段はいずれも、該拡張アプリケーションと該サービスプロキシとの間に結合されている。
【発明の効果】
【００１５】
上記クライアントサイドＷｅｂサービスインターフェイスの第１態様の構成によれば、Ｗｅｂサービスの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブルを備え、逆変換手段により、Ｗｅｂサービスのリクエストメッセージに関するデータに該変換テーブル中の変換先サービスメソッド名が含まれていれば該変換先サービスメソッド名を対応する変換元サービスメソッド名に変換し、変換手段により、該リスポンスメッセージに関するデータに該変換テーブル中の変換元サービスメソッド名が含まれていれば該変換元サービスメソッド名を対応する変換先サービスメソッド名に変換するので、複数のＷｅｂサービスプロバイダのＷｅｂサービスを使用するアプリケーションの開発をする場合に、プロバイダ間でメソッド名の命名規則が異なっていても、命名規則を統一させることが可能となり、これにより、混乱を避けてアプリケーションの開発をより円滑に行うことができるという効果を奏する。
【００１６】
上記クライアントサイドＷｅｂサービスインターフェイスの第３態様の構成によれば、シリアライズされたテキストデータに対し変換処理を行えばよく、Ｗｅｂサービスの種類やプラットフォームによらない汎用の変換手段及び逆変換手段を用いることができるという効果を奏する。
【００１９】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。 
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。
【図２】図１中の画像形成装置の階層構造を示すブロック図である。
【図３】図１中のスマートフォンの階層構造を示すブロック図である。
【図４】図３中の拡張アプリケーションの開発段階におけるＷｅｂサービスインターフェイス及びこれに関連した部分のより詳細な機能ブロック図である。
【図５】図４中の変換テーブルの具体的構成図である。
【図６】ＳＯＡＰプロトコルでのサービスメソッド呼出しＸＭＬの具体例を示す図であり、（Ａ）及び（Ｂ）はそれぞれ変換前及び変換後のＸＭＬを示す図である。
【図７】該サービスメソッド呼び出しの戻り値のＸＭＬの具体例を示す図であり、（Ａ）及び（Ｂ）はそれぞれ変換前及び変換後のＸＭＬを示す図である。
【図８】図４中の拡張アプリケーションの開発が完了した後での後処理を示すフローチャートである。
【図９】図４の構成に対し該後処理を行った後のものを示す機能ブロック図である。
【図１０】図１中のＰＣのハードウェア構成を示す概略ブロック図である。
【図１１】該ＰＣをソフトウェア開発装置として利用する場合の概略機能ブロック図である。
【図１２】本発明の実施例２に係り、図４の構成の替わりに用いられるものの機能ブロック図である。
【実施例１】
【００２１】
図１は、本発明の実施例１に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。
【００２２】
このシステムでは、イントラネット１０に、画像形成装置１１と、ユーザ端末としてのパーソナルコンピュータ（ＰＣ）ＰＣ１２と、無線ＬＡＮのアクセスポイント１３とが結合され、スマートフォン１４がアクセスポイント１３を介してイントラネット１０に結合される。このイントラネット１０がルータ（不図示）を介してインターネット２０に結合される。インターネット２０には、複数のクラウド２１〜２３が結合されている。また、インターネット２０に基地局２４が結合され、スマートフォン１４及び２５から基地局２４を介しイントラネット１０に結合される。
【００２３】
複数のクラウド２１〜２３はそれぞれ、クラウドサービス３１〜３３を各種クライアント端末に対し提供可能となっている。
【００２４】
ユーザは、ＰＣ１２、スマートフォン１４及び２５などに拡張アプリケーションをインストールすることにより、これらからＷｅｂサービスとして、画像形成装置１１のコピー、プリント及びファクシミリなどの基本的なサービスやクラウドサービス３１〜３３並びにこれらサービスを組み合わせたものを実行したり、画像形成装置１１の設定情報を取得したり、この設定を変更したりすることが可能となる。
【００２５】
図１では、簡単化の為に、複数のＰＣ端末を１つのＰＣ１２で代表し、アクセスポイント１３に対する複数の携帯端末を１つのスマートフォン１４で代表し、基地局２４に対する複数の携帯端末を１つのスマートフォン２５で代表している。
【００２６】
図２は、画像形成装置１１の階層構造を示すブロック図である。
【００２７】
画像形成装置１１は、ハードウェアとしてスキャナ４０、プリンタ４１、ＦＡＸ４２、操作パネル４３及びＮＩＣ４４を備え、プラットフォーム５０を介してそれぞれの基本的な入出力制御を行うことが可能となっている。
【００２８】
プラットフォーム５０は、前記制御を行ったり、電源を管理したり、ＴＣＰ／ＩＰなどのプロトコルで通信したりするＯＳ（オペレーティングシステム）と、ＯＳの下層の各種デバイスドライバと、ＯＳ上のＪａｖａ（登録商標）仮想マシンやＣＬＲ（Common Language Runtime）などの仮想マシン（クラスライブラリ）と、標準ライブラリやコンパイラ等の開発環境とを備えている。
【００２９】
制御モジュール（クラスライブラリ）５１は、プラットフォーム５０のＡＰＩ５２を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション５３は、制御モジュール５１のＡＰＩ５４を介し、ハードウェア４０〜４４をコピー、プリント及びファクシミリなどのような論理的な機能単位で制御可能となっている。
【００３０】
ハードウェア４０〜４４に対する設定情報は、操作パネル４３の操作に応答して、制御モジュール５１により設定情報データベース５５に格納され、また、格納された設定情報は、操作パネル４３の操作に応答して制御モジュール５１により、操作パネル４３に表示される。
【００３１】
システム管理部５６は、ＡＰＩ５２又は５４を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。
【００３２】
ＰＣ１２又はスマートフォン１４若しくは２５から画像形成装置１１へのサービス要求は、ＮＩＣ４４及びプラットフォーム５０を介してＷｅｂサービスプロバイダ５７に伝えられ、Ｗｅｂサービスプロバイダ５７はその要求に応じて、ＡＰＩ５８を介し基本アプリケーション５３を動作させ、ＡＰＩ５４を介し設定情報データベース５５から設定情報を読み出し又は設定情報データベース５５の設定を変更し、それらの結果を返信する。
【００３３】
図３は、スマートフォン１４の階層構造を示すブロック図である。
【００３４】
スマートフォン１４は、ハードウェアとしてカメラ６０、傾きセンサ６１、ブルーツース通信部６２、操作パネル６３及び通信アダプタ６４などを備え、通信アダプタ６４にアンテナ６５が結合され、プラットフォーム７０を介してそれぞれの基本的な入出力制御を行うことが可能となっている。
【００３５】
プラットフォーム７０は、前記制御を行ったり、電源を管理したり、ＴＣＰ／ＩＰなどのプロトコルで通信したりするＯＳと、ＯＳの下層の各種デバイスドライバと、ＯＳ上の仮想マシンと、標準ライブラリとを備えている。
【００３６】
制御モジュール７１は、プラットフォーム７０のＡＰＩ７２を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション７３は、制御モジュール７１のＡＰＩ７４を介し、ハードウェア６０〜６４を論理的な機能単位で制御可能となっている。
【００３７】
ハードウェア６０〜６４に対する設定情報は、操作パネル６３の操作に応答して、制御モジュール７１により設定情報データベース７５に格納され、また、格納された設定情報は、操作パネル６３の操作に応答して制御モジュール７１により、操作パネル６３に表示される。
【００３８】
システム管理部７６は、ＡＰＩ７２又は７４を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。
【００３９】
Ｗｅｂクライアント７７は、操作パネル６３の操作に応答してＡＰＩ７２を介しそのＵＲＬに要求を送信し、返信された内容を操作パネル６３に表示させる。
【００４０】
拡張アプリケーション７８は、基本アプリケーション７３のＡＰＩ７９を介して、単一又は複数の機能の組み合わせを実行させ、ＡＰＩ７４を介し設定情報データベース７５の設定情報を読み取って操作パネル６３に表示させ又は設定情報データベース７５の設定情報を変更させる。
【００４１】
拡張アプリケーション７８はまた、Ｗｅｂサービスインターフェイス７Ａ及びＷｅｂクライアント７７を介し画像形成装置１１のＷｅｂサービスプロバイダ５７又はクラウド２１〜２３のクラウドサービス３１〜３３に対し要求を行い、その結果を、Ｗｅｂクライアント７７及びＷｅｂサービスインターフェイス７Ａを介して受信し、その内容を操作パネル６３に表示させる。
【００４２】
図４は、拡張アプリケーション７８の開発段階におけるＷｅｂサービスインターフェイス７Ａ及びこれに関連した部分のより詳細な機能ブロック図である。
【００４３】
Ｗｅｂクライアント７７は、開発者によるＷＳＤＬファイルのＵＲＬの入力に応答して、プラットフォーム７０のＴＣＰ／ＩＰ通信部７０１を介しこのＵＲＬに要求を送信し、その返信は、ＴＣＰ／ＩＰ通信部７０１及びＷｅｂクライアント７７を介して受信され、ＷＳＤＬファイル８１として保存される。
【００４４】
従来では、ＷＳＤＬファイル８１に基づいて、ＷＳＤＬツール８２によりサービスプロキシ８６を生成していたが、本実施例では、Ｗｅｂサービスインターフェイス７ＡにコンバータＣＮＶを備え、ＷＳＤＬファイル８１をコピーしこれに含まれるサービスメソッド名のうち所定のものを他のサービスメソッド名に変換しその他をそのままにしたものをＷＳＤＬファイル８５とし、その内容に基づき、ＷＳＤＬツール８２でサービスプロキシ８６を生成している。
【００４５】
図５は、変換テーブル８３の具体例を示す。このテーブルのＮｏ＝０の行は、名詞＋動詞のメソッド名を動詞＋名詞のメソッド名に変換することにより、他のメソッド名と同様の形式にして統一を図り、これにより混乱を避けるためのものである。また、Ｎｏ＝１の行は、省略形を含むメソッド名を、無省略メソッド名に変換することにより、他のメソッド名と同様の形式にして統一を図り、これにより混乱を避けるためのものである。
【００４６】
図４に戻って、サービスプロキシ８６は、外部のＷｅｂサービスに対する要求及びその応答を、拡張アプリケーション７８に対し内部メソッドの呼出し及びその戻り値の返しと同じに見せかけるためのものである。
【００４７】
拡張アプリケーション７８からサービスプロキシ８６へのサービスメソッドの呼び出しは、シリアライザ８７により、ＳＯＡＰプロトコルに従ったＸＭＬに変換される。コンバータＣＮＶはさらに逆変換部８８を備え、このＸＭＬに含まれるサービスメソッド名が拡張アプリケーション７８側のサービスメソッド名（変換先サービスメソッド名）と一致するものを含んでいれば、これを、サービスプロバイダ側で定めたサービスメソッド名（変換元サービスメソッド名）に変換（逆変換）する。
【００４８】
図６は、ＳＯＡＰプロトコルでのサービスメソッド呼び出しのＸＭＬの具体例を示す。図６（Ａ）は変換前のＸＭＬであり、図６（Ｂ）は変換後のＸＭＬである。図中、点線は省略されていることを示す。
【００４９】
図６（Ａ）に示すように、ＢＯＤＹ要素の最初の子要素の要素名は、サービスメソッド名であり、この例では"countWord"がメソッド名である。このメソッド名の要素の子要素は、このメソッドの引数であり、この例では要素名"ｈｔｍｌ"及び"word"が引数名であり、それぞれの値は"http://abx.com/copy.html"及び"ｃｏｐｙ"である。この"countWord"メソッドは、"http://abx.com/copy.html"の頁内の単語"ｃｏｐｙ"をカウントするサービスメソッドである。
【００５０】
図４に戻って、Ｗｅｂクライアント７７は、この変換されたＸＭＬをＨＴＴＰメッセージのボディーとし、Ｗｅｂサービス側のＷｅｂサービスプロバイダに含まれるＷｅｂサーバーと、ＨＴＴＰプロトコルによる通信を行う。
【００５１】
Ｗｅｂサービス側での処理結果は、ＴＣＰ／ＩＰ通信部７０１及びＷｅｂクライアント７７を介してそのＸＭＬがコンバータＣＮＶの変換部８４に供給され、変換部８４はこのＸＭＬに含まれるＷｅｂサービスリスポンス名に、変換テーブル８３内の変換元サービスメソッド名と一致するものが含まれていれば、これを拡張アプリケーション７８側のメソッド名（変換先サービスメソッド名）に変換する。
【００５２】
図７は、サービスメソッド呼び出しの戻り値のＸＭＬの具体例を示す。図７（Ａ）は変換前のＸＭＬであり、図７（Ｂ）は変換後のＸＭＬである。図中、点線は省略されていることを示す。
【００５３】
図７（Ａ）に示すように、ＢＯＤＹ要素の最初の子要素の要素名は、サービスメソッド名＋"Ｒｅｓｐｏｎｓｅ"の形となっており、この例では要素名が"wordCountReponse"となっている。この要素名の要素の子要素は、このメソッドの戻り値であり、この例では要素名"count"が戻り値名であり、その値は"12"である。"wordCountResponse"にテーブル８３中の変換元メソッド名"wordCount"が含まれているので、これが変換部８４により"countWordResponse"と変換される。
【００５４】
図４に戻って、変換後のＸＭＬは、デシリアライザ８９で通常のメソッド呼び出しに対する戻り値に変換される。サービスプロキシ８６は、それを拡張アプリケーション７８に返す。
【００５５】
図８は、拡張アプリケーション７８の開発が完了した後での後処理を示すフローチャートである。図９は、図４の構成に対し該後処理を行った後のものを示す機能ブロック図である。
【００５６】
（Ｓ０）ＷＳＤＬファイル８１の内容に基づいてＷＳＤＬツール８２によりサービスプロキシ８６Ａを生成し、これをサービスプロキシ８６と置換する。
【００５７】
（Ｓ１）拡張アプリケーション７８のソースコードのうち、変換テーブル８３に含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換して、拡張アプリケーション７８Ａとする。
【００５８】
（Ｓ２）図４中のコンバータＣＮＶを省略し、シリアライザ８７及びデシリアライザ８９を直接Ｗｅｂクライアント７７と論理的に結合させることにより、Ｗｅｂサービスインターフェイス７ＡをＷｅｂサービスインターフェイス７Ｂとする。
【００５９】
以上の処理により、変換テーブル８３を用いないで拡張アプリケーション７８Ａを作成した場合と同じ結果が得られる。
【００６０】
図１０は、ＰＣ１２のハードウェア構成を示す概略ブロック図である。図１１は、ＰＣ１２をソフトウェア開発装置として利用する場合の概略機能ブロック図である。
【００６１】
ホストコンピュータＰＣ１２では、ＣＰＵ９１がインターフェイス９２を介してメモリ９３、ハードディスクドライブ９４、会話型入出力装置９５及びネットワークインターフェイス９６に結合されている。図１０では、簡単化の為に、複数種のインターフェイスを１つのブロック９２で表している。
【００６２】
メモリ９２は例えば、ＢＩＯＳが格納されたフラッシュメモリと、主記憶装置として用いられるＤＲＡＭとを備えている。ハードディスクドライブ９４には、ＯＳ、各種デバイスドライバ、ライブラリ及び仮想マシンがプラットフォーム（ＰＦ）として格納され、さらにソフトウェア開発キット（ＳＤＫ）が格納されている。ネットワークインターフェイス９６は、イントラネット１０に結合されている。
【００６３】
このソフトウェア開発装置は、図３中の拡張アプリケーション７８の開発を支援するものであり、図１１中、構成要素７２Ａ、１７１、１７３〜１７６及び１７９はそれぞれ図３中の構成要素７２、７１、７３〜７６及び７９に対応している。これら構成要素７２Ａ、１７１、１７３〜１７６及び１７９は、図３中の対応する構成要素のうち、拡張アプリケーション７８を開発するのに必要な部分のみを備えていればよい。ラッパーＡＰＩ１７２及び１７２Ａはそれぞれ、ＡＰＩ１１０をラッパーすることによりＡＰＩ５２及びＡＰＩ７２と同じに見せかけるものである。なお、上記ＷＳＤＬツール８２は、プラットフォーム１１０内の標準ライブラリ内に含まれている。
【００６４】
ＰＣ１２は、通常のＳＤＫと同様に、テキストエディタ１００、デザイナ１０１、デバッガ１０２及びビルダ１０３と、ユーザの操作に応答してこれらのいずれかを呼び出す処理やプロジェクト生成処理等を行うアプリ開発統合管理部１０４とを備えている。デザイナ１０１は、操作パネル６３の画面設計のアプリケーション開発を支援するためのものであって、ビジュアルな設計に基づいてプログラムを自動生成するものである。
【００６５】
ＰＣ１２はさらに、スマートフォン１４のハードウェアに対応したシミュレータ１０５を備えている。入力装置９５０及び表示装置９５１は図１０中の会話型入出力装置９５を構成している。図１１中、拡張アプリケーション７８及びＷｅｂサービスインターフェイス７Ａ中のサービスプロキシ８６（図４）以外は、開発環境として予め備えられている。
【００６６】
この装置を用いた拡張アプリケーション７７の開発は、図４〜９についての上記説明から明らかであるので、重複説明を省略する。
【００６７】
本実施例１によれば、Ｗｅｂサービスの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブル８３を備え、逆変換部８８により、Ｗｅｂサービスのリクエストメッセージに変換テーブル８３中の変換先サービスメソッド名と同一のものが含まれていればこれを対応する変換元サービスメソッド名に変換し、変換部８４により、リスポンスメッセージに変換テーブル８３中の変換元サービスメソッド名と同一のものが含まれていればこれを対応する変換先サービスメソッド名に変換するので、複数のＷｅｂサービスプロバイダのＷｅｂサービスを使用するアプリケーションの開発をする場合に、プロバイダ間でメソッド名の命名規則が異なっていても、命名規則を統一させることが可能となり、これにより、混乱を避けてアプリケーションの開発をより円滑に行うことができるという効果を奏する。
【００６８】
また、シリアライズされたテキストデータに対し変換処理を行えばよく、Ｗｅｂサービスの種類やプラットフォームによらない汎用のコンバータＣＮＶを用いることができるという効果を奏する。
【００６９】
さらに、コンバータＣＮＶを用いた場合のサービスプロキシ８６を、該汎用のコンバータＣＮＶと通常のＷＳＤＬツール８２とを用いて容易に生成できるという効果を奏する。
【００７０】
また、コンバータＣＮＶを用いてアプリケーションを開発した後に、コンバータＣＮＶを省略して処理を高速化することができるという効果を奏する。
【実施例２】
【００７１】
図１２は、本発明の実施例２に係り、図４の構成の替わりに用いられるものの機能ブロック図である。
【００７２】
この構成は、図９の構成にラッパー生成ツール１２０及び変換テーブル８３を付加し、ラッパー生成ツール１２０でサービスプロキシラッパー１２１を生成し、図９の拡張アプリケーション７８Ａの替わりに図４の拡張アプリケーション７８を用いたものである。
【００７３】
拡張アプリケーション７８から呼び出されるサービスメソッドのうち、その名前が変換テーブル８３内のいずれの変換元サービスメソッド名とも一致しないものは、サービスプロキシ８６Ａ内に存在するので、サービスプロキシ８６Ａ内のそれを直接呼び出すことができ、そうでないものは、サービスプロキシラッパー１２１内の対応するメソッドが呼び出されるようにし、このメソッドがサービスプロキシ８６Ａ内の対応するメソッドを呼び出すように構成している。
【００７４】
このようなサービスプロキシラッパー１２１は、ラッパー生成ツール１２０により変換テーブル８３を参照して生成され、図１１のＰＣ１２に予め備えられている。
【００７５】
この実施例２においても、図８の場合と同様の後処理を行ってもよい。すなわち、拡張アプリケーション７８の開発が完了した後に、拡張アプリケーション７８のソースコードのうち、変換テーブル８３に含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換して、拡張アプリケーション７８Ａとし、サービスプロキシラッパー１２１を省略して図９の構成を得るようにしてもよい。これにより、ラッパー生成ツール１２０及びサービスプロキシラッパー１２１を用いないで拡張アプリケーション７８Ａを作成した場合と同じ結果が得られる。
【００７６】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記複数の実施例で述べた構成要素の他の組み合わせ、各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【００７７】
例えば、上記実施例ではＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰプロトコルを用いた構成を説明したが、本発明はこれに限定されず、ＳＯＡＰメッセージを転送するプロトコルはＨＴＴＰ以外であってもよく、また、ＳＯＡＰの替わりにＲＥＳＴ（Representational State Transfer）又はＸＭＬ−ＲＰＣ（Remote Procedure Call）などを用いた構成であってもよい。
【００７８】
また、上記後処理を行えば処理速度が向上するが、本発明はこれを行わない構成であってもよい。
【符号の説明】
【００７９】
１０  イントラネット
１１  画像形成装置
１２  ＰＣ
１３  アクセスポイント
１４、２５  スマートフォン
２０  インターネット
２１〜２３  クラウド
２４  基地局
３１〜３３  クラウドサービス
４０  スキャナ
４１  プリンタ
４２  ＦＡＸ  
４３  操作パネル
４４  ＮＩＣ
５０、７０、１１０  プラットフォーム
５１、７１、１７１  制御モジュール
５２、５４、５８、７２、７４、７９、１７４、１７９  ＡＰＩ
５３、７３、１７３  基本アプリケーション
５５、７５、１７５  設定情報データベース
５６、７６、１７６  システム管理部
５７  Ｗｅｂサービスプロバイダ
６０  カメラ
６１  傾きセンサ
６２  ブルーツース通信部
６３  操作パネル
６４  通信アダプタ
６５  アンテナ
７２Ａ  ラッパーＡＰＩ
７７  Ｗｅｂクライアント
７８、７８Ａ  拡張アプリケーション
７Ａ、７Ｂ  Ｗｅｂサービスインターフェイス
８１、８５  ＷＳＤＬファイル
８２  ＷＳＤＬツール
８３  変換テーブル
８４  変換部
８６、８６Ａ  サービスプロキシ
８７  シリアライザ
８８  逆変換部
８９  デシリアライザ
９１  ＣＰＵ
９２  インターフェイス
９３  メモリ
９４  補助記憶装置
９５  会話型入出力装置
９６  ネットワークインターフェイス
１００  テキストエディタ
１０１  デザイナ
１０２  デバッガ
１０３  ビルダ
１０４  アプリ開発統合管理部
１０５  スマートフォンハードウェアシミュレータ
１２０  ラッパー生成ツール
１２１  サービスプロキシラッパー
７０１  ＴＣＰ／ＩＰ通信部
ＣＮＶ  コンバータ
【図１】
0005551141.tif 000002
【図２】
0005551141.tif 000003
【図３】
0005551141.tif 000004
【図４】
0005551141.tif 000005
【図５】
0005551141.tif 000006
【図６】
0005551141.tif 000007
【図７】
0005551141.tif 000008
【図８】
0005551141.tif 000009
【図９】
0005551141.tif 000010
【図１０】
0005551141.tif 000011
【図１１】
0005551141.tif 000012
【図１２】
0005551141.tif 000013