JP5551141B2 - クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法 - Google Patents

クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法 Download PDF

Info

Publication number
JP5551141B2
JP5551141B2 JP2011242938A JP2011242938A JP5551141B2 JP 5551141 B2 JP5551141 B2 JP 5551141B2 JP 2011242938 A JP2011242938 A JP 2011242938A JP 2011242938 A JP2011242938 A JP 2011242938A JP 5551141 B2 JP5551141 B2 JP 5551141B2
Authority
JP
Japan
Prior art keywords
conversion
service
method name
service method
web service
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.)
Expired - Fee Related
Application number
JP2011242938A
Other languages
English (en)
Other versions
JP2013097746A (ja
Inventor
嵩志 小熊
真吾 上野
理恵 笠井
敏英 東森
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2011242938A priority Critical patent/JP5551141B2/ja
Priority to US13/669,125 priority patent/US9026588B2/en
Priority to CN201210447043.5A priority patent/CN103092602B/zh
Priority to EP12191292.7A priority patent/EP2590125A1/en
Publication of JP2013097746A publication Critical patent/JP2013097746A/ja
Application granted granted Critical
Publication of JP5551141B2 publication Critical patent/JP5551141B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、リクエストメッセージをWebサービスへ転送し、リスポンスメッセージを該Webサービスから受信する通信部と、アプリケーションとの間に結合されたクライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法に関する。
セキュリティを確保するため、企業内に私用コンピュータを持ち込むことは一般に禁止されている。
しかしながら、スマートフォンの普及に伴い、一定条件の下でこの禁止を解除することにより、ビジネス上の処理の効率化が図られようとしている。
一方、クラウド毎にサービスの形態や料金が異なるので、ユーザは複数のクラウドサービスを利用する場合がある。
スマートフォンで社内の画像形成装置を、そのWebサービスを使って、リモートコントロールしたり、設定情報を読み出したり、設定情報を変更したりする拡張アプリケーションや、スマートフォンでクラウドサービスを利用する拡張アプリケーションを、ユーザ又はサードベンダーが開発する場合、一般に、Webサービスプロバイダ毎にサービスメソッド名の名付規則が異なるので、アプリケーション開発の円滑化が妨げられ、プログラムミスが増大して、拡張アプリケーションの開発期間が増長する原因となる。
このような問題は、デスクトップコンピュータ等、スマートフォン以外の拡張アプリケーションの開発においても生ずる。
http://shizlabs.amonya.com/tecnorogy/webapi.html Web API一覧表
本発明の目的は、このような問題点に鑑み、複数のWebサービスプロバイダのWebサービスを使用するアプリケーションの開発をより円滑に行うことが可能なクライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法を提供することにある。
本発明の第1態様では、通信部によってリクエストメッセージをクラウドサービスのWebサービスプロバイダへ転送し、リスポンスメッセージを該Webサービスプロバイダから受信させ、該リスポンスメッセージの内容をクライアント端末に表示させる拡張アプリケーションと該通信部との間に結合された、クライアントサイドWebサービスインターフェイスとしてコンピュータを機能させる拡張アプリケーションの開発用プログラムにおいて、
該Webサービスプロバイダの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブルと、
該リクエストメッセージに関するデータに、該変換テーブル中の変換先サービスメソッド名が含まれていれば該変換先サービスメソッド名を対応する変換元サービスメソッド名に変換する逆変換手段と、
該リスポンスメッセージに関するデータに、該変換テーブル中の変換元サービスメソッド名が含まれていれば該変換元サービスメソッド名を対応する変換先サービスメソッド名に変換する変換手段と、
該アプリケーションからサービスメソッドが呼び出され、リスポンスメッセージを該アプリケーションに返すサービスプロキシと、
該サービスメソッドの呼び出をシリアライズして該通信部へ渡すシリアライザと、
該シリアライズされたリスポンスメッセージを該通信部から受け取ってデシリアライズし該サービスプロキシに渡すデシリアライザと、
を有し、
該拡張アプリケーションの開発が完了した後で後処理が実行され、該後処理は、
1)WSDLファイルの内容に基づいてWSDLツールにより新規サービスプロキシを生成し、これを該サービスプロキシと置換し、
2)該拡張アプリケーションのソースコードのうち、該変換テーブルに含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換し て、新規拡張アプリケーションとし、
3)該変換テーブル、該逆変換手段、及び該変換手段を省略し、該シリアライザ及び該デシリアライザを直接、該クライアント端末のWebクライアントと論理的に結合させることにより、該Webサービスインターフェイスを新規WebサービスインターフェイスとるクライアントサイドWebサービスインターフェイスとしてンピュータを機能させることを特徴とする拡張アプリケーションの開発用プログラム。
本発明による拡張アプリケーションの開発用プログラムの第2態様では、第1態様において
変換手段及び該逆変換手段はいずれも、該サービスプロキシと該通信部との間又は該サービスプロキシと該アプリケーションとの間に結合されている。
本発明による拡張アプリケーションの開発用プログラムの第3態様では、第2態様において、
該リクエストメッセージに関するデータは、該シリアライズされたリクエストメッセージであり、該リスポンスメッセージに関するデータは、該シリアライズされたリスポンスメッセージであり、
該逆変換手段は、該シリアライザと該通信部との間に結合され、該変換手段は、該デシリアライザと該通信部との間に結合されている。
本発明による拡張アプリケーションの開発用プログラムの第5態様では、第2態様において、
該リクエストメッセージに関するデータは、該シリアライズされる前のサービスメソッド呼出しコードであり、該リスポンスメッセージに関するデータは、該デシリアライズされた後の戻り値であり、
該変換手段及び該逆変換手段はいずれも、該拡張アプリケーションと該サービスプロキシとの間に結合されている。
上記クライアントサイドWebサービスインターフェイスの第1態様の構成によれば、Webサービスの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブルを備え、逆変換手段により、Webサービスのリクエストメッセージに関するデータに該変換テーブル中の変換先サービスメソッド名が含まれていれば該変換先サービスメソッド名を対応する変換元サービスメソッド名に変換し、変換手段により、該リスポンスメッセージに関するデータに該変換テーブル中の変換元サービスメソッド名が含まれていれば該変換元サービスメソッド名を対応する変換先サービスメソッド名に変換するので、複数のWebサービスプロバイダのWebサービスを使用するアプリケーションの開発をする場合に、プロバイダ間でメソッド名の命名規則が異なっていても、命名規則を統一させることが可能となり、これにより、混乱を避けてアプリケーションの開発をより円滑に行うことができるという効果を奏する。
上記クライアントサイドWebサービスインターフェイスの第3態様の構成によれば、シリアライズされたテキストデータに対し変換処理を行えばよく、Webサービスの種類やプラットフォームによらない汎用の変換手段及び逆変換手段を用いることができるという効果を奏する。
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。
本発明の実施例1に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。 図1中の画像形成装置の階層構造を示すブロック図である。 図1中のスマートフォンの階層構造を示すブロック図である。 図3中の拡張アプリケーションの開発段階におけるWebサービスインターフェイス及びこれに関連した部分のより詳細な機能ブロック図である。 図4中の変換テーブルの具体的構成図である。 SOAPプロトコルでのサービスメソッド呼出しXMLの具体例を示す図であり、(A)及び(B)はそれぞれ変換前及び変換後のXMLを示す図である。 該サービスメソッド呼び出しの戻り値のXMLの具体例を示す図であり、(A)及び(B)はそれぞれ変換前及び変換後のXMLを示す図である。 図4中の拡張アプリケーションの開発が完了した後での後処理を示すフローチャートである。 図4の構成に対し該後処理を行った後のものを示す機能ブロック図である。 図1中のPCのハードウェア構成を示す概略ブロック図である。 該PCをソフトウェア開発装置として利用する場合の概略機能ブロック図である。 本発明の実施例2に係り、図4の構成の替わりに用いられるものの機能ブロック図である。
図1は、本発明の実施例1に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。
このシステムでは、イントラネット10に、画像形成装置11と、ユーザ端末としてのパーソナルコンピュータ(PC)PC12と、無線LANのアクセスポイント13とが結合され、スマートフォン14がアクセスポイント13を介してイントラネット10に結合される。このイントラネット10がルータ(不図示)を介してインターネット20に結合される。インターネット20には、複数のクラウド21〜23が結合されている。また、インターネット20に基地局24が結合され、スマートフォン14及び25から基地局24を介しイントラネット10に結合される。
複数のクラウド21〜23はそれぞれ、クラウドサービス31〜33を各種クライアント端末に対し提供可能となっている。
ユーザは、PC12、スマートフォン14及び25などに拡張アプリケーションをインストールすることにより、これらからWebサービスとして、画像形成装置11のコピー、プリント及びファクシミリなどの基本的なサービスやクラウドサービス31〜33並びにこれらサービスを組み合わせたものを実行したり、画像形成装置11の設定情報を取得したり、この設定を変更したりすることが可能となる。
図1では、簡単化の為に、複数のPC端末を1つのPC12で代表し、アクセスポイント13に対する複数の携帯端末を1つのスマートフォン14で代表し、基地局24に対する複数の携帯端末を1つのスマートフォン25で代表している。
図2は、画像形成装置11の階層構造を示すブロック図である。
画像形成装置11は、ハードウェアとしてスキャナ40、プリンタ41、FAX42、操作パネル43及びNIC44を備え、プラットフォーム50を介してそれぞれの基本的な入出力制御を行うことが可能となっている。
プラットフォーム50は、前記制御を行ったり、電源を管理したり、TCP/IPなどのプロトコルで通信したりするOS(オペレーティングシステム)と、OSの下層の各種デバイスドライバと、OS上のJava(登録商標)仮想マシンやCLR(Common Language Runtime)などの仮想マシン(クラスライブラリ)と、標準ライブラリやコンパイラ等の開発環境とを備えている。
制御モジュール(クラスライブラリ)51は、プラットフォーム50のAPI52を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション53は、制御モジュール51のAPI54を介し、ハードウェア40〜44をコピー、プリント及びファクシミリなどのような論理的な機能単位で制御可能となっている。
ハードウェア40〜44に対する設定情報は、操作パネル43の操作に応答して、制御モジュール51により設定情報データベース55に格納され、また、格納された設定情報は、操作パネル43の操作に応答して制御モジュール51により、操作パネル43に表示される。
システム管理部56は、API52又は54を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。
PC12又はスマートフォン14若しくは25から画像形成装置11へのサービス要求は、NIC44及びプラットフォーム50を介してWebサービスプロバイダ57に伝えられ、Webサービスプロバイダ57はその要求に応じて、API58を介し基本アプリケーション53を動作させ、API54を介し設定情報データベース55から設定情報を読み出し又は設定情報データベース55の設定を変更し、それらの結果を返信する。
図3は、スマートフォン14の階層構造を示すブロック図である。
スマートフォン14は、ハードウェアとしてカメラ60、傾きセンサ61、ブルーツース通信部62、操作パネル63及び通信アダプタ64などを備え、通信アダプタ64にアンテナ65が結合され、プラットフォーム70を介してそれぞれの基本的な入出力制御を行うことが可能となっている。
プラットフォーム70は、前記制御を行ったり、電源を管理したり、TCP/IPなどのプロトコルで通信したりするOSと、OSの下層の各種デバイスドライバと、OS上の仮想マシンと、標準ライブラリとを備えている。
制御モジュール71は、プラットフォーム70のAPI72を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション73は、制御モジュール71のAPI74を介し、ハードウェア60〜64を論理的な機能単位で制御可能となっている。
ハードウェア60〜64に対する設定情報は、操作パネル63の操作に応答して、制御モジュール71により設定情報データベース75に格納され、また、格納された設定情報は、操作パネル63の操作に応答して制御モジュール71により、操作パネル63に表示される。
システム管理部76は、API72又は74を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。
Webクライアント77は、操作パネル63の操作に応答してAPI72を介しそのURLに要求を送信し、返信された内容を操作パネル63に表示させる。
拡張アプリケーション78は、基本アプリケーション73のAPI79を介して、単一又は複数の機能の組み合わせを実行させ、API74を介し設定情報データベース75の設定情報を読み取って操作パネル63に表示させ又は設定情報データベース75の設定情報を変更させる。
拡張アプリケーション78はまた、Webサービスインターフェイス7A及びWebクライアント77を介し画像形成装置11のWebサービスプロバイダ57又はクラウド21〜23のクラウドサービス31〜33に対し要求を行い、その結果を、Webクライアント77及びWebサービスインターフェイス7Aを介して受信し、その内容を操作パネル63に表示させる。
図4は、拡張アプリケーション78の開発段階におけるWebサービスインターフェイス7A及びこれに関連した部分のより詳細な機能ブロック図である。
Webクライアント77は、開発者によるWSDLファイルのURLの入力に応答して、プラットフォーム70のTCP/IP通信部701を介しこのURLに要求を送信し、その返信は、TCP/IP通信部701及びWebクライアント77を介して受信され、WSDLファイル81として保存される。
従来では、WSDLファイル81に基づいて、WSDLツール82によりサービスプロキシ86を生成していたが、本実施例では、Webサービスインターフェイス7AにコンバータCNVを備え、WSDLファイル81をコピーしこれに含まれるサービスメソッド名のうち所定のものを他のサービスメソッド名に変換しその他をそのままにしたものをWSDLファイル85とし、その内容に基づき、WSDLツール82でサービスプロキシ86を生成している。
図5は、変換テーブル83の具体例を示す。このテーブルのNo=0の行は、名詞+動詞のメソッド名を動詞+名詞のメソッド名に変換することにより、他のメソッド名と同様の形式にして統一を図り、これにより混乱を避けるためのものである。また、No=1の行は、省略形を含むメソッド名を、無省略メソッド名に変換することにより、他のメソッド名と同様の形式にして統一を図り、これにより混乱を避けるためのものである。
図4に戻って、サービスプロキシ86は、外部のWebサービスに対する要求及びその応答を、拡張アプリケーション78に対し内部メソッドの呼出し及びその戻り値の返しと同じに見せかけるためのものである。
拡張アプリケーション78からサービスプロキシ86へのサービスメソッドの呼び出しは、シリアライザ87により、SOAPプロトコルに従ったXMLに変換される。コンバータCNVはさらに逆変換部88を備え、このXMLに含まれるサービスメソッド名が拡張アプリケーション78側のサービスメソッド名(変換先サービスメソッド名)と一致するものを含んでいれば、これを、サービスプロバイダ側で定めたサービスメソッド名(変換元サービスメソッド名)に変換(逆変換)する。
図6は、SOAPプロトコルでのサービスメソッド呼び出しのXMLの具体例を示す。図6(A)は変換前のXMLであり、図6(B)は変換後のXMLである。図中、点線は省略されていることを示す。
図6(A)に示すように、BODY要素の最初の子要素の要素名は、サービスメソッド名であり、この例では"countWord"がメソッド名である。このメソッド名の要素の子要素は、このメソッドの引数であり、この例では要素名"html"及び"word"が引数名であり、それぞれの値は"http://abx.com/copy.html"及び"copy"である。この"countWord"メソッドは、"http://abx.com/copy.html"の頁内の単語"copy"をカウントするサービスメソッドである。
図4に戻って、Webクライアント77は、この変換されたXMLをHTTPメッセージのボディーとし、Webサービス側のWebサービスプロバイダに含まれるWebサーバーと、HTTPプロトコルによる通信を行う。
Webサービス側での処理結果は、TCP/IP通信部701及びWebクライアント77を介してそのXMLがコンバータCNVの変換部84に供給され、変換部84はこのXMLに含まれるWebサービスリスポンス名に、変換テーブル83内の変換元サービスメソッド名と一致するものが含まれていれば、これを拡張アプリケーション78側のメソッド名(変換先サービスメソッド名)に変換する。
図7は、サービスメソッド呼び出しの戻り値のXMLの具体例を示す。図7(A)は変換前のXMLであり、図7(B)は変換後のXMLである。図中、点線は省略されていることを示す。
図7(A)に示すように、BODY要素の最初の子要素の要素名は、サービスメソッド名+"Response"の形となっており、この例では要素名が"wordCountReponse"となっている。この要素名の要素の子要素は、このメソッドの戻り値であり、この例では要素名"count"が戻り値名であり、その値は"12"である。"wordCountResponse"にテーブル83中の変換元メソッド名"wordCount"が含まれているので、これが変換部84により"countWordResponse"と変換される。
図4に戻って、変換後のXMLは、デシリアライザ89で通常のメソッド呼び出しに対する戻り値に変換される。サービスプロキシ86は、それを拡張アプリケーション78に返す。
図8は、拡張アプリケーション78の開発が完了した後での後処理を示すフローチャートである。図9は、図4の構成に対し該後処理を行った後のものを示す機能ブロック図である。
(S0)WSDLファイル81の内容に基づいてWSDLツール82によりサービスプロキシ86Aを生成し、これをサービスプロキシ86と置換する。
(S1)拡張アプリケーション78のソースコードのうち、変換テーブル83に含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換して、拡張アプリケーション78Aとする。
(S2)図4中のコンバータCNVを省略し、シリアライザ87及びデシリアライザ89を直接Webクライアント77と論理的に結合させることにより、Webサービスインターフェイス7AをWebサービスインターフェイス7Bとする。
以上の処理により、変換テーブル83を用いないで拡張アプリケーション78Aを作成した場合と同じ結果が得られる。
図10は、PC12のハードウェア構成を示す概略ブロック図である。図11は、PC12をソフトウェア開発装置として利用する場合の概略機能ブロック図である。
ホストコンピュータPC12では、CPU91がインターフェイス92を介してメモリ93、ハードディスクドライブ94、会話型入出力装置95及びネットワークインターフェイス96に結合されている。図10では、簡単化の為に、複数種のインターフェイスを1つのブロック92で表している。
メモリ92は例えば、BIOSが格納されたフラッシュメモリと、主記憶装置として用いられるDRAMとを備えている。ハードディスクドライブ94には、OS、各種デバイスドライバ、ライブラリ及び仮想マシンがプラットフォーム(PF)として格納され、さらにソフトウェア開発キット(SDK)が格納されている。ネットワークインターフェイス96は、イントラネット10に結合されている。
このソフトウェア開発装置は、図3中の拡張アプリケーション78の開発を支援するものであり、図11中、構成要素72A、171、173〜176及び179はそれぞれ図3中の構成要素72、71、73〜76及び79に対応している。これら構成要素72A、171、173〜176及び179は、図3中の対応する構成要素のうち、拡張アプリケーション78を開発するのに必要な部分のみを備えていればよい。ラッパーAPI172及び172Aはそれぞれ、API110をラッパーすることによりAPI52及びAPI72と同じに見せかけるものである。なお、上記WSDLツール82は、プラットフォーム110内の標準ライブラリ内に含まれている。
PC12は、通常のSDKと同様に、テキストエディタ100、デザイナ101、デバッガ102及びビルダ103と、ユーザの操作に応答してこれらのいずれかを呼び出す処理やプロジェクト生成処理等を行うアプリ開発統合管理部104とを備えている。デザイナ101は、操作パネル63の画面設計のアプリケーション開発を支援するためのものであって、ビジュアルな設計に基づいてプログラムを自動生成するものである。
PC12はさらに、スマートフォン14のハードウェアに対応したシミュレータ105を備えている。入力装置950及び表示装置951は図10中の会話型入出力装置95を構成している。図11中、拡張アプリケーション78及びWebサービスインターフェイス7A中のサービスプロキシ86(図4)以外は、開発環境として予め備えられている。
この装置を用いた拡張アプリケーション77の開発は、図4〜9についての上記説明から明らかであるので、重複説明を省略する。
本実施例1によれば、Webサービスの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブル83を備え、逆変換部88により、Webサービスのリクエストメッセージに変換テーブル83中の変換先サービスメソッド名と同一のものが含まれていればこれを対応する変換元サービスメソッド名に変換し、変換部84により、リスポンスメッセージに変換テーブル83中の変換元サービスメソッド名と同一のものが含まれていればこれを対応する変換先サービスメソッド名に変換するので、複数のWebサービスプロバイダのWebサービスを使用するアプリケーションの開発をする場合に、プロバイダ間でメソッド名の命名規則が異なっていても、命名規則を統一させることが可能となり、これにより、混乱を避けてアプリケーションの開発をより円滑に行うことができるという効果を奏する。
また、シリアライズされたテキストデータに対し変換処理を行えばよく、Webサービスの種類やプラットフォームによらない汎用のコンバータCNVを用いることができるという効果を奏する。
さらに、コンバータCNVを用いた場合のサービスプロキシ86を、該汎用のコンバータCNVと通常のWSDLツール82とを用いて容易に生成できるという効果を奏する。
また、コンバータCNVを用いてアプリケーションを開発した後に、コンバータCNVを省略して処理を高速化することができるという効果を奏する。
図12は、本発明の実施例2に係り、図4の構成の替わりに用いられるものの機能ブロック図である。
この構成は、図9の構成にラッパー生成ツール120及び変換テーブル83を付加し、ラッパー生成ツール120でサービスプロキシラッパー121を生成し、図9の拡張アプリケーション78Aの替わりに図4の拡張アプリケーション78を用いたものである。
拡張アプリケーション78から呼び出されるサービスメソッドのうち、その名前が変換テーブル83内のいずれの変換元サービスメソッド名とも一致しないものは、サービスプロキシ86A内に存在するので、サービスプロキシ86A内のそれを直接呼び出すことができ、そうでないものは、サービスプロキシラッパー121内の対応するメソッドが呼び出されるようにし、このメソッドがサービスプロキシ86A内の対応するメソッドを呼び出すように構成している。
このようなサービスプロキシラッパー121は、ラッパー生成ツール120により変換テーブル83を参照して生成され、図11のPC12に予め備えられている。
この実施例2においても、図8の場合と同様の後処理を行ってもよい。すなわち、拡張アプリケーション78の開発が完了した後に、拡張アプリケーション78のソースコードのうち、変換テーブル83に含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換して、拡張アプリケーション78Aとし、サービスプロキシラッパー121を省略して図9の構成を得るようにしてもよい。これにより、ラッパー生成ツール120及びサービスプロキシラッパー121を用いないで拡張アプリケーション78Aを作成した場合と同じ結果が得られる。
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記複数の実施例で述べた構成要素の他の組み合わせ、各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
例えば、上記実施例ではSOAP over HTTPプロトコルを用いた構成を説明したが、本発明はこれに限定されず、SOAPメッセージを転送するプロトコルはHTTP以外であってもよく、また、SOAPの替わりにREST(Representational State Transfer)又はXML−RPC(Remote Procedure Call)などを用いた構成であってもよい。
また、上記後処理を行えば処理速度が向上するが、本発明はこれを行わない構成であってもよい。
10 イントラネット
11 画像形成装置
12 PC
13 アクセスポイント
14、25 スマートフォン
20 インターネット
21〜23 クラウド
24 基地局
31〜33 クラウドサービス
40 スキャナ
41 プリンタ
42 FAX
43 操作パネル
44 NIC
50、70、110 プラットフォーム
51、71、171 制御モジュール
52、54、58、72、74、79、174、179 API
53、73、173 基本アプリケーション
55、75、175 設定情報データベース
56、76、176 システム管理部
57 Webサービスプロバイダ
60 カメラ
61 傾きセンサ
62 ブルーツース通信部
63 操作パネル
64 通信アダプタ
65 アンテナ
72A ラッパーAPI
77 Webクライアント
78、78A 拡張アプリケーション
7A、7B Webサービスインターフェイス
81、85 WSDLファイル
82 WSDLツール
83 変換テーブル
84 変換部
86、86A サービスプロキシ
87 シリアライザ
88 逆変換部
89 デシリアライザ
91 CPU
92 インターフェイス
93 メモリ
94 補助記憶装置
95 会話型入出力装置
96 ネットワークインターフェイス
100 テキストエディタ
101 デザイナ
102 デバッガ
103 ビルダ
104 アプリ開発統合管理部
105 スマートフォンハードウェアシミュレータ
120 ラッパー生成ツール
121 サービスプロキシラッパー
701 TCP/IP通信部
CNV コンバータ

Claims (4)

  1. 通信部によってリクエストメッセージをクラウドサービスのWebサービスプロバイダへ転送し、リスポンスメッセージを該Webサービスプロバイダから受信させ、該リスポンスメッセージの内容をクライアント端末に表示させる拡張アプリケーションと該通信部との間に結合された、クライアントサイドWebサービスインターフェイスとしてンピュータを機能させる拡張アプリケーションの開発用プログラムにおいて、
    該Webサービスプロバイダの変換元サービスメソッド名と変換先サービスメソッド名とが対応して格納された変換テーブルと、
    該リクエストメッセージに関するデータに、該変換テーブル中の変換先サービスメソッド名が含まれていれば該変換先サービスメソッド名を対応する変換元サービスメソッド名に変換する逆変換手段と、
    該リスポンスメッセージに関するデータに、該変換テーブル中の変換元サービスメソッド名が含まれていれば該変換元サービスメソッド名を対応する変換先サービスメソッド名に変換する変換手段と、
    該アプリケーションからサービスメソッドが呼び出され、リスポンスメッセージを該アプリケーションに返すサービスプロキシと、
    該サービスメソッドの呼び出をシリアライズして該通信部へ渡すシリアライザと、
    該シリアライズされたリスポンスメッセージを該通信部から受け取ってデシリアライズし該サービスプロキシに渡すデシリアライザと、
    を有し、
    該拡張アプリケーションの開発が完了した後で後処理が実行され、該後処理は、
    1)WSDLファイルの内容に基づいてWSDLツールにより新規サービスプロキシを生成し、これを該サービスプロキシと置換し、
    2)該拡張アプリケーションのソースコードのうち、該変換テーブルに含まれる変換先サービスメソッド名と一致するものを、対応する変換元サービスメソッド名で置換し て、新規拡張アプリケーションとし、
    3)該変換テーブル、該逆変換手段、及び該変換手段を省略し、該シリアライザ及び該デシリアライザを直接、該クライアント端末のWebクライアントと論理的に結合させることにより、該Webサービスインターフェイスを新規WebサービスインターフェイスとるクライアントサイドWebサービスインターフェイスとしてコンピュータを機能させることを特徴とする拡張アプリケーションの開発用プログラム
  2. 該変換手段及び該逆変換手段はいずれも、該サービスプロキシと該通信部との間又は該サービスプロキシと該拡張アプリケーションとの間に結合されていることを特徴とする請求項1に記載の拡張アプリケーションの開発用プログラム
  3. 該リクエストメッセージに関するデータは、該シリアライズされたリクエストメッセージであり、該リスポンスメッセージに関するデータは、該シリアライズされたリスポンスメッセージであり、
    該逆変換手段は、該シリアライザと該通信部との間に結合され、該変換手段は、該デシリアライザと該通信部との間に結合されていることを特徴とする請求項2に記載の拡張アプリケーションの開発用プログラム
  4. 該リクエストメッセージに関するデータは、該シリアライズされる前のサービスメソッド呼出しコードであり、該リスポンスメッセージに関するデータは、該デシリアライズされた後の戻り値であり、
    該変換手段及び該逆変換手段はいずれも、該拡張アプリケーションと該サービスプロキシとの間に結合されていることを特徴とする請求項2に記載の拡張アプリケーションの開発用プログラム
JP2011242938A 2011-11-05 2011-11-05 クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法 Expired - Fee Related JP5551141B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011242938A JP5551141B2 (ja) 2011-11-05 2011-11-05 クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法
US13/669,125 US9026588B2 (en) 2011-11-05 2012-11-05 Storage device including software development kit that includes web service interface and terminal apparatus including the software development kit
CN201210447043.5A CN103092602B (zh) 2011-11-05 2012-11-05 软件开发套件
EP12191292.7A EP2590125A1 (en) 2011-11-05 2012-11-05 Storage device including software development kit that includes web service interface and terminal apparatus including the software development kit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011242938A JP5551141B2 (ja) 2011-11-05 2011-11-05 クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法

Publications (2)

Publication Number Publication Date
JP2013097746A JP2013097746A (ja) 2013-05-20
JP5551141B2 true JP5551141B2 (ja) 2014-07-16

Family

ID=47471470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011242938A Expired - Fee Related JP5551141B2 (ja) 2011-11-05 2011-11-05 クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法

Country Status (4)

Country Link
US (1) US9026588B2 (ja)
EP (1) EP2590125A1 (ja)
JP (1) JP5551141B2 (ja)
CN (1) CN103092602B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6355341B2 (ja) * 2014-01-22 2018-07-11 キヤノン株式会社 情報処理端末、情報処理端末の制御方法およびプログラム
CN104166551B (zh) * 2014-08-14 2017-11-24 华为技术有限公司 一种应用接口开发方法和开发装置
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
CN106027517B (zh) * 2016-05-19 2019-04-02 福州靠谱网络有限公司 一种支持多渠道的游戏分包方法和装置
CN107977200A (zh) * 2017-12-18 2018-05-01 广东阿拉丁网络科技服务有限公司 一种软件开发系统及程序生成方法
US10789058B2 (en) * 2018-05-30 2020-09-29 Microsoft Technology Licensing, Llc Extensibility of unified platform
CN109284095B (zh) * 2018-08-07 2022-04-29 北京云迹科技股份有限公司 基于开放型机器人系统的用户自开发应用的方法
KR102611301B1 (ko) * 2019-12-18 2023-12-08 에릭슨엘지엔터프라이즈 주식회사 전화 교환 시스템의 메시지 전달 장치 및 방법
CN112866403B (zh) * 2021-02-02 2022-07-29 世邦通信股份有限公司 一种通信系统
CN114827092B (zh) * 2022-05-09 2022-11-04 北京迪为双兴通讯技术有限公司 Ims终端的业务处理方法、电子设备及计算机可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122855A (ja) * 1998-10-13 2000-04-28 Ntt Data Corp データ名称付与方法及び装置、記録媒体
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
JP3831352B2 (ja) * 2002-03-25 2006-10-11 株式会社リコー プログラム生成処理をコンピュータに行わせるためのコンピュータ読み取り可能なプログラム
US7328282B2 (en) * 2003-10-23 2008-02-05 International Business Machines Corporation Aspect oriented web service invocation
US7844639B2 (en) * 2003-11-24 2010-11-30 Ebay Inc. Backward compatibility in database schemas
JP2005174120A (ja) * 2003-12-12 2005-06-30 Toshiba Corp Webサービス接続処理方法とシステム、およびプログラム
CN1802643A (zh) * 2004-04-02 2006-07-12 微软公司 用于行业应用程序集成的适配器框架
JP2006146434A (ja) * 2004-11-17 2006-06-08 Hitachi Ltd 分散アプリケーションテスト方法及び分散アプリケーションテスト装置
JP2009064108A (ja) * 2007-09-04 2009-03-26 Ricoh Co Ltd 変換装置、変換方法及び変換システム
JP5188284B2 (ja) * 2008-06-17 2013-04-24 三菱電機株式会社 サービス接続システム及びサービス接続方法
JP5157690B2 (ja) * 2008-07-07 2013-03-06 株式会社リコー 画像形成装置、情報処理方法、及び、画像形成システム
US8886571B2 (en) * 2008-08-19 2014-11-11 Oracle America, Inc. System and method for service virtualization in a service governance framework

Also Published As

Publication number Publication date
JP2013097746A (ja) 2013-05-20
EP2590125A1 (en) 2013-05-08
CN103092602A (zh) 2013-05-08
US20130117356A1 (en) 2013-05-09
CN103092602B (zh) 2016-11-23
US9026588B2 (en) 2015-05-05

Similar Documents

Publication Publication Date Title
JP5551141B2 (ja) クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法
JP5447030B2 (ja) 電子機器、情報処理方法、及び情報処理プログラム
US20130185699A1 (en) Storage Device Including Software Development Kit that Supports Multiple Types of Platforms and Multiple Programming Languages
JP5448542B2 (ja) 情報処理装置、制御方法、及びプログラム
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
JP5041940B2 (ja) 画像形成システム、ネットワークカード、画像形成装置、Webサーバ処理プログラム
JP2014049059A (ja) 費用管理システム、費用管理装置、及びプログラム
JP2011159277A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2014016896A (ja) サービス提供システム、情報蓄積装置、情報処理装置、方法及びプログラム
JP4991820B2 (ja) 拡張可能な画像処理装置ドライバを備えたクライアント装置及びその実施方法
JP2013168129A (ja) 情報処理システム、データ提供装置、電子機器、情報処理方法、データ提供方法、データ取得方法、及びプログラム
JP5420622B2 (ja) プログラム
JP5420623B2 (ja) プログラム
JP4690798B2 (ja) ネットワーク装置
JP5692319B2 (ja) 統合管理装置、制御方法及びプログラム
JP2008010993A (ja) 電子機器、アプリケーション実行システム及びプログラム
EP2302512A1 (en) Integration and management apparatus, integration and management system and computer readable information recording medium
JP2013175060A (ja) 情報処理装置、ファイル処理方法、プログラム
JP5036273B2 (ja) 画像形成装置、表示データ生成方法及びプログラム
JP5020046B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP3770261B2 (ja) ファクシミリ装置
JP2002366476A (ja) 分散処理システムにおけるデバイスに合わせた表示方法、分散処理システムおよび記憶媒体
JP6191177B2 (ja) 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム及び記録媒体
JP2021016183A (ja) 情報処理装置、データ処理方法、プログラム
JP5692320B2 (ja) 統合管理装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130321

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131206

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: 20140422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140521

R150 Certificate of patent or registration of utility model

Ref document number: 5551141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees