JP2010009520A - フロー処理装置及びメッセージ変換方法 - Google Patents

フロー処理装置及びメッセージ変換方法 Download PDF

Info

Publication number
JP2010009520A
JP2010009520A JP2008171234A JP2008171234A JP2010009520A JP 2010009520 A JP2010009520 A JP 2010009520A JP 2008171234 A JP2008171234 A JP 2008171234A JP 2008171234 A JP2008171234 A JP 2008171234A JP 2010009520 A JP2010009520 A JP 2010009520A
Authority
JP
Japan
Prior art keywords
service
message
type
type service
soap
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.)
Withdrawn
Application number
JP2008171234A
Other languages
English (en)
Other versions
JP2010009520A5 (ja
Inventor
Takenori Tsukikawa
剛徳 月川
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2008171234A priority Critical patent/JP2010009520A/ja
Priority to US12/479,150 priority patent/US20090327868A1/en
Publication of JP2010009520A publication Critical patent/JP2010009520A/ja
Publication of JP2010009520A5 publication Critical patent/JP2010009520A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/547Remote procedure calls [RPC]; Web services
    • 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/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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • 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
    • 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/08Protocols for interworking; Protocol conversion
    • 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/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 異なるサービス定義文書のサービス間で、第2の型のサービスを第1の型のサービスとして利用可能にする。
【解決手段】 フロー処理装置において、第2の型のサービスのサービス定義文書を予め決められた規則に従って第1の型のサービスのサービス定義文書へと変換する。そして、変換されたサービス定義文書に基づいて、第2の型のサービスを第1の型のサービスとして利用するためにメッセージ変換処理を行う。
【選択図】 図6

Description

本発明は、フロー処理装置及びメッセージ変換方法に関するものである。
ユーザがWebから利用可能なアプリケーションにWebサービスがある。このWebサービスを利用する際の接続手順を、以下の説明ではプロトコルと称す。
従来、Webサービスは、プロトコルとしてSOAP(Simple Object Access Protocol)を利用して提供されるのが一般的である。しかし近年、プロトコルとしてSOAPを利用しない形態のWebサービスも提供されている。
これらのSOAPを利用しないWebサービスのうち、広く普及しているものとして、REST(REpresentational State Transfer)を利用したものがある。RESTとは、本来アーキテクチャスタイルの呼称であるが、次第にHTTP上でXML文書を送受信することで、遠隔呼び出しを行うシステムのことを指し示す意味としても利用されるようになった。
以降の説明では、この2種類のWebサービスを区別するため、従来からのSOAPを利用するWebサービスを「SOAP型サービス」と呼ぶこととする。また、SOAPを利用せずにRESTスタイルでサービスを提供しているWebサービスを「REST型サービス」と呼ぶこととする。
また、Webサービスはアプリケーションの連携や統合を実現するための技術としても利用されている。業務や作業における一連の流れであるワークフローを逐次実行していくことをフロー処理という。Webサービスを利用することで、フロー処理を自動化することが可能となる。
フロー処理を自動化する技術として、フロー処理記述言語のBPEL4WS(Business Process Execution Language for Web Services)がある。このBPEL4WSの仕様は、OASISのOASIS Web Services Business Process Execution Language TCで管理されている。OASISはorganization for the Advancement of Structured Information Standardsの略である。
尚、BPEL4WSでは、Webサービスを識別するインタフェースとして、WSDL(Web Services Description Language)を用いている。WSDLは、Webサービスのインタフェースを記述するために用いる言語であり、仕様はwwwコンソーシアム(W3C)によって公開されている。内容はhttp://www.w3.org/TR/wsdlにて参照可能である。
しかし、BPEL4WSにて連携可能なWebサービスは、SOAP型サービスのみであり、REST型サービスはその対象ではない。これにより、単体のWebサービスとして、同様に利用されるSOAP型サービスとREST型サービスであっても、SOAP型サービスとREST型サービスの両方を利用して1つのワークフローを実現できない、という問題があった。
上述したように、プロトコルの違いでシステムが利用できないという問題に対しては、利用不可のプロトコルを利用可能な別のプロトコルに変換することでシステムを利用可能にする、プロトコルの変換技術が利用されている。例えば、特許文献1参照。
特許文献1では、人間がブラウザから手動で各種パラメータを入力することで利用するWebアプリケーションとSOAP型サービスとの間で変換を行う。変換処理としては、まず変換したいWebアプリケーションに対する要求のURLを分析することで変換規則を生成する。その後、そのWebアプリケーションに対応した専用のプロトコル変換部を生成する。このプロトコル変換部はSOAP型サービスのクライアントからはSOAP型サービスのサーバとして動作しているように見えている。そして、SOAP型サービスのクライアントアプリケーションは、専用のプロトコル変換部にSOAP型サービスを利用するのと同様にアクセスすることにより、Webアプリケーションの結果を受信することが可能になる。
特開2005-149131号公報
しかし、特許文献1に示すような従来の方法では、対応するWebアプリケーションが増加するにつれ、そのWebアプリケーションに対応したプロトコル変換部も増加する。そのため、プロトコル変換部を提供する機器が組み込み機器など、メモリ使用量に制限がある場合、多くのWebアプリケーションを収容することができない。これは、対応したいWebアプリケーションが増加するにつれて、そのメモリ使用量が増加してしまうためである。
また、SOAP型サービスのサーバとして動作しているプロトコル変換部が、SOAP型サービスのインタフェース定義であるWSDL文書を公開していない。そのため、SOAP型サービスを連携させる際に、機械的にサービスを識別することができなくなるため、変換処理を行ったにも関わらずフロー処理で利用することができない。同時に、従来のSOAP型サービスクライアントの生成方法が利用できないという問題もある。
具体的には、WSDL文書を参照することで、SOAP型サービスクライアントのひな形となるスタブが生成できない。これにより、SOAP型サービスクライアントを開発する際に多くの時間を消費してしまう。
本発明は、異なるサービス定義文書のサービス間で、第2の型のサービスを第1の型のサービスとして利用可能にすることを目的とする
本発明は、フロー処理装置であって、
第2の型のサービスのサービス定義文書を予め決められた規則に従って第1の型のサービスのサービス定義文書へと変換する手段と、
前記変換されたサービス定義文書に基づいて前記第2の型のサービスを前記第1の型のサービスとして利用するためにメッセージ変換処理を行う手段と、
を有することを特徴とする。
また、本発明は、フロー処理装置におけるメッセージ変換方法であって、
第2の型のサービスのサービス定義文書を予め決められた規則に従って第1の型のサービスのサービス定義文書へと変換する工程と、
前記変換されたサービス定義文書に基づいて前記第2の型のサービスを前記第1の型のサービスとして利用するためにメッセージ変換処理を行う工程と、
を有することを特徴とする。
本発明によれば、異なるサービス定義文書のサービス間で、第2の型のサービスを第1の型のサービスとして利用することが可能となる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
[第1の実施形態]
まず、サーバ装置やクライアント装置として機能するコンピュータ装置の構成を、図1に示すブロック図を参照して説明する。尚、サーバ装置やクライアント装置は、それぞれ単一のコンピュータ装置で実現しても良く、また必要に応じて複数のコンピュータ装置に各機能を分散して実現するようにしても良い。その場合、互いに通信可能なようにLAN(ローカルエリアネットワーク)などで接続されていれば良い。
図1は、本実施形態におけるコンピュータ装置の構成の一例を示すブロック図である。図1において、101はコンピュータ装置100全体を制御するCPUである。102は変更を必要としないプログラムやパラメータを格納するROMである。103は外部装置などから供給されるプログラムやデータを一時記憶するRAMである。
104はコンピュータ装置100に固定して設置されたハードディスクやメモリカード、或いはコンピュータ装置100から着脱可能な外部記憶装置である。ここで、外部記憶装置は、フレキシブルディスク(FD)やコンパクトディスク(CD)などの光ディスク、磁気や光カード、ICカード、メモリカードなどを含む。105はユーザからの操作を受け、データを入力するポインティングデバイスやキーボードなどの入力デバイス109との入力デバイスインタフェースである。
106はコンピュータ装置100の保持するデータや供給されたデータを表示するためのモニタ110とのディスプレイインタフェースである。107はインターネット111などのネットワーク回線に接続するためのネットワークインタフェースである。108は101〜107の各ユニットを通信可能に接続するシステムバスである。
尚、本実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
次に、SOAPを利用するWebサービス(以下、SOAP型サービス)について説明する。まず、SOAP型サービスには、サービスがどのようなものかを定義するサービス定義文書が存在する。このサービス定義文書は、記述言語としてWSDL(Web Services Description Language)を利用している。WSDLの仕様はwwwコンソーシアム(W3C)によって公開されている。内容はhttp://www.w3.org/TR/wsdlにて参照可能である。ここで、WSDLを利用して記述されたSOAP型サービス定義文書を、図2を参照して説明する。
図2は、WSDLを利用して記述されたSOAP型サービス定義文書の一例を示す図である。まず、サービス定義文書は、大きく分けて5つの部分で構成されている。サービス定義文書全体は、<definitions>タグで開始され、<definitions>タグの属性値targetNamespaceにて、サービス定義文書自体を一意に識別することが可能となっている。
5つの部分のうち、1つ目はデータ型定義記述部である。このデータ型定義記述部は、<types>タグで開始され、<types>タグの子要素としてXMLSchemaで記述されたデータ型を記述する。このXMLSchemaの仕様は、wwwコンソーシアム(W3C)によって公開されている。また内容は、http://www.w3.org/TR/xmlschema-0/、http://www.w3.org/TR/xmlschema-1/、http://www.w3.org/TR/xmlschema-2/で参照可能である。
2つ目は、メッセージ定義記述部である。メッセージ定義記述部は、<message>タグで開始され、1つ目のデータ型定義記述部によって定義されているデータ型を、どのようなメッセージで利用するのかを定義する。メッセージ定義記述部では、<message>タグを並列することで複数のメッセージを定義することが可能である。
3つ目は、サービス機能定義記述部である。サービス機能定義記述部は、<portType>タグによって開始され、2つ目で定義したメッセージを組み合わせてサービス機能を定義する。各サービス機能は<operation>タグで開始される。この<operation>タグ内では、サービス機能を利用するために送受信されるメッセージを定義する。また、<operation>タグを並列することで、複数のサービス機能を定義することが可能である。
4つ目は、通信プロトコル関連付け定義記述部である。通信プロトコル関連付け定義記述部は、<binding>タグで開始され、実際に通信に使うプロトコルと、3つ目で定義したサービス機能との関連付けを定義する。図2に示す例では、プロトコルとしてSOAPを利用している。
5つ目は、サービス公開アドレス定義記述部である。サービス公開アドレス定義記述部は、<service>タグで開始され、1つ目から4つ目までで定義したサービスと、実際にアクセス可能なアドレスとの関連付けを定義する。実際に、サービスを利用するユーザに向けて公開するアドレスは<port>タグにて定義する。
SOAP型サービスのサービス定義文書は、SOAP型サービスのサーバ及びクライアントを作成する際に広く用いられている。そして、SOAP型サービスのサーバ作成では、サービス定義文書を事前に作成し、そのサービス定義文書を読み込むことでSOAP型サービスのサーバアプリケーションのひな形であるスケルトンプログラムを作成している。その際の作成手順を、図3を参照して説明する。
図3は、本実施形態におけるSOAP型サービスサーバの一般的な作成手順を示す図である。SOAP型サービス開発者300は、SOAP型サービスサーバスケルトンプログラム生成部301にSOAP型サービス定義文書302を送信する。SOAP型サービス定義文書302を受信したSOAP型サービスサーバスケルトンプログラム生成部301は、SOAP型サービス定義文書302を解析し、スケルトンプログラム303を生成してSOAP型サービス開発者300に送信する。
スケルトンプログラム303を受信したSOAP型サービス開発者300は、スケルトンプログラム303に、実際に行う処理部分を実装し、SOAP型サービスサーバプログラム304を生成する。
また、SOAP型サービスのクライアント作成でも、サーバ作成時と同様に、サービス定義文書を読み込んで、クライアントアプリケーションのひな形となるスタブを生成する方法が広く用いられている。この際の作成手順を、図4を参照して説明する。
図4は、本実施形態におけるSOAP型サービスクライアントの作成手順を示す図である。クライアント側400には、スタブ生成部401がある。また、サーバ側410にはSOAP型サービスサーバ411とSOAP型サービスのサービス定義文書412が公開されている。
ここで、スタブ生成部401は、公開されているサービス定義文書412を参照420する。そして、サービス定義文書412からスタブプログラム402を生成する。次に、生成されたスタブプログラム402に対して、クライアントアプリケーション開発者が、クライアントとして必要となる処理を加えて、SOAP型サービスクライアント403を完成させる。
完成したSOAP型サービスクライアント403は、SOAP型サービスサーバ411に対してSOAPメッセージの要求メッセージ送信430を行う。このメッセージを受信したSOAP型サービスサーバ411は、要求された処理を実行し、処理結果をSOAPメッセージとして応答する。そして、SOAP型サービスクライアント403がSOAPメッセージの応答メッセージ受信431を行い、SOAP型サービスを利用する。
次に、SOAPを利用せずにRESTスタイルでサービスを提供するWebサービス(以下、REST型サービス)について説明する。
REST型サービスでは、上述したWSDLで記述されたサービス定義文書と同様に、WADL(Web Application Description Language)を利用してサービス定義文書を記述している。WADLはWSDLと同様に、XMLを基にした言語になっている。この仕様については、https://wadl.dev.java.net/にて公開されている。WADLを利用して記述されたREST型サービスのサービス定義文書を、図5を参照して説明する。
図5は、WADLを利用して記述されたREST型サービスのサービス定義文書の一例を示す図である。まず、REST型サービス定義文書は大きく分けて、2つの部分で構成されている。サービス定義文書全体は、<application>タグで開始される。
2つの部分のうち、1つ目はデータ型記述部である。データ型記述部は、<grammars>タグで開始され、REST型サービスが扱うXMLデータの型定義を記述する。データ型定義は、上述したSOAP型サービスと同様にXMLSchemaを用いて行う。図5に示すように、<include>タグを用いて、別ファイルにて構成されているXMLSchemaファイルを読み込んだり、<grammars>タグ以下に直接記述したりすることが可能である。
2つ目は、関連サービス定義記述部である。REST型サービスはSOAP型サービスとサービスの概念が異なる。つまり、SOAP型サービスでサービス機能と呼ばれていた単位が、REST型サービスではResourceという名前でサービスとして扱われる。また、SOAP型サービスでサービスと呼ばれていた単位がREST型サービスではResourcesとして複数のResourceによって構成される。関連サービス定義記述部は、<resources>タグで開始され、関連ある複数のサービスを定義している。<resources>タグのbase属性で、関連ある複数のサービスを全体として識別するURIを記述する。このURIは関連ある複数のサービスが公開されているURLの基本部分として定義される。個々のサービスは、<resources>タグの子要素<resource>タグ以下で定義される。
<resource>タグは、path属性で個々のサービスを識別するURIを記述する。ここで記述されたpath属性の値を<resources>タグのbase属性の値と組み合わせることにより、個々のサービスにアクセスする際のアクセス先アドレスを構成することが可能である。また、<resource>タグは、子要素として<method>タグを持ち、サービスにアクセスする際のメソッドを定義している。また<method>タグと並列して<request>タグと<response>タグがあり、<request>タグではサービスに対する要求メッセージを定義し、<response>タグではサービスの応答メッセージを定義している。
また、<resource>タグは、<resources>タグの子要素として、並列して複数存在することが可能であるため、<resources>タグ以下で複数のサービスを定義することが可能である。
次に、SOAP型(第1の型の)サービスクライアントからREST型(第2の型の)サービスを利用する場合について説明する。この場合、SOAP型サービスクライアントがREST型サービスを利用しようとすると、プロトコルが異なるためにサービスを利用することができない。
そこで、SOAP型サービスクライアントがREST型サービスを利用するために変換を行う必要がある。その変換に必要な構成を、図6を参照して説明する。
図6は、異なるWebサービスを利用するために必要な変換処理を示す図である。図6に示すように、必要な変換処理は2つある。1つ目は、REST型サービスで定義されているサービス定義をSOAP型サービスのサービス定義に変換するサービス定義変換処理610である。次に、2つ目は、実際にサービスを利用する際に送受信されるメッセージについて変換する、送受信メッセージ変換処理620である。また、2つの変換処理は、SOAP型サービスサーバ600として利用可能である。
上述のサービス定義変換処理610では、サービス定義変換処理部611が、REST型サービス640が公開しているREST型サービス定義文書641を取得する。次に、取得したREST型サービス定義文書613からSOAP型サービスを定義するのに必要な情報を抽出し、SOAP型サービス定義文書612を生成するという変換処理を行う。ここで、サービス定義変換処理部611は、予め決められた変換規則614に従って変換処理を行う。この変換規則614の詳細については、図9を用いて後述する。
そして、変換することで生成されたSOAP型サービス定義文書612を公開することで、REST型サービス640をSOAP型サービスクライアント630が認識できるようにしている。
また、送受信メッセージ変換処理620は、メッセージ変換処理部621と、SOAPメッセージ送受信部622と、RESTメッセージ送受信部623と、から構成される。行われる処理としては、SOAP型サービスクライアント630が、SOAP型サービスサーバ600が公開しているSOAP型サービス定義文書612を取得する。SOAP型サービスクライアント630は、取得したSOAP型サービス定義文書631に記述された定義に基づき、SOAP型サービスリクエストメッセージ650を生成する。そして、生成したSOAP型サービスリクエストメッセージ650をSOAPメッセージ送受信部622へ送信する。
SOAP型サービスリクエストメッセージ650を受信したSOAPメッセージ送受信部622は、SOAP型サービスリクエストメッセージ650を解析し、その解析結果をメッセージ変換処理部621に送信する。そして、解析結果を受け取ったメッセージ変換処理部621は、サービス定義変換処理部611で定義された変換規則614を用いて、REST型サービスリクエストメッセージ651を生成し、RESTメッセージ送受信部623に送信する。
このように、変換規則614を用いることにより、REST型サービス定義文書641を参照することなく、REST型サービス640が要求するメッセージを生成することが可能となる。
一方、REST型サービスリクエストメッセージ651を受信したRESTメッセージ送受信部623は、REST型サービス640にREST型サービスリクエストメッセージ651を送信する。そして、結果として、REST型サービス応答メッセージ652を受信する。
次に、REST型サービス応答メッセージ652を受信したRESTメッセージ送受信部623は、REST型サービス応答メッセージ652を解析し、解析結果をメッセージ変換処理部621に送信する。そして、解析結果を受け取ったメッセージ変換処理部621は、SOAP型サービスクライアント630が解釈可能なSOAPメッセージに変換し、SOAP型サービス応答メッセージ653としてSOAPメッセージ送受信部622に送信する。この変換処理は、リクエストメッセージの変換処理と同様に、サービス定義変換処理部611で定義した変換規則614を用いて行う。
次に、SOAP型サービス応答メッセージ653を受信したSOAPメッセージ送受信部622は、SOAP型サービスクライアント630に対して、SOAP型サービス応答メッセージ653を送信する。この一連の処理により、SOAP型サービスクライアント630からREST型サービス640を利用可能になる。
次に、サービス定義変換は行わずにSOAP型サービスのサービス定義を機械的に作成する送受信メッセージ変換処理を、図7を参照して説明する。この処理は、実行時のメッセージ変換のみで対応する場合やREST型サービスのサービス定義から要求メッセージや応答メッセージに必要なデータ型の記述を抽出し、SOAP型サービスのサービス定義を機械的に作成する処理である。
図7は、サービス定義変換は行わずに送受信メッセージ変換処理を行うシステムの構成を示す図である。SOAP型サービスクライアント700から、REST型サービス720を利用しようとした場合、プロトコルの違いからサービスを利用することができない。そこで、上述のようにメッセージ変換処理部712によってSOAPメッセージとRESTメッセージを変換することで、REST型サービス720を利用することを行う。ここで、SOAPメッセージ送受信部711と、メッセージ変換処理部712と、RESTメッセージ送受信部713とは、SOAP型サービスサーバ710として作成する必要がある。
従来の方法では、開発効率を向上させるために、上述のようにサービス定義文書を用いてSOAP型サービスサーバ710を作成する方法をとっていた。この方法を用いると、対応したいREST型サービスのサービス定義文書から変換されたSOAP型サービス定義文書を用いることになる。そのため、対応したいREST型サービスの数と同じ数だけメッセージ変換処理部712及びRESTメッセージ送受信部713を生成しておく必要がある。
そのため、複数のREST型サービスに対応するために多くのメモリが使用されることになってしまい、メモリ使用量が限られている機器での利用が困難になってしまう。またSOAPメッセージ送受信部711内で、本来REST型サービスを呼び出すための変換処理を行えれば良いのに対して、呼び出すSOAP型サービスの決定やXML要素の値を型に合わせて割り当てるという冗長な作業が発生してしまう。
SOAPメッセージ送受信部711で行われている処理のうち、SOAP型サービスクライアント700からメッセージを受信した際の処理を、図8を参照して説明する。
図8は、要求SOAPメッセージを受信したSOAPメッセージ送受信部の処理を示すフローチャートである。まず、SOAPメッセージ送受信部711がSOAP型サービスクライアント700からSOAPメッセージ701を受信する(S801)。次に、受信したSOAPメッセージ701を解析する(S802)。そして、その解析結果を受けて該当するサービスを決定する(S803)。
その後、S803にて決定したサービスの中でどのサービス機能を利用するのかを決定する(S804)。そして、S804で決定したサービス機能が引数として要求する型に対して該当するXML要素の値を割り当てる(S805)。この処理を行うことで、複数存在するメッセージ変換処理部712を呼び分けることができる。
次に、REST型サービスのサービス定義文書からSOAP型サービスのサービス定義文書へ変換規則を用いて変換するサービス定義変換処理について説明する。このサービス定義変換処理において、REST型サービスのサービス定義文書からSOAP型サービスのサービス定義文書に変換する際に、変換規則を設ける。この変換規則を設けることで、送受信メッセージ変換処理の課題を解消する。ここで、サービス定義変換処理を、図9を参照して説明する。
図9は、サービス定義変換処理における変換規則を説明するための図である。REST型サービス定義文書900内の関連サービス記述部の<resources>タグのbase属性の値である関連サービス識別子901をSOAP型サービス定義文書の属性の値として利用する。ここでは、その識別子901を、<definitions>タグのtargetNamespace属性の値と<types>定義内のXMLSchemaの<schema>タグのtargetNamespace属性の値として利用する。
つまり、REST型サービス定義文書で定義された、REST型サービスが公開されているURLの基本部分を、SOAP型サービス定義文書に記述することが可能になる。
また、個々のREST型サービスを識別するURI902と、そのREST型サービスにアクセスするためのメソッド903を“_”で連結し、SOAP型サービス定義文書内の<operation>要素のname属性の値として利用する。
図9に示すREST型サービス定義文書の場合では、<resource>タグのpath属性値が“sample”であり、<method>タグのname属性値が“GET”である。従って、SOAP型サービス定義文書内に“GET_sample”というoperation名を持つ<operation>タグが生成される。
また、メッセージ定義名及びデータ型定義名においてもoperation名を用いる。ここで、メッセージ定義名とは<message>要素のname属性を意味する。operation名で定義されたoperationに対する要求メッセージ名は、910のようにoperation名+“_Request”を用いる。また、operation名で定義されたoperationの応答メッセージ名は、911のようにoperation名+“_Response”を用いる。
データ型定義名とは、<types>タグ内のXMLSchemaで定義する<element>要素のname属性値を意味する。このoperation名で定義されたoperationに対する要求メッセージのデータ型名は、912のようにoperation名をそのまま用いる。要求メッセージに対する応答メッセージのデータ型名は、913のようにoperation名+“_Response”を用いる。
図9に示す変換規則に基づいて変換されたSOAP型サービス定義文書は、SOAP型サービスサーバによって公開される。本実施形態では、対応するサービスが増えた場合でもメッセージ変換処理部は1つである。そのため、SOAP型サービス定義文書内で定義するSOAP型サービスのアドレスは、REST型サービスの違いに関係なく常に同じである。
実際に、サービス定義文書の変換を行う際には、WSDL及びWADLがXML言語に基づくことに着目し、XSLTを利用して処理を自動化することが可能である。XSLTはXML Stylesheet Language Transformationsの略である。
図10は、本実施形態で送信される要求SOAPメッセージを示す図である。SOAP型サービスクライアント1010が実際にサービスを利用する際に、上述した変換規則を用いて作成されたSOAP型サービス定義文書1000を参照して、SOAPメッセージ1020を生成する。
SOAPメッセージ1020には、上述の変換規則による効果で、SOAPメッセージ自体にアクセスすべきREST型サービスのアドレスとアクセスする際に必要となるパラメータ情報が含まれている。
<Body>要素の最初の子要素名1021は、REST型サービスにアクセスする際のメソッド“GET”とREST型サービスの基本アドレスに対するパス(path)の“sample”が“_”で結合された状態なので文字列処理により分割する。また、SOAPメッセージの<Body>要素の最初の子要素が属する名前空間1022は、アクセスすべきREST型サービスの基本アドレスになっている。更に、<GET_sample>要素の子要素として、アクセスする際に必要となるパラメータが記述されている。要素名1023がパラメータ名になっており、値1024がパラメータの値になっている。
このような仕組みを持つSOAPメッセージ1020をメッセージ変換処理部1030が変換処理し、RESTメッセージ1040を生成する。変換処理中には、参照したのはSOAPメッセージのみであり、オブジェクト割り当てなどは行わず、文字列処理のみでRESTメッセージを作成することが可能となっている。
図11は、本実施形態における送受信メッセージ変換処理を行うシステムの構成を示す図である。また、図12は、本実施形態における送受信メッセージ変換処理のシーケンスを示す図である。
本実施形態では、SOAP型サービスクライアント1100から、SOAP型サービスサーバ1110にアクセスすることでWebサービスの変換を行い、REST型サービスA1140を利用する。
まず、SOAP型サービスクライアント1100が、SOAPメッセージ送受信部1111にSOAPメッセージを送信する(1201)。ここで送信するSOAPメッセージは、上述した変換規則に基づいて変換されたSOAP型サービス定義を参照して生成したものである。
SOAPメッセージ送受信部1111は、受信した要求SOAPメッセージをメッセージ変換処理部1112に送信する(1202)。その際、従来技術で行っていた解析処理、サービス及びサービス機能の決定、XML要素の値の割り当て処理は行わない。
一方、メッセージ変換処理部1112は、受信した要求SOAPメッセージを変換規則によって定義された情報に従って取得する(1203)。そして、取得した情報からREST型サービスへの要求メッセージを生成する(1204)。次に、ここで生成した要求RESTメッセージをRESTメッセージ送受信部1113に送信する(1205)。
要求RESTメッセージを受信したRESTメッセージ送受信部1113は、REST型サービスA1140へREST型サービスに送信する(1206)。要求RESTメッセージを受信したREST型サービスA1140は、要求された処理を行い、その結果として応答RESTメッセージをRESTメッセージ送受信部1113へ送信する(1207)。
応答RESTメッセージを受信したRESTメッセージ送受信部1113は、メッセージ変換処理部1112に応答RESTメッセージを送信する(1208)。応答RESTメッセージを受信したメッセージ変換処理部1112は、応答RESTメッセージから応答SOAPメッセージを生成する(1209)。応答SOAPメッセージは、REST型サービスからの応答メッセージをSOAPメッセージの<body>要素以下に格納することで応答SOAPメッセージを生成する。そして、メッセージ変換処理部1112は、生成した応答SOAPメッセージをSOAPメッセージ送受信部1111に送信する(1210)。
応答SOAPメッセージを受信したSOAPメッセージ送受信部1111は、受信した応答SOAPメッセージをSOAP型サービスクライアント1100に送信する(1211)。
本実施形態では、従来のように対応するREST型サービスの数だけメッセージ変換部を作成する必要がなく、メッセージ変換処理部は常に一つで良い。これは、変換規則によるものであり、実際に送信された要求SOAPメッセージ内にREST型サービスにアクセスするためのアドレスやパラメータ情報が含まれているためである。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第2の実施形態として、ファイル共有にて扱う場合を例に挙げて説明する。
図13は、第2の実施形態におけるメッセージ変換処理を説明するための図である。
この例では、SOAP型サービスクライアント1301は使用可能なリソースに余裕があり、SOAP型サービスを利用することが可能なPC1300上で動作している。このSOAP型サービスクライアント1301は、SOAP型サービスで提供されたファイル共有サービスを利用することを想定して作成されている。ここで、ファイル共有サービスA1321やファイル共有サービスB1322が、SOAP型サービスとして提供されたファイル共有サービスである。しかし、SOAP型サービスしか利用することができないため、REST型サービスとして提供されているファイル共有サービスC1323は直接利用することができない。
一方、組み込みデバイス1330は、使用できるリソースに限りがあるため、SOAP型サービスを利用することができない。そこで、組み込みデバイス1330では、Webサービスを利用する際に、REST型サービスを利用している。そのため、ファイル共有サービスA1321やファイル共有サービスB1322は利用できない。その代わりに、REST型サービスで提供されたファイル共有サービスC1323やファイル共有サービスD1324は、REST型サービスクライアント1331が利用できる。
このように、クライアントアプリケーションが動作する環境によって利用できるWebサービスが異なると、デバイスの種類によってファイルを共有できないという問題が発生する。具体的には、REST型サービスクライアント1331が利用できるファイル共有サービスC1323は、SOAP型サービスクライアント1301からは利用できない。そのため、PC1300と組み込みデバイス1330との間で、ファイル共有ができないというものである。
この問題を解消するために、リソースが潤沢なデバイスでもREST型サービスクライアントを作成し、作成されたREST型サービスを利用するという方法がある。しかし、ファイル共有サービスにアクセスするためのクライアントが2種類必要になるため、追加の開発が必要になる。また、異なるプロトコルで通信するクライアントをシステムが管理する必要が生じるため、システムが複雑になるという新たな問題が発生する。
そこで、SOAP型サービスクライアント1301は、SOAP型サービス1310としてサービスを公開しているWebサービスの変換サービスを利用することにより、追加の開発をすることなく、REST型サービスが利用可能になる。具体的には、SOAP型サービスクライアント1301は、SOAPメッセージ送受信部1311に要求SOAPメッセージを送信し、メッセージ変換処理部1312が要求SOAPメッセージから要求RESTメッセージへ変換を行う。
そして、RESTメッセージ送受信部1313からファイル共有サービスC1323にアクセスする。これにより、SOAP型サービスクライアントはREST型クライアントを開発せずに、REST型サービスを意識することなくSOAP型サービスと同様に利用することが可能となる。
また、上述したメッセージ変換処理部1312は、複数のREST型サービスに対して1つのモジュールで対応できるように構成されている。そのため、ファイル共有サービスC1323からファイル共有サービスD1324に変換になった場合でも、ファイル共有サービスD1324が公開しているREST型サービス定義文書をSOAP型サービス定義文書に変換し、公開するだけで利用可能となる。その際に、追加の開発作業は伴わない。
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態を詳細に説明する。第3の実施形態として、フロー処理にて利用する場合を例に挙げて説明する。
図14は、第3の実施形態におけるメッセージ変換処理を説明するための図である。
図14に示すフロー処理サービス利用者1410は、複数のSOAP型サービスを連携したワークフローを利用する利用者である。フロー処理実行装置1420は、SOAP型サービスを適宜呼び出すことで1つのワークフローを成立させる装置である。ここでは、旅行プランを作成するワークフローを例に挙げて説明する。
通常、旅行プラン作成のワークフローは、まず飛行機予約サービス1431を利用することで飛行機のチケットを予約し、ホテル予約サービス1432で宿泊するホテルを予約するというものである。ここで、旅行先で利用できるクーポンについても検索し、取得したいという利用者の要求があると、ワークフローとしては、フロー処理記述文書1421に示すようなフロー処理を実行する必要が発生する。具体的には、飛行機予約サービスを利用して飛行機を予約し、ホテル予約サービスを利用してホテルを予約し、クーポン取得サービスにてクーポンの取得を行った後、その結果を送信する。
しかし、クーポン取得サービスがREST型サービスで提供されている場合、SOAP型サービスしか利用できないフロー処理実行装置1420では、フロー処理を行うことができない。以下、第3の実施形態におけるメッセージ変換処理を説明する。
第3の実施形態は、従来、利用することができなかったクーポン取得サービス1433を利用可能とするものである。
まず、クーポン取得サービス1433をフロー処理実行装置1420から認識することができるように、サービス定義変換処理部1450を用いて、クーポン取得サービス定義文書1451から、SOAP型サービス定義文書1452を生成する。サービス定義変換処理部1450では、図9を用いて説明した変換規則に従って変換を行う。そして、変換処理を行った後、SOAP型サービス定義文書1452を公開する。
これにより、フロー処理実行装置1420は、公開されたSOAP型サービス定義文書1452を参照することで他のSOAP型サービスと同様に、REST型サービスであるクーポン取得サービス定義文書1451を認識することが可能になる。また、フロー処理実行装置1420はクーポン取得サービス1433を利用可能になる。
そして、フロー処理実行装置1420は、公開されたSOAP型サービス定義文書1452を参照し、サービス呼び出しのための要求SOAPメッセージを生成する。その後、生成した要求SOAPメッセージを、SOAPメッセージ送受信部1441に対して送信する。この要求SOAPメッセージを受信したSOAPメッセージ送受信部1441は、メッセージ変換処理部1442に要求SOAPメッセージを送信する。
要求SOAPメッセージを受信したメッセージ変換処理部1442は、上述の変換規則に従い、REST型サービスにアクセスする際のアドレス及び要求RESTメッセージに必要なパラメータを抽出する。抽出したパラメータを利用して要求RESTメッセージを生成する。
次に、抽出したアドレスと生成した要求RESTメッセージをRESTメッセージ送受信部1443に送信する。RESTメッセージ送受信部1443は、メッセージ変換処理部1442より送信されたアドレスと要求RESTメッセージを利用してクーポン取得サービス1433にアクセスし、処理結果である応答RESTメッセージを受信する。
応答RESTメッセージを受信したRESTメッセージ送受信部1443は、応答RESTメッセージをメッセージ変換処理部1442に送信する。メッセージ変換処理部1442は、応答RESTメッセージを受信した後、応答RESTメッセージから応答SOAPメッセージを生成し、SOAPメッセージ送受信部1441に送信する。そして、応答SOAPメッセージを受信したSOAPメッセージ送受信部1441は、フロー処理実行装置1420に対して応答SOAPメッセージを送信する。
これにより、フロー処理実行装置1420は、従来扱うことができなかったREST型サービスから、処理結果を受信することが可能となる。また、SOAP型サービスのみで構成されたフロー処理の中に、REST型サービスを組み込むことが可能となる。
また、メッセージ変換処理部1442に上述の変換規則を導入したことで、変換対象となるREST型サービスが限定されずに、複数のREST型サービスを扱うことが可能となる。
例えば、REST型サービスで提供された地図案内サービスを追加する場合、最初に、地図案内サービスが定義されたREST型サービス定義文書を、サービス定義変換処理部1450に送信する。次に、そのサービス定義文書を受け取ったサービス定義変換処理部1450は上述の変換規則に基づいて変換処理を行い、SOAP型サービス定義文書を公開する。最後に、SOAP型サービス1440のサービス定義の一つとして変換処理結果であるSOAP型サービス定義文書を公開する。
これにより、SOAP型サービス1440では処理部分は1つであるが、サービス定義が2つ公開されることになり、擬似的に2つのサービスが動作しているように振る舞うことが可能となる。
また、複数のサービスに対応した場合でも、実行時にメッセージ変換処理部の実体は1つであるため、メモリ使用量が制限された機器上での動作も可能となっている。
第1乃至第3の実施形態によれば、プロトコルとしてSOAPを利用しないREST型サービスをSOAP型サービスのクライアントから利用可能になる。また、実行時の効果として、対応するREST型サービスの個数が増加しても、メモリ使用量が増加することが無い。
これは、Webサービスの変換を行う変換処理部分が1つで変化しないため、変換処理部分のメモリ使用量が対応するサービス数に影響されないためである。そのため、メモリ使用量に制限のある組み込み機器上でも動作させることが可能となる。
また、Webサービスの変換を行う変換処理部は、SOAP型サービス定義文書を公開するため、フロー処理の中でREST型サービスをSOAP型サービスと同様に扱うことが可能となる。
更に、SOAP型サービス定義文書を公開することで、SOAP型サービスを利用する際に作成するSOAP型サービスクライアントの開発も、従来と同様に行うことが可能となる。
本実施形態におけるコンピュータ装置の構成の一例を示すブロック図である。 WSDLを利用して記述されたSOAP型サービス定義文書の一例を示す図である。 本実施形態におけるSOAP型サービスサーバの一般的な作成手順を示す図である。 本実施形態におけるSOAP型サービスクライアントの作成手順を示す図である。 WADLを利用して記述されたREST型サービスのサービス定義文書の一例を示す図である。 異なるWebサービスを利用するために必要な変換処理を示す図である。 サービス定義変換は行わずに送受信メッセージ変換処理を行うシステムの構成を示す図である。 要求SOAPメッセージを受信したSOAPメッセージ送受信部の処理を示すフローチャートである。 サービス定義変換処理における変換規則を説明するための図である。 本実施形態で送信される要求SOAPメッセージを示す図である。 本実施形態における送受信メッセージ変換処理を行うシステムの構成を示す図である。 本実施形態における送受信メッセージ変換処理のシーケンスを示す図である。 第2の実施形態におけるメッセージ変換処理を説明するための図である。 第3の実施形態におけるメッセージ変換処理を説明するための図である。
符号の説明
100 コンピュータ装置
101 CPU
102 ROM
103 RAM
104 外部記憶装置
105 入力デバイスインタフェース
106 ディスプレイインタフェース
107 ネットワークインタフェース
108 システムバス
109 入力デバイス
110 モニタ
111 インターネット

Claims (12)

  1. フロー処理装置であって、
    第2の型のサービスのサービス定義文書を予め決められた規則に従って第1の型のサービスのサービス定義文書へと変換する手段と、
    前記変換されたサービス定義文書に基づいて前記第2の型のサービスを前記第1の型のサービスとして利用するためにメッセージ変換処理を行う手段と、
    を有することを特徴とするフロー処理装置。
  2. 前記予め決められた規則は、前記第2の型のサービスのサービス定義文書で定義された複数の第2の型のサービスを定義する識別子を、前記第1の型のサービスのサービス定義文書を一意に識別するための識別子として利用する規則であることを特徴とする請求項1に記載のフロー処理装置。
  3. 前記予め決められた規則は、前記第2の型のサービスのサービス定義文書で定義された複数の第2の型のサービスを定義する識別子を、前記第1の型のサービスのサービス定義文書のメッセージが属する名前空間を一意に識別するための識別子として利用する規則であることを特徴とする請求項1に記載のフロー処理装置。
  4. 前記予め決められた規則は、前記第2の型のサービスのサービス定義文書で定義された複数の第2の型のサービスを定義する識別子の組み合わせを、前記第1の型のサービスへの呼び出しに対する機能を識別するための識別子として利用する規則であることを特徴とする請求項1に記載のフロー処理装置。
  5. 前記予め決められた規則は、前記第2の型のサービスの識別子を、前記第1の型のサービスを利用する際に送受信されるメッセージを識別する識別子として利用する規則であることを特徴とする請求項1に記載のフロー処理装置。
  6. 前記メッセージ変換処理は、前記第1の型のサービスを利用するクライアントから送信されたメッセージが属する名前空間の識別子を前記第2の型のサービスの基本アドレスに変換することを特徴とする請求項1に記載のフロー処理装置。
  7. 前記メッセージ変換処理は、前記第1の型のサービスを利用するクライアントから送信されたメッセージを構成する要素名から、前記第2の型のサービスの基本アドレスに対するパスに変換することを特徴とする請求項1に記載のフロー処理装置。
  8. 前記メッセージ変換処理は、前記第1の型のサービスを利用するクライアントから送信されたメッセージに基づいて前記第2の型のサービスに対する要求メッセージを生成することを特徴とする請求項1に記載のフロー処理装置。
  9. 前記メッセージ変換処理は、前記第2の型のサービスが送信したメッセージを前記第1の型のサービスのメッセージに格納し、前記第1の型のサービスに対する応答メッセージを生成することを特徴とする請求項1に記載のフロー処理装置。
  10. フロー処理装置におけるメッセージ変換方法であって、
    第2の型のサービスのサービス定義文書を予め決められた規則に従って第1の型のサービスのサービス定義文書へと変換する工程と、
    前記変換されたサービス定義文書に基づいて前記第2の型のサービスを前記第1の型のサービスとして利用するためにメッセージ変換処理を行う工程と、
    を有することを特徴とするメッセージ変換方法。
  11. コンピュータを請求項1乃至9の何れか1項に記載のフロー処理装置として機能させるためのプログラム。
  12. 請求項11に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008171234A 2008-06-30 2008-06-30 フロー処理装置及びメッセージ変換方法 Withdrawn JP2010009520A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008171234A JP2010009520A (ja) 2008-06-30 2008-06-30 フロー処理装置及びメッセージ変換方法
US12/479,150 US20090327868A1 (en) 2008-06-30 2009-06-05 Intermediate apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008171234A JP2010009520A (ja) 2008-06-30 2008-06-30 フロー処理装置及びメッセージ変換方法

Publications (2)

Publication Number Publication Date
JP2010009520A true JP2010009520A (ja) 2010-01-14
JP2010009520A5 JP2010009520A5 (ja) 2011-08-18

Family

ID=41449100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008171234A Withdrawn JP2010009520A (ja) 2008-06-30 2008-06-30 フロー処理装置及びメッセージ変換方法

Country Status (2)

Country Link
US (1) US20090327868A1 (ja)
JP (1) JP2010009520A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165250A (ja) * 2009-01-16 2010-07-29 Nippon Telegr & Teleph Corp <Ntt> サービス連携処理システム及び方法
JP2012018616A (ja) * 2010-07-09 2012-01-26 Nec System Technologies Ltd 情報変換装置、情報変換システムおよび変換方法
JP2014123363A (ja) * 2012-12-20 2014-07-03 Sap Ag 多様なデータ接続のためのサービスおよびマネージメント層
JP2017054411A (ja) * 2015-09-11 2017-03-16 西日本電信電話株式会社 Api変換アダプタ、api変換システム、及びapi変換プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473595B2 (en) * 2009-12-30 2013-06-25 Bmc Software, Inc. Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom
CN102143200B (zh) * 2010-10-20 2013-09-11 华为技术有限公司 一种soap api转换为rest api的公共消息头承载方法及装置
US9838351B2 (en) 2011-02-04 2017-12-05 NextPlane, Inc. Method and system for federation of proxy-based and proxy-free communications systems
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US9077726B2 (en) 2011-03-31 2015-07-07 NextPlane, Inc. Hub based clearing house for interoperability of distinct unified communication systems
US9203799B2 (en) 2011-03-31 2015-12-01 NextPlane, Inc. Method and system for advanced alias domain routing
US8732278B2 (en) 2011-12-21 2014-05-20 Cbs Interactive, Inc. Fantasy open platform environment
US9348665B2 (en) * 2012-05-31 2016-05-24 Sap Se Mapping messages between web services
US20130326079A1 (en) * 2012-05-31 2013-12-05 Sap Ag Unifying Programming Models in Connectivity Framework
CN104395896B (zh) * 2012-06-19 2018-01-02 英派尔科技开发有限公司 到通信网络的自动内容转发
US8856735B2 (en) * 2012-07-25 2014-10-07 Oracle International Corporation System and method of generating REST2REST services from WADL
US9621440B2 (en) * 2012-08-31 2017-04-11 Rackspace Us, Inc. System and method for validating documentation of representational state transfer (REST) services
US9705840B2 (en) 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9819636B2 (en) * 2013-06-10 2017-11-14 NextPlane, Inc. User directory system for a hub-based system federating disparate unified communications systems
CN106157141B (zh) * 2015-04-27 2021-06-29 创新先进技术有限公司 数值处理方法及装置
CN106856434B (zh) * 2015-12-08 2020-06-30 阿里巴巴集团控股有限公司 访问请求转换的方法和装置
CN110009173B (zh) * 2018-12-11 2023-04-18 创新先进技术有限公司 业务规则处理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW571201B (en) * 2001-02-02 2004-01-11 Wistron Corp Conversion method and system for contents format of document file
US7284039B2 (en) * 2002-12-17 2007-10-16 International Business Machines Corporation Apparatus and method for flexible web service deployment
JP2005149131A (ja) * 2003-11-14 2005-06-09 Toshiba Corp 情報処理装置、方法及びプログラム
US9760647B2 (en) * 2004-12-08 2017-09-12 Oracle International Corporation Techniques for automatically exposing, as web services, procedures and functions stored in a database
WO2006080026A1 (en) * 2005-01-27 2006-08-03 Infosys Technologies Limited Protocol processing device and method
US7698684B2 (en) * 2005-09-28 2010-04-13 Sap Ag Method and system for generating schema to Java mapping descriptors and direct mapping of XML schema and Java interfaces
US8001246B2 (en) * 2007-05-22 2011-08-16 Oracle International Corporation System and method for exposing distributed transaction services as web services

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165250A (ja) * 2009-01-16 2010-07-29 Nippon Telegr & Teleph Corp <Ntt> サービス連携処理システム及び方法
JP2012018616A (ja) * 2010-07-09 2012-01-26 Nec System Technologies Ltd 情報変換装置、情報変換システムおよび変換方法
JP2014123363A (ja) * 2012-12-20 2014-07-03 Sap Ag 多様なデータ接続のためのサービスおよびマネージメント層
JP2017054411A (ja) * 2015-09-11 2017-03-16 西日本電信電話株式会社 Api変換アダプタ、api変換システム、及びapi変換プログラム

Also Published As

Publication number Publication date
US20090327868A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
JP2010009520A (ja) フロー処理装置及びメッセージ変換方法
EP2220571B1 (en) Method and apparatus for providing api service and making api mash-up, and computer readable recording medium thereof
US8364745B2 (en) Service oriented architecture enterprise service bus with universal ports
US20040205613A1 (en) Transforming data automatically between communications parties in a computing network
US7996562B2 (en) Messaging system interface to web services
US8701129B2 (en) Web API server program, web API publication method
JP5157690B2 (ja) 画像形成装置、情報処理方法、及び、画像形成システム
CN110784509A (zh) 一种医疗信息处理方法、系统及相关组件
CN101483666B (zh) 管理j2ee和.net交互操作应用的方法和系统
US20100220352A1 (en) Image forming apparatus, image forming system, and information processing method
JP2010027007A (ja) 処理装置、要求装置、及びそれらの処理方法
JP2005196676A (ja) サービス生成方法、サービス生成システムおよびプログラム
CN101447951A (zh) 用于面向服务的电子邮件客户端应用的系统和方法
JP2014049098A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
JP5084355B2 (ja) フロー処理実行装置、フロー処理実行方法及びプログラム
EP2101474A1 (en) Service bindings for web services
CN113992641A (zh) 一种数据处理方法、装置、设备及存储介质
JP2007011470A (ja) サービス処理方法、装置及びプログラム
JP5042415B2 (ja) クライアントサーバシステム
JP2006202176A (ja) 文書管理システムおよび文書管理方法
JP2008140344A (ja) 情報処理方法、情報処理装置、及びコンピュータプログラム
JP2005266908A (ja) データ処理方法、プログラム、装置、メッセージの構造、メッセージ生成方法、及び、メッセージ送信方法
Tsuchiya et al. Research on a Communication Platform Coordinating Web Services and Smart Speakers on the Application Layer
JP5235349B2 (ja) フロー記述文書処理装置、フロー記述文書処理方法及びプログラム
JP4669245B2 (ja) フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110630

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120405