(57)【特許請求の範囲】
【請求項１】
１以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する第１の記憶手段と、
前記一連の処理の実行を開始するためのトリガとなるイベントを識別するイベント識別情報と、前記フロー識別情報と、前記一連の処理の実行を開始する条件を示す条件情報とを関連付けて記憶する第２の記憶手段と、
前記イベント識別情報により識別されるイベントが発生した場合、該イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記条件情報により示される条件を満たすか否かを判定し、前記条件を満たすと判定した場合、前記イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記フロー識別情報と関連付けて前記第１の記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データを用いた前記一連の処理を実行する実行手段と、
を有する情報処理システム。
【請求項２】
前記イベント識別情報には、メールアドレス情報が含まれ、
前記実行手段は、
前記メールアドレス情報が送信先に指定されているメールが送信されたことを示すイベントが発生した場合、該メールに添付されている前記電子データを用いた前記一連の処理を実行する、請求項１に記載の情報処理システム。
【請求項３】
前記イベント識別情報には、前記電子データの格納先を示すフォルダ情報が含まれ、
前記実行手段は、
前記フォルダ情報により示される格納先に前記電子データが格納されたことを示すイベントが発生した場合、前記格納先に格納された前記電子データを用いた前記一連の処理を実行する、請求項１に記載の情報処理システム。
【請求項４】
前記イベント識別情報には、ＦＡＸ番号情報が含まれ、
前記実行手段は、
前記ＦＡＸ番号情報が送信先に指定されている前記電子データが送信されたことを示すイベントが発生した場合、前記電子データを用いた前記一連の処理を実行する、請求項１に記載の情報処理システム。
【請求項５】
前記条件情報は、前記一連の処理の実行を開始する開始時期を示す条件である、請求項１乃至４の何れか一項に記載の情報処理システム。
【請求項６】
前記情報処理システムとネットワークを介して接続される機器からの要求に応じて、前記イベント識別情報と、前記フロー識別情報とを前記第２の記憶手段に関連付けて記憶させる登録手段を有し、
前記登録手段は、
前記機器において作成された前記イベント識別情報及び前記フロー識別情報を含む要求を受け付けると、該要求に含まれる前記イベント識別情報と、前記フロー識別情報とを関連付けて前記第２の記憶手段に記憶させる、請求項１乃至５の何れか一項に記載の情報処理システム。
【請求項７】
前記登録手段は、
前記機器において作成された前記イベント識別情報、前記フロー識別情報、及び前記フロー情報を含む要求を受け付けると、該要求に含まれる前記イベント識別情報と、前記フロー識別情報とを関連付けて前記第２の記憶手段に記憶させると共に、前記要求に含まれる前記フロー情報と前記フロー識別情報とを関連付けて前記第１の記憶手段に記憶させる、請求項６に記載の情報処理システム。
【請求項８】
前記登録手段は、
前記イベント識別情報、前記フロー識別情報、及び前記フロー情報を作成するための画面を前記機器に提供し、
前記画面において作成された前記イベント識別情報、前記フロー識別情報、及び前記フロー情報を含む要求を受け付けると、該要求に含まれる前記イベント識別情報と、前記フロー識別情報とを関連付けて前記第２の記憶手段に記憶させると共に、前記要求に含まれる前記フロー情報と前記フロー識別情報とを関連付けて前記第１の記憶手段に記憶させる、請求項７に記載の情報処理システム。
【請求項９】
所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する第１の記憶手段と、
前記一連の処理の実行を開始するためのトリガとなるイベントを識別するイベント識別情報と、前記フロー識別情報と、前記一連の処理の実行を開始する条件を示す条件情報とを関連付けて記憶する第２の記憶手段と、
前記イベント識別情報により識別されるイベントが発生した場合、該イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記条件情報により示される条件を満たすか否かを判定し、前記条件を満たすと判定した場合、前記イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記フロー識別情報と関連付けて前記第１の記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データを用いた前記一連の処理を実行する実行手段と、
を有する情報処理装置。
【請求項１０】
１以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する第１の記憶手段と、前記一連の処理の実行を開始するためのトリガとなるイベントを識別するイベント識別情報と、前記フロー識別情報と、前記一連の処理の実行を開始する条件を示す条件情報とを関連付けて記憶する第２の記憶手段とを有する情報処理システムに用いられる情報処理方法において、
前記イベント識別情報により識別されるイベントが発生した場合、該イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記条件情報により示される条件を満たすか否かを判定し、前記条件を満たすと判定した場合、前記イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記フロー識別情報と関連付けて前記第１の記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データを用いた前記一連の処理を実行する実行手順と、
を有する情報処理方法。
【請求項１１】
所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する第１の記憶手段と、前記一連の処理の実行を開始するためのトリガとなるイベントを識別するイベント識別情報と、前記フロー識別情報と、前記一連の処理の実行を開始する条件を示す条件情報とを関連付けて記憶する第２の記憶手段とを有する情報処理装置を、
前記イベント識別情報により識別されるイベントが発生した場合、該イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記条件情報により示される条件を満たすか否かを判定し、前記条件を満たすと判定した場合、前記イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記フロー識別情報と関連付けて前記第１の記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データを用いた前記一連の処理を実行する実行手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング等により多種多様なクラウドサービスが提供されるようになった。例えば、メールサービスやストレージサービス、ＦＡＸ送信サービス等がクラウドサービスとして提供されている。
【０００３】
また、画像処理サービスや配信処理サービスの種類と、各サービスの処理順序とを定義することで、ワークフロー等の処理フローを実行する技術が知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、例えば、メール送信やＦＡＸ送信、フォルダへの電子ファイル格納等、様々なイベントの発生を条件として処理フローを実行させることは困難であった。すなわち、例えば、メール送信を条件として処理フローを実行させるためには、メール本文の内容等を解析して、実行対象の処理フロー等を特定するための処理が必要であった。
【０００５】
したがって、メール送信やＦＡＸ送信、フォルダへの電子ファイル格納等、様々なイベントの発生を条件として処理フローを実行させるには、これら様々なイベント毎に、実行対象の処理フロー等を特定するための様々な処理を用意する必要があった。
【０００６】
本発明の一実施形態は、上記の点に鑑みてなされたもので、所定のイベント発生に応じて処理フローを実行させることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態は、１以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する第１の記憶手段と、前記一連の処理の実行を開始するためのトリガとなるイベントを識別するイベント識別情報と、前記フロー識別情報とを関連付けて記憶する第２の記憶手段と、前記イベント識別情報により識別されるイベントが発生した場合、該イベント識別情報と関連付けて前記第２の記憶手段に記憶されている前記フロー識別情報と関連付けて前記第１の記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データを用いた前記一連の処理を実行する実行手段と、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、所定のイベント発生に応じて処理フローを実行させることができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。
【図２】第一の実施形態に係るコンピュータの一例のハードウェア構成を示す図である。
【図３】第一の実施形態に係る機器の一例のハードウェア構成を示す図である。
【図４】第一の実施形態に係るサービス提供システム及び機器の一例の機能構成を示す図である。
【図５】共通Ｉ／Ｆ及び固有Ｉ／Ｆの一例を説明するための図である。
【図６】第一の実施形態に係るロジック処理部の一例の機能構成を示す図である。
【図７】型変換情報テーブルの一例を示す図である。
【図８】処理フロー情報の一例を示す図である。
【図９】第一の実施形態に係るトリガサービス部の一例の機能構成を示す図である。
【図１０】トリガ情報の一例を示す図である。
【図１１】第一の実施形態に係るトリガ登録処理の一例を示すシーケンス図である。
【図１２】第一の実施形態に係るサービス利用の全体処理（１／２）の一例を示すシーケンス図である。
【図１３】メール送信画面の一例を示す図である。
【図１４】第一の実施形態に係るサービス利用の全体処理（２／２）の一例を示すシーケンス図である。
【図１５】第一の実施形態に係る処理フローの実行処理の一例を示すシーケンス図である。
【図１６】第二の実施形態に係るトリガサービス部の一例の機能構成を示す図である。
【図１７】第二の実施形態に係るトリガ登録処理の一例を示すシーケンス図である。
【図１８】第二の実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。
【図１９】第三の実施形態に係るサービス提供システム及び機器の一例の機能構成を示す図である。
【図２０】コンポーネント一覧情報の一例を示す図である。
【図２１】トリガ一覧情報の一例を示す図である。
【図２２】第三の実施形態に係るトリガ及び処理フロー登録処理の一例を示すシーケンス図である。
【図２３】アプリ一覧画面の一例を示す図である。
【図２４】アプリ画面の一例を示す図である。
【図２５】フロー構築画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１１】
［第一の実施形態］
＜システム構成＞
まず、第一の実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００１２】
図１に示す情報処理システム１は、サービス提供環境Ｅ１と、ユーザ環境Ｅ２とを有し、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。また、サービス提供環境Ｅ１及びユーザ環境Ｅ２は、ネットワークＮ１を介して、ストレージシステム３０、メールシステム４０、及びＦＡＸシステム５０と通信可能に接続されている。
【００１３】
ストレージシステム３０、メールシステム４０、及びＦＡＸシステム５０は、それぞれストレージサービス、メールサービス、及びＦＡＸサービスを提供するコンピュータシステムである。
【００１４】
ストレージサービスとは、記憶領域の貸し出し等、ストレージサーバの機能を提供するクラウドサービスである。また、メールサービスとは、メール送受信やメール転送等、メールサーバの機能を提供するクラウドサービスである。さらに、ＦＡＸサービスとは、ＦＡＸ送信等、ＦＡＸサーバの機能を提供するクラウドサービスである。
【００１５】
サービス提供環境Ｅ１は、ネットワークＮ１を介して、クラウドサービス等の外部サービスと連携した所定のサービスを提供するサービス提供者のシステム環境である。なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、ＡＳＰ（Application Service Provider）によって提供されるサービスやＷｅｂサービス等、ネットワークを介して提供される各種の外部サービスに関して適用されても良い。
【００１６】
サービス提供環境Ｅ１は、一台以上の情報処理装置（コンピュータ）により実現されるサービス提供システム１０を有する。サービス提供システム１０は、ネットワークＮ１を介して、後述する機器２０に所定のサービスを提供する。
【００１７】
例えば、サービス提供システム１０は、所定のイベントの発生をトリガとして、機器２０が指定した電子ファイルにＯＣＲ（Optical Character Recognition）処理を行った上で、ストレージシステム３０に配信（アップロード）するサービスを提供する。以降では、このようなサービスを「ＯＣＲ配信」サービスとも表す。
【００１８】
ただし、サービス提供システム１０により提供されるサービスは、これに限られない。サービス提供システム１０は、例えば、所定のイベントの発生をトリガとして、機器２０が指定した電子ファイルを所定のデータ形式に変換した上で、ストレージシステム３０に配信するサービスを提供しても良い。また、サービス提供システム１０は、例えば、所定のイベントの発生をトリガとして、機器２０が指定した電子ファイルを所定のデータ形式に変換した上で、メール配信するサービスを提供しても良い。
【００１９】
このように、本実施形態に係るサービス提供システム１０は、所定のイベントの発生をトリガとして、各種のサービスを提供する。
【００２０】
ここで、イベントとは、例えば、所定のメールアドレス宛へのメール送信、所定の電話番号へのＦＡＸ送信、所定のフォルダへの電子ファイル格納等である。すなわち、サービス提供システム１０は、例えば、メールシステム４０が提供するメールサービスを利用して、機器２０が所定のメールアドレス宛にメール送信すると、「ＯＣＲ配信」サービス等の各種のサービスを提供する。
【００２１】
同様に、サービス提供システム１０は、例えば、ＦＡＸシステム５０が提供するＦＡＸサービスを利用して、所定の電話番号へＦＡＸ送信すると、「ＯＣＲ配信」サービス等の各種のサービスを提供することもできる。また、同様に、サービス提供システム１０は、例えば、ストレージシステム３０が提供するストレージサービスを利用して、所定のフォルダへ電子ファイルを格納すると、「ＯＣＲ配信」サービス等の各種のサービスを提供することもできる。
【００２２】
本実施形態に係るサービス提供システム１０は、所定のメールアドレス宛へのメール送信をトリガとして、「ＯＣＲ配信」サービスを提供するものとして説明する。
【００２３】
ユーザ環境Ｅ２は、例えば、サービス提供システム１０が提供する各種のサービスを利用するユーザ（サービス利用者）のシステム環境である。ユーザ環境Ｅ２は、一台以上の機器２０が、例えばＬＡＮ（Local Area Network）等のネットワークＮ２を介して通信可能に接続されている。
【００２４】
本実施形態に係る機器２０は、例えば、ＭＦＰ（Multifunction Peripheral）等の画像形成装置、プロジェクタ、電子黒板、デジタルカメラ、スマートフォン、タブレット端末、ゲーム機器等の電子機器である。すなわち、機器２０は、電子ファイルの入力及び出力の少なくとも一方を行うことができる電子機器である。ユーザは、機器２０を用いて、サービス提供システム１０が提供する各種のサービスを利用することができる。
【００２５】
なお、図１に示す情報処理システム１の構成は、一例であって、他の構成であっても良い。例えば、サービス提供システム１０、又はサービス提供システム１０を実現する１台以上の情報処理装置のうちの一部の情報処理装置が、ユーザ環境Ｅ２に含まれていても良い。
【００２６】
また、ストレージシステム３０、メールシステム４０、及びＦＡＸシステム５０の少なくとも１つのシステムが、サービス提供環境Ｅ１又はユーザ環境Ｅ２に含まれていても良い。すなわち、ストレージサービス、メールサービス、及びＦＡＸサービスの少なくとも１つのサービスが、サービス提供者又はサービス利用者により提供されていても良い。
【００２７】
さらに、サービス提供環境Ｅ１及びユーザ環境Ｅ２は、複数のストレージシステム３０や複数のメールシステム４０、複数のＦＡＸシステム５０と通信可能に接続されていても良い。例えば、サービス提供システム１０は、外部サービス名「ストレージＡ」のストレージサービスを提供するストレージシステム３０Ａ、及び外部サービス名「ストレージＢ」のストレージサービスを提供するストレージシステム３０Ｂと通信可能に接続されていても良い。
【００２８】
＜ハードウェア構成＞
次に、本実施形態に係るサービス提供システム１０及び機器２０のハードウェア構成について説明する。
【００２９】
まず、サービス提供システム１０を実現する情報処理装置（コンピュータ）のハードウェア構成について、図２を参照しながら説明する。図２は、第一の実施形態に係るコンピュータ１００の一例のハードウェア構成を示す図である。
【００３０】
図２に示すコンピュータ１００は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４とを有する。また、コンピュータ１００は、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ（Central Processing Unit）１６と、通信Ｉ／Ｆ１７と、ＨＤＤ（Hard Disk Drive）１８とを有する。これらの各ハードウェアは、それぞれがバスＢで接続されている。
【００３１】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、各種の操作信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、コンピュータ１００による処理結果を表示する。なお、入力装置１１及び表示装置１２の少なくとも一方は、必要なときにコンピュータ１００に接続して利用する形態であっても良い。
【００３２】
通信Ｉ／Ｆ１７は、コンピュータ１００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ１００は、通信Ｉ／Ｆ１７を介して通信を行うことができる。
【００３３】
ＨＤＤ１８は、プログラムやデータを格納している不揮発性の記憶装置である。ＨＤＤ１８に格納されるプログラムやデータには、コンピュータ１００全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００３４】
なお、コンピュータ１００は、ＨＤＤ１８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えば、ソリッドステートドライブ：ＳＳＤ）を利用するものであっても良い。また、ＨＤＤ１８は、格納しているプログラムやデータを所定のファイルシステムやＤＢ（データベース）により管理している。
【００３５】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、コンピュータ１００は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取りや書き込みを行うことができる。記録媒体１３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３６】
ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、コンピュータ１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００３７】
ＣＰＵ１６は、ＲＯＭ１５やＨＤＤ１８等の記憶装置からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、コンピュータ１００全体の制御や機能を実現する演算装置である。
【００３８】
本実施形態に係るサービス提供システム１０は、図２に示すハードウェア構成のコンピュータ１００により、後述するような各種処理を実現できる。
【００３９】
次に、機器２０が画像形成装置である場合のハードウェア構成について、図３を参照しながら説明する。図３は、第一の実施形態に係る機器２０の一例のハードウェア構成を示す図である。
【００４０】
図３に示す機器２０は、コントローラ２１と、操作パネル２２と、外部Ｉ／Ｆ２３と、通信Ｉ／Ｆ２４と、プリンタ２５と、スキャナ２６とを有する。また、コントローラ２１は、ＣＰＵ３１と、ＲＡＭ３２と、ＲＯＭ３３と、ＮＶＲＡＭ３４と、ＨＤＤ３５とを有する。
【００４１】
ＲＯＭ３３は、各種のプログラムやデータを格納している不揮発性の半導体メモリである。ＲＡＭ３２は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＮＶＲＡＭ３４は、例えば設定情報等を格納している不揮発性の半導体メモリである。また、ＨＤＤ３５は、各種のプログラムやデータを格納している不揮発性の記憶装置である。
【００４２】
ＣＰＵ３１は、ＲＯＭ３３やＮＶＲＡＭ３４、ＨＤＤ３５等からプログラムやデータ、設定情報等をＲＡＭ３２上に読み出し、処理を実行することで、機器２０全体の制御や機能を実現する演算装置である。
【００４３】
操作パネル２２は、ユーザからの入力を受け付ける入力装置と、表示を行う表示装置とを備えている。外部Ｉ／Ｆ２３は、外部装置とのインタフェースである。外部装置には、記録媒体２３ａ等がある。これにより、機器２０は、外部Ｉ／Ｆ２３を介して記録媒体２３ａの読み取りや書き込みを行うことができる。
【００４４】
なお、記録媒体２３ａには、例えば、ＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００４５】
通信Ｉ／Ｆ２４は、機器２０をネットワークＮ２に接続するインタフェースである。これにより、機器２０は、通信Ｉ／Ｆ２４を介して通信を行うことができる。
【００４６】
プリンタ２５は、印刷データを印刷する印刷装置である。スキャナ２６は、原稿を読み取って電子ファイル（画像ファイル）を生成する読取装置である。
【００４７】
本実施形態に係る機器２０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００４８】
＜機能構成＞
次に、第一の実施形態に係るサービス提供システム１０及び機器２０の機能構成について、図４を参照しながら説明する。図４は、第一の実施形態に係るサービス提供システム１０及び機器２０の一例の機能構成を示す図である。
【００４９】
図４に示すサービス提供システム１０は、入出力サービス部１１０と、トリガサービス部１２０と、ドキュメントサービス部１３０と、外部サービス連携部１４０とを有する。これら各機能部は、サービス提供システム１０を実現する情報処理装置にインストールされた１以上のプログラムが、ＣＰＵ１６に実行させる処理により実現される。
【００５０】
また、サービス提供システム１０は、アプリ情報記憶部１５０と、トリガ情報記憶部１６０とを有する。これら各記憶部は、例えば、ＨＤＤ１８を用いて実現可能である。なお、アプリ情報記憶部１５０及びトリガ情報記憶部１６０の少なくとも１つの記憶部が、サービス提供システム１０とネットワークＮ１を介して接続される記憶装置を用いて実現されていても良い。
【００５１】
入出力サービス部１１０は、サービス提供システム１０が提供するサービスに関する処理を行う。ここで、入出力サービス部１１０は、アプリ管理部１１１と、ロジック処理部１１２と、データＩ／Ｆ部１１３とを有する。
【００５２】
アプリ管理部１１１は、アプリ情報記憶部１５０に記憶されているアプリ情報１０００を管理する。なお、アプリ情報１０００とは、各種のサービスを提供するアプリケーションである。すなわち、サービス提供システム１０が提供する各種のサービスは、アプリ情報１０００により提供される。
【００５３】
また、アプリ管理部１１１は、ロジック処理部１１２からの要求に応じて、アプリ情報１０００に含まれる処理フロー情報１１００を返信する。なお、処理フロー情報１１００とは、アプリ情報１０００により提供されるサービスを実現する一連の処理（以降では、一連の処理を「処理フロー」とも表す。）が定義された情報である。
【００５４】
ロジック処理部１１２は、トリガサービス部１２０からの要求に応じて、アプリ管理部１１１から処理フロー情報１１００を取得する。そして、ロジック処理部１１２は、アプリ管理部１１１から取得した処理フロー情報１１００に基づいて、サービスを実現する処理フローを実行する。これにより、本実施形態に係るサービス提供システム１０は、各種のサービスを提供することができる。なお、ロジック処理部１１２の詳細については後述する。
【００５５】
データＩ／Ｆ部１１３は、ロジック処理部１１２からの要求に応じて、外部サービス連携部１４０に各種の要求を行う。例えば、データＩ／Ｆ部１１３は、外部サービス連携部１４０のデータ処理部１４２に対して、ストレージシステム３０に格納されている電子ファイルの一覧の取得要求を行う。
【００５６】
トリガサービス部１２０は、処理フローを実行させるためのトリガに関する処理を行う。ここで、トリガサービス部１２０は、トリガ実行部１２１と、トリガ登録部１２２とを有する。
【００５７】
トリガ実行部１２１は、トリガ情報記憶部１６０に記憶されているトリガ情報２０００に基づいて、所定のイベントが発生した場合に、ロジック処理部１１２に処理フローの実行を要求する。すなわち、トリガ実行部１２１は、トリガ情報２０００に基づいて、所定のイベント発生をトリガとして、処理フローを実行させる。
【００５８】
なお、トリガ情報２０００とは、イベントの種別（例えば、メール送信やＦＡＸ送信等）や当該イベントが発生した場合に実行を要求する処理フローの識別情報等が定義された情報である。
【００５９】
トリガ登録部１２２は、後述する機器２０の登録処理部２１０からの要求に応じて、トリガ情報記憶部１６０にトリガ情報２０００を記憶させる。これにより、処理フローを実行させるためのトリガが登録される。
【００６０】
ドキュメントサービス部１３０は、処理フロー情報１１００に基づく処理フローに含まれる所定の処理を行う。ここで、ドキュメントサービス部１３０は、ＯＣＲ処理部１３１と、ファイル変換部１３２とを有する。
【００６１】
ＯＣＲ処理部１３１は、電子ファイルにＯＣＲ処理を行う。ファイル変換部１３２は、電子ファイルを所定のデータ形式に変換する処理を行う。
【００６２】
なお、ドキュメントサービス部１３０は、例えば、電子ファイルを圧縮又は解凍する処理を行う圧縮・解凍部、電子ファイルを印刷データに変換する印刷変換部等を有していても良い。
【００６３】
このように、ドキュメントサービス部１３０には、処理フローに含まれる所定の処理（電子ファイルを用いた各種の処理）を行う種々の機能部が含まれる。したがって、ドキュメントサービス部１３０は、これら種々の機能を提供するプログラム（モジュール）群により実現される。
【００６４】
外部サービス連携部１４０は、ロジック処理部１１２やデータＩ／Ｆ部１１３からの要求に応じて、ストレージシステム３０に各種の要求を行う。例えば、外部サービス連携部１４０は、ロジック処理部１１２からの要求に応じて、ストレージシステム３０に対して、電子ファイルの配信（アップロード）を要求する。
【００６５】
なお、サービス提供システム１０は、ストレージシステム３０毎に、当該ストレージシステム３０に対応する外部サービス連携部１４０を有する。すなわち、サービス提供システム１０は、例えば、ストレージシステム３０Ａに各種の要求を行うための外部サービス連携部１４０Ａと、ストレージシステム３０Ｂに各種の要求を行うための外部サービス連携部１４０Ｂとを有する。
【００６６】
ここで、外部サービス連携部１４０は、ロジック処理部１１２からの要求を受け付けるファイル処理部１４１と、データＩ／Ｆ部１１３からの要求を受け付けるデータ処理部１４２とを有する。
【００６７】
ファイル処理部１４１は、ストレージシステム３０に格納されている電子ファイルに対する操作（例えば、取得、保存、編集等）を行うためのＡＰＩ（Application Programming Interface）が定義された共通Ｉ／Ｆ１４３及び固有Ｉ／Ｆ１４４を有する。
【００６８】
共通Ｉ／Ｆ１４３は、複数のストレージシステム３０間で共通に利用できるＡＰＩであり、例えば図５（ａ）に示すＡＰＩが挙げられる。すなわち、ファイル処理部１４１の共通Ｉ／Ｆ１４３は、全てのストレージシステム３０が利用できるファイル操作に関する機能（例えば、電子ファイルの取得（ダウンロード）、配信（アップロード）等）を利用するためのＡＰＩ群である。
【００６９】
固有Ｉ／Ｆ１４４は、特定のストレージシステム３０において利用できるＡＰＩであり、例えば図５（ｂ）に示すＡＰＩが挙げられる。すなわち、ファイル処理部１４１の固有Ｉ／Ｆ１４４は、特定のストレージシステム３０において利用できるファイル操作に関する機能（例えば、電子ファイルの編集等）を利用するためのＡＰＩ群である。
【００７０】
したがって、共通Ｉ／Ｆ１４３は、全ての外部サービス連携部１４０に対して同様に定義される。一方で、固有Ｉ／Ｆ１４４は、当該固有Ｉ／Ｆ１４４で定義されるＡＰＩが利用可能な特定のストレージシステム３０に対応する外部サービス連携部１４０に対して定義される。
【００７１】
また、データ処理部１４２は、ストレージシステム３０に格納されている電子ファイルの書誌情報等のメタデータ（例えば、電子ファイルの一覧やフォルダの一覧等）を取得等するためのＡＰＩが定義された共通Ｉ／Ｆ１４５及び固有Ｉ／Ｆ１４６を有する。
【００７２】
共通Ｉ／Ｆ１４５は、複数のストレージシステム３０間で共通に利用できるＡＰＩであり、例えば図５（ｃ）に示すＡＰＩが挙げられる。すなわち、データ処理部１４２の共通Ｉ／Ｆ１４５は、全てのストレージシステム３０で利用できるメタデータ取得等の機能（例えば、電子ファイルの一覧やフォルダの一覧の取得等）を利用するためのＡＰＩ群である。
【００７３】
固有Ｉ／Ｆ１４６は、特定のストレージシステム３０において利用できるＡＰＩであり、例えば図５（ｄ）に示すＡＰＩが挙げられる。すなわち、データ処理部１４２の固有Ｉ／Ｆ１４６は、特定のストレージシステム３０において利用できるメタデータ取得等の機能（例えば、画像ファイルの一覧の取得等）を利用するためのＡＰＩ群である。
【００７４】
したがって、共通Ｉ／Ｆ１４５は、全ての外部サービス連携部１４０に対して同様に定義される。一方で、固有Ｉ／Ｆ１４６は、当該固有Ｉ／Ｆ１４６で定義されるＡＰＩが利用可能な特定のストレージシステム３０に対応する外部サービス連携部１４０に対して定義される。
【００７５】
このように、本実施形態に係るサービス提供システム１０は、連携して処理を行うストレージシステム３０毎に、外部サービス連携部１４０を有する。このため、例えば、サービス提供システム１０の連携先となるストレージシステム３０を追加や削除（以降、「追加等」と表す。）する場合には、このストレージシステム３０に対応する外部サービス連携部１４０を追加等すれば良い。
【００７６】
したがって、本実施形態に係るサービス提供システム１０では、連携先となるストレージシステム３０の追加等に伴う影響を局所化することができる。すなわち、本実施形態に係るサービス提供システム１０では、他の機能部（例えば、入出力サービス部１１０等）に影響を与えることなく、連携先となるストレージシステム３０の追加等を行うことができる。
【００７７】
このため、本実施形態に係るサービス提供システム１０では、連携先となるストレージシステム３０の追加等に伴う開発工数を削減することができる。なお、外部サービス連携部１４０の追加等は、ＳＤＫ（Software Development Kit）を用いて行うことができる。
【００７８】
また、外部サービス連携部１４０は、共通Ｉ／Ｆ１４３と固有Ｉ／Ｆ１４４とを異なるモジュール等により実現している。また、共通Ｉ／Ｆ１４３と固有Ｉ／Ｆ１４４とで定義されるＡＰＩは、外部サービス名を指定することで利用することができる（すなわち、「外部サービス名」が可変部分となっている。）。
【００７９】
したがって、本実施形態に係るサービス提供システム１０では、連携先となるストレージシステム３０を追加する場合には、他の外部サービス連携部１４０に含まれる共通Ｉ／Ｆ１４３を再利用することができる。すなわち、連携先となるストレージシステム３０を追加する場合には、固有Ｉ／Ｆ１４４のみ開発すれば良い。
【００８０】
これにより、本実施形態に係るサービス提供システム１０では、連携先となるストレージシステム３０を追加する場合における開発工数を、さらに削減することができる。なお、このことは共通Ｉ／Ｆ１４５及び固有Ｉ／Ｆ１４６に関しても同様である。
【００８１】
なお、本実施形態に係るサービス提供システム１０は、ストレージシステム３０に各種の要求を行うための外部サービス連携部１４０を有するものとしたが、これに限られない。サービス提供システム１０は、例えば、メールシステム４０に各種の要求を行うための外部サービス連携部１４０やＦＡＸシステムに各種の要求を行うための外部サービス連携部１４０等を有していても良い。すなわち、本実施形態に係るサービス提供システム１０は、外部サービスを提供するシステム毎に、当該システムに各種の要求を行うための外部サービス連携部１４０を有していても良い。
【００８２】
アプリ情報記憶部１５０は、アプリ情報１０００を記憶する。アプリ情報１０００は、アプリ情報１０００（アプリケーション）を一意に識別するアプリ名と関連付けてアプリ情報記憶部１５０に記憶されている。なお、アプリ情報１０００は、例えば、アプリ情報１０００を一意に識別するアプリＩＤと関連付けてアプリ情報記憶部１５０に記憶されていても良い。
【００８３】
ここで、アプリ情報１０００には、処理フロー情報１１００が含まれる。例えば、「ＯＣＲ配信」サービスを提供するアプリ情報１０００には、当該サービスを実現する一連の処理（処理フロー）が定義された処理フロー情報１１００が含まれる。
【００８４】
なお、アプリ情報１０００には、２以上の処理フロー情報１１００が含まれていても良い。また、アプリ情報記憶部１５０には、アプリ情報１０００に含まれない処理フロー情報１１００が記憶されていても良い。
【００８５】
処理フロー情報１１００は、上述したように、アプリ情報１０００により提供されるサービスを実現する一連の処理（処理フロー）が定義された情報である。なお、処理フロー情報１１００の詳細については後述する。
【００８６】
トリガ情報記憶部１６０は、トリガ情報２０００を記憶する。トリガ情報２０００は、上述したように、イベントの種別や当該イベントが発生した場合に実行を要求する処理フローの識別情報（すなわち、処理フロー情報１１００の識別情報）等が定義された情報である。なお、トリガ情報２０００の詳細については後述する。
【００８７】
図４に示す機器２０は、登録処理部２１０と、メール処理部２２０とを有する。これら各機能部は、機器２０にインストールされた１以上のプログラムが、ＣＰＵ３１に実行させる処理により実現される。
【００８８】
登録処理部２１０は、サービス提供システム１０にトリガを登録する。すなわち、登録処理部２１０は、トリガ情報２０００を作成して、サービス提供システム１０のトリガ情報記憶部１６０に記憶させることで、トリガを登録する。
【００８９】
メール処理部２２０は、電子ファイルを添付したメールを作成して、当該メールに指定されたメールアドレス宛に送信する。例えば、メール処理部２２０は、作成したメールに指定されたメールアドレスが、メールシステム４０が提供するメールサービスのドメイン名である場合、作成したメールをメールシステム４０に送信する。
【００９０】
本実施形態に係る機器２０のユーザは、メール処理部２２０により所定のメールアドレス宛にメールを送信することで、当該メールに添付された電子ファイルを用いた「ＯＣＲ配信」サービスを利用することができる。
【００９１】
ここで、ロジック処理部１１２の詳細な機能構成について、図６を参照しながら説明する。図６は、第一の実施形態に係るロジック処理部１１２の一例の機能構成を示す図である。
【００９２】
図６に示すロジック処理部１１２は、フロー実行部３０１と、コンポーネント管理部３０２と、コンポーネント群３０３と、型変換管理部３０４と、型変換群３０５とを有する。また、ロジック処理部１１２は、型変換情報テーブル３０００を有する。
【００９３】
フロー実行部３０１は、トリガ実行部１２１からの要求に応じて、アプリ情報１０００に含まれる処理フロー情報１１００をアプリ管理部１１１から取得する。そして、フロー実行部３０１は、アプリ管理部１１１から取得した処理フロー情報１１００に基づく一連の処理（処理フロー）を実行する。
【００９４】
ここで、処理フロー情報１１００に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を提供するプログラムやモジュール等により実現され、例えば、クラスや関数等で定義される。
【００９５】
コンポーネント管理部３０２は、コンポーネントを管理する。コンポーネント管理部３０２は、フロー実行部３０１からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部３０１に返信する。なお、コンポーネントの生成とは、例えば、クラスや関数等で定義されたコンポーネントを、メモリ（例えば、ＲＡＭ１４）上に展開することである。
【００９６】
コンポーネント群３０３は、コンポーネントの集合である。コンポーネント群３０３には、ＯＣＲコンポーネント１２１０と、ストレージＡ配信コンポーネント１２２０とが含まれる。
【００９７】
ＯＣＲコンポーネント１２１０は、電子ファイルにＯＣＲ処理を行うためのコンポーネントである。すなわち、ＯＣＲコンポーネント１２１０は、ドキュメントサービス部１３０のＯＣＲ処理部１３１を用いて、電子ファイルにＯＣＲ処理を行う。
【００９８】
ストレージＡ配信コンポーネント１２２０は、外部サービス名「ストレージＡ」のストレージシステム３０に電子ファイルを配信（アップロード）するためのコンポーネントである。すなわち、ストレージＡ配信コンポーネント１２２０は、外部サービス名「ストレージＡ」のストレージシステム３０に対応する外部サービス連携部１４０を用いて、当該ストレージシステム３０に電子ファイルを配信する。
【００９９】
なお、コンポーネント群３０３には、これら以外にも、例えば、電子ファイルのデータ形式を変換するための変換コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント等の各種のコンポーネントが含まれる。
【０１００】
また、コンポーネント群３０３に含まれる各コンポーネントは、コンポーネント共通Ｉ／Ｆ１２００を有する。コンポーネント共通Ｉ／Ｆ１２００は、各コンポーネントに対して共通に定義されたＡＰＩであり、コンポーネントを生成するためのＡＰＩと、コンポーネントの処理を実行するためのＡＰＩとが含まれる。
【０１０１】
このように、各コンポーネントがコンポーネント共通Ｉ／Ｆ１２００を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部３０１やコンポーネント管理部３０２等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム１０では、所定の機能の追加等（すなわち、当該機能を実現する処理を実行するコンポーネントの追加等）に伴う開発工数を削減することができる。
【０１０２】
型変換管理部３０４は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部３０４は、コンポーネントからの要求に応じて、例えば図７に示す型変換情報テーブル３０００を参照して、型変換群３０５に含まれる型変換を生成する。
【０１０３】
そして、型変換管理部３０４は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えば、クラスや関数等で定義される。また、型変換の生成とは、例えば、クラスや関数等で定義された型変換を、メモリ（例えば、ＲＡＭ１４上）に展開することである。
【０１０４】
なお、データ型には、例えば、ストリームデータを示すデータ型「ＩｎｐｕｔＳｔｒｅａｍ」、記憶装置等に格納されている電子ファイルのパス（アドレス）を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」、及び電子ファイルの実体を示す「Ｆｉｌｅ」等が挙げられる。
【０１０５】
ここで、型変換情報テーブル３０００について、図７を参照しながら説明する。図７は、型変換情報テーブル３０００の一例を示す図である。
【０１０６】
図７に示す型変換情報テーブル３０００は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、図７に示す型変換情報テーブル３０００に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。
【０１０７】
型変換群３０５は、型変換の集合である。型変換群３０５には、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための第１の型変換１３１０が含まれる。なお、型変換群３０５には、これ以外にも、例えば、データ型「ＬｏｃａｌＦｉｌｅＰａｔｈ」を「Ｆｉｌｅ」に変換するための第２の型変換等の各種の型変換が含まれる。
【０１０８】
また、型変換群３０５に含まれる各型変換は、型変換共通Ｉ／Ｆ１３００を有する。型変換共通Ｉ／Ｆ１３００は、各型変換に対して共通に定義されたＡＰＩであり、型変換を生成するためのＡＰＩと、型変換の型変換処理を実行するためのＡＰＩとが含まれる。
【０１０９】
このように、各型変換が型変換共通Ｉ／Ｆ１３００を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部３０４等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム１０では、型変換の追加等に伴う開発工数を削減することができる。
【０１１０】
ここで、「ＯＣＲ配信」サービスを提供するアプリ情報１０００に含まれる処理フロー情報１１００について、図８を参照しながら説明する。図８は、処理フロー情報１１００の一例を示す図である。
【０１１１】
図８に示す処理フロー情報１１００は、「ＯＣＲ配信」サービスを実現する一連の処理（処理フロー）が定義された情報である。
【０１１２】
図８に示す処理フロー情報１１００には、処理フロー情報１１００を一意に識別するフロー名１１０１と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細１１０２とが含まれる。
【０１１３】
フロー名１１０１には、図８に示す処理フロー情報１１００を一意に識別するフロー名「ＯＣＲ配信」が定義されている。
【０１１４】
また、フロー詳細１１０２には、処理フローに含まれる各処理の処理内容を定義した処理定義１１０３〜処理定義１１０４が含まれる。各処理定義１１０３〜１１０４には、処理を実行するためのコンポーネントの名称（コンポーネント名）を示す「ｃｏｍｐｏｎｅｎｔＮａｍｅ」と、当該コンポーネントに対するパラメータを示す「ｐａｒａｍｅｔｅｒｓ」とが含まれる。
【０１１５】
具体的には、処理定義１１０３の「ｃｏｍｐｏｎｅｎｔＮａｍｅ」には、ＯＣＲコンポーネント１２１０により処理を実行することを示す「ＯＣＲコンポーネント」が定義されている。また、処理定義１１０３の「ｐａｒａｍｅｔｅｒｓ」には、ＯＣＲコンポーネント１２１０に対するパラメータ「ｌａｎｇｕａｇｅ」及び「ｏｕｔｐｕｔＴｙｐｅ」が定義されている。
【０１１６】
なお、パラメータ「ｌａｎｇｕａｇｅ」には、ＯＣＲ処理の言語が定義される。また、パラメータ「ｏｕｔｐｕｔＴｙｐｅ」には、ＯＣＲ処理後の電子ファイルのデータ形式が定義される。
【０１１７】
同様に、処理定義１１０４の「ｃｏｍｐｏｎｅｎｔＮａｍｅ」には、ストレージＡ配信コンポーネント１２２０により処理を実行することを示す「ストレージＡ配信コンポーネント」が定義されている。また、処理定義１１０４の「ｐａｒａｍｅｔｅｒｓ」には、ストレージＡ配信コンポーネント１２２０に対するパラメータ「ｆｏｌｄｅｒＩｄ」が定義されている。
【０１１８】
なお、パラメータ「ｆｏｌｄｅｒＩｄ」には、外部サービス名「ストレージＡ」のストレージシステム３０における電子ファイルの格納先フォルダのフォルダＩＤが定義される。
【０１１９】
このように、処理フロー情報１１００には、各処理を実行するコンポーネントと、当該コンポーネントに対するパラメータとが定義されている。これにより、本実施形態に係るサービス提供システム１０は、処理フロー情報１１００に定義された各コンポーネントを順に実行させることで、一連の処理（処理フロー）を実行することができる。
【０１２０】
なお、図８に示す処理フロー情報１１００に基づく処理フローでは、各処理定義１１０３〜１１０４に定義された各コンポーネントが上から順に実行される（すなわち、上から順に実行されるように実行順が定義されている。）。ただし、これに限られず、処理フロー情報１１００には、各処理定義１１０３〜１１０４に定義された各コンポーネントの任意の実行順が定義されていても良い。
【０１２１】
ここで、トリガサービス部１２０について、図９を参照しながら、より詳細に説明する。図９は、第一の実施形態に係るトリガサービス部１２０の一例の機能構成を示す図である。
【０１２２】
図９に示すトリガサービス部１２０のトリガ実行部１２１は、リクエスト実行部４０１と、監視部４０２とを有する。
【０１２３】
監視部４０２は、トリガ情報記憶部１６０に記憶されているトリガ情報２０００に基づいて、例えば、ストレージシステム３０やメールシステム４０、ＦＡＸシステム５０等の監視対象を監視して、所定のイベントが発生したか否かを確認する。
【０１２４】
すなわち、監視部４０２は、例えば、メールシステム４０を監視して、機器２０からメールが送信されたか否か（すなわち、メールシステム４０に新着メールがあるか否か）を確認する。また、監視部４０２は、例えば、ストレージシステム３０を監視して、機器２０が所定のフォルダにファイルを格納したか否かを確認する。さらに、監視部４０２は、例えば、ＦＡＸシステム５０を監視して、機器２０がＦＡＸ送信をしたか否かを確認する。
【０１２５】
そして、監視部４０２は、所定のイベントが発生したことを確認すると、トリガ情報２０００に基づいて、処理フローの実行をリクエスト実行部４０１に要求する。
【０１２６】
ここで、所定のメールアドレス宛へのメール送信をトリガとして、「ＯＣＲ配信」サービスを実現する処理フローを実行させるためのトリガ情報２０００について、図１０を参照しながら説明する。図１０は、トリガ情報２０００の一例を示す図である。
【０１２７】
図１０に示すトリガ情報２０００には、トリガＩＤ２００１と、トリガ種別２００２と、オプション２００３と、実行条件２００４と、フロー名２００５とが含まれる。
【０１２８】
トリガＩＤ２００１には、トリガ情報２０００を一意に識別する識別情報である。図１０に示すトリガ情報２０００では、トリガＩＤ「ｔ００１」が定義されている。
【０１２９】
トリガ種別２００２には、トリガとするイベントの種別である。図８に示すトリガ情報２０００には、メール送信をトリガとすることを示す「メール」が定義されている。なお、トリガ種別２００２には、例えば、所定のフォルダへのファイル格納をトリガとすることを示す「ファイル格納」、ＦＡＸ送信をトリガとすることを示す「ＦＡＸ送信」等が定義されても良い。
【０１３０】
オプション２００３には、トリガ種別２００２毎に、監視対象を特定するための情報である。図８に示すトリガ情報２０００には、メールアドレスを示す「ａｄｄｒｅｓｓ」に「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」が定義されている。
【０１３１】
これにより、機器２０のユーザは、「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」宛にメールを送信することで、「ＯＣＲ配信」サービスを利用することができるようになる。また、監視部４０２は、「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」宛に新着メールが届いたことを確認することで、「ＯＣＲ配信」サービスを実現する処理フローの実行をリクエスト実行部４０１に要求することができる。
【０１３２】
なお、例えば、トリガ種別２００２に「ファイル格納」が定義されている場合、オプション２００３には、ファイル格納先のフォルダ示す「ｆｏｌｄｅｒｉｄ」等が定義される。また、例えば、トリガ種別２００２に「ＦＡＸ送信」が定義されている場合、オプション２００３には、ＦＡＸ送信先の電話番号を示す「ｎｕｍｂｅｒ」等が定義される。
【０１３３】
実行条件２００４は、トリガ種別２００２で定義されたイベントが発生した場合に、処理フローを実行させるための条件が定義される。図８に示すトリガ情報２０００には、実行時期を示す「ｗｈｅｎ」に、すぐに処理フローを実行させることを示す「ｉｍｍｄｉａｔｅｌｙ」が定義されている。
【０１３４】
なお、実行条件２００４の「ｗｈｅｎ」には、例えば、指定時間後に処理フローを実行させることを示す「ｄｅｌａｙ」、トリガ種別２００２に定義されたイベントが所定の回数発生したとき処理フローを実行させることを示す「ｔｉｍｅｓ」等が定義されても良い。
【０１３５】
フロー名２００５は、処理フロー情報１１００のフロー名が定義される。図８に示すトリガ情報２０００には、「ＯＣＲ配信」サービスを実現するための処理フロー情報１１００のフロー名「ＯＣＲ配信」が定義されている。
【０１３６】
これにより、本実施形態に係るサービス提供システム１０は、機器２０により「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」宛にメールが送信されると、当該メールに添付されている電子ファイルを用いて「ＯＣＲ配信」サービスを実現する処理フローを実行することができる。
【０１３７】
リクエスト実行部４０１は、監視部４０２からの処理フローの実行要求に応じて、トリガ情報２０００に定義されている実行条件を満たすか否かを判定する。そして、リクエスト実行部４０１は、当該実行条件に応じて、トリガ情報２０００に定義されているフロー名の処理フロー情報１１００に基づく処理フローの実行をロジック処理部１１２に要求する。
【０１３８】
このように、本実施形態に係るサービス提供システム１０は、トリガサービス部１２０を有することで、様々なイベントの発生をトリガとして、様々な処理フローを実行することができる。したがって、機器２０のユーザは、例えば、所定のメールアドレス宛へのメール送信や所定の電話番号へのＦＡＸ送信、所定のフォルダへの電子ファイル格納等を行うことで、サービス提供システム１０が提供する各種のサービスを利用することができるようになる。
【０１３９】
＜処理の詳細＞
次に、第一の実施形態に係る情報処理システム１の処理の詳細について説明する。
【０１４０】
まず、機器２０のユーザがサービス提供システム１０にトリガを登録する処理について、図１１を参照しながら説明する。図１１は、第一の実施形態に係るトリガ登録処理の一例を示すシーケンス図である。以降では、図１０に示すトリガ情報２０００をサービス提供システム１０に登録する場合について説明する。
【０１４１】
機器２０の登録処理部２１０は、図１０に示すトリガ情報２０００を作成する（ステップＳ１１０１）。ここで、登録処理部２１０は、例えば、予め設定されている各種情報（例えば、メールアドレスや実行条件、処理フロー情報１１００のフロー名等）に基づいてトリガ情報２０００を作成する。また、登録処理部２１０は、例えば、ユーザにより入力された各種情報に基づいてトリガ情報２０００を作成しても良い。なお、登録処理部２１０は、例えば、ＪＳＯＮ（JavaScript Object Notation）等のデータ形式でトリガ情報２０００を作成すれば良い。
【０１４２】
機器２０の登録処理部２１０は、図１０に示すトリガ情報２０００を作成すると、トリガの登録要求をサービス提供システム１０に送信する（ステップＳ１１０２）。なお、トリガの登録要求には、図１０に示すトリガ情報２０００が含まれる。
【０１４３】
サービス提供システム１０のトリガ登録部１２２は、トリガの登録要求を受信すると、当該登録要求に含まれるトリガ情報２０００をトリガ情報記憶部１６０に記憶させる（ステップＳ１１０３）。これにより、図１０に示すトリガ情報２０００がサービス提供システム１０に登録される。
【０１４４】
そして、サービス提供システム１０のトリガ登録部１２２は、登録結果を機器２０に返信する。
【０１４５】
以上により、本実施形態に係る情報処理システム１では、機器２０において作成されたトリガ情報２０００がサービス提供システム１０に登録される。これにより、本実施形態に係るサービス提供システム１０では、所定のイベントの発生をトリガとして、各種のサービスを実現する処理フローを実行させることができる。
【０１４６】
次に、機器２０のユーザが所定のメールアドレス宛にメールを送信することで、「ＯＣＲ配信」サービスを利用する場合の処理について、説明する。
【０１４７】
まず、機器２０のユーザが所定のメールアドレス宛にメールを送信する処理について、図１２を参照しながら説明する。図１２は、第一の実施形態に係るサービス利用の全体処理（１／２）の一例を示すシーケンス図である。
【０１４８】
機器２０のメール処理部２２０は、電子ファイルを添付したメールを作成する（ステップＳ１２０１）。ここで、メール処理部２２０は、当該メールの送信先メールアドレスとして、「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」を指定した上でメールを作成したものとする。
【０１４９】
なお、メール処理部２２０は、例えば、ユーザにより指定された電子ファイルを添付したメールを作成すれば良い。また、メール処理部２２０は、例えば、機器２０が画像形成装置である場合には、スキャナ２６により原稿をスキャンすることで生成した電子ファイル（画像ファイル）を添付したメールを作成しても良い。
【０１５０】
次に、メール処理部２２０は、メールを作成すると、送信先として指定されたメールアドレス「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」に基づいて、メールシステム４０にメールを送信する（ステップＳ１２０２）。すると、メール処理部２２０は、メールシステム４０から送信結果を受信する。このように、機器２０のユーザは、サービス提供システム１０が提供するサービスの利用を所望する場合には、例えば、予め指定されたメールアドレス宛に、電子ファイル等を添付したメールを送信すれば良い。
【０１５１】
なお、上記のステップＳ１２０１及びステップＳ１２０２では、例えば、機器２０にインストールされた電子メールクライアントアプリケーション等により実現されるメール処理部２２０でメールの作成及び送信を行う場合について説明したが、これに限られない。機器２０のメール処理部２２０は、例えば、サービス提供システム１０から受信したＪａｖａＳｃｒｉｐｔ（登録商標）等をＷｅｂブラウザ上で実行することにより実現されても良い。
【０１５２】
すなわち、例えば、機器２０に搭載されたＷｅｂブラウザは、図１３（ａ）に示す画面情報４１００と、メール処理部２２０を実現する処理を実行するＪａｖａＳｃｒｉｐｔとをサービス提供システム１０から取得する。図１３（ａ）に示す画面情報４１００は、ＨＴＭＬ（HyperText Markup Language）で画面が定義された情報である。
【０１５３】
これにより、機器２０に搭載されたＷｅｂブラウザには、図１３（ｂ）に示すメール送信画面４２００が表示される。図１３（ｂ）に示すメール送信画面４２００には、機器２０に記憶されている電子ファイルを選択するための選択ボタン４２０１と、選択された電子ファイルを添付したメールを送信するための実行ボタン４２０２とが含まれる。
【０１５４】
ユーザは、選択ボタン４２０１を押下して電子ファイルを選択した上で、実行ボタン４２０２を押下する。すると、サービス提供システム１０から取得したＪａｖａＳｃｒｉｐｔが実行されることで実現されるメール処理部２２０は、上記のステップＳ１２０１及びステップＳ１２０２を行う。
【０１５５】
このように、機器２０にＷｅｂブラウザが搭載されている場合には、ＷｅｂブラウザがＪａｖａＳｃｒｉｐｔ等のスクリプト言語を実行することで実現されるメール処理部２２０がメールの作成及び送信を行っても良い。
【０１５６】
次に、機器２０が所定のメールアドレス宛にメールを送信したことをトリガとして、サービス提供システム１０が「ＯＣＲ配信」サービスを実現する処理フローを実行するための処理について、図１４を参照しながら説明する。図１４は、第一の実施形態に係るサービス利用の全体処理（２／２）の一例を示すシートケンス図である。
【０１５７】
まず、トリガ実行部１２１の監視部４０２は、トリガ情報記憶部１６０からトリガ情報２０００を取得する（ステップＳ１４０１）。ここで、以降では、監視部４０２は、図１０に示すトリガ情報２０００をトリガ情報記憶部１６０から取得したものとして説明する。
【０１５８】
トリガ実行部１２１の監視部４０２は、上記のステップＳ１４０１で取得したトリガ情報２０００に基づいて、所定のイベントが発生したか否かを確認する（ステップＳ１４０２）。すなわち、監視部４０２は、図１０に示すトリガ情報２０００のトリガ種別２００２に定義されたトリガ種別「メール」と、オプション２００３に定義されたメールアドレス「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」とに基づいて、メール取得要求をメールシステム４０に送信する。すると、メールシステム４０は、メールの取得結果を監視部４０２に返信する。
【０１５９】
なお、メール取得要求には、メールアドレス「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」又は当該メールアドレスのローカル部「ａｂｃ」等が含まれる。
【０１６０】
ここで、監視部４０２は、例えば、所定の時間毎に、上記のステップＳ１４０２の処理を行う。すなわち、監視部４０２は、メールシステム４０に対して、定期的な問い合わせ（ポーリング）を行うことにより所定のイベントが発生したか否かを確認する。
【０１６１】
トリガ実行部１２１の監視部４０２は、メールの取得結果を受信すると、メールアドレス「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」宛に新着メールが届いていたか否か（すなわち、新着メールを取得したか否か）を確認する（ステップＳ１４０３）。
【０１６２】
そして、トリガ実行部１２１の監視部４０２は、新着メールが届いていたことを確認した場合、処理フローの実行要求をリクエスト実行部４０１に送信する（ステップＳ１４０４）。なお、処理フローの実行要求には、図１０に示すトリガ情報２０００と、上記のステップＳ１４０２でメールシステム４０から返信されたメールに添付されていた電子ファイルとが含まれる。
【０１６３】
次に、トリガ実行部１２１のリクエスト実行部４０１は、処理フローの実行要求を受信すると、当該実行要求に含まれるトリガ情報２０００の実行条件を満たすか否かを判定する（ステップＳ１４０５）。すなわち、リクエスト実行部４０１は、図１０に示すトリガ情報２０００の実行条件２００４に含まれる実行時期「ｉｍｍｄｉａｔｅｌｙ」に基づいて、実行条件を満たすと判定する。
【０１６４】
なお、例えば、実行条件２００４に含まれる実行時期に「ｄｅｌａｙ」が定義されていた場合、リクエスト実行部４０１は、指定された時間経過後に、次のステップＳ１４０７の処理を実行する。すなわち、この場合、リクエスト実行部４０１は、指定された時間経過後に、実行条件を満たすと判定する。
【０１６５】
そして、トリガ実行部１２１のリクエスト実行部４０１は、実行条件を満たすと判定した場合、処理フローの実行要求をロジック処理部１１２に送信する（ステップＳ１４０６）。なお、処理フローの実行要求には、図１０に示すトリガ情報２０００のフロー名２００５に定義されたフロー名「ＯＣＲ配信」と、上記のステップＳ１４０２でメールシステム４０から返信されたメールに添付されていた電子ファイルとが含まれる。
【０１６６】
次に、ロジック処理部１１２は、処理フローの実行要求を受信すると、当該実行要求に含まれるフロー名「ＯＣＲ配信」の処理フロー情報１１００に基づいて、一連の処理（処理フロー）を実行する（ステップＳ１４０７）。そして、ロジック処理部１１２は、実行結果を返信する。なお、このステップＳ１４０７の処理フローの実行処理の詳細については後述する。
【０１６７】
これにより、本実施形態に係るサービス提供システム１０は、機器２０のユーザがメールを送信したことをトリガとして、「ＯＣＲ配信」サービスを提供することができる。
【０１６８】
なお、上記のステップＳ１４０２〜ステップＳ１４０７の処理は、トリガ情報２０００毎に実行される。すなわち、複数のトリガ情報２００がトリガ情報記憶部１６０に記憶されている場合、サービス提供システム１０は、トリガ情報２０００毎に、上記のステップＳ１４０２〜ステップＳ１４０７の処理を実行する。
【０１６９】
また、図１４では、一例として、上記のステップＳ１４０１で取得したトリガ情報２０００のトリガ種別が「メール」である場合について説明した。例えば、トリガ情報２０００のトリガ種別が「ファイル格納」である場合、上記のステップＳ１４０２において、監視部４０２は、ストレージシステム３０の所定のフォルダに電子ファイルが格納されたか否かを確認すれば良い。同様に、例えば、トリガ情報２０００のトリガ種別が「ＦＡＸ送信」である場合、上記のステップＳ１４０２において、監視部４０２は、ＦＡＸシステム５０から所定の電話番号にＦＡＸ送信されたか否かを確認すれば良い。
【０１７０】
次に、図１４のステップＳ１４０７の処理フローの実行処理の詳細について、図１５を参照しながら説明する。図１５は、第一の実施形態に係る処理フローの実行処理の一例を示すシーケンス図である。なお、以降では、「ＯＣＲ配信」サービスを実現する一連の処理（処理フロー）を実行する場合について説明する。
【０１７１】
まず、フロー実行部３０１は、リクエスト実行部４０１から処理フローの実行要求を受信すると、処理フロー情報１１００の取得要求をアプリ管理部１１１に送信する（ステップＳ１５０１）。なお、処理フロー情報１１００の取得要求には、フロー名「ＯＣＲ配信」が含まれる。
【０１７２】
次に、アプリ管理部１１１は、フロー実行部３０１から処理フロー情報１１００の取得要求を受信すると、フロー名「ＯＣＲ配信」の処理フロー情報１１００をアプリ情報記憶部１５０から取得する（ステップＳ１５０２）。すなわち、アプリ管理部１１１は、図８に示す処理フロー情報１１００をアプリ管理部１１１から取得する。
【０１７３】
そして、アプリ管理部１１１は、図８に示す処理フロー情報１１００をフロー実行部３０１に返信する。
【０１７４】
次に、フロー実行部３０１は、図８に示す処理フロー情報１１００に基づいて、コンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ１５０３）。なお、コンポーネントの取得要求には、図８に示す処理フロー情報１１００の処理定義１１０３に定義されたコンポーネント名「ＯＣＲコンポーネント」が含まれる。
【０１７５】
次に、コンポーネント管理部３０２は、フロー実行部３０１からコンポーネント取得要求を受信すると、当該取得要求に含まれるコンポーネント名「ＯＣＲコンポーネント」に基づいて、ＯＣＲコンポーネント１２１０を生成する（ステップＳ１５０４）。なお、コンポーネント管理部３０２は、コンポーネント共通Ｉ／Ｆ１２００に定義されているコンポーネントを生成するためのＡＰＩを用いて、ＯＣＲコンポーネント１２１０を生成することができる。
【０１７６】
そして、コンポーネント管理部３０２は、生成したＯＣＲコンポーネント１２１０をフロー実行部３０１に返信する。なお、コンポーネント管理部３０２は、例えば、ＯＣＲコンポーネント１２１０が展開されたメモリ（例えば、ＲＡＭ１４）上のアドレスをフロー実行部３０１に返信すれば良い。
【０１７７】
次に、フロー実行部３０１は、コンポーネント処理の実行要求をＯＣＲコンポーネント１２１０に送信する（ステップＳ１５０５）。なお、コンポーネント処理の実行要求には、データと、処理定義１１０３に定義されたパラメータ「ｌａｎｇｕａｇｅ」のパラメータ値「Ｅｎｇｌｉｓｈ」と、パラメータ「ｏｕｔｐｕｔＴｙｐｅ」のパラメータ値「ｐｄｆ」とが含まれる。
【０１７８】
ここで、ステップＳ１５０５におけるコンポーネント処理の実行要求に含まれるデータは、データ型「ＩｎｐｕｔＳｔｒｅａｍ」として、リクエスト実行部４０１から受信した処理フローの実行要求に含まれていた電子ファイルである。このように、フロー実行部３０１は、データ型「ＩｎｐｕｔＳｔｒｅａｍ」の電子ファイル等を、単に「データ」として（すなわち、データ型を意識することなく）、ＯＣＲコンポーネント１２１０に送信する。以降では、データ型を意識することなく送信される電子ファイル等を「データ」と表す。
【０１７９】
ＯＣＲコンポーネント１２１０は、コンポーネント処理の実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ１５０６）。なお、型変換要求には、データと、ＯＣＲコンポーネント１２１０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０１８０】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ１５０７）。
【０１８１】
ここで、型変換要求に含まれるデータのデータ型は「ＩｎｐｕｔＳｔｒｅａｍ」である一方、指定されたデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
【０１８２】
すると、型変換管理部３０４は、図７に示す型変換情報テーブル３０００を参照して、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための第１の型変換１３１０を生成する（ステップＳ１５０８）。なお、型変換管理部３０４は、型変換共通Ｉ／Ｆ１３００に定義されている型変換を生成するためのＡＰＩを用いて、第１の型変換１３１０を生成することができる。
【０１８３】
次に、型変換管理部３０４は、第１の型変換１３１０を生成すると、型変換処理の実行要求を第１の型変換１３１０に送信する（ステップＳ１５０９）。なお、型変換処理の実行要求には、データ型「ＩｎｐｕｔＳｔｒｅａｍ」のデータが含まれる。
【０１８４】
次に、第１の型変換１３１０は、型変換処理の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「ＩｎｐｕｔＳｔｒｅａｍ」から「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換する型変換処理を行う（ステップＳ１５１０）。そして、第１の型変換１３１０は、型変換後のデータを型変換管理部３０４に返信する。
【０１８５】
型変換管理部３０４は、型変換後のデータを受信すると、当該データをＯＣＲコンポーネント１２１０に送信する（ステップＳ１５１１）。
【０１８６】
ＯＣＲコンポーネント１２１０は、型変換管理部３０４からデータを受信すると、上記のステップＳ１５０１で受信したコンポーネント処理の実行要求に含まれるパラメータ値を用いて、当該データに対して処理を実行する（ステップＳ１５１２）。すなわち、ＯＣＲコンポーネント１２１０は、ＯＣＲ言語が「英語」、出力ファイル形式を「ＰＤＦ」として、ドキュメントサービス部１３０のＯＣＲ処理部１３１により、当該データにより示される電子ファイルに対してＯＣＲ処理を実行する。
【０１８７】
そして、ＯＣＲコンポーネント１２１０は、処理結果を示すデータをフロー実行部３０１に返信する。
【０１８８】
次に、フロー実行部３０１は、図８に示す処理フロー情報１１００に基づいて、コンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ１５１３）。なお、コンポーネントの取得要求には、図８に示す処理フロー情報１１００の処理定義１１０４に定義されたコンポーネント名「ストレージＡ配信コンポーネント」が含まれる。
【０１８９】
次に、コンポーネント管理部３０２は、フロー実行部３０１からコンポーネント取得要求を受信すると、当該取得要求に含まれるコンポーネント名「ストレージＡ配信コンポーネント」に基づいて、ストレージＡ配信コンポーネント１２２０を生成する（ステップＳ１５１４）。なお、コンポーネント管理部３０２は、コンポーネント共通Ｉ／Ｆ１２００に定義されているコンポーネントを生成するためのＡＰＩを用いて、ストレージＡ配信コンポーネント１２２０を生成することができる。
【０１９０】
そして、コンポーネント管理部３０２は、生成したストレージＡ配信コンポーネント１２２０をフロー実行部３０１に返信する。なお、コンポーネント管理部３０２は、例えば、ストレージＡ配信コンポーネント１２２０が展開されたメモリ（例えば、ＲＡＭ１４）上のアドレスをフロー実行部３０１に返信すれば良い。
【０１９１】
次に、フロー実行部３０１は、コンポーネント処理の実行要求をストレージＡ配信コンポーネント１２２０に送信する（ステップＳ１５１５）。なお、コンポーネント処理の実行要求には、データと、処理定義１１０４に定義されたパラメータ「ｆｏｌｄｅｒＩｄ」のパラメータ値「ｆｏｌｄｅｒＡ」とが含まれる。
【０１９２】
ストレージＡ配信コンポーネント１２２０は、コンポーネント処理の実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ１５１６）。なお、型変換要求には、データと、ストレージＡ配信コンポーネント１２２０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０１９３】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ１５１７）。
【０１９４】
ここで、型変換要求に含まれるデータのデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」であり、指定されたデータ型も「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【０１９５】
すると、型変換管理部３０４は、型変換要求に含まれるデータをストレージＡ配信コンポーネント１２２０に送信する（ステップＳ１５１８）。このように、型変換管理部３０４は、データ型のチェック（ステップＳ１５１７の処理）において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換の生成を行わない。
【０１９６】
ストレージＡ配信コンポーネント１２２０は、型変換管理部３０４からデータを受信すると、上記のステップＳ１５１５で受信したコンポーネント処理の実行要求に含まれるパラメータ値を用いて、当該データに対して処理を実行する（ステップＳ１５１９）。
【０１９７】
すなわち、ストレージＡ配信コンポーネント１２２０は、外部サービス名「ストレージＡ」のストレージシステム３０に対応する外部サービス連携部１４０に対して、フォルダＩＤ「ｆｏｌｄｅｒＡ」を指定して、電子ファイルの配信要求を送信する。
【０１９８】
そして、ストレージＡ配信コンポーネント１２２０は、処理結果を示すデータをフロー実行部３０１に返信する。
【０１９９】
これにより、本実施形態に係るサービス提供システム１０は、電子ファイルに対してＯＣＲ処理を行った後、外部サービス名「ストレージＡ」のストレージシステム３０における指定したフォルダにＯＣＲ処理後の電子ファイルを配信することができる。
【０２００】
以上のように、本実施形態に係るサービス提供システム１０は、所定のメールアドレス宛へのメール送信や所定の電話番号へのＦＡＸ送信、所定のフォルダへのファイル格納等のイベントの発生をトリガとして、各種のサービスを実現する処理フローを実行する。これにより、本実施形態に係る機器２０のユーザは、例えば、所定のメールアドレス宛に電子ファイルを添付したメールの送信等を行うことで、サービス提供システム１０が提供する各種のサービスを利用することができるようになる。
【０２０１】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態では、所定のイベントが発生した場合に、サービス提供システム１０は、ストレージシステム３０やメールシステム４０、ＦＡＸシステム５０等の監視対象から通知を受信する点が第一の実施形態と異なる。このため、第二の実施形態に係るサービス提供システム１０では、監視対象にポーリング等を行ってイベントの発生を確認する必要がない。
【０２０２】
なお、第二の実施形態において、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、適宜、その説明を省略する。
【０２０３】
＜機能構成＞
まず、第二の実施形態に係るサービス提供システム１０のトリガサービス部１２０の詳細な機能構成について、図１６を参照しながら説明する。図１６は、第二の実施形態に係るトリガサービス部１２０の一例の機能構成を示す図である。
【０２０４】
第二の実施形態に係るサービス提供システム１０のトリガサービス部１２０は、監視部４０２Ａ及びトリガ登録部１２２Ａが第一の実施形態と異なる。
【０２０５】
トリガ登録部１２２Ａは、機器２０の登録処理部２１０からの要求に応じて、トリガ情報記憶部１６０にトリガ情報２０００に記憶させる。また、トリガ登録部１２２Ａは、当該トリガ情報２０００に対応するイベントが発生した場合に、イベントが発生したことを示すイベント通知の登録を監視部４０２に要求する。
【０２０６】
監視部４０２Ａは、イベント通知の登録要求を監視対象に送信する。また、監視部４０２Ａは、監視対象からイベント通知を受信した場合に、発生したイベントに対応するトリガ情報２０００をトリガ情報記憶部１６０から取得する。そして、監視部４０２Ａは、トリガ情報２０００に基づいて、処理フローの実行をリクエスト実行部４０１に要求する。
【０２０７】
＜処理の詳細＞
次に、第二の実施形態に係る情報処理システム１の処理の詳細について説明する。
【０２０８】
まず、機器２０のユーザがサービス提供システム１０にトリガを登録する処理について、図１７を参照しながら説明する。図１７は、第二の実施形態に係るトリガ登録処理の一例を示すシーケンス図である。なお、図１７におけるステップＳ１７０１及びステップＳ１７０２の処理は、図１１のステップＳ１１０１及びステップＳ１１０２の処理とそれぞれ同様であるため、その説明を省略する。
【０２０９】
サービス提供システム１０のトリガ登録部１２２Ａは、トリガの登録要求を受信すると、当該登録要求に含まれるトリガ情報２０００をトリガ情報記憶部１６０に記憶させる（ステップＳ１７０３）。
【０２１０】
次に、サービス提供システム１０のトリガ登録部１２２Ａは、イベント通知の登録要求を監視部４０２Ａに送信する（ステップＳ１７０４）。なお、当該登録要求には、上記のステップＳ１７０３で登録されたトリガ情報２０００が含まれる。
【０２１１】
次に、サービス提供システム１０の監視部４０２Ａは、イベント通知の登録要求をメールシステム４０等の監視対象に送信する（ステップＳ１７０５）。そして、監視部４０２Ａは、登録結果を返信する。これにより、監視対象にイベント通知が登録される。
【０２１２】
なお、例えば、図１０に示すトリガ情報２０００が登録された場合、監視部４０２Ａは、送信先メールアドレスが「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」であるメールを監視部４０２Ａに転送するための要求（転送設定の登録要求）をメールシステム４０に送信すれば良い。これにより、監視部４０２Ａは、転送されたメールを受信することで、メールアドレス「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」宛にメールが送信されたこと（すなわち、イベントが発生したこと）を確認することができる。
【０２１３】
また、例えば、トリガ種別が「ファイル格納」であるトリガ情報２０００が登録された場合、監視部４０２Ａは、所定のフォルダに格納された電子ファイルを監視部４０２Ａに送信するための登録要求をストレージシステム３０に送信すれば良い。これにより、監視部４０２Ａは、所定のフォルダに電子ファイルが格納されたことを確認することができる。
【０２１４】
また、例えば、トリガ種別が「ＦＡＸ送信」であるトリガ情報２０００が登録された場合、監視部４０２Ａは、所定の電話番号にＦＡＸ送信されたデータ（電子ファイル）を監視部４０２Ａに送信するための登録要求をＦＡＸシステム５０に送信すれば良い。これにより、監視部４０２Ａは、所定の電話番号にＦＡＸが送信されたことを確認することができる。
【０２１５】
次に、機器２０のユーザが所定のメールアドレス宛にメールを送信することで、「ＯＣＲ配信」サービスを利用する場合の処理について、図１８を参照しながら説明する。図１８は、第二の実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。なお、図１８におけるステップＳ１８０１及びステップＳ１８０２の処理は、図１２のステップＳ１２０１及びステップＳ１２０２の処理とそれぞれ同様であるため、その説明を省略する。また、以降では、上記のステップＳ１７０５において、監視部４０２Ａにより、送信先メールアドレスが「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」であるメールを監視部４０２Ａに転送するための設定（転送設定）がメールシステム４０に登録されたものとして説明する。
【０２１６】
監視部４０２Ａは、メールシステム４０から転送されたメール（送信先メールアドレスが「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」であるメール）を受信する（ステップＳ１８０３）。
【０２１７】
監視部４０２Ａは、メールシステム４０から転送されたメールを受信すると、当該メールに対応するトリガ情報２０００をトリガ情報記憶部１６０から取得する（ステップＳ１８０４）。すなわち、監視部４０２Ａは、トリガ種別が「メール」、かつ、オプションに含まれるメールアドレスが「ａｂｃ＠ｘｙｚ．ｃｏ．ｊｐ」である図１０に示すトリガ情報２０００をトリガ情報記憶部１６０から取得する。
【０２１８】
なお、例えば、メールシステム４０から転送されたメールにトリガＩＤが含まれる場合には、監視部４０２Ａは、当該トリガＩＤのトリガ情報２０００をトリガ情報記憶部１６０から取得しても良い。
【０２１９】
続くステップＳ１８０５〜ステップＳ１８０８の処理は、図１４におけるステップＳ１４０４〜ステップＳ１４０７の処理とそれぞれ同様であるため、その説明を省略する。
【０２２０】
以上のように、本実施形態に係るサービス提供システム１０は、監視対象からイベント通知を受信すると、当該イベント通知に対応するトリガ情報２０００をトリガ情報記憶部１６０から取得する。このため、本実施形態に係るサービス提供システム１０は、監視対象に対してポーリング等を行ってイベントがしたか否かを確認する必要がない。したがって、本実施形態に係るサービス提供システム１０では、ポーリング等に伴うネットワーク負荷の軽減等を図ることができる。
【０２２１】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態では、機器２０のユーザが処理フロー情報１１００及びトリガ情報２０００を所定のＧＵＩを用いて作成した上で、サービス提供システム１０に登録することができる点が第一の実施形態と異なる。
【０２２２】
なお、第三の実施形態において、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、適宜、その説明を省略する。
【０２２３】
＜機能構成＞
次に、第三の実施形態に係るサービス提供システム１０及び機器２０の機能構成について、図１９を参照しながら説明する。図１９は、第三の実施形態に係るサービス提供システム１０及び機器２０の一例の機能構成を示す図である。
【０２２４】
第三の実施形態に係るサービス提供システム１０の入出力サービス部１１０は、さらに、フロー構築部１１４と、構築情報管理部１１５とを有する。
【０２２５】
また、第三の実施形態に係るサービス提供システム１０は、さらに、構築情報記憶部１７０と、画面情報記憶部１８０とを有する。これら各記憶部は、例えば、ＨＤＤ１８を用いて実現可能である。なお、構築情報記憶部１７０及び画面情報記憶部１８０の少なくとも１つの記憶部が、サービス提供システム１０とネットワークＮ１を介して接続される記憶装置を用いて実現されていても良い。
【０２２６】
構築情報管理部１１５は、フロー構築部１１４からの要求に応じて、構築情報記憶部１７０からコンポーネント一覧情報５１００及びトリガ一覧情報５２００を取得して、フロー構築部１１４に返信する。
【０２２７】
フロー構築部１１４は、トリガ及び処理フローを作成するための各種画面を機器２０に提供する。例えば、フロー構築部１１４は、画面情報記憶部１８０に記憶されている画面情報６０００と、構築情報管理部１１５から取得したコンポーネント一覧情報５１００及びトリガ一覧情報５２００とに基づいて、フロー構築画面を機器２０に提供する。
【０２２８】
また、フロー構築部１１４は、フロー構築画面で作成されたトリガ及び処理フローから処理フロー情報１１００及びトリガ情報２０００を作成する。
【０２２９】
構築情報記憶部１７０は、コンポーネント一覧情報５１００と、トリガ一覧情報５２００とを記憶する。コンポーネント一覧情報５１００及びトリガ一覧情報５２００の詳細については後述する。
【０２３０】
画面情報記憶部１８０は、画面情報６０００を記憶する。画面情報６０００は、トリガ及び処理フローを作成するための各種画面が定義された情報である。画面情報６０００は、例えば、ＨＴＭＬやＣＳＳ（Cascading Style Sheets）等により各種画面が定義されている。
【０２３１】
第三の実施形態に係る機器２０は、登録処理部２１０Ａの機能が異なる。登録処理部２１０Ａは、サービス提供システム１０から取得した画面情報６０００に基づいて、フロー構築画面等の各種画面を表示する。また、登録処理部２１０Ａは、フロー構築画面で作成されたトリガ及び処理フローの情報（フロー作成情報）をサービス提供システム１０に送信する。
【０２３２】
ここで、コンポーネント一覧情報５１００について、図２０を参照しながら説明する。図２０は、コンポーネント一覧情報５１００の一例を示す図である。
【０２３３】
図２０に示すコンポーネント一覧情報５１００は、データ項目として、コンポーネント名と、パラメータとを有する。
【０２３４】
コンポーネント名は、コンポーネント群３０３に含まれるコンポーネントの名称である。パラメータは、コンポーネントに対するパラメータである。すなわち、図２０に示すコンポーネント一覧情報５１００は、コンポーネント群３０３に含まれるコンポーネントのコンポーネント名と、パラメータとが関連付けられた情報である。
【０２３５】
例えば、コンポーネント名「ＯＣＲコンポーネント」には、パラメータ「ｌａｎｇｕａｇｅ」及び「ｏｕｔｐｕｔＴｙｐｅ」が関連付けられている。同様に、コンポーネント名「ストレージＡ配信コンポーネント」には、パラメータ「ｆｏｌｄｅｒＩｄ」が関連付けられている。
【０２３６】
このように、図２０に示すコンポーネント一覧情報５１００には、コンポーネント群３０３に含まれる各コンポーネントのコンポーネント名とパラメータとが関連付けられている。
【０２３７】
次に、トリガ一覧情報５２００について、図２１を参照しながら説明する。図２１は、トリガ一覧情報５２００の一例を示す図である。
【０２３８】
図２１に示すトリガ一覧情報５２００は、データ項目として、トリガ種別と、オプションと、実行条件とを有する。
【０２３９】
トリガ種別は、トリガとするイベントの種別である。オプションは、トリガ種別毎に、監視対象を特定するために設定される情報である。実行条件は、トリガ種別で定義されたイベントが発生した場合に、処理フローを実行させるための条件が設定される情報である。
【０２４０】
例えば、トリガ種別「メール」は、メール送信をトリガとすることを示している。また、トリガ種別「メール」には、オプション「ａｄｄｒｅｓｓ」と、実行条件「ｗｈｅｎ」とが関連付けられている。これにより、トリガ種別「メール」のトリガ情報２０００には、メール送信先のメールアドレスを示す「ａｄｄｒｅｓｓ」と、イベントが発生した場合に処理フローを実行させるための条件を示す「ｗｈｅｎ」とを設定する必要があることがわかる。
【０２４１】
同様に、例えば、トリガ種別「ＦＡＸ」は、ＦＡＸ送信をトリガとすることを示している。また、トリガ種別「ＦＡＸ」には、オプション「ｎｕｍｂｅｒ」と、実行条件「ｗｈｅｎ」とが関連付けられている。これにより、トリガ種別「ＦＡＸ」のトリガ情報２０００には、ＦＡＸ送信先の電話番号を示す「ｎｕｍｂｅｒ」と、イベントが発生した場合に処理フローを実行させるための条件を示す「ｗｈｅｎ」とを設定する必要があることがわかる。
【０２４２】
同様に、例えば、トリガ種別「ファイル格納」は、フォルダへのファイル格納をトリガとすることを示している。また、トリガ種別「ファイル格納」には、オプション「ｆｏｌｄｅｒＩｄ」と、実行条件「ｗｈｅｎ」とが関連付けられている。これにより、トリガ種別「ファイル格納」のトリガ情報２０００には、格納先のフォルダを示す「ｆｏｌｄｅｒＩｄ」と、イベントが発生した場合に処理フローを実行させるための条件を示す「ｗｈｅｎ」とを設定する必要があることがわかる。
【０２４３】
このように、図２１に示すトリガ一覧情報５２００には、トリガ種別毎に、トリガ情報２０００に定義する必要があるオプションと実行条件とが関連付けられている。
【０２４４】
＜処理の詳細＞
次に、第三の実施形態に係る情報処理システム１の処理の詳細について説明する。以降では、機器２０のユーザが処理フロー情報１１００及びトリガ情報２０００を作成して、サービス提供システム１０に登録する処理について、図２２を参照しながら説明する。図２２は、第三の実施形態に係るトリガ及び処理フロー登録処理の一例を示すシーケンス図である。
【０２４５】
まず、登録処理部２１０Ａは、アプリ一覧画面の表示要求を、サービス提供システム１０の入出力サービス部１１０に送信する（ステップＳ２２０１）。ここで、登録処理部２１０Ａは、例えば、所定の画面において、処理フローの作成を開始するための操作がユーザにより行われると、アプリ一覧画面の表示要求をサービス提供システム１０に送信する。
【０２４６】
次に、入出力サービス部１１０のフロー構築部１１４は、アプリ一覧画面の表示要求を受信すると、アプリ一覧の取得要求をアプリ管理部１１１に送信する（ステップＳ２２０２）。
【０２４７】
次に、アプリ管理部１１１は、アプリ情報記憶部１５０に記憶されているアプリ情報１０００のアプリ名を取得する（ステップＳ２２０３）。そして、アプリ管理部１１１は、取得したアプリ名の一覧を示すアプリ一覧情報をフロー構築部１１４に返信する。
【０２４８】
次に、フロー構築部１１４は、アプリ一覧情報を受信すると、アプリ一覧画面の画面情報６０００を画面情報記憶部１８０から取得する（ステップＳ２２０４）。そして、フロー構築部１１４は、アプリ一覧画面の画面情報６０００と、アプリ一覧情報とを登録処理部２１０Ａに返信する。
【０２４９】
登録処理部２１０Ａは、受信した画面情報６０００とアプリ一覧情報とに基づいて、例えば図２３に示すアプリ一覧画面７１００を表示する（ステップＳ２２０５）。
【０２５０】
図２３に示すアプリ一覧画面７１００には、アプリ情報記憶部１５０に記憶されているアプリ情報１０００のアプリ名一覧７１０１が含まれる。
【０２５１】
図２３に示すアプリ一覧画面７１００のアプリ名一覧７１０１において、ユーザが所望のアプリ名を選択すると、登録処理部２１０Ａは、当該選択操作を受け付ける。ここで、以降では、アプリ名一覧７１０１において、アプリ名「アプリ１」がユーザにより選択されたものとする。
【０２５２】
そして、登録処理部２１０Ａは、アプリ画面の表示要求を、サービス提供システム１０の入出力サービス部１１０に送信する（ステップＳ２２０６）。なお、アプリ画面の表示要求には、図２３に示すアプリ一覧画面７１００のアプリ名一覧７１０１においてユーザにより選択されたアプリ名「アプリ１」が含まれる。
【０２５３】
入出力サービス部１１０のフロー構築部１１４は、アプリ画面の表示要求を受信すると、フロー一覧の取得要求をアプリ管理部１１１に送信する（ステップＳ２２０７）。なお、フロー一覧の取得要求には、ユーザにより選択されたアプリ名「アプリ１」が含まれる。
【０２５４】
次に、アプリ管理部１１１は、フロー構築部１１４から受信したフロー一覧の取得要求に含まれるアプリ名「アプリ１」のアプリ情報１０００を取得して、当該アプリ情報１０００に含まれる処理フロー情報１１００のフロー名を取得する（ステップＳ２２０８）。そして、アプリ管理部１１１は、取得したフロー名の一覧を示すフロー一覧情報をフロー構築部１１４に返信する。
【０２５５】
次に、フロー構築部１１４は、フロー一覧情報を受信すると、アプリ画面の画面情報６０００を画面情報記憶部１８０から取得する（ステップＳ２２０９）。そして、フロー構築部１１４は、アプリ画面の画面情報６０００と、フロー一覧情報とを登録処理部２１０Ａに返信する。
【０２５６】
登録処理部２１０Ａは、受信した画面情報６０００とフロー一覧情報とに基づいて、例えば図２４に示すアプリ画面７２００を表示する（ステップＳ２２１０）。
【０２５７】
図２４に示すアプリ画面７２００には、アプリ名「アプリ１」のアプリ情報１０００に含まれる処理フロー情報１１００のフロー名一覧７２０１と、当該アプリ情報１０００に処理フロー情報１１００を追加するための追加ボタン７２０２とが含まれる。なお、図２４に示すアプリ画面７２００には、アプリ名「アプリ１」のアプリ情報１０００に含まれる処理フロー情報１１００を更新（編集）するための更新ボタン、当該アプリ情報１０００に含まれる処理フロー情報１１００を削除するための削除ボタン等も含まれる。
【０２５８】
ここで、図２４に示すアプリ画面７２００において、ユーザにより追加ボタン７２０２が選択されると、登録処理部２１０Ａは、当該選択操作を受け付ける。そして、登録処理部２１０Ａは、フロー構築画面の表示要求を、サービス提供システム１０の入出力サービス部１１０に送信する（ステップＳ２２１１）。
【０２５９】
入出力サービス部１１０のフロー構築部１１４は、フロー構築画面の表示要求を受信すると、構築情報の取得要求を構築情報管理部１１５に送信する（ステップＳ２２１２）。
【０２６０】
構築情報管理部１１５は、構築情報の取得要求を受信すると、構築情報記憶部１７０からコンポーネント一覧情報５１００及びトリガ一覧情報５２００を取得する（ステップＳ２２１３）。そして、構築情報管理部１１５は、コンポーネント一覧情報５１００及びトリガ一覧情報５２００をフロー構築部１１４に返信する。なお、以降では、コンポーネント一覧情報５１００及びトリガ一覧情報５２００を「構築情報」とも表す。
【０２６１】
次に、フロー構築部１１４は、構築情報を受信すると、フロー構築画面の画面情報６０００を画面情報記憶部１８０から取得する（ステップＳ２２１４）。そして、フロー構築部１１４は、フロー構築画面の画面情報６０００と、構築情報とを登録処理部２１０Ａに返信する。
【０２６２】
登録処理部２１０Ａは、受信した画面情報６０００とアプリ一覧情報とに基づいて、例えば図２５に示すフロー構築画面７３００を表示する（ステップＳ２２１５）。
【０２６３】
図２５に示すフロー構築画面７３００は、ユーザがトリガ及び処理フローをグラフィカルに作成するための画面であり、構築要素表示欄７３０１と、構築欄７３０２と、フロー名入力欄７３０３と、登録ボタン７３０４とが含まれる。また、構築要素表示欄７３０１には、構築要素であるトリガの一覧が表示されるトリガ一覧７３１１と、構築要素であるコンポーネントの一覧が表示されるコンポーネント一覧７３１２とが含まれる。
【０２６４】
なお、トリガ一覧７３１１には、トリガ一覧情報５２００に含まれる各トリガ種別が一覧で表示される。また、コンポーネント一覧７３１２には、コンポーネント一覧情報５１００に含まれる各コンポーネント名が一覧で表示される。
【０２６５】
ユーザは、構築要素表示欄７３０１から所望の構築要素を選択して、構築欄７３０２に置いた上で、構築要素同士の先行・後続関係の設定やパラメータの設定等を行うことで、トリガ及び処理フローを作成する。そして、ユーザは、フロー名入力欄７３０３に所望のフロー名を入力して、登録ボタン７３０４を選択することで、作成したトリガ及び処理フローを登録することができる。
【０２６６】
例えば、まず、ユーザは、トリガ一覧７３１１から「メール」を選択した上で、構築欄７３０２の任意の箇所を選択する。すると、登録処理部２１０Ａは、構築要素７３２１をユーザが選択した箇所に作成する。
【０２６７】
次に、ユーザは、コンポーネント一覧７３１２から「ＯＣＲコンポーネント」を選択した上で、構築欄７３０２の任意の箇所を選択する。すると、登録処理部２１０Ａは、構築要素７３２２をユーザが選択した箇所に作成する。
【０２６８】
同様に、ユーザは、コンポーネント一覧７３１２から「ストレージＡ配信コンポーネント」を選択した上で、構築欄７３０２の任意の箇所を選択する。すると、登録処理部２１０Ａは、構築要素７３２３をユーザが選択した箇所に作成する。
【０２６９】
なお、ユーザは、例えば、トリガ一覧７３１１やコンポーネント一覧７３１２から構築欄７３０２に、構成要素をドラッグ・アンド・ドロップ操作することで、構築要素７３２１〜７１２３を作成しても良い。
【０２７０】
続いて、ユーザは、構築要素７３２１〜構築要素７３２３の先行・後続関係を、矢印７３２４及び矢印７３２５で設定する。すなわち、例えば、ユーザは、構築要素７３２１から構築要素７３２２に向けてドラッグ操作等を行う。すると、登録処理部２１０Ａは、構築要素７３２１から構築要素７３２２向けて矢印７３２４を作成する。
【０２７１】
同様に、例えば、ユーザは、構築要素７３２２から構築要素７３２３に向けてドラッグ操作等を行う。すると、登録処理部２１０Ａは、構築要素７３２２から構築要素７３２３向けて矢印７３２５を作成する。
【０２７２】
また、ユーザは、構築要素７３２１を選択することで、オプション及び実行条件の設定を行う。同様に、ユーザは、構築要素７３２２や構築要素７３２３を選択することで、パラメータの設定を行う。
【０２７３】
例えば、ユーザが構築要素７３２１を選択すると、登録処理部２１０Ａは、設定欄７３２６を表示する。設定欄７３２６において、ユーザは、トリガである構築要素７３２１に対するオプション「ａｄｄｒｅｓｓ」及び実行条件「ｗｈｅｎ」を設定することができる。なお、構築要素７３２２や構築要素７３２３も同様に、コンポーネントである構築要素７３２２や構築要素７３２３に対するパラメータを設定することができる。
【０２７４】
これにより、ユーザは、構築要素７３２１をトリガ７３３０と、構築要素７３２２及び構築要素７３２３で表される処理フロー７３４０とを作成することができる。そして、ユーザがフロー名入力欄７３０３にフロー名「ＯＣＲ配信」を入力して、登録ボタン７３０４を選択する。なお、登録処理部２１０Ａは、トリガである構築要素７３２１に対して、先行関係にある構築要素が設定されている場合には、エラー等を表示させても良い。
【０２７５】
登録処理部２１０は、図２５に示すフロー構築画面７３００において登録ボタン７３０４が選択されると、トリガ及び処理フローの登録要求を、サービス提供システム１０のフロー構築部１１４に送信する（ステップＳ２２１６）。なお、トリガ及び処理フローの登録要求には、図２５に示すフロー構築画面７３００においてユーザにより作成されたトリガ７３３０及び処理フロー７３４０の情報（フロー作成情報）と、上記のステップＳ２２０５でユーザにより選択されたアプリ名「アプリ１」とが含まれる。ただし、当該登録要求には、フロー作成情報として、トリガ７３３０を示すトリガ情報２０００及び処理フロー７３４０を示す処理フロー情報１１００が含まれていても良い。
【０２７６】
フロー構築部１１４は、トリガ及び処理の登録要求を受信すると、当該登録要求を含まれるフロー作成情報に基づいて、処理フロー情報１１００とトリガ情報２０００とを作成する（ステップＳ２２１７）。すなわち、フロー構築部１１４は、フロー作成情報に含まれるトリガ７３３０の情報からトリガ情報２０００を作成すると共に、フロー作成情報に含まれる処理フロー７３４０の情報から処理フロー情報１１００を作成する。
【０２７７】
次に、フロー構築部１１４は、処理フローの登録要求をアプリ管理部１１１に送信する（ステップＳ２２１８）。なお、処理フローの登録要求には、上記のステップＳ２２１７で作成した処理フロー情報１１００と、上記のステップＳ２２０５でユーザにより選択されたアプリ名「アプリ１」とが含まれる。
【０２７８】
アプリ管理部１１１は、処理フローの登録要求を受信すると、当該登録要求に含まれる処理フロー情報１１００が、アプリ名「アプリ１」のアプリ情報１０００に含まれるようにアプリ情報記憶部１５０に記憶させる（ステップＳ２２１９）。そして、アプリ管理部１１１は、登録結果をフロー構築部１１４に返信する。
【０２７９】
これにより、ユーザにより作成された処理フロー７３４０がサービス提供システム１０に登録される。
【０２８０】
次に、フロー構築部１１４は、トリガの登録要求をトリガ登録部１２２に送信する（ステップＳ２２２０）。なお、トリガの登録要求には、上記のステップＳ２２１７で作成したトリガ情報２０００が含まれる。
【０２８１】
トリガ登録部１２２は、トリガの登録要求を受信すると、当該登録要求に含まれるトリガ情報２０００をトリガ情報記憶部１６０に記憶させる（ステップＳ２２２１）。そして、トリガ登録部１２２は、登録結果を返信する。
【０２８２】
これにより、ユーザにより作成されたトリガ７３３０がサービス提供システム１０に登録される。なお、図２２におけるステップＳ２２１８及びステップＳ２２２０の処理は、順不同であり、ステップＳ２２２０の処理がステップＳ２２１８の処理よりも先に行われても良い。
【０２８３】
以上のように、本実施形態に係る機器２０のユーザは、フロー構築画面７３００を用いて、構築要素をグラフィカルに配置した上で、構築要素間の先行・後続関係を設定することで、容易にトリガ及び処理フローを作成することができる。
【０２８４】
なお、本発明は、具体的に開示された上記の各実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２８５】
１          情報処理システム
１０        サービス提供システム
２０        機器
１１０      入出力サービス部
１１１      アプリ管理部
１１２      ロジック処理部
１２０      トリガサービス部
１２１      トリガ実行部
１２２      トリガ登録部
１３０      ドキュメントサービス部１３０
１３１      ＯＣＲ処理部
１４０      外部サービス連携部
１５０      アプリ情報記憶部
１６０      トリガ情報記憶部
２１０      登録処理部
２２０      メール処理部
３０１      フロー実行部
３０２      コンポーネント管理部
３０４      型変換管理部
４０１      リクエスト実行部
４０２      監視部
【先行技術文献】
【特許文献】
【０２８６】
【特許文献１】特許第４７７０９９５号公報
【図１】
0006701961.tif 000002
【図２】
0006701961.tif 000003
【図３】
0006701961.tif 000004
【図４】
0006701961.tif 000005
【図５】
0006701961.tif 000006
【図６】
0006701961.tif 000007
【図７】
0006701961.tif 000008
【図８】
0006701961.tif 000009
【図９】
0006701961.tif 000010
【図１０】
0006701961.tif 000011
【図１１】
0006701961.tif 000012
【図１２】
0006701961.tif 000013
【図１３】
0006701961.tif 000014
【図１４】
0006701961.tif 000015
【図１５】
0006701961.tif 000016
【図１６】
0006701961.tif 000017
【図１７】
0006701961.tif 000018
【図１８】
0006701961.tif 000019
【図１９】
0006701961.tif 000020
【図２０】
0006701961.tif 000021
【図２１】
0006701961.tif 000022
【図２２】
0006701961.tif 000023
【図２３】
0006701961.tif 000024
【図２４】
0006701961.tif 000025
【図２５】
0006701961.tif 000026