JP5188463B2 - シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法 - Google Patents
シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法 Download PDFInfo
- Publication number
- JP5188463B2 JP5188463B2 JP2009147883A JP2009147883A JP5188463B2 JP 5188463 B2 JP5188463 B2 JP 5188463B2 JP 2009147883 A JP2009147883 A JP 2009147883A JP 2009147883 A JP2009147883 A JP 2009147883A JP 5188463 B2 JP5188463 B2 JP 5188463B2
- Authority
- JP
- Japan
- Prior art keywords
- scenario
- check
- execution
- service component
- component
- 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
Links
Images
Description
作成したシナリオが、正しく作成されているか否かのチェックとしては、例えば、開始タグと終了タグの対応が取れているか、或いは、XML(eXtensible Markup Language)データの要素の並びの妥当性など、XMLの文法通りに記載されているかのチェック等が行われている。
非特許文献1は、BPELエンジンと意味的なWeb(セマンティック・ウェブ、Semantic Web)とを用いて、ユーザに適切なサービスコンポーネントを発見及び選択し、連携サービスとして提供するサービス合成技術を提案している。また、非特許文献1は、通常のBPELエンジンの機能を利用しながら、サービス実行中のユーザ状況変化に応じてサービスコンポーネントを切り替える技術を提案している。
しかしながら、従来の文法チェックでは、シナリオに記載されている項目の妥当性を判断することはできなかった。また、特許文献1や非特許文献1が提案するシステムや技術は、シナリオの作成やサービスの合成に関するものであり、作成されたシナリオに記載されている項目の妥当性を判定する方法については述べられていない。
このシナリオチェックシステムは、正しく記述されていると判断されたシナリオのみを実行するので、シナリオ実行装置やサービスコンポーネントサーバ装置の負荷増大を未然に防ぐことができる。
このシナリオチェック装置は、シナリオチェック表記憶部に記憶されているチェック項目を用いることで、シナリオが正しく記載されているか否かを判断することができる。この判断結果を用いて、正しく記述されていると判断されたシナリオのみを、シナリオ実行装置が実行することができ、シナリオ実行装置やサービスコンポーネントサーバ装置の負荷増大を未然に防ぐことができる。
このシナリオチェック装置は、シナリオチェック機能部がシナリオチェック表記憶部から事前条件チェック項目と事後条件チェック項目と競合条件チェック項目と必須例外記述チェック項目と必須補償記述チェック項目とを含むシナリオチェック表を読み出す。そして、シナリオチェック機能部は、読み出した各チェック項目が示す条件をシナリオが満たすか否かを判断することで、シナリオが正しく記述されているか否かを判断することができる。
このシナリオチェック方法では、シナリオチェック装置が正しく記述されていると判断したシナリオのみを実行するので、シナリオ実行装置やサービスコンポーネントサーバ装置の負荷増大を未然に防ぐことができる。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は本発明の一実施形態におけるシナリオチェックシステム100の概略構成を示す構成図である。
同図において、シナリオチェックシステム100は、シナリオ作成端末装置1とシナリオチェック装置2とシナリオ実行装置3とネットワーク4とサービスコンポーネントサーバ装置35,36,37,38,・・・とを含んで構成される。サービスコンポーネントサーバ装置35,36,37,38,・・・は、それぞれサービスコンポーネント5,6,7,8,・・・を含んで構成される。
シナリオ作成端末装置1はユーザ(シナリオ作成者)の操作に従ってシナリオを作成する。また、シナリオ作成端末装置1は、作成したシナリオをユーザの操作に従ってシナリオチェック装置2に送信する。ここで、シナリオは、サービスコンポーネントサーバ装置35〜37に対してサービスコンポーネント5〜7の実行を要求するプログラムであり、BPELで記述される。
シナリオチェック装置2は、シナリオ作成端末が作成したシナリオを受信し、シナリオが正しく記述されているか否かを判断する。シナリオチェック装置2は、判断結果をシナリオ作成端末装置1に送信する。また、シナリオが正しく記述されていると判断した場合は、シナリオチェック装置2は、そのシナリオをシナリオ実行装置3に送信する。
シナリオ実行装置3は、シナリオチェック装置2から送信されたシナリオを内部に登録する。また、シナリオ実行装置3は、登録されたシナリオの実行要求を受信するとシナリオを実行する。シナリオ実行装置3は、実行するシナリオの記述に従ってサービスコンポーネントサーバ装置35〜37に対してサービスコンポーネント5〜7の実行を要求する。
ネットワーク4は、例えば、インターネットである。なお、ネットワーク4は、電話交換などの通信ネットワーク、或いはサービス制御層とパケット転送層とを有するNGN(Next Generation Network)からなるネットワークなど、他のネットワークであってもよい。
サービスコンポーネントサーバ装置35〜37は、シナリオ実行装置3からの要求に応じてサービスコンポーネント5〜7を実行する。サービスコンポーネント5〜7は、WebサービスやUpnP(Universal Plug and Play)などのサービスを、ネットワーク4を介して提供するプログラムである。サービスコンポーネント5〜7はインタフェース定義文書WSDLにてインタフェース定義が示されている。
同図において、シナリオチェック装置2はシナリオチェック機能部8とシナリオチェック表記憶部12とを含んで構成される。
シナリオチェック表記憶部12は、シナリオが正しく記述されているか否かを判断するためのチェック項目が記載されたシナリオチェック表を予め記憶する。
シナリオチェック機能部8は、シナリオ作成端末装置1からシナリオを受信する。シナリオチェック機能部8は、受信したシナリオからコンポーネントリストを生成する。ここで、コンポーネントリストは、シナリオが実行を要求するサービスコンポーネントの一覧を示すリストである。なお、以下では、サービスコンポーネントのことをコンポーネントともいう。また、コンポーネントの実行を要求することをコンポーネントを呼び出す又はコンポーネントを呼ぶともいう。
シナリオチェック機能部8は、生成したコンポーネントリストに基づいてシナリオチェック表記憶部12を検索し、チェック項目を読み出す。シナリオチェック機能部8は、読み出したチェック項目を用いて、シナリオ作成端末装置1から入力されたシナリオが正しく記述されているか否かを判断する。シナリオチェック機能部8は、判断結果をシナリオ作成端末装置1へ送信する。
また、シナリオチェック機能部8は、シナリオ作成端末装置1から入力されたシナリオが正しく記述されていると判断した場合は、シナリオ実行装置3にシナリオを送信する。
同図において、シナリオチェック機能部8は、シナリオ受信部9とシナリオチェック部10とコンポーネントチェック項目検索部11とシナリオチェック結果送信部14とシナリオ送信部15とを含んで構成される。
シナリオ受信部9は、シナリオ作成端末装置1からシナリオを受信し、受信したシナリオをシナリオチェック部10に入力する。ここで、シナリオは、自シナリオが呼び出すコンポーネントの名前の記載を含む。また、シナリオはコンポーネントの呼び出しに関して行う処理の記載を含む場合がある。コンポーネントの呼び出しに関して行う処理には、例外処理や補償処理が含まれる。例外処理は、例えば、コンポーネント「電話をかける」に対して、相手が電話に出ない場合の処理である。補償処理は、コンポーネントの呼び出しに失敗した場合の処理であり、例えば、コンポーネントを呼び出す前の状態に戻す処理が行われる。
シナリオチェック部10は、入力されたシナリオからコンポーネント名を読み出し、読み出したコンポーネント名の一覧であるコンポーネントリストを生成する。
例えば、図8は、シナリオの例を示すリストであり、同図の行L2および行L3には、それぞれ呼び出されるコンポーネント名が記載されている。シナリオチェック部10は、行L2の”operation=”に続く文字列”notifyCalledNumber”をコンポーネント名と判断する。同様に、行L3の”operation=”に続く文字列”endCallSession”をコンポーネント名と判断する。シナリオチェック部10はこの2つのコンポーネント名からなるコンポーネントリストを生成する。
また、タグ”<bpws:faultHandlers>”及び”</bpws:faultHandlers>”で挟まれた行L1には、行L2のコンポーネント”notifyCalledNumber”を呼び出した際の例外処理が記述されている。図8に示すシナリオの詳細については、後述する。
コンポーネントチェック項目検索部11は、シナリオチェック部10から入力されたコンポーネントリストに基づいて、シナリオチェック表記憶部12を検索し、コンポーネントチェック項目を読み出す。コンポーネントチェック項目検索部11は、読み出したコンポーネントチェック項目をシナリオチェック部10に入力する。
シナリオチェック結果送信部14は、シナリオチェック部10から入力されるチェック結果をシナリオ作成端末装置1に送信する。
シナリオ送信部15は、シナリオチェック部10が正しく記載されていると判断したシナリオをシナリオ実行装置3に送信する。
シナリオチェック表記憶部12は、コンポーネント5〜7に関するチェック項目が記載された同図のシナリオチェック表を記憶している。なお、シナリオチェック表記憶部12が記憶するシナリオチェック表には、コンポーネント5〜7に関するチェック項目に限らず、他のコンポーネントに関するチェック項目も記載しておくことができる。ここで、チェック項目は、シナリオが正しく記述されていると判断されるための条件を示す。具体的には、チェック項目は、シナリオ中のコンポーネント実行要求が満たすべき条件を示す。シナリオチェック部10は、シナリオ中のコンポーネント実行要求が、コンポーネントチェック項目を満たすか否かを判断する。シナリオ中の全てのコンポーネント実行要求が、対象となる全てのコンポーネントチェック項目を満たす場合は、シナリオチェック部10は、シナリオが正しく記述されていると判断する。それ以外の場合は、シナリオチェック部10は、シナリオが正しく記述されていないと判断する。
シナリオチェック表記憶部12は複数のサービスコンポーネントのチェック項目を、例えば表形式のデータとして記憶し、各行のデータが1個のサービスコンポーネントのチェック項目に対応する。同図において、シナリオチェック表は、事前条件チェック項目16と事後条件チェック項目17と競合条件チェック項目18と必須例外記述チェック項目19と必須補償記述チェック項目20とを含んで構成される。
事前条件チェック項目16は、シナリオがあるサービスコンポーネントの実行を要求する場合に、このサービスコンポーネントの実行要求に先立ってシナリオが実行を要求すべきサービスコンポーネントを示す。
事後条件チェック項目17は、シナリオがあるサービスコンポーネントの実行を要求する場合に、このサービスコンポーネントの実行要求の後にシナリオが実行を要求すべきサービスコンポーネントを示す。
競合条件チェック項目18は、シナリオがあるサービスコンポーネントの実行を要求する場合に、このシナリオが実行要求すべきでないサービスコンポーネントを示す。
必須例外記述チェック項目19は、シナリオがあるサービスコンポーネントの実行を要求する場合には、例外処理の記載が必要であることを示す。
必須補償記述チェック項目20は、シナリオがあるサービスコンポーネントの実行を要求する場合には、該サービスコンポーネントの呼び出しに失敗した場合の処理である補償処理の記載が必要であることを示す。サービスコンポーネントの呼び出しに失敗した場合の補償処理としては、例えば、飛行機予約→レンタカー予約→ホテル予約のシナリオにおいて、ホテル予約のコンポーネントの呼び出しに失敗した場合に、飛行機の予約とレンタカーの予約とをキャンセルする補償処理が行われる。
コンポーネント6の事前条件チェック項目16には、コンポーネント6が呼ばれる前に「コンポーネント5が呼ばれている」ことが条件として記載されている。また、コンポーネント6の競合条件チェック項目18には、シナリオ内でコンポーネント6と共に「コンポーネント8が呼ばれていない」ことが条件として記載されている。
コンポーネント7の事前条件チェック項目16には、コンポーネント7が呼ばれる前に「コンポーネント5が呼ばれている」ことが条件として記載されている。また、コンポーネント7の競合条件チェック項目18には、シナリオ内でコンポーネント7と共に「コンポーネント9が呼ばれていない」ことが条件として記載されている。また、コンポーネント7の必須例外記述チェック項目19には、コンポーネント7を呼ぶ場合の「例外の処理が記述されている」ことが条件として記載されている。
図5は、シナリオチェックシステム100がシナリオをチェックする処理の例を示すシーケンス図である。
状態S1において、シナリオ作成端末装置1は、シナリオ作成者の操作に従って、WSDL記述を用いてコンポーネント5〜7を組み合わせたシナリオを作成する。シナリオ作成端末装置1は、作成したシナリオをシナリオチェック装置2のシナリオ受信部9に送信する。
状態S2において、シナリオ受信部9は、前述の送信されたシナリオを受信し、受信したシナリオをシナリオチェック部10に入力する。
状態S3において、シナリオチェック部10は、入力されたシナリオ内に記述されている全てのコンポーネント名のリストであるコンポーネントリストを、コンポーネントチェック項目検索部11に入力する。
状態S4において、コンポーネントチェック項目検索部11は、入力されたコンポーネント5〜7のコンポーネントリストからコンポーネント名を読み出す。コンポーネントチェック項目検索部11は、読み出したコンポーネント名を検索キーとして、シナリオチェック表記憶部12のシナリオチェック表を検索し、コンポーネント5〜7のチェック項目16〜20を読み出す。チェック項目16〜20には、コンポーネント5〜7をチェックするための事前条件チェック項目16と、事後条件チェック項目17と、必須例外記述チェック項目19と、必須補償記述チェック項目20とのチェック項目内容が記述されている。チェック項目16〜20詳細説明については、後述する。
状態S5において、コンポーネントチェック項目検索部11は、読み出したチェック項目16〜20を、シナリオチェック部10に入力する。
状態S6において、シナリオチェック部10は、入力されチェック項目16〜20を用いて、シナリオが正しく記述されているか否かを判断する。具体的には、シナリオチェック部10は、シナリオ内のコンポーネント5〜7の事前条件チェック項目16と、事後条件チェック項目17と、必須例外記述チェック項目19と、必須補償記述チェック項目20とに記述されている判断基準に従い、シナリオが正しく作成されているか否かを判断する。
シナリオチェック部10は、判断の結果、シナリオが正しく作成されている場合は、正しい旨を示すオチェック結果を生成する。一方、シナリオがチェック項目16〜20の何れかに違反している場合は、例えば、事後条件に違反している、或いは必須な例外が記述されていないなど違反内容を示すチェック結果を生成する。
図4に示されるコンポーネント5→コンポーネント6→コンポーネント7のシナリオは、事前条件チェック項目と事後条件チェック項目と競合条件チェック項目とを満たす。
状態S7において、シナリオチェック部10は、シナリオのチェック結果を、シナリオチェック結果送信部14に入力する。
状態S8において、シナリオチェック結果送信部14は、入力されたシナリオのチェック結果をシナリオ作成端末装置1に送信する。
状態S9において、シナリオ作成端末装置1はシナリオのチェック結果を受信する。シナリオ作成者は、受信したチェック結果を参照して、容易にシナリオを修正することができる。例えば、コンポーネント5の事後条件チェック項目に違反した場合は、コンポーネント5の後にコンポーネント6を呼び出す必要があることがチェック結果に示される。従って、シナリオ作成者は、違反内容を把握してシナリオを修正することができる。また、シナリオ作成者は、修正したシナリオを再度シナリオチェック装置2に送信することができる。あるいは、シナリオ作成が正しいことが表示されている場合には、シナリオ作成者はシナリオ作成を終了することができる。
状態S10において、シナリオチェック部10は、シナリオのチェック結果、チェックしたシナリオが正しい場合には、検証済のシナリオをシナリオ送信部15に入寮する。
状態S11において、シナリオ送信部15は、入力されたシナリオを、シナリオ実行装置3に送信する。シナリオ実行装置3は送信されたシナリオを登録する。
本発明のシナリオチェックシステムにより、上記記載のシナリオチェック処理を行うことで、複数のシナリオ作成者が作成したシナリオが、バグを含むシナリオ、或いは悪意のあるシナリオの場合に、シナリオ実行装置3、或いはコンポーネント5,6,7などの負荷の増大を未然に防ぐことができる。
又、シナリオ作成者は、シナリオ作成を行う際に、専門的な知識をあまり有していない場合でも、シナリオチェックシステムを利用することで、作成したシナリオのチェック結果情報を取得し、容易に複数のシナリオを作成することができる。
図6は、シナリオチェックシステム100が処理を行うシナリオの例を示すシナリオの構成図である。
同図のシナリオはコンポーネント「電話をかける」21→コンポーネント「音楽を流す」22→コンポーネント「電話を切る」23の3個のサービスコンポーネントを含んで構成される。このシナリオは、指定された電話に発呼し、電話が取られるとその電話に音楽を流し、音楽が終わると電話が切れるというサービスを示す。
シナリオ作成端末装置1は、シナリオ作成者の操作に従い、複数のコンポーネントをそれぞれのWSDL記述を用いて組み合わせて、このシナリオを作成する。
また、シナリオを実行するには、シナリオチェック装置2を通じてシナリオ実行装置3に登録される必要がある。そこで、シナリオ操作端末装置1は、シナリオ作成者の指示に従い、作成したシナリオをシナリオチェック装置2に送信する。
シナリオチェック部10は、入力されたシナリオがコンポーネント「電話をかける」21とコンポーネント「音楽を流す」22とコンポーネント「電話を切る」23とを呼び出すことを示すコンポーネントリストを生成する。シナリオチェック部10は、生成したコンポーネントリストをコンポーネントチェック項目検索部11に入力する。
コンポーネントチェック項目検索部11は、入力されたコンポーネントリストを用いてシナリオチェック表記憶部12のシナリオチェック表を検索し、コンポーネント21,22,23の事前条件チェック項目16と、事後条件チェック項目17と、競合条件チェック項目18と、必須例外記述チェック項目19と、必須補償記述チェック項目20とを読み出す。コンポーネントチェック項目検索部11は、読み出したチェック項目をシナリオチェック部10に入力する。
シナリオチェック部10は、入力されたチェック項目に従い、シナリオが正しく記載されているか否かを判断する。
シナリオチェック部10は、このシナリオが正しく記述されていると判断した場合は、正しく記述されているという判断結果を、シナリオチェック結果送信部14を経由してシナリオ作成端末1に送信する。また、シナリオチェック部10は、シナリオが正しく記述されていると判断した場合は、シナリオ送信部15を経由してシナリオ実行装置3にシナリオを送信する。シナリオ実行装置3はこのシナリオを登録する。シナリオ実行装置3は、シナリオ実行要求を受信するとシナリオを実行する。
一方、シナリオチェック部10は、このシナリオが正しく記載されていないと判断した場合は、違反している項目を示す判断結果を、シナリオチェック結果送信部14を経由してシナリオ作成端末1に送信する。シナリオ作成者は、判断結果に示される違反している項目を参照して、容易にシナリオを修正することができる。
同図において、シナリオチェック表には、コンポーネント「電話をかける」21、コンポーネント「音楽を流す」22、コンポーネント「電話を切る」23のチェック項目16〜20が記載されている。
例えば、コンポーネント「電話をかける」21の事後条件チェック項目17には、「電話を切る」が呼ばれているという条件が記載されている。また、コンポーネント「電話をかける」21の必須例外記述チェック項目19には、例外「電話に出ない」の処理が記述されているという条件が記載されている。
コンポーネント「電話を切る」22の事前条件チェック項目16には、「電話をかける」が呼ばれているという条件が記載されている。このチェック項目は「電話を切る」コンポーネント23を呼ぶ前に、「電話をかける」コンポーネント21が呼ばれている必要があることを示す。
コンポーネント「音楽を流す」23の事前条件チェック項目16には、「電話をかける」が呼ばれているという条件が記載されている。また、コンポーネント「音楽を流す」23の競合条件チェック項目18には、他のコンポーネントである「音楽ファイルを全て削除」が呼ばれていないとの条件が記載されている。また、コンポーネント「音楽を流す」23の必須例外記述チェック項目19には、例外「音楽ファイルがない」の処理が記述されているという条件が記載されている。また、コンポーネント「音楽を流す」23の必須補償記述チェック項目20には、補償処理が記述されているという条件が記載されている。コンポーネント「音楽を流す」23の呼び出しに失敗した場合の処理は、例えば、音楽が途中で切れた際は費用無料とする処理及び前のコンポーネント「電話をかける」21の状態に戻る処理である。
シナリオチェック部10は、このシナリオチェック表から読み出されるチェック項目に基づいて、コンポーネント「電話をかける」21とコンポーネント「音楽を流す」22とコンポーネント「電話を切る」23とを含むシナリオが正しく記載されているか否かを判断する。
同図を用いて、シナリオチェック部10が行う、シナリオが正しく記述されているか否かの判断について説明する。シナリオチェック部10には、コンポーネントリストに基づいて検索された、シナリオが呼び出す各コンポーネントのチェック項目が入力されて、シナリオが正しく記述されているか否かを判断する。
前述のように、同図において、タグ”<bpws:faultHandlers>”及び”</bpws:faultHandlers>”で挟まれた行L1に例外処理が記述されている。また、行L2および行L3には、それぞれ呼び出されるコンポーネント名が記載されている。行L2のコンポーネント”notifyCalledNumber”は、電話がかかってきた場合の処理を行うコンポーネントである。また、行L3のコンポーネント”endCallSession”は、電話を切る際の処理を行うコンポーネントである。また、行L4には音声を流すなどの処理が記述されているが、図示及び説明を省略する。
シナリオチェック部10は、行L2の”operation=”に続く文字列”notifyCalledNumber”をコンポーネント名と判断する。同様に、行L3の”operation=”に続く文字列”endCallSession”をコンポーネント名と判断する。
例えば、コンポーネント”endCallSession”の事前条件チェック項目で示されるコンポーネントが”notifyCallNumber”である場合、シナリオチェック部10は、まず、シナリオ中で、”operation=”に続く文字列”endCallSession”と、”operation=”に続く文字列”notifyCalledNumber”とを検索する。そして、”endCallSession”と”notifyCalledNumber”とが見つかった場合は、”notifyCalledNumber”が”endCallSession”よりも先に記載されているか否かを判断する。図8のシナリオでは、”notifyCalledNumber”が”endCallSession”よりも先に記載されているので、シナリオチェック部10は正しく記述されていると判断する。
例えば、コンポーネント”notifyCallNumber”の事後条件チェック項目で示されるコンポーネントが”endCallSession”である場合、シナリオチェック部10は、まず、シナリオ中で、”operation=”に続く文字列”notifyCalledNumber”と、”operation=”に続く文字列”endCallSession”とを検索する。そして、”notifyCalledNumber”と”endCallSession”とが見つかった場合は、”endCallSession”が”notifyCalledNumber”よりも後に記載されているか否かを判断する。図8のシナリオでは、”endCallSession”が”notifyCalledNumber”がよりも後に記載されているので、シナリオチェック部10は正しく記述されていると判断する。
例えば、”notifyCalledNumber”の必須例外チェック項目が設定されている場合、シナリオチェック部10は、まず、シナリオ中でタグ”<bpws:faultHandlers>”及び”</bpws:faultHandlers>”を検索する。これらのタグが発見された場合は、シナリオチェック部10は、両タグの間にチェック対象のコンポーネント名”notifyCalledNumber”が記載されているか否かを判断する。図8のシナリオでは、行L1にて、タグ”<bpws:faultHandlers>”と”</bpws:faultHandlers>”との間に”notifyCalledNumber”が記載されているので、シナリオチェック部10は正しく記述されていると判断する。
必須補償記述チェック項目は、コンポーネントの呼び出しに失敗した際の例外処理の記載をチェックするものであり、チェック内容としては、必須例外記述チェック項目と同じく例外処理が記載されているか否かを判断する。
また、シナリオチェック装置2は、シナリオが正しく記述されているか否かの判断結果をシナリオ作成端末装置1に送信する。シナリオ作成者は、判断結果からシナリオの記述が正しくない部分を知ることが出来るので、容易にシナリオを修正することができる。このように、容易にシナリオを修正することができるので、シナリオ作成の専門知識をあまり持っていない者もシナリオ作成に参加することができる。これにより、シナリオ作成者が増大し、多様なシナリオによる様々なアプリケーションが提供される。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを記憶するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを記憶しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
2 シナリオチェック装置
3 シナリオ実行装置
4 ネットワーク
8 シナリオチェック機能部
9 シナリオ受信部
10 シナリオチェック部
11 コンポーネントチェック項目検索部
12 シナリオチェック表記憶部
14 シナリオチェック結果送信部
15 シナリオ送信部
35、36、37 コンポーネントサーバ装置
Claims (4)
- サービスコンポーネントの実行を要求するシナリオを出力するシナリオ作成端末装置と、
前記シナリオに含まれるサービスコンポーネント実行要求が予め定められた条件に従って記述されているか否かを判断することによって、前記シナリオが正しく記述されているか否かを判断するシナリオチェック装置と、
前記シナリオチェック装置によって正しく記述されていると判断されたシナリオのみを実行するシナリオ実行装置と、
前記シナリオ実行装置のシナリオ実行に応じて前記サービスコンポーネントを実行するサービスコンポーネントサーバ装置と、
を具備し、
前記シナリオチェック装置は、サービスコンポーネントサーバ装置に対してサービスコンポーネントの実行を要求するシナリオに含まれるサービスコンポーネント実行要求が満たすべき条件を予め記憶するシナリオチェック表記憶部と、
前記シナリオに含まれるサービスコンポーネント実行要求が満たすべき条件を前記シナリオチェック表記憶部から読み出し、読み出した条件に従って前記シナリオが正しく記述されているか否かを判断するシナリオチェック機能部と、
を具備し、
前記シナリオチェック表記憶部は、あるサービスコンポーネントの実行をシナリオが要求する場合に、該サービスコンポーネントの実行要求に先立って該シナリオが実行を要求すべきサービスコンポーネントを示す事前条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合に、該サービスコンポーネントの実行要求の後に該シナリオが実行を要求すべきサービスコンポーネントを示す事後条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合に、該シナリオが実行要求すべきでないサービスコンポーネントを示す競合条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合には、例外処理の記載が必要であることを示す必須例外記述チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合には、該サービスコンポーネントの呼び出しに失敗した場合の処理の記載が必要であることを示す必須補償記述チェック項目と、を含むシナリオチェック表を記憶することを特徴とするシナリオチェックシステム。 - サービスコンポーネントサーバ装置に対してサービスコンポーネントの実行を要求するシナリオに含まれるサービスコンポーネント実行要求が満たすべき条件を予め記憶するシナリオチェック表記憶部と、
外部から入力されるシナリオに含まれるサービスコンポーネント実行要求が満たすべき条件を前記シナリオチェック表記憶部から読み出し、読み出した条件に従って前記シナリオが正しく記述されているか否かを判断するシナリオチェック機能部と、
を具備し、
前記シナリオチェック表記憶部は、あるサービスコンポーネントの実行をシナリオが要求する場合に、該サービスコンポーネントの実行要求に先立って該シナリオが実行を要求すべきサービスコンポーネントを示す事前条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合に、該サービスコンポーネントの実行要求の後に該シナリオが実行を要求すべきサービスコンポーネントを示す事後条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合に、該シナリオが実行要求すべきでないサービスコンポーネントを示す競合条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合には、例外処理の記載が必要であることを示す必須例外記述チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合には、該サービスコンポーネントの呼び出しに失敗した場合の処理の記載が必要であることを示す必須補償記述チェック項目と、を含むシナリオチェック表を記憶することを特徴とするシナリオチェック装置。 - 前記シナリオチェック機能部は、前記シナリオチェック表記憶部から前記事前条件チェック項目と前記事後条件チェック項目と前記競合条件チェック項目と前記必須例外記述チェック項目と前記必須補償記述チェック項目とを読み出し、該チェック項目に従って前記シナリオが正しく記述されているか否かを判断することを特徴とする請求項2記載のシナリオチェック装置。
- シナリオ作成端末装置が、サービスコンポーネントの実行を要求するシナリオを出力するシナリオ作成ステップと、
シナリオチェック装置が、前記シナリオに含まれるサービスコンポーネント実行要求が予め定められた条件に従って記述されているか否かを判断することによって、前記シナリオが正しく記述されているか否かを判断するシナリオチェックステップと、
シナリオ実行装置が、正しく記述されていると判断されたシナリオのみを実行するシナリオ実行ステップと、
サービスコンポーネントサーバ装置が、前記シナリオ実行装置からの要求に応じて前記サービスコンポーネントを実行するサービスコンポーネント実行ステップと、
を具備し、
前記シナリオ作成端末装置は、サービスコンポーネントサーバ装置に対してサービスコンポーネントの実行を要求するシナリオに含まれるサービスコンポーネント実行要求が満たすべき条件を予め記憶するシナリオチェック表記憶部を具備し、
前記シナリオチェック表記憶部は、あるサービスコンポーネントの実行をシナリオが要求する場合に、該サービスコンポーネントの実行要求に先立って該シナリオが実行を要求すべきサービスコンポーネントを示す事前条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合に、該サービスコンポーネントの実行要求の後に該シナリオが実行を要求すべきサービスコンポーネントを示す事後条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合に、該シナリオが実行要求すべきでないサービスコンポーネントを示す競合条件チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合には、例外処理の記載が必要であることを示す必須例外記述チェック項目と、あるサービスコンポーネントの実行をシナリオが要求する場合には、該サービスコンポーネントの呼び出しに失敗した場合の処理の記載が必要であることを示す必須補償記述チェック項目と、を含むシナリオチェック表を記憶し、
前記シナリオチェックステップでは、前記シナリオに含まれるサービスコンポーネント実行要求が満たすべき条件を前記シナリオチェック表記憶部から読み出し、読み出した条件に従って前記シナリオが正しく記述されているか否かを判断することを特徴とするシナリオチェックシステムのシナリオチェック方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009147883A JP5188463B2 (ja) | 2009-06-22 | 2009-06-22 | シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009147883A JP5188463B2 (ja) | 2009-06-22 | 2009-06-22 | シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011003148A JP2011003148A (ja) | 2011-01-06 |
JP5188463B2 true JP5188463B2 (ja) | 2013-04-24 |
Family
ID=43561031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009147883A Expired - Fee Related JP5188463B2 (ja) | 2009-06-22 | 2009-06-22 | シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5188463B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5190903B1 (ja) * | 2012-09-05 | 2013-04-24 | 晃治 平野 | シナリオ作成支援装置、シナリオ作成支援プログラム及び記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001331591A (ja) * | 2000-05-24 | 2001-11-30 | Nippon Telegr & Teleph Corp <Ntt> | シナリオ連携型電子商取引システム構築方法及び装置 |
EP1639458A4 (en) * | 2003-06-12 | 2010-05-05 | Reuters America | BUSINESS PROCESS AUTOMATION |
JP2006221352A (ja) * | 2005-02-09 | 2006-08-24 | Ntt Data Corp | 異常系プロセス自動生成方法および異常系プロセス自動生成プログラム |
JP4808558B2 (ja) * | 2006-07-12 | 2011-11-02 | 日本電信電話株式会社 | 連携シナリオ作成支援システム及びその方法並びにプログラム |
JP4905119B2 (ja) * | 2006-12-26 | 2012-03-28 | 富士電機株式会社 | 仕様書作成支援装置および方法 |
JP2008217161A (ja) * | 2007-02-28 | 2008-09-18 | Nippon Telegr & Teleph Corp <Ntt> | シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法 |
-
2009
- 2009-06-22 JP JP2009147883A patent/JP5188463B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011003148A (ja) | 2011-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103947140B (zh) | 用于位置无关软件的需求驱动的部署的系统和方法 | |
US8332520B2 (en) | Web server for managing session and method thereof | |
US8271609B2 (en) | Dynamic service invocation and service adaptation in BPEL SOA process | |
Doglio | Pro REST API Development with Node. js | |
US8719848B2 (en) | Information processing device and computer program product | |
KR101996624B1 (ko) | 분산 협약 프로토콜에서의 crud형 프로토콜 바인딩 기법 | |
JP4444944B2 (ja) | サービス連携方法 | |
US20190188010A1 (en) | Remote Component Loader | |
CN108132973A (zh) | Web跳转页面的载入方法及装置、计算机可读存储介质 | |
CN102135895A (zh) | 系统升级方法及系统 | |
RU2759330C2 (ru) | Отсрочка запросов вызова для удаленных объектов | |
JP2010186264A (ja) | 画面生成方法、画面生成装置、及びプログラム | |
JP2010072951A (ja) | サービス処理装置、システム、プログラム及び記録媒体 | |
JP5188463B2 (ja) | シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法 | |
JP2017083984A (ja) | ネットワークシステム、サーバ、および端末 | |
JP2007140975A (ja) | サービス提供システム、連携情報提供サーバ、認証サーバ、サービス提供サーバ、サービス提供方法、およびプログラム | |
US7805524B2 (en) | Display control apparatus, display control program and display control method | |
JP2008134914A (ja) | 複合サービス提供システムおよび方法 | |
Roche et al. | Beginning Java Google App Engine | |
JP2014225186A (ja) | ユーザ認証装置、方法及びプログラム | |
JP4689635B2 (ja) | メタデータ管理方法、メタデータ管理システム、及び、メタデータ管理プログラム | |
Börger et al. | Contribution to a rigorous analysis of web application frameworks | |
Cade et al. | Sun certified enterprise architect for java ee study guide | |
Lui et al. | Pro Spring Integration | |
Giessler et al. | Checklist for the API Design of Web Services based on REST |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111017 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121220 |
|
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: 20130115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160201 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5188463 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160201 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |