以下に、図面を参照しながら、本発明に係る情報処理システム、情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
[第1の実施形態]
(情報処理システムの構成)
図1は、第1の実施形態に係る情報処理システムのシステム構成の一例を示す図である。図1を参照しながら、本実施形態に係る情報処理システム1のシステム構成について説明する。
図1に示す情報処理システム1は、サービス提供システム10と、機器20と、PC端末30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、種々の機能をそれぞれ実現する複数の処理のうちの1以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。
ここで、機能とは、文書ファイルおよび画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR(Optical Character Recognition)処理、加工、圧縮・解凍、リポジトリへの格納等が挙げられる。
本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。
機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPCまたはデスクトップPC等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
なお、以降では、複数の機器20について、各々を区別するときは、「機器20_1」、「機器20_2」等と添え字を用いて記載する。
PC端末30は、例えば、ノートPC、携帯電話、スマートフォン、タブレット端末、PDA、ウェアラブルPCまたはデスクトップPC等である。ユーザは、PC端末30を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
なお、以降では、複数のPC端末30について、各々を区別するときは、「PC端末30_1」、「PC端末30_2」等と添え字を用いて記載する。
また、図1に示す情報処理システム1の構成は一例であって、他の構成であってもよい。例えば、本実施形態に係る情報処理システム1には、電子データの入力および出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用してもよい。
(サービス提供システムおよびPC端末のハードウェア構成)
図2は、第1の実施形態に係るサービス提供システムおよびPC端末のハードウェア構成の一例を示す図である。図2を参照しながら、本実施形態に係る情報処理システム1に含まれるサービス提供システム10およびPC端末30のハードウェア構成について説明する。なお、サービス提供システム10およびPC端末30は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム10のハードウェア構成について説明する。
図2に示すサービス提供システム10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、補助記憶装置14と、入力装置15と、表示装置16と、外部I/F17と、通信I/F18と、を有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
CPU11は、ROM13または補助記憶装置14等の記憶装置からプログラムおよびデータをRAM12上に読み出し、処理を実行することで、サービス提供システム10全体の制御および機能を実現する演算装置である。
RAM12は、プログラムおよびデータを一時保持する揮発性の半導体メモリである。ROM13は、電源を切ってもプログラムおよびデータを保持することができる不揮発性の半導体メモリである。ROM13には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、およびネットワーク設定等のプログラムおよびデータが格納されている。
補助記憶装置14は、プログラムおよびデータを格納している不揮発性の記憶装置である。補助記憶装置14は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等である。補助記憶装置14に格納されるプログラムおよびデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、および、OS上において各種機能を提供するアプリケーションソフトウェア等がある。また、補助記憶装置14、格納しているプログラムおよびデータを所定のファイルシステムおよびデータベース等により管理している。
入力装置15は、キーボード、マウス、またはタッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置16は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。表示装置16は、LCD(Liquid Crystal Display)、または有機EL(Electro-Luminescence)ディスプレイ等である。なお、入力装置15および表示装置16の少なくとも一方は、必要なときにサービス提供システム10に接続して利用する形態であってもよい。
外部I/F17は、外部装置とのインタフェースである。外部装置には、記録媒体17a等がある。これにより、サービス提供システム10は、外部I/F17を介して記録媒体17aの読み取りおよび書き込みを行うことができる。記録媒体17aには、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、SD(Secure Digital)メモリカード、USB(Universal Serial Bus)メモリ等がある。
通信I/F18は、サービス提供システム10をネットワークN1に接続するインタフェースである。通信I/F18は、例えば、イーサネット(登録商標)に対応し、TCP(Transmission Control Protocol)/IP(Internet Protocol)等に準拠した通信が可能なインターフェースである。これにより、サービス提供システム10は、通信I/F18を介して通信を行うことができる。
なお、サービス提供システム10は、補助記憶装置14に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
本実施形態に係るサービス提供システム10およびPC端末30は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
(機器のハードウェア構成)
図3は、第1の実施形態に係る機器のハードウェア構成の一例を示す図である。図3を参照しながら、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について説明する。
図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM(Non-Volatile RAM)34と、補助記憶装置35とを有する。
CPU31は、ROM33、NVRAM34、および補助記憶装置35等からプログラム、データ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御および機能を実現する演算装置である。
RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM33は、各種プログラムおよびデータを格納している不揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。補助記憶装置35は、各種プログラムおよびデータを格納している不揮発性の記憶装置である。補助記憶装置35は、HDDまたはSSD等である。
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。操作パネル22は、例えば、タッチパネル機能を搭載した液晶表示装置(LCD(Liquid Crystal Display))で構成される。なお、操作パネル22は、液晶表示装置に限定されるものではなく、例えば、タッチパネル機能が搭載された有機ELの表示装置で構成されていてもよい。また、操作パネル22は、タッチパネル機能に加えてまたはこれに代えて、ハードウェアキー等の操作部、またはランプ等の表示部を設けることもできる。
外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取りおよび書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F24は、機器20をネットワークに接続するインタフェースである。通信I/F24は、例えば、イーサネットに対応し、TCP/IP等に準拠した通信が可能なインターフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。
プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
(サービス提供システムが提供するサービス)
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20がMFPであるものとして説明する。
本実施形態では、機器20において原稿をスキャンすることにより生成された電子ファイル(画像ファイル)にOCR処理を行った上で、所定の言語に翻訳して、メール配信するサービスを「スキャン翻訳サービス」と称する。そして、本実施形態では、サービス提供システム10がスキャン翻訳サービスを提供する場合について説明する。
ここで、サービス提供システム10がスキャン翻訳サービスを提供するには、機器20がスキャン翻訳サービスを利用するためのアプリケーション(後述するアプリ情報1000)をサービス提供システム10に登録する必要がある。
したがって、本実施形態では、スキャン翻訳サービスを利用するためのアプリケーションをPC端末30が登録する場合と、当該アプリケーションを用いてスキャン翻訳サービスを機器20が利用する場合とについて説明する。
なお、サービス提供システム10により提供されるサービスは、これらに限られない。サービス提供システム10は、例えば、機器20において原稿をスキャンすることにより生成された電子ファイルを暗号化した上で、メール配信するサービスを提供するサービスを提供してもよい。また、サービス提供システム10は、例えば、機器20において原稿をスキャンすることにより生成された電子ファイルに所定の情報を付加した上で、FAX送信するサービスを提供してもよい。
(情報処理システムの機能構成)
図4は、第1の実施形態に係る情報処理システムの機能構成の一例を示す図である。図4を参照しながら、本実施形態に係る情報処理システム1の機能構成について説明する。
図4に示すPC端末30は、例えばCPU11等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を用いて、「スキャン翻訳サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム10に登録することができる。
図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を用いて、「スキャン翻訳サービス」等の各種サービスを利用することができる。すなわち、機器20は、ブラウザ210を有していればよく、例えば、サービス提供システム10が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、ポータルサービス部140とを有する。これら各機能部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU11に実行させる処理により実現される。
また、サービス提供システム10は、アプリ情報記憶部150と、アプリ画面情報記憶部160と、ポータル画面情報記憶部170とを有する。これら各記憶部は、補助記憶装置14を用いて実現可能である。なお、これら各記憶部のうちの少なくとも1つの記憶部が、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていてもよい。
入出力サービス処理部110は、サービス提供システム10が提供するサービスに関する処理を行う。ここで、入出力サービス処理部110は、アプリ管理部111と、ロジック処理部112とを有する。
アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。なお、アプリ情報1000とは、一連の処理により実現されるサービスを利用するためのアプリケーションの情報である。換言すれば、サービス提供システム10が提供する各種サービスは、アプリ情報1000により提供される。
また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。なお、処理フロー情報1100とは、アプリ情報1000により提供されるサービスを実現する一連の処理が定義された情報である。
さらに、アプリ管理部111は、ポータルサービス部140からの要求に応じて、アプリ情報1000をアプリ情報記憶部150に記憶させる。これにより、サービスを提供するアプリ情報1000(アプリケーション)がサービス提供システム10に登録される。
ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、ロジック処理部112は、アプリ管理部111から取得した処理フロー情報1100に基づいて、当該アプリ情報1000が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、本実施形態に係るサービス提供システムは、「スキャン翻訳サービス」等の各種サービスを提供することができる。なお、ロジック処理部112の詳細については後述する。
Webサービス処理部120は、ユーザが機器20のブラウザ210を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部120は、ブラウザ210に対してWebアプリケーション(アプリ情報1000)を提供するアプリケーションサーバとして機能する。ここで、Webサービス処理部120は、画面構成部121と、アプリ実行部122とを有する。
画面構成部121は、ブラウザ210からの要求に応じて、アプリ画面情報記憶部160に記憶されているアプリ画面情報2000と、アプリ情報記憶部150に記憶されているアプリ情報1000に含まれるアプリ設定情報1200とを返信する。
なお、アプリ画面情報2000とは、アプリ情報1000により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報2000は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)等でアプリ画面の雛形が定義された情報である。
また、アプリ設定情報1200は、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。例えば、アプリ設定情報1200には、一連の処理の実行に用いられるパラメータ情報のうち、ユーザにより入力されるパラメータ情報、およびデフォルトで設定されるパラメータ情報等が定義されている。また、例えば、アプリ設定情報1200には、ユーザがアプリ画面においてパラメータ情報を入力するための入力項目、およびアプリ画面における表示情報(例えば、アプリケーション名)等が定義されている。アプリ設定情報1200は、例えば、JSON(JavaScript Object Notation)等でアプリケーションの各種設定が定義された情報である。
これにより、機器20には、ブラウザ210により、サービス提供システム10が提供するサービスを利用するためのアプリ画面が表示される。
アプリ実行部122は、ブラウザ210からの要求に応じて、入出力サービス処理部110に対して、アプリケーション(アプリ情報1000)の実行要求を送信する。
ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ここで、ドキュメントサービス部130は、OCR処理部131と、メール配信部132とを有する。
OCR処理部131は、電子ファイルに対してOCR処理を行う。メール配信部132は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。
なお、ドキュメントサービス部130には、これら以外にも、例えば、電子ファイルの圧縮または解凍するための圧縮・解凍処理部、電子ファイルのデータ形式を変換するためのデータ形式変換部等、種々の機能部が含まれていてもよい。
ポータルサービス部140は、ユーザがPC端末30のブラウザ310を用いてアプリケーションの登録等を行うための処理を行う。ここで、ポータルサービス部140は、UI提供部141と、アプリ登録部142とを有する。
UI提供部141は、ブラウザ310からの要求に応じて、ポータル画面情報記憶部170に記憶されているポータル画面情報3000を返信する。ここで、ポータルとは、ブラウザ310を用いて、アプリケーションの登録等を行うことができるWebサイトである。
なお、ポータル画面情報3000とは、ポータルのトップ画面(ポータルトップ画面)、およびアプリケーション登録画面等の各種画面が定義された情報である。ポータル画面情報3000は、例えば、HTML、XML(Extensible Markup Language)、CSS、JavaScript等のブラウザ210で各種画面が定義された情報である。
これにより、PC端末30には、ブラウザ310により、ポータルトップ画面およびアプリケーション登録画面等が表示される。したがって、PC端末30のユーザは、アプリケーション登録画面において、アプリケーション(アプリ情報1000)の登録操作を行うことができる。
アプリ登録部142は、UI提供部141からの要求に応じて、アプリケーション(アプリ情報1000)の登録をアプリ管理部111に要求する。すなわち、アプリ登録部142は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部111に要求する。
アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000を識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。なお、アプリIDは、例えば、アプリ情報1000のURL(Uniform Resource Locator)、またはアプリ情報1000のURLに含まれる識別情報等である。
ここで、アプリ情報1000には、処理フロー情報1100と、アプリ設定情報1200とが含まれる。例えば、スキャン翻訳サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理が定義された処理フロー情報1100と、当該アプリ情報1000の各種設定が定義されたアプリ設定情報1200とが含まれる。以降では、スキャン翻訳サービスを提供するアプリ情報1000を「スキャン翻訳アプリケーション」とも表す。
なお、アプリ情報1000には、2以上の処理フロー情報1100と、2以上のアプリ設定情報1200とが含まれていてもよい。
処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。
また、アプリ設定情報1200は、上述したように、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。なお、アプリ設定情報1200の詳細については後述する。
アプリ画面情報記憶部160は、アプリ画面情報2000を記憶する。アプリ画面情報2000は、アプリIDと関連付けてアプリ画面情報記憶部160に記憶されている。
ポータル画面情報記憶部170は、ポータル画面情報3000を記憶する。ポータル画面情報3000は、ポータルトップ画面やアプリケーション登録画面等のURLと関連付けてポータル画面情報記憶部170に記憶されている。
なお、入出力サービス処理部110、Webサービス処理部120、ドキュメントサービス部130、およびポータルサービス部140等は、それぞれが異なる情報処理装置により実現されていてもよい。
図5は、第1の実施形態に係るロジック処理部の機能構成の一例を示す図である。図5を参照しながら、ロジック処理部112の詳細な機能構成について説明する。
図5に示すロジック処理部112は、フロー実行部301と、コンポーネント管理部302と、コンポーネント群303と、型変換管理部304と、型変換群305とを有する。また、ロジック処理部112は、型変換情報テーブル4000を有する。
フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、当該実行要求に対応する処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、アプリ管理部111から取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。
ここで、処理フロー情報1100に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を実現する処理を実行するためのプログラムおよびモジュール等により実現され、例えばクラスまたは関数等で定義される。
コンポーネント管理部302は、コンポーネントを管理する。コンポーネント管理部302は、フロー実行部301からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部301に返信する。なお、コンポーネントの生成とは、例えばクラスまたは関数等で定義されたコンポーネントを、メモリ(例えばRAM12)上に展開することである。
コンポーネント群303は、コンポーネントの集合である。コンポーネント群303は、OCRコンポーネント1310と、翻訳コンポーネント1320と、メール配信コンポーネント1330とを含む。
OCRコンポーネント1310は、電子ファイル(画像ファイル)をOCR処理するためのコンポーネントである。OCRコンポーネント1310は、ドキュメントサービス部130のOCR処理部131にOCR処理を要求することにより、電子ファイルのOCR処理を行う。
翻訳コンポーネント1320は、テキストファイル等の電子ファイルにおいて、所定の言語で記載されている文書を他の言語に翻訳するためのコンポーネントである。メール配信コンポーネント1330は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。メール配信コンポーネント1330は、ドキュメントサービス部130のメール配信部132もメール配信処理を要求することにより、指定されたメールアドレス宛にメールを配信する。
このように、各コンポーネントは、所定の機能を実現する処理を実行する。なお、コンポーネント群303には、上記のコンポーネント以外にも、例えば、電子ファイルの暗号化および復号を行うための暗号化・復号コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント等の各種のコンポーネントが含まれる。
また、コンポーネント群303に含まれる各コンポーネントは、コンポーネント共通I/F1300を有する。コンポーネント共通I/F1300は、各コンポーネントに対して共通に定義されたAPI(Application Programming Interface)であり、コンポーネントを生成するためのAPIと、コンポーネントの処理を実行するためのAPIとが含まれる。
このように、各コンポーネントがコンポーネント共通I/F1300を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301およびコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。
型変換管理部304は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、例えば図6に示す型変換情報テーブル4000を参照して、型変換群305に含まれる型変換を生成する。
そして、型変換管理部304は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムまたはモジュール等により実現され、例えばクラスまたは関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ(例えばRAM12上)に展開することである。
なお、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、および電子ファイルの実体を示す「File」等が挙げられる。
図6は、型変換情報テーブルの一例を示す図である。図6を参照しながら、型変換情報テーブル4000について説明する。
図6に示す型変換情報テーブル4000は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報テーブル4000に格納されている型変換情報は、変換前のデータ型および変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。
型変換群305は、型変換の集合である。型変換群305は、データ型「InputStream」を「LocalFilePath」に変換するための第1の型変換1410を含む。なお、型変換群305には、これ以外にも、例えば、データ型「LocalFilePath」を「File」に変換するための第2の型変換等が含まれる。
また、型変換群305に含まれる各型変換は、型変換共通I/F1400を有する。型変換共通I/F1400は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換の型変換処理を実行するためのAPIとが含まれる。
このように、各型変換が型変換共通I/F1400を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部304等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、型変換の追加等に伴う開発工数を削減することができる。
図7は、処理フロー情報の一例を示す図である。図7を参照しながら、スキャン翻訳サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について説明する。
図7に示す処理フロー情報1100は、スキャン翻訳サービスを実現する一連の処理(処理フロー)が定義された情報である。
図7に示す処理フロー情報1100は、処理フロー情報1100を識別するフロー名1101と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1102とを含む。
フロー詳細1102は、処理フローに含まれる各処理をそれぞれ定義した詳細処理定義1110と、詳細処理定義1120と、詳細処理定義1130とを含む。詳細処理定義1110~1130は、詳細処理定義を識別する詳細処理名を示す「"detailName"」と、処理を実行するためのコンポーネントのコンポーネント名を示す「"component"」と、当該コンポーネントに対するパラメータ情報が定義される「"parameters"」とを含む。
具体的には、詳細処理定義1110の「"detailName"」には、「"detail0"」が定義されている。また、詳細処理定義1110の「"component"」には、OCRコンポーネント1310のコンポーネント名「"ocr"」が定義されている。さらに、詳細処理定義1110の「"parameters"」には、パラメータ名「"language"」のパラメータ情報等が定義されている。
パラメータ名「"language"」のパラメータ情報は、OCR処理の言語(例えば、「"Japanese"」や「"English"」等)をパラメータ値として設定するパラメータ情報である。
同様に、詳細処理定義1120の「"detailName"」には、「"detail1"」が定義されている。また、詳細処理定義1120の「"component"」には、翻訳コンポーネント1320のコンポーネント名「"translation"」が定義されている。さらに、詳細処理定義1110の「"parameters"」には、パラメータ名「"from"」のパラメータ情報、およびパラメータ名「"to"」のパラメータ情報等が定義されている。
パラメータ名「"from"」のパラメータ情報は、翻訳元の言語(例えば、「"English"」)をパラメータ値として設定するパラメータ情報である。また、パラメータ名「"to"」のパラメータ情報は、翻訳先の言語(例えば、「"Japanese"」)をパラメータ値として設定するパラメータ情報である。
また、同様に、詳細処理定義1130の「"detailName"」には、「"detai21"」が定義されている。また、詳細処理定義1130の「"component"」には、メール配信コンポーネント1330のコンポーネント名「"mail"」が定義されている。さらに、詳細処理定義1130の「"parameters"」には、パラメータ名「"address"」のパラメータ情報等が定義されている。
パラメータ名「"address"」のパラメータ情報は、メール送信先のメールアドレスをパラメータ値として設定するパラメータ情報である。
また、各詳細処理定義に定義された処理の実行順は、フロー詳細1102において、上から順に定義される。すなわち、図7に示す処理フロー情報1100に基づく一連の処理(処理フロー)では、詳細処理定義1110に定義された処理、詳細処理定義1120に定義された処理、詳細処理定義1130に定義された処理の順で実行される。なお、これに限られず、処理フロー情報1100には、例えば、各詳細処理定義に定義された処理の実行順を示す情報が定義されていてもよい。
なお、図7に示す例では、各パラメータ情報のパラメータ値は設定されていないが、これに限られず、デフォルトとなるパラメータ値が設定されていてもよい。
(情報処理システムの処理の詳細)
図8は、アプリケーションの登録処理の一例を示すシーケンス図である。図8を参照しながら、本実施形態に係る情報処理システム1の処理の詳細について説明する。まず、図8を参照しながら、PC端末30のユーザが、スキャン翻訳アプリケーションをサービス提供システム10に登録する処理について説明する。
まず、PC端末30のブラウザ310は、ポータルトップ画面を表示させるための操作
(ポータルトップ画面の表示操作)を受け付ける(ステップS801)。なお、PC端末30のユーザは、例えば、ポータルトップ画面のURLをブラウザ310のアドレスバーに入力することで、ポータルトップ画面の表示操作を行うことができる。
PC端末30のブラウザ310は、ポータルトップ画面の表示操作を受け付けると、ポータルトップ画面の表示要求を、ポータルサービス部140のUI提供部141に送信する(ステップS802)。
ポータルサービス部140のUI提供部141は、ポータルトップ画面の取得要求を受信すると、ポータルトップ画面のポータル画面情報をポータル画面情報記憶部170から取得する(ステップS803)。そして、UI提供部141は、ポータル画面情報記憶部170から取得したポータル画面情報をブラウザ310に返信する。
PC端末30のブラウザ310は、ポータルトップ画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば図9に示すポータルトップ画面G100を表示する(ステップS804)。
図9に示すポータルトップ画面G100は、ポータルのトップ画面であり、アプリケーションの登録を行うための「Application」ボタンG110を含む。以降では、ユーザが、図9に示すポータルトップ画面G100において、「Application」ボタンG110を選択する操作(アプリ登録の選択操作)を行ったものとする。
また、図9に示すポータルトップ画面G100は、処理フロー情報1100の作成等を行うための「Flow」ボタンG120と、コンポーネントの登録等を行うための「Component」ボタンG130と、を含む。このように、ポータルトップ画面G100では、アプリケーションの登録以外にも、処理フローの作成・実行、コンポーネントの登録・更新等を行うことができる。
PC端末30のブラウザ310は、ユーザにより行われたアプリ登録の選択操作を受け付ける(ステップS805)。
PC端末30のブラウザ310は、アプリ登録の選択操作を受け付けると、アプリケーション登録画面の表示要求を、ポータルサービス部140のUI提供部141に送信する(ステップS806)。
ポータルサービス部140のUI提供部141は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報をポータル画面情報記憶部170から取得する(ステップS807)。そして、UI提供部141は、ポータル画面情報記憶部170から取得したポータル画面情報をブラウザ310に返信する。
PC端末30のブラウザ310は、アプリケーション登録画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば図10に示すアプリケーション登録画面G200を表示する(ステップS808)。
ここで、以降では、図10~図14を参照しながら、ユーザがアプリケーションの登録操作を行う場合について説明する。
まず、図10に示すアプリケーション登録画面G200は、ユーザが登録するアプリケーションのタイプを選択するための画面である。
図10に示すアプリケーション登録画面G200は、プリントタイプのアプリケーションを登録するための「プリント」ボタンG210と、スキャンタイプのアプリケーションを登録するための「スキャン」ボタンG220と、を含む。なお、図10に示すアプリケーション登録画面G200には、例えば、FAXタイプのアプリケーションを登録するための「FAX」ボタン、メール受信タイプのアプリケーションを登録するための「メール受信」ボタン等が含まれていてもよい。
また、図10に示すアプリケーション登録画面G200は、次の画面に遷移するための「次へ」ボタンG240等を含む。
図10に示すアプリケーション登録画面G200では、ユーザが「プリント」ボタンG210または「スキャン」ボタンG220のいずれかを選択すると、それぞれプリントタイプの説明またはスキャンタイプの説明が説明欄G230に表示される。
なお、プリントタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等で印刷させるタイプのアプリケーションである。一方、スキャンタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。
また、例えば、FAXタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等でFAX送信させるタイプのアプリケーションである。さらに、メール受信タイプとは、画像形成装置等が受信したメールに添付されている電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。
以降では、ユーザが、図10に示すアプリケーション登録画面G200において、「スキャン」ボタンG220を選択した上で、「次へ」ボタンG240を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図11に示すアプリケーション登録画面G300を表示する。図11に示すアプリケーション登録画面G300は、ユーザがアプリケーションの基本情報を設定するための画面である。
図11に示すアプリケーション登録画面G300は、アプリケーションの名称を設定するための「アプリ名」入力設定欄G310と、アプリ画面の画面形式を選択するための「デザインテンプレート」選択欄G320と、を含む。また、図11に示すアプリケーション登録画面G300は、アプリケーションを利用する際の認証を選択するための「認証」選択欄G330と、アプリ画面の表示言語を選択するための「表示言語」選択欄G340と、を含む。さらに、図11に示すアプリケーション登録画面G300は、次の画面に遷移するための「次へ」ボタンG350等を含む。
「デザインテンプレート」選択欄G320では、例えば、アプリ画面が一画面で表示される「一画面形式」、アプリ画面を対話形式で表示する「ウィザード形式」等を選択することができる。また、「認証」選択欄G330では、認証を用いないことを示す「なし」、認証を用いることを示す「ユーザ認証」等を選択することができる。
以降では、ユーザが、図11に示すアプリケーション登録画面G300のように、アプリケーション名の入力または各種選択を行った上で、「次へ」ボタンG350を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図12に示すアプリケーション登録画面G400を表示する。
図12に示すアプリケーション登録画面G400は、ユーザがアプリケーションの詳細情報として、登録するアプリケーションに対して一連の処理(処理フロー)を設定するための画面である。
図12に示すアプリケーション登録画面G400は、アプリ情報記憶部150に記憶されている処理フロー情報1100のフロー名を検索するための検索欄G410と、フロー名を選択するためのフロー選択欄G420と、を含む。ユーザは、所望のフローの名称等を検索欄G410に入力した上で、フロー選択欄G420から所望のフロー名を選択することができる。
また、図12に示すアプリケーション登録画面G400は、フロー選択欄G420で選択されたフロー名の処理フロー情報1100に基づく一連の処理の概要を表示する概要表示欄G430と、次の画面に遷移するための「次へ」ボタンG440と、を含む。
さらに、図12に示すアプリケーション登録画面G400は、フロー選択欄G420で選択されたフロー名の処理フロー情報1100の編集および更新を行うための「更新」ボタンG421と、新規に処理フロー情報1100を作成するための「新規」ボタンG422と、を含む。ユーザは、「更新」ボタンG421を押下することで、フロー選択欄G420で選択したフロー名の処理フロー情報1100の編集および更新を行うことができる。また、ユーザは、「新規」ボタンG422を押下することで、処理フロー情報1100を作成した上で、作成した処理フロー情報1100のフロー名をフロー選択欄G420で選択することができる。
以降では、ユーザが、フロー名「translate-mail」をフロー選択欄G420で選択した上で、「次へ」ボタンG440を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図13に示すアプリケーション登録画面G500を表示する。
図13に示すアプリケーション登録画面G500は、ユーザがアプリケーションの詳細情報として、図12に示すアプリケーション登録画面G400で設定された一連の処理(処理フロー)のパラメータ情報を設定するための画面である。
図13に示すアプリケーション登録画面G500は、一連の処理に含まれる各処理を実行するコンポーネントを選択するための「コンポーネント」選択欄G510を含む。また、図13に示すアプリケーション登録画面G500は、「コンポーネント」選択欄G510で選択されたコンポーネントのパラメータ情報を設定するための「パラメータ情報」設定欄G520と、次の画面に遷移するための「次へ」ボタンG530と、を含む。
ユーザは、「コンポーネント」選択欄G510から所望のコンポーネントを選択した上で、「パラメータ情報」設定欄G520にてパラメータ情報の各種設定を行うことができる。例えば、ユーザが「コンポーネント」選択欄G510から翻訳コンポーネント1320を選択した場合、「パラメータ情報」設定欄G520では、翻訳コンポーネント1320が用いるパラメータ情報の各種設定を行うことができる。
具体的には、パラメータ情報の各種設定には、「select」、「displayname」、「name」、「type」、「default」、および「input type」等の設定項目がある。設定項目「name」には、パラメータ情報のパラメータ名が設定される。設定項目「type」には、パラメータ値として設定することができるデータ形式が設定される。設定項目「defalt」には、デフォルトとして設定されるパラメータ値が設定される。
また、設定項目「select」には、パラメータ情報のパラメータ値をユーザ(サービスの利用者)に入力させるか否かが設定される。設定項目「select」にチェックが入れられたパラメータ情報は、アプリ画面においてユーザ(サービスの利用者)がパラメータ値を入力することができる。一方で、設定項目「select」にチェックが入れられていないパラメータ情報は、アプリ画面においてユーザがパラメータ値を入力することができず、設定項目「default」に設定されたパラメータ値が用いられる。
また、設定項目「input type」には、設定項目「select」にチェックが入れられたパラメータ情報について、アプリ画面における入力方法が設定される。設定項目「iput type」では、例えば、パラメータ値の一覧から所望のパラメータ値を選択する入力方法「list-radio-button」、パラメータ値を直接入力する入力方法「text」等を設定することができる。なお、設定項目「input type」には、これら以外にも、例えば、画面上の座標を入力する入力方法、所望のフォルダやファイルを選択するための入力方法等を選択することができてもよい。
さらに、設定項目「displayname」には、アプリ画面に表示される入力項目(パラメータ値を入力させるための項目)の表示名が設定される。設定項目「displayname」には、図11に示すアプリケーション登録画面G300の「表示言語」選択欄G340で選択した言語の表示名を設定することができる。すなわち、例えば、「表示言語」選択欄G340で「Japanese」および「English」が選択された場合、設定項目「displayname」には、例えば、日本語の表示名「翻訳元」と、英語の表示名「Source Language」とを設定することができる。
これにより、ユーザは、各コンポーネントが用いるパラメータ情報について、パラメータ情報のパラメータ値をサービスの利用者に入力させるか否か、その入力方法等を設定することができる。
以降では、ユーザが、各コンポーネントが用いるパラメータ情報を設定した上で、「次へ」ボタンG530を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図14に示すアプリケーション登録画面G600を表示する。
図14に示すアプリケーション登録画面G600は、図10~図13で設定された各種情報(アプリ設定情報)をユーザが確認するための画面である。
図14に示すアプリケーション登録画面G600は、「アプリ設定情報」表示欄G610と、「登録」ボタンG620と、を含む。ユーザは、「アプリ設定情報」表示欄G610において、図10~図13で設定した各種情報を確認することができる。
ここで、ユーザは、「アプリ設定情報」表示欄G610でアプリ設定情報を確認した上で、「登録」ボタンG620を押下する操作(アプリケーションの登録操作)を行ったものとする。すると、ブラウザ310は、アプリケーションの登録操作を受け付ける(ステップS809)。
ブラウザ310は、アプリケーションの登録操作を受け付けると、例えば図15に示すアプリ設定情報1200を作成する(ステップS810)。
図15は、アプリ設定情報の一例を示す図である。図15を参照しながら、アプリ設定情報1200について説明する。
図15に示すアプリ設定情報1200は、アプリタイプ1201、アプリ名1202、アプリ表示名1203、認証タイプ1204、およびフロー名1205を含む。また、図15に示すアプリ設定情報1200は、デザインテンプレートタイプ1206、デフォルトパラメータ1207、およびユーザ入力パラメータ1208等を含む。
アプリタイプ1201は、図10に示すアプリケーション登録画面G200で選択されたアプリケーションのタイプである。図15に示す例では、アプリケーションのタイプがスキャンタイプであることを示す「"app_type":"scan"」が定義されている。
アプリ名1202は、図11に示すアプリケーション登録画面G300の「アプリ名」入力設定欄G310に入力されたアプリ名である。図15に示す例では、アプリ名が「スキャン翻訳アプリケーション」であることを示す「"appName":"スキャン翻訳アプリケーション"」が定義されている。
アプリ表示名1203は、アプリ画面に表示されるアプリケーション名称(タイトル)である。図10に示す例では、日本語では「スキャン翻訳」、英語では「Translation App」と表示されることが定義される。
認証タイプ1204は、図11に示すアプリケーション登録画面G300の「認証」選択欄G330で選択された認証である。図15に示す例では、認証しないことを示す「"loginType":"none"」が定義されている。
フロー名1205は、図12に示すアプリケーション登録画面G400のフロー選択欄G420で選択されたフロー名である。図15に示す例では、フロー名が「"translate-mail"」であることを示す「"flowName":"translate-mail"」が定義されている。
デザインテンプレートタイプ1206は、図11に示すアプリケーション登録画面G300の「デザインテンプレート」選択欄G320で選択された表示形式である。図15に示す例では、一画面形式でアプリ画面を表示することを示す「"viewTemplate":"一画面形式"」が定義されている。
デフォルトパラメータ1207は、アプリ画面においてユーザがパラメータ値を入力しないパラメータ情報が定義されている。すなわち、デフォルトパラメータ1207には、図13に示すアプリケーション登録画面G500の「パラメータ情報」設定欄G520において、設定項目「select」のチェックを入れなかったパラメータ情報が定義される。図15に示す例では、詳細処理名「detail0」(すなわち、図7における詳細処理定義1110)に定義されたパラメータ名「"language"」のパラメータ情報は、デフォルトのパラメータ値として、「"English"」が設定されることが定義されている。
このように、デフォルトパラメータ1207には、デフォルトでパラメータ値が設定されるパラメータ情報が定義されている。換言すれば、デフォルトパラメータ1207には、ユーザがパラメータ値を設定しないパラメータ情報が定義されている。
ユーザ入力パラメータ1208は、アプリ画面においてユーザによりパラメータ値が入力されるパラメータ情報が定義されている。すなわち、ユーザ入力パラメータ1208には、図13に示すアプリケーション登録画面G500の「パラメータ情報」設定欄G520において、設定項目「select」のチェックを入れたパラメータ情報が定義される。
図15に示す例では、詳細処理名「detail1」(すなわち、図7における詳細処理定義1120)に定義されたパラメータ名「"from"」のパラメータ値がユーザに入力されることを示す入力定義1218が定義されている。同様に、詳細処理名「detail1」(すなわち、図7における詳細処理定義1120)に定義されたパラメータ名「"to"」のパラメータ値がユーザに入力されることを示す入力定義1228が定義されている。また、同様に、詳細処理名「detail2」(すなわち、図7における詳細処理定義1130)に定義されたパラメータ名「"address"」のパラメータ値がユーザに入力されることを示す入力定義1238が定義されている。
このように、ユーザ入力パラメータ1208には、アプリ画面においてユーザがパラメータ値を入力するパラメータ情報が定義されている。
以上のように、アプリ設定情報1200には、アプリ画面に表示される表示情報(例えば、タイトル)、アプリ画面の入力項目(パラメータ値を入力または選択する項目)、および当該入力項目における入力方法等が定義されている。また、アプリ設定情報1200には、パラメータ値がデフォルトで設定されるパラメータ情報(すなわち、アプリ画面でパラメータ値が入力または選択されないパラメータ情報)等が定義されている。
ブラウザ310は、アプリ設定情報1200を作成すると、アプリケーションの登録要求を、ポータルサービス部140のアプリ登録部142に送信する(ステップS811)。なお、アプリケーションの登録要求には、ステップS810で作成されたアプリ設定情報1200が含まれる。
ポータルサービス部140のアプリ登録部142は、アプリケーションの登録要求を受信すると、当該登録要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS812)。
入出力サービス処理部110のアプリ管理部111は、アプリケーションの登録要求を受信すると、アプリケーションを登録する(ステップS813)。そして、アプリ管理部111は、登録結果をブラウザ310に返信する。
すなわち、アプリ管理部111は、アプリケーションの登録要求に含まれるアプリ設定情報1200をアプリIDと関連付けてアプリ情報記憶部150に記憶する。これにより、当該アプリ設定情報1200と、当該アプリ設定情報1200のフロー名1205に定義されたフロー名の処理フロー情報1100とを含むアプリ情報1000がサービス提供システム10に登録される。
以上により、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、サービス提供システム10にアプリケーションを登録することができる。しかも、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、例えば、フロー名や各コンポーネントのパラメータ情報等を設定することで、容易にアプリケーション(アプリ情報1000)を登録することができる。
したがって、本実施形態に係る情報処理システム1によれば、例えば、プログラミング言語等の専門的な知識や経験を有しないユーザ(例えば、企画担当者等)であっても、各種サービスを提供するアプリケーション(アプリ情報1000)を登録することができる。
図16は、スキャン翻訳サービスを利用する場合の全体処理の一例を示すシーケンス図である。図16を参照しながら、機器20のユーザがスキャン翻訳サービスを利用する場合について説明する。
まず、機器20のブラウザ210は、スキャン翻訳サービスのアプリ画面を表示させるための操作(表示操作)を受け付ける(ステップS1601)。機器20のユーザは、例えば、スキャン翻訳サービスのアプリ画面のURLをブラウザ310のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
機器20のブラウザ210は、スキャン翻訳サービスのアプリ画面の表示操作を受け付けると、スキャン翻訳サービスのアプリ画面の表示要求を、Webサービス処理部120の画面構成部121に送信する(ステップS1602)。スキャン翻訳サービスのアプリ画面の表示要求には、スキャン翻訳サービスを提供するアプリ情報1000のアプリIDが含まれる。
Webサービス処理部120の画面構成部121は、スキャン翻訳サービスのアプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS1603)。アプリ設定の取得要求には、スキャン翻訳サービスを提供するアプリ情報1000のアプリIDが含まれる。
入出力サービス処理部110のアプリ管理部111は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて記憶されているアプリ設定情報1200をアプリ情報記憶部150から取得する(ステップS1604)。そして、アプリ管理部111は、アプリ情報記憶部150から取得したアプリ設定情報1200を画面構成部121に返信する。
次に、Webサービス処理部120の画面構成部121は、スキャン翻訳サービスを提供するアプリ情報1000のアプリIDと関連付けて記憶されているアプリ画面情報2000をアプリ画面情報記憶部160から取得する(ステップS1605)。そして、画面構成部121は、アプリ画面情報記憶部160から取得したアプリ画面情報2000と、上記のステップS1604で返信されたアプリ設定情報1200とをブラウザ210に返信する。
機器20のブラウザ210は、画面構成部121から受信したアプリ画面情報2000とアプリ設定情報1200とに基づいて、例えば図17に示すアプリ画面G700を表示する(ステップS1606)。ここで、図17に示すアプリ画面G700は、機器20のユーザがスキャン翻訳サービスを利用するための画面である。
図17に示すアプリ画面G700は、アプリ名G710と、パラメータ入力エリアG720と、「スタート」ボタンG730と、を含む。また、パラメータ入力エリアG720は、翻訳元言語入力欄G721と、翻訳先言語入力欄G722と、メール送信先入力欄G723と、を含む。
アプリ名G710は、図15に示すアプリ設定情報1200のアプリ表示名1203に基づいて表示される。また、アプリ表示名1203に複数の言語のアプリケーション名称(タイトル)が定義されている場合、ブラウザ210の言語設定に対応する言語のアプリケーション名称がアプリ名G710に表示される。
また、翻訳元言語入力欄G721、翻訳先言語入力欄G722、およびメール送信先入力欄G723は、図15に示すアプリ設定情報1200のユーザ入力パラメータ1208に基づいて表示される。
すなわち、翻訳元言語入力欄G721は、ユーザ入力パラメータ1208の入力定義1218に基づいて表示される。同様に、翻訳先言語入力欄G722は、ユーザ入力パラメータ1208の入力定義1228に基づいて表示される。また、同様に、メール送信先入力欄G723は、ユーザ入力パラメータ1208の入力定義1238に基づいて表示される。
このように、機器20のユーザがサービスを利用するためのアプリ画面には、アプリ設定情報1200に定義されている情報に基づいて、アプリ名およびパラメータ入力エリアが表示される。
ここで、図17に示すアプリ画面G700において、ユーザは、翻訳元言語入力欄G721に「English」、翻訳先言語入力欄G722に「Japanese」、およびメール送信先入力欄G723に「abc@abc.co.jp」を入力したものとする。そして、図17に示すアプリ画面G700において、ユーザは、「スタート」ボタンG730を押下する操作(実行操作)を行ったものとする。
すると、機器20のブラウザ210は、実行操作を受け付ける(ステップS1607)。そして、機器20のブラウザ210は、スキャナ26を制御して、原稿を読み取ることで、電子ファイル(画像ファイル)を生成する(ステップS1608)。
機器20のブラウザ210は、電子ファイル(画像ファイル)が生成されると、アプリケーションの実行要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS1609)。アプリケーションの実行要求には、アプリ設定情報1200のフロー名1205に定義されたフロー名「translate-mail」と、上記のステップS1608で生成された電子ファイルと、パラメータ設定情報とが含まれる。
ここで、パラメータ設定情報とは、アプリ設定情報1200のデフォルトパラメータ1207に定義されているパラメータ情報、およびユーザによりアプリ画面G700でパラメータ値が設定されたパラメータ情報である。
具体的には、デフォルトパラメータ1207に定義されているパラメータ情報は、「"language":"English"」である。また、ユーザによりアプリ画面G700でパラメータ値が設定されたパラメータ情報は、「"from":"English"」、「"to":"Japanese"」、および「"address":"abc@abc.co.jp"」である。
Webサービス処理部120のアプリ実行部122は、アプリケーションの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS1610)。
次に、入出力サービス処理部110のロジック処理部112は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う(ステップS1611)。すなわち、ロジック処理部112は、当該要求に含まれるフロー名の処理フロー情報1100に基づく一連の処理を実行する。なお、処理フローの実行処理の詳細については後述する。
そして、ロジック処理部112は、処理フローの実行処理の処理結果を、Webサービス処理部120を介して、ブラウザ210に返信する。これにより、本実施形態に係るサービス提供システム10は、スキャン翻訳サービスを提供することができる。
図18は、スキャン翻訳サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。図18を参照しながら、処理フローの実行処理(図16のステップS1611の処理)の詳細について説明する。
まず、フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、処理フローの取得要求をアプリ管理部111に送信する(ステップS1801)。当該取得要求には、フロー名「translate-mail」が含まれる。
アプリ管理部111は、処理フローの取得要求を受信すると、当該取得要求に含まれるフロー名「translate-mail」の処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1802)。そして、アプリ管理部111は、アプリ情報記憶部150から取得した処理フロー情報1100をフロー実行部301に返信する。
ここで、以降では、アプリ管理部111は、図7に示す処理フロー情報1100をフロー実行部301に返信したものとして説明する。
次に、フロー実行部301は、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1803)。
すなわち、フロー実行部301は、図7に示す処理フロー情報1100の詳細処理定義1110に含まれる「"component"」に定義されているコンポーネント名「"ocr"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"ocr"」のコンポーネント(すなわち、OCRコンポーネント1310)を生成する(ステップS1804)。なお、OCRコンポーネント1310の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したOCRコンポーネント1310をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント1310が展開されたメモリ(例えばRAM12)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント1310に送信する(ステップS1805)。当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、データは、データ型「InputStream」として、ブラウザ210から受信した電子ファイルである。すなわち、フロー実行部301は、ブラウザ210から受信した電子ファイルを、単に「データ」として(データ型を意識することなく)、OCRコンポーネント1310に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない電子ファイル等の各種の情報を、単に「データ」と表す。
また、パラメータ情報は、図7に示す処理フロー情報1100の詳細処理定義1110に含まれる「"parameters"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"language":"English"」等である。
OCRコンポーネント1310は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部304に送信する(ステップS1806)。当該型変換要求には、データと、OCRコンポーネント1310が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1807)。
ここで、型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
すると、型変換管理部304は、型変換情報テーブル4000を参照して、データ型「InputStream」を「LocalFilePath」に変換するための型変換を特定する(ここでは、第1の型変換1410が特定される。)。そして、型変換管理部304は、特定した第1の型変換1410を生成する(ステップS1808)。第1の型変換1410の生成は、型変換共通I/F1400を用いて行うことができる。
次に、型変換管理部304は、型変換処理の実行要求を第1の型変換1410に送信する(ステップS1809)。当該実行要求には、データが含まれる。
第1の型変換1410は、型変換の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する型変換処理を行う(ステップS1810)。そして、第1の型変換1410は、データ型が変換されたデータを型変換管理部304に返信する。
そして、型変換管理部304は、第1の型変換1410からデータを受信すると、当該データをOCRコンポーネント1310に送信する(ステップS1811)。
OCRコンポーネント1310は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS1812)。
すなわち、OCRコンポーネント1310は、OCR処理部131により、パラメータ情報「"language":"English"」を用いて、データにより示される電子ファイルに対して、英語でOCR処理を行う。
そして、OCRコンポーネント1310は、OCR処理後の電子ファイル(すなわち、テキストファイル)を示すデータをフロー実行部301に返信する。
次に、フロー実行部301は、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1813)。
すなわち、フロー実行部301は、図7に示す処理フロー情報1100の詳細処理定義1120に含まれる「"component"」に定義されているコンポーネント名「"translation"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"translation"」のコンポーネント(すなわち、翻訳コンポーネント1320)を生成する(ステップS1814)。翻訳コンポーネント1320の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成した翻訳コンポーネント1320をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、翻訳コンポーネント1320が展開されたメモリ(例えばRAM12)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求を翻訳コンポーネント1320に送信する(ステップS1815)。当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、データは、OCRコンポーネント1310から返信されたデータ(すなわち、OCR処理後の電子ファイルを示すパス)である。
また、パラメータ情報は、図7に示す処理フロー情報1100の詳細処理定義1120に含まれる「"parameters"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"from":"English"」、および「"to":"Japanese"」等である。
翻訳コンポーネント1320は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部304に送信する(ステップS1816)。当該型変換要求には、データと、翻訳コンポーネント1320が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1817)。
ここで、型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
すると、型変換管理部304は、型変換要求に含まれるデータを翻訳コンポーネント1320に送信する(ステップS1818)。このように、データ型のチェック(ステップS1817の処理)において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部304は、型変換の生成を行わない。
翻訳コンポーネント1320は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS1819)。すなわち、翻訳コンポーネント1320は、パラメータ情報「"from":"English"」および「"to":"Japanese"」を用いて、データにより示される電子ファイルを英語から日本語に翻訳する処理を行う。
そして、翻訳コンポーネント1320は、翻訳処理後の電子ファイルを示すデータをフロー実行部301に返信する。
なお、翻訳コンポーネント1320は、例えば、サービス提供システム10とネットワークを介して接続される翻訳サーバ等に翻訳処理を要求することにより、電子ファイルの翻訳を行ってもよい。
次に、フロー実行部301は、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1820)。
すなわち、フロー実行部301は、図7に示す処理フロー情報1100の詳細処理定義1130に含まれる「"component"」に定義されているコンポーネント名「"mail"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"mail"」のコンポーネント(すなわち、メール配信コンポーネント1330)を生成する(ステップS1821)。なお、メール配信コンポーネント1330の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したメール配信コンポーネント1330をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、メール配信コンポーネント1330が展開されたメモリ(例えばRAM12)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をメール配信コンポーネント1330に送信する(ステップS1822)。当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、データは、翻訳コンポーネント1320から返信されたデータ(すなわち、翻訳後の電子ファイルを示すパス)である。
また、パラメータ情報は、図7に示す処理フロー情報1100の詳細処理定義1130に含まれる「"parameters"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"address":"abc@abc.co.jp"」等である。
メール配信コンポーネント1330は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部304に送信する(ステップS1823)。当該型変換要求には、データと、メール配信コンポーネント1330が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1824)。
ここで、型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
すると、型変換管理部304は、型変換要求に含まれるデータをメール配信コンポーネント1330に送信する(ステップS1825)。このように、データ型のチェック(ステップS1824の処理)において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部304は、型変換の生成を行わない。
メール配信コンポーネント1330は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS1826)。
すなわち、メール配信コンポーネント1330は、メール配信部132により、データにより示される電子ファイルを添付したメールを作成する。次に、メール配信コンポーネント1330は、パラメータ情報「"address":"abc@abc.co.jp"」を用いて、メール配信部132により、当該メールを「abc@abc.co.jp」宛に送信する。
そして、メール配信コンポーネント1330は、メールの送信結果を示すデータをフロー実行部301に返信する。
以上により、図7に示す処理フロー情報1100に基づく一連の処理(処理フロー)の実行が完了する。これにより、本実施形態に係るサービス提供システム10は、機器20に対して、スキャン翻訳サービスを提供することができる。
以上のように、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、各種サービスを提供するアプリ情報1000をサービス提供システム10に登録することができる。しかも、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、フロー名を選択した上で、必要なパラメータ情報等を設定することで、容易にアプリ情報1000を登録することができる。
したがって、本実施形態に係る情報処理システム1では、例えば、プログラミング言語等の専門的な知識および経験を有しないユーザであっても、容易にアプリケーション(アプリ情報1000)の作成・登録を行うことができる。
また、本実施形態に係る情報処理システム1では、ユーザが機器20を用いて、サービス提供システム10に登録されたアプリケーションにより提供される各種サービスを利用することができる。
[第2の実施形態]
第2の実施形態に係る情報処理システムについて、第1の実施形態に係る情報処理システム1と相違する点を中心に説明する。第1の実施形態では、スキャン翻訳アプリケーションの登録および実行の処理について説明した。本実施形態では、ユーザが所望するドキュメントを取得して印刷するアプリケーションについての処理フローの設定および当該アプリケーションの動作について説明する。
なお、本実施形態に係る情報処理システムを「情報処理システム1a」と称するものとし、情報処理システム1aは、後述する図19に示すように、サービス提供システム10aと、機器20と、PC端末30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。また、本実施形態に係るサービス提供システム10aのハードウェア構成は、上述の第1の実施形態のサービス提供システム10のハードウェア構成と同様である。また、本実施形態に係る機器20およびPC端末30のハードウェア構成も、上述の第1の実施形態と同様である。
(サービス提供システムが提供するサービス)
ここで、本実施形態に係るサービス提供システム10aが提供するサービスについて説明する。なお、以降では、機器20がMFPであるものとして説明する。
本実施形態では、サービス提供システム10aによりユーザが所望するドキュメント(ファイル)を取得した上で、当該ドキュメントの印刷処理を行うサービスを「取得ドキュメント印刷サービス」と称するものとする。そして、本実施形態では、サービス提供システム10aが取得ドキュメント印刷サービスを提供する場合について説明する。
ここで、サービス提供システム10aが取得ドキュメント印刷サービスを提供するには、機器20が取得ドキュメント印刷サービスを利用するためのアプリケーション(アプリ情報1000)の処理フローの設定および当該アプリケーションの登録をサービス提供システム10aにて行う必要がある。
したがって、本実施形態では、取得ドキュメント印刷サービスを利用するためのアプリケーションの処理フローの設定および当該アプリケーションの登録をPC端末30が行う場合と、当該アプリケーションを用いて取得ドキュメント印刷サービスを機器20が利用する場合とについて説明する。
(情報処理システムの機能構成)
図19は、第2の実施形態に係る情報処理システムの機能構成の一例を示す図である。図19を参照しながら、本実施形態に係る情報処理システム1aの機能構成について、上述の第1の実施形態に係る情報処理システム1の機能構成と相違する点を中心に説明する。
図19に示すPC端末30(情報処理装置の一例)は、例えばCPU11等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を用いて、「取得ドキュメント印刷サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム10aに登録することができる。
図19に示す機器20(電子機器の一例)は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を用いて、「取得ドキュメント印刷サービス」等の各種サービスを利用することができる。すなわち、機器20は、ブラウザ210を有していればよく、例えば、サービス提供システム10aが提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
図19に示すサービス提供システム10aは、入出力サービス処理部110aと、Webサービス処理部120と、ドキュメントサービス部130aと、ポータルサービス部140aとを有する。これら各機能部は、サービス提供システム10aにインストールされた1以上のプログラムが、CPU11に実行させる処理により実現される。なお、Webサービス処理部120の構成および機能は、第1の実施形態と同様である。
また、サービス提供システム10aは、アプリ情報記憶部150(アプリ記憶手段)と、アプリ画面情報記憶部160(利用画面記憶手段)と、ポータル画面情報記憶部170とを有する。これら各記憶部は、補助記憶装置14を用いて実現可能である。なお、アプリ情報記憶部150、アプリ画面情報記憶部160およびポータル画面情報記憶部170の構成および機能は、第1の実施形態と同様である。
入出力サービス処理部110aは、サービス提供システム10aが提供するサービスに関する処理を行う。ここで、入出力サービス処理部110aは、アプリ管理部111と、ロジック処理部112と、フロー管理部113とを有する。
アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。
ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100(設定情報の一例)をフロー管理部113から取得する。そして、ロジック処理部112は、フロー管理部113から取得した処理フロー情報1100に基づいて、当該アプリ情報1000が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、本実施形態に係るサービス提供システム10aは、「取得ドキュメント印刷サービス」等の各種サービスを提供することができる。
なお、ロジック処理部112の機能構成は、第1の実施形態で説明した構成に準じるが、例えば、OCRコンポーネント1310等と同様に、コンポーネント群303には、取得部133に取得処理の要求をするためのコンポーネントが含まれる。
フロー管理部113は、アプリ情報記憶部150に記憶されている処理フロー情報1100を管理する。また、フロー管理部113は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。
ドキュメントサービス部130aは、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ここで、ドキュメントサービス部130aは、OCR処理部131と、メール配信部132と、取得部133(取得手段)と、を有する。
OCR処理部131は、電子ファイルに対してOCR処理を行う。メール配信部132は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。取得部133は、ロジック処理部112の指令に従って、外部データソースからドキュメント(ファイル)(電子データの一例)を取得する。例えば、取得部133は、外部データソースからドキュメントを取得するために、図19に示すように、外部の顧客情報記憶部180およびドキュメント記憶部190を参照する。
顧客情報記憶部180は、顧客情報1810と、案件名情報1820と、を記憶する。顧客情報1810は、ユーザ(情報処理システム1aにログインするユーザ)と、当該ユーザが担当する顧客とを関連付けた情報である。案件名情報1820は、顧客と、当該顧客に属する案件の案件名とを関連付けた情報である。
ドキュメント記憶部190は、印刷対象となる各種ドキュメント(ファイル)を記憶する。なお、記憶されているドキュメントは、当該ドキュメントが属する案件の案件名と関連付けて記憶されているものとしてもよい。
ポータルサービス部140aは、ユーザがPC端末30のブラウザ310を用いて処理フローの設定(登録)およびアプリケーションの登録等を行うための処理を行う。ここで、ポータルサービス部140aは、UI提供部141と、アプリ登録部142と、フロー登録部143(登録手段)と、を有する。
UI提供部141は、ブラウザ310からの要求に応じて、ポータル画面情報記憶部170に記憶されているポータル画面情報3000を返信する。
これにより、PC端末30には、ブラウザ310により、ポータルトップ画面、処理フロー登録画面およびアプリケーション登録画面等が表示される。したがって、PC端末30のユーザは、処理フロー登録画面において、処理フロー(処理フロー情報1100)の登録操作、および、アプリケーション登録画面において、アプリケーション(アプリ情報1000)の登録操作を行うことができる。
アプリ登録部142は、UI提供部141からの要求に応じて、アプリケーション(アプリ情報1000)の登録をアプリ管理部111に要求する。すなわち、アプリ登録部142は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部111に要求する。
フロー登録部143は、UI提供部141からの要求に応じて、処理フロー(処理フロー情報1100)の登録をフロー管理部113に要求する。すなわち、フロー登録部143は、処理フロー登録画面において、処理フローの登録操作が行われると、処理フローの登録をフロー管理部113に要求する。
以降では、取得ドキュメント印刷サービスを提供するアプリ情報1000を「取得ドキュメント印刷アプリケーション」とも表す。
なお、入出力サービス処理部110a、Webサービス処理部120、ドキュメントサービス部130a、およびポータルサービス部140a等は、それぞれが異なる情報処理装置により実現されていてもよい。
また、取得ドキュメント印刷サービスを提供するアプリ情報1000に含まれる処理フロー情報1100の構成は、上述の図7に示した処理フロー情報1100の構成に準じたものとなる。例えば、処理フローに含まれる各処理内容が定義されたフロー詳細1102には、ドキュメントの取得処理の詳細を定義した詳細処理定義と、印刷処理の詳細を定義した詳細処理定義とが含まれる。これらの詳細処理定義は、上述したように、詳細処理定義を識別する詳細処理名を示す「"detailName"」と、処理を実行するためのコンポーネントのコンポーネント名を示す「"component"」と、当該コンポーネントに対するパラメータ情報が定義される「"parameters"」とを含む。
(情報処理システムの処理の詳細)
図20は、処理フローの登録処理の一例を示すシーケンス図である。図20を参照しながら、本実施形態に係る情報処理システム1aの処理の詳細について説明する。まず、図20を参照しながら、PC端末30のユーザが、取得ドキュメントアプリケーションに適用される処理フローを登録する処理について説明する。
まず、PC端末30のブラウザ310は、ポータルトップ画面を表示させるための操作
(ポータルトップ画面の表示操作)を受け付ける(ステップS901)。なお、PC端末30のユーザは、例えば、ポータルトップ画面のURLをブラウザ310のアドレスバーに入力することで、ポータルトップ画面の表示操作を行うことができる。
PC端末30のブラウザ310は、ポータルトップ画面の表示操作を受け付けると、ポータルトップ画面の表示要求を、ポータルサービス部140aのUI提供部141に送信する(ステップS902)。
ポータルサービス部140aのUI提供部141は、ポータルトップ画面の取得要求を受信すると、ポータルトップ画面のポータル画面情報をポータル画面情報記憶部170から取得する(ステップS903)。そして、UI提供部141は、ポータル画面情報記憶部170から取得したポータル画面情報をブラウザ310に返信する。
PC端末30のブラウザ310は、ポータルトップ画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば上述した図9に示すポータルトップ画面G100を表示する(ステップS904)。
図9に示すポータルトップ画面G100は、ポータルのトップ画面であり、上述したように、アプリケーションの登録を行うための「Application」ボタンG110と、処理フロー情報1100の作成等を行うための「Flow」ボタンG120と、コンポーネントの登録等を行うための「Component」ボタンG130と、を含む。以降では、ユーザが、図9に示すポータルトップ画面G100において、「Flow」ボタンG120を選択する操作(処理フロー登録の選択操作)を行ったものとする。
PC端末30のブラウザ310は、ユーザにより行われた処理フロー登録の選択操作を受け付ける(ステップS905)。
PC端末30のブラウザ310は、処理フロー登録の選択操作を受け付けると、処理フロー登録画面の表示要求を、ポータルサービス部140aのUI提供部141に送信する(ステップS906)。
ポータルサービス部140aのUI提供部141は、処理フロー登録画面の表示要求を受信すると、処理フロー登録画面のポータル画面情報をポータル画面情報記憶部170から取得する(ステップS907)。そして、UI提供部141は、ポータル画面情報記憶部170から取得したポータル画面情報をブラウザ310に返信する。
PC端末30のブラウザ310は、処理フロー登録画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば図21に示す処理フロー登録画面G1000を表示する(ステップS908)。
ここで、以降では、図21~図32を参照しながら、ユーザが処理フローの設定操作(ステップS909)を行う場合について説明する。
まず、図21に示す処理フロー登録画面G1000は、ユーザが登録するアプリケーションのタイプを選択するための画面である。
図21に示す処理フロー登録画面G1000は、既に登録された処理フローの一覧を示す処理フロー一覧G1001と、新たに処理フローを作成(登録)するための「追加」ボタンG1002と、を含む。
以降では、ユーザが、図21に示す処理フロー登録画面G1000において、「追加」ボタンG1002を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図22に示す処理フロー基本設定画面G1100を表示する。図22に示す処理フロー基本設定画面G1100は、ユーザが処理フローの基本情報を設定するための画面である。
図22に示す処理フロー情報1100は、処理フローの名称を設定するための「処理フロー名」入力設定欄G1101と、処理フローの説明を設定するための「説明」入力設定欄G1102と、を含む。さらに、図22に示す処理フロー基本設定画面G1100は、入力した各種設定の内容をキャンセルするための「キャンセル」ボタンG1103と、次の画面に遷移するための「次へ」ボタンG1104と、を含む。
以降では、ユーザが、図22に示す処理フロー基本設定画面G1100のように、処理フロー名の入力操作を行った上で、「次へ」ボタンG1104を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図23に示すアプリ設定情報1200を表示する。
図23に示す処理フロー詳細設定画面G1200は、ユーザが処理フローの詳細設定として、登録する処理フローの具体的な設定をするための画面である。
図23に示す処理フロー詳細設定画面G1200は、新たな処理フローを設定するための「処理フロー設定」ボタンG1201を含む。
以降では、ユーザが、「処理フロー設定」ボタンG1201を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図24に示す処理フロー設定画面G1300を表示する。
図24に示す処理フロー設定画面G1300は、登録する処理フローの具体的な構成および各処理の設定をするための画面である。
図24に示す処理フロー設定画面G1300は、処理フローに含める各種コンポーネントの一覧であるコンポーネント一覧G1301と、処理フローに含められたコンポーネントの構成を示すコンポーネント構成部G1302と、コンポーネント構成部G1302に構成された内容で処理フローの構成を設定するための「フロー登録」ボタンG1303と、を含む。また、処理フロー設定画面G1300では、登録する処理フローの名称を設定することができ、図24に示す例では「get-print」と設定している。
図24に示す例では、外部データソースからドキュメントを取得するためのコンポーネントである「getDataSource」が、コンポーネント一覧G1301からコンポーネント構成部G1302へ設定された例を示している。例えば、ユーザがコンポーネント一覧G1301に一覧表示されたコンポーネントのうちいずれかのコンポ―ネットをダブルクリック操作を行うことによって、当該コンポーネントがコンポーネント構成部G1302へ設定されるものとすればよい。
以降では、ユーザが、図24に示す処理フロー設定画面G1300のように「getDataSource」がコンポーネント構成部G1302へ設定された状態で、「フロー登録」ボタンG1303を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図25に示す処理フロー詳細設定画面G1400を表示する。
図25に示す処理フロー詳細設定画面G1400は、処理フロー設定画面G1300において処理フローに含まれるように設定されたコンポーネントを示すコンポーネントアイコンG1401等を含む。
以降では、ユーザが、コンポーネントアイコンG1401の選択操作(クリック操作またはダブルクリック操作等)を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図26に示すパラメータ設定画面G1500を表示する。
図26に示すパラメータ設定画面G1500は、処理フローに含まれるコンポーネントの具体的なパラメータを設定するための画面である。
図26に示すパラメータ設定画面G1500は、外部データソースからドキュメントを選択するために設定された入力項目の入力設定一覧G1501を含む。図26に示す例では、外部データソースからドキュメントを選択するために設定された入力項目として、当該入力項目(パラメータ)名が「customerName」、「caseName」および「docName」の3項目が入力設定一覧G1501に設定されている状態を示す。なお、図26の例では入力項目として3項目が設定された状態を示しているが、これに限定されるものではなく、1以上の入力項目が設定できるものとしてよい。
入力設定一覧G1501では、各パラメータをどのように表記させるかを示す「表記名」、ユーザによる入力を必須とするか否かを設定する「ユーザ入力」、ユーザによる入力の方法を設定する「入力タイプ」、および、外部データソースの参照設定を行う「外部データソース」の各種設定が可能となっています。図26に示す例では、「表記名」の設定として、「customerName」については「担当顧客」、「caseName」については「案件名」、および「docName」については「ドキュメント」が設定されている。また、「ユーザ入力」の設定として、「customerName」、「caseName」および「docName」のいずれについても、「させる(必須)」が設定されている。また、「入力タイプ」の設定として、「customerName」、「caseName」および「docName」のいずれについても、「セレクトボックス」が設定されている。この「入力タイプ」の設定としては、「セレクトボックス」の他、例えば、「直接入力」等が挙げられる。また、「外部データベース」の参照設定として、「customerName」については「担当顧客リスト」、「caseName」については「案件名リスト」、および「docName」については「ドキュメントリスト」が設定されている。
また、図26に示すパラメータ設定画面G1500は、パラメータ名が「customerName」の入力項目について参照設定を行うための「設定」ボタンG1502と、パラメータ名が「caseName」の入力項目について参照設定を行うための「設定」ボタンG1503と、パラメータ名が「docName」の入力項目について参照設定を行うための「設定」ボタンG1504と、を含む。なお、「設定」ボタンG1502~G1504を押下した場合の参照設定については、図28~図32で後述する。
また、図26に示すパラメータ設定画面G1500は、入力設定一覧G1501に入力項目を追加するための「追加」ボタンG1505と、各入力項目について設定された内容で決定するための「設定」ボタンG1506と、を含む。
以降では、ユーザが、「設定」ボタンG1506を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図27に示す処理フロー詳細設定画面G1600を表示する。
図27に示す処理フロー詳細設定画面G1600は、パラメータが設定された「getDataSorce」について表示順を設定するための表示順設定ボタンG1601を含む。
次に、図28~図32を参照しながら、図26に示したパラメータ設定画面G1500における入力設定一覧G1501の各入力項目についての参照設定の操作について説明する。まず、パラメータ設定画面G1500において、ユーザがパラメータ名「customerName」(以下、単にパラメータ「担当顧客」と称する場合がある)の参照設定をするために、「設定」ボタンG1502を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図28に示す外部データソース設定画面G1700を表示する。
図28に示す外部データソース設定画面G1700は、参照する外部データソースを設定するための外部データソース設定欄G1701と、参照するパラメータ(依存するパラメータ)を追加設定するための参照追加ボタンG1702と、を含む。図28に示す外部データソース設定画面G1700は、参照する外部データソースとして「担当顧客リスト」を参照する設定としている。ここで、「担当顧客リスト」は、図19で上述した、ユーザ(情報処理システム1aにログインするユーザ)と、当該ユーザが担当する顧客とを関連付ける顧客情報1810であるものとする。
また、図28に示す外部データソース設定画面G1700は、当該外部データソース設定画面G1700における参照設定の内容を確定するための「設定」ボタンG1703を含む。ユーザが「設定」ボタンG1703を押下すると、パラメータ「担当顧客」について外部データソースである「担当顧客リスト」(顧客情報1810)を参照する設定を確定し、ブラウザ310は、図26に示すパラメータ設定画面G1500を表示させる。
次に、パラメータ設定画面G1500において、ユーザがパラメータ名「caseName」(以下、単にパラメータ「案件名」と称する場合がある)の参照設定をするために、「設定」ボタンG1503を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図29に示す外部データソース設定画面G1710を表示する。
図29に示す外部データソース設定画面G1710は、参照する外部データソースを設定するための外部データソース設定欄G1711と、参照するパラメータ(依存するパラメータ)を追加設定するための参照追加ボタンG1714と、参照設定の内容を確定するための「設定」ボタンG1715と、を含む。図29に示す外部データソース設定画面G1710は、参照する外部データソースとして「案件名リスト」を参照する設定としている。ここで、「案件名リスト」は、図19で上述した、顧客と、当該顧客に属する案件の案件名とを関連付ける案件名情報1820であるものとする。
ここで、図29に示す外部データソース設定画面G1710において、ユーザが参照追加ボタンG1714を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図30(a)に示すパラメータ参照設定画面G1720を表示する。
図30(a)に示すパラメータ参照設定画面G1720は、パラメータ「案件名」が依存するパラメータを設定するための画面である。図30(a)に示すパラメータ参照設定画面G1720は、パラメータ「案件名」が依存するパラメータを入力する参照パラメータ入力欄G1721と、参照パラメータ入力欄G1721への入力候補となるパラメータをプルダウン表示させるためのプルダウンボタンG1722と、を含む。ユーザがプルダウンボタンG1722を押下すると、図30(a)に示すように、参照パラメータ入力欄G1721への入力候補となるパラメータを一覧表示するプルダウンG1723が表示される。図30(a)に示す例では、依存先のパラメータとして、パラメータ「案件名」以外のパラメータである「customerName」および「docName」が表示されている。ここで、「customerName」を選択操作したものとすると、図30(b)に示すように、参照パラメータ入力欄G1721には「customerName」が入力される。パラメータ参照設定画面G1720は、さらに、参照パラメータ入力欄G1721に入力された依存先のパラメータの設定を確定させるための「設定」ボタンG1724を含む。
ここで、図30(b)に示すパラメータ参照設定画面G1720において、ユーザが「設定」ボタンG1724を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、図29に示すように、依存先となるパラメータの参照設定がなされたことを示す設定参照欄G1712と、当該参照設定を解除するための「参照設定解除」ボタンG1713と、を含む外部データソース設定画面G1710を表示する。図29に示す外部データソース設定画面G1710では、パラメータ「案件名」が外部データソースとして「案件名リスト」を参照し、かつ、パラメータ「案件名」が参照(依存)するパラメータとしてパラメータ「担当顧客」が設定されている。
ここで、図29に示す外部データソース設定画面G1710において、ユーザが「設定」ボタンG1715を押下する操作を行ったものとする。すると、パラメータ「案件名」について外部データソースである「案件名リスト」(案件名情報1820)を参照し、かつ、パラメータ「案件名」が参照(依存)するパラメータをパラメータ「担当顧客」とする設定を確定し、ブラウザ310は、図26に示すパラメータ設定画面G1500を表示させる。
次に、パラメータ設定画面G1500において、ユーザがパラメータ名「docName」(以下、単にパラメータ「ドキュメント」と称する場合がある)の参照設定をするために、「設定」ボタンG1504を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図31に示す外部データソース設定画面G1730を表示する。
図31に示す外部データソース設定画面G1730は、参照する外部データソースを設定するための外部データソース設定欄G1731と、参照するパラメータ(依存するパラメータ)を追加設定するための参照追加ボタンG1736と、参照設定の内容を確定するための「設定」ボタンG1737と、を含む。図31に示す外部データソース設定画面G1730は、参照する外部データソースとして「ドキュメントリスト」を参照する設定としている。ここで、「ドキュメントリスト」は、図19で上述した、案件の案件名と、ドキュメントとを関連付ける情報であるものとする。
ここで、図31に示す外部データソース設定画面G1730において、ユーザが参照追加ボタンG1736を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図32に示すパラメータ参照設定画面G1740を表示する。
図32に示すパラメータ参照設定画面G1740は、パラメータ「ドキュメント」が依存するパラメータを設定するための画面である。図32に示すパラメータ参照設定画面G1740は、パラメータ「案件名」が依存するパラメータを入力する参照パラメータ入力欄G1741と、を含む。ここで、ユーザによりパラメータ参照設定画面G1740においてプルダウン表示から「caseName」が選択操作されたものとすると、図32に示すように、参照パラメータ入力欄G1721には「caseName」が入力される。パラメータ参照設定画面G1740は、さらに、参照パラメータ入力欄G1741に入力された依存先のパラメータの設定を確定させるための「設定」ボタンG1742を含む。
ここで、図32に示すパラメータ参照設定画面G1740において、ユーザが「設定」ボタンG1742を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、図31に示すように、依存先となるパラメータの参照設定がなされたことを示す設定参照欄G1734と、当該参照設定を解除するための「参照設定解除」ボタンG1735と、を含む外部データソース設定画面G1730を表示する。図31に示す外部データソース設定画面G1730では、パラメータ「ドキュメント」が外部データソースとして「ドキュメントリスト」を参照し、かつ、パラメータ「ドキュメント」が参照(依存)するパラメータとしてパラメータ「案件名」が設定されている。
同様の設定手順で、外部データソース設定画面G1730では、図31に示すように、依存先となるパラメータの参照設定がなされたことを示す設定参照欄G1732と、当該参照設定を解除するための「参照設定解除」ボタンG1735と、が表示されたものとする。すなわち、図31に示す外部データソース設定画面G1730では、さらに、パラメータ「ドキュメント」が参照(依存)するパラメータとしてパラメータ「担当顧客」が設定されている。
ここで、図31に示す外部データソース設定画面G1730において、ユーザが「設定」ボタンG1737を押下する操作を行ったものとする。すると、パラメータ「ドキュメント」について外部データソースである「ドキュメントリスト」を参照し、かつ、パラメータ「ドキュメント」が参照(依存)するパラメータをパラメータ「担当顧客」およびパラメータ「案件名」とする設定を確定し、ブラウザ310は、図26に示すパラメータ設定画面G1500を表示させる。
以降では、ユーザが、「設定」ボタンG1506を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、上述のように図27に示す処理フロー詳細設定画面G1600を表示する。
図27に示す処理フロー詳細設定画面G1600は、さらに、図26に示すパラメータ設定画面G1500で設定した参照設定を確定するための「次へ」ボタンG1602を含む。
ここで、ユーザは、「次へ」ボタンG1602を押下する操作(処理フローの登録操作)を行ったものとする。すると、ブラウザ310は、処理フローの登録操作を受け付ける(ステップS910)。
ブラウザ310は、処理フローの登録操作を受け付けると、ステップS909で設定した各種設定内容を含む処理フロー情報1100(設定情報の一例)を作成する(ステップS911)。なお、処理フロー情報1100は、選択された各コンポーネント(プログラム)の実行順の定義を規定した情報を含むのとし、ステップS909で設定した各種設定内容は、当該処理フロー情報1100に対応するアプリ設定情報1200(設定情報の一例)に含まれるものとしてもよい。
ブラウザ310は、処理フロー情報1100を作成すると、処理フローの登録要求を、ポータルサービス部140のフロー登録部143に送信する(ステップS912)。なお、処理フローの登録要求には、ステップS911で作成された処理フロー情報1100が含まれる。
ポータルサービス部140のフロー登録部143は、処理フローの登録要求を受信すると、当該登録要求を、入出力サービス処理部110aのフロー管理部113に送信する(ステップS913)。
入出力サービス処理部110aのフロー管理部113は、処理フローの登録要求を受信すると、処理フローを登録する(ステップS914)。そして、フロー管理部113は、登録結果をブラウザ310に返信する。
すなわち、フロー管理部113は、処理フローの登録要求に含まれる処理フロー情報1100をアプリ情報記憶部150に記憶する。
以上のような処理フローの登録(処理フロー情報1100の登録)を行った後、図8~図16で上述したアプリケーションの登録の手順と同様に、「取得ドキュメント印刷アプリケーション」についての登録を行うものとする。これにより、当該アプリ設定情報1200と、当該アプリ設定情報1200のフロー名1205に定義されたフロー名の処理フロー情報1100とを含むアプリ情報1000がサービス提供システム10aに登録される。
以上により、本実施形態に係る情報処理システム1aでは、ユーザがPC端末30を用いて、サービス提供システム10aに処理フローを登録することができる。しかも、本実施形態に係る情報処理システム1aでは、ユーザがPC端末30を用いて、例えば、フロー名や各コンポーネントのパラメータ情報等を設定することで、容易に処理フロー(処理フロー情報1100)を登録することができる。
したがって、本実施形態に係る情報処理システム1aによれば、例えば、プログラミング言語等の専門的な知識や経験を有しないユーザ(例えば、企画担当者等)であっても、各種サービスを提供するアプリケーション(アプリ情報1000)を登録するための処理フロー(処理フロー情報1100)を登録することができる。
図33は、取得ドキュメント印刷サービスを利用する場合の全体処理の一例を示す図である。図33を参照しながら、機器20のユーザが取得ドキュメント印刷サービスを利用する場合について説明する。
まず、機器20のブラウザ210は、取得ドキュメント印刷サービスのアプリ画面を表示させるための操作(表示操作)を受け付ける(ステップS1901)。機器20のユーザは、例えば、取得ドキュメント印刷サービスのアプリ画面のURLをブラウザ310のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
機器20のブラウザ210は、取得ドキュメント印刷サービスのアプリ画面の表示操作を受け付けると、取得ドキュメント印刷サービスのアプリ画面の表示要求を、Webサービス処理部120の画面構成部121(第1の受信手段)に送信する(ステップS1902)。取得ドキュメント印刷サービスのアプリ画面の表示要求には、取得ドキュメント印刷サービスを提供するアプリ情報1000のアプリIDが含まれる。
Webサービス処理部120の画面構成部121は、取得ドキュメント印刷サービスのアプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部110aのアプリ管理部111に送信する(ステップS1903)。アプリ設定の取得要求には、取得ドキュメント印刷サービスを提供するアプリ情報1000のアプリIDが含まれる。
入出力サービス処理部110aのアプリ管理部111は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて記憶されているアプリ設定情報1200をアプリ情報記憶部150から取得する(ステップS1904)。そして、アプリ管理部111は、アプリ情報記憶部150から取得したアプリ設定情報1200を画面構成部121に返信する。
次に、Webサービス処理部120の画面構成部121は、取得ドキュメント印刷サービスを提供するアプリ情報1000のアプリIDと関連付けて記憶されているアプリ画面情報2000(利用画面情報)をアプリ画面情報記憶部160から取得する(ステップS1905)。そして、画面構成部121(第1の送信手段)は、アプリ画面情報記憶部160から取得したアプリ画面情報2000と、上記のステップS1904で返信されたアプリ設定情報1200とをブラウザ210に返信する。
機器20のブラウザ210は、画面構成部121から受信したアプリ画面情報2000とアプリ設定情報1200とに基づいて、例えば図34に示すアプリ画面G1800を表示する(ステップS1906)。ここで、図34に示すアプリ画面G1800は、機器20のユーザが取得ドキュメント印刷サービスを利用するための画面である。
図34に示すアプリ画面G1800は、アプリ名G1801と、担当顧客入力欄G1802と、担当顧客プルダウンボタンG1803と、案件名入力欄G1804と、案件名プルダウンボタンG1805と、ドキュメント入力欄G1806と、ドキュメントプルダウンボタンG1807と、「スタート」ボタンG1808と、を含む。
アプリ名G1801は、アプリ設定情報1200のアプリ表示名1203に相当する情報に基づいて表示される。また、アプリ表示名1203に複数の言語のアプリケーション名称(タイトル)が定義されている場合、ブラウザ210の言語設定に対応する言語のアプリケーション名称がアプリ名G1801に表示される。
また、担当顧客入力欄G1802、案件名入力欄G1804およびドキュメント入力欄G1806の表記名は、処理フロー情報1100に含まれ、図26に示すパラメータ設定画面G1500で入力設定された各表記名が表示される。
また、担当顧客入力欄G1802、案件名入力欄G1804およびドキュメント入力欄G1806の入力方法、および、担当顧客プルダウンボタンG1803、案件名プルダウンボタンG1805およびドキュメントプルダウンボタンG1807の表示内容の動作については、図26~図32で設定した処理フローの内容に基づく。
このように、機器20のユーザがサービスを利用するためのアプリ画面には、処理フロー情報1100およびアプリ設定情報1200に定義されている情報に基づいて、アプリ名およびパラメータ入力エリアが表示される。
ブラウザ210によってアプリ画面G1800が表示されると、ブラウザ210は、アプリ画面G1800の取得ドキュメント印刷アプリケーションに関連付けられている処理フロー情報1100を取得するためのアクション実行要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS1907)。アクション実行要求には、アプリ設定情報1200のフロー名1205に定義されたフロー名「get-print」と、パラメータ設定情報とが含まれる。
Webサービス処理部120のアプリ実行部122は、アクション実行要求を受信すると、当該実行要求を、入出力サービス処理部110aのロジック処理部112に送信する(ステップS1908)。
まず、ロジック処理部112は、アプリ実行部122からアクション実行要求を受信すると、処理フローの取得要求をフロー管理部113に送信する(ステップS1909)。当該取得要求には、フロー名「get-print」が含まれる。
フロー管理部113は、処理フローの取得要求を受信すると、当該取得要求に含まれるフロー名「get-print」の処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1910)。そして、フロー管理部113は、アプリ情報記憶部150から取得した処理フロー情報1100をロジック処理部112に返信する。
ロジック処理部112は、フロー管理部113から取得した処理フロー情報1100の内容に従い、アプリ画面G1800の入力項目のうち、他の入力項目に対して依存先の参照設定をしておらず、かつ、外部データソースへの参照設定(利用設定)がされている入力項目の当該外部データソースの情報を取得するデータリスト取得要求を、ドキュメントサービス部130aの取得部133へ送信する(ステップS1911)。当該データリスト取得要求には、情報処理システム1aにログインしているユーザの情報(ユーザ名等)が含まれている。具体的には、アプリ画面G1800の入力項目のうち、他の入力項目に対して依存先の参照設定をしておらず、かつ、外部データソースへの参照設定(利用設定)がされている入力項目としては、パラメータ「担当顧客」が該当する。上述したように、パラメータ「担当顧客」は、外部データソースとして「担当顧客リスト」を参照する設定がされている。
ドキュメントサービス部130aの取得部133は、データリスト取得要求を受信すると、外部の顧客情報記憶部180にアクセスし、顧客情報1810により情報処理システム1aにログインしているユーザに関連付けられた担当顧客のデータリストを取得する(ステップS1912)。そして、取得部133は、取得した担当顧客のデータリストをロジック処理部112に返信する。ロジック処理部112は、受け取ったデータリストをアプリ実行部122へ返信し、アプリ実行部122は、さらに、当該データリストをブラウザ210に返信する。ブラウザ210は、受け取った担当顧客のデータリストを、アプリ画面G1800の担当顧客プルダウンボタンG1803の押下によりプルダウンされるようにする。
すなわち、機器20において、ユーザがアプリ画面G1800を表示させた段階で、アプリ画面G1800での最上段の入力欄である担当顧客入力欄G1802においては、当該ユーザに関連付けられた担当顧客の一覧がプルダウン表示が可能な状態となっている。したがって、ユーザは、自身に関係のある(関連付けられている)担当顧客を直接入力する必要がなく、プルダウン表示から所望の担当顧客を選択するだけでよい。
ユーザは、担当顧客プルダウンボタンG1803を押下することによって一覧表示される自身の担当顧客のリストの中から、所望する担当顧客を選択操作する(ステップS1913)。これによって、担当顧客入力欄G1802には、選択された担当顧客が表示される。すると、担当顧客入力欄G1802の入力項目は、他の入力項目(パラメータ「案件名」(第2の入力項目の一例))から依存先の参照設定がされており、かつ、当該他の入力項目が外部データソースへの参照設定がされているので、ブラウザ210は、当該外部データソースの情報を取得するためのアクション実行要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS1914)。当該アクション実行要求には、担当顧客入力欄G1802で入力された担当顧客の情報を含む。
Webサービス処理部120のアプリ実行部122は、アクション実行要求を受信すると、当該実行要求を、入出力サービス処理部110aのロジック処理部112に送信する(ステップS1915)。
ロジック処理部112は、フロー管理部113から取得した処理フロー情報1100の内容に従い、他の入力項目(パラメータ「担当顧客」(第1の入力項目の一例))に対して依存先の参照設定がされており、かつ、外部データソースへの参照設定がされている入力項目(パラメータ「案件名」)の当該外部データソースの情報を取得するデータリスト取得要求(第1の取得要求の一例)を、ドキュメントサービス部130aの取得部133へ送信する(ステップS1916)。当該データリスト取得要求には、担当顧客入力欄G1802で入力された担当顧客の情報(第1の項目内容の一例)を含む。具体的には、アプリ画面G1800の入力項目のうち、他の入力項目に対して依存先の参照設定がされており、かつ、外部データソースへの参照設定がされている入力項目としては、パラメータ「案件名」が該当する。上述したように、パラメータ「案件名」は、外部データソースとして「案件名リスト」を参照する設定がされている。
ドキュメントサービス部130aの取得部133は、データリスト取得要求を受信すると、外部の顧客情報記憶部180にアクセスし、案件名情報1820により担当顧客入力欄G1802で入力された担当顧客に関連付けられた案件名のデータリスト(リスト情報の一例)を取得する(ステップS1917)。そして、取得部133は、取得した案件名のデータリストをロジック処理部112に返信する。ロジック処理部112は、受け取ったデータリストをアプリ実行部122へ返信し、アプリ実行部122は、さらに、当該データリストをブラウザ210に返信する。ブラウザ210は、受け取った案件名のデータリストを、アプリ画面G1800の案件名プルダウンボタンG1805の押下によりプルダウンされるようにする。
すなわち、機器20において、ユーザがアプリ画面G1800で担当顧客入力欄G1802に所望する担当顧客を選択入力した段階で、アプリ画面G1800での2段目の入力欄である案件名入力欄G1804においては、当該担当顧客に関連付けられた案件名の一覧がプルダウン表示が可能な状態となっている。したがって、ユーザは、選択した担当顧客に関係のある(関連付けられている)案件名を直接入力する必要がなく、プルダウン表示から所望の案件名を選択するだけでよい。
なお、この段階で、担当顧客入力欄G1802の担当顧客の入力内容が変更された場合、上述のステップS1913で担当顧客が選択操作された後のステップS1914~S1917の動作が再び自動実行される。
ユーザは、案件名プルダウンボタンG1805を押下することによって一覧表示される案件名のリストの中から、所望する案件名を選択操作する(ステップS1913)。これによって、案件名入力欄G1804には、選択された案件名が表示される。すると、案件名入力欄G1804の入力項目は、他の入力項目(パラメータ「ドキュメント(第2の入力項目の一例)」)から依存先の参照設定がされており、かつ、当該他の入力項目が外部データソースへの参照設定がされているので、ブラウザ210は、当該外部データソースの情報を取得するためのアクション実行要求を、Webサービス処理部120のアプリ実行部122(第2の受信手段の一例)に送信する(ステップS1914)。当該アクション実行要求には、案件名入力欄G1804で入力された案件名の情報を含む。
Webサービス処理部120のアプリ実行部122は、アクション実行要求を受信すると、当該実行要求を、入出力サービス処理部110aのロジック処理部112に送信する(ステップS1915)。
ロジック処理部112は、フロー管理部113から取得した処理フロー情報1100の内容に従い、他の入力項目(パラメータ「案件名」(第1の入力項目の一例))に対して依存先の参照設定がされており、かつ、外部データソースへの参照設定がされている入力項目(パラメータ「ドキュメント」)の当該外部データソースの情報を取得するデータリスト取得要求(第1の取得要求の一例)を、ドキュメントサービス部130aの取得部133へ送信する(ステップS1916)。当該データリスト取得要求には、案件名入力欄G1804で入力された案件名の情報(第1の項目内容の一例、第2の項目内容の一例)を含む。具体的には、アプリ画面G1800の入力項目のうち、他の入力項目に対して依存先の参照設定がされており、かつ、外部データソースへの参照設定がされている入力項目としては、パラメータ「ドキュメント」が該当する。上述したように、パラメータ「ドキュメント」は、外部データソースとして「ドキュメントリスト」を参照する設定がされている。
ドキュメントサービス部130aの取得部133は、データリスト取得要求を受信すると、外部のドキュメント記憶部190にアクセスし、案件の案件名と、ドキュメントとを関連付ける情報によって案件名入力欄G1804で入力された案件名に関連付けられたドキュメントのデータリスト(リスト情報の一例)を取得する(ステップS1917)。なお、図31で上述したように、パラメータ「ドキュメント」が依存先としてパラメータ「案件名」およびパラメータ「担当顧客」(第3の入力項目の一例)に設定されている場合には、取得部133は、案件名および担当顧客(第3の項目内容の一例)の双方に関連付けられているドキュメントのデータリストを取得するものとしてもよい。そして、取得部133は、取得したドキュメントのデータリストをロジック処理部112に返信する。ロジック処理部112は、受け取ったデータリストをアプリ実行部122へ返信し、アプリ実行部122(第2の送信手段の一例)は、さらに、当該データリストをブラウザ210に返信する。ブラウザ210は、受け取ったドキュメントのデータリストを、アプリ画面G1800のドキュメントプルダウンボタンG1807の押下によりプルダウンされるようにする。
すなわち、機器20において、ユーザがアプリ画面G1800で案件名入力欄G1804に所望する案件名を選択入力した段階で、アプリ画面G1800での最下段の入力欄であるドキュメント入力欄G1806においては、当該案件名に関連付けられたドキュメントの一覧がプルダウン表示が可能な状態となっている。したがって、ユーザは、選択した案件名に関係のある(関連付けられている)ドキュメントを直接入力する必要がなく、プルダウン表示から所望のドキュメントを選択するだけでよい。
さらに、ユーザは、ドキュメントプルダウンボタンG1807を押下することによって一覧表示されるドキュメントのリストの中から、印刷を所望するドキュメントを選択操作する(ステップS1918)。これによって、ドキュメント入力欄G1806には、選択されたドキュメントが表示される。すると、ドキュメント入力欄G1806の入力項目は、他の入力項目(パラメータ「ドキュメント」)から依存先の参照設定がされていないので、ブラウザ210は、選択されたドキュメントを取得するためのアクション実行要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS1919)。当該アクション実行要求には、ドキュメント入力欄G1806で入力されたドキュメントの情報(第2の項目内容の一例)を含む。
Webサービス処理部120のアプリ実行部122は、アクション実行要求を受信すると、当該実行要求を、入出力サービス処理部110aのロジック処理部112に送信する(ステップS1920)。
ロジック処理部112は、フロー管理部113から取得した処理フロー情報1100の内容に従い、選択されたドキュメントの情報を取得するドキュメント取得要求(第2の取得要求)を、ドキュメントサービス部130aの取得部133へ送信する(ステップS1921)。当該ドキュメント取得要求には、ドキュメント入力欄G1806で入力されたドキュメントの情報(具体的には、ドキュメント名またはドキュメントID等)を含む。
ドキュメントサービス部130aの取得部133は、ドキュメント取得要求を受信すると、外部のドキュメント記憶部190にアクセスし、当該ドキュメント取得要求に含まれるドキュメントの情報が示すドキュメントを取得する(ステップS1922)。そして、取得部133は、取得したドキュメントをロジック処理部112に返信する。ロジック処理部112は、受け取ったドキュメントをアプリ実行部122へ返信し、アプリ実行部122は、さらに、当該ドキュメントをブラウザ210に返信する。ここで、ブラウザ210は、受け取ったドキュメントの内容(縮小表示等)を表示するものとしてもよい。
そして、図34に示すアプリ画面G1800において、ユーザは、「スタート」ボタンG1808を押下する操作(実行操作)を行ったものとする。
すると、機器20のブラウザ210は、実行操作を受け付ける(ステップS1923)。そして、機器20のブラウザ210は、プリンタ25を制御して、受け取ったドキュメントの印刷処理を実行する(ステップS1924)。
以上により、取得ドキュメント印刷サービスの処理フロー情報1100に基づく一連の処理(処理フロー)の実行が完了する。これにより、本実施形態に係るサービス提供システム10aは、機器20に対して、取得ドキュメント印刷サービスを提供することができる。
なお、取得ドキュメント印刷サービスでは、取得したドキュメントに対して、それに続く一連の処理として印刷処理を実行するものとしたが、登録する処理フローの設定により印刷処理に限られるものではない。例えば、取得したドキュメントを、特定の相手にメール送信する処理を処理フローに設定するものとしてもよい。この場合、外部データソースから取得したドキュメントをメール送信する取得ドキュメント送信サービスを提供することができる。
以上のように、本実施形態に係る情報処理システム1aでは、アプリケーションで利用するドキュメントを外部データソースから取得するために必要となる各入力項目について、連携する外部データソース(外部サービス)から、依存先の入力項目に関連付けられた依存元の入力項目の候補を取得することにより容易に当該依存元の入力項目を指定することができる。すなわち、各入力項目の間で依存関係を設定し、各入力項目と外部サービス(外部データソース)との連携(参照)の設定をすることができるので、依存先の入力項目が決定した場合、当該入力項目に対する依存元となる入力項目の候補を、外部サービスから動的に取得することができる。この場合、ユーザは、依存先の入力項目に関係のある(関連付けられている)依存元の入力項目を直接入力する必要がなく、外部サービスから取得した候補の中から選択して、依存元の入力項目を決定することができる。したがって、ユーザが自身に関連するデータ(ドキュメント等)を容易に取得することができる。
また、本実施形態に係る情報処理システム1aでは、例えば、プログラミング言語等の専門的な知識および経験を有しないユーザであっても、容易にアプリケーションを実現するための処理フロー(処理フロー情報1100)の作成・登録を行うことができる。
また、本実施形態に係る情報処理システム1aでは、ユーザが機器20を用いて、サービス提供システム10aに登録された処理フローが設定されたアプリケーションにより提供される各種サービスを利用することができる。
なお、上述の各実施形態の各機能は、一または複数の処理回路によって実現することが可能である。ここで、「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上述した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field-Programmable Gate Array)、SOC(System on a chip)、GPU(Graphics Processing Unit)や従来の回路モジュール等のデバイスを含むものとする。
また、上述の各実施形態において、サービス提供システム10(10a)、機器20、およびPC端末30の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の各実施形態に係るサービス提供システム10(10a)、機器20、およびPC端末30で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk-Recordable)、DVD(Digital Versatile Disc)、またはSDカード等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の各実施形態に係るサービス提供システム10(10a)、機器20、およびPC端末30で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態に係るサービス提供システム10(10a)、機器20、およびPC端末30で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の各実施形態に係るサービス提供システム10(10a)、機器20、およびPC端末30で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述の記憶装置からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。