JP2008102637A - ウェブ・サービスを提供する装置およびその方法 - Google Patents

ウェブ・サービスを提供する装置およびその方法 Download PDF

Info

Publication number
JP2008102637A
JP2008102637A JP2006283156A JP2006283156A JP2008102637A JP 2008102637 A JP2008102637 A JP 2008102637A JP 2006283156 A JP2006283156 A JP 2006283156A JP 2006283156 A JP2006283156 A JP 2006283156A JP 2008102637 A JP2008102637 A JP 2008102637A
Authority
JP
Japan
Prior art keywords
data
request message
service request
input
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.)
Granted
Application number
JP2006283156A
Other languages
English (en)
Other versions
JP4285658B2 (ja
Inventor
Yoshihito Iba
嘉仁 伊庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006283156A priority Critical patent/JP4285658B2/ja
Priority to US11/869,795 priority patent/US7664782B2/en
Priority to CN2007101802508A priority patent/CN101166197B/zh
Publication of JP2008102637A publication Critical patent/JP2008102637A/ja
Application granted granted Critical
Publication of JP4285658B2 publication Critical patent/JP4285658B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ウェブ・サービスを提供するシステムの開発または保守・管理を容易にする。
【解決手段】サービスを提供する提供装置は、サービス要求メッセージが、それに含めて受信する入力データのデータ構造によらず満たすべき仕様を定める共通定義データ、および、それぞれのデータ構造の入力データが満たすべき個別定義データを記憶している。そして、入力データおよび当該入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを受信すると、そのサービス要求メッセージのデータ構造が共通定義データを満たすか否かを検証する。また、受信したインターフェイスIDに対応する個別定義データを検索し、サービス要求メッセージがその個別定義データを満たすか否かを判断する。そして、サービス要求メッセージが共通定義データおよび個別定義データを満たせば、当該入力データのデータ構造に応じたサービスを処理する。
【選択図】図4

Description

本発明は、ウェブ・サービスを提供する装置およびその方法に関する。特に、本発明は、サービスを要求するサービス要求メッセージが仕様を満たしているかを判断した上で、そのサービス要求メッセージに応じたサービスを提供する装置およびその方法に関する。
従来、ウェブ・サービスのインターフェイスの仕様を記述する言語としてWSDL(Web Services Description Language)が用いられている(WSDLに関連する技術文献として特許文献1を参照。)。ウェブ・サービスを提供する提供装置は、その装置で処理することができるサービスを要求するためのメッセージのデータ構造の仕様を、WSDLで記述する。そして、提供装置は、記述したその仕様をサービスの定義データとして公開する。ウェブ・サービスを要求する要求装置は、公開されたそのデータ構造に準拠したメッセージを生成して提供装置に対し送信する。提供装置は、受信したメッセージが仕様に準拠しているか否かを、そのメッセージ中の各要素と、WSDLで記述されたデータ中の各要素が一致するか否かに基づき判断する。準拠していればサービスが適切に処理される。また、要求装置においては、定義データに基づいて、サービスを要求するアプリケーションプログラムをある程度自動に生成することもできる。
特開2005−174120号公報
ウェブ・サービスを要求するメッセージは、サービスの提供装置を特定するためのURI(Uniform Resource Identifier)と、要求するサービスの識別名称と、そのサービスの処理に与える入力データとを含む。要求するサービスは、このURIおよびサービスの識別名称によって一意に特定される。そして、特定されたサービスに対する入力データのデータ構造もそれによって定まる。WSDLで記述された定義データは、ウェブ・サービスのインターフェイスを、このようなURI、識別名称および入力データのデータ構造の組として定義する。
ウェブ・サービスの提供装置において相互に類似する複数のサービスを提供するときは、それらに共通の識別名称を付して管理したい場合がある。例えば、帳票を用いた申請業務をサービスとして提供する場合には、帳票の種類ごとに入力データの構造は異なるものの、帳票の種類によらず「申請する(submit)」というサービスの内容は類似する。したがって、これらのサービスに共通した識別名称を付して管理し、入力データの構造に応じて異なる処理をすることができれば、サービスを処理するプログラムの保守・管理が容易になるばかりでなく、メソッドのオーバーロード機能を提供する従来のプログラム言語との親和性も高い。
しかしながら、従来のWSDLにおいて、入力データの構造が異なる複数のサービスに同一の識別名称を定義すると、サービスが一意に特定できないため正常動作しない。サービス毎に提供装置を設ければ、同一の識別名称のサービスを複数定義することはできるが、サービスの数が多くなると提供装置が多く必要となり、システムの複雑化を招くおそれがある。
そこで本発明は、上記の課題を解決することのできる提供装置、システム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の一側面によれば、サービス要求メッセージを受信し、受信したサービス要求メッセージに含まれる入力データの構造に応じたサービスを提供する提供装置であって、受信するサービス要求メッセージのデータ構造が、当該メッセージに含まれる入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データを予め記憶している共通定義記憶部と、入力データおよび当該入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを、通信インターフェイスを用いて受信する受信部と、受信した当該サービス要求メッセージが仕様を満たすか否かを、受信した当該サービス要求メッセージの各要素が共通定義データの各要素にマッチするか否かに基づきCPUの動作により検証する共通検証部と、インターフェイスIDに対応付けて、当該インターフェイスIDによって識別されるデータ構造の仕様であって、共通定義データのうちデータ構造が互いに異なる何れの入力データにもマッチするANY要素とマッチした入力データが満たすべきデータ構造の仕様を定める個別定義データを予め記憶する個別定義記憶部と、当該サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データを個別定義記憶部からCPUの動作により検索して読み出す検索部と、当該サービス要求メッセージの各要素が、検索した個別定義データの各要素にマッチすることを条件に、当該サービス要求メッセージが仕様を満たしているとCPUの動作により判断する個別検証部と、当該サービス要求メッセージの各要素が共通定義データおよび個別定義データの各要素にマッチしたことを条件に、当該サービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理をCPUの動作により行うサービス処理部とを備える提供装置を提供する。また、当該提供装置として情報処理装置を機能させるプログラムおよび方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明を実施するための最良の形態(以下、実施形態と称す)を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、情報システム10の構成概要を示す。情報システム10は、サービス提供装置100−1〜Nと、当該サービス提供装置100−1〜Nのそれぞれに対応するサービス要求装置110−1〜Nとを備える。サービス提供装置100−1〜Nのそれぞれは、互いにデータ構造の異なる入力データに基づき類似のサービスを提供する。例えば、サービス提供装置100−1〜Nのそれぞれは、共に、ワークフロー管理に用いられる帳票のデータの提出処理を受け付ける。しかしながら、サービス提供装置100−1〜Nのそれぞれは、互いに異なる種類の帳票を処理の対象とする。
サービス提供装置100−1〜Nのそれぞれは、定義データ105−1〜Nのそれぞれを記憶している。定義データ105−1〜Nのそれぞれは、たとえばWSDLで記述されている。そして、サービス提供装置100−1〜Nのそれぞれは、対応するサービス要求装置110からサービス要求メッセージを受信すると、当該サービス要求メッセージのデータ構造が仕様を満たすか否かを、対応する定義データ105の各要素と当該サービス要求メッセージの各要素とが一致するか否かに基づいて検証する。図1では、定義データ105をサービス提供装置100に隣接して配置することで、定義データ105を用いた検証を模式的に示している。
また、この定義データ105は、対応するサービス要求装置110に対して公開されている。サービス要求装置110−1〜Nのそれぞれは、対応する定義データ105をサービス提供装置100から取得して記憶する。そして、サービス要求装置110−1〜Nのそれぞれの利用者は、取得した定義データ105を閲覧しながら、サービス要求のためのアプリケーションプログラムを、その要求メッセージが仕様に準拠するように作成して、当該サービス要求装置110において動作させる。これに代えて、サービス要求装置110−1〜Nのそれぞれは、定義データからアプリケーションプログラムを自動生成するソフトウェアによって、サービス要求のためのアプリケーションプログラムを自動生成してよい。
このように、入力データのデータ構造が互いに異なる同種のサービスを提供するためには、サービス提供装置および定義データのそれぞれを複数設けることもできる。しかしながら、この形態では、入力データのデータ構造の種類に応じてサービス提供装置が必要となる。例えば、異なるデータ構造の入力データを追加したい場合には、その定義データとして定義データ105−(N+1)を追加したうえで、新たにサービス提供装置100−(N+1)を追加しなければならない。サービス提供装置100−(N+1)の追加には、新たな装置の増設か、または、装置を増設しない場合であっても、ウェブページの構成を変更したり、サービス処理のためのアプリケーションプログラムを新たに開発する必要があって手間がかかる。
図2は、情報システム20の構成概要を示す。情報システム20は、サービス提供装置200と、サービス要求装置210とを備える。サービス提供装置200は、サービス要求メッセージが、互いに異なるデータ構造を有する複数の入力データの何れを含んでいる場合であっても、そのデータ構造に応じて処理を振り分けて適切なサービスを選択的に処理する。また、サービス提供装置200は定義データ205を記憶している。図1と同様、定義データ205は、サービス要求メッセージが仕様を満たすか否かの検証に用いられる。
定義データ205は、データ構造が互いに異なる何れの入力データにもマッチするANY要素を含む。即ち、サービス提供装置200は、入力データのデータ構造によらず共通して満たすべき仕様を満たすかどうかを、定義データ205に基づいて判断する。一方で、サービス提供装置200は、サービス要求メッセージに含まれる入力データが仕様を満たすかどうかについては、定義データ205に基づき判断しない。そして、サービス提供装置200は、入力データ以外のデータ構造が仕様を満たすことを条件に、その入力データに基づく処理を行う。
定義データ205は、サービス要求装置210に対し通知され、サービス要求装置210においてアプリケーションプログラムの開発に用いられる。但し、定義データ205は、入力データとしてANY要素を含むので、サービス要求のためのアプリケーションプログラムの自動生成には限界がある。即ち、プログラム開発者は、サービス提供装置200においてデータ構造に応じた処理の振分が行われることを熟知したうえで、その処理に適合するように適切なアプリケーションプログラムを作成しなければならない。このため、本来インターフェイス定義のために用いられる定義データ205が、その役割を果たせないこととなる。この結果、プログラムの仕様を正確には定めにくくなり、プログラムの保守・管理や改良には多くの労力と費用がかかるおそれがある。
これらに対し、以下に示すサービス提供装置30によれば、サービス要求装置に対しインターフェイス定義を明確に通知しつつも、異なる複数のデータ構造の入力データについて1つのサービス提供装置30により処理をさせることを可能とする。以下、具体的に述べる。
図3は、サービス提供装置30の機能構成を示す。サービス提供装置30は、サービス処理ユニット300と、インターフェイス定義ユニット310とを有し、サービス要求装置320−1〜Nのそれぞれからの要求に応じてサービスを処理することを目的とする。サービス処理ユニット300は、ウェブシステム上のあるロケーションに仮想的に割当てられている。即ち、サービス処理ユニット300は、外部から1つのURI(Uniform Resource Identifier)によって識別可能に管理されている。そして、サービス処理ユニット300は、サービス要求装置320−1〜Nの何れか(例えばサービス要求装置320−1とする)から、サービス要求メッセージを受信する。そして、サービス処理ユニット300は、そのサービス要求メッセージが、サービス処理ユニット300において処理可能なサービスを要求するために満たすべき仕様を満たすか否かを検証する。この検証は、入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データ、および、入力データのデータ構造が仕様を満たしているかどうかを個別的に検証する個別定義データに基づいて行われる。仕様が満たされることを条件に、サービス処理ユニット300は、サービスの処理を行ってその結果をサービス要求装置320−1に返答する。
インターフェイス定義ユニット310は、利用者から、入力データのデータ構造についての新たな仕様の入力を受け付ける。インターフェイス定義ユニット310は、この仕様に基づき個別定義データを生成して、サービス処理ユニット300に記憶させる。これにより、サービス処理ユニット300においてはこの個別定義データに基づきサービス要求メッセージを検証することができる。また、インターフェイス定義ユニット310は、生成した個別定義データをサービス要求装置320−1〜Nに対し通知する。これにより、サービス要求装置320−1〜Nのそれぞれは、その個別定義データに準拠したサービス要求メッセージを生成して、サービス処理ユニット300に送信することができる。
図4は、サービス処理ユニット300の機能構成を示す。サービス処理ユニット300は、共通定義記憶部400と、受信部410と、共通検証部420と、個別定義記憶部430と、検索部440と、個別検証部450と、サービス処理部460とを有し、サービス要求装置320−1〜Nに対しウェブ・サービスを提供する。これらの各部材は、後述のCPU1000およびRAM1020の動作により実現される、以下、これらの各部材の機能を、サービス処理ユニット300がサービス要求装置320−1からサービスの要求を受信してサービスを処理する場合を例に説明する。
共通定義記憶部400は、受信するサービス要求メッセージのデータ構造が、そのメッセージに含まれる入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データを予め記憶している。この共通定義データは、例えば、WSDL(Web Services Description Language)で記述されている。そして、この共通定義データは、XML(eXtensible Markup Language)のANYデータ型またはANY要素を含む。これらのANY型またはANY要素は、データ構造が互いに異なる複数の入力データの何れにもマッチする。これにより、サービス要求メッセージのうち入力データを除外した部分のみについて、その部分が仕様を満たすか判断できる。
受信部410は、入力データおよびその入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを、後述の通信インターフェイス1030を用いてサービス要求装置320−1から受信する。このサービス要求メッセージは、例えば、インターフェイスIDを要素として含むSOAP(Simple Object Access Protocol)メッセージである。このインターフェイスIDは、サービス要求装置320−1において動作するサービス要求のためのアプリケーションプログラムによって、SOAPメッセージ中の所定のタグの属性値として与えられてもよい。これに代えて、このインターフェイスIDは、SOAPメッセージ内で設定されたネームスペース名であってもよい。
共通検証部420は、共通定義データを共通定義記憶部400から読み出す。そして、共通検証部420は、受信したそのサービス要求メッセージが仕様を満たすか否かを、受信したそのサービス要求メッセージの各要素が共通定義データの各要素にマッチするか否かに基づきCPU1000の動作により検証する。例えば、共通定義データ中のANY要素は如何なるデータ構造の入力データにもマッチするので、サービス要求メッセージは如何なるデータ構造の入力データを含んでいたとしても共通の仕様は満たす。しかし、入力データを除く部分の各要素は、共通定義データに含まれる各要素に一致しなければ仕様を満たさない。一例として、この検証の判断は、WSDLのバリデーション処理として、XMLスキーマの技術を用いて実現されてもよい。
個別定義記憶部430は、インターフェイスIDに対応付けて、そのインターフェイスIDによって識別されるデータ構造の仕様を定める個別定義データを予め記憶する。これらの個別定義データは、共通定義データのうちANY要素とマッチした入力データが満たすべきデータ構造の仕様を定めるものである。また、これらの個別定義データのそれぞれは、共通定義データに含まれるANYデータ型またはANY要素を、互いにデータ型または識別情報が異なる入力データにマッチする複数の要素のそれぞれに置換することによって生成されてもよい。
検索部440は、サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データを個別定義記憶部430からCPUの動作により検索して読み出す。そして、個別検証部450は、サービス要求メッセージの各要素が、検索したその個別定義データの各要素にマッチすることを条件に、そのサービス要求メッセージが仕様を満たしているとCPU1000の動作により判断する。この判断も、WSDLのバリデーション処理として、XMLスキーマの技術を用いて実現されてもよい。
サービス処理部460は、サービス要求メッセージの各要素が共通定義データおよび個別定義データの各要素にマッチしたことを条件に、そのサービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理をCPU1000の動作により行う。
図5は、インターフェイス定義ユニット310の機能構成を示す。インターフェイス定義ユニット310は、入力部500と、定義データ生成部510と、定義データ管理部520とを有する。入力部500は、サービスの処理に対する入力データに含まれる入力項目毎に、その入力項目の項目名およびその入力項目のデータ型の入力を、キーボードやポインティングデバイスなどの入出力デバイスを介して利用者から受け取る。例えば、ワークフロー管理に用いられる帳票の提出を受け入れるサービスを提供する場合には、その帳票に記載するデータが入力データとなる。そして、帳票に含まれる各項目が、入力データの入力項目となる。そして、帳票の項目は、その項目の特性に応じて数値が入力される場合や、文字が入力される場合がある。このようなデータの特性がデータ型である。即ち、利用者は、新たな帳票についてその帳票の提出を受け入れるサービスを提供したい場合には、入力部500に対し、その帳票に含まれる各項目の項目名やデータ型その他の情報を、キーボード等を用いて入力すればよい。
定義データ生成部510は、CPU1000の動作により共通定義データを共通定義記憶部400から読み出して、その共通定義データに含まれるANY要素を、入力部500が受け取った項目名を要素名とし、かつ、入力部500が受け取ったデータ型をデータ型属性とした要素に置換する。そして、定義データ生成部510は、置換したその定義データを新たな個別定義データとして生成し、定義データ管理部520に対し出力する。定義データ管理部520は、CPU1000の動作により、生成したその個別定義データを、置換したその要素を識別するインターフェイスIDに対応付けて個別定義記憶部430に記憶し、そのインターフェイスIDを、サービス要求装置320−1〜Nに通知する。インターフェイスIDは、例えば利用者から入力項目名等と共に入力を受けることにより生成されてもよい。また、所定の規則に従って重複の無いような文字や記号・番号などを生成してインターフェイスIDとしてもよい。
これに代えて、インターフェイスIDは個別定義データに含めて生成されてもよい。たとえば、定義データ生成部510は、共通定義データ内のANY要素を項目名を要素名とする要素に置換したうえで、その要素の識別情報をネームスペース名としてその定義データに追加することで、新たな個別定義データを生成してもよい。この場合には、定義データ管理部520は、インターフェイスIDを個別定義データと区別してサービス要求装置320−1〜Nに通知する必要はない。定義データ管理部520は、個別定義データをサービス要求装置320−1〜Nに通知すれば、それに含まれるインターフェイスIDもサービス要求装置320−1〜Nに対し通知される。この場合、サービス要求装置320−1〜Nにおいては、通知を受けた個別定義データに準拠してサービス要求メッセージを生成すれば、インターフェイスIDに関する明示的な処理を行わなくとも、ネームスペース名として与えられたそのインターフェイスIDをサービス要求メッセージに含めることができる。
図6は、共通定義記憶部400に記憶された共通定義データの一例を示す。この共通定義データは、WSDLで記述されており、入力データのデータ構造を定める型定義のほか、メッセージ定義、バインディング定義およびサービス定義を含む。図6ではこの中の型定義を抜粋して示す。この共通定義データにおいて、3行目にはサービスの識別情報「submit」が定義されており、それに続く4行目から9行目にはそのサービスの処理に対する入力データのデータ構造が定義されている。具体的には、6行目は、fixedParameterという要素名のデータが文字列型「string」であることを示す。また、7行目はANY要素であり、任意のデータ型を有する任意の個数の要素とマッチする。5行目および8行目は、6行目および7行目に示す要素がこの順に記述されることを示す。即ち、サービス「submit」に対する入力データは、文字列型の要素「fixedParameter」を先頭とし、その後に任意の要素が入力されるデータである場合に仕様に準拠したと判断される。
11行目から17行目には、識別情報「submitResponse」のサービスを対比して示す。このサービスの入力データのデータ構造は、ANY要素を含んでいない。このため、このサービスに対しては予め定義された所定のデータ、即ち、識別情報が「submitReturn」であって文字列型のデータのみが入力として許可され、その他の場合には仕様を満たさないと判断される。
図7は、個別定義記憶部430のデータ構造の一例を示す。個別定義記憶部430は、インターフェイスIDに対応付けて、そのインターフェイスIDによって識別されるデータ構造の仕様を定める個別定義データを予め記憶する。個別定義データは、例えば、それぞれ独立したWSDLのファイルであり、その用途やサービスの処理内容に応じて異なるファイル名が付されていてもよい。例えば、インターフェイスIDが1の個別定義データは、テスト用.wsdlというファイルに格納されている。このファイルに格納された個別定義データをテスト用WSDLファイル700とする。検索部440は、受信したサービス要求メッセージからインターフェイスIDを読み出したうえで、そのインターフェイスIDに対応するWSDLファイルを個別定義記憶部430から検索する。そして、検索部440は、検索されたそのWSDLファイルを読み出して個別検証部450に出力する。
図8は、テスト用WSDLファイル700の一例を示す。図6の説明と同様、図8には個別定義データのうちデータ型定義を抜粋して示す。この個別定義データは、共通定義データのうちANY要素とマッチした入力データが満たすべきデータ構造の仕様を定める。そしてそのデータ構造は、図7に示したインターフェイスIDの「1」によって識別されるものである。具体的には、図8の3行目は、サービス「submit」のインターフェイスを定義することを示している。そして、その定義の実体は4行目から10行目までである。6行目に、fixedParameterという要素名のデータが文字列型「string」であることを示す。これは、図6の6行目と同様である。即ち6行目は、入力データのデータ構造が異なる場合であっても必ず満たすべき仕様を示している。
これに対し、7行目および8行目は、図6に示すANY要素に代えて、具体的な要素の名称およびデータ型を定義している。7行目は、variableParameter1という要素名のデータが文字列型「string」であることを示す。8行目は、variableParameter2という要素名のデータが文字列型「string」であることを示す。即ち、サービス要求メッセージにおいてfixedParameterに続く各要素は、共通検証部420によっては仕様を満たすか判断されないが、個別検証部450によっては具体的に仕様を満たすか判断される。
図8を参照して示したように、本発明に係るデータ構造とは、例えば、ある1つの要素のデータ型のみならず、複数の要素から構成されるデータにおける要素の数、各要素の識別名、および、各要素のデータ型を含む概念である。本実施形態に係るサービス提供装置30は、同一の識別名称を有するサービスに対し、このような様々な入力データを許容して、そのデータ構造に応じた適切な処理を選択的に実行できる。
図9は、利用者の入力に応じて個別定義データを生成する処理の流れを示す。入力部500は、入力用画面を利用者に表示して、入力項目名およびそのデータ型の入力を利用者から受け取る(S900)。また、入力部500は、その入力画面上でインターフェイスIDの入力を受け取る(S910)。図10を参照して、ワークフロー管理に用いられる帳票の提出を受け入れるサービスに関し、入力データである帳票データのインターフェイスを定義するための入力用画面を例示する。
図10は、入力部500によって表示される入力用画面の一例を示す。この入力用画面には、既に入力された入力項目の項目名が「フィールド名」フィールドに一覧表示されている。そして、それぞれの入力項目には、その役割を記した「コメント」と、その項目のデータ型を示す「タイプ」および「コンテナータイプ」と、その属性と、その入力項目をWSDLデータによる検証の対象とするか否かを示す情報とが対応付けて表示される。一例として、UserIdという入力項目は、申請者の識別情報を示しており、そのデータ型はテキスト型である。そして、その項目はWSDLデータによる検証の対象となっている。
利用者はポインティングデバイスなどである入力項目を選択すると、画面下側の「フィールドのプロパティ」において、その入力項目に関する事項が編集可能となる。即ち例えば、入力部500は、フィールドのプロパティにおける「フィールド名」の欄に入力された文字列を、入力項目の項目名として受け取る。この項目名は、個別定義データにおける入力データに含まれる要素の要素名となる。そして、入力部500は、そのフィールドのプロパティにおける「タイプ」または「コンテナータイプ」の欄に入力されたデータ型を、その入力項目のデータ型として受け取る。このデータ型は、個別定義データにおける入力データに含まれる要素の属性値となる。
また、入力部500は、画面上方においてインターフェイスIDの入力欄を表示する。即ち、入力部500は、このインターフェイスIDの入力欄に入力された文字列をインターフェイスIDとして受け取る。入力されたこのインターフェイスIDは、個別定義データのネームスペース名として、個別定義データに含めて生成されてもよいし、個別定義データとは独立して生成され、個別定義データに対応付けてサービス要求装置320−1〜N等に対し出力されてもよい。
図9に戻る。続いて、定義データ生成部510は、入力された項目名やデータ型に基づいて個別定義データを生成する(S920)。具体的には、まず、定義データ生成部510は、共通定義データを共通定義記憶部400から読み出す。そして、定義データ生成部510は、その共通定義データに含まれるANY要素を、入力部500が受け取った項目名を要素名とし、かつ、入力部500が受け取ったデータ型をデータ型属性とした要素に置換する。そして、定義データ生成部510は、置換したその定義データを新たな個別定義データとする。
次に、定義データ管理部520は、生成したその個別定義データを、置換したその要素を識別するインターフェイスIDに対応付けてサービス要求装置320−1〜Nに対し通知する(S930)。このインターフェイスIDは、例えば図10に例示したインターフェイスIDの入力欄に対し入力されたものである。通知を受けたサービス要求装置320−1〜Nのそれぞれは、例えば、そのインターフェイスIDに対応する個別定義データに基づき生成したサービス要求メッセージに、そのインターフェイスIDを含めてサービス提供装置30に対し送信することができる。そして、定義データ管理部520は、生成したその個別定義データを、対応するインターフェイスIDに対応付けて個別定義記憶部430に記憶する(S940)。
図11は、サービス要求メッセージの受信に応じてサービスを処理する流れを示す。受信部410は、入力データおよびその入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージをサービス要求装置320−1から受信する(S1100)。次に、共通検証部420は、サービス要求メッセージのデータ構造が入力データのデータ構造によらず共通して満たすべき仕様を満たすか否かを検証する(S1110)。具体的には、共通検証部420は、共通定義データを共通定義記憶部400から読み出して、受信したそのサービス要求メッセージの各要素がその共通定義データの各要素にマッチするか否かを判断する。例えば、入力データ以外の部分が仕様に反する場合や、インターフェイスIDが含まれていない場合には、共通して満たすべき仕様は満たされないと判断される。
検索部440は、サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データを個別定義記憶部430から検索して読み出す(S1120)。そのような個別定義データが検索されなければ(S1125:NO)、サービス処理部460は、サービス要求メッセージが仕様を満たさなかった旨のエラー報告を返答する(S1150)。個別定義データが検索された場合には(S1125:YES)、個別検証部450は、サービス要求メッセージがその個別定義データを満たすか否かを判断する(S1130)。この検証は、サービス要求メッセージの各要素と個別定義データの各要素とがマッチするか否かに基づいて行われる。
そして、サービス処理部460は、サービス要求メッセージの各要素が共通定義データおよび個別定義データの各要素にマッチしたことを条件に(S1140:YES)、そのサービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理を行う(S1160)。そして、サービス処理部460は、サービスの処理の処理結果を返答する(S1170)。一方で、サービス要求メッセージの何れかの要素が共通定義データまたは個別定義データ中の要素にマッチしなければ(S1140:NO)、サービス処理部460は、サービス要求メッセージが仕様に反する旨のエラー報告を返答する(S1150)。
図12は、サービス提供装置30として機能する情報処理装置1200のハードウェア構成の一例を示す。情報処理装置1200は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置1200が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置1200の起動時にCPU1000が実行するブートプログラムや、情報処理装置1200のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置1200に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置1200にインストールされて実行される。プログラムが情報処理装置1200等に働きかけて行わせる動作は、図1から図11において説明したサービス提供装置30における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置1200に提供してもよい。
以上、本実施形態に係るサービス提供装置30によれば、WSDLなどのインターフェイス定義において、互いに異なるデータ構造のデータを入力とする複数のサービスを、同一の識別名称によって管理することができる。これにより、サービスを要求する利用者にとっては、インターフェイス定義を利用してアプリケーションプログラムの開発を効率化できる。一方、サービスを提供する利用者にとっては、新たにサービスを追加する場合でも、新たにサービス提供装置30を追加する必要はなく、既存のサービス提供装置30をそのまま流用できる。また、定義データの開発に際しては、既存のプログラム言語におけるメソッドのオーバーロードに相当する機能を提供できる。さらには、新たにサービスを追加するために必要な新たな個別定義データの開発には、入力項目毎にデータ入力を可能としたインターフェイス定義ユニット310を提供することで、利用者の利便性を向上させることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。例えば、サービス提供装置30は、サービス処理後のメッセージの返信処理においても、共通定義データによる検証と個別定義データによる検証とをこの順に行ってもよい。即ち、共通定義データは、返信メッセージの出力データのデータ構造によらず共通して満たすべき仕様を定めている。一方、個別定義データは、返信メッセージの出力データのデータ構造が満たすべき仕様を定めている。そして、サービス提供装置30は、あるサービスを処理した場合には、そのサービスの出力メッセージのデータ構造を識別するインターフェイスIDをその出力メッセージに含めて生成する。そして、サービス提供装置30は、その出力メッセージが共通定義データを満たすか否かを判断したうえで、そのインターフェイスIDに対応する個別定義データを満たすか否かを判断する。それぞれ満たされれば、出力メッセージはサービス要求装置に対し返信される。この様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、情報システム10の構成概要を示す。 図2は、情報システム20の構成概要を示す。 図3は、サービス提供装置30の機能構成を示す。 図4は、サービス処理ユニット300の機能構成を示す。 図5は、インターフェイス定義ユニット310の機能構成を示す。 図6は、共通定義記憶部400に記憶された共通定義データの一例を示す。 図7は、個別定義記憶部430のデータ構造の一例を示す。 図8は、テスト用WSDLファイル700の一例を示す。 図9は、利用者の入力に応じて個別定義データを生成する処理の流れを示す。 図10は、入力部500によって表示される入力用画面の一例を示す。 図11は、サービス要求メッセージの受信に応じてサービスを処理する流れを示す。 図12は、サービス提供装置30として機能する情報処理装置1200のハードウェア構成の一例を示す。
符号の説明
10 情報システム
20 情報システム
30 サービス提供装置
100 サービス提供装置
105 定義データ
110 サービス要求装置
200 サービス提供装置
205 定義データ
210 サービス要求装置
300 サービス処理ユニット
310 インターフェイス定義ユニット
320 サービス要求装置
400 共通定義記憶部
410 受信部
420 共通検証部
430 個別定義記憶部
440 検索部
450 個別検証部
460 サービス処理部
500 入力部
510 定義データ生成部
520 定義データ管理部
700 テスト用WSDLファイル
1200 情報処理装置

Claims (8)

  1. サービス要求メッセージを受信し、受信したサービス要求メッセージに含まれる入力データの構造に応じたサービスを提供する提供装置であって、
    受信するサービス要求メッセージのデータ構造が、当該メッセージに含まれる入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データを予め記憶している共通定義記憶部と、
    入力データおよび当該入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを、通信インターフェイスを用いて受信する受信部と、
    受信した当該サービス要求メッセージが仕様を満たすか否かを、受信した当該サービス要求メッセージの各要素が前記共通定義データの各要素にマッチするか否かに基づきCPUの動作により検証する共通検証部と、
    インターフェイスIDに対応付けて、当該インターフェイスIDによって識別されるデータ構造の仕様であって、共通定義データのうちデータ構造が互いに異なる何れの入力データにもマッチするANY要素とマッチした入力データが満たすべきデータ構造の仕様を定める個別定義データを予め記憶する個別定義記憶部と、
    当該サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データを前記個別定義記憶部からCPUの動作により検索して読み出す検索部と、
    当該サービス要求メッセージの各要素が、検索した前記個別定義データの各要素にマッチすることを条件に、当該サービス要求メッセージが仕様を満たしているとCPUの動作により判断する個別検証部と、
    当該サービス要求メッセージの各要素が前記共通定義データおよび前記個別定義データの各要素にマッチしたことを条件に、当該サービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理をCPUの動作により行うサービス処理部と
    を備える提供装置。
  2. 当該提供装置はウェブ・サービスを提供する装置であり、
    前記共通定義記憶部は、共通定義データとして、XML(eXtensible Markup Language)のANYデータ型またはANY要素を含み、WSDL(Web Services Description Language)で記述されたデータを記憶しており、
    前記受信部は、サービス要求メッセージとして、インターフェイスIDを要素として含むSOAP(Simple Object Access Protocol)メッセージを受信し、
    前記共通検証部は、WSDLのバリデーション処理として、サービス要求メッセージの各要素が共通定義データの各要素にマッチするか否かを判断し、
    前記個別定義記憶部は、共通定義データに含まれるANYデータ型またはANY要素を、互いにデータ型または識別情報が異なる入力データにマッチする複数の要素のそれぞれに置換して得られる複数の個別定義データのそれぞれを予め記憶しており、
    前記個別検証部は、WSDLのバリデーション処理として、サービス要求メッセージの各要素が個別定義データの各要素にマッチするか否かを判断する
    請求項1に記載の提供装置。
  3. 前記受信部は、SOAPメッセージ内で設定されたネームスペース名を、インターフェイスIDとして受信する
    請求項2に記載の提供装置。
  4. 入力データに含まれる入力項目毎に、当該入力項目の項目名および当該入力項目のデータ型の入力を、入出力デバイスを介して利用者から受け取る入力部と、
    CPUの動作により共通定義データを前記共通定義記憶部から読み出して、当該共通定義データに含まれるANY要素を、前記入力部が受け取った項目名を要素名とし、かつ、前記入力部が受け取ったデータ型をデータ型属性とした要素に置換し、置換した当該要素の識別情報をネームスペース名として追加することにより新たな個別定義データを生成する定義データ生成部と、
    CPUの動作により、生成した当該個別定義データを前記個別定義記憶部に記憶し、生成した当該個別定義データを、サービスを要求する要求装置に通知する定義データ管理部と
    をさらに備える請求項3に記載の提供装置。
  5. 入力データに含まれる入力項目毎に、当該入力項目の項目名および当該入力項目のデータ型の入力を、入出力デバイスを介して利用者から受け取る入力部と、
    CPUの動作により共通定義データを前記共通定義記憶部から読み出して、当該共通定義データに含まれるANY要素を、前記入力部が受け取った項目名を要素名とし、かつ、前記入力部が受け取ったデータ型をデータ型属性とした要素に置換することにより新たな個別定義データを生成する定義データ生成部と、
    CPUの動作により、生成した当該個別定義データを、置換した当該要素を識別するインターフェイスIDに対応付けて前記個別定義記憶部に記憶し、当該インターフェイスIDを、サービスを要求する要求装置に通知する定義データ管理部と
    をさらに備える請求項2に記載の提供装置。
  6. サービスを要求するためにサービス要求メッセージを送信する要求装置と、当該サービス要求メッセージを受信し、受信したサービス要求メッセージに含まれる入力データの構造に応じたサービスを提供する提供装置とを備えるシステムであって、
    前記提供装置は、
    受信するサービス要求メッセージのデータ構造が、当該メッセージに含まれる入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データを予め記憶している共通定義記憶部と、
    入力データおよび当該入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを、通信インターフェイスを用いて受信する受信部と、
    受信した当該サービス要求メッセージが仕様を満たすか否かを、受信した当該サービス要求メッセージの各要素が前記共通定義データの各要素にマッチするか否かに基づきCPUの動作により検証する共通検証部と、
    インターフェイスIDに対応付けて、当該インターフェイスIDによって識別されるデータ構造の仕様であって、共通定義データのうちデータ構造が互いに異なる何れの入力データにもマッチするANY要素とマッチした入力データが満たすべきデータ構造の仕様を定める個別定義データを予め記憶する個別定義記憶部と、
    当該サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データを前記個別定義記憶部からCPUの動作により検索して読み出す検索部と、
    当該サービス要求メッセージの各要素が、検索した前記個別定義データの各要素にマッチすることを条件に、当該サービス要求メッセージが仕様を満たしているとCPUの動作により判断する個別検証部と、
    当該サービス要求メッセージの各要素が前記共通定義データおよび前記個別定義データの各要素にマッチしたことを条件に、当該サービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理をCPUの動作により行うサービス処理部と、
    CPUの動作により、それぞれの前記個別定義データを、当該個別定義データに含まれる入力データのデータ構造を識別するインターフェイスIDに対応付けて前記要求装置に通知する定義データ管理部と
    を有し、
    前記要求装置は、前記定義データ管理部から通知を受けたインターフェイスIDを、当該インターフェイスIDに対応する個別定義データに基づき生成したサービス要求メッセージに含めて前記提供装置に送信する、システム。
  7. サービス要求メッセージを受信し、受信したサービス要求メッセージに含まれる入力データの構造に応じたサービスを提供する提供装置として、情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    受信するサービス要求メッセージのデータ構造が、当該メッセージに含まれる入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データを予め記憶している共通定義記憶部と、
    入力データおよび当該入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを、通信インターフェイスを用いて受信する受信部と、
    受信した当該サービス要求メッセージが仕様を満たすか否かを、受信した当該サービス要求メッセージの各要素が前記共通定義データの各要素にマッチするか否かに基づきCPUの動作により検証する共通検証部と、
    インターフェイスIDに対応付けて、当該インターフェイスIDによって識別されるデータ構造の仕様であって、共通定義データのうち構造が互いに異なる何れの入力データにもマッチするANY要素とマッチした入力データが満たすべきデータ構造の仕様を定める個別定義データを予め記憶する個別定義記憶部と、
    当該サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データを前記個別定義記憶部からCPUの動作により検索して読み出す検索部と、
    当該サービス要求メッセージの各要素が、検索した前記個別定義データの各要素にマッチすることを条件に、当該サービス要求メッセージが仕様を満たしているとCPUの動作により判断する個別検証部と、
    当該サービス要求メッセージの各要素が前記共通定義データおよび前記個別定義データの各要素にマッチしたことを条件に、当該サービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理をCPUの動作により行うサービス処理部と
    して機能させるプログラム。
  8. サービス要求メッセージを受信し、受信したサービス要求メッセージに含まれる入力データの構造に応じたサービスを提供する方法であって、
    受信するサービス要求メッセージのデータ構造が、当該メッセージに含まれる入力データのデータ構造によらず共通して満たすべき仕様を定める共通定義データを予め記憶し、
    入力データおよび当該入力データのデータ構造を識別するインターフェイスIDを要素として含むサービス要求メッセージを、通信インターフェイスを用いて受信し、
    受信した当該サービス要求メッセージが仕様を満たすか否かを、受信した当該サービス要求メッセージの各要素が前記共通定義データの各要素にマッチするか否かに基づきCPUの動作により検証し、
    インターフェイスIDに対応付けて、当該インターフェイスIDによって識別されるデータ構造の仕様であって、共通定義データのうち構造が互いに異なる何れの入力データにもマッチするANY要素とマッチした入力データが満たすべきデータ構造の仕様を定める個別定義データを予め記憶し、
    当該サービス要求メッセージに含めて受信したインターフェイスIDに対応する個別定義データをCPUの動作により検索して読み出し、
    当該サービス要求メッセージの各要素が、検索した前記個別定義データの各要素にマッチすることを条件に、当該サービス要求メッセージが仕様を満たしているとCPUの動作により判断し、
    当該サービス要求メッセージの各要素が前記共通定義データおよび前記個別定義データの各要素にマッチしたことを条件に、当該サービス要求メッセージに含まれる入力データのデータ構造に応じたサービスの処理をCPUの動作により行う方法。
JP2006283156A 2006-10-17 2006-10-17 ウェブ・サービスを提供する装置およびその方法 Expired - Fee Related JP4285658B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006283156A JP4285658B2 (ja) 2006-10-17 2006-10-17 ウェブ・サービスを提供する装置およびその方法
US11/869,795 US7664782B2 (en) 2006-10-17 2007-10-10 Associating a set of related web services having different input data structures with a common identification name
CN2007101802508A CN101166197B (zh) 2006-10-17 2007-10-16 用于提供web服务的设备以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006283156A JP4285658B2 (ja) 2006-10-17 2006-10-17 ウェブ・サービスを提供する装置およびその方法

Publications (2)

Publication Number Publication Date
JP2008102637A true JP2008102637A (ja) 2008-05-01
JP4285658B2 JP4285658B2 (ja) 2009-06-24

Family

ID=39304272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006283156A Expired - Fee Related JP4285658B2 (ja) 2006-10-17 2006-10-17 ウェブ・サービスを提供する装置およびその方法

Country Status (3)

Country Link
US (1) US7664782B2 (ja)
JP (1) JP4285658B2 (ja)
CN (1) CN101166197B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072920A (ja) * 2008-09-18 2010-04-02 Fuji Xerox Co Ltd プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム
JP2014229174A (ja) * 2013-05-24 2014-12-08 三菱電機株式会社 通信データ構造圧縮装置、通信データ構造復元装置、通信データ圧縮復元システム、及び、通信データ圧縮復元方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8428997B2 (en) * 2005-11-21 2013-04-23 Accenture Global Services Limited Customer profitability and value analysis system
US8557937B1 (en) 2012-05-09 2013-10-15 Sabic Innovative Plastics Ip B.V. Rubber composition, method for its formation, and automotive tire containing the composition
US8302017B2 (en) * 2008-03-05 2012-10-30 Microsoft Corporation Definition for service interface
CN101848239B (zh) * 2010-05-11 2012-11-28 中国电子科技集团公司第二十八研究所 一种高时效性的分布式服务集成调用系统
CN102457569B (zh) * 2010-10-25 2014-04-02 中国科学院声学研究所 一种面向物联网应用的Web服务的冗余检测方法及系统
US9064289B2 (en) * 2012-03-20 2015-06-23 Massachusetts Mutual Life Insurance Company Service mediation model
CN102799629B (zh) * 2012-06-26 2015-05-20 天津大学 Wsdl文件质量保证系统及其实现方法
CN102917021A (zh) * 2012-09-19 2013-02-06 深圳市融创天下科技股份有限公司 一种基于Web服务的数据返回方法、系统和终端设备
US9177005B2 (en) * 2013-01-30 2015-11-03 Oracle International Corporation Resolving in-memory foreign keys in transmitted data packets from single-parent hierarchies
JP2019191931A (ja) * 2018-04-25 2019-10-31 富士通株式会社 情報処理システム、入力値検証支援プログラム、および入力値検証プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1152515C (zh) * 2001-06-21 2004-06-02 华为技术有限公司 基于策略的网络管理系统
JP2005174120A (ja) 2003-12-12 2005-06-30 Toshiba Corp Webサービス接続処理方法とシステム、およびプログラム
JP2005346408A (ja) 2004-06-03 2005-12-15 Hitachi Ltd ワークフローシステム間のwebサービス連携方法
JP2007011470A (ja) 2005-06-28 2007-01-18 Canon Inc サービス処理方法、装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072920A (ja) * 2008-09-18 2010-04-02 Fuji Xerox Co Ltd プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム
JP2014229174A (ja) * 2013-05-24 2014-12-08 三菱電機株式会社 通信データ構造圧縮装置、通信データ構造復元装置、通信データ圧縮復元システム、及び、通信データ圧縮復元方法

Also Published As

Publication number Publication date
CN101166197B (zh) 2011-06-15
CN101166197A (zh) 2008-04-23
US7664782B2 (en) 2010-02-16
JP4285658B2 (ja) 2009-06-24
US20080091729A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
JP4285658B2 (ja) ウェブ・サービスを提供する装置およびその方法
US9268802B2 (en) System and method for end-to-end exposure of exported representations of native data types to third-party applications
US20080301666A1 (en) System for aggregating content data and methods relating to analysis of same
US9292280B2 (en) Systems and methods for multi-tiered format registration for applications
TW201439792A (zh) 資料庫訪問系統及方法
US20080243848A1 (en) User specific logs in multi-user applications
US20150046451A1 (en) Information processing system, information processing method, and program
CN102693270A (zh) 用于内容管理和组件测试的可发布元数据
JP2016085609A (ja) 電子著作物のコンテンツの二次利用を支援する方法、並びに、電子著作物のコンテンツの二次利用を支援する為のサーバ・コンピュータ、及びそのサーバ・コンピュータ用プログラム
US20070283277A1 (en) Information processing apparatus, thumbnail management apparatus, content processing method, storage medium, and program
JP6582841B2 (ja) サービス提供システム、情報処理装置、プログラム及び情報処理システム
US20150370874A1 (en) In-Application File Conversion using Cloud Services
US9898463B2 (en) Document management server, document management method, and non-transitory storage medium storing program
JP2005275488A (ja) 入力支援方法およびプログラム
US8456659B2 (en) Access control system, apparatus, and program
JP5197726B2 (ja) 画面遷移制御装置
US11243867B1 (en) System for federated generation of user interfaces from a set of rules
JP2011159189A (ja) 通信システム、ポータルサーバ、認証サーバ、サービスサーバ、通信方法及びプログラム
US20090172515A1 (en) Data search apparatus and data search method thereof, and storage medium
JP2009181240A (ja) ワークフロー処理装置
JP2013045301A (ja) 業務フロー出力装置、業務フロー出力プログラム、及び業務フロー出力方法
JP6588306B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2024019840A (ja) 計算機システム及びシステム更新支援方法
JP5696280B1 (ja) 用語統一システム及び用語統一プログラム、並びに用語統一方法
JP6303445B2 (ja) 電子帳票システム、帳票検索装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080206

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081224

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090209

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090318

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

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees