JP2011076550A - アプリケーション連携方法、及びシステム - Google Patents

アプリケーション連携方法、及びシステム Download PDF

Info

Publication number
JP2011076550A
JP2011076550A JP2009229996A JP2009229996A JP2011076550A JP 2011076550 A JP2011076550 A JP 2011076550A JP 2009229996 A JP2009229996 A JP 2009229996A JP 2009229996 A JP2009229996 A JP 2009229996A JP 2011076550 A JP2011076550 A JP 2011076550A
Authority
JP
Japan
Prior art keywords
application
user
document
managed
object information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009229996A
Other languages
English (en)
Inventor
Atsushi Kashioka
敦之 柏岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009229996A priority Critical patent/JP2011076550A/ja
Priority to US12/872,324 priority patent/US20110083137A1/en
Publication of JP2011076550A publication Critical patent/JP2011076550A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】セキュリティ上の問題が生じないようにオブジェクトの受け渡しを行うためのアプリケーション連携方法を提供する。
【解決手段】アプリケーションが提供する機能と前記機能によるオブジェクトに対する操作内容を分類した操作カテゴリとの対応関係を保持する保持工程と、第1のアプリケーションが管理するオブジェクトと当該オブジェクトに対するユーザの操作権限を取得する取得工程と、取得されたオブジェクトと操作権限とをオブジェクト情報として記憶手段に記憶し管理するオブジェクト情報管理工程と、第2のアプリケーションが提供する機能に対応して保持工程で保持されている操作カテゴリが当該オブジェクト情報として管理されたオブジェクトに対する操作権限により許可されているか否かを判定する判定工程とを有し、連携手段は判定工程の結果が許可されている場合にオブジェクト情報として管理されたオブジェクトを第2のアプリケーションに渡す。
【選択図】図12

Description

本発明は、複数のアプリケーションを連携させるためのアプリケーション連携方法、及びシステムに関する。特に各アプリケーションが異なる認証方式を有し、別個にアクセス権で管理されている環境下において、複数のアプリケーション間で、セキュリティ上の問題が生じないようにオブジェクトの受け渡しを行うための技術に関する。
昨今、企業における業務効率向上を目的として、各部門、または全社において個別にアプリケーション、システム、及びサービス(以下、総称してアプリケーションとする)が導入されてきた。具体的には、ERP(Enterprise Resource Planning)、SCM(Supply Chain Management)などが挙げられる。
近年では、企業の変化対応力の向上と、競争優位性の獲得を目指した俊敏性を追及するためのアーキテクチャ、またはコンセプトとして、SOA(Service Oriented Architecture)が注目されている。SOAは、個別に動作していた企業内における既存のアプリケーションの機能をサービス単位で分割し、それらを組み合せてトータルシステムを構成するアーキテクチャを提唱するものである。さらに、各アプリケーションが、異なる認証方式を有し、別個のアクセス権で管理されている環境下において、ユーザが各アプリケーションを利用するたびに認証を要求されるといった課題を解決するための仕組みとして、SSO(Single Sign−On)やフェデレーションと言った手法が提案されている。
ここで、複数のアプリケーション間でオブジェクトの受け渡しを行う場合、セキュリティ上の問題が生じないような対策が必要となる。例えば、文書単位でユーザのアクセス権を管理可能な文書管理アプリケーションと他のアプリケーションとを、セキュリティを考慮することなく連携させた場合、情報漏洩の問題が発生し得る可能性がある。例えば、ある文書に対し、あるユーザが読取権限はあるが印刷権限が無い場合、文書を文書管理アプリケーションから取り出し、文書管理アプリケーションとはアクセス権管理が異なる印刷管理アプリケーションを介することで印刷できてしまう。
上記問題を解決するための従来技術として、複数のアプリケーションにおけるセキュリティの制御機能を一元的に設定、管理するポリシーサーバを利用する方法が挙げられる。より具体的には、まず、ユーザの文書に対するアクセス権をポリシーとして事前に設定しておく。次に、ユーザが文書にアクセスしようとした際に、各アプリケーションがポリシーサーバにアクセスして、ユーザの文書に対するポリシーを取得することで、文書に対する操作を制御することが可能となる。
また、異なるドメイン間で文書(紙文書)がやり取りされる場合においても、各ドメイン内の文書の作成又は複写に関するセキュリティにおける、一貫性のある維持管理が行える文書セキュリティ維持管理方法が提案されている(特許文献1参照)。特許文献1においては、紙文書に識別子を埋め込んでおくことで文書を特定して、セキュリティドメインを跨った環境下での一元的なセキュリティ管理を行うことを実現している。
さらに、アプリケーションを文書管理システムと統一された形で他の文書と同様に操作可能とし、簡易な構成で様々なアプリケーションと容易に且つ有効に連携可能とした文書管理システムが提案されている(特許文献2参照)。特許文献2においては、文書管理システムにおいて、アプリケーション情報ファイルに基づいてアプリケーションが必要とするデータを作成し、データを伝達してアプリケーションを起動して応答させることで、実行者の権限を用いてセキュリティ管理を実現している。
特開2005−196338号公報 特開2006−048426号公報
しかしながら、ポリシーサーバを利用した従来技術においては、各アプリケーションが、ポリシーサーバにアクセスし、ユーザの文書に対するアクセス権に基づいて操作を許可するか否かを判定する。更に、ユーザが文書に対する操作を行うタイミングで、ポリシーサーバにポリシーを問い合わせることになる。よって、ポリシーサーバやネットワークに不具合があった場合、ユーザは文書に対する操作が許されている環境下においても、何度も同じ操作を繰り返すことになる。
また、特許文献1においては対象を電子データとしてはいないが、ドメインを跨いでセキュリティサーバに直接問合せ、操作許可を取得し、判定するための処理ロジックを各情報機器が個々に実装する必要がある。また、特許文献2においては、起動されたアプリケーションが、実行者の権限を文書管理サーバから渡されるパラメータの値を使用して判定することになり、起動されるアプリケーション全てにおいて判定ロジックを実装する必要がある。
従って、本発明は複数のアプリケーションでオブジェクトを連携処理する際にも、他アプリケーションのから受け取ったオブジェクトに対する操作を許可するか否かを判定する処理ロジックを各アプリケーションにおいて個別に実装する必要のない手法と提供することを目的とする。
上記課題を解決するために、本発明は以下の構成を有する。記憶手段と、それぞれ異なるアクセス権の管理がなされた複数のアプリケーション間にてオブジェクトの受け渡しを行うことで連携する連携手段とを備えるシステムにおけるアプリケーション連携方法であって、アプリケーションが提供する機能と、前記アプリケーションが提供する機能による前記オブジェクトに対する操作内容を分類した操作カテゴリとの対応関係を保持する保持工程と、第1のアプリケーションが管理するオブジェクトを取得するとともに、前記第1のアプリケーションが管理する当該オブジェクトに対するユーザの操作権限を取得する取得工程と、前記取得工程で取得されたオブジェクトと、当該オブジェクトに対する操作権限とをオブジェクト情報として前記記憶手段に記憶し管理するオブジェクト情報管理工程と、前記オブジェクト情報管理工程でオブジェクト情報として管理されたオブジェクトを処理する第2のアプリケーションが提供する機能に対応して、前記保持工程で保持されている操作カテゴリが当該オブジェクト情報として管理されたオブジェクトに対する操作権限により許可されているか否かを判定する判定工程とを有し、前記操作カテゴリは、前記複数のアプリケーション間で共通して用いられるように定義されており、前記連携手段は、前記判定工程の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションの提供する機能の実行に関しては、前記オブジェクト情報管理工程でオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡さず、前記判定工程の結果に応じて、許可されている操作カテゴリに対応する前記第2のアプリケーションの提供する機能の実行に関しては、前記連携手段により前記オブジェクト情報管理工程でオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡す。
本発明により、複数のアプリケーションでオブジェクトを連携処理する際にも、他アプリケーションのから受け取ったオブジェクトに対する操作を許可するか否かを判定する処理ロジックを各アプリケーションにおいて個別に実装する必要のない手法と提供できる。とくに本発明においては、各アプリケーションの操作権限を柔軟に考慮しつつ、複数のアプリケーション間の相互依存性を排除でき得る。
また、アプリケーションが提供するインタフェース(機能)を呼び出す前に、オブジェクトに対する処理を実行して良いか否かを判定するため、分散環境での不要なネットワーク通信などを回避することができる。更に、全アプリケーションに対して統一的なアクセス権管理を提供するようなポリシーサーバ等の外部システムを利用しないため、ポリシーサーバやネットワークの不具合があった場合、ユーザが何度も同じ操作を繰り返すような煩わしい作業も発生しない。
第一の実施形態に係るアプリケーション連携システムのシステム概念図。 第一の実施形態に係る情報処理装置のハードウェア構成図。 第一の実施形態に係るアプリケーション連携システムのソフトウェア構成図。 本発明に係るアプリケーション連携システムのユーザインタフェースの例図。 第一の実施形態に係るUI表示処理のフローチャートの図。 第一の実施形態に係るログイン処理のフローチャートの図。 第一の実施形態に係る文書検索処理のフローチャートの図。 第一の実施形態に係る文書取得処理のフローチャートの図。 第一の実施形態に係るユーザ操作権限取得処理のフローチャートの図。 第一の実施形態に係る定義ファイルの例図。 第一の実施形態に係るUI表示処理のフローチャートの図。 第一の実施形態に係る比較処理のフローチャートの図。 第二の実施形態に係る印刷処理のフローチャートの図。 第二の実施形態に係る入稿処理のフローチャートの図。 第二の実施形態に係る印刷管理アプリ入稿処理のフローチャートの図。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<第一の実施形態>
本発明の第一の実施形態を図1乃至図12に基づき説明する。
[システム構成]
図1(a)は、本発明の実施形態に係るアプリケーション連携システムのシステム概念図である。本実施形態に係るアプリケーション連携モジュール40には、ユーザAがブラウザを介してアクセスするClient PC10と、コピー、プリント、スキャナ、ファックス等の機能を有する周辺機器30、31、32と、アプリケーション連携モジュール40が配置されたアプリケーションサーバPC20とがネットワークを介して接続されている。ここで、アプリケーションサーバPC20には、アプリケーション連携モジュール40以外に、文書管理機能を有する文書管理アプリケーション41、及び周辺機器30、31、32への印刷を制御する印刷管理アプリケーション42が存在する。なお、図1(b)のように、アプリケーション連携モジュール40、文書管理アプリケーション41、及び印刷管理アプリケーション42が、それぞれ別のアプリケーションサーバPC20、21、22上に配置されていても構わない。また、アプリケーションサーバPC20、21、及び22は、必ずしもイントラネット内に存在する必要はなく、インターネット上に存在しても構わない。
また、本実施形態に係るアプリケーション連携システムは、ユーザAがブラウザを介してアクセスする構成としているが、専用のクライアントアプリケーション(不図示)をClient PC10に配置し、それを操作する構成であっても構わない。また、本実施形態においては、アプリケーション連携モジュール40により文書管理アプリケーション41、及び印刷管理アプリケーション42を連携させる場合について説明するが、連携対象となるアプリケーションは特に限定しない。より詳細には、例えば文書編集、フォーマット変換機能などを有するアプリケーション(不図示)と、文書管理アプリケーション41を連携させる構成であっても構わない。なお、汎用的に文書管理アプリケーション41を第1のアプリケーション、印刷管理アプリケーション42を第2のアプリケーションとして捉えることもできる。
[ハードウェア構成]
図2は、本発明の実施形態に係るアプリケーション連携システムを構成するPCのハードウェア構成図を示している。図2に示されるハードウェア構成図は一般的な情報処理装置のハードウェア構成図に相当するものとし、本実施形態のPCには一般的な情報処理装置のハードウェア構成を適用できる。図2において、CPU100は、ROM102のプログラム用ROMに記憶された、或いは外部メモリ109からRAM101にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM101は、CPU100の主メモリ、ワークエリア等として機能する。キーボードコントローラ103は、キーボード107やポインティングデバイス(不図示)からのキー入力を制御する。ディスプレイコントローラ104は、ディスプレイ108の表示を制御する。ディスクコントローラ105は、各種データを記憶するハードディスク(HD)109やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC(Network Card)106はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
[ソフトウェア構成]
図3は、本発明の実施形態に係るアプリケーション連携システムのソフトウェア構成の一例を示す図であり、Client PC10、及びアプリケーションサーバPC20内のソフトウェア構成を示している。まず、Client PC10におけるソフトウェア構成図について説明する。
ブラウザ200は、ユーザAの操作に従い、本発明の実施形態に係るアプリケーション連携モジュール40にアクセスし、レスポンスとしてユーザインタフェースを表示する。ここで、ブラウザ200は、Client PC10の外部メモリ109に保存されたプログラムファイルとして存在する。ブラウザ200は、実行される際にRAM101にロードされた後、CPU100によって実行される。実行されたブラウザ200はディスプレイ108に表示され、ユーザAは、キーボード107やポインティングデバイス(不図示)を用いてブラウザ200を操作する。なお、ブラウザ200は、Internet Explorer(登録商標)やFire Fox(登録商標)など一般的なウェブブラウザで構わない。図4(a)は、Client PC10のブラウザ200に表示されたアプリケーション連携モジュール40ユーザインタフェースの一例である。
次に、アプリケーションサーバPC20内に存在するアプリケーション連携モジュール40、文書管理アプリケーション41、及び印刷管理アプリケーション42のソフトウェア構成図について説明する。なお、これらソフトウェアは、アプリケーションサーバPC20内の外部メモリ109に保存されたプログラムファイルとして保存されている。Client PC10からのリクエスト、及びOSからの指示に従い、RAM101にロードされ、CPU100によって実行される。
通信部300は、Clinet PC10内のブラウザ200からのリクエストを、NC106を介して受信し、アプリケーション連携モジュール40における処理結果をレスポンスとして、ブラウザ200にNC106を介して送信する。処理制御部301は、本実施形態に係るアプリケーション連携モジュール40を制御し、ブラウザ200からのリクエストを、通信部300を介して受け、後述する各部に対する指示、管理を行う。処理内容管理部302は、アプリケーション連携モジュール40にて実行する複数の処理を管理し、処理制御部301から指示を受け、ブラウザ200からのリクエストに応じた処理を実行する。ここで、処理とは、各アプリケーションが提供するインタフェースの呼び出し、条件分岐などがシーケンスとして定義されたものであり、ソースコードやxmlなどのスキーマで記述されている。
認証部303は、ユーザAのアプリケーション連携モジュール40へのログイン操作に対して、アクセスを許可するか否かの認証判断処理を行う。さらに、ユーザAが、アプリケーション連携モジュール40を介して一旦、文書管理アプリケーション41、及び印刷管理アプリケーション42にログインすると、一時的に両アプリケーションへのログイン情報を保持する。操作カテゴリ保持部304は、アプリケーション連携モジュール40が定義する文書管理アプリケーション41、及び印刷管理アプリケーション42の間で受け渡すオブジェクトに対する操作カテゴリを保持する。本発明において、操作カテゴリと呼ぶものは具体的には、CREATE(生成)、READ(読み取り)、UPDATE(更新)、DELETE(削除)、PRINT(印刷)、COPY(複写)、MOVE(移動)、ALL(全処理)など、オブジェクトに対する操作内容の種類を分類して定義したものである。なお、操作カテゴリは、データベース(不図示)、またはxmlのようなフォーマットで設定ファイルとして保持されている。更に、操作カテゴリは、ユーザインタフェース(不図示)を介して追加、編集、及び削除できても良いし、データベースや設定ファイルを直接編集しても良い。なお、操作カテゴリの数は2以上を定義するものとする。また、本発明において、単にオブジェクトと呼んでいるものは、文書管理アプリケーションで管理されるような文書情報や各種アプリデータなどを指している。
オブジェクト情報管理部305は、文書管理アプリケーション41から取得したオブジェクトを保存、管理する。更に、取得したオブジェクトに対するユーザAの操作権限などを、文書管理アプリケーション41から取得し、オブジェクト属性として保存、管理する。なお、オブジェクト及びその属性を含むオブジェクト情報には、ユーザAの操作権限以外にも、サイズ、作成日付などのオブジェクトに依存した情報を保持しても構わない。アプリケーション連携部306は、処理内容管理部302に保存された処理に従い、文書管理アプリケーション41、及び印刷管理アプリケーション42が提供するインタフェースの呼び出しを行い、各アプリケーションと連携する。アプリケーション情報保持部307は、文書管理アプリケーション41、及び印刷管理アプリケーション42が提供するインタフェースの情報を保持する。ここで、インタフェースの情報とは、各アプリケーションが提供する各インタフェースにおける処理内容を定義するもので、図10(b)はその一例であり、印刷管理アプリケーション42のインタフェースの操作カテゴリを示した定義ファイルである。
アクセス権判定部308は、オブジェクト情報管理部305に保存されたユーザAのオブジェクトに対する操作権限と、アプリケーション情報保持部307に保持された印刷管理アプリケーションのインタフェースの操作カテゴリを比較する。その結果、印刷管理アプリケーションのインタフェースを呼び出して良いか否かを判定する。UI保持部309は、ブラウザ200からのリクエストに対するアプリケーション連携モジュール40の処理結果をレスポンスとして返すユーザインタフェースを保存する。ここで、ユーザインタフェースとは、HTMLやJava Script(登録商標)に限定するものではなく、ブラウザ200で表示可能であれば、どのような形態であっても構わない。
文書管理アプリケーション41の接続部400は、アプリケーション連携モジュール40のアプリケーション連携部306からの呼び出しを受ける。接続部400からの指示を受け、文書管理アプリケーション本体401が処理を行い、アプリケーション連携部306に処理結果を返す。接続部400は、RESTやWeb Serviceのようにネットワークを介して通信可能とするものであっても良いし、インタフェースクラスのように直接ソースコードから呼び出すような構成であっても構わない。認証部402は、文書管理アプリケーション本体401におけるユーザ管理、及びアクセス権管理を行う。
印刷管理アプリケーション42におけるソフトウェア構成は、文書管理アプリケーション41におけるソフトウェア構成と同じであり、接続部500、印刷管理アプリケーション本体501、及び認証部502から構成される。
なお、複数のアプリケーションのうち、いくつかのアプリケーションが同一の認証方式を有し、同一のアクセス権で管理されている環境下に適用されてもよい。ここでは、図1の(a)及び(b)ようにシステム構成に合わせて、各アプリケーションが、異なる認証方式を有し、別個のアクセス権で管理されている環境下である。
以下、本発明の第一の実施形態に係るアプリケーション連携システムの各ステップにおける処理について、具体的に説明する。
[操作権限に応じたUI表示]
ユーザAが、Client PC10のブラウザ200を介して、本発明の実施形態に係るアプリケーション連携システムの操作権限に応じたUIを操作する。図5は、操作権限に応じたUI表示処理の流れの概要を示すフローチャートである。以下、図3及び図5を用いて説明する。
S101において、本実施形態に係るアプリケーション連携モジュール40の通信部300がブラウザ200を介してユーザAからのログイン指示を受けると、処理制御部301は認証部303にログイン可能かを確認する。続いて、S102において、通信部300がブラウザ200を介してユーザAからの文書検索の指示を受けると、処理制御部301はアプリケーション連携部306を介して文書管理アプリケーション41から文書検索結果を取得する。続いて、S103において、通信部300がブラウザ200を介してユーザAからの文書選択の指示を受けると、処理制御部301はアプリケーション連携部306を介して文書管理アプリケーション41から文書情報を取得する。処理制御部301は、取得した文書情報をもとに、オブジェクト情報としてオブジェクト情報管理部305に保存する。
続いて、S104において、処理制御部301は、S103により取得した文書情報に対するユーザAの操作権限を、アプリケーション連携部306を介して文書管理アプリケーション41から取得する。処理制御部301は、オブジェクト情報のオブジェクト属性として、取得したユーザAの操作権限による更新を行い、オブジェクト情報管理部305に保存する。続いて、S105において、処理制御部301は、ブラウザ200に返すユーザインタフェースをUI保持部309から取得する。次に、処理制御部301は、アプリケーション情報保持部307に保存された印刷管理アプリケーション42のインタフェースの定義ファイルを取得する。次に、アクセス権判定部308が、S104により取得した文書情報に対するユーザAの操作権限と、印刷管理アプリケーション42のインタフェースの定義ファイルに記載された操作カテゴリを比較する。処理制御部301は、比較結果を元に、ユーザAが文書に対する操作権限の無いコントロールを無効(非表示、グレーアウトなど)にして処理に対する指示を制限したユーザインタフェースを、通信部300を介してブラウザ200に返し、表示する。
[ログイン]
S101において、ユーザAが、Client PC10のブラウザ200を操作して、本実施形態に係るアプリケーション連携モジュール40により提供されるシステム環境に対してログインする。図6は、ログイン処理の流れを示すフローチャートである。以下、以下、図3、及び図6を用いて詳細に説明する。
S1001において、ユーザAは、Client PC10のブラウザ200を操作して、アプリケーション連携モジュール40にアクセスする。続いて、S1002において、S1001によりブラウザ200を介してユーザAがアプリケーション連携モジュール40へアクセスすると、アプリケーション連携モジュール40内の通信部300がHTTPリクエストを受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得する。処理制御部301は、処理内容管理部302から取得した処理に従い、UI保持部309からログインを要求するユーザインタフェースを取得し、通信部300を介してブラウザ200にレスポンスとして返す。ここで、本実施形態においては、ログインを要求するユーザインタフェースをアプリケーション連携モジュール40が返す場合について説明するが、それ以外の手段でログインをユーザAに要求しても構わない。具体的には、ブラウザ200からのHTTPリクエストヘッダに認証情報が無い場合、アプリケーションサーバPC20のWebサーバ機能(不図示)がブラウザ200にHTTPの401レスポンスコードを返し、ブラウザ200がログイン画面を表示しても良い。
続いて、S1003において、S1002によりログイン要求を受けたユーザAは、ブラウザ200に表示されたユーザインタフェースを介して、ログイン情報を入力し、アプリケーション連携モジュール40に送信する。続いて、S1004において、S1003によりブラウザ200を介してユーザAがアプリケーション連携モジュール40へログイン情報を送信すると、通信部300がログイン要求を受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得し、取得した処理に従い、認証部303にアプリケーション連携モジュール40にログイン可能か否かを判定する。より具体的には、認証部303は、事前に登録されたユーザ情報のリストを管理しており、ユーザAが送信したログイン情報に含まれるユーザ名、パスワードが、登録済みのユーザ情報のリスト内に存在するかを判定する。ここで、ログイン情報は、ユーザ名、パスワードだけに限定するものではない。ユーザが入力したログイン情報によりログイン不可であれば、再度ログイン情報を要求する。続いて、S1005において、S1004によりログイン可能であると判定された場合、処理制御部301は、UI保持部309からユーザインタフェースを取得し、通信部300を介してブラウザ200にレスポンスとして返す。
図4(a)は、Client PC10のブラウザ200に表示されたアプリケーション連携モジュール40にログイン後に表示するユーザインタフェースの一例である。ユーザインタフェースは、レポジトリエリア601、検索窓602、文書リストエリア603、プレビューエリア604、入稿ボタン605、編集ボタン606から構成される。レポジトリエリア601は、文書管理アプリケーション41の内部構造をツリービュー表示する。検索窓602は、文書管理アプリケーション41内の文書を検索する。文書リストエリア603は、文書のサムネイルやアイコンの形で表示する。プレビューエリア604は、文書リストエリア603において選択した文書のプレビューやプロパティ情報を表示する。入稿ボタン605は、選択された文書を印刷管理アプリケーション42への入稿を指示する。編集ボタン606は、選択された文書の編集を指示する。ユーザは、ブラウザ200に表示されたユーザインタフェースを介して、アプリケーション連携モジュール40に指示をする。なお、図4(a)で示したユーザインタフェースに関して、その形態、エリアの構成、及びコントロールは限定されたものではなく、必要となる機能を実現することができれば、どのような形態であっても構わない。
[文書検索]
S102において、ユーザAが、Client PC10のブラウザ200を操作し、アプリケーション連携モジュール40を介して文書管理アプリケーション41から文書を検索する。図7は、アプリケーション連携モジュール40を介した文書管理アプリケーションからの文書検索処理の流れを示すフローチャートである。以下、図3、図4(a)、及び図7を用いて詳細に説明する。
S1101において、ユーザAは、Client PC10のブラウザ200を操作して、文書管理アプリケーション内の文書を検索する。より具体的には、図4(a)内のレポジトリエリア601のツリービューを操作する、または図4(a)内の検索窓602に検索キーワードを入力することで、ユーザAは文書管理アプリケーション内の文書を検索する。続いて、S1102において、S1101によりブラウザ200を介してユーザAが文書検索を指示すると、アプリケーション連携モジュール40内の通信部300が文書検索要求を受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得する。処理制御部301は、取得した処理に従い、認証部303にユーザAに関連付けられた文書管理アプリケーション41へのログイン情報が存在するか否かを判定する。続いて、S1103において、S1102によりログイン情報が保存されていないと判定された場合、処理制御部301はUI保持部309から文書管理アプリケーション41へのログインを要求するユーザインタフェースを取得する。処理制御部301は、通信部300を介してブラウザ200に文書管理アプリケーション41へのログインを要求するユーザインタフェースをレスポンスとして返す。
続いて、S1104において、S1103によりログイン要求を受けたユーザAは、ブラウザ200に表示されたユーザインタフェースを介して、ログイン情報を入力し、アプリケーション連携モジュール40に送信する。続いて、S1105において、S1104によりブラウザ200を介してユーザAがログイン情報を送信すると、通信部300がログイン要求を受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得し、取得した処理に従い、アプリケーション連携部306を介して文書管理アプリケーションへログインを要求する。続いて、S1106において、S1105によりアプリケーション連携モジュール40がログインを要求すると、文書管理アプリケーション41の接続部400はログイン要求を受信する。接続部400は、ログイン要求を文書管理アプリケーション本体401に通知し、認証部402を指示してログイン可能か否かを判定する。
続いて、S1107において、S1106によりログインが可能であると判定された場合、処理制御部301は、アプリケーション連携部306介して文書管理アプリケーション41へのログイン結果を受ける。処理制御部301は、認証部303に指示して、ユーザAと関連付けて文書管理アプリケーション41へのログイン情報を一時的に保存する。これにより、ユーザAは、文書管理アプリケーション41にアクセスする度に、ログイン操作を求められるという煩わしい操作から解消できる。なお、本実施形態においては、文書管理アプリケーション41へのログイン情報を一時的に保持する場合について説明するが、データベース(不図示)などを利用することで、永続的にログイン情報を保持しても良い。なお、既にユーザAと紐づいた文書管理アプリケーション41へのログイン情報が既に存在する場合、本ステップはスキップしても構わない。
続いて、S1108において、S1102によりユーザAからの文書検索の指示を受けて、処理制御部301は、アプリケーション連携部306を介して文書管理アプリケーション41へ文書検索を依頼する。続いて、S1109において、S1108によりアプリケーション連携モジュール40が文書検索を要求すると、文書管理アプリケーション41の接続部400は文書検索要求を受信する。接続部400は、文書検索要求を文書管理アプリケーション本体401に通知し、文書検索を実行する。続いて、S1110において、S1109により文書検索結果を取得し、処理制御部301は、UI保持部309から取得したユーザインタフェースに文書検索結果を反映し、通信部300を介してブラウザ200にレスポンスとして返す。ここで、文書検索結果を反映とは、図4(a)内のレポジトリエリア601のツリービューを展開し、かつ展開されたフォルダ以下に存在する文書の一覧を文書リストエリア603内に表示した状態を指す。また、図4(a)内の検索窓602に入力された検索キーワードに一致する文書の一覧を、文書リストエリア603内に表示した状態でも構わない。また、検索結果として表示する内容は、図4(a)に示したものに限られず、例えばユーザが設定した表示内容に応じて変更してもよい。続いて、S1111において、S1110により受信した文書検索結果を反映したユーザインタフェースを、Client PC10のブラウザ200に表示する。
[文書取得]
S103において、ユーザAが、Client PC10のブラウザ200を操作し、アプリケーション連携モジュール40を介して文書管理アプリケーション41内の文書を選択する。図8は、アプリケーション連携モジュール40を介した文書管理アプリケーション41内の文書取得処理の流れを示すフローチャートである。以下、図3、図4(a)、及び図8を用いて詳細に説明する。
S1201において、ユーザAは、Client PC10のブラウザ200を操作して、文書管理アプリケーション41内の文書を選択する。より具体的には、ユーザAは、図4(a)内の文書リストエリア603内に表示された文書を選択する。続いて、S1202において、S1201によりブラウザ200を介してユーザAが文書選択を行うと、アプリケーション連携モジュール40内の通信部300が文書選択要求を受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得し、取得した処理に従い、アプリケーション連携部306を介して文書管理アプリケーション41へ文書取得を依頼する。
続いて、S1203において、S1202によりアプリケーション連携モジュール40が文書取得を要求すると、文書管理アプリケーション41の接続部400は文書取得要求を受信する。接続部400は、文書取得要求を文書管理アプリケーション本体401に通知し、ユーザに選択された文書情報を取得する。ここで本発明において、文書情報とは、文書に対応するバイナリデータでも構わないし、文書の実体が存在する前記アプリケーションサーバPC内のローカルのファイルパスでも良く、文書の実体となるデータにリンクできる情報であれば良い。また、文書自体のファイルサイズ、作成日時、ユーザが自由に設定したプロパティ情報を含んでいても構わない。
続いて、S1204において、S1203により文書管理アプリケーション41から取得した文書情報をもとに、処理制御部301は、オブジェクト情報を生成して、オブジェクト情報管理部305に保存する。具体的に本発明においては、RAM101上に取得した文書情報であるオブジェクトが含まれるオブジェクト情報を一時的に保持しても良いし、データベース(不図示)に登録しても良い。続いて、S104において、S1204により取得した文書情報に対するユーザAの操作権限を、アプリケーション連携部306を介して文書管理アプリケーション41から取得し、オブジェクト情報管理部305に保存する。
[操作権限取得]
S104において、アプリケーション連携モジュール40内の処理制御部301は、S103により取得した文書に対するユーザAの操作権限を、文書管理アプリケーション41から取得する。図9は、アプリケーション連携モジュール40が文書管理アプリケーションより文書に対するユーザAの操作権限を取得する処理の流れを示すフローチャートである。以下、図3、図9、及び図10(a)を用いて詳細に説明する。
S1301において、オブジェクト情報管理部305は、S103により、ユーザにより選択された文書に関するオブジェクト情報が生成、保存されたかを判定する。ここで、本ステップは、オブジェクト情報管理部305にオブジェクト情報が生成、保存されたタイミングで、自動的にオブジェクト情報管理部305が実行する。よって、処理内容管理部302に保存された各処理においてシーケンスとして定義、または記述する必要がなくなる。続いて、S1302において、S1301によりオブジェクト情報が生成、保存されたと判定すると、オブジェクト情報管理部305は、文書管理アプリケーション41に文書に対するユーザAの操作権限の取得を依頼する。ここで、アプリケーション連携モジュール40と連携する各アプリケーションにおいては、必要に応じてユーザの操作権限を取得するための統一的なインタフェースを実装していることとする。
続いて、S1303において、S1302によりアプリケーション連携部306からの依頼があると、文書管理アプリケーション41の接続部400は文書に対するユーザAの操作権限の取得要求を受信する。接続部400は、文書に対するユーザAの操作権限情報を取得するため、文書管理アプリケーション本体401、及び認証部402に処理を実行させる。続いて、S1304において、S1303により取得した文書に対するユーザAの操作権限情報を、接続部400は、アプリケーション連携モジュール40内の操作カテゴリ保持部304において定義された操作カテゴリに変換する。
図10(a)は、接続部400において文書管理アプリケーション41における操作権限の定義を、アプリケーション連携モジュール40内の操作カテゴリ保持部304において定義された操作カテゴリへの変換ルールを定義する定義ファイル700の一例である。定義ファイル700は、本実施形態のアプリケーション連携モジュール40と文書管理アプリケーション41を連携させる前提として、ユーザの操作権限を共通して統一的に扱うために事前に用意し、接続部400に保存、または管理されている。なお、ここで複数のアプリケーションを連携する際に、アプリケーション連携モジュール40において、ユーザの操作権限を統一的に扱うことができれば、定義ファイル700に限定するものではなく、それ以外の手段であっても構わない。また、本実施形態においては、文書管理アプリケーション41が、ユーザの操作権限を所属するグループによって定義している場合について説明するが、それ以外の定義を用いても構わない。
図10(a)においては、管理者グループ”admin”(701)に属するユーザは、操作カテゴリ保持部304において定義された「全ての操作を許可された」操作カテゴリ”ALL”(702)に変換するルールを一例として示している。その他の変換例は、以下の通りである。
・文書管理アプリケーション41における”guest”ユーザは、操作カテゴリ保持部304において定義された「読み取り操作のみを許可された」操作カテゴリ”READ”に変換
・文書管理アプリケーション41における”general1”ユーザは、操作カテゴリ保持部304において定義された「読み取り、及び更新操作を許可された」操作カテゴリ”READ”、及び”UPLOAD”に変換
・文書管理アプリケーション41における”general2”ユーザは、操作カテゴリ保持部304において定義された「読み取り、更新、印刷、及び編集操作を許可された」操作カテゴリ”READ”、”UPLOAD”、”PRINT”、”EDIT”に変換
ここで、本実施形態においては、図10(a)に示した一例を用いて説明を行うが、それ以外の変換ルールを定義してもよく、図10(a)に示した一例に限定するものでもない。
続いて、S1305において、オブジェクト情報管理部305は、S1304により取得した文書情報に対するユーザAの変換後の操作権限(操作カテゴリ)を、オブジェクト情報のオブジェクト属性として保存する。
ここまでの処理により、本システムでは、文書管理アプリケーション41から取得したオブジェクトに対して、印刷管理アプリケーション42が、ユーザの操作権限を確認/取得する処理を個別に実装する必要がなくなる。これにより、連携させたいアプリケーション間の相互依存性を排除することができる。
[UI表示]
S105において、アプリケーション連携モジュール40内の処理制御部301は、ユーザAが文書に対する操作権限の無いコントロールを無効にしたブラウザ200に返し、表示する。図11は、アプリケーション連携モジュール40がユーザAの文書への操作権限に応じたユーザインタフェースを返す処理の流れを示すフローチャートである。以下、図3、及び図11を用いて詳細に説明する。
S1401において、アプリケーション連携モジュール40内の処理制御部301は、S103によりユーザAが選択した文書の取得結果を返すため、UI保持部309からユーザインタフェースを取得する。続いて、S1402において、S1401により取得したユーザインタフェース内のコントロールにおいて、ユーザAの文書に対する操作権限に応じて表示/非表示を判定するロジック(プログラム)があるか否かを判定する。ここでは操作権限により許可される機能が表示されることを想定している。
より具体的には、UI保持部309に保存されているユーザインタフェースが、JSPなどのサーバサイド・スクリプティングなどのプログラム言語を含んだHTMLで構成されている場合について説明する。本実施形態のユーザインタフェースの一例である図4(a)には、ユーザAが選択した文書を表示するプレビューエリア604が存在する。さらに、ユーザインタフェースには、ユーザAの文書への操作権限に応じて表示/非表示を判定する入稿ボタン605、及び編集ボタン606が存在する。ここで、入稿ボタン605、及び編集ボタン606の両コントロールに対して、ユーザAの文書への操作権限に応じて表示/非表示を判定するためのロジックが、プログラム言語としてHTML内に存在する。なお、本実施形態においては、UI保持部309にサーバサイド・スクリプティングなどのプログラム言語を含んだHTMLが保存されている構成について説明を行うが、それ以外の手段でも構成されていても構わない。例えば、ブラウザ200に表示する際に同じ効果、及び表示結果を得るためにJava Script(登録商標)を用いても良い。
続いて、後述するS1403において、S1402により操作権限に応じてコントロールの表示/非表示を判定するロジックがあった場合、処理制御部301はサーバサイド・スクリプティングなどのプログラムを実行する。処理制御部301は実行結果を用いて、ユーザインタフェース内のコントロールを表示するか否かを判定する。続いて、S1404において、S1403によりユーザAの操作権限に応じたコントロールの表示/非表示の確認結果を得ると、処理制御部301は、ユーザインタフェース内のコントロールの表示/非表示を反映する。より具体的には、ユーザAが文書に対して印刷権限が無い(不許可の)場合、図4(a)内の入稿ボタン605を非表示にし、また、ユーザAが文書に対して編集権限が無い(不許可の)場合、図4(a)内の編集ボタン606を非表示にする。続いて、S1405において、S1402によりコントロールの表示/非表示を判定するロジック(プログラム)を全て処理し終えると、ブラウザ200にコントロールの表示/非表示を反映したユーザインタフェースを返し、表示する。なお、プレビューエリア604には、同時にユーザAが選択した文書のプレビュー、及びプロパティ情報が表示される。
これにより、ユーザは、文書に対する操作権限が存在しないコントロールを押すことなく、また、操作権限の無いコントロールを操作することで発生する外部システムへの問合せ、不要な処理、及びネットワーク通信を回避することができる。
[操作権限確認]
S1403において、アプリケーション連携モジュール40内の処理制御部301は、ユーザAの文書に対する操作権限を用いて、ユーザインタフェース内のコントロールを表示するか否かを判定するプログラムを実行する。具体的には、ユーザインタフェース内のコントロールをユーザAが操作した際に発生する処理、より詳細にはアプリケーションが提供するインタフェースを呼び出して良いか否かを、ユーザAの文書に対する操作権限を用いて判定する。図12は、アプリケーション連携モジュール40がユーザAの文書への操作権限と、アプリケーションが提供するインタフェース定義とを比較する処理の流れを示すフローチャートである。以下、図3、図10(b)、及び図12を用いて詳細に説明する。
S1501において、処理制御部301は、オブジェクト情報管理部305よりユーザAが選択した文書のオブジェクト情報を取得する。具体的には、オブジェクト情報として保存されているユーザAの文書に対する操作権限(操作カテゴリ)を取得する。続いて、S1502において、処理制御部301は、S1402によりユーザインタフェース内に埋まったコントロールに対して、ユーザがコントロールを操作した際に呼び出すアプリケーションのインタフェースの定義を取得する。本実施形態においては、図4(a)内の入稿ボタン605が押下されると、印刷管理アプリケーション42が提供するインタフェースを呼び出すことが、ユーザインタフェースの定義内に記述されている場合について説明する。処理制御部301は、入稿ボタン605に操作時に呼び出される印刷管理アプリケーション42のインタフェース定義を、アプリケーション情報保持部307から取得する。
図10(b)は、印刷管理アプリケーション42のインタフェース情報を定義した定義ファイル800の一例である。定義ファイル800は、本実施形態のアプリケーション連携モジュール40と印刷管理アプリケーション42を連携させる前提として、事前に用意され、アプリケーション情報保持部307に保持されている。本実施形態においては、印刷管理アプリケーション42が、二つのインタフェースを提供しており、一つは文書を入稿する際に呼び出す“PutDocument”、もう一つは文書を印刷する際に呼び出す“PrintDocument”である。さらに、各インタフェースが受け取ったオブジェクトに対して実行する処理内容を定義する目的で、アプリケーション連携モジュール40内の操作カテゴリ保持部304において定義された操作カテゴリを用いて宣言している。つまり、アプリケーションがオブジェクトに対して実行する処理内容と操作カテゴリとを対応関係を定義している。より具体的には、”PutDocument”(801)においては、操作カテゴリ保持部304において定義された「登録、及び印刷を行う」操作カテゴリ”UPLOAD”、”PRINT”(802)が宣言されている。更に、”PrintDocument”(803)においては、「印刷を行う」操作カテゴリ”PRINT”(804)が宣言されている。なお、インタフェース情報を定義したファイルにおいて、印刷管理アプリケーションが提供する全てのインタフェースについて記載する必要はない。最低限、受け取ったオブジェクト対して何らかの処理を行うインタフェースについてのみ記載されていても良い。また、各インタフェースの定義について、操作カテゴリ以外の情報が宣言されていても構わない。
続いて、S1503において、S1502により印刷管理アプリケーション42のインタフェース定義を取得すると、処理制御部301は、入稿ボタン605を操作した際に呼び出されるインタフェースの操作カテゴリを確認する。本実施形態においては、印刷管理アプリケーション42が提供するインタフェース“PutDocument”(801)の処理内容として宣言された“UPLOAD”、“PRINT”(802)が操作カテゴリとして取得される。続いて、S1504において、処理制御部301は、アクセス権判定部308に依頼し、S1501により取得したユーザAの文書に対する操作権限と、S1503により取得した印刷管理アプリケーション42のインタフェースの操作カテゴリを比較する。例えば、ユーザAが文書に対する操作権限として“READ”しかない場合、印刷管理アプリケーション42のインタフェース“PutDocument”は“UPLOAD”、“PRINT”であるため、ユーザAは“PutDocument”を呼び出す権限が無いと判定する。また、ユーザAが文書に対する操作権限として“READ”、“UPLOAD”、“PRINT”、及び“EDIT”がある場合、印刷管理アプリケーション42のインタフェース“PutDocument”は“UPLOAD”、“PRINT”であるため、ユーザAは“PutDocument”を呼び出す権限が有すると判定する。
続いて、S1505において、アクセス権判定部308がS1504によりユーザAの文書に対する操作権限と印刷管理アプリケーション42のインタフェースに定義された操作カテゴリの比較結果を、処理制御部301に通知する。
このように、アプリケーション連携モジュール40において、文書管理アプリケーション41からオブジェクトと共に当該オブジェクトに対する権限を取得する。そして取得した権限の情報に基づいて次の連携アプリケーションの(ここでは、印刷管理アプリケーション42)の操作を可能とするかを判定する。これにより連携アプリケーションが、ユーザの操作権限を確認/取得する処理を個別に実装する必要がなくなる。その結果、アプリケーション間の相互依存性を排除することができる。
また、アプリケーション連携モジュール40において、アプリケーションが提供するインタフェースを呼び出す前に、オブジェクトに対する処理を実行して良いか否かを判定できるため、分散環境での不要なネットワーク通信などを回避することができる。
<第二の実施形態>
本発明の第二の実施形態と第一の実施形態に係るアプリケーション連携システムとの相違点としては、ユーザAが、文書管理アプリケーション41からの文書の選択、及び印刷管理アプリケーション42への入稿を一連の処理として指示できることである。図4(b)は、Client PC10のブラウザ200に表示された本実施形態におけるアプリケーション連携モジュール40のユーザインタフェースの一例である。
以下、本実施形態に係るアプリケーション連携システムの各ステップにおける処理について、図3、図4(b)、図13、図14、及び図15を用いて、前述の実施形態と異なるステップの内容について説明する。
[操作権限に基づいた文書入稿、印刷]
ユーザAが、Client PC10のブラウザ200を介して、本実施形態に係るアプリケーション連携モジュール40を利用して文書を入稿、及び印刷するためにUIを操作する。図13は、文書を入稿、及び印刷するための処理の概要を示すフローチャートである。以下、図3及び図13を用いて説明する。
S201において、本実施形態に係るアプリケーション連携モジュール40の通信部300がブラウザ200を介してユーザAからのログイン指示を受けると、処理制御部301は認証部303にログイン可能かを確認する。本ステップは、第一の実施形態における図5のS101と同じであるため、詳細な説明は省略する。続いて、S202において、通信部300がブラウザ200を介してユーザAからの文書検索の指示を受けると、処理制御部301はアプリケーション連携部306を介して文書管理アプリケーション41から文書検索結果を取得する。本ステップは、第一の実施形態における図5のS102と同じであるため、詳細な説明は省略する。
続いて、S203において、通信部300がブラウザ200を介してユーザAからの文書選択、及び印刷管理アプリケーションへの入稿の指示を受けると、処理制御部301は文書管理アプリケーション41から文書情報を取得する。処理制御部301は、取得した文書情報であるオブジェクトをオブジェクト情報としてオブジェクト情報管理部305に保存する。本ステップに関しては、図14を用いて詳細に後述する。
続いて、S204において、処理制御部301は、S203により取得した文書情報に対するユーザAの操作権限を、文書管理アプリケーション41から取得し、オブジェクト情報を更新してオブジェクト情報管理部305に保存する。本ステップは、第一の実施形態における図5のS104と同じであるため、詳細な説明は省略する。
続いて、S205において、処理制御部301は、アプリケーション情報保持部307に保持された印刷管理アプリケーション42のインタフェースの定義ファイルを取得する。次に、アクセス権判定部308が、S204により取得した文書に対するユーザAの操作権限と、印刷管理アプリケーション42のインタフェースの定義ファイルに記載された操作カテゴリを比較する。処理制御部301は、比較結果を元に、ユーザAが文書を印刷する操作権限を有するか否かを判定し、印刷管理アプリケーション42に文書情報を入稿する。続いて、S206において、S205により印刷管理アプリケーション42に入稿された文書情報をもとに、ユーザAは周辺機器30、31、及び32を介して印刷する。周辺機器30、31、及び32での印刷方法に関しては、周辺機器30、31、及び32の操作パネル(不図示)から印刷管理アプリケーション42にアクセスして印刷しても良い。また、Client PC10のブラウザ200に表示されるユーザインタフェース(不図示)を操作して、印刷管理アプリケーション42から、周辺機器30、31、及び32に印刷しても良い。
[文書選択、入稿]
S203において、ユーザAが、Client PC10のブラウザ200を操作して、アプリケーション連携モジュール40を介して文書管理アプリケーション41内の文書を選択し、印刷管理アプリケーション42に入稿する。図14は、アプリケーション連携モジュール40を介した文書管理アプリケーション内の文書選択、及び入稿の処理の流れを示すフローチャートである。以下、図3、図4(b)、及び図14を用いて詳細に説明する。
S2001において、ユーザAは、Client PC10のブラウザ200を操作して、文書管理アプリケーション41内の文書を選択し、印刷管理アプリケーション42に入稿する。より具体的には、ユーザAは、図4(b)内の文書リストエリア603内に表示された文書を選択した状態で操作メニュー607を表示し、入稿を選択する。続いて、S2002において、S2001によりブラウザ200を介してユーザAが文書選択、及び入稿を指示すると、アプリケーション連携モジュール40内の通信部300が文書選択要求を受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得し、取得した処理に従い、アプリケーション連携部306を介して文書管理アプリケーション41へ文書取得を依頼する。
続いて、S2003において、S2002によりアプリケーション連携モジュール40が文書取得を要求すると、文書管理アプリケーション41の接続部400は文書取得要求を受信する。接続部400は、文書取得要求を文書管理アプリケーション本体401に通知し、文書情報を取得する。続いて、S2004において、S2003により文書管理アプリケーション41から取得した文書情報をもとに、処理制御部301は、オブジェクト情報を生成してオブジェクト情報管理部305に保存する。
続いて、S204において、S2004により取得した文書に対するユーザAの操作権限を、アプリケーション連携部306を介して文書管理アプリケーション41から取得し、オブジェクト情報管理部305に保存する。なお、本ステップは、第一の実施形態における図8のS104、更に、その詳細を示した図9の全ステップと同じであるため、詳細な説明は省略する。続いて、後述するS205において、S204により取得したオブジェクト情報を用いてユーザAにより選択され、取得した文書情報を、アプリケーション連携部306を介して印刷管理アプリケーション42に入稿する。続いて、S2005において、S204により続いて文書入稿結果を反映したユーザインタフェースを、Client PC10のブラウザ200に表示する。
[印刷管理アプリケーションへの文書入稿]
S205において、アプリケーション連携モジュール40内の処理制御部301は、ユーザAに選択、及び入稿を指示され、取得された文書情報を、印刷管理アプリケーション42に入稿する。図15は、アプリケーション連携モジュール40がユーザAの文書への操作権限に応じて、印刷管理アプリケーション42に入稿する処理の流れを示すフローチャートである。以下、図3、及び図15を用いて詳細に説明する。
後述するS2101において、処理制御部301は、ユーザAの文書への操作権限に応じて、印刷管理アプリケーション42に入稿して良いか否かを確認する。本処理は第一の実施形態にて述べた図12の処理に相当する。続いて、S2102において、処理制御部301は、S2101によりユーザAの操作権限に応じて、文書情報を印刷管理アプリケーション42に入稿できないと判定された場合、S2111に進み、処理を終える。続いて、S2103において、S2101により文書情報を印刷管理アプリケーション42に入稿できると判定された場合、処理制御部301は、認証部303にユーザAに関連付く印刷管理アプリケーション42へのログイン情報が存在するか否かを判定する。
続いて、S2104において、S2103によりログイン情報が存在すると判定された場合、処理制御部301はUI保持部309から印刷管理アプリケーション42へのログインを要求するユーザインタフェースを取得する。処理制御部301は、通信部300を介してブラウザ200に印刷管理アプリケーション42へのログインを要求するユーザインタフェースをレスポンスとして返す。続いて、S2105において、S2104によりログイン要求を受けたユーザAは、ブラウザ200に表示されたユーザインタフェースを介して、ログイン情報を入力し、アプリケーション連携モジュール40に送信する。続いて、S2106において、S2105によりブラウザ200を介してユーザAがログイン情報を送信すると、通信部300がログイン要求を受信する。処理制御部301は、通信部300から通知を受け、処理内容管理部302よりユーザAからの要求に対応する処理を取得し、取得した処理に従い、アプリケーション連携部306を介して印刷管理アプリケーションへログインを要求する。
続いて、S2107において、S2106によりアプリケーション連携モジュール40がログインを要求すると、印刷管理アプリケーション42の接続部500はログイン要求を受信する。接続部500は、ログイン要求を印刷管理アプリケーション本体501に通知し、認証部502を指示してログイン可能か否かを判定する。続いて、S2108において、S2107によりログインが可能であると判定された場合、処理制御部301は、アプリケーション連携部306介して印刷管理アプリケーション42へのログインが可能と結果を受ける。処理制御部301は、認証部303に指示して、ユーザAと関連付けて印刷管理アプリケーション42へのログイン情報を一時的に保存する。これにより、ユーザAは、文書管理アプリケーション41にアクセスする度に、ログイン操作を求められるという煩わしい操作から解消できる。なお、本実施形態においては、印刷管理アプリケーション42へのログイン情報を一時的に保持する場合について説明するが、データベース(不図示)などを利用することで、永続的にログイン情報を保持しても良い。なお、既にユーザAと関連付けられた印刷管理アプリケーション42へのログイン情報が既に存在する場合、本ステップはスキップしても構わない。
続いて、S2109において、S2001によりユーザAからの文書入稿の指示を受けて、処理制御部301は、アプリケーション連携部306を介して印刷管理アプリケーション42へ文書入稿を依頼する。続いて、S2110において、S2109によりアプリケーション連携モジュール40が文書入稿を要求すると、印刷管理アプリケーション42の接続部500は文書入稿要求を受信する。接続部500は、文書入稿要求を印刷管理アプリケーション本体501に通知し、文書入稿を実行する。続いて、S2111において、処理制御部301は、S2101によりユーザAの操作権限に応じて印刷管理アプリケーション42へ文書情報を入稿できないと判定された結果、または、S2110により実行された文書情報の入稿結果を受ける。次に、処理制御部301は、UI保持部309から印刷管理アプリケーション42への文書入稿結果を示すユーザインタフェースを取得し、通信部300を介してブラウザ200にレスポンスとして返す。
[操作権限確認]
S2101において、アプリケーション連携モジュール40内の処理制御部301は、処理制御部301は、ユーザAの文書への操作権限に応じて、文書情報を印刷管理アプリケーション42に入稿して良いか否かを確認する。本実施形態における操作権限の確認処理は、第一の実施形態における操作権限確認処理(図12)と同じである。以下、本実施形態にあわせて、図3、図10(b)、及び図12を用いて操作権限確認処理の流れについて詳細に説明する。
S1501において、処理制御部301は、オブジェクト情報管理部305よりユーザAが選択した文書に対応するオブジェクト情報を取得する。具体的には、ユーザAのその文書に対する操作権限(操作カテゴリ)を取得することになる。続いて、S1502において、処理制御部301は、S2002により取得した処理に従い、文書情報を入稿する際に呼び出す印刷管理アプリケーション42のインタフェースの定義をアプリケーション情報保持部307から取得する。図10(b)は、印刷管理アプリケーション42のインタフェース情報を定義したファイル(800)の一例である。インタフェース情報の定義ファイルは第一の実施形態と同じであるため、詳細は省略する。
続いて、S1503において、S1502により印刷管理アプリケーション42のインタフェース定義を取得したら、処理制御部301は、文書情報を入稿する際に呼び出されるインタフェースの処理内容を定義する操作カテゴリを確認する。本実施形態においては、印刷管理アプリケーション42が提供するインタフェース“PutDocument”(801)の処理内容として宣言された“UPLOAD”、“PRINT”(802)が操作カテゴリとして取得される。続いて、S1504において、処理制御部301は、アクセス権判定部308に依頼し、S1501により取得したユーザAの文書に対する操作権限と、S1503により取得した印刷管理アプリケーション42のインタフェースに定義された操作カテゴリを比較する。比較処理に関しては、第一の実施形態と同じであるため、詳細は省略する。続いて、S1505において、アクセス権判定部308がS1504によりユーザAの文書に対する操作権限と印刷管理アプリケーション42のインタフェースに定義された操作カテゴリの比較結果を、処理制御部301に通知する。
本実施形態により、複数のアプリケーションが一連の処理の中で連携する場合においても、アプリケーションから取得したオブジェクトに対して、他のアプリケーションがユーザの操作権限を把握するための処理を個別に実装する必要が無い。これによって、アプリケーション間の相互依存性を排除することができる。また、アプリケーションが提供するインタフェースを呼び出す前に、オブジェクトに対する処理を実行して良いか否かを判定できるため、不要なネットワーク通信、処理の実行などを回避することができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (14)

  1. 記憶手段と、それぞれ異なるアクセス権の管理がなされた複数のアプリケーション間にてオブジェクトの受け渡しを行うことで連携する連携手段とを備えるシステムにおけるアプリケーション連携方法であって、
    アプリケーションが提供する機能と、前記アプリケーションが提供する機能による前記オブジェクトに対する操作内容を分類した操作カテゴリとの対応関係を保持する保持工程と、
    第1のアプリケーションが管理するオブジェクトを取得するとともに、前記第1のアプリケーションが管理する当該オブジェクトに対するユーザの操作権限を取得する取得工程と、
    前記取得工程で取得されたオブジェクトと、当該オブジェクトに対する操作権限とをオブジェクト情報として前記記憶手段に記憶し管理するオブジェクト情報管理工程と、
    前記オブジェクト情報管理工程でオブジェクト情報として管理されたオブジェクトを処理する第2のアプリケーションが提供する機能に対応して、前記保持工程で保持されている操作カテゴリが当該オブジェクト情報として管理されたオブジェクトに対する操作権限により許可されているか否かを判定する判定工程と
    を有し、
    前記操作カテゴリは、前記複数のアプリケーション間で共通して用いられるように定義されており、
    前記連携手段は、
    前記判定工程の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションの提供する機能の実行に関しては、前記オブジェクト情報管理工程でオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡さず、
    前記判定工程の結果に応じて、許可されている操作カテゴリに対応する前記第2のアプリケーションの提供する機能の実行に関しては、前記連携手段により前記オブジェクト情報管理工程でオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡す
    ことを特徴とするアプリケーション連携方法。
  2. 前記取得工程では、前記第1のアプリケーションが管理しているオブジェクトに対するユーザの権限を、前記操作カテゴリにより定義した操作権限を取得することを特徴とする請求項1に記載のアプリケーション連携方法。
  3. 前記第2のアプリケーションの提供する機能の実行を指示するための画面をユーザに対して提供する提供工程を更に有し、
    前記提供工程では、前記判定工程の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションが提供する機能をユーザが指示することを制限する画面を提供することを特徴とする請求項1または2に記載のアプリケーション連携方法。
  4. 前記判定工程の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションが提供する機能の実行をユーザにより指示された際には、当該指示された機能が許可されていないことを通知する通知工程を更に有することを特徴とする請求項1乃至3の何れか一項に記載のアプリケーション連携方法。
  5. 前記オブジェクトは、前記第1のアプリケーションが管理する文書に対応するバイナリデータ、または文書自体であるデータが記憶された装置のローカルのファイルパスを含む当該文書にリンクできる情報の何れかであることを特徴とする請求項1乃至4の何れか一項に記載のアプリケーション連携方法。
  6. 前記操作カテゴリは、オブジェクトの作成、読み込み、更新、削除、印刷、コピー、及び移動のうち少なくとも何れか2以上の操作が定義されていることを特徴とする請求項1乃至5の何れか一項に記載のアプリケーション連携方法。
  7. 前記システムには、前記複数のアプリケーションによる機能をそれぞれ提供する複数の装置が含まれることを特徴とする請求項1乃至6の何れか一項に記載のアプリケーション連携方法。
  8. それぞれ異なるアクセス権の管理がなされた複数のアプリケーション間にてオブジェクトの受け渡しを行うことで連携する連携手段を備えるシステムであって、
    アプリケーションが提供する機能と、前記アプリケーションが提供する機能による前記オブジェクトに対する操作内容を分類した操作カテゴリとの対応関係を保持する保持手段と、
    第1のアプリケーションが管理するオブジェクトを取得するとともに、前記第1のアプリケーションが管理する当該オブジェクトに対するユーザの操作権限を取得する取得手段と、
    前記取得手段により取得されたオブジェクトと、当該オブジェクトに対する操作権限とをオブジェクト情報として管理するオブジェクト情報管理手段と、
    前記オブジェクト情報管理手段によりオブジェクト情報として管理されたオブジェクトを処理する第2のアプリケーションが提供する機能に対応して、前記保持手段により保持された操作カテゴリが当該オブジェクト情報として管理されたオブジェクトに対する操作権限により許可されているか否かを判定する判定手段と
    を有し、
    前記連携手段は、
    前記判定手段による判定の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションが提供する機能の実行に関しては、前記オブジェクト情報管理手段によりオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡さず、
    前記判定手段による判定の結果に応じて、許可されている操作カテゴリに対応する前記第2のアプリケーションが提供する機能の実行に関しては、前記連携手段により前記オブジェクト情報管理手段によりオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡すよう処理し、
    前記操作カテゴリは、前記複数のアプリケーション間で共通して用いられるように定義されていることを特徴とするシステム。
  9. 前記取得手段は、前記第1のアプリケーションが管理しているオブジェクトに対するユーザの権限を、前記操作カテゴリにより定義した操作権限を取得することを特徴とする請求項8に記載のシステム。
  10. 前記第2のアプリケーションの提供する機能の実行を指示するための画面をユーザに対して提供する提供手段を更に有し、
    前記提供手段は、前記判定手段の判定の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションが提供する機能をユーザが指示することを制限する画面を提供することを特徴とする請求項8または9に記載のシステム。
  11. 前記判定手段の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションが提供する機能の実行をユーザにより指示された際には、当該指示された機能が許可されていないことを通知する通知手段を更に有することを特徴とする請求項8乃至10の何れか一項に記載のシステム。
  12. 前記システムとして、前記複数のアプリケーションによる機能をそれぞれ提供する複数の装置を含むことを特徴とする請求項8乃至11の何れか一項に記載のシステム。
  13. コンピュータに請求項1乃至6の何れか一項に記載のアプリケーション連携方法に含まれる工程を実行させるためのプログラム。
  14. それぞれ異なるアクセス権の管理がなされた複数のアプリケーション間にてオブジェクトの受け渡しを行うことで連携する連携手段を備える情報処理装置であって、
    アプリケーションが提供する機能と、前記アプリケーションが提供する機能による前記オブジェクトに対する操作内容を分類した操作カテゴリとの対応関係を保持する保持手段と、
    第1のアプリケーションが管理するオブジェクトを取得するとともに、前記第1のアプリケーションが管理する当該オブジェクトに対するユーザの操作権限を取得する取得手段と、
    前記取得手段により取得されたオブジェクトと、当該オブジェクトに対する操作権限とをオブジェクト情報として管理するオブジェクト情報管理手段と、
    前記オブジェクト情報管理手段によりオブジェクト情報として管理されたオブジェクトを処理する第2のアプリケーションが提供する機能に対応して、前記保持手段により保持された操作カテゴリが当該オブジェクト情報として管理されたオブジェクトに対する操作権限により許可されているか否かを判定する判定手段と、
    を有し、
    前記連携手段は、
    前記判定手段による判定の結果に応じて、許可されていない操作カテゴリに対応する前記第2のアプリケーションが提供する機能の実行に関しては、前記オブジェクト情報管理手段によりオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡さず、
    前記判定手段による判定の結果に応じて、許可されている操作カテゴリに対応する前記第2のアプリケーションが提供する機能の実行に関しては、前記連携手段により前記オブジェクト情報管理手段によりオブジェクト情報として管理されたオブジェクトを前記第2のアプリケーションに渡し、
    前記操作カテゴリは、前記複数のアプリケーション間で共通して用いられるように定義されていることを特徴とする情報処理装置。
JP2009229996A 2009-10-01 2009-10-01 アプリケーション連携方法、及びシステム Withdrawn JP2011076550A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009229996A JP2011076550A (ja) 2009-10-01 2009-10-01 アプリケーション連携方法、及びシステム
US12/872,324 US20110083137A1 (en) 2009-10-01 2010-08-31 Application cooperation method, system, computer-readable medium, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009229996A JP2011076550A (ja) 2009-10-01 2009-10-01 アプリケーション連携方法、及びシステム

Publications (1)

Publication Number Publication Date
JP2011076550A true JP2011076550A (ja) 2011-04-14

Family

ID=43824150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009229996A Withdrawn JP2011076550A (ja) 2009-10-01 2009-10-01 アプリケーション連携方法、及びシステム

Country Status (2)

Country Link
US (1) US20110083137A1 (ja)
JP (1) JP2011076550A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024727A (ja) * 2014-07-23 2016-02-08 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
US9600326B2 (en) 2012-10-19 2017-03-21 Denso Corporation Information processing terminal

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108022A (ja) * 2008-10-28 2010-05-13 Seiko Epson Corp プリンタドライバプログラム、印刷制御装置、印刷制御方法
JP5693051B2 (ja) * 2010-06-09 2015-04-01 キヤノン株式会社 情報処理装置、情報処理装置のユーザ認証方法
US9262246B2 (en) 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US20130312099A1 (en) * 2012-05-21 2013-11-21 Mcafee, Inc. Realtime Kernel Object Table and Type Protection
US20170177706A1 (en) * 2015-12-16 2017-06-22 Quixey, Inc. Category-Based Search System and Method for Providing Application Related Search Results

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883001B2 (en) * 2000-05-26 2005-04-19 Fujitsu Limited Document information search apparatus and method and recording medium storing document information search program therein
JP4537819B2 (ja) * 2003-12-16 2010-09-08 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム及び記録媒体
EP1551146B1 (en) * 2004-01-05 2011-08-24 Ricoh Company, Ltd. Document security management for repeatedly reproduced hardcopy and electronic documents
JP2006048426A (ja) * 2004-08-05 2006-02-16 Canon Inc 文書管理システム、制御方法、及びプログラム
US8151204B2 (en) * 2006-11-29 2012-04-03 Siemens Medical Solutions Usa, Inc. Document viewing and management system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600326B2 (en) 2012-10-19 2017-03-21 Denso Corporation Information processing terminal
JP2016024727A (ja) * 2014-07-23 2016-02-08 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム

Also Published As

Publication number Publication date
US20110083137A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
US11985024B2 (en) Systems and methods for providing managed services
JP2011076550A (ja) アプリケーション連携方法、及びシステム
EP3053022B1 (en) Cloud data loss prevention integration
US9015651B2 (en) Gateway data distribution engine
US7827553B2 (en) Registering processing flow in accordance with user parameter
JP5388541B2 (ja) 画像処理装置、画像処理システム、それらの制御方法、プログラム、及び記憶媒体
US8959120B2 (en) Information processing apparatus, information processing method, and function expansion program
JP2004151893A (ja) 連携情報生成装置及びプログラム
JP2009042856A (ja) 文書管理装置、文書管理システム及びプログラム
US20180101525A1 (en) Information processing apparatus, document display method, document display system, and medium
JP2016165046A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
US20150229788A1 (en) Information processing apparatus and information processing method
JP2004163997A (ja) サービス処理装置、サービス処理方法及びプログラム
JP2011041214A (ja) 文書管理システム及びその制御方法、情報処理装置
WO2010095226A1 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
JP2004288025A (ja) サービス処理装置、サービス処理システム、サービス処理システムの元データ保管方法、及びサービス処理プログラム
US20150149919A1 (en) Information processing system and method of processing information
JP5982962B2 (ja) データ処理装置、データ処理システム及びプログラム
US10200455B2 (en) Information processing system and method
JP2004287837A (ja) 連携指示情報生成装置、連携指示情報生成方法及び連携指示情報生成制御プログラム
JP2008197751A (ja) 電子帳票作成管理システム及び電子帳票作成管理プログラム及びこのプログラムを記憶した記録媒体
JP2013058150A (ja) 情報処理装置およびプログラム
JP2004288054A (ja) サービス処理システム、サービス処理方法及びサービス処理プログラム
JP5685804B2 (ja) Webアプリケーションの連携方法、連携装置、および連携プログラム
JP2016174229A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20121204