(58)【調査した分野】(Int.Cl.,DB名)
前記情報処理システムに接続される端末からの前記アプリ設定情報の変更要求に応じて、該アプリ設定情報に対応する前記アプリケーションの前記アプリ状態情報が、前記アプリ設定情報が編集可能であることを示すものであるか否かを判定する編集可否判定手段と、
前記編集可否判定手段により前記アプリ設定情報が編集可能であることを示すものであると判定された場合、前記第1の記憶手段に記憶されている前記アプリ設定情報を、前記変更要求に応じて変更する設定変更手段と、
を有することを特徴とする請求項1又は2に記載の情報処理システム。
前記端末からの前記アプリ状態情報の変更要求に応じて、前記第2の記憶手段に記憶されている前記アプリ状態情報を、前記変更要求に応じて変更する状態変更手段を有する、ことを特徴とする請求項3に記載の情報処理システム。
1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するためのアプリケーション毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を記憶する第1の記憶手段と、前記アプリケーション毎に、該アプリケーションが利用可能な状態か否かを示すアプリ状態情報を記憶する第2の記憶手段とを有する情報処理システムが用いる情報処理方法において、
前記情報処理システムに接続される機器からの要求に応じて、前記アプリ状態情報が利用可能な状態である前記アプリケーションが選択可能な画面を、前記要求元の機器に表示させる表示手順と、
前記画面における前記アプリケーションの選択に応じて、選択された前記アプリケーションの前記フロー情報に基づいて、該フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムを前記実行順に従って実行させることで、前記電子データを用いた一連の処理を実行する実行手順と、
を有し、
前記第1の記憶手段には、前記アプリケーション毎に、更に、該アプリケーションの設定が定義されたアプリ設定情報が記憶され、
前記アプリ状態情報は、更に、前記アプリ設定情報が編集可能か否かを示す、ことを特徴とする情報処理方法。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【0010】
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、
図1を参照しながら説明する。
図1は、本実施形態に係る情報処理システム1のシステム構成の一例を示す図である。
【0011】
図1に示す情報処理システム1は、サービス提供システム10と、機器20と、PC端末30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
【0012】
サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、種々の機能をそれぞれ実現する複数の処理のうちの1以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。
【0013】
ここで、機能とは、文書ファイルや画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR(Optical character recognition)処理、加工や圧縮・解凍、リポジトリへの格納等が挙げられる。
【0014】
本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。
【0015】
機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
【0016】
なお、以降では、複数の機器20について、各々を区別するときは、「機器20
1」、「機器20
2」等と添え字を用いて記載する。
【0017】
PC端末30は、例えば、ユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。ユーザは、PC端末30を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
【0018】
なお、以降では、複数のPC端末30について、各々を区別するときは、「PC端末30
1」、「PC端末30
2」等と添え字を用いて記載する。
【0019】
また、
図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。
【0020】
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10及びPC端末30のハードウェア構成について、
図2を参照しながら説明する。
図2は、本実施形態に係るサービス提供システム10及びPC端末30のハードウェア構成の一例を示す図である。なお、サービス提供システム10及びPC端末30は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム10のハードウェア構成について説明する。
【0021】
図2に示すサービス提供システム10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、サービス提供システム10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
【0022】
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12の少なくとも一方は、必要なときにサービス提供システム10に接続して利用する形態であっても良い。
【0023】
通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介して通信を行うことができる。
【0024】
HDD18は、プログラムやデータを格納している不揮発性の記憶装置である。HDD18に格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
【0025】
なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
【0026】
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取りや書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
【0027】
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【0028】
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。
【0029】
本実施形態に係るサービス提供システム10及びPC端末30は、
図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0030】
次に、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について、
図3を参照しながら説明する。
図3は、本実施形態に係る機器20のハードウェア構成の一例を示す図である。
【0031】
図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、HDD35とを有する。
【0032】
ROM33は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。また、HDD35は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【0033】
CPU31は、ROM33やNVRAM34、HDD35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。
【0034】
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
【0035】
通信I/F24は、機器20をネットワークN1に接続するインタフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。
【0036】
本実施形態に係る機器20は、
図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0037】
<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20が画像形成装置であるものとして説明する。
【0038】
本実施形態では、機器20において原稿をスキャンすることにより生成された電子ファイル(画像ファイル)にQRコード(登録商標)を付与した後、当該QRコードが付与された電子ファイルを印刷するサービスを「QRコード印刷サービス」と表す。そして、本実施形態では、サービス提供システム10がQRコード印刷サービスを提供する場合について説明する。
【0039】
サービス提供システム10がQRコード印刷サービスを提供するためには、QRコード印刷サービスを機器20が利用するためのアプリケーション(後述するアプリ情報1000)をサービス提供システム10に登録する必要がある。
【0040】
したがって、本実施形態では、QRコード印刷サービスを利用するためのアプリケーションをPC端末30が登録する場合と、当該アプリケーションを用いたQRコード印刷サービスを機器20が利用する場合とについて説明する。
【0041】
ただし、サービス提供システム10により提供されるサービスは、QRコード印刷サービスに限られない。サービス提供システム10は、1以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供することができる。
【0042】
例えば、サービス提供システム10は、機器20において原稿をスキャンすることにより生成された電子ファイルを暗号化した上で、メール配信するサービスを提供することができる。同様に、例えば、サービス提供システム10は、機器20において原稿をスキャンすることにより生成された電子ファイルに所定の情報を付加した上で、FAX送信するサービスを提供することができる。
【0043】
<機能構成>
次に、本実施形態に係る情報処理システム1の機能構成について、
図4を参照しながら説明する。
図4は、本実施形態に係る情報処理システム1の機能構成の一例を示す図である。
【0044】
図4に示すPC端末30は、例えばCPU16等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を用いて、「QRコード印刷サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム10に登録等することができる。また、PC端末30のユーザは、ブラウザ310を用いて、サービス提供システム10に登録されているアプリケーションの各種設定の変更やアプリケーションの状態(後述する「アプリ状態」)の変更等を行うことができる。
【0045】
図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を用いて、「QRコード印刷サービス」等の各種サービスを利用することができる。機器20は、ブラウザ210を有していれば良く、例えば、サービス提供システム10が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
【0046】
機器20のユーザは、サービス提供システム10に登録されているアプリケーションについて、ライセンスが適用されることで、当該アプリケーションを用いたサービスを利用することができるようになる。
【0047】
なお、ライセンスは、例えば、会社や団体、部、課、班、チーム等の人の集まりを表す「テナント」と呼ばれる単位で適用され、テナントにライセンスが適用されることで、当該テナントに属するユーザがアプリケーションを利用することができるようになる。テナントにライセンスが適用されるとは、当該テナントを識別するテナントIDと、当該ライセンスで利用可能なアプリケーションを識別するアプリIDとが関連付けられることを意味する。ただし、ライセンスはテナント単位で適用される場合に限られず、例えば、ユーザ単位で適用されても良い。
【0048】
図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、ポータルサービス部140と、アプリ状態サービス部150と、権限サービス部160とを有する。これら各機能部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
【0049】
また、サービス提供システム10は、アプリ状態情報記憶部151と、権限情報記憶部161と、アプリ情報記憶部170と、アプリ画面情報記憶部180と、ポータル画面情報記憶部190とを有する。これら各記憶部は、HDD18を用いて実現可能である。なお、これら各記憶部のうちの少なくとも1つの記憶部が、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【0050】
入出力サービス処理部110は、サービス提供システム10が提供するサービスに関する処理を行う。入出力サービス処理部110は、アプリ管理部111と、ロジック処理部112とを有する。
【0051】
アプリ管理部111は、アプリ情報記憶部170に記憶されているアプリ情報1000を管理する。アプリ情報1000とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、サービス提供システム10が提供する各種サービスは、アプリ情報1000により提供される。
【0052】
また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。処理フロー情報1100とは、アプリ情報1000により提供されるサービスを実現する一連の処理が定義された情報である。
【0053】
更に、アプリ管理部111は、ポータルサービス部140からの要求に応じて、アプリ情報1000をアプリ情報記憶部170に記憶させる。これにより、サービスを提供するアプリ情報1000(アプリケーション)がサービス提供システム10に登録される。
【0054】
ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、ロジック処理部112は、アプリ管理部111から取得した処理フロー情報1100に基づいて、当該アプリ情報1000が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、本実施形態に係るサービス提供システムは、「QRコード印刷サービス」等の各種サービスを提供することができる。なお、ロジック処理部112の詳細については後述する。
【0055】
Webサービス処理部120は、ユーザが機器20のブラウザ210を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部120は、ブラウザ210に対してWebアプリケーション(アプリ情報1000)を提供するアプリケーションサーバとして機能する。Webサービス処理部120は、画面構成部121と、アプリ実行部122とを有する。
【0056】
画面構成部121は、ブラウザ210からの要求に応じて、アプリ画面情報記憶部180に記憶されているアプリ画面情報2000と、アプリ情報記憶部170に記憶されているアプリ情報1000に含まれるアプリ設定情報1200とを返信する。
【0057】
アプリ画面情報2000とは、アプリケーション(アプリ情報1000)により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報2000は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)等でアプリ画面の雛形が定義された情報である。
【0058】
また、アプリ設定情報1200とは、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。例えば、アプリ設定情報1200には、一連の処理の実行に用いられるパラメータ情報のうち、ユーザにより入力されるパラメータ情報やデフォルトで設定されるパラメータ情報等が定義されている。また、例えば、アプリ設定情報1200には、ユーザがアプリ画面においてパラメータ情報を入力するための入力項目やアプリ画面における表示情報(例えば、アプリケーション名)等が定義されている。アプリ設定情報1200は、例えば、JSON(JavaScript Object Notation)等でアプリケーションの各種設定が定義された情報である。
【0059】
これにより、機器20には、ブラウザ210により、サービス提供システム10が提供するサービスを利用するためのアプリ画面が表示される。
【0060】
アプリ実行部122は、ブラウザ210からの要求に応じて、入出力サービス処理部110に対して、アプリケーション(アプリ情報1000)の実行要求を送信する。
【0061】
ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ドキュメントサービス部130は、例えば、電子ファイルに対してOCR処理を行うOCR処理部131と、電子ファイルを添付したメールを作成した上で、当該メールを指定されたメールアドレス宛に配信するメール配信部132とを有する。
【0062】
なお、ドキュメントサービス部130には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、電子ファイルのデータ形式を変換するためのデータ形式変換部等、種々の機能部が含まれていても良い。
【0063】
ポータルサービス部140は、ユーザがPC端末30のブラウザ310を用いてアプリケーションの登録等を行うための処理を行う。ポータルサービス部140は、UI提供部141と、アプリ登録部142とを有する。
【0064】
UI提供部141は、ブラウザ310からの要求に応じて、ポータル画面情報記憶部190に記憶されているポータル画面情報3000を返信する。ポータルとは、ブラウザ310を用いて、アプリケーションの登録等を行うことができるWebサイトである。
【0065】
ポータル画面情報3000とは、ポータルのトップ画面(ポータルトップ画面)やアプリケーション登録画面等の各種画面が定義された情報である。ポータル画面情報3000は、例えば、HTML、XML、CSS、JavaScript等のブラウザ210で各種画面が定義された情報である。
【0066】
これにより、PC端末30には、ブラウザ310により、ポータルトップ画面やアプリケーション登録画面が表示される。したがって、PC端末30のユーザは、アプリケーション登録画面において、アプリケーション(アプリ情報1000)の登録操作を行うことができる。
【0067】
アプリ登録部142は、UI提供部141からの要求に応じて、アプリケーション(アプリ情報1000)の登録をアプリ管理部111に要求する。すなわち、アプリ登録部142は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部111に要求する。
【0068】
また、アプリ登録部142は、アプリケーションが登録されると、当該アプリケーションの状態(アプリ状態)の登録をアプリ状態サービス部150に要求する。アプリ状態とは、アプリケーションがリリースされたか否か、利用可能であるか否か等の状態を表し、後述するように、例えば、「未リリース」、「利用可能」、「一時停止」、及び「新規ライセンス適用禁止」の4つの状態がある。
【0069】
アプリ状態サービス部150は、アプリ登録部142からの要求に応じて、アプリケーションの初期のアプリ状態を示すアプリ状態情報をアプリ状態情報記憶部151に記憶させる。これにより、アプリケーション(アプリ情報1000)のアプリ状態がサービス提供システム10に登録される。なお、初期のアプリ状態としては、例えば、アプリケーションが未だリリースされていないことを示す「未リリース」が挙げられる。
【0070】
また、アプリ状態サービス部150は、PC端末30のブラウザ310からの要求に応じて、サービス提供システム10に登録されているアプリ状態を変更する。アプリ状態は、アプリ状態情報記憶部151に記憶されているアプリ状態情報を更新することで変更される。
【0071】
権限サービス部160は、アプリ管理部111やアプリ状態サービス部150からの要求に応じて、権限情報記憶部161を参照して、PC端末30のユーザの権限を確認する。権限には、例えば、「管理者権限」、「開発者権限」、及び「一般権限」の4つの権限がある。「管理者権限」とは、例えば、サービス提供システム10全体の管理や各ユーザの管理等を行うユーザに付与される権限である。「開発者権限」とは、例えば、アプリケーションの開発者に付与される権限である。「一般権限」とは、例えば、アプリケーションの利用者に付与される権限である。
【0072】
アプリ状態情報記憶部151は、アプリ状態情報を記憶する。ここで、アプリ状態情報記憶部151に記憶されているアプリ状態情報について、
図5を参照しながら説明する。
図5は、アプリ状態情報の一例を示す図である。
【0073】
図5に示すように、アプリ状態情報には、データ項目として、「アプリID」と、「アプリ状態」とが含まれる、「アプリID」には、アプリケーション(アプリ情報1000)を識別するアプリIDが設定される。「アプリ状態」には、当該アプリケーションの状態を示すアプリ状態が設定される。
【0074】
アプリ状態には、例えば、「未リリース」、「利用可能」、「一時停止」、及び「新規ライセンス適用禁止」の4つの状態がある。「未リリース」とは、アプリケーションが未だリリースされていないことを示すアプリ状態である。「利用可能」とは、アプリケーションがリリース中で、利用可能であることを示すアプリ状態である。「一時停止」とは、アプリケーションがリリース中であるが、利用を一時的に停止させていることを示すアプリ状態である。「新規ライセンス適用禁止」とは、アプリケーションの廃止に向けた状態であり、利用可能であるが、ライセンスの新規適用を禁止していることを示すアプリ状態である。
【0075】
また、「利用可能」は、更に、アプリケーションの編集が不可能であることを示す「利用可能(編集不可)」と、「開発者権限」が付与されたユーザがアプリケーションを編集可能であることを示す「利用可能(編集可)」とに分けることができる。同様に、「一時停止」は、更に、アプリケーションの編集が不可能であることを示す「一時停止(編集不可)」と、「開発者権限」が付与されたユーザがアプリケーションを編集可能であることを示す「一時停止(編集可)」とに分けることができる。ただし、「利用可能」を「利用可能(編集不可)」と「利用可能(編集可)」とに分けることができなくても良い。同様に、「一時停止」を「一時停止(編集不可)」と「一時停止(編集可)」とに分けることができなくても良い。
【0076】
アプリケーションは、これら4つのアプリ状態(「編集可」及び「編集不可」も考慮すれば、6つのアプリ状態)を相互に遷移することができる。ここで、「編集可」及び「編集不可」を考慮した6つのアプリ状態間の遷移について、
図6を参照しながら説明する。
図6は、アプリ状態間の遷移を模式的に説明する図である。
【0077】
図6に示すように、アプリケーションの初期のアプリ状態は「未リリース」となる。アプリ状態が「未リリース」から「利用可能(編集可)」又は「利用可能(編集不可)」に更新されることで、アプリケーションがリリースされ、機器20のユーザが当該アプリケーションを利用することができるようになる。一方で、アプリ状態が「利用可能(編集可)」又は「利用可能(編集不可)」から「未リリース」に更新されることで、アプリケーションのリリースが解除され、機器20のユーザが当該アプリケーションを利用することができなくなる。
【0078】
アプリ状態「利用可能(編集可)」と「利用可能(編集不可)」とは相互に遷移させることができる。これにより、例えば、リリース後は基本的にアプリ状態を「利用可能(編集不可)」としつつ、アプリケーションの軽微な修正等が必要になった場合に一時的にアプリ状態を「利用可能(編集可)」として、アプリケーションの編集を行うことができるようになる。
【0079】
アプリ状態が「利用可能(編集可)」又は「利用可能(編集不可)」から「一時停止(編集可)」又は「一時停止(編集不可)」に更新されることで、アプリケーションの利用を一時的に停止させることができる。これにより、例えば、リリース後に、アプリケーションにバグ等が発見された場合に、アプリ状態を「一時停止(編集可)」に遷移させることで、アプリケーションの利用を一時的に停止させた上で、バグ等の修正を行うことができるようになる。
【0080】
一方で、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」から「利用可能(編集可)」又は「利用可能(編集不可)」に更新されることで、アプリケーションの利用を再開させることができる。
【0081】
アプリ状態「一時停止(編集可)」と「一時停止(編集不可)」とは相互に遷移させることができる。なお、アプリケーションのアプリ状態が「一時停止」である場合、機器20のユーザは、当該アプリケーションを利用することができないため、「一時停止(編集可)」と「一時停止(編集可)」とに分けずに、「一時停止(編集可)」のみであっても良い。
【0082】
アプリ状態が「利用可能(編集可)」、「利用可能(編集不可)」、「一時停止(編集可)」、又は「一時停止(編集不可)」から「新規ライセンス適用禁止」に更新されることで、アプリケーションの廃止準備をすることができる。これにより、例えば、アプリケーションを廃止が予定された場合、当該アプリケーションのライセンスが新規に適用されることを禁止することができる。
【0083】
一方で、アプリ状態が「新規ライセンス適用禁止」から「利用可能(編集可)」又は「利用可能(編集不可)」に更新されることで、アプリケーションのライセンスの新規適用を再開することができる。これにより、例えば、アプリケーションの廃止が予定されたものの、この予定が中止になったような場合に、当該アプリケーションのライセンスの新規適用を再開することができる。
【0084】
このように、サービス提供システム10に登録されているアプリケーションは、6つのアプリ状態を遷移させることができる。なお、サービス提供システム10に登録されているアプリケーションが取り得るアプリ状態は、これら6つのアプリ状態に限られない。サービス提供システム10に登録されているアプリケーションが取り得るアプリ状態としては、例えば、アプリケーションをインストールしている全てのユーザが利用できなくなる「利用停止状態」等があっても良い。
【0085】
権限情報記憶部161は、権限情報を記憶する。ここで、権限情報記憶部161に記憶されているアプリ状態情報について、
図7を参照しながら説明する。
図7は、権限情報の一例を示す図である。
【0086】
図7に示すように、権限情報には、データ項目として、「ユーザID」と、「権限」とが含まれる。「ユーザID」には、機器20又はPC端末30のユーザを識別するユーザIDが設定される。「権限」には、当該ユーザの権限が設定される。権限には、上述したように、例えば、「管理者権限」、「開発者権限」、及び「一般権限」の4つの権限がある。
【0087】
アプリ情報記憶部170は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000を識別するアプリIDと関連付けてアプリ情報記憶部170に記憶されている。アプリIDは、例えば、アプリ情報1000のURL(Uniform Resource Locator)、又はアプリ情報1000のURLに含まれる識別情報等である。
【0088】
ここで、アプリ情報1000には、処理フロー情報1100と、アプリ設定情報1200とが含まれる。例えば、QRコード印刷サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理が定義された処理フロー情報1100と、当該アプリ情報1000の各種設定が定義されたアプリ設定情報1200とが含まれる。以降では、QRコード印刷サービスを提供するアプリ情報1000を「QRコード印刷アプリケーション」とも表す。
【0089】
なお、アプリ情報1000には、2以上の処理フロー情報1100と、2以上のアプリ設定情報1200とが含まれていても良い。
【0090】
処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。
【0091】
また、アプリ設定情報1200は、上述したように、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。なお、アプリ設定情報1200の詳細については後述する。
【0092】
アプリ画面情報記憶部180は、アプリ画面情報2000を記憶する。アプリ画面情報2000には、ライセンスが適用されたアプリケーションの一覧を表示するアプリ一覧画面のアプリ画面情報2000と、アプリ一覧画面で選択されたアプリケーションを利用するためのアプリ利用画面のアプリ画面情報2000とが含まれる。
【0093】
ポータル画面情報記憶部190は、ポータル画面情報3000を記憶する。ポータル画面情報3000は、ポータルトップ画面やアプリケーション登録画面等のURLと関連付けてポータル画面情報記憶部190に記憶されている。
【0094】
なお、入出力サービス処理部110、Webサービス処理部120、ドキュメントサービス部130、ポータルサービス部140、アプリ状態サービス部150、及び権限サービス部160等は、それぞれが異なる情報処理装置により実現されていても良い。
【0095】
ここで、ロジック処理部112の詳細な機能構成について、
図8を参照しながら説明する。
図8は、本実施形態に係るロジック処理部112の機能構成の一例を示す図である。
【0096】
図8に示すロジック処理部112は、フロー実行部301と、コンポーネント管理部302と、コンポーネント群303と、型変換管理部304と、型変換群305とを有する。また、ロジック処理部112は、型変換情報テーブル4000を有する。
【0097】
フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、当該実行要求に対応する処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、アプリ管理部111から取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。
【0098】
ここで、処理フロー情報1100に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を実現する処理を実行するためのプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。
【0099】
コンポーネント管理部302は、コンポーネントを管理する。コンポーネント管理部302は、フロー実行部301からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部301に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することである。
【0100】
コンポーネント群303は、コンポーネントの集合である。コンポーネント群303には、例えば、コードコンポーネント1310と、スタンプコンポーネント1320とが含まれる。
【0101】
コードコンポーネント1310は、パラメータとして指定された情報(例えば文字列)が埋め込まれたQRコードを作成するためのコンポーネントである。なお、コードコンポーネント1310は、QRコードに限られず、例えば、バーコード等の種々のコードを作成しても良い。
【0102】
スタンプコンポーネント1320は、例えば画像ファイルやPDF(Portable Document Format)ファイル等の電子ファイルに対して、例えばQRコード等のコードを重畳させるためのコンポーネントである。
【0103】
このように、各コンポーネントは、所定の機能を実現する処理を実行する。なお、コンポーネント群303には、上記のコンポーネント以外にも、例えば、電子ファイルの暗号化や復号を行うための暗号化・復号コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント等の各種のコンポーネントが含まれる。
【0104】
また、コンポーネント群303に含まれる各コンポーネントは、コンポーネント共通I/F1300を有する。コンポーネント共通I/F1300は、各コンポーネントに対して共通に定義されたAPI(Application Programming Interface)であり、コンポーネントを生成するためのAPIと、コンポーネントの処理を実行するためのAPIとが含まれる。
【0105】
各コンポーネントがコンポーネント共通I/F1300を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301やコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。
【0106】
型変換管理部304は、データ型の型変換を管理する。各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、例えば
図9に示す型変換情報テーブル4000を参照して、型変換群305に含まれる型変換を生成する。
【0107】
そして、型変換管理部304は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ(例えばRAM14上)に展開することである。
【0108】
データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、及び電子ファイルの実体を示す「File」等が挙げられる。
【0109】
ここで、型変換情報テーブル4000について、
図9を参照しながら説明する。
図9は、型変換情報テーブルの一例を示す図である。
【0110】
図9に示す型変換情報テーブル4000は、データ項目として、「変換前のデータ型」と、「変換後のデータ型」と、「生成する型変換」とを有する。すなわち、型変換情報テーブル4000に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に対して、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。
【0111】
型変換群305は、型変換の集合である。型変換群305には、データ型「InputStream」を「LocalFilePath」に変換するための第1の型変換1410が含まれる。型変換群305には、これ以外にも、例えば、データ型「LocalFilePath」を「File」に変換するための第2の型変換等が含まれる。
【0112】
また、型変換群305に含まれる各型変換は、型変換共通I/F1400を有する。型変換共通I/F1400は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換の型変換処理を実行するためのAPIとが含まれる。
【0113】
各型変換が型変換共通I/F1400を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部304等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、型変換の追加等に伴う開発工数を削減することができる。
【0114】
ここで、QRコード印刷サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、
図10を参照しながら説明する。
図10は、処理フロー情報1100の一例を示す図である。
【0115】
図10に示す処理フロー情報1100は、QRコード印刷サービスを実現する一連の処理(処理フロー)が定義された情報である。
【0116】
図10に示す処理フロー情報1100には、処理フロー情報1100を識別するフロー名1101と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1102とが含まれる。
【0117】
フロー名1101には、フロー名が定義される「flowName」が含まれる。
図10に示す処理フロー情報1100の「flowName」には、QRコード印刷サービスを実現する一連の処理のフロー名「code−print」が定義されている。
【0118】
フロー詳細1102には、処理フローに含まれる各処理をそれぞれ定義した詳細処理定義1110〜1120が含まれる。詳細処理定義1110〜1120には、詳細処理定義を識別する詳細処理名が定義される「detailName」が含まれる。また、詳細処理定義1110〜1120には、処理を実行するコンポーネントのコンポーネント名が定義される「component」と、当該コンポーネントに対するパラメータ情報が定義される「parameters」とが含まれる。
【0119】
詳細処理定義1110の「detailName」には、「detail0」が定義されている。また、詳細処理定義1110の「component」には、コードコンポーネント1310のコンポーネント名「code」が定義されている。更に、詳細処理定義1110の「parameters」には、コードコンポーネント1310に対する各種パラメータ情報が定義されている。
【0120】
同様に、詳細処理定義1120の「detailName」には、「detail1」が定義されている。また、詳細処理定義1120の「component」には、スタンプコンポーネント1320のコンポーネント名「stamp」が定義されている。更に、詳細処理定義1110の「parameters」には、スタンプコンポーネント1320に対する各種パラメータ情報が定義されている。
【0121】
なお、各詳細処理定義に定義された処理の実行順は、フロー詳細1102において、上から順に定義される。すなわち、
図10に示す処理フロー情報1100に基づく一連の処理(処理フロー)では、詳細処理定義1110に定義された処理、詳細処理定義1120に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報1100には、例えば、各詳細処理定義に定義された処理の実行順を示す情報が定義されていても良い。
【0122】
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
【0123】
≪アプリケーションの登録≫
以降では、PC端末30のユーザが、QRコード印刷アプリケーションをサービス提供システム10に登録する処理について、
図11を参照しながら説明する。
図11は、アプリケーションの登録処理の一例を示すシーケンス図である。
【0124】
まず、PC端末30のブラウザ310は、アプリケーション登録画面を表示させるための操作(アプリケーション登録画面の表示操作)を受け付ける(ステップS1101)。なお、PC端末30のユーザは、例えば、ポータルトップ画面において、アプリケーション登録画面へのリンクボタン等を押下することで、アプリケーション登録画面の表示操作を行うことができる。
【0125】
PC端末30のブラウザ310は、アプリケーション登録画面の表示操作を受け付けると、ポータルサービス部140のUI提供部141に対して、アプリケーション登録画面の表示要求を送信する(ステップS1102)。
【0126】
ポータルサービス部140のUI提供部141は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報3000をポータル画面情報記憶部190から取得する(ステップS1103)。すなわち、UI提供部141は、後述するアプリケーション登録画面G100〜G400を表示するためのポータル画面情報3000をポータル画面情報記憶部190から取得する。
【0127】
そして、UI提供部141は、ポータル画面情報記憶部190から取得したポータル画面情報3000をブラウザ310に返信する。
【0128】
PC端末30のブラウザ310は、アプリケーション登録画面のポータル画面情報3000を受信すると、当該ポータル画面情報3000に基づいて、例えば
図12に示すアプリケーション登録画面G100を表示する(ステップS1104)。
【0129】
ここで、以降では、
図12〜
図15を参照しながら、ユーザがアプリケーションの登録操作を行う場合について説明する。
【0130】
図12に示すアプリケーション登録画面G100には、プリントタイプのアプリケーションを登録するための「プリント」ボタンG110と、スキャンタイプのアプリケーションを登録するための「スキャン」ボタンG120とが含まれる。また、
図12に示すアプリケーション登録画面G100には、スキャン&プリントタイプのアプリケーションを登録するための「スキャン&プリント」ボタンG130が含まれる。
【0131】
プリントタイプのアプリケーションとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等で印刷させるタイプのアプリケーションである。また、スキャンタイプのアプリケーションとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。更に、スキャン&プリントタイプのアプリケーションとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行し、この実行結果を示す電子ファイルを画像形成装置等で印刷させるタイプのアプリケーションである。
【0132】
ユーザが、
図12に示すアプリケーション登録画面G100において、「スキャン&プリント」ボタンG130を選択した上で、「次へ」ボタンG140を押下する操作を行うと、スキャン&プリントタイプのアプリケーションを登録するための各種画面に遷移する。このような各種画面には、
図13に示すアプリケーション登録画面G200と、
図14に示すアプリケーション登録画面G300とが含まれる。
【0133】
図13に示すアプリケーション登録画面G200は、スキャン設定(例えば、「用紙向き」や「片面・両面」等)のデフォルト値を設定するための画面である。ユーザは、デフォルト値設定欄G210において、各スキャン設定のデフォルト値を設定することができる。
【0134】
また、ユーザは、設定可否欄G220において、アプリケーションの利用時にスキャン設定の変更を許可するか否かを設定することができる。設定可否欄G220がチェックされたスキャン設定は、アプリケーションの利用時に設定値を変更することができる。一方で、設定可否欄G220がチェックされていないスキャン設定は、アプリケーションの利用時に設定値を変更することができない。したがって、ユーザは、設定可否欄G220をチェックしないことで、当該チェックされていないスキャン設定に対して、アプリケーション固有の設定値をデフォルト値として指定することができるようになる。
【0135】
図14に示すアプリケーション登録画面G300は、プリント設定(例えば、「印刷部数」や「印刷カラーモード」等)のデフォルト値を設定するための画面である。ユーザは、デフォルト値設定欄G310において、各プリント設定のデフォルト値を設定することができる。
【0136】
また、ユーザは、設定可否欄G320において、アプリケーションの利用時にプリント設定の変更を許可するか否かを設定することができる。設定可否欄G320がチェックされたプリント設定は、アプリケーションの利用時に設定値を変更することができる。一方で、設定可否欄G320がチェックされていないプリント設定は、アプリケーションの利用時に設定値を変更することができない。したがって、ユーザは、スキャン設定の場合と同様に、設定可否欄G320をチェックしないことで、当該チェックされていないプリント設定に対して、アプリケーション固有の設定値をデフォルト値として指定することができるようになる。
【0137】
なお、ユーザは、スキャン設定及びプリント設定以外にも、基本設定や詳細設定を行うことができる。基本設定では、アプリ名や表示言語等を設定することができる。詳細設定では、アプリケーションを実現する処理フローの選択や当該処理フローのパラメータ情報等を設定することができる。
【0138】
基本設定、詳細設定、スキャン設定及びプリント設定が行われると、例えば
図15に示すアプリケーション登録画面G400が表示される。
図15に示すアプリケーション登録画面G400には、基本設定、詳細設定、スキャン設定及びプリント設定の内容が表示される確認欄G410が含まれる。ユーザは、確認欄G410を参照することで、基本設定、詳細設定、スキャン設定及びプリント設定の内容を確認することができる。
【0139】
ここで、ユーザは、確認欄G410を確認した上で、「登録」ボタンG420を押下する操作(アプリケーションの登録操作)を行ったものとする。すると、ブラウザ310は、アプリケーションの登録操作を受け付ける(ステップS1105)。
【0140】
PC端末30のブラウザ310は、アプリケーションの登録操作を受け付けると、例えば
図16に示すアプリ設定情報1200を作成する(ステップS1106)。
図16は、アプリ設定情報1200の一例を示す図である。
【0141】
図16に示すアプリ設定情報1200には、スキャン&プリントタイプであることを示す「scan&print」が設定されたアプリケーションタイプ1201が含まれる。また、
図16に示すアプリ設定情報1200には、アプリケーションを実現する一連の処理が定義された処理フロー情報1100のフロー名「code−print」が設定されたフロー名1202が含まれる。更に、
図16に示すアプリ設定情報1200には、スキャン設定デフォルトパラメータ1203と、プリント設定デフォルトパラメータ1204とが含まれる。
【0142】
スキャン設定デフォルトパラメータ1203には、
図13に示すアプリケーション登録画面G200において設定されたスキャン設定のデフォルト値を示すパラメータが設定される。また、プリント設定デフォルトパラメータ1204には、
図14に示すアプリケーション登録画面G300において設定されたプリント設定のデフォルト値を示すパラメータが設定される。これにより、ユーザにより登録されたアプリケーションは、スキャン設定デフォルトパラメータ1203及びプリント設定デフォルトパラメータ1204を、それぞれスキャン設定のデフォルト値及びプリント設定のデフォルト値として用いることができる。
【0143】
ステップS1106に続いて、PC端末30のブラウザ310は、ポータルサービス部140のアプリ登録部142に対して、アプリケーションの登録要求を送信する(ステップS1107)。アプリケーションの登録要求には、上記のステップS1106で作成したアプリ設定情報1200が含まれる。
【0144】
ポータルサービス部140のアプリ登録部142は、アプリケーションの登録要求を受信すると、入出力サービス処理部110のアプリ管理部111に対して、当該登録要求を送信する(ステップS1108)。
【0145】
入出力サービス処理部110のアプリ管理部111は、アプリケーションの登録要求を受信すると、アプリケーションを登録する(ステップS1109)。すなわち、アプリ管理部111は、アプリケーションの登録要求に含まれるアプリ設定情報1200をアプリIDと関連付けてアプリ情報記憶部170に記憶する。これにより、当該アプリ設定情報1200と、当該アプリ設定情報1200のフロー名1202に設定されたフロー名の処理フロー情報1100とが含まれるアプリ情報1000がサービス提供システム10に登録される。
【0146】
次に、ポータルサービス部140のアプリ登録部142は、アプリ状態サービス部150に対して、アプリ状態の登録要求を送信する(ステップS1110)。アプリ状態の登録要求には、上記のステップS1109で登録されたアプリ情報1000のアプリIDが含まれる。
【0147】
アプリ状態サービス部150は、アプリ状態の登録要求を受信すると、当該登録要求に含まれるアプリIDと、初期のアプリ状態(例えば「未リリース」)とを関連付けたアプリ状態情報を作成し、アプリ状態情報記憶部151に記憶させる(ステップS1111)。これにより、上記のステップS1109で登録されたアプリケーションの初期のアプリ状態がサービス提供システム10に登録される。
【0148】
そして、アプリ状態サービス部150は、入出力サービス処理部110のアプリ管理部111に対して、登録結果を返信する。
【0149】
以上により、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、サービス提供システム10にアプリケーションを登録することができる。しかも、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、例えば、フロー名、スキャン設定やプリント設定等のデフォルト値等を設定することで、容易にアプリケーション(アプリ情報1000)を登録することができる。
【0150】
したがって、本実施形態に係る情報処理システム1によれば、例えば、プログラミング言語等の専門的な知識や経験を有しないユーザ(例えば企画担当者等)であっても、各種サービスを提供するアプリケーション(アプリ情報1000)を登録することができる。
【0151】
≪アプリ状態の変更≫
以降では、サービス提供システム10に登録されているアプリケーションのアプリ状態を変更する処理について、
図17を参照しながら説明する。
図17は、アプリ状態の変更処理の一例を示すシーケンス図である。
【0152】
まず、PC端末30のブラウザ310は、アプリ状態変更画面を表示させるための操作(アプリ状態変更画面の表示操作)を受け付ける(ステップS1701)。なお、PC端末30のユーザは、例えば、ポータルトップ画面において、アプリ状態の変更を所望するアプリケーションを指定した上で、アプリ状態変更画面へのリンクボタン等を押下することで、アプリ状態変更画面の表示操作を行うことができる。
【0153】
PC端末30のブラウザ310は、アプリ状態変更画面の表示操作を受け付けると、ポータルサービス部140のUI提供部141に対して、アプリ状態変更画面の表示要求を送信する(ステップS1702)。アプリ状態変更画面の表示要求には、ユーザにより指定されたアプリケーションのアプリIDが含まれる。
【0154】
ポータルサービス部140のUI提供部141は、アプリ状態変更画面の表示要求を受信すると、アプリ状態サービス部150に対して、アプリ状態の取得要求を送信する(ステップS1703)。アプリ状態の取得要求には、上記のアプリIDが含まれる。
【0155】
アプリ状態サービス部150は、アプリ状態の取得要求を受信すると、当該取得要求に含まれるアプリIDと関連付けられているアプリ状態をアプリ状態情報記憶部151から取得する(ステップS1704)。そして、アプリ状態サービス部150は、UI提供部141に対して、取得したアプリ状態を返信する。これにより、ユーザにより指定されたアプリケーションの現在のアプリ状態が返信される。
【0156】
ポータルサービス部140のUI提供部141は、アプリ状態サービス部150からアプリ状態が返信されると、アプリ状態変更画面のポータル画面情報3000をポータル画面情報記憶部190から取得する(ステップS1705)。
【0157】
そして、UI提供部141は、ポータル画面情報記憶部190から取得したポータル画面情報3000をブラウザ310に返信する。
【0158】
PC端末30のブラウザ310は、アプリ状態変更画面のポータル画面情報3000及びアプリ状態を受信すると、当該ポータル画面情報3000及びアプリ状態に基づいて、例えば
図18に示すアプリ状態変更画面G500を表示する(ステップS1706)。
【0159】
図18に示すアプリ状態変更画面G500は、アプリ状態の変更を行うための画面であり、「アプリ状態の変更」ボタンG510が含まれる。ユーザにより「アプリ状態の変更」ボタンG510が押下されると、アプリ状態一覧G520が表示される。ユーザは、アプリ状態一覧G520の中から所望のアプリ状態を選択した上で、OKボタンG530を押下することで、アプリ状態の変更操作を行うことができる。なお、
図18に示す例では、現在のアプリ状態が「未リリース」であるため、アプリ状態一覧G520において、「未リリース」が選択できないようにグレーアウトされている。
【0160】
ここで、アプリケーションが、「編集可」又は「編集不可」を考慮したアプリ状態を取り得る場合、上記のステップS1706において、ブラウザ310は、
図19に示すアプリ状態変更画面G600を表示しても良い。
【0161】
図19に示すアプリ状態変更画面G600は、上記の
図18に示すアプリ状態変更画面G500に対して、「編集可否」ボタンG610が含まれる。現在のアプリ状態が「利用可能(編集可)」、「利用可能(編集不可)」、「一時停止(編集可)」又は「一時停止(編集不可)」である場合、ユーザは、「編集可否」ボタンG610を押下することができる。ユーザにより「編集可否」ボタンG610が押下されると、編集可否一覧G620が表示される。ユーザは、編集可否一覧G620の中から「編集可」又は「編集不可」を選択した上で、OKボタンG630を押下することで、アプリ状態の変更操作を行うことができる。なお、
図19に示す例では、現在のアプリ状態が「利用可能(編集不可)」であるため、編集可否一覧G620において、「編集不可」が選択できないようにグレーアウトされている。
【0162】
ステップS1706に続いて、PC端末30のブラウザ310は、アプリ状態の変更操作を受け付ける(ステップS1707)。
【0163】
PC端末30のブラウザ310は、アプリ状態の変更操作を受け付けると、アプリ状態サービス部150に対して、アプリ状態の変更要求を送信する(ステップS1708)。アプリ状態の変更要求には、アプリ状態の変更操作を行ったユーザのユーザIDと、変更対象のアプリケーションのアプリIDと、変更後のアプリ状態とが含まれる。
【0164】
アプリ状態サービス部150は、アプリ状態の変更要求を受信すると、権限サービス部160に対して、権限の確認要求を送信する(ステップS1709)。権限の確認要求には、上記のユーザIDが含まれる。
【0165】
権限サービス部160は、権限の確認要求を受信すると、権限情報記憶部161を参照して、当該確認要求に含まれるユーザIDと関連付けられている権限を確認する(ステップS1710)。そして、権限サービス部160は、アプリ状態サービス部150に対して、確認した権限を示す確認結果を返信する。
【0166】
「管理者権限」を示す確認結果が返信された場合、アプリ状態サービス部150は、アプリ状態を変更する(ステップS1711)。すなわち、アプリ状態サービス部150は、アプリ状態情報記憶部151に記憶されているアプリ状態のうち、当該アプリIDが含まれるアプリ状態情報のアプリ状態を、変更後のアプリ状態に更新する。これにより、アプリケーションのアプリ状態が変更される。
【0167】
そして、アプリ状態サービス部150は、PC端末30のブラウザ310に対して、アプリ状態が変更されたことを示す変更結果を返信する。
【0168】
一方で、「開発者権限」又は「一般権限」を示す確認結果が返信された場合、アプリ状態サービス部150は、PC端末30のブラウザ310に対して、アプリ状態が変更できないことを示す変更不可エラーを返信する。このように、PC端末30のユーザの権限が「開発者権限」又は「一般権限」である場合、アプリ状態サービス部150は、アプリ状態の変更を許可しない。
【0169】
以上により、本実施形態に係る情報処理システム1では、管理者権限が付与されたユーザがPC端末30を用いて、サービス提供システム10に登録されているアプリケーションのアプリ状態を変更することができる。
【0170】
アプリ状態の変更する場合には、例えば、サービス提供システム10に登録したアプリケーションをリリースする場合が挙げられる。この場合、例えば、アプリ状態を「未リリース」から「利用可能(編集不可)」に変更すれば良い。これにより、機器20のユーザは、当該アプリケーションを利用することができるようになる。
【0171】
また、例えば、リリースされたアプリケーションに対して軽微な修正を行う場合が挙げられる。この場合、例えば、アプリ状態を「利用可能(編集不可)から「利用可能(編集可)」に変更すれば良い。これにより、機器20のユーザに対して当該アプリケーションを利用させつつ、開発者権限が付与されたユーザが当該アプリケーションを編集することができるようになる。
【0172】
更に、例えば、リリースされたアプリケーションにバグや何等かの問題(例えば、セキュリティに関する問題や著作権等の法的な問題等)が発見され、調査や修正等が必要となった場合が挙げられる。この場合、例えば、アプリ状態を「利用可能(編集不可)」(又は「利用可能(編集可能)」)から「一時停止(編集可)」に変更すれば良い。これにより、機器20のユーザが当該アプリケーションを利用することを一時的に停止した上で、開発者権限が付与されたユーザが当該アプリケーションを編集することができるようになる。
【0173】
なお、
図17では、管理者権限が付与されたユーザに限りアプリ状態の変更を許可したが、これに限られない。例えば、管理者権限が付与されたユーザに加えて、開発者権限が付与されたユーザもアプリ状態の変更が許可されても良い。又は、例えば、アプリ状態の変更を行うための特別な権限(例えばアプリ状態変更権限)が付与されたユーザに限りアプリ状態の変更が許可されても良い。
【0174】
≪アプリ設定の変更≫
以降では、サービス提供システム10に登録されているアプリケーションのアプリ設定(すなわち、アプリ設定情報1200)を変更する処理について、
図20を参照しながら説明する。
図20は、アプリ設定の変更処理の一例を示すシーケンス図である。
【0175】
まず、PC端末30のブラウザ310は、アプリ設定変更画面を表示させるための操作(アプリ設定変更画面の表示操作)を受け付ける(ステップS2001)。なお、PC端末30のユーザは、例えば、ポータルトップ画面において、アプリ設定の変更を所望するアプリケーションを指定した上で、アプリ設定変更画面へのリンクボタン等を押下することで、アプリ設定変更画面の表示操作を行うことができる。
【0176】
PC端末30のブラウザ310は、アプリ設定変更画面の表示操作を受け付けると、ポータルサービス部140のUI提供部141に対して、アプリ設定変更画面の表示要求を送信する(ステップS2002)。アプリ設定変更画面の表示要求には、ユーザにより指定されたアプリケーションのアプリIDが含まれる。
【0177】
ポータルサービス部140のUI提供部141は、アプリ設定変更画面の表示要求を受信すると、入出力サービス処理部110のアプリ管理部111に対して、アプリ設定の取得要求を送信する(ステップS2003)。アプリ設定の取得要求には、上記のアプリIDが含まれる。
【0178】
入出力サービス処理部110のアプリ管理部111は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリIDと関連付けられているアプリ設定情報1200をアプリ情報記憶部170から取得する(ステップS2004)。そして、アプリ管理部111は、UI提供部141に対して、取得したアプリ設定情報1200を返信する。これにより、ユーザにより指定されたアプリケーションの現在のアプリ設定が返信される。
【0179】
ポータルサービス部140のUI提供部141は、アプリ管理部111からアプリ設定情報1200が返信されると、アプリ設定変更画面のポータル画面情報3000をポータル画面情報記憶部190から取得する(ステップS2005)。
【0180】
そして、UI提供部141は、ポータル画面情報記憶部190から取得したポータル画面情報3000をブラウザ310に返信する。
【0181】
PC端末30のブラウザ310は、アプリ設定変更画面のポータル画面情報3000を受信すると、当該ポータル画面情報3000に基づいて、アプリ設定変更画面を表示する(ステップS2006)。アプリ設定変更画面とは、例えば、
図13に示すアプリケーション登録画面G200や
図14に示すアプリケーション登録画面G300のように、スキャン設定やプリント設定のデフォルト値等を変更するための画面である。ユーザは、アプリ設定変更画面において、所望のアプリ設定の設定値を指定することで、アプリ設定の変更操作を行うことができる。
【0182】
PC端末30のブラウザ310は、アプリ設定の変更操作を受け付ける(ステップS2007)。
【0183】
PC端末30のブラウザ310は、アプリ設定の変更操作を受け付けると、入出力サービス処理部110のアプリ管理部111に対して、アプリ設定の変更要求を送信する(ステップS2008)。アプリ設定の変更要求には、アプリ設定の変更操作を行ったユーザのユーザIDと、変更対象のアプリケーションのアプリIDと、変更後のアプリ設定情報1200とが含まれる。
【0184】
入出力サービス処理部110のアプリ管理部111は、アプリ設定の変更要求を受信すると、権限サービス部160に対して、権限の確認要求を送信する(ステップS2009)。権限の確認要求には、上記のユーザIDが含まれる。
【0185】
権限サービス部160は、権限の確認要求を受信すると、権限情報記憶部161を参照して、当該確認要求に含まれるユーザIDと関連付けられている権限を確認する(ステップS2010)。そして、権限サービス部160は、アプリ管理部111に対して、確認した権限を示す確認結果を返信する。
【0186】
「開発者権限」を示す確認結果が返信された場合、入出力サービス処理部110のアプリ管理部111は、アプリ状態サービス部150に対して、編集可否の確認要求を送信する(ステップS2011)。編集可否の確認要求には、変更対象のアプリケーションのアプリIDが含まれる。
【0187】
アプリ状態サービス部150は、編集可否の確認要求を受信すると、アプリ状態情報記憶部151を参照して、当該確認要求に含まれるアプリIDと関連付けられているアプリ状態を確認する(ステップS2012)。そして、アプリ状態サービス部150は、アプリ管理部111に対して、確認したアプリ状態を示す確認結果を返信する。
【0188】
「利用可能(編集可)」又は「一時停止(編集可)」を示す確認結果が返信された場合、入出力サービス処理部110のアプリ管理部111は、アプリ設定を変更する(ステップS2013)。すなわち、アプリ管理部111は、アプリ情報記憶部170に記憶されているアプリ設定情報1200のうち、当該アプリIDと関連付けられているアプリ設定情報1200を、変更後のアプリ設定情報1200に更新する。これによりアプリケーションのアプリ設定が変更される。
【0189】
そして、入出力サービス処理部110のアプリ管理部111は、PC端末30のブラウザ310に対して、アプリ設定が変更されたことを示す変更結果を返信する。
【0190】
一方で、「管理者権限」又は「一般権限」を示す確認結果が権限サービス部160から返信された場合、入出力サービス処理部110のアプリ管理部111は、PC端末30のブラウザ310に対して、アプリ設定が変更できないことを示す変更不可エラーを返信する。同様に、「利用可能(編集不可)」又は「一時停止(編集不可)」を示す確認結果がアプリ状態サービス部150から返信された場合、入出力サービス処理部110のアプリ管理部111は、PC端末30のブラウザ310に対して、変更不可エラーを返信する。このように、PC端末30のユーザの権限が「管理者権限」若しくは「一般権限」である場合、又は、アプリ状態が「利用可能(編集不可)」若しくは「一時停止(編集不可)」である場合、アプリ管理部111は、アプリ設定の変更を許可しない。
【0191】
以上により、本実施形態に係る情報処理システム1では、アプリ状態が「利用可能(編集可)」又は「一時停止(編集可)」である場合に、開発者権限が付与されたユーザがPC端末30を用いて、サービス提供システム10に登録されているアプリケーションのアプリ設定を変更することができる。なお、
図21では、開発者権限が付与されたユーザに限りアプリ設定の変更を許可したが、これに限られない。例えば、開発者権限が付与されたユーザに加えて、管理者権限が付与されたユーザもアプリ設定の変更が許可されても良い。又は、例えば、アプリ設定の変更を行うための特別な権限(例えばアプリ設定変更権限)が付与されたユーザに限りアプリ設定の変更が許可されても良い。
【0192】
≪サービスの利用≫
以降では、機器20のユーザが、QRコード印刷アプリケーションにより提供されるQRコード印刷サービスを利用する場合について、
図21を参照しながら説明する。
図21は、QRコード印刷サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【0193】
まず、機器20のブラウザ210は、アプリ画面を表示させるための操作(アプリ画面の表示操作)を受け付ける(ステップS2101)。なお、機器20のユーザは、例えば、アプリ画面のURLが設定されたショートカットボタン等を押下することで、アプリ画面の表示操作を行うことができる。
【0194】
機器20のブラウザ210は、アプリ画面の表示操作を受け付けると、Webサービス処理部120の画面構成部121に対して、アプリ画面の表示要求を送信する(ステップS2102)。アプリ画面の表示要求には、ユーザが属するテナントに適用されたライセンスで利用可能なアプリケーションのアプリIDが含まれる。
【0195】
Webサービス処理部120の画面構成部121は、アプリ画面の表示要求を受信すると、入出力サービス処理部110のアプリ管理部111に対して、アプリ設定及びアプリ状態の取得要求を送信する(ステップS2103)。アプリ設定及びアプリ状態の取得要求には、上記のアプリIDが含まれる。
【0196】
入出力サービス処理部110のアプリ管理部111は、アプリ設定及びアプリ状態の取得要求を受信すると、アプリ状態サービス部150に対して、アプリ状態の取得要求を送信する(ステップS2104)。アプリ状態の取得要求には、上記のアプリIDが含まれる。
【0197】
アプリ状態サービス部150は、アプリ状態の取得要求を受信すると、当該取得要求に含まれるアプリIDと関連付けられているアプリ状態をアプリ状態情報記憶部151から取得する(ステップS2105)。なお、アプリ状態サービス部150は、当該取得要求に複数のアプリIDが含まれている場合、これら複数のアプリIDとそれぞれ関連付けられているアプリ状態をアプリ状態情報記憶部151から取得する。
【0198】
そして、アプリ状態サービス部150は、アプリ管理部111に対して、取得したアプリ状態を返信する。
【0199】
入出力サービス処理部110のアプリ管理部111は、アプリ状態がアプリ状態サービス部150から返信されると、当該取得要求に含まれるアプリIDと関連付けられているアプリ設定情報1200をアプリ情報記憶部170から取得する(ステップS2106)。なお、アプリ管理部111は、アプリ設定及びアプリ状態の取得要求に複数のアプリIDが含まれている場合、これら複数のアプリIDとそれぞれ関連付けられているアプリ設定情報1200をアプリ情報記憶部170から取得する。
【0200】
そして、アプリ管理部111は、画面構成部121に対して、アプリ設定情報1200及びアプリ状態を返信する。
【0201】
Webサービス処理部120の画面構成部121は、アプリ設定情報1200及びアプリ状態がアプリ管理部111から返信されると、アプリ画面情報2000をアプリ画面情報記憶部180から取得する(ステップS2107)。そして、画面構成部121は、機器20のブラウザ210に対して、アプリ画面情報記憶部180から取得したアプリ画面情報2000と、アプリ設定情報1200と、アプリ状態とを返信する。
【0202】
機器20のブラウザ210は、受信したアプリ画面情報2000とアプリ設定情報1200とアプリ状態とに基づいて、例えば
図22に示すアプリ画面G700を表示する(ステップS2108)。このとき、ブラウザ210は、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」であるアプリケーションをユーザが選択できないようにする。
【0203】
図22に示すアプリ画面G700は、ユーザが属するテナントに適用されたライセンスで利用可能なアプリケーションが表示される画面である。
図22に示すアプリ画面G700では、「○○アプリ」を示すアイコンG710と、「△△アプリ」を示すアイコンG720と、「QRコード印刷アプリ」を示すアイコンG730とが含まれる。このとき、例えば、「○○アプリ」のアプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」であった場合、「○○アプリ」を示すアイコンG710は、ユーザが選択できないようにグレーアウトされる。
【0204】
このように、
図22に示すアプリ画面G700では、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」であるアプリケーションがグレーアウトされる。これにより、ユーザは、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」であるアプリケーションを選択することができなくなる。このように、ユーザは、自身が属するテナントに適用されているライセンスで利用可能なアプリケーションのうち、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」のアプリケーションを選択することができなくなる。
【0205】
なお、グレーアウトする場合に限られず、例えば、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」であるアプリケーションが表示されないようにしても良い。又は、例えば、アプリ状態が「一時停止(編集可)」又は「一時停止(編集不可)」であるアプリケーションが選択された場合に、当該アプリケーションは利用できない旨を表示するようにしても良い。
【0206】
ここで、例えば、アイコンG730をユーザが選択した場合、ブラウザ210により、例えば
図22に示すアプリ画面G800が表示される。
図22に示すアプリ画面G800は、QRコード印刷アプリを利用するための画面である。
【0207】
図22に示すアプリ画面G800には、パラメータ入力エリアG810と、「スタート」ボタンG820とが含まれる。また、パラメータ入力エリアG810には、埋め込み文字列入力欄G811と、位置入力欄G812とが含まれる。
【0208】
ユーザは、QRコードに埋め込む文字列を埋め込み文字列入力欄G811に入力すると共に、QRコードを重畳させる電子ファイル上の位置を位置入力欄G812に入力した上で、「スタート」ボタンG820を押下することで、実行操作を行うことができる。
【0209】
なお、
図22に示すアプリ画面G800において、「読み取り設定」ボタンを押下することで、ユーザは、スキャン設定をデフォルト値から変更するための画面に遷移することができる。同様に、
図22に示すアプリ画面G800において、「印刷設定」ボタンを押下することで、ユーザは、プリント設定をデフォルト値から変更するための画面に遷移することができる。
【0210】
機器20のブラウザ210は、実行操作を受け付ける(ステップS2109)。機器20のブラウザ210は、実行操作を受け付けると、スキャナ26を制御して、原稿を読み取ることで、電子ファイル(画像ファイル)を生成する(ステップS2110)。なお、このとき、アプリ設定情報1200のスキャン設定デフォルトパラメータ1203に設定されたデフォルト値又はユーザにより指定された設定値を用いて原稿の読み取りが行われる。
【0211】
機器20のブラウザ210は、電子ファイル(画像ファイル)が生成されると、Webサービス処理部120のアプリ実行部122に対して、アプリケーションの実行要求を送信する(ステップS2111)。アプリケーションの実行要求には、アプリ設定情報1200に定義されたフロー名と、上記のステップS2110で生成された電子ファイルと、パラメータ設定情報とが含まれる。
【0212】
ここで、アプリケーションの実行要求に含まれるフロー名は、QRコード印刷サービスを実現する一連の処理の処理フロー情報1100を示す「code−print」である。また、パラメータ設定情報は、アプリ画面G800でパラメータ値が指定されたパラメータ情報(すなわち、パラメータ入力エリアG810に入力されたパラメータ値が指定されたパラメータ情報)である。
【0213】
Webサービス処理部120のアプリ実行部122は、アプリケーションの実行要求を受信すると、入出力サービス処理部110のロジック処理部112に対して、当該実行要求を送信する(ステップS2112)。
【0214】
入出力サービス処理部110のロジック処理部112は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う(ステップS2113)。すなわち、ロジック処理部112は、当該実行要求に含まれるフロー名の処理フロー情報1100に基づく一連の処理を実行する。なお、処理フローの実行処理の詳細については後述する。
【0215】
そして、ロジック処理部112は、アプリ実行部122に対して、処理フローの実行処理の処理結果を返信する。また、アプリ実行部122は、ブラウザ210に対して、当該処理結果を返信する。ブラウザ210に返信される処理結果は、QRコードが重畳された電子ファイルである。
【0216】
機器20のブラウザ210は、処理結果がアプリ実行部122から返信されると、プリンタ25を制御して、QRコードが重畳された電子ファイルを印刷する(ステップS2114)。これにより、本実施形態に係るサービス提供システム10は、QRコード印刷サービスを提供することができる。
【0217】
ここで、処理フローの実行処理(
図21のステップS2113の処理)の詳細について、
図23を参照しながら説明する。
図23は、QRコード印刷サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【0218】
フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、アプリ管理部111に対して、処理フロー情報の取得要求を送信する(ステップS2301)。処理フロー情報の取得要求には、フロー名「code−print」が含まれる。
【0219】
アプリ管理部111は、処理フローの取得要求を受信すると、当該取得要求に含まれるフロー名「code−print」の処理フロー情報1100をアプリ情報記憶部170から取得する(ステップS2302)。そして、アプリ管理部111は、フロー実行部301に対して、アプリ情報記憶部170から取得した処理フロー情報1100(すなわち、
図10に示す処理フロー情報1100)を返信する。
【0220】
次に、フロー実行部301は、コンポーネント管理部302に対して、処理フロー情報1100に基づくコンポーネントの取得要求を送信する(ステップS2303)。すなわち、フロー実行部301は、コンポーネント管理部302に対して、
図10に示す処理フロー情報1100の詳細処理定義1110に含まれる「component」に定義されているコンポーネント名「code」のコンポーネントの取得要求を送信する。
【0221】
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「code」のコンポーネント(すなわち、コードコンポーネント1310)を生成する(ステップS2304)。コードコンポーネント1310の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
【0222】
そして、コンポーネント管理部302は、フロー実行部301に対して、生成したコードコンポーネント1310を返信する。すなわち、コンポーネント管理部302は、フロー実行部301に対して、例えば、コードコンポーネント1310が展開されたメモリ(例えばRAM14)上のアドレスを返信する。
【0223】
次に、フロー実行部301は、コードコンポーネント1310に対して、コンポーネント実行要求を送信する(ステップS2305)。コンポーネント実行要求には、データと、パラメータ情報とが含まれる。
【0224】
ここで、データとは、データ型「InputStream」として、ブラウザ210から受信した電子ファイルである。すなわち、フロー実行部301は、ブラウザ210から受信した電子ファイルを、単に「データ」として(データ型を意識することなく)、コードコンポーネント1310に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない電子ファイル等の各種情報を、単に「データ」と表す。
【0225】
また、パラメータ情報は、アプリケーションの実行要求に含まれるパラメータ情報のうち、コードコンポーネント1310が用いるパラメータ情報(すなわち、文字列入力欄G811に入力されたパラメータ値が指定されたパラメータ情報)である。
【0226】
コードコンポーネント1310は、コンポーネント実行要求を受信すると、型変換管理部304に対して、型変換要求を送信する(ステップS2306)。型変換要求には、データと、コードコンポーネント1310が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
【0227】
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS2307)。
【0228】
ここで、型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
【0229】
すると、型変換管理部304は、型変換情報テーブル4000を参照して、データ型「InputStream」を「LocalFilePath」に変換するための型変換を特定する(ここでは、第1の型変換1410が特定される。)。そして、型変換管理部304は、特定した第1の型変換1410を生成する(ステップS2308)。なお、第1の型変換1410の生成は、型変換共通I/F1400を用いて行うことができる。
【0230】
次に、型変換管理部304は、第1の型変換1410に対して、型変換処理の実行要求を送信する(ステップS2309)。第1の型変換1410は、型変換の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する型変換処理を行う(ステップS2310)。そして、第1の型変換1410は、型変換管理部304に対して、データ型が変換されたデータを返信する。
【0231】
型変換管理部304は、第1の型変換1410からデータ(データ型が変換されたデータ)を受信すると、コードコンポーネント1310に対して、当該データを送信する(ステップS2311)。
【0232】
コードコンポーネント1310は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS2312)。すなわち、コードコンポーネント1310は、
図22に示すアプリ画面G800の埋め込み文字列入力欄G811に入力された文字列が埋め込まれたQRコードを生成する。
【0233】
そして、コードコンポーネント1310は、フロー実行部301に対して、処理結果(すなわち、QRコード)と、電子ファイル(すなわち、ブラウザ210から受信した電子ファイル)とを示すデータを返信する。
【0234】
次に、フロー実行部301は、コンポーネント管理部302に対して、処理フロー情報1100に基づくコンポーネントの取得要求を送信する(ステップS2313)。すなわち、フロー実行部301は、コンポーネント管理部302に対して、
図10に示す処理フロー情報1100の詳細処理定義1120に含まれる「component」に定義されているコンポーネント名「stamp」のコンポーネントの取得要求を送信する。
【0235】
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「stamp」のコンポーネント(すなわち、スタンプコンポーネント1320)を生成する(ステップS2314)。スタンプコンポーネント1320の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
【0236】
そして、コンポーネント管理部302は、フロー実行部301に対して、生成したスタンプコンポーネント1320を返信する。すなわち、コンポーネント管理部302は、フロー実行部301に対して、例えば、スタンプコンポーネント1320が展開されたメモリ(例えばRAM14)上のアドレスを返信する。
【0237】
次に、フロー実行部301は、スタンプコンポーネント1320に対して、コンポーネント実行要求を送信する(ステップS2315)。なお、当該実行要求には、データ型「LocalFilePath」のデータと、パラメータ情報とが含まれる。パラメータ情報は、アプリケーションの実行要求に含まれるパラメータ情報のうち、スタンプコンポーネント1320が用いるパラメータ情報(すなわち、位置入力欄G812に入力されたパラメータ値が指定されたパラメータ情報)である。
【0238】
スタンプコンポーネント1320は、コンポーネント実行要求を受信すると、型変換管理部304に対して、型変換要求を送信する(ステップS2316)。型変換要求には、データと、スタンプコンポーネント1320が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
【0239】
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS2317)。
【0240】
ここで、型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【0241】
すると、型変換管理部304は、スタンプコンポーネント1320に対して、型変換要求に含まれるデータを送信する(ステップS2318)。
【0242】
スタンプコンポーネント1320は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS2319)。すなわち、スタンプコンポーネント1320は、電子ファイルについて、
図22に示すアプリ画面G800の位置入力欄G812に入力された位置にQRコードを重畳させる。これにより、指定された位置にQRコードが重畳された電子ファイルが作成される。
【0243】
そして、スタンプコンポーネント1320は、フロー実行部301に対して、QRコードが重畳された電子ファイルを示すデータを返信する。
【0244】
以上により、
図10に示す処理フロー情報1100に基づく一連の処理(処理フロー)の実行が完了する。これにより、本実施形態に係るサービス提供システム10は、機器20に対して、QRコードが重畳された電子ファイルを送信することができる。そして、機器20で当該電子ファイルを印刷することで、QRコード印刷サービスをユーザ提供することができる。
【0245】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。