(57)【要約】【課題】ユーザの利用するクライアントにインストールされているアプリケーションに応じて、Ｗｅｂポータルとクライアントアプリケーションとの適切かつ多様な連携を容易に実行可能にする。【解決手段】ユーザ固有設定テーブル１０２には、ユーザが使用するアプリケーションのアプリケーション種類とアプリケーション名とが設定される。連携決定部１１５は、起動条件および実行条件を満たす連携ルールを抽出し、連携実装の記述を解析してアプリケーション種類を抽出する。連携決定部１１５は、ユーザ固有設定から、抽出したアプリケーション種類に対応するアプリケーション名を抽出し対応する実行場所をＡＰ制御ルールテーブル１０３から抽出する。連携決定部１１５は、連携実装の中に記載された処理のうち、ポートレット連携実行部１１４およびクライアント連携実行部１２２にそれぞれが実行すべき個別処理を通知する。【選択図】図１
2008250408.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバにおいて実行されるポータルアプリケーションとクライアント端末において実行されるクライアントアプリケーションとを連携するアプリケーション連携システムであって、
アプリケーションを示す情報とアプリケーションに実行させる処理を呼び出すために用いる呼出情報とを含む連携情報を、当該連携情報を抽出するための条件を示す情報に対応付けて記憶する連携情報記憶手段と、
アプリケーションを示す情報に対応付けて当該アプリケーションが実行される装置を示す実行場所情報を記憶する実行場所情報記憶手段と、
前記条件に合致する連携情報を前記連携情報記憶手段から抽出する処理を実行し、抽出した連携情報に含まれるアプリケーションを示す情報に対応する実行場所情報を前記実行場所情報記憶手段から獲得する情報抽出手段と、
前記情報抽出手段が獲得した実行場所情報が示す装置に、抽出した連携情報が示す処理を通知する連携情報通知手段と
を備えたことを特徴とするアプリケーション連携システム。
【請求項２】
クライアント端末で使用可能なアプリケーションの種類を示すアプリケーション種類情報に対応付けて、当該アプリケーションを識別可能なアプリケーション識別情報を記憶する固有設定記憶手段を備え、
連携情報記憶手段は、アプリケーション種類情報をアプリケーションを示す情報として含む連携情報を記憶し、
実行場所情報記憶手段は、アプリケーション識別情報に対応付けて実行場所情報を記憶し、
情報抽出手段は、抽出した連携情報に含まれるアプリケーション種類情報に対応するアプリケーション識別情報を前記固有設定記憶手段から抽出し、抽出したアプリケーション識別情報に対応する実行場所情報を前記実行場所情報記憶手段から獲得する
請求項１記載のアプリケーション連携システム。
【請求項３】
アプリケーションに実行させる処理を示す制御情報を、呼出情報とアプリケーション識別情報とに対応付けて記憶する制御情報記憶手段を備え、
情報抽出手段は、抽出した連携情報とアプリケーション識別情報とに対応する制御情報を前記制御情報記憶手段から抽出し、
連携情報通知手段は、抽出した連携情報と制御情報とが示す処理を通知する
請求項２記載のアプリケーション連携システム。
【請求項４】
制御情報記憶手段は、クライアントアプリケーションが出力するＧＵＩ画面を解析し、データの抽出およびＧＵＩイベントの送付を行う処理を示す制御情報を記憶する
請求項３記載のアプリケーション連携システム。
【請求項５】
制御情報記憶手段は、ポータルアプリケーションが出力するＧＵＩ画面を解析し、データの抽出およびＧＵＩイベントの送付を行う処理を示す制御情報を記憶する
請求項３または請求項４記載のアプリケーション連携システム。
【請求項６】
Ｗｅｂサーバは、連携情報通知手段が通知した情報にしたがって処理を実行するポートレット実行手段を備え、
クライアント端末は、連携情報通知手段が通知した情報にしたがって処理を実行するクライアント実行手段を備える
請求項１から請求項５のうちのいずれか1項に記載のアプリケーション連携システム。
【請求項７】
Ｗｅｂサーバにおいて実行されるポータルアプリケーションとクライアント端末において実行されるクライアントアプリケーションとを連携するアプリケーション連携方法であって、
アプリケーションを示す情報とアプリケーションに実行させる処理を呼び出すために用いる呼出情報とを含む連携情報を、当該連携情報を抽出するための条件を示す情報に対応付けて連携情報記憶手段に記憶させる連携情報記憶ステップと、
アプリケーションを示す情報に対応付けて当該アプリケーションが実行される装置を示す実行場所情報を実行場所情報記憶手段に記憶させる実行場所情報記憶ステップと、
前記条件に合致する連携情報を前記連携情報記憶手段から抽出する処理を実行し、抽出した連携情報に含まれるアプリケーションを示す情報に対応する実行場所情報を前記実行場所情報記憶手段から獲得する情報抽出ステップと、
前記情報抽出ステップで獲得した実行場所情報が示す装置に、抽出した連携情報が示す処理を通知する連携情報通知ステップと
を含むことを特徴とするアプリケーション連携方法。
【請求項８】
クライアント端末で使用可能なアプリケーションの種類を示すアプリケーション種類情報に対応付けて、当該アプリケーションを識別可能なアプリケーション識別情報を固有設定記憶手段に記憶させる固有設定記憶ステップを含み、
連携情報記憶ステップで、アプリケーション種類情報をアプリケーションを示す情報として含む連携情報を連携情報記憶手段に記憶し、
実行場所情報記憶ステップで、アプリケーション識別情報に対応付けて実行場所情報を実行場所情報記憶手段に記憶し、
情報抽出ステップで、抽出した連携情報に含まれるアプリケーション種類情報に対応するアプリケーション識別情報を前記固有設定記憶手段から抽出し、抽出したアプリケーション識別情報に対応する実行場所情報を前記実行場所情報記憶手段から獲得する
請求項７記載のアプリケーション連携方法。
【請求項９】
アプリケーションに実行させる処理を示す制御情報を、呼出情報とアプリケーション識別情報とに対応付けて制御情報記憶手段に記憶させる制御情報記憶ステップを含み、
情報抽出ステップで、抽出した連携情報とアプリケーション識別情報とに対応する制御情報を前記制御情報記憶手段から抽出し、
連携情報通知ステップで、抽出した連携情報と制御情報とが示す処理を通知する
請求項８記載のアプリケーション連携方法。
【請求項１０】
Ｗｅｂサーバにおいて実行されるポータルアプリケーションとクライアント端末において実行されるクライアントアプリケーションとを連携するためのアプリケーション連携プログラムであって、
コンピュータに、
アプリケーションを示す情報とアプリケーションに実行させる処理を呼び出すために用いる呼出情報とを含む連携情報を当該連携情報を抽出するための条件を示す情報に対応付けて記憶する連携情報記憶手段から、前記条件に合致する連携情報を抽出する処理を実行し、アプリケーションを示す情報に対応付けて当該アプリケーションが実行される装置を示す実行場所情報を記憶する実行場所情報記憶手段から、抽出した連携情報に含まれるアプリケーションを示す情報に対応する実行場所情報を獲得する情報抽出処理と、
前記情報抽出処理で獲得した実行場所情報が示す装置に、抽出した連携情報が示す処理を通知する連携情報通知処理と
を実行させるためのアプリケーション連携プログラム。
【請求項１１】
連携情報は、アプリケーションの種類を示すアプリケーション種類情報をアプリケーションを示す情報として含み、
実行場所情報は、アプリケーションを識別可能なアプリケーション識別情報に対応付けられた情報であって、
情報抽出処理で、クライアント端末で使用可能なアプリケーションの種類を示すアプリケーション種類情報に対応付けて、当該アプリケーションを識別可能なアプリケーション識別情報を記憶する固有設定記憶手段から、抽出した連携情報に含まれるアプリケーション種類情報に対応するアプリケーション識別情報を抽出し、抽出したアプリケーション識別情報に対応する実行場所情報を実行場所情報記憶手段から獲得する
請求項１０記載のアプリケーション連携プログラム。
【請求項１２】
情報抽出処理で、アプリケーションに実行させる処理を示す制御情報を、呼出情報とアプリケーション識別情報とに対応付けて記憶する制御情報記憶手段から、抽出した連携情報とアプリケーション識別情報とに対応する制御情報を抽出し、
連携情報通知処理で、抽出した連携情報と制御情報とが示す処理を通知する
請求項１１記載のアプリケーション連携プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システム利用環境を提供するためのポータル画面を実現するアプリケーション連携システムに関し、特に、クライアント上のアプリケーションも連携制御するアプリケーション連携システム、アプリケーション連携方法およびアプリケーション連携プログラムに関する。
【背景技術】
【０００２】
従来、ワールドワイドウェブ（World Wide Web、以下Ｗｅｂ）によって操作可能な複数のアプリケーションシステムやＷｅｂサイトの操作を、ユーザが容易に行えるようにするシステムとして、Ｗｅｂポータルサイト（以下Ｗｅｂポータル）と呼ばれるＷｅｂのアプリケーションとして提供されている。
【０００３】
従来のＷｅｂポータルは、多数のアプリケーションやその中に含まれる情報をユーザが容易に一覧できることを目的として、一つの画面内に複数のアプリケーションの画面をまとめて表示するものであった。一般に、Ｗｅｂポータルの画面を構成するための個々のアプリケーションに対応する画面部品をポートレットと呼ぶ。Ｗｅｂポータルの画面は、ポートレットを複数用意して様々に組み合わせて構成される。また、単に複数表示するだけではなく、ユーザの役割や状況に応じて、表示するアプリケーションを選択したり、表示内容を変更することができるシステムも開示されている。例えば、特許文献１には、ユーザ定義情報を用いて画面構成を決定する手法が記載されている。また特許文献２には、ユーザが使用する端末の能力に合わせて画面を構成する手法が記載されている。
【０００４】
一方、このＷｅｂポータルのより発展した形として、単に複数アプリケーションの内容をユーザが見やすくするだけではなく、アプリケーションの操作を一部自動化したり、本来独立している複数のアプリケーションを連携させることで、より積極的にユーザのアプリケーション操作の支援を行い、快適なアプリケーションの利用環境を提供することを目的とする発明が幾つか開示されている。例えば、特許文献３には、アプリケーションにユーザの個人情報を登録する時にその内容をＷｅｂポータルに保存し、他のアプリケーションに同様な情報を登録するときに、保存した内容を自動入力する手段が記載されている。また、特許文献４には、ポートレット間を同期させたりデータを転送するといったポートレット間の連携を実現する手段が記載されている。
【０００５】
またＷｅｂポータルを、Ｗｅｂのアプリケーション以外のシステムと連携させる手段も開示されている。例えば、特許文献５には、Ｗｅｂポータルとクライアント端末内のメールクライアントを連携させる手法が記載されている。
【０００６】
【特許文献１】特開２００６−１０７０１２号公報
【特許文献２】特開２００５−３２７１５０公報
【特許文献３】特開２００２−３５１８２７号公報
【特許文献４】特開２００４−３８７５９号公報
【特許文献５】ＷＯ２００４−１１４１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来の手法または手段には、以下のような問題がある。
【０００８】
第１の問題点は、Ｗｅｂポータルとクライアント端末上のアプリケーション（以下クライアントアプリケーションと表記する。）とを、ユーザが利用するクライアントの環境にあわせて適切に連携させられないことである。Ｗｅｂポータル上で提供されるＷｅｂアプリケーションは、全てＷｅｂポータルあるいは他のサーバ上にインストールされており、クライアントは、Ｗｅｂブラウザさえあれば任意のアプリケーションを利用することが出来るため、Ｗｅｂポータルはクライアントの環境を意識せずに画面構成やポートレット間の連携を決定し実行することが出来る。しかし、クライアントアプリケーションは、クライアント端末にインストールされるため、使用する端末が異なれば利用できるクライアントアプリケーションも異なるが、従来技術のＷｅｂポータルは、クライアントにインストールされているアプリケーションを知ることが出来ない。よって、Ｗｅｂポータルは、利用可能なクライアントアプリケーションの種類に応じた適切な画面構成やアプリケーション間の連携方法を決定することが出来ない。
【０００９】
第２の問題点は、クライアントアプリケーションをＷｅｂポータルと多様な形で連携させられないことである。特許文献５には、クライアントアプリケーションの起動やログイン処理の自動化を行うことが記載されている。しかし、特許文献５に記載された方式では、特許文献１や特許文献２などで開示されている関連するアプリケーションを画面上に表示させることしか実現できない。例えば、起動した後でＷｅｂポータルに連動させてクライアントアプリケーション内の表示画面を変更したり、クライアントアプリケーション画面に表示されているデータを取り出してＷｅｂポータル上のポートレットに渡すといった、特許文献４に記載されているような多様な連携によるユーザ作業支援を行うことができない。これは、通常のクライアントアプリケーションは、グラフィカルユーザインタフェース（以下ＧＵＩと表記する。）を介してユーザから利用されることしか想定しておらず、起動は行えても、画面上のボタンを押して異なる画面に遷移したり、画面に表示されている文字列を取り出すといったことを他のプログラムから行えないためである。クライアントアプリケーションによっては、ＧＵＩとは別に、他のプログラムから利用されるための専用インタフェースを用意しているものもあるが、全てのクライアントアプリケーションがこうした機能を備えているわけではない。
【００１０】
第３の問題点は、多数のクライアントアプリケーションへの対応が繁雑であるということである。例えば、スケジューラや電子メールクライアント、メッセンジャーなどのクライアントアプリケーションとして、類似した目的や機能を持つクライアントアプリケーションが多数存在しており、多くの場合ユーザは自身の好むクライアントアプリケーションを選択して自らのクライアントにインストールして使用している。しかしながら、クライアントアプリケーションは、目的や機能が類似していても、細かい機能や操作の大半が異なる。また、クライアントアプリケーションによっては、同一名称のものであってもバージョンが異なれば機能や操作が異なるものもある。システムは、クライアントアプリケーションを操作する場合、操作するクライアントアプリケーション毎にこのような細かい違いを全て考慮したルールを持たねばならない。このようなアプリケーション間の連携ルールを作成するには、多大な労力を必要とする。
【００１１】
そこで、本発明は、ユーザの利用するクライアントにインストールされているアプリケーションに応じて、Ｗｅｂポータルとクライアントアプリケーションとの適切かつ多様な連携を実行可能なＷｅｂポータルとクライアントアプリケーション間のアプリケーション連携システム、アプリケーション連携方法およびアプリケーション連携プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるアプリケーション連携システムは、Ｗｅｂサーバにおいて実行されるポータルアプリケーションとクライアント端末において実行されるクライアントアプリケーションとを連携するアプリケーション連携システムであって、アプリケーションを示す情報（例えば、アプリケーション種類）とアプリケーションに実行させる処理を呼び出すために用いる呼出情報（例えば、インタフェース名）とを含む連携情報（例えば、連携実装）を、当該連携情報を抽出するための条件を示す情報（例えば、起動条件および利用条件）に対応付けて記憶する連携情報記憶手段（例えば、連携ルールテーブル１０４）と、アプリケーションを示す情報に対応付けて当該アプリケーションが実行される装置を示す実行場所情報を記憶する実行場所情報記憶手段と、条件に合致する連携情報を連携情報記憶手段から抽出する処理を実行し、抽出した連携情報に含まれるアプリケーションを示す情報に対応する実行場所情報を実行場所情報記憶手段から獲得する情報抽出手段（例えば、連携決定部１１５）と、情報抽出手段が獲得した実行場所情報が示す装置に、抽出した連携情報が示す処理を通知する連携情報通知手段（例えば、連携決定部１１５）とを備えたことを特徴とする。
【００１３】
クライアント端末で使用可能なアプリケーションの種類を示すアプリケーション種類情報（例えば、アプリケーション種類）に対応付けて、当該アプリケーションを識別可能なアプリケーション識別情報（例えば、アプリケーション名）を記憶する固有設定記憶手段（例えば、ユーザ固有設定テーブル１０２）を備え、連携情報記憶手段は、アプリケーション種類情報をアプリケーションを示す情報として含む連携情報を記憶し、実行場所情報記憶手段は、アプリケーション識別情報に対応付けて実行場所情報を記憶し、情報抽出手段は、抽出した連携情報に含まれるアプリケーション種類情報に対応するアプリケーション識別情報を固有設定記憶手段から抽出し、抽出したアプリケーション識別情報に対応する実行場所情報を実行場所情報記憶手段から獲得することが望ましい。そのような構成によれば、クライアント端末が使用するアプリケーションに応じた適切な連携を行うことができる。
【００１４】
アプリケーションに実行させる処理を示す制御情報（例えば、インタフェース実装）を、呼出情報とアプリケーション識別情報とに対応付けて記憶する制御情報記憶手段（例えば、ＡＰ制御ルールテーブル１０３）を備え、情報抽出手段は、抽出した連携情報とアプリケーション識別情報とに対応する制御情報を制御情報記憶手段から抽出し、連携情報通知手段は、抽出した連携情報と制御情報とが示す処理を通知することが望ましい。そのような構成によれば、多様な連携を容易に行うことができる。
【００１５】
制御情報記憶手段は、クライアントアプリケーションが出力するＧＵＩ画面を解析し、データの抽出およびＧＵＩイベントの送付を行う処理を示す制御情報を記憶してもよい。そのような構成によれば、より多様な連携を行うことができる。
【００１６】
制御情報記憶手段は、ポータルアプリケーションが出力するＧＵＩ画面を解析し、データの抽出およびＧＵＩイベントの送付を行う処理を示す制御情報を記憶してもよい。そのような構成によれば、より多様な連携を行うことができる。
【００１７】
Ｗｅｂサーバは、連携情報通知手段が通知した情報にしたがって処理を実行するポートレット実行手段（例えば、ポートレット連携実行部１１４およびポートレット制御部１１３）を備え、クライアント端末は、連携情報通知手段が通知した情報にしたがって処理を実行するクライアント実行手段（例えば、クライアント連携実行部１２２およびクライアントＡＰ制御部１２１）を備えてもよい。そのような構成によれば、ポータルアプリケーションとクライアントアプリケーションとを連携することができる。
【００１８】
本発明によるアプリケーション連携方法は、Ｗｅｂサーバにおいて実行されるポータルアプリケーションとクライアント端末において実行されるクライアントアプリケーションとを連携するアプリケーション連携方法であって、アプリケーションを示す情報とアプリケーションに実行させる処理を呼び出すために用いる呼出情報とを含む連携情報を、当該連携情報を抽出するための条件を示す情報に対応付けて連携情報記憶手段に記憶させる連携情報記憶ステップと、アプリケーションを示す情報に対応付けて当該アプリケーションが実行される装置を示す実行場所情報を実行場所情報記憶手段に記憶させる実行場所情報記憶ステップと、条件に合致する連携情報を連携情報記憶手段から抽出する処理を実行し、抽出した連携情報に含まれるアプリケーションを示す情報に対応する実行場所情報を実行場所情報記憶手段から獲得する情報抽出ステップと、情報抽出ステップで獲得した実行場所情報が示す装置に、抽出した連携情報が示す処理を通知する連携情報通知ステップとを含むことを特徴とする。
【００１９】
クライアント端末で使用可能なアプリケーションの種類を示すアプリケーション種類情報に対応付けて、当該アプリケーションを識別可能なアプリケーション識別情報を固有設定記憶手段に記憶させる固有設定記憶ステップを含み、連携情報記憶ステップで、アプリケーション種類情報をアプリケーションを示す情報として含む連携情報を連携情報記憶手段に記憶し、実行場所情報記憶ステップで、アプリケーション識別情報に対応付けて実行場所情報を実行場所情報記憶手段に記憶し、情報抽出ステップで、抽出した連携情報に含まれるアプリケーション種類情報に対応するアプリケーション識別情報を固有設定記憶手段から抽出し、抽出したアプリケーション識別情報に対応する実行場所情報を実行場所情報記憶手段から獲得することが望ましい。そのような構成によれば、クライアント端末が使用するアプリケーションに応じた適切な連携を行うことができる。
【００２０】
アプリケーションに実行させる処理を示す制御情報を、呼出情報とアプリケーション識別情報とに対応付けて制御情報記憶手段に記憶させる制御情報記憶ステップを含み、情報抽出ステップで、抽出した連携情報とアプリケーション識別情報とに対応する制御情報を制御情報記憶手段から抽出し、連携情報通知ステップで、抽出した連携情報と制御情報とが示す処理を通知することが望ましい。そのような構成によれば、多様な連携を容易に行うことができる。
【００２１】
本発明によるアプリケーション連携プログラムは、Ｗｅｂサーバにおいて実行されるポータルアプリケーションとクライアント端末において実行されるクライアントアプリケーションとを連携するためのアプリケーション連携プログラムであって、コンピュータに、アプリケーションを示す情報とアプリケーションに実行させる処理を呼び出すために用いる呼出情報とを含む連携情報を当該連携情報を抽出するための条件を示す情報に対応付けて記憶する連携情報記憶手段から、条件に合致する連携情報を抽出する処理を実行し、アプリケーションを示す情報に対応付けて当該アプリケーションが実行される装置を示す実行場所情報を記憶する実行場所情報記憶手段から、抽出した連携情報に含まれるアプリケーションを示す情報に対応する実行場所情報を獲得する情報抽出処理と、情報抽出処理で獲得した実行場所情報が示す装置に、抽出した連携情報が示す処理を通知する連携情報通知処理とを実行させることを特徴とする。
【００２２】
連携情報は、アプリケーションの種類を示すアプリケーション種類情報をアプリケーションを示す情報として含み、実行場所情報は、アプリケーションを識別可能なアプリケーション識別情報に対応付けられた情報であって、情報抽出処理で、クライアント端末で使用可能なアプリケーションの種類を示すアプリケーション種類情報に対応付けて、当該アプリケーションを識別可能なアプリケーション識別情報を記憶する固有設定記憶手段から、抽出した連携情報に含まれるアプリケーション種類情報に対応するアプリケーション識別情報を抽出し、抽出したアプリケーション識別情報に対応する実行場所情報を実行場所情報記憶手段から獲得することが望ましい。そのような構成によれば、クライアント端末が使用するアプリケーションに応じた適切な連携を行うことができる。
【００２３】
情報抽出処理で、アプリケーションに実行させる処理を示す制御情報を、呼出情報とアプリケーション識別情報とに対応付けて記憶する制御情報記憶手段から、抽出した連携情報とアプリケーション識別情報とに対応する制御情報を抽出し、連携情報通知処理で、抽出した連携情報と制御情報とが示す処理を通知することが望ましい。そのような構成によれば、多様な連携を容易に行うことができる。
【００２４】
本発明によるアプリケーション連携システムの好ましい一態様は、例えば、Ｗｅｂポータル内に設置されるポータルＡＰ連携部と、クライアント端末内に設置されるクライアントＡＰ連携部とを備えることを特徴とする。ポータルＡＰ連携部は、ポートレットを制御するポートレット制御部と、ポートレット間の連携処理を実行するポートレット連携実行部と、連携ルールを管理するルール管理部と、ユーザの状態を管理するユーザ状態管理部と、状況に応じて実行すべき連携処理を決定する連携決定部を備える。またクライアントＡＰ連携部は、クライアントアプリケーションを制御するクライアントＡＰ制御部と、クライアントアプリケーション間の連携処理を実行するクライアント連携実行部と、クライアント内にインストールされているアプリケーションを管理するＡＰ管理部を備える。ＡＰ管理部とユーザ状態管理部はＡＰテーブルを持つ。またルール管理部はＡＰ制御ルールテーブルと連携ルールテーブルを持つ。
【００２５】
本発明のアプリケーション間連携システムは、まずＡＰ管理部がクライアントにインストールされているアプリケーションを調査し、その結果を自身のＡＰテーブルに保存する。またＡＰ制御ルールテーブルには、アプリケーションの種類毎にその特徴的機能を連携ルールから利用可能にするための共通インタフェースと、制御対象とする個々のアプリケーション毎にそのインタフェースを実現するためのＡＰ制御ルールを持つ。連携ルールテーブルは、アプリケーション種類毎の共通インタフェースを用いて連携処理を実現するための連携ルールを持つ。
【００２６】
ユーザがブラウザを用いてＷｅｂポータルに接続すると、ユーザ状態管理部は接続元のクライアントのクライアントＡＰ連携部のＡＰ管理部からＡＰテーブルの内容を取得し、自身のＡＰテーブルに保存する。連携決定部は初期画面の作成やユーザの操作、アプリケーションの状態の変更などのイベントによって実行すべき連携を決定するが、ここで連携決定部はユーザ状態管理部に保存されているＡＰテーブルの内容を加味して実行すべき連携処理を決定する。決定された連携処理は、Ｗｅｂポータル側で実行されるべき処理と、クライアント側で実行されるべき処理に分割され、Ｗｅｂポータル側で実行されるべき処理はポートレット連携実行部に、クライアント側で実行されるべき処理はクライアント連携実行部に通知される。ポートレット連携実行部とクライアント連携実行部は通知された処理を実行し、連携に必要なアプリケーション機能の実行をポートレット制御部とクライアントＡＰ制御部に指示する。ポートレット制御部とクライアントＡＰ制御部は支持された機能実現のために必要なＡＰ制御ルールをルール管理部から獲得し、実行する。クライアントＡＰ制御部は、特にＧＵＩを介して制御するアプリケーションに対しては、表示されるＧＵＩの画面を解析し、画面から情報を抽出したり、画面上のボタンやテキスト入力エリアにイベントを送ることで制御を行う。
【発明の効果】
【００２７】
本発明によれば、Ｗｅｂポータル接続時に、クライアントにインストールされているアプリケーション一覧をＷｅｂポータルに送付し、連携決定部がこの情報を用いて実行すべき連携処理を決定することで、クライアントにインストールされているアプリケーションに応じた適切な連携を行うことが出来る。
【００２８】
また、本発明によれば、特定のポートレットやクライアントアプリケーションを制御するためのＡＰ制御ルールと、特定のポートレットやクライアントアプリケーションに依存しないアプリケーション間の連携のみを記述した連携ルールとを備える。すなわち、アプリケーション間の連携ルールを、個別のアプリケーションに依存し連携内容には依存しない部分と、個別のアプリケーションに依存せず連携内容には依存する部分とに分割して保持する。そのため、特定のＡＰ制御ルールであれば異なる連携内容に、連携ルールであれば異なる個別アプリケーションの制御にそれぞれ再利用することができる。すなわち、あるアプリケーションについてのＡＰ制御ルールを、他の様々なアプリケーションとの連携時に使用することができるとともに、ある連携ルールを、同じ種類の様々なアプリケーションに適用することができる。したがって、Ｗｅｂポータルと多数のクライアントアプリケーションとの多様な連携を容易に実現することができる。
【００２９】
また、ＧＵＩの画面を解析してデータを抽出したり、ユーザ操作を模したイベントを送ることで、他のプログラムから操作されることを想定していないクライアントアプリケーションを操作することが出来る。
【発明を実施するための最良の形態】
【００３０】
実施の形態１．
以下、本発明の実施の形態を図面を参照して説明する。図１は、第１の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。図１に示すアプリケーション連携システムは、Ｗｅｂポータル内に設置されるポータルＡＰ連携部１１０と、クライアント端末内に設置されるクライアントＡＰ連携部１２０とを備える。
【００３１】
ポータルＡＰ連携部１１０は、ポートレット制御部１１３と、ポートレット連携実行部１１４と、ルール管理部１１２と、ユーザ状態管理部１１１と、連携決定部１１５とを備える。
【００３２】
ユーザ状態管理部１１１は、ＡＰテーブル１０１と、ユーザ固有設定テーブル１０２とを含む。また、ルール管理部１１２は、ＡＰ制御ルールテーブル１０３と、連携ルールテーブル１０４とを含む。
【００３３】
クライアントＡＰ連携部１２０は、クライアントＡＰ制御部１２１と、クライアント連携実行部１２２と、ＡＰ管理部１２３とを備える。ＡＰ管理部１２３は、ＡＰテーブル１２４を含む。
【００３４】
図２は、ユーザ固有設定テーブル１０２の例を示す説明図である。図２を参照すると、ユーザ固有設定テーブル１０２には、アプリケーションの種類に対してユーザが使用するアプリケーションの名前が記載されている。すなわち、ユーザ固有設定テーブル１０２には、アプリケーション種類とアプリケーション名とを含むユーザ固有設定情報が設定される。ユーザ固有設定情報は、あらかじめ設定される情報であって、例えば、ポータルにユーザアカウントが生成される時に、あわせて設定される。また、ユーザ固有設定情報は、適宜変更可能であってもよい。
【００３５】
図３は、ＡＰ制御ルールテーブル１０３の例を示す説明図である。図３を参照すると、ＡＰ制御ルールテーブル１０３には、アプリケーション名と、アプリケーションの種類と、実行場所と、アプリケーション種類毎のインタフェース名と、インタフェース実装とを含むＡＰ制御ルールがあらかじめ設定される。なお、ＡＰ制御ルールは、例えば、ポータルサイトの運営者やユーザによってあらかじめＡＰ制御ルールテーブル１０３に設定される。
【００３６】
図４は、連携ルールテーブル１０４の例を示す説明図である。図４を参照すると、連携ルールテーブル１０４には、起動条件と、実行条件と、連携実装とを含む連携ルールが設定される。
【００３７】
連携実装は、アプリケーション間の連携処理を示す情報であり、例えば、スクリプト記述やプログラムコード等の実行コードである。例えば、連携実装に含まれる個々の処理を示す情報は、それぞれある特定の種類のアプリケーションにおける特定の処理を示す情報である。すなわち、連携実装は、例えば、アプリケーション種類およびインタフェース名を含む情報である。連携実装に含まれるアプリケーション種類およびインタフェース名は、ＡＰ制御ルールに含まれる情報と同じ情報である。以下、連携実装が示す個々の処理を個別処理と表記する。
【００３８】
また、インタフェース実装は、アプリケーション名およびインタフェース名に対応付けられた情報であって、アプリケーションにおける特定の処理を示す情報である。インタフェース実装は、例えば、スクリプト記述やプログラムコード等の実行コードである。
【００３９】
起動条件は、連携実装を起動すべきタイミングを示す情報であって、例えば、画面になんらかの変化があったときに通知されるイベントについての条件を示す情報である。実行条件は、連携実装を実行するために必要となる環境を示す情報である。具体的には、例えば、どのようなアプリケーションがインストールされていることが必要かを示す情報である。
【００４０】
なお、ＡＰ制御ルールテーブル１０３は、連携実装に含まれるアプリケーション種類およびインタフェース名に対応するＡＰ制御ルールを含むとする。また、ＡＰ制御ルールテーブル１０３は、連携実装に含まれるアプリケーション種類およびインタフェース名に対応しないＡＰ制御ルールを含んでもよい。例えば、将来必要となりそうなＡＰ制御ルールをあらかじめ含んでもよい。
【００４１】
図５は、ＡＰテーブル１０１，１２４の例を示す説明図である。図５を参照すると、ＡＰテーブル１０１，１２４には、ＡＰ名を含むＡＰ一覧が設定される。
【００４２】
これらはそれぞれ概略次のように動作する。
【００４３】
ポートレット制御部１１３は、ポートレット連携実行部１１４からの制御指示を受けて、ルール管理部１１２からＡＰ制御ルールを取り出し、実行することでポートレットの制御を行う。なお、「ＡＰ制御ルールを実行する」とは、ＡＰ制御ルールに含まれる連携実装が示す処理を実行することを意味する。
【００４４】
ポートレット連携実行部１１４は、連携決定部１１５の指示により、一度以上のポートレット制御を呼び出す処理を実行すると同時に、処理の一部としてクライアント連携実行部１２２と通信を行う。
【００４５】
ルール管理部１１２は、ＡＰ制御ルールテーブル１０３に設定されるＡＰ制御ルールと、連携ルールテーブル１０４に設定される連携ルールとを管理する。
【００４６】
ユーザ状態管理部１１１は、ユーザ固有設定テーブル１０２に設定されるユーザ固有設定情報と、ＡＰテーブル１０１に設定されるＡＰ一覧とを管理する。
【００４７】
連携決定部１１５は、連携決定部１１５内外からのイベントを受けて、ユーザ状態管理部１１１とルール管理部１１２とを用いて実行すべき連携処理を決定し、ポートレット連携実行部１１４とクライアント連携実行部１２２とにそれぞれ実行すべき処理を指示する。
【００４８】
クライアントＡＰ制御部１２１は、クライアント連携実行部１２２からの指示を受けて、ルール管理部１１２からＡＰ制御ルールを取り出し実行することでクライアントアプリケーションの制御を行う。また、制御において、クライアントアプリケーションのＧＵＩ画面を解析し、情報の抽出およびイベントの送付を行う。
【００４９】
クライアント連携実行部１２２は、連携決定部１１５の指示により、一度以上のクライアントアプリケーション制御を呼び出す処理を実行すると同時に、処理の一部としてポートレット連携実行部１１４と通信を行う。
【００５０】
ＡＰ管理部１２３は、クライアント端末内を調査し、インストールされているアプリケーションの一覧をＡＰテーブル１２４にＡＰ一覧として設定する。
【００５１】
ポータルＡＰ連携部１１０がサーバ装置で実現される場合には、ユーザ状態管理部１１１、ルール管理部１１２、ポートレット制御部１１３、ポートレット連携実行部１１４および連携決定部１１５は、サーバ装置に搭載されるＣＰＵが、それらの機能を実現するためのプログラムを実行することによって実現される。また、クライアントＡＰ連携部１２０がクライアント端末で実現される場合には、クライアントＡＰ制御部１２１、クライアント連携実行部１２２およびＡＰ管理部１２３は、クライアント端末に搭載されるＣＰＵが、それらの機能を実現するためのプログラムを実行することによって実現される。
【００５２】
次に、図面を参照して第１の実施の形態の動作について説明する。図６は、第１の実施の形態のアプリケーション連携システムの動作の例を示すフローチャートである。
【００５３】
まず、ＡＰ管理部１２３は、クライアントにインストールされているアプリケーションを調査し、その結果をＡＰテーブル１２４に保存する（ステップＳ２０１）。ＡＰ管理部１２３は、例えば、ＯＳの提供するインストールアプリケーション管理機能に記憶されている情報に基づいて、クライアント端末にインストールされているアプリケーションについての情報を抽出する。また、アプリケーションがインストールされている記憶装置を検索してもよい。
【００５４】
次に、ユーザがブラウザを介してＷｅｂポータルに接続すると（ステップＳ２０２）、ユーザ状態管理部１１１は、ＡＰ管理部１２３を介してＡＰ一覧を取得し、ＡＰテーブル１０１に保存する（ステップＳ２０３）。
【００５５】
次に、連携決定部１１５は、ユーザ状態管理部１１１を用いてＡＰ一覧とユーザ固有設定情報とを抽出し、ルール管理部１１２を用いて連携ルールを抽出して（ステップＳ２０４）、起動条件を満たす連携ルールがあるか否かを判断する（ステップＳ２０５）。ステップＳ２０５において、起動条件を満たす連携ルールがあると判断した場合（Ｙ）、連携決定部１１５は、起動条件を満たす連携ルールの中で実行条件を満たす連携ルールがあるか否かを判断する（ステップＳ２０６）。
【００５６】
実行条件を満たす連携ルールがあると判断した場合（Ｙ）、連携決定部１１５は、連携ルールの連携実装の記述を解析し、個別処理毎に、アプリケーション制御の記述におけるアプリケーション種類を抽出する。そして、ユーザ固有設定情報から、抽出したアプリケーション種類に対応するアプリケーション名を抽出する。連携決定部１１５は、抽出したアプリケーション名に対応する実行場所をルール管理部１１２のＡＰ制御ルールテーブル１０３から抽出して、個別処理の実行場所を判断する（ステップＳ２０７）。
【００５７】
連携決定部１１５は、連携実装の中に記載された処理のうち、ポータルで実行すべき個別処理をポートレット連携実行部１１４に通知し、クライアントで実行すべき個別処理をクライアント連携実行部１２２にそれぞれ通知する（ステップＳ２０８）。
【００５８】
なお、連携実装の記述方法とその中の個別処理の単位として、様々な既存技術が利用可能である。好適な実施例として、連携実装は、手続き型のスクリプト言語で記述され、個別処理は、スクリプトの各行に相当する。スクリプト内の各行（個別処理）についてポートレット連携実行部１１４とクライアント連携実行部１２２のどちらで実行されるかが決定され、通知される。
【００５９】
次に、ステップＳ２０９において、ポートレット連携実行部１１４とクライアント連携実行部１２２は、それぞれ指示された個別処理を交互に実行する。図７は、ステップＳ２０９の連携実装実行処理の例を示すフローチャートである。
【００６０】
ステップＳ１４０１において、ポートレット連携実行部１１４は、実行すべき個別処理があるか否かを判断する。実行すべき個別処理があると判断した場合（Ｙ）、ポートレット連携実行部１１４は、個別処理を実行する（ステップＳ１４０２）。ポートレット連携実行部１１４は、その中にポートレットの制御があるか否かを判断する（ステップＳ１４０３）。例えば、ポートレット連携実行部１１４は、個別処理が、実行場所がポータルであるアプリケーションに対応するアプリケーション種類についての処理である場合に、ポートレットの制御があると判断する。
【００６１】
ポートレットの制御があると判断した場合（Ｙ）、ポートレット連携実行部１１４は、ポートレット制御部１１３に制御を指示する。例えば、ポートレット連携実行部１１４は、ポートレット制御部１１３に、アプリケーション種類およびインタフェース名を含む個別処理を示す情報を送信する。指示を受けたポートレット制御部１１３は、必要なＡＰ制御ルールを決定し（ステップＳ１４０４）、ルール管理部１１２からＡＰ制御ルールを取得する（ステップＳ１４０５）。すなわち、ポートレット制御部１１３は、受信したアプリケーション種類に対応するアプリケーション名をユーザ固有設定情報から抽出する。そして、抽出したアプリケーション名と、受信したインタフェース名とに対応するインタフェース実装をＡＰ制御ルールから抽出して実行する（ステップＳ１４０６）。
【００６２】
ポートレット連携実行部１１４は、ステップＳ１４０１に戻って次の個別処理の実行を繰り返す。ステップＳ１４０１において、個別処理がない場合（Ｎ）、ステップＳ１４０７に移行して、クライアント連携実行部１２２に実行継続を指示し、ポートレット連携実行部１１４は処理の実行を一時中断する。
【００６３】
ステップＳ１４０８において、クライアント連携実行部１２２は、実行すべき個別処理あるか否かを判断する。実行すべき個別処理があると判断した場合（Ｙ）、クライアント連携実行部１２２は、個別処理を実行する（ステップＳ１４０９）。クライアント連携実行部１２２は、その中でクライアントアプリケーションの制御があるか否かを判断する（ステップＳ１４１０）。
【００６４】
クライアントアプリケーションの制御があると判断した場合（Ｙ）、クライアント連携実行部１２２は、クライアントＡＰ制御部１２１に制御を指示する。指示を受けたクライアントＡＰ制御部１２１は、必要なＡＰ制御ルールを決定し（ステップＳ１４１１）、ルール管理部１１２からＡＰ制御ルールを取得する（ステップＳ１４１２）。クライアントＡＰ制御部１２１は、取得したＡＰ制御ルールを実行し（ステップＳ１４１３）、ステップＳ１４０８に戻って次の個別処理の実行を繰り返す。ステップＳ１４０８において、個別処理がない場合（Ｎ）、ステップＳ１４１４に移行して、実行すべき個別処理で残っているものがあるか否かを判断する。残っているものがあると判断した場合（Ｙ）、クライアントＡＰ制御部１２１は、ポートレット連携実行部１１４に実行継続を指示する（ステップＳ１４１５）。クライアント連携実行部１２２は、実行を一時中断して、ステップＳ１４０１からの処理を繰り返す。これをステップＳ１４１４において残る個別処理がなくなるまで繰り返す。
【００６５】
図６に示すステップＳ２０９において、連携処理の実行が終了すると、連携決定部１１５は、イベントを待ち（ステップＳ２２２）、発生したイベントがユーザ切断イベントであるか否かを判断する（ステップＳ２２３）。ステップＳ２２３において、発生したイベントがユーザ切断以外のイベントである場合（Ｎ）、ステップＳ２０４へ戻って動作を繰り返す。ユーザ切断イベントである場合（Ｙ）、ユーザ状態管理部１１１は、ＡＰテーブル１０１の中身を削除する（ステップＳ２２４）。
【００６６】
以上に説明したように、第１の実施の形態によれば、Ｗｅｂポータルまたはクライアントが、ユーザが使用するアプリケーション種類の実行場所に応じて処理を実行することから、適切に連携処理を行うことができるという効果がある。また、連携ルールがアプリケーション種類毎の処理を示す情報であって、ＡＰ制御ルールがアプリケーション毎の処理を示す情報であることから、多様な連携処理を容易に行うことができるという効果がある。
【００６７】
実施の形態２．
次に、本発明の第２の実施の形態について説明する。第１の実施の形態では、ユーザ状態管理部１１１は、ユーザの接続時にＡＰ一覧を取得し、切断時にＡＰ一覧を削除していたが、第２の実施の形態では、切断時にＡＰ一覧を削除しなくてもよい。
【００６８】
第２の実施の形態では、ユーザ状態管理部１１１は、クライアントに固有の識別子であるクライアントＩＤによって、クライアント毎にＡＰ一覧を管理する。ユーザ状態管理部１１１は、切断時にＡＰ一覧を削除せず、接続時に、同一クライアントＩＤに対応するＡＰ一覧について、前回取得してＡＰテーブル１０１に設定されているＡＰ一覧と、現在のＡＰテーブル１２４に設定されているＡＰ一覧との差分のみを取得するようにしてもよい。
【００６９】
図８は、第２の実施の形態におけるＡＰテーブル１０１の例を示す説明図である。第２の実施の形態によれば、多数のクライアントアプリケーションがインストールされている状況で、ユーザ接続時の通信負荷を低減することができる。
【００７０】
実施の形態３．
次に本発明の第３の実施の形態について説明する。第１の実施の形態では、ＡＰ管理部１２３は、クライアントアプリケーション制御用の実装を全てルール管理部１１２から取得していたが、第３の実施の形態では、ＡＰ管理部１２３がクライアント固有のＡＰ制御ルールの一部あるいは全部を保持してもよい。例えば、ルール管理部１１２のＡＰ制御ルールのインタフェース実装に含まれるアプリケーションの実行ファイルの位置などを変数化し、変数値をＡＰ管理部１２３に持たせる形式等が考えられる。
【００７１】
図９は、第３の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。ＡＰ管理部１２３は、固有ＡＰ制御ルールテーブル１２５を含む。図１０は、固有ＡＰ制御ルールテーブル１２５の例を示す説明図である。図１０に示すように、固有ＡＰ制御ルールテーブル１２５には、アプリケーション名、アプリケーション種類、インタフェース名およびインタフェース実装を含む固有ＡＰ制御ルールが設定される。
【００７２】
第３の実施の形態によれば、クライアントＡＰ連携部１２０において、ＡＰ制御ルールの抽出処理を効率よく行うことができるという効果がある。
【００７３】
実施の形態４．
次に本発明の第４の実施の形態について説明する。第１の実施の形態では、ポートレット連携実行部１１４とクライアント連携実行部１２２とがそれぞれ連携処理を実行し、ポートレット制御部１１３とクライアントＡＰ制御部１２１を呼び出していた。第４の実施の形態では、ポートレット連携実行部１１４またはクライアント連携実行部１２２のいずれか一方のみが連携処理を実行し、他方は単に通信を受けて制御部を呼び出すようにしてもよい。このような仕組みは、リモートプロシジャコール（ＲＰＣ）などと呼ばれる仕組みを用いることで容易に実現できる。
【００７４】
図１１および図１２は、第４の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。
【００７５】
図１１に示すアプリケーション連携システムのクライアントＡＰ連携部１２０は、クライアント連携実行部１２２を含まない点で第１の実施の形態と異なる。図１１に示すアプリケーション連携システムは、ポートレット連携実行部１１４のみが連携処理を実行する。
【００７６】
また、図１２に示すアプリケーション連携システムのポータルＡＰ連携部１１０は、ポートレット連携実行部１１４を含まない点で第１の実施の形態と異なる。図１２に示すアプリケーション連携システムは、クライアント連携実行部１２２のみが連携処理を実行する。
【００７７】
図１３は、第４の実施の形態のアプリケーション連携システムの動作の例を示すフローチャートである。図１３に例示するように、第４の実施の形態のアプリケーション連携システムは、図６に例示する処理と異なり、アプリケーション実行場所の取得を行わずに全ての個別処理をポートレット連携実行部１１４またはクライアント連携実行部１２２に指示する。
【００７８】
図１４および図１５は、ステップＳ２０９の連携実装実行処理の例を示すフローチャートである。図１４には、ポートレット連携実行部１１４のみが連携処理を実行する場合の処理を示す。図１４に示す例では、ポートレット連携実行部１１４が全ての個別処理を実行し、ポートレット制御部１１３とクライアントＡＰ制御部１２１を直接呼び出す。また、図１５には、クライアント連携実行部１２２のみが連携処理を実行する場合の処理を示す。図１５に示す例では、クライアント連携実行部１２２が全ての個別処理を実行し、ポートレット制御部１１３とクライアントＡＰ制御部１２１を直接呼び出す。
【００７９】
第４の実施の形態によれば、ポートレット連携実行部１１４またはクライアント連携実行部１２２のいずれか一方のみが連携処理を実行することから、連携処理を効率よく行うことができるという効果がある。
【００８０】
なお、第１の実施の形態では、ＡＰ制御ルールおよび連携ルールを毎回ルール管理部１１２から取得しているが、ルールを使用する様々な箇所でキャッシュすることは、一般的技術者であれば容易に想定されることは明らかであろう。
【実施例】
【００８１】
次に、第１の実施の形態の実施例について説明する。図１６は、本実施例のＷｅｂポータルシステムの構成例を示すブロック図である。図１６に示すＷｅｂポータルシステムは、ポータルサーバ１０と、クライアント２０とを備える。
【００８２】
ポータルサーバ１０は、本発明によるポータルＡＰ連携部１１０と、ポートレットとして、メール管理ポートレット１００３と、会議日程調整ポートレット１００２と、スケジュール管理ポートレット１００１と、ポートレットの起動やポートレットによる画面生成を行うポートレット実行部１００４とを含む。
【００８３】
クライアント２０は、本発明によるクライアントＡＰ連携部１２０と、Ｗｅｂブラウザ１００５と、スケジュール管理システムであるMyScheduler １００６とを含む。
【００８４】
図１７は、ユーザ固有設定テーブル１０２の登録例を示す説明図である。図１７に示す例では、利用するスケジューラと会議日程調整で利用するアプリケーションが登録されている。図１７を参照すると、アプリケーション種類として、スケジューラ、会議日程調整およびメール管理が設定され、それぞれに対応するアプリケーション名として、MyScheduler １００６、会議日程調整ポートレット１００２およびメール管理ポートレット１００３が設定されている。
【００８５】
図１８は、ＡＰ制御ルールテーブル１０３の登録例を示す説明図である。図１８に示す例では、MyScheduler １００６、スケジュール管理ポートレット１００１、メール管理ポートレット１００３および会議日程調整ポートレット１００２のそれぞれのアプリケーション名毎にＡＰ制御ルールが登録されている。
【００８６】
図１９は、連携ルールテーブル１０４の登録例を示す説明図である。図１９に示す例では、初期状態でメール管理画面を表示する連携ルール１と、会議日程調整回答入力の画面が表示され、かつスケジューラが利用可能である場合にスケジューラで会議候補日の予定を表示して予定の有無を取得して自動的に回答を行う連携ルール２と、会議日程調整回答入力の画面が表示され、かつスケジューラが利用不可能である場合に単にカレンダーで候補日の表示のみを行う連携ルール３とが登録されている。
【００８７】
次に、本実施例におけるＷｅｂポータルシステムの動作について説明する。まず最初に、ＡＰ管理部１２３は、クライアントにインストールされているアプリケーションを調査し、発見したMyScheduler １００６とＷｅｂブラウザ１００５とをＡＰテーブル１２４に追加する。
【００８８】
次に、ユーザがＷｅｂブラウザ１００５を用いてＷｅｂポータルに接続すると、ユーザ状態管理部１１１は、接続元のクライアントのアドレスを取得し、クライアント上のクライアントＡＰ連携部１２０に接続してＡＰ管理部１２３からＡＰ一覧を取得し、自身のＡＰテーブル１０１に保存する。
【００８９】
次に、連携決定部１１５は、連携ルールテーブル１０４に設定される連携ルールに基づいて、可能な連携を調査する。ここでは、接続直後であるため、連携ルール１が決定される。連携ルール１は、メール管理アプリケーションのみを利用する連携実装を含む。連携決定部１１５は、ユーザ固有設定テーブル１０２に設定されるユーザ固有設定情報に基づいて、ユーザが使用するメール管理アプリケーションはメール管理ポートレット１００３であると判断する。
【００９０】
また、連携決定部１１５は、ＡＰ制御ルールテーブル１０３に設定されるＡＰ制御ルールに基づいて、メール管理ポートレット１００３の実行場所はポータルであると判断する。連携決定部１１５は、連携ルール１に設定された連携実装に基づいて、連携処理として、ポートレット連携実行部１１４にメール管理アプリケーションの起動を指示する。ここではクライアント連携実行部１２２には処理は指示されない。
【００９１】
指示を受けたポートレット連携実行部１１４は、処理を実行し、ポートレット制御部１１３に、処理対象のアプリケーション名としてメール管理ポートレット１００３を指示し、制御として起動を指示する。
【００９２】
ポートレット制御部１１３は、ＡＰ制御ルールからメール管理ポートレット１００３の起動用のＡＰ制御ルールを取り出し、これを実行する。すなわち、ポートレット制御部１１３は、アプリケーション名がメール管理ポートレット１００３であるＡＰ制御ルールを抽出し、メール管理ポートレット１００３に対し、抽出したＡＰ制御ルールのインタフェース実装を実行する。この結果、ユーザのＷｅｂブラウザ１００５にメール管理画面が表示される。連携処理の実行が終了したので、連携決定部１１５はイベント待ちになる。
【００９３】
次に、ユーザが、Ｗｅｂポータル上で表示されたメール管理ポートレット１００３の画面を用いてメールの送受信などの作業を行うと、新たな画面表示などのイベントが連携決定部１１５に通知され、そのたびに起動条件がチェックされ実行すべき連携処理の有無が調査される。
【００９４】
ここで、ユーザが読むメール中に会議日程調整依頼があり、そのメール中に会議日程調整ポートレット１００２内の所定の会議データへのリンクが埋め込まれている場合について説明する。ユーザが、メール中の会議データへのリンクをクリックして会議日程調整ポートレット１００２を起動すると、その中の会議日程調整の回答入力画面が表示される。これが画面表示イベントとして連携決定部１１５に通知されると、連携決定部１１５は、起動条件に合致する連携ルールとして連携ルール２を抽出し、その実行条件をチェックする。図１９を参照すると、連携ルール２の実行条件は、スケジューラが利用可能であることである。ここでは、ユーザのスケジューラであるMyScheduler １００６がクライアントにインストールされているので利用可能と判断され、連携ルール２の実行が決定される。
【００９５】
次に、連携決定部１１５は、連携ルール２の連携実装に含まれる２つのアプリケーション種類「会議日程調整」と「スケジューラ」について、アプリケーション名および実行場所を確認する。図１７に示すユーザ固有設定テーブル１０２を参照すると、「会議日程調整」および「スケジューラ」に対応するアプリケーション名は、それぞれ「会議日程調整ポートレット１００２」および「MyScheduler １００６」である。また、図１８に示すＡＰ制御ルール１０３を参照すると、「会議日程調整ポートレット１００２」および「MyScheduler １００６」に対応する実行場所は、それぞれ「ポータル」および「クライアント」である。したがって、連携決定部１１５は、連携ルール２の連携実装における処理のうち、候補日を会議日程調整システムから取り出す処理と、候補日の参加可否を会議日程調整システムに入力する処理とを、ポートレット連携実行部１１４に実行させることを決定する。また、連携決定部１１５は、スケジューラを起動し候補日の予定を取得する処理をクライアント連携実行部１２２に実行させることを決定する。連携決定部１１５は、それぞれの処理間の通信処理を埋め込んだ処理内容を確定し、ポートレット連携実行部１１４およびクライアント連携実行部１２２のそれぞれに通知を行う。
【００９６】
通知を受けたポートレット連携実行部１１４は、まず会議日程調整システムへ候補日取得機能の呼び出し処理を実行し、その結果ポートレット制御部１１３が起動される。ポートレット制御部１１３は、会議日程調整システムが会議日程調整ポートレット１００２であることから、会議日程調整ポートレット１００２の候補日取得用のＡＰ制御ルールをルール管理部１１２から抽出する。ポートレット制御部１１３は、抽出したＡＰ制御ルールを実行して、会議日程調整ポートレット１００２から候補日を取得し、取得した結果をポートレット連携実行部１１４に渡す。
【００９７】
ポートレット連携実行部１１４は、候補日データをクライアント連携実行部１２２に送付し、参加可否情報の待ちの処理を実行する。
【００９８】
クライアント連携実行部１２２は、指示を受けると、処理を実行する。クライアント連携実行部１２２は、まず、候補日データの受信処理を実行し、データの送付を待ち、次に、スケジューラ起動をクライアントＡＰ制御部１２１に指示する。
【００９９】
クライアントＡＰ制御部１２１は、スケジューラであるMyScheduler １００６の起動処理用のＡＰ制御ルールを取得して実行し、次に、スケジューラの予定取得機能で候補日の予定を取得する処理を実行する。ここで、クライアントＡＰ制御部１２１は、MyScheduler １００６の予定取得のためのＡＰ制御ルールをルール管理部１１２から取得する。
【０１００】
クライアントＡＰ制御部１２１は、ＡＰ制御ルールのインタフェース実装が示す処理を実行する。例えば、MyScheduler がＧＵＩからの制御しか許さないＡＰである場合のインタフェース実装が示す処理として、クライアントＡＰ制御部１２１は、MyScheduler １００６のＧＵＩを解析し、表示日入力欄に候補日データを入力して表示ボタンにクリックイベントを送り、表示されたスケジュール画面を解析して該当日の予定を取り出し、クライアント連携実行部１２２に渡す。
【０１０１】
クライアント連携実行部１２２は、予定の有無を判断し、予定があった場合、参加不可を決定してポートレット連携実行部１１４に送る。
【０１０２】
ポートレット連携実行部１１４は、参加不可の結果を会議日程調整に入力するようポートレット制御部１１３に指示を出す。ポートレット制御部１１３は、該当するＡＰ制御ルールをルール管理部１１２から抽出して実行し、会議日程調整の回答入力画面に参加不可の結果を入力する。
【０１０３】
連携処理の実行が終了したため、連携決定部１１５は、再びイベント待ちに戻る。ユーザがＷｅｂブラウザ１００５を閉じた場合、切断を検知したユーザ状態管理部１１１は、ＡＰテーブル１０１をクリアする。
【０１０４】
次に、図１９に示す連携ルール３を実行する場合の動作について説明する。同じユーザが、MyScheduler １００６がインストールされていない他人のクライアント端末を借りて同じＷｅｂポータルに接続し、メール中の会議データへのリンクをクリックして会議日程調整ポートレット１００２を起動することにより、上記の実施例と同様に会議日程調整の回答入力画面が表示された場合について説明する。
【０１０５】
連携決定部１１５は、起動条件に合致する連携ルールを抽出する。ここで、連携ルール２において、起動条件は満たされるが、実行条件であるスケジューラが利用できないため、連携ルール２は抽出されず、代わりに連携ルール３が抽出され、実行される。
【０１０６】
連携ルール３の実行手順は連携ルール２と同様である。例えば、ポートレット制御部１１３は、会議日程調整から候補日を取得したあとで、カレンダーポートレットを用いて候補日のカレンダーを表示する処理をＷｅｂポータルで実行する。
【産業上の利用可能性】
【０１０７】
本発明によれば、ユーザがクライアントアプリケーションを含む複数のアプリケーションを利用するのを支援するＷｅｂポータルシステムといった用途に適用できる。
【図面の簡単な説明】
【０１０８】
【図１】第１の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。
【図２】ユーザ固有設定テーブルの例を示す説明図である。
【図３】ＡＰ制御ルールテーブルの例を示す説明図である。
【図４】連携ルールテーブルの例を示す説明図である。
【図５】ＡＰテーブルの例を示す説明図である。
【図６】第１の実施の形態のアプリケーション連携システムの動作の例を示すフローチャートである。
【図７】連携実装実行処理の例を示すフローチャートである。
【図８】第２の実施の形態におけるＡＰテーブルの例を示す説明図である。
【図９】第３の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。
【図１０】固有ＡＰ制御ルールテーブルの例を示す説明図である。
【図１１】第４の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。
【図１２】第４の実施の形態のアプリケーション連携システムの構成例を示すブロック図である。
【図１３】第４の実施の形態のアプリケーション連携システムの動作の例を示すフローチャートである。
【図１４】連携実装実行処理の例を示すフローチャートである。
【図１５】連携実装実行処理の例を示すフローチャートである。
【図１６】本実施例のＷｅｂポータルシステムの構成例を示すブロック図である。
【図１７】ユーザ固有設定テーブルの登録例を示す説明図である。
【図１８】ＡＰ制御ルールテーブルの登録例を示す説明図である。
【図１９】連携ルールテーブルの登録例を示す説明図である。
【符号の説明】
【０１０９】
１０１    ＡＰテーブル
１０２    ユーザ固有設定テーブル
１０３    ＡＰ制御ルールテーブル
１０４    連携ルールテーブル
１１０    ポータルＡＰ連携部
１１１    ユーザ状態管理部
１１２    ルール管理部
１１３    ポートレット制御部
１１４    ポートレット連携実行部
１１５    連携決定部
１２０    クライアントＡＰ連携部
１２１    クライアントＡＰ制御部
１２２    クライアント連携実行部
１２３    ＡＰ管理部
１２４    ＡＰテーブル
【図１】
2008250408.tif 000003
【図２】
2008250408.tif 000004
【図３】
2008250408.tif 000005
【図４】
2008250408.tif 000006
【図５】
2008250408.tif 000007
【図６】
2008250408.tif 000008
【図７】
2008250408.tif 000009
【図８】
2008250408.tif 000010
【図９】
2008250408.tif 000011
【図１０】
2008250408.tif 000012
【図１１】
2008250408.tif 000013
【図１２】
2008250408.tif 000014
【図１３】
2008250408.tif 000015
【図１４】
2008250408.tif 000016
【図１５】
2008250408.tif 000017
【図１６】
2008250408.tif 000018
【図１７】
2008250408.tif 000019
【図１８】
2008250408.tif 000020
【図１９】
2008250408.tif 000021