(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004078
(43)【公開日】2024-01-16
(54)【発明の名称】システム、方法、およびプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240109BHJP
G06F 8/20 20180101ALI20240109BHJP
H04L 67/02 20220101ALI20240109BHJP
G06F 3/0481 20220101ALI20240109BHJP
【FI】
G06Q50/10
G06F8/20
H04L67/02
G06F3/0481
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022103544
(22)【出願日】2022-06-28
(71)【出願人】
【識別番号】518453637
【氏名又は名称】Anyflow株式会社
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100222612
【弁理士】
【氏名又は名称】山本 飛翔
(74)【代理人】
【識別番号】100170209
【弁理士】
【氏名又は名称】林 陽和
(72)【発明者】
【氏名】坂本 蓮
(72)【発明者】
【氏名】大久保 陽平
(72)【発明者】
【氏名】川村 将史
【テーマコード(参考)】
5B376
5E555
5L049
【Fターム(参考)】
5B376BC31
5B376BC43
5E555AA79
5E555BA02
5E555BA69
5E555BB02
5E555BC04
5E555BD01
5E555CB74
5E555DB03
5E555DB18
5E555DB20
5E555DB41
5E555DC05
5E555DC13
5E555DD06
5E555DD07
5E555DD08
5E555EA11
5E555FA00
5L049CC12
(57)【要約】
【課題】複数のアプリケーションの連携を実現するプロダクトの開発を容易化する。
【解決手段】本開示は、複数のアプリケーションの連携に基づく情報処理機能を提供するためのシステムであって、情報処理機能の実装者による入力に応じて、連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、連携において複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築部と、実装者による入力に応じて、情報処理機能の利用者に提供する利用者画面を構築する第2の構築部と、を備え、第1の構築部は、複数のアプリケーションの各々に関連して予め決められた第1の変数データと、利用者画面を介した利用者の入力を受け取るために実装者により任意に定義される第2の変数データと、に基づいて、イベントおよびステップを構築する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のアプリケーションの連携に基づく情報処理機能を提供するためのシステムであって、
前記情報処理機能の実装者による入力に応じて、前記連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、前記連携において前記複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築部と、
前記実装者による入力に応じて、前記情報処理機能の利用者に提供する利用者画面を構築する第2の構築部と、
を備え、
前記第1の構築部は、前記複数のアプリケーションの各々に関連して予め決められた第1の変数データと、前記利用者画面を介した前記利用者の入力を受け取るために前記実装者により任意に定義される第2の変数データと、に基づいて、前記イベントおよび前記ステップを構築する、
システム。
【請求項2】
前記イベントおよび前記ステップの構築に関する前記実装者による入力を受け付ける第1の領域と、当該第1の領域により受け付けられた入力に応じて構築された前記イベントおよび前記ステップを含む前記情報処理の流れを示すフロー図を表示する第2の領域と、を含む第1の構築画面を出力する表示処理部をさらに備え、
前記第1の構築部は、前記第1の構築画面を介した前記実装者による入力に応じて、前記イベントおよび前記ステップを構築する、
請求項1に記載のシステム。
【請求項3】
前記第1の構築画面は、前記実装者による入力に応じて前記第2の変数データを定義するための第3の領域をさらに含む、
請求項2に記載のシステム。
【請求項4】
前記第3の領域は、前記実装者に前記第2の変数データの型を予め設定された複数の型の中から選択させるための選択インターフェースを含む、
請求項3に記載のシステム。
【請求項5】
前記表示処理部は、前記利用者画面の画面デザインに関する前記実装者による入力を受け付ける第4の領域と、当該第4の領域により受け付けられた入力に応じて構築された前記利用者画面を表示する第5の領域と、を含む第2の構築画面をさらに出力し、
前記第2の構築部は、前記第2の構築画面を介した前記実装者による入力に応じて、前記利用者画面を構築する、
請求項2~4のうちいずれか1項に記載のシステム。
【請求項6】
前記第4の領域は、前記利用者による前記第2の変数データの入力を受け付けるように前記利用者画面に設けられる入力インターフェースにおける前記第2の変数データの入力形式を予め決められた複数の入力形式の中から選択的に指定するための第6の領域を含む、
請求項5に記載のシステム。
【請求項7】
複数のアプリケーションの連携に基づく情報処理機能を提供するための方法であって、
前記情報処理機能の実装者による入力に応じて、前記連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、前記連携において前記複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築ステップと、
前記実装者による入力に応じて、前記情報処理機能の利用者に提供する利用者画面を構築する第2の構築ステップと、
を備え、
前記第1の構築ステップは、前記複数のアプリケーションの各々に関連して予め決められた第1の変数データと、前記利用者画面を介した前記利用者の入力を受け取るために前記実装者により任意に定義される第2の変数データと、に基づいて、前記イベントおよび前記ステップを構築する、
方法。
【請求項8】
複数のアプリケーションの連携に基づく情報処理機能を提供するために、
前記情報処理機能の実装者による入力に応じて、前記連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、前記連携において前記複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築ステップと、
前記実装者による入力に応じて、前記情報処理機能の利用者に提供する利用者画面を構築する第2の構築ステップと、
をコンピュータに実行させるためのプログラムであって、
前記第1の構築ステップは、前記複数のアプリケーションの各々に関連して予め決められた第1の変数データと、前記利用者画面を介した前記利用者の入力を受け取るために前記実装者により任意に定義される第2の変数データと、に基づいて、前記イベントおよび前記ステップを構築する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、システム、方法、およびプログラムに関する。
【背景技術】
【0002】
近年、複数のアプリケーションを連携させる技術について検討されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、上記のような連携を実現するプロダクトの開発は、各アプリケーションの仕様を詳細に調査した上で行う必要があるため、当該プロダクトを開発するベンダーにとって負荷が大きい。
【0005】
本開示が解決しようとする課題の一つは、複数のアプリケーションの連携を実現するプロダクトの開発の容易化を図ることが可能なシステム、方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の一例としてのシステムは、複数のアプリケーションの連携に基づく情報処理機能を提供するためのシステムであって、情報処理機能の実装者による入力に応じて、連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、連携において複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築部と、実装者による入力に応じて、情報処理機能の利用者に提供する利用者画面を構築する第2の構築部と、を備え、第1の構築部は、複数のアプリケーションの各々に関連して予め決められた第1の変数データと、利用者画面を介した利用者の入力を受け取るために実装者により任意に定義される第2の変数データと、に基づいて、イベントおよびステップを構築する。
【0007】
また、本開示の他の一例としての方法は、複数のアプリケーションの連携に基づく情報処理機能を提供するための方法であって、情報処理機能の実装者による入力に応じて、連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、連携において複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築ステップと、実装者による入力に応じて、情報処理機能の利用者に提供する利用者画面を構築する第2の構築ステップと、を備え、第1の構築ステップは、複数のアプリケーションの各々に関連して予め決められた第1の変数データと、利用者画面を介した利用者の入力を受け取るために実装者により任意に定義される第2の変数データと、に基づいて、イベントおよびステップを構築する。
【0008】
また、本開示のさらに他の一例としてのプログラムは、複数のアプリケーションの連携に基づく情報処理機能を提供するために、情報処理機能の実装者による入力に応じて、連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、連携において複数のアプリケーションに実行させる情報処理の流れを構築する第1の構築ステップと、実装者による入力に応じて、情報処理機能の利用者に提供する利用者画面を構築する第2の構築ステップと、をコンピュータに実行させるためのプログラムであって、第1の構築ステップは、複数のアプリケーションの各々に関連して予め決められた第1の変数データと、利用者画面を介した利用者の入力を受け取るために実装者により任意に定義される第2の変数データと、に基づいて、イベントおよびステップを構築する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態にかかる情報処理システムの構成を説明するための例示的かつ模式的なブロック図である。
【
図2】
図2は、実施形態にかかるアプリケーション連携の利用態様の一例を示した例示的かつ模式的なブロック図である。
【
図3】
図3は、実施形態にかかるアプリケーション連携の構築手順を説明するための例示的かつ模式的なフローチャートである。
【
図4】
図4は、実施形態にかかるソリューションエディタを説明するための例示的かつ模式的な図である。
【
図5】
図5は、実施形態にかかるトリガーを説明するための例示的かつ模式的な図である。
【
図6】
図6は、実施形態にかかるステップの追加を説明するための例示的かつ模式的な図である。
【
図7】
図7は、実施形態にかかる第1の変数を説明するための例示的かつ模式的な図である。
【
図8】
図8は、実施形態にかかる第2の変数を説明するための例示的かつ模式的な図である。
【
図9】
図9は、実施形態にかかる第2の変数の作成を説明するための例示的かつ模式的な図である
【
図10】
図10は、実施形態にかかる第2の変数を利用したアクションの設定を説明するための例示的かつ模式的な図である。
【
図11】
図11は、実施形態にかかるウィザードエディタを説明するための例示的かつ模式的な図である。
【
図12】
図12は、実施形態にかかるスクリーンにソリューションで利用しているアプリケーションの認証設定を行うインターフェースおよび第2の変数の入力を受け付けるインターフェースを配置する方法を説明するための例示的かつ模式的な図である。
【
図13】
図13は、実施形態にかかる第2の変数の入力形式を指定する方法を説明するための例示的かつ模式的な図である。
【
図14】
図14は、実施形態において指定可能な第2の変数の入力形式の一例としてのアシストの一例を説明するための例示的かつ模式的な図である。
【
図15】
図15は、
図14に示されるアシストの設定方法の概要を説明するための例示的かつ模式的な図である。
【
図16】
図16は、
図14に示されるアシストの設定方法の詳細を説明するための例示的かつ模式的な図である。
【
図17】
図17は、
図14に示されるアシストの設定方法の詳細を説明するための例示的かつ模式的な図である。
【
図18】
図18は、
図14に示される例とは異なるアシストの設定方法の概要を説明するための例示的かつ模式的な図である。
【
図19】
図19は、
図18に示される例を介して実現されるアシストを説明するための例示的かつ模式的な図である。
【
図20】
図20は、
図18に示される例を介して実現されるアシストを説明するための例示的かつ模式的な図である。
【
図21】
図21は、実施形態において指定可能な第2の変数の入力形式の他の一例としてのチェックボックスを示した例示的かつ模式的な図である。
【
図22】
図22は、実施形態にかかる情報処理装置を構成するコンピュータのハードウェア構成を示した例示的かつ模式的なブロック図である。
【
図23】
図23は、変形例にかかるアプリケーション連携の利用態様の一例を示した例示的かつ模式的なブロック図である。
【発明を実施するための形態】
【0010】
以下、本開示の実施形態(および変形例)を図面に基づいて説明する。以下に記載する実施形態の構成、ならびに当該構成によってもたらされる作用および効果は、あくまで一例であって、以下の記載内容に制限されるものではない。
【0011】
また、本開示では、「第1」、「第2」などの序数が必要に応じて使用されるが、これらの序数は、識別の便宜のために使用されるものであり、特定の優先順位を示すものではない。
【0012】
<実施形態>
図1は、実施形態にかかる情報処理システムの構成を説明するための例示的かつ模式的なブロック図である。
【0013】
図1に示されるように、実施形態にかかる情報処理システムは、サーバ装置100を含む。このサーバ装置100は、たとえば企業のような一般組織にプロダクトを提供するベンダーの情報処理装置50からの入力に応じて、複数のSaaS(Software as a Service)アプリケーション200の連携に基づく情報処理機能(以下、アプリケーション連携と表現する)を提供するように構成される。なお、サーバ装置100は、本開示の「システム」の一例である。
【0014】
サーバ装置100は、アプリケーション連携を提供するための機能として、ソリューション構築部101と、ウィザード構築部102と、表示処理部103と、を有している。ソリューション構築部101は、本開示の「第1の構築部」の一例であり、ウィザード構築部102は、本開示の「第2の構築部」の一例である。なお、これらの各機能の詳細については後述する。
【0015】
実施形態において、ベンダーは、一般組織内のエンドユーザーからの要望に応じてサーバ装置100に対して各種の入力を行うことで、エンドユーザーからの要望に沿ったアプリケーション連携を実行する機能を、エンドユーザーに提供するベンダープロダクトに組み込む。このようなアプリケーション連携は、エンドユーザー側において、たとえば次の
図2に示されるような態様で利用される。
【0016】
図2は、実施形態にかかるアプリケーション連携の利用態様の一例を示した例示的かつ模式的なブロック図である。
【0017】
図2に示される例では、エンドユーザー側システム210の情報処理装置211に、上記のアプリケーション連携を実行する機能が組み込まれたベンダープロダクト212が搭載されている。これにより、エンドユーザーは、ベンダープロダクト212を利用することで、アプリケーション連携の利益を得ることができる。
【0018】
アプリケーション連携の構築は、たとえば次の
図3に示されるような手順で行われる。
【0019】
図3は、実施形態にかかるアプリケーション連携の構築手順を説明するための例示的かつ模式的なフローチャートである。
【0020】
図3に示されるように、実施形態では、まず、S301において、サーバ装置100は、アプリケーション連携の実装者(ベンダーの技術者)の入力に応じて、たとえばあるアプリケーションにおいて所定のイベントが発生したことをトリガーとして他のアプリケーションに所定のアクションを実行させるといったような、エンドユーザーに提供したいアプリケーション連携の内容を示すソリューションを構築する。ソリューションの具体例については、後で説明するため、ここではこれ以上の説明を省略する。
【0021】
そして、S302において、サーバ装置100は、アプリケーション連携の実装者の入力に応じて、上記のS301において構築されたソリューションの利用者としてのエンドユーザーに対して提供する画面インターフェース(利用者画面)としてのウィザードを構築する。
【0022】
上記のS301およびS302の処理においてそれぞれ構築されたソリューションおよびウィザードは、アプリケーション連携の実装者によりベンダープロダクト212に組み込まれる。これにより、アプリケーション連携がエンドユーザーに提供される。
【0023】
ここで、上記のS301の処理は、サーバ装置100のソリューション構築部101(
図1参照)によって実行される。すなわち、ソリューション構築部101は、アプリケーション連携の実装者による入力に応じて、連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築する。そして、ソリューション構築部101は、連携において複数のアプリケーションに実行させる情報処理の流れを構築する。
【0024】
また、上記のS302の処理は、サーバ装置100のウィザード構築部102(
図1参照)によって実行される。すなわち、ウィザード構築部102は、アプリケーション連携の実装者による入力に応じて、アプリケーション連携の利用者であるエンドユーザーに提供する利用者画面を構築する。
【0025】
なお、サーバ装置100の表示処理部103(
図1参照)は、上述したソリューションおよびウィザードの構築のための実装者による入力(操作入力)を受け付ける画面を提供する機能である。たとえば、表示処理部103は、ソリューションの構築のための実装者による入力を受け付ける第1の構築画面として、次の
図4に示されるようなソリューションエディタを出力する。
【0026】
図4は、実施形態にかかるソリューションエディタを説明するための例示的かつ模式的な図である。
【0027】
図4に示される画像400は、ソリューションエディタとして表示処理部103により出力される画像の一例である。画像400は、3つの領域410、420、および430を含んでいる。
【0028】
領域410は、連携のトリガーとなるイベント、および当該トリガーに応じて実行させるステップを設定するための第1の領域である。実装者は、この領域410の各項目を設定(選択または入力)することで、イベントおよびステップを設定することができる。
【0029】
たとえば、
図4に示される領域410には、一例として、「SaaS_A」というアプリケーションに「メッセージを送信」というアクションを実行させるというステップが設定されている。また、
図4に示される領域410には、「設定」の欄に、「メッセージを送信」というアクションに関連して参照される変数データ(以下、単に変数と表現する)として、メッセージを送信する宛先を示す「チャンネル」という変数と、送信すべきメッセージの内容を示す「レコード|Step 3」という変数と、が設定されている。ここで、「チャンネル」という変数は、たとえば「SaaS_A」というアプリケーションに関連して予め決められた変数であり、「レコード|Step 3」という変数は、次に説明する領域420に表示されるフロー図の3つ目の処理の結果を参照するための変数である。
【0030】
領域420は、領域410により受け付けられた入力に応じて構築されたイベントおよびステップを含む情報処理の流れを示すフロー図を表示するための第2の領域である。実装者は、この領域420の各ステップを選択することで、上記の領域410に当該ステップの設定項目を表示させることができる。
【0031】
領域430は、ソリューションエディタを用いたイベントおよびステップの設定に利用可能な変数を表示するための領域である。実施形態では、アプリケーションに応じて予め決められた第1の変数と、上述したウィザード(利用者画面)を介したエンドユーザーによる入力を受け取るために実装者により任意に定義される第2の変数と、の2種類の変数が利用される。これらの変数の詳細については後で説明するため、ここではこれ以上の説明を省略する。
【0032】
なお、
図4に示される例では、領域410にステップの内容が設定されているが、領域410には、ステップだけではなく、連携のトリガーとなるイベントも設定することができる。イベントを設定する場合、領域410は、たとえば次の
図5に示される例のような形となる。
【0033】
図5は、実施形態にかかるトリガーを説明するための例示的かつ模式的な図である。
【0034】
図5に示される画像500は、連携のトリガーとなるイベントを設定する場合の領域410の一例である。この画像500は、複数の領域510、520、530、および540を含んでいる。
【0035】
領域510は、設定対象のアプリケーションが表示される領域である。実装者は、ボタン511を操作することで、設定対象のアプリケーションを選択するためのインターフェースの表示/非表示を切り替えることができる。また、領域520は、連携のトリガーとなるイベントの概要が表示される領域である。実装者は、ボタン521を操作することで、連携のトリガーとなるイベントの概要を選択するためのインターフェースの表示/非表示を切り替えることができる。また、領域530は、連携のトリガーとなるイベントに関連する設定項目が表示される領域である。実装者は、ボタン531を操作することで、当該設定項目を詳細に設定するためのインターフェースの表示/非表示を切り替えることができる。
【0036】
また、領域540は、領域520に表示されたイベントのトリガー条件を限定する内容が表示される領域である。実装者は、ボタン541を操作することで、領域520に表示されたイベントのトリガー条件を限定するためのインターフェースの表示/非表示を切り替えることができる。たとえば、
図5に示される領域540には、一例として、「Is Folder|Step 1」という変数の値が「False」と「等しい」状態になったとき、つまり上述した領域420のような、対応するフロー図が表示された領域に示される情報処理の流れにおける1つ目の処理においてフォルダが作成されなかったとき(=フォルダではなくファイルが作成されたとき)、という限定が設定されている。実装者は、ボタン542を操作することで、領域520に表示されたイベントのトリガー条件を限定する内容をさらに追加することができる。
【0037】
なお、実施形態において、設定対象のステップの追加は、たとえば次の
図6に示されるように、領域420を介して行うことができる。
【0038】
図6は、実施形態にかかるステップの追加を説明するための例示的かつ模式的な図である。
【0039】
図6に示される画像600は、「メッセージを投稿」というステップが表示された領域610と、当該ステップの次の処理の流れを決定するためのボタン621、622、および623と、を含んでいる。ボタン621は、領域610に表示されたステップの次に何らかのアプリケーションに何らかのアクションを実行させるステップを設定するためのボタンである。また、ボタン622は、領域610に表示されたステップの次に分岐を設定するためのボタンであり、ボタン623は、領域610に表示されたステップの次にループを設定するためのボタンである。
【0040】
ところで、前述したように、領域430は、ソリューションエディタを用いたイベントおよびステップの設定に利用可能な変数を表示するための領域であり、当該変数は、アプリケーションに応じて予め決められた第1の変数と、実装者により任意に定義される第2の変数と、の2種類ある。
【0041】
アプリケーションに応じて予め決められた第1の変数とは、たとえば次の
図7に示されるようなものである。
【0042】
図7は、実施形態にかかる第1の変数を説明するための例示的かつ模式的な図である。
【0043】
図7に示される画像700は、領域410と、第3の領域430と、を含んでいる。領域410は、設定対象のアプリケーションが表示される領域710と、当該領域710に表示されたアプリケーションに実行させるアクションが表示される領域720と、当該領域720に表示されたアクションに関連する設定項目が表示される領域730と、を含んでいる。
【0044】
領域730に表示された「ファイル」、「アップロード先のフォルダID」、「ファイル名」、および「MIME Type」といった項目は、領域710に表示されたアプリケーションに応じて予め決められた第1の変数である。これらの第1の変数を設定する際には、第3の領域430を利用することができる。
【0045】
より具体的に、
図7に示される第3の領域430には、領域710に表示されたアプリケーションに応じて予め決められた第1の変数の一覧が表示される領域750を含んでいる。この領域750には、領域410を介したアクションの設定の際に参照可能な「ファイル名」などといった複数の第1の変数が、それぞれの型(文字列を示す「ABC」など)と合わせて一覧表示されている。実装者は、この領域750から選択した第1の変数を、領域410の領域730に反映することができる。
【0046】
一方、実装者により任意に定義される第2の変数とは、下記の
図8~
図10に示されるようなものである。
【0047】
図8は、実施形態にかかる第2の変数を説明するための例示的かつ模式的な図である。
【0048】
図8に示される画像800は、第2の変数としての「エンドユーザー変数」が表示された第3の領域430の一例である。実装者は、この画像800のボタン810を操作することで、次の
図9に示されるようなインターフェースを介して、第2の変数を追加的に定義(作成)することができる。
【0049】
図9は、実施形態にかかる第2の変数の作成を説明するための例示的かつ模式的な図である。
【0050】
図9に示される画像900は、第2の変数の名前の入力を受け付ける領域901と、第2の変数の型が選択可能に一覧表示された選択インターフェース902と、を含んでいる。実装者は、領域901に任意の名前を入力した上で選択インターフェース902により型を選択することで、第2の変数の作成を行うことができる。このように作成された第2の変数は、たとえば次の
図10に示されるような形で、ソリューションエディタを介したステップの設定に利用される。
【0051】
図10は、実施形態にかかる第2の変数を利用したステップの設定を説明するための例示的かつ模式的な図である。
【0052】
図10に示される画像1000は、領域410と、第3の領域430と、を含んでいる。この
図10に示される例では、第3の領域430に、
図9に示される画像900を介して作成された第2の変数が表示されている。実装者は、当該第3の領域430に表示された第2の変数を、領域410におけるステップの設定項目の一つとして利用することができる。
【0053】
ところで、前述した通り、表示処理部103は、ソリューションの構築のための実装者による入力を受け付ける画面を提供する機能のみならず、ウィザードの構築のための実装者による入力を受け付ける画面を提供する機能も有する。たとえば、表示処理部103は、ウィザードの構築のための実装者による入力を受け付ける第2の構築画面として、次の
図11に示されるようなウィザードエディタを出力する。
【0054】
図11は、実施形態にかかるウィザードエディタを説明するための例示的かつ模式的な図である。
【0055】
図11に示される画像1100は、ウィザードエディタとして表示処理部103により出力される画像の一例である。画像1100は、4つの領域1110、1120、1130、および1140を含んでいる。また、画像1100は、ウィザードエディタを上述したソリューションエディタに切り替えるためのボタン1101も含んでいる。
【0056】
領域1120、1130、および1140は、ウィザードの画面デザインに関する実装者による入力を受け付ける第4の領域であり、領域1110は、これらの領域1120、1130、および1140により受け付けられた入力に応じて構築されたウィザードを構成する画像としてのスクリーン1111を表示する第5の領域である。
【0057】
たとえば、
図11に示される例において、領域1120は、たとえばスクリーン1111に表示するタイトルのような、スクリーン111の設定項目を入力するための領域(右側のペイン)である。また、領域1130は、スクリーン1111の設定項目を表示する領域(左側のペイン)である。領域1130は、スクリーン1111とは別のスクリーンを新たに作成するためのボタン1131を含んでいる。領域1140は、エンドユーザーの設定項目を表示する領域である。たとえば、領域1140は、次の
図12に示されるように、ソリューションで利用しているアプリケーションの認証設定を行うインターフェースおよびエンドユーザーによる第2の変数の入力を受け付けるインターフェースをどのスクリーンに配置するかを設定するために利用される。
【0058】
図12は、実施形態にかかるスクリーンにソリューションで利用しているアプリケーションの認証設定を行うインターフェースおよび第2の変数の入力を受け付けるインターフェースを配置する方法を説明するための例示的かつ模式的な図である。
【0059】
図12に示される画像1200は、エンドユーザーの設定項目を表示する領域1140の一例である。この画像1200には、ソリューションで利用しているアプリケーションが表示される。実装者は、ボタン1211および1221を操作することで、対応するアプリケーションの認証設定をウィザードにおけるどのスクリーンに配置するかを設定することができる。また、この画像1200には、定義済みの第2の変数の一覧も表示される。実装者は、ボタン1212および1222を操作することで、第2の変数をウィザードにおけるどのスクリーンに配置するかを設定することができる。
【0060】
ここで、実施形態では、下記の
図13~
図21に示されるように、エンドユーザーによる第2の変数の入力を受け付けるインターフェースをスクリーンに配置する際に、どのような入力形式でエンドユーザーに第2の変数を入力させるかを指定することが可能である。
【0061】
図13は、実施形態にかかる第2の変数の入力形式を指定する方法を説明するための例示的かつ模式的な図である。
【0062】
図13に示される画像1300において、領域1120は、スクリーン1311における「エンドユーザー変数A」という第2の変数の入力形式を予め決められた複数の入力形式の中から選択的に指定するための第6の領域としての領域1320を含んでいる。
図13に示される領域1320においては、一例として、第2の変数として入力するデータを固定の選択肢の中からエンドユーザーに選択させるための「セレクト」という入力形式が指定されている。
【0063】
なお、実施形態では、上記の「セレクト」という入力形式の他にも、多数の入力形式を指定可能である。たとえば、実施形態では、「セレクト」以外の特徴的な入力形式として、次の
図14に示されるような「アシスト」という入力形式を指定可能である。
【0064】
図14は、実施形態において指定可能な第2の変数の入力形式の一例としてのアシストの一例を説明するための例示的かつ模式的な図である。
【0065】
図14に示される画像1400は、上記の「アシスト」の設定に応じた選択肢を提示する領域1410を含んでいる。「アシスト」とは、上記の「セレクト」と異なり、第2の変数として入力するデータを、固定の選択肢ではなく、アプリケーションに応じた動的な選択肢の中からエンドユーザーに選択させるための入力形式である。このような「アシスト」は、たとえば下記の
図15~
図17に示されるような方法で設定することができる。
【0066】
図15は、
図14に示されるアシストの設定方法の概要を説明するための例示的かつ模式的な図である。
【0067】
図15に示される画像1500は、入力形式として「アシスト」が選択された場合における上記の第6の領域の一例である。この画像1500には、どのような「アシスト」を提供するか、つまりどのアプリケーションのどのデータを参照して動的な選択肢を提示するか、を選択するためのインターフェース1510が表示される。
【0068】
ここで、
図15に示される例においては、インターフェース1510に表示される選択肢の一つとして、「スプレッドシートのシート一覧」という選択肢がある。一般に、スプレッドシートのシートは、親のスプレッドシート(ワークブックとも言う)に依存しているため、シートの一覧を「アシスト」により提示するためには、たとえば次の
図16に示されるように、シートの一覧の取得先である親のスプレッドシートを指定する必要がある。
【0069】
図16は、
図14に示されるアシストの設定方法の詳細を説明するための例示的かつ模式的な図である。
【0070】
図16に示される画像1600は、上記の画像1500のインターフェース1510において「スプレッドシートのシート一覧」が選択された場合に表示される画像である。この画像1600は、シートの一覧の取得先である親のスプレッドシートを指定するための領域1610を含んでいる。この領域1610においては、たとえば次の
図17に示されるような形で、親のスプレッドシートが指定される。
【0071】
図17は、
図14に示されるアシストの設定方法の詳細を説明するための例示的かつ模式的な図である。
【0072】
図17に示される画像1700は、上記の画像1600において、「スクリーン1」に配置した「スプレッドシート」という第2の変数を親のスプレッドシートとして指定する場合に表示される画像である。「スプレッドシート」という第2の変数に対して「スプレッドシートのシート一覧」という「アシスト」が設定されると、スプレッドシートに関する情報がウィザードを介したエンドユーザーから入力されることに応じて、当該スプレッドシートに含まれるシートの一覧が選択肢として表示されるようになる。
【0073】
なお、実施形態において設定可能なアシストは、上記の
図14に示される例に限らない。
【0074】
図18は、
図14に示される例とは異なるアシストの設定方法の概要を説明するための例示的かつ模式的な図である。
【0075】
図18に示される画像1800は、入力形式として「アシスト」が選択された場合における上記の第6の領域の
図14とは異なる一例である。この画像1800は、設定可能なアシストの選択肢の一つとして「フォルダ一覧」という選択肢が表示されたインターフェース1810を含む。
【0076】
ここで、多数のフォルダの中から対象のフォルダを選択する際には、当該多数のフォルダ全ての中から選択するのではなく、対象のフォルダ名を示す文字列の一部(前方一致、部分一致、後方一致を問わない)のみを入力するだけで入力した文字列を含むフォルダ名を有するフォルダの一覧を表示する、といったようなアシスト(たとえば選択アシストと表現しうる)を実現できれば、利便性が向上する。
【0077】
そこで、実施形態では、
図18に示されるインターフェース1810に表示される「フォルダ一覧」という選択肢を用いて、上記の選択アシストを実現する。選択アシストは、たとえば下記の
図19および
図20に示されるような形で実現される。下記の
図19および
図20に示される例は、「SaaS_Bのフォルダ」という第2の変数に対する選択アシストの例である。
【0078】
図19は、
図18に示される例を介して実現されるアシストを説明するための例示的かつ模式的な図である。
【0079】
図19に示される画像1900は、エンドユーザーによるフォルダ名の入力を受け付ける領域1911と、当該フォルダ名の候補の一覧が表示される領域1912と、を含むインターフェース1910を含む。上記の選択アシストによれば、領域1911に対して所望のフォルダ名の一部を入力するだけで、次の
図20に示されるように、領域1912に表示される候補を絞り込むことができる。
【0080】
図20は、
図18に示される例を介して実現されるアシストを説明するための例示的かつ模式的な図である。
【0081】
図20に示される画像2000は、
図19に示される画像1900において領域1911に「1」と入力した場合に相当する。したがって、
図20に示される例では、領域1912に表示されるフォルダ名の候補が、領域1911に入力された「1」という文字を含む「アシスト10」および「アシスト1」だけとなっている。このように、選択アシストによれば、対象のフォルダの選択(入力)の手間を軽減することができ、利便性が向上する。
【0082】
その他、実施形態では、上述した「セレクト」および「アシスト」とは異なる第2の変数の入力形式として、次の
図21に示されるような「チェックボックス」という入力形式も指定可能である。
【0083】
図21は、実施形態において指定可能な第2の変数の入力形式の他の一例としてのチェックボックスを示した例示的かつ模式的な図である。
【0084】
図21に示される画像2100は、ウィザードエディタにおいて「チェックボックス」という入力形式を設定する場合に出力される画像の一例である。この画像2100において、領域1110には、チェックボックス形式で選択肢を提示するインターフェース2112を含むスクリーン2111が表示されており、領域2120には、当該スクリーン2111の表示内容を設定するためのインターフェース2121、2122、および2123を含む画像2120が表示されている。インターフェース2121は、「チェックボックス」という入力形式を指定するためのものであり、インターフェース2122および2123は、スクリーン2111上にチェックボックス形式で提示する選択肢を入力するためのものである。
【0085】
なお、上記のようにしてソリューションおよびウィザードの設定が完了すると、実装者は、意図通りに正しく設定されているか否かをテストする。そして、実装者は、ソリューションおよびウィザードが意図通りに正しく設定されていることを確認した上で、それらをデプロイする。
【0086】
以上説明したように、実施形態にかかるサーバ装置100は、複数のSaaSアプリケーション200の連携に基づく情報処理機能としてのアプリケーション連携を提供するように構成されている。サーバ装置100は、第1の構築部としてのソリューション構築部101と、第2の構築部としてのウィザード構築部102と、を有している。ソリューション構築部101は、アプリケーション連携の実装者による入力に応じて、連携のトリガーとなる第1のアプリケーションのイベントと、当該イベントの発生に応じて第2のアプリケーションに実行させるアクションを含むステップと、を構築し、連携において複数のアプリケーションに実行させる情報処理の流れを構築する。また、ウィザード構築部102は、実装者による入力に応じて、アプリケーション連携の利用者に提供する利用者画面としてのウィザードを構築する。
【0087】
ここで、実施形態において、ソリューション構築部101は、複数のアプリケーションの各々に関連して予め決められた第1の変数と、ウィザードを介した利用者の入力を受け取るために実装者により任意に定義される第2の変数と、に基づいて、イベントおよびステップを構築する。このような構成によれば、サーバ装置100を用いて、複数のアプリケーションの連携を実現するプロダクトの開発の容易化を図ることができる。このとき、予め決められた第1の変数だけでなく、実装者により任意に定義される第2の変数も利用することができるので、開発の柔軟性を高めることができる。
【0088】
最後に、上述した実施形態にかかるサーバ装置100(
図1参照)のハードウェア構成について説明する。実施形態にかかるサーバ装置100は、たとえば次の
図22に示されるようなハードウェア構成を有するコンピュータ2200として構成される。
【0089】
図22は、実施形態にかかるサーバ装置100を構成するコンピュータ2200のハードウェア構成を示した例示的かつ模式的なブロック図である。
【0090】
図22に示されるように、コンピュータ2200は、プロセッサ2210と、メモリ2220と、ストレージ2230と、入出力インターフェース(I/F)2240と、通信インターフェース(I/F)2250と、を備えている。これらのハードウェアは、バス2260に接続されている。
【0091】
プロセッサ2210は、たとえばCPU(Central Processing Unit)として構成され、コンピュータ2200の各部の動作を統括的に制御する。
【0092】
メモリ2220は、たとえばROM(Read Only Memory)およびRAM(Random Access Memory)を含み、プロセッサ2210により実行されるプログラムなどの各種のデータの揮発的または不揮発的な記憶、およびプロセッサ2210がプログラムを実行するための作業領域の提供などを実現する。
【0093】
ストレージ2230は、たとえばHDD(Hard Disk Drive)またはSSD(Solid State Drive)を含み、各種のデータを不揮発的に記憶する。
【0094】
入出力インターフェース2240は、たとえばキーボードおよびマウスなどのような入力装置(不図示)からコンピュータ2200へのデータの入力と、たとえばコンピュータ2200からディスプレイおよびスピーカなどのような出力装置(不図示)へのデータの出力と、を制御する。
【0095】
通信インターフェース2250は、コンピュータ2200が他の装置と通信を実行することを可能にする。
【0096】
実施形態にかかるサーバ装置100が有する機能的構成(
図1参照)は、プロセッサ2210がメモリ2220またはストレージ2230に予め記憶されたプログラムを実行した結果として、ハードウェアとソフトウェアとの協働による機能モジュール群として実現される。ただし、実施形態では、
図1に示される機能モジュール群のうち一部または全部が、専用に設計された回路(circuitry)のようなハードウェアのみによって実現されてもよい。
【0097】
なお、上述したプログラムは、必ずしもメモリ2220またはストレージ2230に予め記憶されている必要はない。たとえば、上述したプログラムは、フレキシブルディスク(FD)のような各種の磁気ディスク、またはDVD(Digital Versatile Disk)のような各種の光ディスクなどといった、コンピュータで読み取り可能な媒体にインストール可能な形式または実行可能な形式で記録されたコンピュータプログラムプロダクトとして提供されてもよい。
【0098】
また、上述したプログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、上述したプログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける、といった形で提供されてもよい。
【0099】
<変形例>
上述した実施形態では、アプリケーション連携を実現する機能がベンダープロダクト212(
図2参照)に組み込まれた構成が例示されている。しかしながら、変形例として、次の
図23に示されるような、アプリケーション連携を実現する機能がホスティング形式で提供される構成も考えられる。
【0100】
図23は、変形例にかかるアプリケーション連携の利用態様の一例を示した例示的かつ模式的なブロック図である。
【0101】
図23に示される変形例では、上述した実施形態と同様の手順で構築されたアプリケーション連携を実現する機能が、エンドユーザー側の情報処理装置2320のベンダープロダクト(不図示)ではなく、ホスティングサーバ2310に搭載される。この場合、ホスティングサーバ2310は、アプリケーション連携の各機能をwebサービスとして提供しうる。これにより、エンドユーザー側の実装者は、情報処理装置2320を用いてホスティングサーバ2310にアクセスすることで、アプリケーション連携の各機能をwebアプリケーション的に利用することができる。
【0102】
以上、本開示の実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0103】
101 ソリューション構築部(第1の構築部)
102 ウィザード構築部(第2の構築部)
103 表示処理部