JP5031772B2 - サービス作成方法、該方法を実装するコンピュータプログラム製品およびコンピュータシステム - Google Patents

サービス作成方法、該方法を実装するコンピュータプログラム製品およびコンピュータシステム Download PDF

Info

Publication number
JP5031772B2
JP5031772B2 JP2008551774A JP2008551774A JP5031772B2 JP 5031772 B2 JP5031772 B2 JP 5031772B2 JP 2008551774 A JP2008551774 A JP 2008551774A JP 2008551774 A JP2008551774 A JP 2008551774A JP 5031772 B2 JP5031772 B2 JP 5031772B2
Authority
JP
Japan
Prior art keywords
service
web service
web
services
description
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
JP2008551774A
Other languages
English (en)
Other versions
JP2009524173A (ja
Inventor
ラルベ,フイリツプ
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2009524173A publication Critical patent/JP2009524173A/ja
Application granted granted Critical
Publication of JP5031772B2 publication Critical patent/JP5031772B2/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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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/44Arrangements for executing specific programs
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、サービス作成方法、ならびにその方法を実装するコンピュータプログラム製品およびコンピュータシステムに関する。
この記述では、次の用語は、特に指定のない限り次に示す意味で使用される。
−「UDDIレジストリ」は、「Universal Description Discovery and Integration」の略であり、XMLベースのレジストリ、より詳細には特にSOAアーキテクチャ(「Service−Oriented Architectures、サービス指向アーキテクチャ」の略)内のウェブサービス専用のレジストリのことを指す。一定のサービスプロバイダの特定のレジストリと同様に、プライベートレジストリおよびパブリックレジストリの両方が存在する。UDDIレジストリにより、ネットワーク上で検索されるWebサービスの位置を突きとめることが可能になる。詳細には、UDDIレジストリは、Webサービスにアクセスするための情報と、サービスおよびその機能の簡単な記述などの文脈情報とを含む。UDDIレジストリは、詳細には、
−ビジネス関連情報を含むホワイトページと、
−WSDL標準を使用してこれらビジネスのWebサービスを列挙するイエローページと、
−提供されるサービスの特定の技術情報を提供するグリーンページと、を含む。この技術情報は、特に関連するサービス、リンク、またはビジネスプロセスの記述に関する。
−「コンピュータアプリケーション」は、ユーザにサービスを提供することが目的である任意のプログラムまたは合わせて動作するように意図された任意のプログラムのセットのことを指す。
−「BPEL」は、「Business Process Execution Language」の略であり、対話ロジックおよび対話プロトコルロジックの正式の表記に使用されるXML言語であり、これはWebサービスの対話モデルの意味論を拡大する。Webサービス間の対話に加えて、BPELはアプリケーションロジックおよび対話の順序を記述する。
−「組立て(composition)」は、Webサービスという状況で、新しい別個のWebサービスとして動作することができるサービスの集まりを指す。組み立てられたサービスにより実行されるプロセスの順序付けに重点を置く「編成(orchestration)」による組立てと、サービスの順序付けが、交換されるメッセージおよび組み立てられたサービスによるイベントの検討に基づく「振付け(choreography)」による組立てとの間で区別が行われる。
−「入力パラメータ」は、Webサービスの処理動作に入力として提供されるデータのことを指し、この動作の入力データは、この動作によって変換されて出力結果を提供する。
−「出力結果」は、入力データ(すなわち「パラメータ」)上でWebサービスの動作により実行された処理の結果生じる情報のことを指す。この出力結果が、Webサービスのユーザにより要求される製品であり、該ユーザは、場合によってはコンピュータアプリケーションまたは別のWebサービスである。
−「RSS」(「Really Simple Syndication」の略)は、Webページの内容を記述するために使用される、XMLに基づいたフォーマットであり、これによりウェブサイトのコンテンツに自動的に索引を付けて、利用可能にすることができる。
−「Webサービス」は、標準インターフェースを介してインターネット上でアクセス可能なアプリケーションのことを指し、これはXMLに基づく通信プロトコルなどの通信プロトコルを用いることによってアプリケーションまたは他のWebサービスと動的に情報を交換することができ、どのオペレーティングシステムおよびプログラミング言語が使用されるかにかかわらず、そうすることができる。実際のインターフェースに対してWebサービスは、入力データまたは「入力パラメータ」に基づく結果を与える処理動作を含む。Webサービスを利用するには、Webサービスに期待される入力データを与えることによって動作の1つが呼び出され、出力結果が取り出される。
−「SGML」は、デジタル文書の内容とその構造の関係を記述するために使用される標準化された言語である。
−「WSDL」は、W3Cによって標準化された言語(2001年3月15日付けバージョン1.1、http://www.w3.org/TR/wsdl参照)であり、詳細にはXMLを参照する言語である。WSDLは、次の要素、すなわちサービス名、動作、操作されるデータの型、およびこれらの型とこれらの動作のリンクを使用して、ウェブサービスへパブリックアクセスするためのインターフェースを記述する。このように、WSDLは、サービスを利用するための通信方法、通信プロトコル、およびこのサービスとの通信に要求されるメッセージフォーマットを示す。
−「XML」(「eXtensible Markup Language」の略)は、SGML言語上の改良であり、詳細にはHTML文書の設計者によって使用されて、データの構造に名前を付ける(personalizing)目的で、独自のタグを定義するものである。
最新の電気通信技術、特にインターネットにより、ユーザは様々なサービスにすばやくアクセスすることができる。問題が繰り返し起こる度に、ユーザの繰り返される要求に対処するために、適切なサービスを作成するのが一般的である。例えば、インターネットの検索エンジンには、機械翻訳などの拡張機能を提供するものがある。しかしながら、ユーザに起こる可能性のある問題によっては、既存のサービスでは解決されない。詳細には、(特定の技術の知識がない)ユーザが、一時的な問題を解決するサービスに、そのようなサービスがないのに、アクセスすることを希望する場合がある。例えば、IP端末(携帯電話、携帯情報端末、ポケットPCなど)のユーザが、所与のRSSサービスのユーザの母国語への翻訳を入手することを希望する場合がある。
したがって、(ユーザの)要求に基づいたサービスを作成する方法、ならびにこの方法を実装するコンピュータプログラム製品およびコンピュータシステムの必要性がある。
これを受けて本発明は、要求に基づいたサービスを作成する方法を開示し、自然言語の要求を意味的に解析するステップと、行われた自然言語の意味的解析に基づいてWebサービスの要件を識別するステップと、識別されたサービスの要件に基づいてWebサービスを決定し、順序付けするステップとを含む。
好ましい実施形態では、サービスを作成する本発明の方法は、次の特徴のうちの1つまたは複数を含む。
−このプロセスはさらに、順序付けされたWebサービスを編成するステップを含む。
−Webサービスを決定するステップは、UDDIレジストリにアクセスすることを含む。
−要求を意味的に解析するステップは、字句および意味の解析を含む。
−決定して順序付けするステップは、Webサービスを決定するステップと、次に決定したWebサービスを順序付けするステップとに分けられる。
−Webサービスを決定するステップは、Webサービスの記述に基づいてWebサービスの特性を識別することと、これらの特性の少なくともいくつかを識別した要件と比較することと、比較の結果によりWebサービスを決定することとを含む。
−Webサービスを順序付けするステップはさらに、識別した要件により順序付けするステップを含む。
−ウェブサービスの特性を識別する段階は、サービスのそれぞれについて、ウェブサービスの記述の取得と、このサービスの記述からこのサービスの特性を識別することとを含む。
−Webサービスの記述は、WSDL言語である。
−特性を識別するステップは、Webサービスの記述の意味解析を含む。
−順序付けするステップは、決定されたサービスのそれぞれについて少なくとも1つの識別された特性を含む互換性テストを含む。
−識別された特性は、サービスのそれぞれについて、それぞれが少なくとも3つのフィールドを有する少なくとも2組を含み、この組の1つの第1のフィールドはサービスの入力に関連し、この組の別の1つの第1のフィールドはサービスの出力に関連し、この組のそれぞれの第2のフィールドは第1のフィールドに関係するデータの型に関連し、この組のそれぞれの第3のフィールドは第1のフィールドに関係する意味タグに関連し、組立てのステップは、この組のそれぞれの3つのフィールドを含む互換性テストのステップを含む。
−本発明の方法はさらに、決定されて順序付けされたWebサービスに基づいて新しいWebサービスを作成するステップを含む。
−本発明の方法はさらに、決定されて順序付けされたWebサービスの承認を受信するステップと、新しいWebサービスを提供するステップとを含む。
本発明はまた、本発明の方法のステップを実装することができるコンピュータプログラム製品に関する。
本発明はまた、本発明の方法のステップを実装することができるコード手段を含むコンピュータシステムに関する。
本発明の他の特徴および利点は、単に一例としておよび例を参照して提示する、次に示す本発明の実施形態の詳細な説明、ならびに本発明の一実施形態による方法のステップおよび構成要素を示す添付の図面(唯一の図)を読んで明らかになるであろう。
このように、本発明は、要求に基づいてサービスを作成する方法を開示する。この方法は、携帯電話または携帯情報端末から送信された要求など自然言語の要求を意味的に解析するステップを含む。したがって、要求は、いかなる技術的知識を有する必要もなく、自然言語で構築されることが可能である。行われる意味解析により、Webサービスの要件(または仕様)を識別することが可能になる。次に、識別されたサービスの要件に基づいて、Webサービスの決定および順序付けが行われる。新しいサービスはその後、例えば対応する自然言語の要求を行ったユーザに対して利用可能になる。本発明の方法は、(例えば)携帯電話からの自然言語で表された要求に基づいて、インターネット上で見つけられる既存のコンポーネントのWebサービスを集めることによって新しいサービスを作成し、次に(適切な場合)提案されるコンポーネントサービスの順序付けを承認した後にこの新しいサービスをユーザに利用可能にすることを可能にする。
この方法は、複数の結合されたソフトウェアモジュールを含み、このモジュールのそれぞれが所与のタスクに割り当てられているアシスタントまたはアプリケーションなど「組み込まれた」コンピューティングツールの中に実装されるのが好ましい。
唯一の図は、本発明の一実施形態による方法のステップおよび構成要素を表す。
この図を参照すると、本発明のサービス作成方法100は、自然言語の要求を意味的に解析するステップ30を含む。
この要求は、例えば携帯情報端末150からユーザ120によって構築された(ステップ10)可能性がある。この要求は次に、電気通信網を介して送信され(ステップ20)、サーバに受信された(図示せず)。このテキストは、例えば、「I want to get the text of Reuters bulletins translated into German.(ロイターニュースのテキストをドイツ語に翻訳したい)」のようなものとすることができる。
上述のコンピューティングツールをサーバ側か、または上記クライアントの携帯電話もしくは携帯情報端末の中などクライアント側に実装することが可能であるということに注目されたい。
要求を解析するステップ30は、例えば構文解析器(言い換えれば「パーサ」、すなわち構文ユニットの認識に基づいて記述を解析することができるツール)、または意味解析器に結合された構文解析ルーチンを用いて実行されることが可能である。構文解析器と意味解析器のこの結合を、(第1の)「意味モジュール」と呼ぶことにする。このモジュールは、定義により、上述のコンピューティングツールに組み込まれることが可能であり、その目的は、要求の意味解析を行うことである。
この解析により、要求をコンピュータ可読フォーマットで論理的に構築することが可能になる。自然言語のテキストの様々な意味解析技術が知られている。一般に、名前、名前のそれぞれの定義、およびこれら名前間の働きが、要求から引き出されるまたは推定される。そのために、従来の技術で知られているように、辞書または文法的解析が使用される。
詳細には、意味解析のステップ30は、第1に、字句解析を含むことができる。先の例では、字句解析の第1の結果は、関係する単語、または必要に応じてその標準形のリストである(関係のない単語は無視される)。このリストを、表1に示す。
Figure 0005031772
第2に、表2に示すように、文脈固有の意味情報の一部が、意味解析モジュールによって追加されることが可能である。
Figure 0005031772
要求を字句的におよび意味的に解析するステップは、次にコンポーネントのWebサービスの要件(すなわち「仕様」)を識別する(ステップ35)ことを可能にする。先の例では、最初の要求の追加の意味情報および文法形態を考慮に入れ、意味モジュールが、コンポーネントサービスの次の要件を作り出すことができる:
−get/show the text
−translation of/version of/translate the text
−language=German
−news/bulletins/events/feeds
−company name=Reuters
さらに、次のステップ、すなわちWebサービスを決定するステップ40および順序付けするステップ50を容易にするために、これらの要件を、WSDLフォーマット(上記定義を参照)と互換性のあるフォーマットで構成することが可能である。詳細については、後に説明する。
この対のステップ40、50は、Webサービスを決定するステップ40と、決定したWebサービスを順序付けするステップ50に分割されることが好ましい。このように、サービスが決定された後に、順序付けがユーザに提示されて承認を求める(ステップ52)ことができる。ユーザは次に、これを承認する(ステップ55)か、または独自の順序付けを組み立てて、機械に順序付けさせ、好適なモジュールによって処理されることが可能である。
あるいは、Webサービスが次々に決定され、その後提示されて一部を逐次順序付けされることも可能である。このような場合、決定するステップ40および順序付けするステップ50は、ネストされる。しかしながら、順序付けが完了した後、この順序付けがさらに承認を求めてユーザに提示されることが可能である。この場合もやはり、所定の基準に基づいて算出された順序で、複数の順序付けが提案されることが可能であることに注意されたい。
一実施形態では、Webサービスを決定するステップ40は、該Webサービスの記述に基づいてWebサービスの特性を識別することを含む。このステップ中、利用可能なWebサービスは、例えば体系的に検討されることが可能である。Webサービスのそれぞれについて、特性が識別され、これらの特性の少なくともいくつかと以前に設定された要件との間で比較が行われる。これにより、比較の結果に基づいて、Webサービスを決定することが可能になる。
またより詳細には、Webサービスの特性の識別に関して、これらのサービスの標準化された記述が用いられる。好ましくは、Webサービスの個々の記述が使用される。このように、所与のWebサービスに対して上述のコンピューティングツールが、サービスの記述にアクセスし、その後この記述に基づいて特定の特性を識別する。これらの特性は、サービスの記述の中などに明確に存在するわけではないことに注意されたい。これらの特性は、本発明の方法によって推定される。
上述のように特にUDDIレジストリなどの記述カタログが利用可能である場合は、Webサービスの個々の記述を使用することが好ましい。
好ましくは、サービスの各記述は、例えばUDDIレジストリと同様に、WSDL言語である。このように、標準化された記述は、各Webサービスに利用可能である。さらに、公開されたWebサービスの外部のインターフェースからレジストリサーバによって自動的に作られるので、このような記述はレジストリサーバで常に利用可能である。これにより、この方法とのより大きな互換性がもたらされる。
さらに、このような記述を、構文解析器(すなわち上記「パーサ」)を使用するなどにより、自動的に解析することが可能である。(第2の)意味モジュールについては、下記で言及する。したがってこの第2のモジュールの機能は、WSDL記述を意味的に解析することである。
さらに詳細には、構文解析器は、例えば従来技術で知られているような字句解析を含むことができる。抽出された字句成分の意味を決定するために、次にWebサービスの記述の意味解析が行われる。
サービスの記述を解析することにより、サービスのそれぞれの特性を識別することが可能になる。例えば、これにより、サービスの動作のそれぞれの特性の組を識別することが可能になる。これらの特性は後に、識別されたサービスの接続性を判断するために使用される。
前もって設定された要件および識別された特性は、好ましくは同様に構成されているので、これらを比較することは(共有される特性の数に基づかれることによってなど)より容易にかつより速くなる。この比較が完了すると、所与の要件の組について、1つのWebサービス(または複数)が決定される。適切な場合には、ランキングを決定して、次に(比較の意味において)「最良の」サービスのみを保持することが有益であることもある。
コンポーネントのWebサービスを決定するステップ35が完了すると、所与の数の知られているサービスが利用可能である。次に、要求に示されたロジックに基づいてこれらのサービスを組み立てることが望ましい。
そうするには、前もって設定された要件を反映している識別された特性が、基準として使用されることが可能である。これらの特性により、次にサービスの接続性、すなわち接続するサービスの性質を決定することが可能になる。次に、これらのサービスを、その接続性に基づいて自動的に組み立てることが可能になる。
Webサービスの特性の中で、例えば所与のWebサービスの動作のそれぞれの少なくとも1つの入力および/または出力を識別することを求めることができる。
より一般的には、例えば各サービスの各動作の入力−出力を、「入力パラメータ」または「出力結果」として(上記のこれらの用語の定義を参照)検索することができる。このようにして、次にWebサービスの動作の入力特性/出力特性を比較することによって、Webサービスの接続性をテストすることが可能である。例えば、サービスBの動作の入力と互換性のある出力を提供する動作を有するサービスAは、サービスBに接続することができる。
サービスの接続性を判断するために、またこれらのサービスの将来の組立てを視野に入れて、一実施形態では、所与のWebサービスの動作の各入力および各出力について特性の組を形成することが可能である。
Webサービスの1つの動作が複数の入力または複数の出力を有する場合、Webサービスの記述が解析されると、対応する数の組が形成されることが可能である。
パラメータ自体の名前に加えて、これらの組は、例えばそれぞれ3つの(または、計画されているテストモデルによってはさらに多い)フィールドを有することができる。しかしながら、WSDL記述がどのように解釈されるかに応じて2つのフィールドを使用すれば十分であるとわかる可能性があることを理解すべきである。
したがって各組は、好ましくは3つのフィールドを有し、Webサービスの動作の入力パラメータまたは出力結果に関連する。第1のフィールドは、問題のパラメータまたは結果の入力または出力情報に関連する。各組の第2のフィールドは、パラメータまたは結果のデータの型を指定する。データの型は、サービスのWSDL記述で見つけられる要素の1つである。第3のフィールドは、意味タグ(すなわち、下の例では「SemTag」)に関連し、これはパラメータまたは結果と関連付けられる。意味タグは、ここではデータと関連付けられてデータを意味的にさらに特徴付ける働きをする名前、一連の文字、またはより一般的にはコードとみなされることが可能である。型が、WSDL記述から直接引き出されることが可能である場合、このWSDL記述が解析された後にタグが配置されるということに注意されたい。
次に、特性の互換性テストは、各組の各フィールドを含むことができる。
上述した第2の意味モジュールは、典型的に上記コンピューティングツールの一体部分を形成し、入力および出力の両方において、データの各型に意味タグを設置するために使用されることが可能である。このタグは、入力/出力データの性質を指定し、したがってデータがどのように処理されるかを指定する。このように、入力/出力データの各部分は、三要素によって次のように記述される:
{input or output、type of data、semantic tag}
後に述べるWeb翻訳サービスの入力の、3つのフィールドを使用した意味記述に対応するXMLファイルの抜粋を、以下に示す(このXMLファイルの抜粋は、対応するWSDLファイルで実行された意味処理の結果である):
Figure 0005031772
このように、各パラメータは、入力情報に加えて、パラメータ名、パラメータ型、およびパラメータの意味タグ(「semtag」)に対応する3つのフィールドを持つことがわかる。次にサービス間の互換性のテスト中に用いられる情報の三要素は、入力もしくは出力情報、情報の型、および意味タグである。
ここで、意味解析に関してさらに詳細な説明を行う。
WSDLファイルが解析されるときは必ず、型、メッセージ、動作、およびサービスの名前に対応する4つの主要部分が識別され得る。さらに、「PortType」および「Binding」に対応する他の情報が識別され(これら2つの用語は、WSDL記述の従来の用語である)、動作の入力/出力とメッセージとの関係を作り出す働きをする。
WSDL記述の第1の、また単に構文の解析レベルにより、サービスの「有用な」構文構造、すなわち必要かつ十分な情報を取得することができる。この情報は、主として上述の4つの部分から取得される。検索に役立たない要素は、削除される。残りの情報は整理し直され、「Binding」および「PortType」情報を用いて相互に連結される。これは、構文解析器を用いて容易に成し遂げられる。このレベルでは、意味データはまだ付加されない。
一例として、翻訳サービスに取得される有用な構文構造は、(用語をXML言語から取った)次のようなものである:
Figure 0005031772
有用な構文構造に基づいて、第2の意味モジュールを用いてより精密な解析が行われる。このモジュールは、例えば次の動作を課せられることが可能である。このモジュールは、使用されている用語(上記の用語の「Translate」、「lang」、「text」、「TranslateResult」など)を選んで、これらの用語を「連結解除する」ために、これらの用語を分解する(これらの用語は一般にプログラミング言語に使用される用語と同様の方法で書かれているか、または” ”などの文字で区切られている)。モジュールは次に、(辞書での検索によるなど)必要であれば、省略された用語を拡張する。先の例では、これは、「translate」、「text」、および「translate result」となる。このようにされた後、適切な辞書を用いて、モジュールは、名詞を直面する各動詞、ならびに各名詞の定義と関連付けようとする。適切な場合は、モジュールは、他のものではなく1つを保有するためにこれらの定義を調べる。補間技術が知られており、これにより、適切な場合、これらの処理タスクを簡略化し、容易に使用できる結果を得ることが可能になる。
上述の、第5のステップの主な目的は、サービスの上記の有用な構文構造の各入力/出力の名前のそれぞれに意味タグを追加することである。このように、タグの「text」が、対応する入力の「text」に配置される。このようにして、サービスの再加工された記述が取得される。翻訳サービスの例では、上述のXMLファイルの抜粋と同様の記述が取得される。
「スーパータグ(supertag)」と考えることができる意味タグを配置することにより、Webサービスの接続性を効率的に決定することが可能になる。しかしながら、他の意味解析技術がこの配置に用いられることも可能である。
この時点では、すべてのコンポーネントが、1つのWebサービスを他のWebサービスと接続可能にする。
次には、一例を用いてWebサービスの接続性を決定するステップについて説明する。
この例では、ユーザは、翻訳サービスおよびRSSサービスからRSSフィード(新聞のウェブサイトから抜き出したものなど)の翻訳の結果が表示されるようにしたいことを要求の中で表す。RSSフィードは、詳細にはニュースサイトからヘッドラインまたは全テキストを自動的に再生する。このフォーマットは、特に定期的にコンテンツが更新されるページを利用するために用いられる。
この場合、この時点で、要求が伝えられて解析され、そこからWebサービスの要件が引き出され、最終的に、UDDIレジストリを調べることによって、これらのWebサービスが発見されたと仮定する。したがって、必要なWebサービスが利用可能である。ここで、発生する1つの問題は、RSSコンテンツの一部分の機械翻訳を入手するために、いかにしてこれらのサービスを自動的に組み立てるかということである。
第1に、翻訳のWebサービスが利用可能であり、これは入力(第1の言語、すなわち「language 1」で書かれたテキスト)および出力(第2の言語、すなわち「language 2」で書かれた別のテキスト)を所有する。対応するWSDL記述の解析の結果、次の三要素の組によって記述された入力および出力データが識別される。
Figure 0005031772
用語「string」は、文字の列のことを指す。
RSSフィードを提供するWebサービスもまた、利用可能である。このWebサービスは、例えば上述のツールによって行われた解析の後に、次のように指定された出力を提供する。
Figure 0005031772
さらに、表示サービスが利用可能であり、解析の後に識別されたその特性は、次のように示すことができる。
Figure 0005031772
次に、組み立てられるサービスのそれぞれの接続性が、好ましくは1度に2つ決定される。そのために、Webサービスの1つの入力と、別のサービスの出力との間の意味的一致、すなわち2つの意味的三要素間の互換性が、検索されることが可能である。
この互換性は、詳細には3つの条件を満たすことができる。
a)第1の三要素が出力に関し、他方の三要素が入力に関する。
b)両方の型が同一であるか、または互換性がある。
c)両方の意味タグが同一であるか、または互換性がある。
このために、互換表が準備されて、上述のコンピューティングツールに利用できるようにされることが可能である。
上記の例では、互換性は自動的に次の方向でわかる:
RSSサービス−>翻訳サービス−>表示サービス
実際に、意味モジュールに利用可能に作られた表により、サービスのそれぞれを用いて、完全な1度に2つの一致を作り出すことができる。
一方、「RSSサービス−>表示サービス−>翻訳サービス」の順序は、表示サービスの出力と翻訳サービスの入力との間の意味的非互換性のため、考えられないであろう。
適切な場合は、第1のサービスからの同じ型の所与の数の出力を別のサービスからの入力に接続するために、対話プロセスすなわち「反復処理」が採用されることが可能であることに注意すべきである。これは、先の例では特に有効である。このように、各RSSサービスの出力(タイトル、記述など)が翻訳されて、表示される。
さらに詳細には、Webサービスの接続性の決定は、
i)Webサービスのそれぞれの入力−出力を調べることから導かれた論理的順序に基づいた第1のステップと、
ii)(上記の互換性テストを行うことによって)入力−出力自体の接続による、Webサービスの意味タグおよび型の詳細な記述に基づいた次のステップと
の2つのステップで行われることが可能である。
このように、特定のモジュールは、サービスの編成の順序(サービスXがサービスYの前に来るなど)を包括的に決定し、次により詳細なレベルでは、サービスのどの出力が別のサービスのどの入力と接続するかを決定することを課せられている。
包括的な編成の順序は、適切な場合上述のように、ユーザに提案されて(ステップ52)承認を求める(ステップ55)。しかしながら、このユーザは、この順序を変更する、または別のサービスを導入する決定をすることができる。
編成の順序は、例えば、規則データベースの中に実装されて、推論エンジンの制御下に置かれることが可能である経験則に基づいて決定されることが可能である。例えば、サービスAが、その入力−出力に、テキストに対応する意味タグを所有し、サービスBが、その入力に異なるまたは互換性のないタグを有する場合、順序は好ましくは、BからAとなる。
上記の例では、まず、その出力がテキストに対応する意味タグを有するRSSサービスが呼び出される(入力タグは、例えばWebアドレスに対応することができ、「テキスト」とは異なる)。次に、入力および出力にテキストに対応するタグを有する翻訳サービスが呼び出される。さらに、RSSサービスの出力は、翻訳サービスの入力に接続されることが可能である。
意味および型のタグを比較することから理解可能である明白な非互換性を考慮して、提案する自動的な接続は、
−RSSサービスのヘッドラインに対応するテキストの出力が、翻訳サービスの(唯一の)テキストの入力に接続されることが可能であり、
−RSSサービスの記述に対応するテキストの出力が、翻訳サービスの(唯一の)テキストの入力に接続されることが可能である。
これらの提案は、そのまま次の組立てのステップに保持されるか、適切な場合は上述のようにユーザに承認されることが可能である。
次に、接続性が確立されると、接続性に応じて特定の組立てモジュールによって、Webサービスの実際の組立てが行われる。そのために、例えば接続の文字列は、BPELなどの正式のオーケストレーションまたはコレオグラフィ言語に翻訳されることが可能である(本文書の始めの定義を参照)。次にこの接続の文字列は、別個のWebサービスであるので、これを実行することを課せられるオーケストレーションエンジンにサブミットされることが可能である(ステップ60)。詳細には、次の型の接続の文字列、すなわち
“Input 1” of service A => product “output 1”
−> “Input 2” of service B => product “output 2”
−> “Input 3” of service C => product “output 3”
が、翻訳されてオーケストレーションエンジンへサブミットされ、このオーケストレーションエンジンがサービスA、B、およびCから作成された別個のサービスDとしてこれを実行し、入力1を与えられると、「最終結果3」を直接提供することができる。
次に組立てモジュールにより、Webサービスを自動的に接続することが可能になる。
このようにして、上記のコンピューティングツールによって自動的に組み立てられたサービス(ステップ60)が取得される。
このようにして組み立てられたサービスは、ユーザに利用可能にされる(ステップ65、70)。
1つの代替方法では、適切な場合、サービスはさらにユーザに利用可能に(このような場合、作成されて)維持されて、所与の期間の間利用可能のままとすることが可能である。
このツールを一定のアプリケーションに組み込むことにより、リアルタイムでサービスの組立てを取得することが可能になる。上記の例では、必要な要素を指定して、所望の言語への翻訳を要求すると、所望の言語に翻訳されたRSSフィードを取得することが可能である。
当然ながら、他の例および組立てが予測される可能性がある。
本発明の一実施形態による方法のステップおよび構成要素を表す図である。

Claims (16)

  1. 要求からサービスを作成する方法(100)であって、
    第1の意味手段により自然言語の要求を意味的に解析する(30)ステップと、
    行われた意味解析(30)に基づいて識別手段によりWebサービスの要件を識別する(35)ステップと、
    識別されたサービスの要件に基づいて第2の意味手段によりWebサービスを決定する(40)ステップと
    順序付け手段により決定されたWebサービスを順序付けする(50)ステップと
    を含む、方法。
  2. 組み立て手段により順序付けされたウェブサービスを編成する(60)ステップをさらに含む、請求項1に記載の方法(100)。
  3. Webサービスを決定するステップが、UDDIレジストリ(200)にアクセスする行為を含む、請求項1に記載の方法(100)。
  4. 要求を意味的に解析する(30)ステップが、
    字句および意味解析(30)
    を含む、請求項1に記載の方法(100)。
  5. Webサービスを決定する(40)ステップが、
    Webサービスの記述に基づいてWebサービスの特性を識別することと、
    これらの特性の少なくともいくつかを識別された要件と比較することと、
    比較の結果に基づいてWebサービスを決定することと
    を含む、請求項に記載の方法(100)。
  6. Webサービスを順序付けする(50)ステップがさらに、
    識別された要件に基づいて順序付けするステップ
    を含む、請求項に記載の方法(100)。
  7. Webサービスの特性を識別するステップが、サービスのそれぞれについて、
    Webサービスの記述にアクセスすることと、
    そのサービスの記述に基づいてそのサービスの特性を識別することと
    を含む、請求項に記載の方法(100)。
  8. Webサービスの記述がWSDL言語である、請求項に記載の方法(100)。
  9. 特性を識別するステップが、Webサービスの記述の意味解析を含む、請求項に記載の方法(100)。
  10. 識別された特性が、決定されたサービスのそれぞれの入力および/または出力を含む、請求項に記載の方法(100)。
  11. 順序付けする(50)ステップが、
    決定されたサービスのそれぞれに少なくとも1つの識別された特性を含む互換性テスト
    を含む、請求項に記載の方法(100)。
  12. 識別された特性が、サービスのそれぞれについて、
    それぞれが少なくとも3つのフィールドを有する少なくとも2つの組であって、
    組の1つの第1のフィールドが、サービスの入力に関係し、
    別の組の第1のフィールドが、サービスの出力に関係し、
    組のそれぞれの第2のフィールドが、第1のフィールドと関連するデータの型に関係し、
    組のそれぞれの第3のフィールドが、第1のフィールドに関連する意味タグに関係する組を含み、組立てステップがさらに、
    組のそれぞれの3つのフィールドを含む互換性テストのステップを含む、
    請求項10に記載の方法(100)。
  13. 決定されて順序付けされたWebサービスに基づいて新しいWebサービスを作成する(60)ステップ
    をさらに含む、請求項1に記載の方法(100)。
  14. 決定されて順序付けされたWebサービスの承認を受信する(55)ステップと
    新しいWebサービスを利用可能にする(65)ステップと
    をさらに含む、請求項13に記載の方法(100)。
  15. 請求項1から14のいずれか一項の方法(100)のステップを実装するコンピュータプログラム。
  16. 請求項1から14のいずれか一項の方法(100)のステップを実装する手段を含むコンピュータシステム。
JP2008551774A 2006-01-24 2007-01-23 サービス作成方法、該方法を実装するコンピュータプログラム製品およびコンピュータシステム Expired - Fee Related JP5031772B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06300061.6 2006-01-24
EP06300061A EP1818816A1 (fr) 2006-01-24 2006-01-24 Procédé de création de service, produit de programme d'ordinateur et système informatique de mise en oeuvre de ce procédé
PCT/EP2007/050639 WO2007085589A2 (fr) 2006-01-24 2007-01-23 Procede de creation de service, produit de programme d'ordinateur et systeme informatique de mise en œuvre de ce procede

Publications (2)

Publication Number Publication Date
JP2009524173A JP2009524173A (ja) 2009-06-25
JP5031772B2 true JP5031772B2 (ja) 2012-09-26

Family

ID=36593136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008551774A Expired - Fee Related JP5031772B2 (ja) 2006-01-24 2007-01-23 サービス作成方法、該方法を実装するコンピュータプログラム製品およびコンピュータシステム

Country Status (6)

Country Link
US (1) US8032644B2 (ja)
EP (1) EP1818816A1 (ja)
JP (1) JP5031772B2 (ja)
KR (1) KR101192874B1 (ja)
CN (1) CN101375247B (ja)
WO (1) WO2007085589A2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1811373A1 (fr) * 2006-01-24 2007-07-25 Alcatel Lucent Procédé de composition automatique de services web, produit de programme d'ordinateur et système informatique de mise en oeuvre de ce procédé
US8156201B2 (en) 2007-02-20 2012-04-10 Microsoft Corporation Unifying discoverability of a website's services
US8452789B2 (en) * 2007-10-15 2013-05-28 International Business Machines Corporation Searching a database
EP2071452A1 (en) * 2007-12-07 2009-06-17 Alcatel Lucent Device and method for automatically building applications from specifications and from off-the-shelf components selected by semantic analysis
US8229736B2 (en) * 2008-04-16 2012-07-24 International Business Machines Corporation Transforming a natural language request for modifying a set of subscriptions for a publish/subscribe topic string
US8539061B2 (en) * 2008-09-19 2013-09-17 Georgia Tech Research Corporation Systems and methods for web service architectures
CN101656690B (zh) * 2009-07-17 2011-10-26 赵维 一种远程分工协作系统和方法
US8504400B2 (en) 2010-03-24 2013-08-06 International Business Machines Corporation Dynamically optimized distributed cloud computing-based business process management (BPM) system
JP2012212210A (ja) * 2011-03-30 2012-11-01 Hitachi Ltd 接続先決定装置、接続先決定方法、および、サービス連携システム
CN102752498A (zh) * 2011-12-29 2012-10-24 新奥特(北京)视频技术有限公司 一种系统互联的方法和服务器
US20130232511A1 (en) * 2012-03-05 2013-09-05 International Business Machine Corporation Service resolution within disparate programming models
US10817662B2 (en) 2013-05-21 2020-10-27 Kim Technologies Limited Expert system for automation, data collection, validation and managed storage without programming and without deployment
CN103631882B (zh) * 2013-11-14 2017-01-18 北京邮电大学 基于图挖掘技术的语义化业务生成系统和方法
CN105005569A (zh) * 2014-04-24 2015-10-28 吕海港 一种具有中英双语对照标题的rss订阅系统和方法
CN104731606B (zh) * 2015-04-10 2018-05-18 上海普坤信息科技有限公司 基于识别抓取技术实现企业应用集成管理的系统及方法
CN104866422B (zh) * 2015-05-20 2019-02-05 中国互联网络信息中心 Web Service自动化测试系统和方法
WO2018053418A1 (en) 2016-09-19 2018-03-22 Kim Technologies Limited Actively adapted knowledge base, content calibration, and content recognition
CN109213991A (zh) * 2017-07-05 2019-01-15 中兴通讯股份有限公司 消息处理方法、系统、云平台及存储介质
US10528664B2 (en) 2017-11-13 2020-01-07 Accenture Global Solutions Limited Preserving and processing ambiguity in natural language
US11281864B2 (en) * 2018-12-19 2022-03-22 Accenture Global Solutions Limited Dependency graph based natural language processing
US10747958B2 (en) * 2018-12-19 2020-08-18 Accenture Global Solutions Limited Dependency graph based natural language processing
US11397739B2 (en) 2020-03-10 2022-07-26 International Business Machines Corporation Automated information technology services composition
CN112631696B (zh) * 2020-12-29 2021-10-22 智慧神州(北京)科技有限公司 服务的编排方法、编排装置、处理器与服务的编排系统
CN117015069A (zh) * 2022-04-29 2023-11-07 中国电信股份有限公司 网络连接方法及装置、计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US7457946B2 (en) * 2002-10-17 2008-11-25 International Business Machines Corporation Method and program product for privately communicating web requests
KR100479333B1 (ko) * 2002-11-22 2005-03-31 한국전자통신연구원 ebXML 레지스트리에 기반을 둔 UDDI 웹서비스레지스트리 시스템과 그 관리 방법
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US8046440B2 (en) * 2004-08-19 2011-10-25 International Business Machines Corporation Managing resources through user-facing web services aggregated in portals
US20060253476A1 (en) * 2005-05-09 2006-11-09 Roth Mary A Technique for relationship discovery in schemas using semantic name indexing
US20070005739A1 (en) * 2005-06-30 2007-01-04 International Business Machines Corporation Method and apparatus for dynamically controlling the selection and redundancy of web service components

Also Published As

Publication number Publication date
WO2007085589A3 (fr) 2008-02-07
JP2009524173A (ja) 2009-06-25
EP1818816A1 (fr) 2007-08-15
US8032644B2 (en) 2011-10-04
US20090216884A1 (en) 2009-08-27
KR20080087867A (ko) 2008-10-01
CN101375247A (zh) 2009-02-25
KR101192874B1 (ko) 2012-10-18
CN101375247B (zh) 2016-09-28
WO2007085589A2 (fr) 2007-08-02

Similar Documents

Publication Publication Date Title
JP5031772B2 (ja) サービス作成方法、該方法を実装するコンピュータプログラム製品およびコンピュータシステム
US20080077565A1 (en) Method for finding at least one web service, among a plurality of web services described by respective semantic descriptions, in different forms or languages
CN100576201C (zh) 用于从自然语言文本开发本体的方法和电子数据处理系统
US8484611B2 (en) Method and system for simplified assembly of information processing applications
US8977636B2 (en) Synthesizing aggregate data of disparate data types into data of a uniform data type
US20020032706A1 (en) Method and system for building internet-based applications
JP2012150822A (ja) コマンド索引のためのローカル記憶装置および拡張記憶装置を使用したコマンドスクリプトの解釈
JP2009059353A (ja) 選択的に情報を検索しその後その情報の表示を可能にする装置および方法
US20040167749A1 (en) Interface and method for testing a website
JP5026192B2 (ja) ドキュメント作成システム、ユーザ端末、サーバ装置、およびプログラム
EP1835417A1 (en) Web service with associated lexical tree
AU2010241304B2 (en) Systems, methods, and software for retrieving information using multiple query languages
JP2005346495A (ja) 情報処理システム、情報処理方法、および情報処理プログラム
US20070288248A1 (en) System and method for online service of web wide datasets forming, joining and mining
US7447697B2 (en) Method of and system for providing path based object to XML mapping
US20070198489A1 (en) System and method for searching web sites for data
US20070174251A1 (en) System and method for analyzing commands for searching data
Campbell An Overview of Ontology Application for Policy-based Management using POPPET
Abou-Zahra Managing and monitoring web site accessibility
WO2017192252A1 (en) Computer implemented systems and methods for dynamic and heuristically-generated search returns of particular relevance
Chernov et al. Search Your Own Treebank.
Sfakakis et al. Eliminating query failures in a work‐centric library meta‐search environment
Xianga et al. Ontobee: A Linked Data Server that publishes RDF and HTML data simultaneously
Song et al. extending interactive web services for improving presentation level integration in web portals
Soares et al. Specification of a MIB XML for Systems Management

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees