(57)【要約】【課題】ユーザのスキルやプログラミング開発経験に関係なく、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮する。【解決手段】サービス代理処理シナリオ２は、例えば、ユーザが複数のウェブサービスコンポーネントを連携して実行したい場合に、どのサービスを連携実行するかを記述したシナリオであり、具体的なサービスを特定せずに、抽象的な意味データとしてサービス連携を指示する。サービス代理処理エンジン３は、上記サービス代理処理シナリオ２で要求されたサービスに対して、サービス代理処理を行うためのエンジンであり、処理結果をサービスとしてサービス代理処理シナリオ２へ提供する。【選択図】図１
2009205355.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して利用可能なサービスエレメントと通信を行うサービス代理処理装置であって、
前記サービスエレメントに対する抽象的な実行要求を行う手順が、プログラミング言語で記述されたサービスシナリオを実行し、前記サービスエレメントへの前記抽象的な実行要求を生成するサービス代理処理シナリオ実行部と、
前記サービスエレメントを実行するためのインタフェースがマークアップ言語で記述されたサービスエレメント情報を記憶するサービスエレメント情報記憶部と、
前記サービス代理処理シナリオ実行部が生成する前記前記抽象的な実行要求に対応する最適な前記サービスエレメント情報を、前記サービスエレメント情報記憶部から読み出し、読み出したサービスエレメント情報に基づいて、前記サービスエレメントへの実行要求を前記サービス代理処理シナリオ実行部に代理して行うサービス代理処理エンジンと、
を備えることを特徴とするサービス代理処理装置。
【請求項２】
前記サービス代理処理エンジンは、
前記プログラミング言語に基づいて処理を実行する際に生成される抽象的な実行要求のインタフェースを、当該実行要求に対応する前記サービスエレメント情報に記述されたインタフェースに解決するインタフェース処理部と、
前記サービス代理処理シナリオ実行部が生成する前記実行要求に対応する１または複数の前記サービスエレメント情報を、サービスエレメント情報記憶部から検索し、検索した１または複数の前記サービスエレメント情報のうち、前記実行要求に最適なサービスエレメント情報を選択し、選択されたサービスエレメント情報について前記インタフェース処理部に解決された前記インタフェースに基づいて、前記サービスエレメントへの実行要求を行うサービス代理処理部と、
を備えることを特徴とする請求項１に記載のサービス代理処理装置。
【請求項３】
前記サービス処理部は、
前記サービス代理処理シナリオ実行部が生成する前記実行要求に対応する１または複数の前記サービスエレメント情報を、サービスエレメント情報記憶部から検索するサービスエレメント検索部と、
前記サービスエレメント検索部に検索された前記１または複数のサービスエレメント情報のうち、前記サービス代理処理シナリオ実行部が生成した前記抽象的な実行要求の要求先として最適な１または複数のサービスエレメント情報を選択するサービスエレメント選択部と、
前記サービスエレメント選択部に選択された１または複数の前記サービスエレメント情報に基づいて、１または複数の前記サービスエレメントを連携実行するサービスエレメント連携実行部と、
を備えることを特徴とする請求項２に記載のサービス代理処理装置。
【請求項４】
ネットワークを介して利用可能なサービスエレメントと通信を行い、前記サービスエレメントを実行するためのインタフェースがマークアップ言語で記述されたサービスエレメント情報を記憶するサービスエレメント情報記憶部を備えるサービス代理処理装置を用いたサービス代理処理方法であって、
サービス代理処理シナリオ実行部が、前記サービスエレメントに対する抽象的な実行要求を行う手順がプログラミング言語で記述されたサービスシナリオを実行し、前記サービスエレメントへの前記抽象的な実行要求を生成するステップと、
サービス代理処理エンジンが、前記前記抽象的な実行要求に対応する最適な前記サービスエレメント情報を、前記サービスエレメント情報記憶部から読み出し、読み出したサービスエレメント情報に基づいて、前記サービスエレメントへの実行要求を前記サービス代理処理シナリオ実行部に代理して行うステップと、
を備えることを特徴とするサービス代理処理方法。
【請求項５】
ネットワークを介して利用可能なサービスエレメントと通信を行い、前記サービスエレメントを実行するためのインタフェースがマークアップ言語で記述されたサービスエレメント情報を記憶するサービスエレメント情報記憶部を備えるサービス代理処理装置のコンピュータに、
サービス代理処理シナリオ実行部が、前記サービスエレメントに対する抽象的な実行要求を行う手順がプログラミング言語で記述されたサービスシナリオを実行し、前記サービスエレメントへの前記抽象的な実行要求を生成するステップと、
サービス代理処理エンジンが、前記前記抽象的な実行要求に対応する最適な前記サービスエレメント情報を、前記サービスエレメント情報記憶部から読み出し、読み出したサービスエレメント情報に基づいて、前記サービスエレメントへの実行要求を前記サービス代理処理シナリオ実行部に代理して行うステップと、
を実行させるサービス代理処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザによる要求サービスを代理処理するためのサービスシナリオ記述を支援するサービス代理処理装置、サービス代理処理方法及びサービス代理処理プログラムに関する。
【背景技術】
【０００２】
現在、既存の電話網を次世代ネットワークであるＮＧＮ（Next Generation Network）へ置き換えるプロジェクトが進行中である。ＮＧＮでは、電話網はＩＰ化され、Ｗｅｂサービスとテレコムネットワークとの連携が容易になり、新規サービスの創出が期待されている。Ｗｅｂサービスとは、Ｗｅｂ上のサービスを行うための部品として扱われるサービスコンポーネントのことである。
【０００３】
Ｗｅｂサービス連携基盤として、サービス合成エンジンが検討されている（例えば、特許文献１参照）。該サービス合成エンジンは、サービス実行シナリオを記述したサービステンプレートに基づいて、各種コンポーネントであるサービスエレメントを発見、実行することにより、ユーザの嗜好や、状況などに応じたサービス提案を行う技術である。
【０００４】
該サービス合成エンジンでは、シナリオ実行時にセマンティックＷＥＢ技術であるＯＷＬ−Ｓ（Web Ontology Language）を用いて抽象コンポーネント動作を記述したプロセスモデルを元に、利用可能なサービスエレメントを発見、選択する。更に、サービスエレメント毎に異なる入出力インタフェースを解決して、抽象コンポーネントを起動するための１つのＷＳＤＬ（Web Services Description Language）としてシナリオに見せることで、エンドユーザは、ＳＯＡＰ（Simple Object Access Protocol）メッセージによる通信が可能である。
【特許文献１】特開２００５−１９６６７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述した従来技術では、サービステンプレートを記述するためには、複数のＷｅｂサービスを連携するシナリオを作成する必要がある。しかしながら、サービスシナリオの作成は、ユーザが手動で作成するため、時間がかかり、ユーザに合わせた細かなカスタマイズをするのが困難であるという問題がある。
【０００６】
また、サービス合成エンジンでは、アプリケーションを作成するユーザのスキルや、開発経験などに関係なく、サービスシナリオの記述を特定の言語で行う作成方式を採用しているが、サービスシナリオ記述のための制限事項や、文法などの独自制約があるため、ユーザのスキルや、開発経験などによっては、サービスシナリオの作成が困難であるという問題がある。
【０００７】
このように、従来技術では、新しいサービスシナリオを作成するための作業工程において、独自制約が存在するため、シナリオ作成ユーザによっては、サービスシナリオ作成が複雑であり、時間がかかってしまうため、効率が悪いという問題がある。
【０００８】
本発明は、このような事情を考慮してなされたものであり、その目的は、ユーザのスキルやプログラミング開発経験に関係なく、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮することができるサービス代理処理装置、サービス代理処理方法及びサービス代理処理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明は、ネットワークを介して利用可能なサービスエレメントと通信を行うサービス代理処理装置であって、サービスエレメントに対する抽象的な実行要求を行う手順が、プログラミング言語で記述されたサービスシナリオを実行し、サービスエレメントへの抽象的な実行要求を生成するサービス代理処理シナリオ実行部と、サービスエレメントを実行するためのインタフェースがマークアップ言語で記述されたサービスエレメント情報を記憶するサービスエレメント情報記憶部と、サービス代理処理シナリオ実行部が生成する抽象的な実行要求に対応する最適なサービスエレメント情報を、サービスエレメント情報記憶部から読み出し、読み出したサービスエレメント情報に基づいて、サービスエレメントへの実行要求をサービス代理処理シナリオ実行部に代理して行うサービス代理処理エンジンと、を備えることを特徴とするサービス代理処理装置である。
【００１０】
また、本発明は、上述のサービス代理処理エンジンは、プログラミング言語に基づいて処理を実行する際に生成される抽象的な実行要求のインタフェースを、実行要求に対応するサービスエレメント情報に記述されたインタフェースに解決するインタフェース処理部と、サービス代理処理シナリオ実行部が生成する実行要求に対応する１または複数のサービスエレメント情報を、サービスエレメント情報記憶部から検索し、検索した１または複数のサービスエレメント情報のうち、実行要求に最適なサービスエレメント情報を選択し、選択されたサービスエレメント情報についてインタフェース処理部に解決されたインタフェースに基づいて、サービスエレメントへの実行要求を行うサービス代理処理部と、を備えることを特徴とする。
【００１１】
また、本発明は、上述のサービス処理部は、サービス代理処理シナリオ実行部が生成する実行要求に対応する１または複数のサービスエレメント情報を、サービスエレメント情報記憶部から検索するサービスエレメント検索部と、サービスエレメント検索部に検索された１または複数のサービスエレメント情報のうち、サービス代理処理シナリオ実行部が生成した抽象的な実行要求の要求先として最適な１または複数のサービスエレメント情報を選択するサービスエレメント選択部と、サービスエレメント選択部に選択された１または複数のサービスエレメント情報に基づいて、１または複数のサービスエレメントを連携実行するサービスエレメント連携実行部と、を備えることを特徴とする。
【００１２】
また、本発明は、ネットワークを介して利用可能なサービスエレメントと通信を行い、サービスエレメントを実行するためのインタフェースがマークアップ言語で記述されたサービスエレメント情報を記憶するサービスエレメント情報記憶部を備えるサービス代理処理装置を用いたサービス代理処理方法であって、サービス代理処理シナリオ実行部が、サービスエレメントに対する抽象的な実行要求を行う手順がプログラミング言語で記述されたサービスシナリオを実行し、サービスエレメントへの抽象的な実行要求を生成するステップと、サービス代理処理エンジンが、抽象的な実行要求に対応する最適なサービスエレメント情報を、サービスエレメント情報記憶部から読み出し、読み出したサービスエレメント情報に基づいて、サービスエレメントへの実行要求をサービス代理処理シナリオ実行部に代理して行うステップと、を備えることを特徴とするサービス代理処理方法である。
【００１３】
また、本発明は、ネットワークを介して利用可能なサービスエレメントと通信を行い、サービスエレメントを実行するためのインタフェースがマークアップ言語で記述されたサービスエレメント情報を記憶するサービスエレメント情報記憶部を備えるサービス代理処理装置のコンピュータに、サービス代理処理シナリオ実行部が、サービスエレメントに対する抽象的な実行要求を行う手順がプログラミング言語で記述されたサービスシナリオを実行し、サービスエレメントへの抽象的な実行要求を生成するステップと、サービス代理処理エンジンが、抽象的な実行要求に対応する最適なサービスエレメント情報を、サービスエレメント情報記憶部から読み出し、読み出したサービスエレメント情報に基づいて、サービスエレメントへの実行要求をサービス代理処理シナリオ実行部に代理して行うステップと、を実行させるサービス代理処理プログラムである。
【発明の効果】
【００１４】
本発明によれば、一般的な言語からなるシナリオ記述プログラムにより記述されたサービスシナリオを要求し、サービスシナリオの入出力インタフェースを解決し、サービスシナリオから要求されたサービスを連携実行するための要求部品（サービスエレメント）を、予め蓄積しておいた要求部品の中から選択し、該選択された要求部品を連携実行して、サービス代理処理シナリオの代理処理を行う。したがって、サービスシナリオを特定の言語で記述する必要がなく、アプリケーション作成者が普段使い慣れたプログラミング言語での記述を行えるため、ユーザのスキルやプログラミング開発経験に関係なく、アプリケーション作成作業時間を短縮することができる。また、シナリオロジックの記述制限がないので、サービスシナリオを作成するにあたって、新しく学習する内容の縮小が見込めるため、容易にアプリケーションを作成することができる。
【００１５】
本発明によれば、サービス代理処理シナリオ手段から要求されたサービスシナリオのインタフェースを解析処理し、解析されたサービスシナリオから要求部品の検索、選択、実行のサービス代理処理を行う。したがって、ユーザのスキルやプログラミング開発経験に関係なく、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮することができる。
【００１６】
本発明によれば、解析されたサービス代理処理シナリオ手段の要求を満たすための要求部品を検索し、該検索された要求部品から、要求されたサービスシナリオを提供するための要求部品を選択し、該選択された要求部品を連携実行し、サービス代理処理シナリオ手段の代理処理を行う。したがって、ユーザのスキルやプログラミング開発経験に関係なく、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮することができる。
【００１７】
本発明によれば、要求部品のコンポーネントと要求部品の意味データとを保持する。したがって、ユーザのスキルやプログラミング開発経験に関係なく、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮することができる。
【００１８】
本発明によれば、シナリオ記述プログラムとして、ウェブサービスを記述する言語で記述されるサービスシナリオを要求する。したがって、ユーザのスキルやプログラミング開発経験に関係なく、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施形態を、図面を参照して説明する。
本発明は、アプリケーション作成時のシナリオロジック記述方法についての技術である。アプリケーションを作成するユーザは、フローの作成を自身の使いやすい任意の言語を用いて記述し、サービス合成エンジンのプロセスモデルを利用したサービスエレメント選択機能を使用する。
【００２０】
本発明のシナリオロジック記述方法では、ユーザがＪａｖａ（登録商標）などの一般的なプログラミング言語でシナリオロジックを記述し、サービス合成エンジン上に配置する。その後、合成エンジンは、作成したシナリオに記述された各サービスエレメントを、サービスエレメントデータベースから選択し、連携実行する。選択されたサービスエレメントの持つインタフェースは異なるため、サービス合成エンジンがこのインタフェース情報をバインドし、抽象コンポーネント動作をＷＳＤＬとして公開することによって、ＳＯＡＰ呼び出しを可能とする。
【００２１】
サービス代理処理エンジンは、抽象コンポーネント動作としてＯＷＬ−ＳのＰｒｏｃｅｓｓ  Ｍｏｄｅｌを保持しており、これにＧｒｏｕｎｄｉｎｇされたコンポーネントを動作させるのに必要なパラメータを入力するためのインタフェース情報をＷＳＤＬとして外部に公開する。ＷＳＤＬ公開時には、Ｐｒｏｃｅｓｓ  ＭｏｄｅｌのＡｔｏｍｉｃ  Ｐｒｏｃｅｓｓ名と、Ｐａｒａｍｅｔｅｒを、それぞれＷＳＤＬのｏｐｅｒａｔｉｏｎ名、ｍｅｓｓａｇｅにマッピングする。また、ＷＳＤＬ作成時に、Ｐｒｏｃｅｓｓ  ＭｏｄｅｌのＰａｒａｍｅｔｅｒに加えて、ユーザを識別するユーザＩＤ及びその認証情報を、ｉｎｐｕｔ  ｍｅｓｓａｇｅに加えて作成することで実現する。公開されるＷＳＤＬは、実体コンポーネントのＷＳＤＬではなく、抽象コンポーネントを起動するためのＷＳＤＬである。
【００２２】
図１は、本発明の実施形態によるサービス代理処理システムの構成を示すブロック図である。図１において、サービス代理処理システム１は、サービス代理処理シナリオ２と、サービス代理処理エンジン３とを備えている。サービス代理処理シナリオ２は、例えば、ユーザが複数のウェブサービスコンポーネントを連携して実行したい場合に、どのサービスを連携実行するかを記述したシナリオであり、具体的なサービスを特定せずに、抽象的な意味データとしてサービス連携を指示する。サービス代理処理エンジン３は、上記サービス代理処理シナリオ２で要求されたサービスに対して、サービス代理処理を行うためのエンジンであり、処理結果をサービスとしてサービス代理処理シナリオ２へ提供する。
【００２３】
次に、図２は、本実施形態によるサービス代理処理エンジン３の構成を示すブロック図である。なお、図１に対応する部分には同一の符号を付けて説明を省略する。図２において、サービス代理処理エンジン３は、インタフェース処理部３−１と、サービス代理処理プログラム３−２とを備えている。
【００２４】
インタフェース処理部３−１は、サービス代理処理シナリオ２から受け取ったサービスシナリオのインタフェースを解決するための処理を行う。例えば、サービス代理処理シナリオ２がＪａｖａ（登録商標）で記述されており、サービス代理処理エンジン３へＳＯＡＰメッセージを送信する場合、インタフェース処理部３−１は、ＳＯＡＰメッセージを解析する処理を行う。また、外部からＳＯＡＰ呼び出しが行えるように、ＷＳＤＬの公開を行うことで、サービス代理処理シナリオ２は、あたかも一般のウェブサービスを呼び出すかのように、サービス代理処理エンジン３を呼び出すことができる。インタフェース処理部３−１で処理を行ったサービス代理処理シナリオ２は、サービス代理処理プログラム３−２へ渡される。
【００２５】
サービス代理処理プログラム３−２は、サービス代理処理シナリオ２に従って、要求部品蓄積装置４から必要な要求部品５−１、５−２、５−３を検索し、連携実行することでサービス代理処理シナリオ２が実行したい要求サービス６を提供する。
【００２６】
図３は、本実施形態によるサービス代理処理プログラム３−２の構成を示すブロック図である。なお、図１、図２に対応する部分には同一の符号を付けて説明を省略する。図３において、サービス代理処理プログラム３−２は、要求部品検索部３−２−１と、要求部品選択部３−２−２と、要求部品連携実行部３−２−３とを備えている。
【００２７】
要求部品検索部３−２−１は、インタフェース処理部３−１において解析されたサービス代理処理シナリオ２に記述された要求部品（複数）を、要求部品蓄積装置４から検索して、要求部品選択部３−２−２へ受け渡す。要求部品選択部３−２−２は、要求部品検索部３−２−１にて検索された要求部品（複数）から、要求サービスを提供するために相応しい要求部品５−１、５−２、５−３を選択し、要求部品連携実行部３−２−３へ受け渡す。要求部品連携実行部３−２−３は、要求部品選択部３−２−２で選択された要求部品５−１、５−２、５−３を連携実行し、要求サービス６として取得する。その後、インタフェース処理部３−１を通じてサービス代理処理シナリオ２へサービスの提供を行う。
【００２８】
次に、図４は、本実施形態のサービス代理処理システム１によるサービス結果取得手順の一例を示す概念図である。図４において、本サービス代理処理システム１では、複数のサービスエレメントを連携実行するためのシナリオを記述したサービスシナリオ１０を実行し、サービス合成エンジン１１のインタフェース１２を介してサービス合成エンジン１１へシナリオを渡す。サービス合成エンジン１１では、サービスシナリオ１０に記述されたサービスエレメント１０ａ、１０ｂ、１０ｃを、サービスエレメントデータベース１３から検索し、順に呼び出し、それぞれのインタフェース情報をプロセスモデルとして合成する。その後、各サービスエレメント１０ａ、１０ｂ、１０ｃを連携実行させ、結果を取得する。
【００２９】
サービスシナリオ１０は、複数のコンポーネントを順番に連携させて実行するためのシナリオが記述されており、従来はＸＭＬ（eXtensible Markup Language）を用いて記述されたプログラムであり、独自の制約事項が存在する。また、サービス合成エンジン１１にサービスシナリオ１０を埋め込んで実行することで、結果を取得する動作をする。本発明では、このサービスシナリオ１０の記述をＪａｖａ（登録商標）等の一般的な言語で記述することで、サービスシナリオ作成から実行までにかかる全体的な処理時間を短縮する。
【００３０】
サービス合成エンジン１１は、上記サービスシナリオ１０に記述されたサービスエレメント１０ａ、１０ｂ、１０ｃを検索、選択し、サービスエレメント１０ａ→サービスエレメント１０ｂ→サービスエレメント１０ｃの順に連携して実行することで結果を取得する。また、各サービスエレメント１０ａ、１０ｂ、１０ｃのインタフェース情報をバインドしたプロセスモデル１４ａ、１４ｂ、１４ｃを作成し、１つのＷＳＤＬとしたインタフェースをサービス合成エンジン１１上で提供する。
【００３１】
プロセスモデル１４ａ、１４ｂ、１４ｃは、例えば、ＯＷＬ−Ｓのプロセスモデル記述の様にサービスコンポーネント動作情報を表したものであり、抽象的に記述されたモデルである。例えば、サービスエレメントデータベース１３にＷＳＤＬなどの標準インタフェースによって公開することで、サービスシナリオ実行者は、実行したサービスシナリオで呼び出し、連携された連携サービスエレメントがあたかも１つのサービスコンポーネントにアクセスするように扱うことができる。
【００３２】
そのため、本発明における一般的な言語で記述されたサービスシナリオ１０は、サービス合成エンジン１１をあたかも１つのサービスコンポーネントであるかのように呼び出し、代理処理してもらうことで、サービスの結果を取得する。
【００３３】
上述した実施形態によれば、サービスシナリオを特定の言語で記述する必要がなく、アプリケーション作成者が普段使い慣れたプログラミング言語での記述を行えるため、アプリケーション作成作業時間を短縮することができる。また、シナリオロジックの記述制限がなく、本システムでサービスシナリオを作成するにあたって、新しく学習する内容の縮小が見込めるため、容易にアプリケーションを作成することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態によるサービス代理処理システムの構成を示すブロック図である。
【図２】本実施形態によるサービス代理処理エンジン３の構成を示すブロック図である。
【図３】本実施形態によるサービス代理処理プログラム３−２の構成を示すブロック図である。
【図４】本実施形態のサービス代理処理システム１によるサービス結果取得手順の一例を示す概念図である。
【符号の説明】
【００３５】
１  サービス代理処理システム
２  サービス代理処理シナリオ
３  サービス代理処理エンジン
３−１  インターンフェース処理部
３−２  サービス代理処理プログラム
３−２−１  要求部品検索部
３−２−２  要求部品選択部
３−２−３  要求部品連携実行部
４  要求部品蓄積装置
５−１〜５−３  要求部品
６  要求サービス
１０  サービスシナリオ
１０ａ〜１０ｃ  サービスエレメント
１１  サービス合成エンジン
１２  インタフェース
１３  サービスエレメントデータベース
１４ａ〜１４ｃ  プロセスモデル
【図１】
2009205355.tif 000003
【図２】
2009205355.tif 000004
【図３】
2009205355.tif 000005
【図４】
2009205355.tif 000006