(58)【調査した分野】(Int.Cl.,DB名)
クラウドサービスを提供するためのクラウドシステムからのアクセスが制限される内部ネットワークに設けられた処理装置と通信可能に接続される情報処理サーバであって、
前記クラウドシステムで管理されるジョブを取得するジョブ取得手段と、
前記ジョブ取得手段で取得したジョブに応じて、所定の処理の実行を前記処理装置に対して指示するジョブ実行手段と
を備えることを特徴とする情報処理サーバ。
前記ジョブ実行手段は、前記ジョブ取得手段で取得したジョブに対応する定義ファイルで定義された一連の処理を、当該処理に対応するアダプタを用いて実行することを特徴とする請求項2に記載の情報処理サーバ。
前記ジョブ実行手段は、前記ジョブ取得手段で取得したジョブに含まれるパラメータと、所定のテンプレートとに基づいて生成された帳票データを用いて前記所定の処理を実行することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理サーバ。
前記ジョブ実行手段は、当該ジョブ実行手段で実行がされていないジョブに応じて、所定の処理の実行を前記処理装置に対して指示することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理サーバ。
前記内部ネットワークは、当該内部ネットワークに備えられたファイアウォールによって前記クラウドシステムからの通信を制限することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理サーバ。
クラウドサービスを提供するためのクラウドシステムからのアクセスが制限される内部ネットワークに設けられた処理装置と通信可能に接続される情報処理サーバの制御方法であって、
前記クラウドシステムで管理されるジョブを取得するジョブ取得工程と、
前記ジョブ取得工程で取得したジョブに応じて、所定の処理の実行を前記処理装置に対して指示するジョブ実行工程と
を備えることを特徴とする情報処理サーバの制御方法。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の実施形態の一例について説明する。
【0016】
図1は、本発明の情報処理システムのシステム構成の一例を示す図である。画像処理サーバ101(情報処理サーバ)と、クライアント端末102と、社内システム103と、複合機104とがLAN106(Local Area Network)等のネットワーク(第2のネットワーク)を介して、相互にデータ通信可能に接続されている。また、クラウドシステム105がインターネット108等のネットワーク(第1のネットワーク)に接続されている。更には、LAN106とインターネット108とは、ファイアウォール107を介して接続されている。本発明においては、これらの各種装置やサーバを含めたものを情報処理システムと称する。尚、
図1のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0017】
画像処理サーバ101は、クラウドシステム105における処理の実行指示を受けて、社内システム103や複合機104に対する処理の実行を指示するためのサーバである。クラウドシステム105と社内システム103との連携を仲介する機能、複合機104やプリンタなどの各種デバイスと連携する機能、帳票を生成する機能などを有している。本実施形態においては、画像処理サーバ101はサーバ装置として説明を行うが、パーソナルコンピュータのような情報処理装置であってもよい。
【0018】
クライアント端末102は、ユーザからの指示を受け付けて、画像処理サーバ101やクラウドシステム105に対して処理の実行を指示するための情報処理装置である。画像処理サーバ101におけるアプリケーション開発、クラウドシステム105における業務アプリケーションの開発、クラウドシステム105における業務アプリケーションの利用(操作)をするための機能を提供する。
【0019】
社内システム103は、ファイアウォール107の内側に設置されるオンプレミスのシステムである。例えば、ERP(Enterprise Resource Planning)に代表される基幹システムや、SFA(Sales Force Automation)やECM(Enterprise Contents Management)などの情報系システムが含まれる。
【0020】
複合機104は、プリンタやスキャナといったオフィスデバイスである。画像処理サーバ101で生成した帳票を印刷する機能や、紙のデータをスキャンして画像処理サーバ101や各種システムに格納するためのスキャナとしての機能を提供する。
【0021】
本実施形態では、ファイアウォール107の内側に設置された社内システム103と複合機104に対してクラウドシステム105から処理を実行する形態について説明するが、ファイアウォール107の内側に設置された装置やシステム(処理装置)であれば、社内システム103や複合機104に限らない。クライアント端末102であってもよいし、その他のデバイスであってもよい。
【0022】
クラウドシステム105は、インターネット108を通じてコンピュータ資源(ハードウェア、ソフトウェア、処理性能、記憶領域等)をサービスとして提供するシステムである。本実施形態におけるクラウドシステム105は、業務アプリケーションの開発が可能となっている。
【0023】
また、本実施形態におけるクラウドシステム105は、1台のサーバから構成されてもよいし、複数台のサーバから構成されるサーバ群であってもよい。後者の場合、当該複数台のサーバを仮想化し、あたかも1台のコンピュータであるかのように起動するサーバが考えられる。そのようなサーバがクラウドコンピューティングを想定しているのであれば、サーバは自身のシステム内に仮想マシンを複数台生成することが考えられる。そして、そのようなサーバはその複数台の仮想マシンを利用し、並列で処理を行う。
【0024】
ファイアウォール107は、LAN106とインターネット108との間に設置されるファイアウォールである。ファイアウォール107は、インターネット108からオンプレミスに対する通信は、限定されたもの(例えば電子メールなど)のみを通過させるようにし、その他の通信は不正アクセスとみなして遮断する、といった機能を提供する。本実施形態においても、セキュリティ上の観点からクラウドシステム105からLAN106に接続された装置やシステムに対するリクエストが通らないよう、ファイアウォール107が通信を制御する。
【0025】
図2は、本発明の実施形態における画像処理サーバ101、クライアント端末102、クラウドシステム105のハードウェア構成の一例を示す図である。
【0026】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0027】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
【0028】
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
【0029】
また、入力コントローラ(入力C)205は、キーボードやマウス等のポインティングデバイスといった入力デバイス209からの入力を制御する。
【0030】
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。表示器はCRTや液晶ディスプレイでも構わない。
【0031】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
【0032】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0033】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0034】
本発明の各種装置及びサーバが後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
【0035】
次に、画像処理サーバ101、クライアント端末102、クラウドシステム105のモジュール構成を示す機能構成図について、
図3を用いて説明する。尚、
図3の各種端末あるいはサーバの機能構成は一例であり、用途や目的に応じて様々な構成例がある。
【0036】
画像処理サーバ101は、リクエスト処理部311、ジョブ取得部312、定義ファイル記憶部313、定義ファイル取得部314、ジョブ実行部315、アダプタ部316、実行状態登録部317、インターフェイスファイル生成部318を備える。
【0037】
リクエスト処理部311は、クライアント端末102からのリクエストを処理するための機能部である。より具体的には、アプリケーションのインストール要求や後述するインターフェイスファイルの取得要求等のリクエストを処理する。
【0038】
ジョブ取得部312は、クラウドシステム105で生成されたジョブを一定間隔でクラウドシステム105から取得するための機能部である。クラウドシステム105では、画像処理サーバ101のアプリケーションで実行可能なジョブをクラウドシステム105の外部メモリ211等に生成する。画像処理サーバ101は、この生成されたジョブを取得し、クラウドシステム105の代わりに社内システム103や複合機104に対して所定の処理の実行を指示する。こうすることで、クラウドシステム105が社内システム103や複合機104といった処理装置に対して直接リクエストを送信することなく、連携させることが可能となる。
【0039】
定義ファイル記憶部313(定義ファイル記憶手段)は、ジョブに対応する一連の処理の流れを定義した定義ファイルを記憶する記憶部である。定義ファイルは、例えばBPEL(Business Process Execution Language)によって記述されたファイルである。定義ファイルに一連の処理の流れを記載しておけば、ジョブの実行に伴って当該一連の処理が実行される。より具体的には、ジョブに含まれるパラメータと帳票データのテンプレートとを取得し、これらに基づいて帳票データを生成し、複合機104に印刷指示を出すという一連の処理の流れをBPELを用いて定義ファイルに定義しておくと、定義した処理の流れに沿ってアプリケーションが処理を実行する。
【0040】
定義ファイル取得部314は、ジョブ取得部312で取得したジョブに対応する定義ファイルを定義ファイル記憶部313から取得するための機能部である。
【0041】
ジョブ実行部315は、定義ファイル取得部314で取得した定義ファイルが示す一連の処理の流れを実行するための機能部である。ジョブ実行部315が定義ファイルに基づいて処理を実行することで、画像処理サーバ101にインストールされたアプリケーションが社内システム103や複合機104に対して所定の処理の実行を指示することになる。
【0042】
アダプタ部316は、定義ファイルが示す各処理を実行するためのアダプタ(モジュール)である。アダプタ部316は必要に応じて画像処理サーバ101に追加可能なものである。本実施形態では、クラウドシステム連携部316−1、社内システム連携部316−2、複合機連携部316−3を備える。
【0043】
クラウドシステム連携部316−1は、クラウドシステム105と情報の送受信を行うためのアダプタである。社内システム連携部316−2は、社内システム103と情報の送受信を行うためのアダプタである。複合機連携部316−3は、複合機104と情報の送受信を行うためのアダプタである。これらの連携アダプタを用いることで、画像処理サーバ101と他のシステムや装置との連携を可能としている。本実施形態では以上のアダプタを用いるものとして説明を行うが、これ以外のアダプタを備えてもよい。例えば、帳票データを生成するためのアダプタやファイル形式を変換するアダプタ等である。
【0044】
実行状態登録部317は、ジョブ実行部315で実行しているジョブの実行状態をクラウドシステム105に登録するための機能部である。実行状態は、例えば「未実行(ready)」、「実行中(processing)」、「実行済(done)」のようなステータスで管理をする。ジョブの実行状態を管理することで、ジョブを重複して実行しないようにしたり、ユーザに対してジョブの実行状態を通知したりすることが可能となる。
【0045】
インターフェイスファイル生成部318は、画像処理サーバ101にインストールされたアプリケーションで実行可能なジョブをクラウドシステム105が生成するためのインターフェイスファイルを生成する機能部である。インターフェイスファイルについては、後述する。
【0046】
クライアント端末102は、Webブラウザ部321を備える。Webブラウザ部321は、HTML(HyperText Markup Language)等の言語で記述されたWebページを表示するためのWebブラウザである。クラウドシステム105で生成された画面を表示する機能を有する。
【0047】
クラウドシステム105は、リクエスト処理部351、ジョブ登録部352、実行状態通知部353、画面生成部354、業務アプリケーション生成部355、DB記憶部356を備える。
【0048】
リクエスト処理部351は、画像処理サーバ101やクライアント端末102からのリクエストを処理するための機能部である。より具体的には、業務アプリケーションの生成要求やジョブの実行要求等のリクエストを処理する。
【0049】
ジョブ登録部352は、リクエスト処理部351を通じてクライアント端末102からのジョブの実行要求を受け付けると、画像処理サーバ101のアプリケーションで実行可能なジョブをDB記憶部356に登録するための機能部である。こうして登録したジョブを画像処理サーバ101のジョブ取得部312が取得し、当該ジョブに対応する処理を実行することになる。
【0050】
実行状態通知部353は、実行状態登録部317が登録したジョブの実行状態をユーザに通知するための機能部である。通知方法は特に問わない。
【0051】
画面生成部354は、クライアント端末102のWebブラウザ部321で表示可能な画面を生成するための機能部である。業務アプリケーション生成部355は、クラウドシステム105で動作する業務アプリケーションを生成するための機能部である。業務アプリケーションとしては例えば見積書を作成するアプリケーションであったり、注文書のFAXを送信するアプリケーションであったり、様々である。当該業務アプリケーションをユーザからの指示に応じて動作させることで、社内システム103や複合機104を動作させる。
【0052】
DB記憶部356(記憶手段)は、後述するアプリケーション管理DB600やジョブ管理DB1000、その他業務アプリケーションで利用する業務アプリケーションDB等のデータベースを記憶するための記憶部である。
【0053】
次に、画像処理サーバ101にアプリケーションをインストールするための一連の処理の流れ、及びクラウドシステム105に業務アプリケーションを生成するための一連の処理について、
図5に示すフローチャートを用いて説明する。
【0054】
まずクラウドシステム105で指示された処理を社内システム103や複合機104で実行するための準備について説明する。
【0055】
ステップS401では、クライアント端末102のCPU201は、ユーザからプログラミングの操作を受け付けて、画像処理サーバ101で実行可能なアプリケーションを開発する。ここで定義ファイルを生成し、どのような一連の処理を実行するのかを定義する。
【0056】
ステップS402では、クライアント端末102のCPU201は、ステップS401で開発したアプリケーションのインストール要求を画像処理サーバ101に送信する。このとき、定義ファイルも合わせて送信する。
【0057】
ステップS403では、画像処理サーバ101のCPU201は、クライアント端末102から送信されたアプリケーションのインストール要求を受信する。そして、ステップS404では、画像処理サーバ101のCPU201は、クライアント端末102で開発されたアプリケーションのインストールを実行する。この時、当該アプリケーションに対応する定義ファイルを当該アプリケーションと対応づけて定義ファイル記憶部313に記憶する。
【0058】
ステップS405では、画像処理サーバ101のCPU201は、ステップS404でインストールしたアプリケーションに対応するインターフェイスファイルを生成する。インターフェイスファイルは、例えばWSDL(Web Services Description Language)等のWebサービス記述言語によって記述されるファイルであり、インストールしたアプリケーション(Webサービス)で実行可能な機能や当該機能を実行するために用いられるメッセージのフォーマット、プロトコル等が記述されている。
【0059】
ステップS406では、画像処理サーバ101のCPU201は、ステップS404でインストールされたアプリケーションの動作を開始する。これ以降、動作したアプリケーションにおける処理の実行が指示されると、当該アプリケーションに対応する定義ファイルを定義ファイル記憶部313から取得し、当該定義ファイルが示す一連の処理の流れを順次実行する。
【0060】
ステップS407では、画像処理サーバ101のCPU201は、ステップS403で受け付けた要求に対する処理結果をクライアント端末102に送信する。
【0061】
ステップS408では、クライアント端末102のCPU201は、画像処理サーバ101から送信された処理結果を受信する。必要に応じてその処理結果をユーザに通知する。
【0062】
ステップS409では、クライアント端末102のCPU201は、ステップS405で生成されたインターフェイスファイルの取得要求を送信する。特に、ユーザから指定されたアプリケーションに対応するインターフェイスファイルの取得要求を送信する。
【0063】
ステップS410では、画像処理サーバ101のCPU201は、クライアント端末102から送信されたインターフェイスファイルの取得要求を受信する。そして、ステップS411では、画像処理サーバ101のCPU201は、要求されたインターフェイスファイルを外部メモリ211等から取得し、クライアント端末102に送信する。
【0064】
ステップS412では、クライアント端末102のCPU201は、画像処理サーバ101から送信されたインターフェイスファイルを受信する。インターフェイスファイルを取得したクライアント端末102は、ユーザからの指示に応じて
図5に示すようなアプリケーション管理DB登録画面500を表示させ、インターフェイスファイルに対応するアプリケーションのアプリケーション名の入力、当該アプリケーションを呼び出すためのエンドポイントの入力、当該インターフェイスファイルの選択をそれぞれ受け付ける。アプリケーション管理DB登録画面500には、アプリケーション名入力欄501、エンドポイント入力欄502、インターフェイスファイル選択欄503を備えており、前述した各種情報の入力や選択はこれらの入力欄や選択欄を通じて行う。
【0065】
そして、アプリケーション管理DB登録画面500で登録ボタン504の押下を受け付けると、ステップS413では、クライアント端末102のCPU201は、インターフェイスファイル選択欄503で選択を受けつけたインターフェイスファイルを、アプリケーション名入力欄501やエンドポイント入力欄502で入力を受け付けた情報と共にクラウドシステム105に送信する。
【0066】
ステップS414では、クラウドシステム105のCPU201は、クライアント端末102から送信されたインターフェイスファイル等を受信する。そして、ステップS415では、クラウドシステム105のCPU201は、受信したインターフェイスファイルを用いて当該インターフェイスファイルに対応するアプリケーションに渡すパラメータのスキーマを生成し、
図6に示すようなアプリケーション管理DB600に登録する。更にステップS414で受信したアプリケーション名やエンドポイントを示す情報も登録したスキーマに対応づけてアプリケーション管理DB600に登録する。
【0067】
アプリケーション管理DB600は、クラウドシステム105のDB記憶部356に記憶されており、アプリケーションID601、アプリケーション名602、エンドポイント603、スキーマ604から構成される。アプリケーションID601は、クラウドシステム105が受信したインターフェイスファイルが示すアプリケーションごとの識別情報である。アプリケーション名602は、当該アプリケーションの名称を示す。エンドポイント603は、アプリケーションの実行要求を受け付ける場所を示す。スキーマ604は、当該アプリケーションに対応するスキーマを格納する。本実施形態においてスキーマはXML(Extensible Markup Language)を用いるものとするが、画像処理サーバ101で動作するアプリケーションが解釈可能ならどのような形態でも構わない。
【0068】
ステップS416では、クラウドシステム105のCPU201は、ステップS414で受信したインターフェイスファイルに基づく処理の実行結果をクライアント端末102に送信する。
【0069】
ステップS417では、クライアント端末102のCPU201は、クラウドシステム105から送信された処理結果を受信する。必要があればこの処理結果をユーザに通知する。
【0070】
そして、クライアント端末102はクラウドシステムで動作させる業務アプリケーションを開発すべく、クライアント端末102のディスプレイ210に
図7に示すような業務アプリケーション開発画面700を表示させ、ユーザから画面の開発を受け付ける。業務アプリケーション開発画面700では、画面を構成する入力欄やボタンといったコンポーネントをコンポーネント選択欄702から選択し、画面に配置していくことができる。コンポーネント選択欄702からドラッグ&ドロップ等で配置していく。ボタンの処理は、当該ボタンの上で右クリックを受け付けると、ボタンが押下された場合の処理内容を記述することができる。
【0071】
すなわち、このボタンにアプリケーション管理DB600に登録されたアプリケーションで実行可能なジョブの生成処理(どのアプリケーションを起動するのか、起動する際にどういったパラメータを指定するのか、処理完了のステータスやメッセージを受けてどういった処理をするか等)を組み込んでおけば、クラウドシステム105でジョブが生成され、画像処理サーバ101がこのジョブを取得して対応する処理を実行することができる。
【0072】
ステップS418では、クライアント端末102のCPU201は、開発した業務アプリケーションの生成指示をクラウドシステム105に対して送信する。ステップS419では、クラウドシステム105のCPU201は、クライアント端末102から送信された業務アプリケーションの生成指示を受信する。そして、ステップS420では、クラウドシステム105のCPU201は、生成指示を受信した業務アプリケーションを生成し、動作を開始する。業務アプリケーション開発画面700で開発された結果の画面は、
図8の業務アプリケーション画面800に示すような画面となる。
【0073】
ステップS421では、クラウドシステム105のCPU201は、業務アプリケーションの生成結果をクライアント端末102に送信する。ステップS422では、クライアント端末102のCPU201は、クラウドシステム105から送信された処理結果を受信する。そして、必要があればユーザに対して当該処理結果を通知する。
【0074】
次に、業務アプリケーション画面800を通じて社内システム103や複合機104に対する処理依頼を受け付ける一連の処理について、
図9に示すフローチャートを用いて説明する。
【0075】
ステップS901では、クライアント端末102のCPU201は、ユーザからの指示によりクラウドシステム105の業務アプリケーションへのログイン要求を送信する。ステップS902では、クラウドシステム105のCPU201は、クライアント端末102からのログイン要求を受信する。そして、ステップS903では、クラウドシステム105のCPU201は、業務アプリケーションへのログインを実行する。この時、ログインしたユーザに応じて権限制御を行い、業務アプリケーションで利用可能な機能を制限してもよい。
【0076】
ステップS904では、クラウドシステム105のCPU201は、ログインの処理結果をクライアント端末102に対して送信する。ステップS905では、クライアント端末102のCPU201は、クラウドシステム105から送信された処理結果を受信する。
【0077】
ステップS906では、クライアント端末102のCPU201は、業務アプリケーション画面800の取得要求をクラウドシステム105に対して送信する。ステップS907では、クラウドシステム105のCPU201は、クライアント端末102から送信された業務アプリケーション画面800の取得要求を受信する。そして、ステップS908では、クラウドシステム105のCPU201は、ジョブの実行指示を受付可能な業務アプリケーション画面800を生成し(画面生成手段)、クライアント端末102に送信する。
【0078】
ステップS909では、クライアント端末102のCPU201は、クラウドシステム105から送信された業務アプリケーション画面800を受信し、ステップS910では、受信した業務アプリケーション画面800をディスプレイ210に表示する。そして、業務アプリケーション画面800が備える各入力欄やボタンに対する操作を受け付ける。
【0079】
ステップS911では、クライアント端末102のCPU201は、ジョブの実行指示を受け付けたか否かを判定する。例えば、業務アプリケーション画面800の印刷ボタン801が押下されたか否かを判定する。ジョブの実行指示を受け付けたと判定した場合には、ステップS912に処理を進める。ジョブの実行指示を受け付けていないと判定した場合には、そのまま待機する。
【0080】
ステップS912では、クライアント端末102のCPU201は、クラウドシステム105に対してジョブの実行指示を送信する。この時、業務アプリケーション画面800に入力された各種情報も合わせて送信する。そして、ステップS913では、クラウドシステム105のCPU201は、クライアント端末102から送信されたジョブの実行指示を受信する。
【0081】
ステップS914では、クラウドシステム105のCPU201は、DB記憶部356に記憶された業務アプリケーションに対応する業務アプリケーションDB(不図示)を、業務アプリケーション画面800で入力された情報に基づいて更新する。すなわち、業務アプリケーションの機能としてデータ登録を実行する。
【0082】
ステップS915では、クラウドシステム105のCPU201は、DB記憶部356に記憶された、
図10に示すようなジョブ管理DB1000に画像処理サーバ101で実行可能なジョブを登録(生成)する(ジョブ生成手段)。
【0083】
ジョブ管理DB1000は、クラウドシステム105のDB記憶部356に記憶され、ジョブID1001、アプリケーションID1002、ジョブパラメータ1003、ジョブ作成者1004、ジョブ作成日時1005、status1006、ジョブ結果通知1007、ジョブ実行結果1008、ジョブメッセージ1009、ジョブ更新日時1010から構成される。
【0084】
ジョブID1001は、ジョブごとに一意に割り振られる識別情報である。アプリケーションID1002は、当該ジョブを実行する画像処理サーバ101のアプリケーションを識別するための識別情報である。アプリケーションID1002は、アプリケーション管理DB600のアプリケーションID601と対応する。ジョブパラメータ1003は、業務アプリケーション画面800で入力された、ジョブを実行するために必要となる各種情報(パラメータ)である。ジョブ作成者1004は、ジョブを作成したユーザを示す。ジョブ作成日時1005は、ジョブを作成した年月日時分秒を示す。status1006は、当該ジョブの実行状態を示す。ジョブ結果通知1007は、ジョブの実行結果をどのユーザに通知するのかを示す。ジョブ実行結果1008は、ジョブの実行結果を示す。ジョブメッセージ1009は、ジョブの実行結果を通知するときのメッセージの内容を示す。ジョブ更新日時1010は、当該レコードが更新された年月日時分秒を示す。
【0085】
ジョブの登録をする際には、ジョブ管理DB1000に新しくレコードを作成し、各項目に情報を格納していく。ジョブID1001は、新しくジョブの識別番号を割り振る。アプリケーションID1002には、実行が指示されたジョブのアプリケーションID601を格納する。ジョブパラメータ1003は前述した通り、業務アプリケーション画面800で入力された各種情報を格納する。ジョブ作成者1004にはステップS903でログインしたユーザのユーザ名を格納する。ジョブ作成日時1005には、ジョブの登録が実行された年月日時分秒を格納する。status1006には、「ready」と格納する。すなわち、ジョブがまだ未実行である旨を示す情報を格納しておく。ジョブ結果通知1007には、ジョブ作成者1004と管理者を格納しておく。ジョブの結果を通知したいユーザがいれば当該ユーザも含めてもよい。その他の欄は、空欄にしておく。例えば、この段階でのジョブの登録状態は、
図10のジョブ管理DB1000のうち、ジョブID1001「4」のレコードが示すような状態となる。このようにして、クラウドシステム105において画像処理サーバ101のアプリケーションで実行可能なジョブを生成しておく。
【0086】
ステップS916では、クラウドシステム105のCPU201は、ジョブの登録結果をクライアント端末102に送信する。ステップS917では、クライアント端末102のCPU201は、クラウドシステム105から送信された処理結果を受信し、必要に応じてユーザに通知する。
【0087】
次に、画像処理サーバ101がクラウドシステム105で生成されたジョブを取得し、社内システム103や複合機104に対して処理を依頼する一連の処理について、
図11及び
図12に示すフローチャートを用いて説明する。
【0088】
ステップS1101では、画像処理サーバ101のCPU201は、前回ステップS1101を実行してから所定時間経過したか否かを判定する。すなわち、画像処理サーバ101は所定時間ごとにクラウドシステム105に対してジョブの取得を行うので、ステップS1101では所定時間経過したか否かを判定している。所定時間経過したと判定した場合には、ステップS1102に処理を進める。所定時間経過していないと判定した場合には、所定時間経過するまで待機する。
【0089】
ステップS1102では、画像処理サーバ101のCPU201は、ジョブ管理DB1000とアプリケーション管理DB600の取得要求をクラウドシステム105に送信する。
【0090】
ステップS1103では、クラウドシステム105のCPU201は、画像処理サーバ101から送信された、ジョブ管理DB1000とアプリケーション管理DB600の取得要求を受信する。そして、ステップS1104では、クラウドシステム105のCPU201は、クラウドシステム105のDB記憶部356からジョブ管理DB1000とアプリケーション管理DB600とを取得し、これらを画像処理サーバ101に送信する。
【0091】
ステップS1105では、画像処理サーバ101のCPU201は、クラウドシステム105から送信されたジョブ管理DB1000とアプリケーション管理DB600とを受信する。すなわち、クラウドシステムで生成されたジョブをクラウドシステム105から取得する(ジョブ取得手段)。尚、アプリケーション管理DB600を画像処理サーバ101で管理する形態も考えられるが、クラウドシステム105で管理することですべてのデータベースをクラウドシステム105で統合的に管理することが可能となる。そのため本実施形態では、クラウドシステム105でアプリケーション管理DB600を記憶している。
【0092】
ステップS1106では、画像処理サーバ101のCPU201は、ジョブ管理DB1000の各レコードのstatus1006を参照し、「ready」となっているレコードがあるか否かを判定する。すなわち、未実行のジョブがあるか否かを判定する。未実行のジョブがあると判定した場合には、ステップS1107に処理を進める。未実行のジョブがないと判定した場合には、ステップS1101に処理を戻す。
【0093】
ステップS1107では、画像処理サーバ101のCPU201は、ステップS1108からステップS1213までの処理を、未実行のジョブがなくなるまで(status1006が「ready」のレコードがなくなるまで)繰り返し実行する。
【0094】
ステップS1108では、画像処理サーバ101のCPU201は、ジョブ管理DB1000のレコードのうち、ステップS1108からステップS1213までの処理を未実行のレコードであって、status1006が「ready」のレコードを参照する。
【0095】
ステップS1109では、画像処理サーバ101のCPU201は、参照中のレコードのstatus1006の更新要求をクラウドシステム105に対して送信する。すなわち、ジョブの実行状態を登録するようリクエストを送信する(実行状態登録手段)。ステップS1110では、クラウドシステム105のCPU201は、画像処理サーバ101から送信された、参照中のレコードのstatus1006の更新要求を受信する。そして、ステップS1111では、クラウドシステム105のCPU201は、参照中のレコードのstatus1006を「processing」に変更する(実行状態登録手段)。すなわち、ジョブが実行中である旨を示すように更新する。ステップS1111における更新例は、
図10のジョブID1001が「3」のレコードである。
【0096】
更新が完了したら、ステップS1112では、クラウドシステム105のCPU201は、status1006の更新結果を画像処理サーバ101に送信する。ステップS1113では、画像処理サーバ101のCPU201は、クラウドシステム105から送信された処理結果を受信する。
【0097】
説明を
図12に移す。ステップS1113の処理が完了した後、ステップS1201では、参照中のレコードが示すジョブのパラメータXMLを生成する。パラメータXMLは、参照中のレコードのジョブを実行するアプリケーションで読取可能なスキーマ604に、参照中のレコードのジョブパラメータ1003を格納することで、生成されるXMLファイルである。このパラメータXMLを画像処理サーバ101のアプリケーションが読み取ることで、処理を実行する。すなわち、アプリケーションごとに読取可能なスキーマ604は異なるため、アプリケーションごとにアプリケーション管理DB600でスキーマ604を記憶している。
【0098】
パラメータXMLの概要図を
図13に示す。例えば、1301に示すスキーマ604に、1302に示すジョブパラメータ1003を流し込むと、1303に示すようなパラメータXMLが生成される。
【0099】
ステップS1202では、画像処理サーバ101のCPU201は、参照中のレコードが示すジョブに対応するアプリケーションを実行する(ジョブ実行手段)。この時、定義ファイル記憶部313に記憶された、当該アプリケーションに対応する定義ファイルを取得し、当該定義ファイルで定義された一連の処理を、当該処理に対応するアダプタ部316のアダプタを用いて実行する。また、実行するアプリケーションは、参照中のレコードが示すジョブのアプリケーションID1002と対応するアプリケーションID601を有するアプリケーション管理DB600のレコードのエンドポイント603から特定する。
【0100】
この一連の処理のうち、社内システム103や複合機104といった処理装置における処理が定義されている場合には、ステップS1203では、画像処理サーバ101のCPU201は、所定の処理の実行を当該処理装置に対して指示する。ステップS1204では、社内システム103または複合機104が画像処理サーバ101からの指示に応じて動作し、ステップS1205ではその処理結果を画像処理サーバ101に送信する。そして、ステップS1206では、画像処理サーバ101のCPU201は、社内システム103や複合機104といった処理装置からの処理結果を受信する。
【0101】
定義ファイルで定義された一連の処理の実行が完了したら、ステップS1207では、画像処理サーバ101のCPU201は、参照中のレコードのstatus1006を更新するべく、ジョブ管理DB1000の更新要求をクラウドシステム105に送信する。
【0102】
ステップS1208では、クラウドシステム105のCPU201は、画像処理サーバ101から送信されたジョブ管理DB1000の更新要求を受信する。そして、ステップS1209では、クラウドシステム105のCPU201は、参照中のレコードのstatus1006を「done」に更新する(実行状態登録手段)。すなわち、ジョブが実行済みである旨に更新する。
【0103】
ステップS1210では、クラウドシステム105のCPU201は、更に、参照中のレコードのジョブ実行結果1008にジョブの実行結果を格納する。一連の処理が成功した場合には「success」、失敗した場合には「failure」と登録する。それに伴って、ジョブメッセージ1009にユーザに対して通知するメッセージも登録する。一連の処理が成功した場合の登録例は、
図10のジョブID1001が「2」のレコード、失敗した場合の登録例は、
図10のジョブID1001が「1」のレコードである。
【0104】
ステップS1211では、クラウドシステム105のCPU201は、ジョブの実行状態や実行結果を通知するようクライアント端末102に要求を送信する。この時、クラウドシステム105からクライアント端末102に対するリクエストは通らないので、ジョブ管理DB1000を用いて
図14に示すような通知画面1400を生成し、クライアント端末102に送信する。そして、ステップS1212では、クライアント端末102のCPU201は、クラウドシステム105から送信された通知画面1400を受信し、ステップS1213では、受信した通知画面1400をディスプレイ210に表示することで、ユーザに対してジョブの実行状態や実行結果を通知する。
【0105】
以上のように、クラウドシステム105が直接処理装置に対してリクエストを送信するのではなく、クラウドシステム105で生成されたジョブを画像処理サーバ101が取得し、画像処理サーバ101がクラウドシステム105の代わりに処理装置にリクエストを送信する形態とすることで、セキュリティを確保したまま、クラウドシステムと処理装置とのシームレスな連携を実現できる。
【0106】
次に、第2の実施形態について説明を行う。前述した実施形態では、画像処理サーバ101がアプリケーション管理DB600とジョブ管理DB1000をクラウドシステム105から取得し、アプリケーション管理DB600のスキーマ604とジョブ管理DB1000のジョブパラメータ1003を用いて、画像処理サーバ101がパラメータXMLを生成していた。前述した通り、各種DBをクラウドシステム105で統合的に管理することで、ユーザの管理の手間を軽減しているのだが、画像処理サーバ101がアプリケーション管理DB600を取得しなければならない負荷が生じる。そこで、第2の実施形態では、パラメータXMLをクラウドシステム105が生成する形態について説明する。
【0107】
第2の実施形態におけるシステム構成、ハードウェア構成、機能構成は前述した実施形態と同様であるので説明を省略する。また、
図4に示すフローチャートとそれに伴う画面やアプリケーション管理DB600も同様であるので、説明を省略する。
【0108】
まず、業務アプリケーション画面800を通じて社内システム103や複合機104に対する処理依頼を受け付ける一連の処理について、
図15に示すフローチャートを用いて説明する。
図15のフローチャートは、前述した実施形態における
図9のフローチャートの変形例である。そのため、
図9と同様の処理を行うステップについては、
図9と同じステップ番号を振ってある。当該ステップについては同様の処理であるので、説明は省略する。
【0109】
ステップS1501では、クラウドシステム105のCPU201は、ジョブを実行するアプリケーションのスキーマをアプリケーション管理DB600のスキーマ604から取得し、当該スキーマ604に業務アプリケーション画面800で入力された各種情報を流し込むことで、パラメータXMLを生成する。そして、ステップS1502では、クラウドシステム105のCPU201は、前述したステップS915と同様にジョブ管理DB1000にジョブを登録すると共に、ステップS1501で生成したパラメータXMLを、
図16に示すジョブ管理DB1000のパラメータXML1601に格納する。第2の実施形態では、ジョブ管理DB1000はジョブパラメータ1003の代わりにパラメータXML1601とエンドポイント1602を備えている。パラメータXML1601は、ステップS1501で生成したパラメータXMLを格納する。エンドポイント1602は、アプリケーション管理DB600のエンドポイント603に格納されたエンドポイントを示す。このように、アプリケーション管理DB600が示す情報であって、画像処理サーバ101でジョブを実行する際に必要な情報をジョブ管理DB1000に埋め込んでおく。
【0110】
次に、画像処理サーバ101がクラウドシステム105で生成されたジョブを取得し、社内システム103や複合機104に対して処理を依頼する一連の処理について、
図17及び
図18に示すフローチャートを用いて説明する。
図17、
図18のフローチャートは、前述した実施形態における
図11、
図12のフローチャートの変形例である。そのため、
図11、
図12と同様の処理を行うステップについては、
図11、
図12と同じステップ番号を振ってある。当該ステップについては同様の処理であるので、説明は省略する。
【0111】
ステップS1701では、画像処理サーバ101のCPU201は、
図16に示すジョブ管理DB1000の取得要求をクラウドシステム105に送信する。
【0112】
ステップS1702では、クラウドシステム105のCPU201は、画像処理サーバ101から送信された、
図16に示すジョブ管理DB1000の取得要求を受信する。そして、ステップS1703では、クラウドシステム105のCPU201は、クラウドシステム105のDB記憶部356から
図16に示すジョブ管理DB1000を取得し、これらを画像処理サーバ101に送信する。
【0113】
ステップS1704では、画像処理サーバ101のCPU201は、クラウドシステム105から送信された
図16に示すジョブ管理DB1000を受信する。このように、前述した実施形態とは異なり、アプリケーション管理DB600は取得しない。
【0114】
図18に説明を移す。ステップS1801では、参照中のジョブのパラメータXMLを
図16に示すジョブ管理DB1000から取得する。より具体的には、参照中のジョブのレコードにあるパラメータXML1601に格納されているパラメータXMLを取得する。そして、後述する処理でエンドポイント1602が示すアプリケーションに対して取得したパラメータXMLを用いてアプリケーションの実行を行う。
【0115】
このような構成とすることで、パラメータXMLをクラウドシステム105で生成し、生成したパラメータXMLをアプリケーションの実行に用いることができる。
【0116】
以上説明したように、本実施形態によれば、クラウドシステムからの通信が制御されるネットワークに設置された処理装置における処理をクラウドシステムから実行することの可能な効果を奏する。
【0117】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0118】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0119】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0120】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0121】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0122】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0123】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0124】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0125】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0126】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0127】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。