JP2010204834A - アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム - Google Patents

アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム Download PDF

Info

Publication number
JP2010204834A
JP2010204834A JP2009048131A JP2009048131A JP2010204834A JP 2010204834 A JP2010204834 A JP 2010204834A JP 2009048131 A JP2009048131 A JP 2009048131A JP 2009048131 A JP2009048131 A JP 2009048131A JP 2010204834 A JP2010204834 A JP 2010204834A
Authority
JP
Japan
Prior art keywords
application
customization
information
user
screen
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.)
Granted
Application number
JP2009048131A
Other languages
English (en)
Other versions
JP2010204834A5 (ja
JP4772880B2 (ja
Inventor
Akira Kawai
亮 河合
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009048131A priority Critical patent/JP4772880B2/ja
Priority to US12/540,767 priority patent/US8239450B2/en
Publication of JP2010204834A publication Critical patent/JP2010204834A/ja
Publication of JP2010204834A5 publication Critical patent/JP2010204834A5/ja
Application granted granted Critical
Publication of JP4772880B2 publication Critical patent/JP4772880B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】業務の場面に応じてカスタマイズされたアプリケーションをユーザに提供する。
【解決手段】クライアントから要求された業務を処理するアプリケーションサーバと、アプリケーションサーバによって提供されるアプリケーションを変更するカスタマイズ実行サーバとを備える計算機システムで、カスタマイズ実行サーバは、アプリケーションの操作情報を含むユーザ状態情報を管理し、クライアントから送信された要求メッセージに基づいて、アプリケーションの操作情報をユーザ状態情報に記録し、アプリケーションサーバから送信された応答メッセージをユーザ状態情報に基づいて変更することによって、新たな応答メッセージを生成し、生成された新たな応答メッセージをクライアントに送信する。
【選択図】図1

Description

本発明は、業務の流れに応じたカスタマイズされたアプリケーションを提供する技術に関する。
近年、ビジネス環境が急激に変化しており、変化に対応してアプリケーションを迅速に構築する必要がある。ところが、事前にビジネス環境の変化を予測してアプリケーションを構築することは困難であるため、ビジネス環境の変化に対応してアプリケーションを迅速に変更することが求められている。
従来技術によるアプリケーションの変更では、まず、開発プロジェクトが設立され、情報システム部門又はアプリケーションの構築を専門に請け負うシステムインテグレーターの主導で進められる。そのため、ビジネス環境の変化に対応してアプリケーションを迅速に変更することは困難であった。
また、情報システム部門又はシステムインテグレーターがアプリケーションを変更する場合には、実際に業務を遂行するユーザの意見及び要望に基づいてアプリケーションを構築する。しかし、業務を実際に遂行するユーザの視点ではなく、情報システム部門又はシステムインテグレーターの視点、若しくは業務の最終的な処理を行う主管部門の視点でアプリケーションが構築される場合があった。そのため、実際に業務を遂行するユーザがアプリケーションを効率的に利用できない場合があった。
そこで、実際に業務を遂行するユーザが、情報システム部門又はシステムインテグレーターによらずに、業務の変化に合わせて即座にアプリケーションを変更して実行する技術が提案されている。業務の目的に合わせてユーザがアプリケーションを変更する技術の代表例にはマッシュアップがある。マッシュアップとは、複数の異なるアプリケーションによって提供される情報を関連付けて新しいアプリケーションを作成する手法である。例えば、地図情報を提供するアプリケーションと、不動産の物件情報を提供するアプリケーションを組み合わせて、新たな不動産サービスを提供するアプリケーションを作成するといったものがある。
マッシュアップに代表される従来のアプリケーションの変更方法では、アプリケーションによって提供される画面の所在情報を示すURL(Uniform Resource Locator)に対し、アプリケーションの変更内容を記述したカスタマイズ定義情報を関連付けている。カスタマイズ定義情報とは、変更するアプリケーションによって提供される画面のURLと、アプリケーションの変更方法が定義されたファイルである。アプリケーションの変更方法には、例えば、あるアプリケーションによって提供される情報を変更対象のアプリケーションの画面に追加する方法、変更対象のアプリケーションに新たな処理プログラムを追加する方法などが含まれる。カスタマイズ定義情報に記述されたURLにアクセスすると、カスタマイズ定義情報に基づいて変更されたアプリケーションが実行される。
以上のような従来のカスタマイズ方法の公知例は、例えば、特許文献1に開示されている。特許文献1には、ネットワーク上のアプリケーションによって提供される画面のURLにアクセスされる場合に、予めユーザ識別子に関連付けられた変更情報を応答情報に適用してユーザに提供する技術が開示されている。
特表2005−505839号公報
しかし、特許文献1に開示された技術では、ユーザ及びURLにアプリケーションの変更内容が関連付けられているため、同じユーザが同じアプリケーションを別の業務で利用する場合には、業務に応じたカスタマイズを行うことができなかった。
ここで、教育科目の選択及び申し込みの受け付けを支援する教育支援システムを例として説明する。教育支援システムは、教育科目の一覧を表示する画面、教育科目の詳細情報を表示する画面、及び教育科目を申し込む画面をユーザに提供する。また、教育支援システムと関連する別のシステムとして、ユーザの予定を表示するスケジューラアプリケーション、及び教育科目を以前に受講した人の感想を表示するアプリケーションが利用可能となっている。
このような教育支援システムにおいて、ユーザが教育科目の詳細情報を表示する画面を利用する場合に、以下の場面が考えられる。
(1)ユーザが教育科目の一覧を表示する画面を利用して受講を希望する教育科目を選択する過程で、興味のある教育科目を受講するか否かを決めるために、教育科目の詳細情報を表示する画面を利用する場面
(2)ユーザが教育科目を申し込む画面を利用して受講する教育科目を申し込む過程で、受講日程を決定するために、科目の詳細情報を表示する画面を利用する場面
以上の2つの場面では、ユーザが科目の詳細を表示する画面を利用する目的が異なるため、科目の詳細情報と関連づけて確認したい情報が異なると考えられる。
具体的には、ユーザが受講を希望する教育科目を選択する過程では、科目の詳細情報に合わせて以前に同じ教育科目を受講した受講者の感想を確認することが考えられる。また、ユーザが教育科目を申し込む過程では、科目の詳細情報と合わせてユーザのスケジュールを確認することが考えられる。
しかし、特許文献1に開示された技術には、教育科目の詳細を表示する画面のURL単位でのみカスタマイズ定義情報が関連付けられる。そのため、アプリケーションをカスタマイズした結果、教育支援システムを利用する場面に関係なく、科目の詳細情報、受講者の感想及びユーザのスケジューラが表示された画面が提供される。
その結果、ユーザが教育支援システムを利用する場合には、科目の詳細情報、受講者の感想及びユーザのスケジューラが組み合わされた画面の中から、ユーザの利用する場面に応じて、ユーザ自身が必要な情報を検索及び取捨選択する必要があった。
本発明の目的は、アプリケーションを利用する場面に応じてカスタマイズされた機能を提供する技術を提供することにある。
本発明の代表的な一形態では、クライアントからの要求を受け付けて業務を処理するためのアプリケーションを提供するアプリケーションサーバと、前記アプリケーションに含まれる特定のアプリケーションを変更して前記クライアントに提供するカスタマイズ実行サーバと、を備える計算機システムにおけるアプリケーション実行方法であって、前記カスタマイズ実行サーバは、前記クライアント及び前記アプリケーションサーバに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサによってアクセスされるメモリと、を備え、前記メモリには、前記業務を処理するための前記アプリケーションと前記特定のアプリケーションの操作情報を含むユーザ状態情報と、前記特定のアプリケーションに処理を要求する前までに実行された前記アプリケーションの操作情報を、前記特定のアプリケーションを変更する条件として定義されたカスタマイズ適用ユーザ状態定義情報と、前記特定のアプリケーションのカスタマイズ内容が定義されたカスタマイズ定義情報と、が記憶され、前記クライアントから業務を処理するために前記アプリケーションと前記特定のアプリケーションに対して処理を要求するとき、前記方法は、前記カスタマイズ実行サーバが、前記クライアントから前記アプリケーションおよび前記特定のアプリケーションの実行要求を含む要求メッセージを受信し、前記カスタマイズ実行サーバが、前記受信した要求メッセージを解析することによって、前記アプリケーションおよび前記特定のアプリケーションの操作情報を特定し、前記カスタマイズ実行サーバが、前記カスタマイズ適用定義情報に基づいて、前記特定された操作情報を前記ユーザ状態情報に記録し、前記カスタマイズ実行サーバが、前記アプリケーションサーバに前記要求メッセージを送信し、前記アプリケーションサーバが、前記要求メッセージに基づいて、要求された処理を実行し、前記要求メッセージに対する応答メッセージを送信し、前記カスタマイズ実行サーバが、前記アプリケーションサーバから送信された応答メッセージを受信し、前記カスタマイズ実行サーバが、前記カスタマイズ適用ユーザ状態定義情報及び前記ユーザ状態情報に基づいて、前記業務を処理する過程においてどのステップをカスタマイズするかを判断するとともに、前記特定のアプリケーションを変更するか否かを決定し、前記カスタマイズ実行サーバが、前記特定のアプリケーションを変更する場合には、前記カスタマイズ定義情報に基づいて前記応答メッセージを変更することによって、新たな応答メッセージを生成し、前記カスタマイズ実行サーバが、前記新たに生成された応答メッセージを前記クライアントに送信する。
本発明の一形態によれば、業務の場面に応じてカスタマイズされたアプリケーションをユーザに提供することができる。
本発明の第1の実施の形態のアプリケーションの動作の概要を説明するための図である。 本発明の第1の実施の形態の計算機システムの構成の一例を示すブロック図である。 本発明の第1の実施の形態のクライアント実行サーバ、カスタマイズ実行サーバ及びアプリケーション実行サーバのハードウェア構成の一例を示す図である。 本発明の第1の実施の形態の教育支援システムに含まれる各アプリケーション実行サーバの機能について説明する図である。 本発明の第1の実施の形態のカスタマイズ定義情報の一例を示す図である。 本発明の第1の実施の形態のカスタマイズ適用ユーザ状態定義情報の一例を示す図である。 本発明の第1の実施の形態のユーザ状態履歴情報の一例を示す図である。 本発明の第1の実施の形態の通信解析部による処理手順を示すフローチャートである。 本発明の第1の実施の形態のカスタマイズ適用部による処理手順を示すフローチャートである。 本発明の第1の実施の形態の教育支援システムの教育申込アプリケーションを利用する業務の流れを示すフローチャートである。 本発明の第1の実施の形態の教育支援システムの各シーンで表示される科目詳細画面の一例を示す図である。 本発明の第1の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第1の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第1の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第1の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第1の実施の形態のアプリケーションのカスタマイズ機能を含むカスタマイズ実行サーバの構成を示すブロック図である。 本発明の第1の実施の形態の画面履歴情報を記憶する処理の手順を示すフローチャートである。 本発明の第1の実施の形態のカスタマイズ条件及びカスタマイズ内容を定義する処理の手順を示すフローチャートである。 本発明の第1の実施の形態のカスタマイズ定義画面の一例を示す図である。 本発明の第1の実施の形態のユーザ状態定義画面の一例を示す図である。 本発明の第2の実施の形態のカスタマイズ定義情報の一例を示す図である。 本発明の第2の実施の形態のカスタマイズ適用ユーザ状態定義情報の一例を示す図である。 本発明の第2の実施の形態のユーザ状態履歴情報の一例を示す図である。 本発明の第2の実施の形態の通信解析部による処理手順を示すフローチャートである。 本発明の第2の実施の形態の通信解析部による処理手順を示すフローチャートである。 本発明の第2の実施の形態のカスタマイズ適用部による処理手順を示すフローチャートである。 本発明の第2の実施の形態の企業情報参照システムに含まれる各アプリケーション実行サーバの機能について説明する図である。 本発明の第2の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第2の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第2の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第2の実施の形態の各ステップにおけるユーザ状態履歴情報の一例を示す図である。 本発明の第3の実施の形態のカスタマイズ定義情報の一例を示す図である。 本発明の第3の実施の形態のカスタマイズ適用ユーザ状態定義情報の一例を示す図である。 本発明の第3の実施の形態のユーザ状態履歴情報の一例を示す図である。 本発明の第3の実施の形態の通信解析部による処理手順を示すフローチャートである。 本発明の第3の実施の形態の通信解析部による処理手順を示すフローチャートである。 本発明の第3の実施の形態のカスタマイズ適用部による処理手順を示すフローチャートである。 本発明のサーバ状態をアプリケーションの変更条件とする実施の形態の計算機システムの構成の一例を示すブロック図である。
以下、図面を参照しながら本発明の実施の形態について詳しく説明する。
(第1の実施の形態)
<概要>
まず、前述した教育支援システムを例として、本発明が適用されたアプリケーションの動作について説明する。
図1は、本発明の第1の実施の形態のアプリケーションの動作の概要を説明するための図である。
図1に示す教育支援システムには、科目詳細アプリケーション111、教育申込アプリケーション161、受講者の感想アプリケーション112及びスケジューラアプリケーション113が含まれる。各アプリケーションは、クライアント151を介してユーザからの要求に応じて実行される。
本発明の第1の実施の形態が適用された教育支援システムでは、ユーザがクライアント151を介して科目詳細アプリケーション111を実行する場合に、科目詳細アプリケーション111を実行する場面に基づいて、表示される画面がカスタマイズされる。
例えば、教育科目を選択する科目選択画面133から科目詳細画面121を参照する科目選択シーン141であれば、科目詳細アプリケーション111によって提供される科目詳細画面121に、受講者の感想アプリケーション112の情報が組み合わせられる。そして、科目詳細の情報と受講者の感想の情報を組み合わせた科目詳細画面131がクライアント151に表示される。
また、教育科目を申し込む申込画面134から科目詳細画面121を参照する科目申込シーン142であれば、科目詳細アプリケーション111が提供する科目詳細画面122に、スケジューラアプリケーション113の情報が組み合わせられる。そして、科目詳細の情報とユーザのスケジュールを組み合わせた科目詳細画面132がクライアント151に表示される。
以上のように、本発明の第1の実施の形態では、ユーザが科目詳細アプリケーション111を利用する場合に、科目を選択する場面又は科目を申し込む場面に応じてカスタマイズされた科目詳細アプリケーション111を利用することが可能となる。
以下、本発明の第1の実施の形態によるアプリケーションの実行方法について、図2から図10を参照しながら説明する。また、本発明の第1の実施の形態では、主にWebアプリケーションに本発明が適用される場合について説明する。
<システム構成>
図2は、本発明の第1の実施の形態の計算機システムの構成の一例を示すブロック図である。
本発明の第1の実施の形態のアプリケーション実行方法を実現する計算機システムは、クライアント実行サーバ211、カスタマイズ実行サーバ221、アプリケーション実行サーバ261、262及び263を含む。
クライアント実行サーバ211及びカスタマイズ実行サーバ221は、ネットワーク281を介して互いに接続される。また、カスタマイズ実行サーバ221、アプリケーション実行サーバ261、262及び263は、ネットワーク282を介して互いに接続される。クライアント実行サーバ211は、カスタマイズ実行サーバ221を介して、アプリケーション実行サーバ261、262及び263にアクセスする。
ネットワーク281及びネットワーク282は、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)又はインターネットなどのグローバルネットワークであってもよい。また、ネットワーク281及びネットワーク282は、同じネットワークであってもよい。
クライアント実行サーバ211は、クライアント212を含む。クライアント212は、カスタマイズ実行サーバ221を介してアプリケーション実行サーバ261、262及び263との間でメッセージを送受信する。クライアント実行サーバ211は、カスタマイズ実行サーバ221から受信したメッセージに基づいて、要求された情報を含む画面を表示する。
カスタマイズ実行サーバ221は、通信解析部222と、カスタマイズ適用部223及び記憶装置224を含む。
通信解析部222は、ユーザ状態解析部231を含む。通信解析部222及びユーザ状態解析部231は、状態に応じたカスタマイズをアプリケーションに適用するために、ユーザによる操作などのアプリケーションの状態を解析する。通信解析部222及びユーザ状態解析部231による処理の詳細については、図6にて後述する。
カスタマイズ適用部223は、ユーザ状態判定部241を含む。ユーザ状態判定部241は、通信解析部222及びユーザ状態解析部231による解析結果を判定する。カスタマイズ適用部223は、ユーザ状態判定部241によるユーザの状態の判定結果に基づいて、アプリケーションをカスタマイズする。カスタマイズ適用部223及びユーザ状態判定部241による処理の詳細については、図7にて後述する。
記憶装置224は、カスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253を格納する。
カスタマイズ定義情報251は、カスタマイズ対象の画面の識別情報と、対応するカスタマイズ内容を定義した情報である。カスタマイズ定義情報251の詳細については、図5Aにて後述する。
カスタマイズ適用ユーザ状態定義情報252は、画面をカスタマイズする条件を定義した情報である。カスタマイズ適用ユーザ状態定義情報252の詳細については、図5Bにて後述する。
ユーザ状態履歴情報253は、ユーザによるアプリケーションのアクセス履歴である。Webシステムでは、画面のアクセス履歴が対応し、遷移元の画面と遷移先の画面が格納される。ユーザ状態履歴情報253の詳細については、図5Cにて後述する。
アプリケーション実行サーバ261は、業務アプリケーション271を実行する。同様に、アプリケーション実行サーバ262は、業務アプリケーション272を実行する。さらに、アプリケーション実行サーバ263は、業務アプリケーション273を実行する。
業務アプリケーション271、272及び273は、カスタマイズ実行サーバ221を介してクライアント実行サーバ211からの要求された処理を実行し、処理結果を応答する。
図3は、本発明の第1の実施の形態のクライアント実行サーバ211、カスタマイズ実行サーバ221及びアプリケーション実行サーバ261のハードウェア構成の一例を示す図である。
なお、アプリケーション実行サーバ262及び263のハードウェア構成はアプリケーション実行サーバ261と同じであるため、説明を省略する。
クライアント実行サーバ211は、CPU312、ネットワークインタフェース311、二次記憶装置314及び主記憶装置313を含む。CPU312、ネットワークインタフェース311、二次記憶装置314及び主記憶装置313は、バス315によって相互に接続される。
CPU312は、主記憶装置313に記憶されているプログラムを実行することによって、クライアント実行サーバ211の所定の機能を実現する。
ネットワークインタフェース311は、ネットワーク281に接続するインタフェースである。クライアント実行サーバ211は、ネットワークインタフェース311を介してネットワーク281に接続する。
二次記憶装置314は、クライアント212の実行などに必要なプログラム及びデータを格納する。二次記憶装置314は、例えば、ハードディスク装置などの磁気記憶媒体である。また、フラッシュメモリなどの半導体記憶媒体であってもよい。
主記憶装置313は、CPU312によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。例えば、主記憶装置313には、クライアント機能を実現するためのプログラムであるクライアント212が記憶される。さらに、OS(オペレーティングシステム)などが記憶される。なお、OSについては、簡略化のために図示を省略している。主記憶装置313は、例えば、RAM(Random Access Memory)である。
また、クライアント212を実行する主体は、CPU312であるが、説明を簡略化するために、以下、クライアント212を動作又は処理の主体として説明する。
さらに、別の実施の形態として、クライアント212による機能を実現する論理回路を含むハードウェアなどによって実現してもよい。この場合には、クライアント212が動作又は処理の主体となる。
カスタマイズ実行サーバ221は、CPU322、ネットワークインタフェース321、二次記憶装置324及び主記憶装置323を含む。CPU322、ネットワークインタフェース321、二次記憶装置324及び主記憶装置323は、バス325によって相互に接続される。
CPU322は、主記憶装置323に記憶されているプログラムを実行することによって、カスタマイズ実行サーバ221の所定の機能を実現する。
ネットワークインタフェース321は、ネットワーク281及びネットワーク282に接続するインタフェースである。カスタマイズ実行サーバ221は、ネットワークインタフェース321を介してネットワーク281及びネットワーク282に接続する。
二次記憶装置324は、カスタマイズ実行サーバ221の所定の機能の実現するために必要なプログラム及びデータを格納する。二次記憶装置324は、図2に示した記憶装置224に対応し、カスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252、ユーザ状態履歴情報253などの情報を格納する。二次記憶装置324は、例えば、ハードディスク装置などの磁気記憶媒体である。また、フラッシュメモリなどの半導体記憶媒体であってもよい。
主記憶装置323は、CPU322によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。例えば、主記憶装置323には、通信解析部222及びカスタマイズ適用部223が記憶される。さらに、クライアント実行サーバ211と同様に、図示されていないOSなどが記憶される。主記憶装置323は、例えば、RAMである。
前述したように、カスタマイズ実行サーバ221は、通信解析部222、カスタマイズ適用部223、ユーザ状態解析部231及びユーザ状態判定部241を含む。各機能ブロック(通信解析部222、カスタマイズ適用部223、ユーザ状態解析部231及びユーザ状態判定部241)は、CPU322が主記憶装置323に記憶された各機能ブロックを実現するためのプログラムを実行することによって、所定の機能が提供される。この場合、各機能ブロックの動作又は処理の主体は、CPU322であるが、説明を簡略化するために、以下、各機能ブロックを動作又は処理の主体として説明する。
また、別の実施の形態として、カスタマイズ実行サーバ221の各機能ブロックを、各機能を実現する論理回路などを含むハードウェアによって実現してもよい。この場合には、各機能ブロックが動作又は処理の主体となる。
アプリケーション実行サーバ261は、CPU342、ネットワークインタフェース341、二次記憶装置344及び主記憶装置343を含む。CPU342、ネットワークインタフェース341、二次記憶装置344及び主記憶装置343は、バス345によって相互に接続される。
CPU342は、主記憶装置343に記憶されているプログラム(業務アプリケーション271)を実行することによって、アプリケーション実行サーバ261の所定の機能を実現する。
ネットワークインタフェース341は、ネットワーク282に接続するインタフェースである。クライアント実行サーバ211は、ネットワークインタフェース341を介してネットワーク282に接続する。
二次記憶装置344は、業務アプリケーション271の実行などに必要なプログラム及びデータを格納する。二次記憶装置344は、例えば、ハードディスク装置などの磁気記憶媒体である。また、フラッシュメモリなどの半導体記憶媒体であってもよい。
主記憶装置343は、CPU342によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。例えば、主記憶装置343には、業務アプリケーション271、及び、図示されていないOSなどが記憶される。主記憶装置343は、例えば、RAMである。
また、業務アプリケーション271を実行する主体は、CPU342であるが、説明を簡略化するために、以下、業務アプリケーション271を動作又は処理の主体として説明する。
さらに、別の実施の形態として、業務アプリケーション271による機能を実現する論理回路を含むハードウェアなどによって実現してもよい。この場合には、業務アプリケーション271が動作又は処理の主体となる。
なお、クライアント実行サーバ211、カスタマイズ実行サーバ221及びアプリケーション実行サーバ261の構成は、図3に示した構成の例に限定されない。例えば、カスタマイズ実行サーバ221は、クライアント実行サーバ211と同じ計算機上に構成されていてもよい。また、複数の業務アプリケーションがアプリケーション実行サーバ261で実行されるように構成してもよい。
<各定義情報の内容>
ここで、本発明の第1の実施の形態のアプリケーション実行システムで使用される定義情報の詳細について説明する。具体的には、カスタマイズ実行サーバ221に格納されているカスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253について説明する。
図5Aは、本発明の第1の実施の形態のカスタマイズ定義情報251の一例を示す図である。
カスタマイズ定義情報251には、カスタマイズ対象の画面の識別情報と、カスタマイズ内容が対応付けて格納される。カスタマイズ定義情報251には、カスタマイズID511、カスタマイズ対象識別子512及びカスタマイズ内容513が含まれる。
カスタマイズID511は、カスタマイズ定義情報、すなわち、カスタマイズ対象とカスタマイズ内容との組を識別する識別子である。
カスタマイズ対象識別子512は、変更対象のアプリケーションによって提供される画面の識別子である。例えば、Webシステムでは、画面の所在情報であるURLが格納される。
カスタマイズ内容513は、アプリケーションによって提供される画面の具体的な変更内容である。アプリケーションによって提供される画面の変更内容とは、例えば、変更対象のアプリケーションに追加される別のアプリケーションの所在情報(URL)である。さらに、変更対象のアプリケーションの画面において、追加されるアプリケーションの情報を配置するための位置情報も含まれる。また、変更対象のアプリケーションによって提供される情報と、追加されるアプリケーションによって提供される情報とを組み合わせるための加工情報を含んでもよい。加工情報には、数値演算、文字列演算、又は分岐処理など、一般的なプログラムにおける処理を記述することも可能である。
カスタマイズ定義情報251の行521は、アプリケーションによって提供される変更対象の所在情報「http://xxx.example/class_detail.html」に対応する画面にユーザがアクセスした場合に、「カスタマイズ内容1」を変更対象の画面に適用することを示している。
図5Bは、本発明の第1の実施の形態のカスタマイズ適用ユーザ状態定義情報252の一例を示す図である。
カスタマイズ適用ユーザ状態定義情報252には、カスタマイズ定義情報251の各行に定義されたカスタマイズ内容を適用する条件が格納されている。カスタマイズ適用ユーザ状態定義情報252には、カスタマイズID531、カスタマイズ対象識別子532及び遷移元識別子条件533が含まれる。
カスタマイズID531は、カスタマイズ定義情報を識別する識別子である。カスタマイズID531は、カスタマイズ定義情報251のカスタマイズID511に対応する。
カスタマイズ対象識別子532は、変更対象のアプリケーションによって提供される画面の識別子である。カスタマイズ定義情報251のカスタマイズID511と同様に、Webシステムの場合には、画面の所在情報であるURLが格納される。
遷移元識別子条件533は、変更対象のアプリケーションの前にアクセスされていた遷移元を識別する識別子である。Webシステムの場合には、遷移元の画面の所在情報であるURLが格納される。
カスタマイズ適用ユーザ状態定義情報252の行541は、アプリケーションによって提供される変更対象の所在情報「http://xxx.example/class_detail.html」に対応する画面の前に、ユーザが所在情報「http://xxx.education/selection.html」に対応する画面にアクセスしていた場合には、カスタマイズID531によって識別されるカスタマイズ内容を適用することを示している。
なお、遷移元識別子条件533には、複数の遷移元のアプリケーションを設定してもよい。例えば、複数の遷移元のアプリケーションの所在情報を実行順に連結した値を設定することによって、遷移元のアプリケーションの実行順序を指定することができる。
図5Cは、本発明の第1の実施の形態のユーザ状態履歴情報253の一例を示す図である。
ユーザ状態履歴情報253は、ユーザがアプリケーションを実行又は操作した履歴である。例えば、Webシステムでは、画面遷移の履歴に対応し、遷移元の画面のURLと遷移先の画面のURLが格納される。
ユーザ状態履歴情報253には、カスタマイズID551、遷移元識別子552及び遷移先識別子553が含まれる。
カスタマイズID551は、カスタマイズ定義情報を識別する識別子である。カスタマイズID551は、カスタマイズ定義情報251のカスタマイズID511に対応する。
遷移元識別子552は、ユーザが直前にアクセスしていた画面の識別子である。遷移先識別子553は、ユーザが現時点でアクセスしている画面の識別子である。遷移元識別子552及び遷移先識別子553は、Webシステムの場合には、画面の所在情報(URL)が格納される。
ユーザ状態履歴情報253の行561は、ユーザが現時点で遷移先識別子「http://xxx.example/class_detail.html」に対応する画面にアクセスしており、直前に遷移元識別子「http://xxx.education/selection.html」に対応する画面にアクセスしていたことを示している。
カスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253は、カスタマイズIDによって対応付けられている。前述したように、カスタマイズ定義情報251のカスタマイズID511、カスタマイズ適用ユーザ状態定義情報252のカスタマイズID531、及びユーザ状態履歴情報253のカスタマイズID551が対応している。
<通信解析部の処理の流れ>
次に、通信解析部222による処理手順について説明する。
図6は、本発明の第1の実施の形態の通信解析部222による処理手順を示すフローチャートである。
なお、本発明の第1の実施の形態では、通信解析部222によって使用されるカスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253は、カスタマイズ実行サーバ221が起動されたタイミングで二次記憶装置324から読み出され、主記憶装置323に記憶されている。
クライアント実行サーバ211は、クライアント212によって、ユーザから要求された画面を取得するための要求メッセージをカスタマイズ実行サーバ221に送信する(ステップ611)。
カスタマイズ実行サーバ221は、通信解析部222によって、ステップ611の処理でクライアント実行サーバ211から送信された要求メッセージを受信する(ステップ612)。通信解析部222は、受信した要求メッセージを解析し、遷移先の所在情報を取得する。例えば、クライアント212とアプリケーションとの間でHTTP(HyperText Transfer Protocol)通信をしている場合には、要求メッセージに含まれるリクエスト行に設定されたリクエストURI(Uniform Resource Identifier)パラメータを取得することによって遷移先の所在情報を取得できる。
ユーザ状態解析部231は、カスタマイズ適用ユーザ状態定義情報252から、ステップ612の処理で取得された遷移先の所在情報が設定されたカスタマイズ対象識別子532を有する行を検索する(ステップ613)。
ユーザ状態解析部231は、遷移先の所在情報が設定されたカスタマイズ対象識別子532を有する行が検索された場合には(ステップ613の結果が「yes」)、ステップ614の処理を実行する。一方、遷移先の所在情報が設定されたカスタマイズ対象識別子532を有する行が検索されなかった場合には(ステップ613の結果が「no」)、ステップ616の処理を実行する。
ユーザ状態解析部231は、ステップ613の処理で検索された行からカスタマイズID531を取得し、ユーザ状態履歴情報253から、同一のカスタマイズID551を有する行を検索する。そして、検索された行の遷移先識別子553の値を遷移元識別子552にコピーする(ステップ614)。
ユーザ状態解析部231は、ステップ612の処理で取得された遷移先の所在情報を、ステップ614の処理で検索された行の遷移先識別子553に設定する(ステップ615)。
ユーザ状態解析部231は、カスタマイズ適用ユーザ状態定義情報252から、ステップ612の処理で取得された遷移先の所在情報が、遷移元識別子条件533の先頭に一致する行を検索する(ステップ616)。
ユーザ状態解析部231は、遷移先の所在情報が遷移元識別子条件533の先頭に一致する行が検索された場合には(ステップ616の結果が「yes」)、ユーザ状態履歴情報253に新たに行を追加するために領域を確保する。そして、ステップ616の処理で検索された行のカスタマイズID531をカスタマイズID551として、ユーザ状態履歴情報253に新たに行を登録する(ステップ617)。さらに、新たに登録された行の遷移先識別子553に、ステップ612の処理で取得された遷移先の所在情報を設定する。
一方、ユーザ状態解析部231は、遷移先の所在情報が遷移元識別子条件533の先頭に一致する行が検索されなかった場合には(ステップ616の結果が「no」)、ステップ618の処理を実行する。
ユーザ状態解析部231は、ステップ612の処理で取得された遷移先の所在情報を含む遷移元識別子条件533を有する行がカスタマイズ適用ユーザ状態定義情報252に存在するか否かを判定する。さらに、遷移先の所在情報よりも実行順序が前となる所在情報を遷移元識別子条件533から抽出し、抽出された所在情報と一致する遷移先識別子553を有する行がユーザ状態履歴情報253に含まれるか否かを判定する(ステップ618)。
ユーザ状態解析部231は、ステップ618の条件を満たす場合には(ステップ618の結果が「yes」)、ステップ612の処理で取得された遷移先の所在情報を、ステップ618の処理で取得されたユーザ状態履歴情報253の行の遷移先識別子553に追加する(ステップ619)。
ユーザ状態解析部231は、ステップ618の条件を満たさない場合(ステップ618の結果が「no」)、又はステップ619の処理の実行が完了した場合には、ステップ620の処理を実行する。
通信解析部222は、ステップ612の処理で取得された遷移先の所在情報に対応するアプリケーション実行サーバに、クライアント212によって送信された要求メッセージを送信する。そして、アプリケーション実行サーバから応答メッセージを受信し、カスタマイズ適用部223に送信する(ステップ620)。カスタマイズ適用部223は、必要に応じて応答メッセージに対応するカスタマイズ内容を適用し、通信解析部222に応答メッセージを送信する。
通信解析部222は、カスタマイズ適用部223から受信した応答メッセージを参照し、応答メッセージにカスタマイズが適用されているか否かを判定する(ステップ621)。カスタマイズが適用されていた場合には(ステップ621の結果が「yes」)、ユーザ状態解析部231は、ステップ613の処理で取得されたカスタマイズ対象識別子512に対応するカスタマイズID551に基づいて、ユーザ状態履歴情報253の対応する行を削除する(ステップ622)。
通信解析部222は、応答メッセージにカスタマイズが適用されていない場合(ステップ621の結果が「no」)、又はステップ622の処理が終了した場合には、ステップ620の処理で受信した応答メッセージをクライアント212に送信する(ステップ623)。
<カスタマイズ適用部の処理の流れ>
次に、カスタマイズ適用部223による処理手順について説明する。
図7は、本発明の第1の実施の形態のカスタマイズ適用部223による処理手順を示すフローチャートである。
なお、本発明の第1の実施の形態では、カスタマイズ適用部223によって使用されるカスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253は、カスタマイズ実行サーバ221が起動されたタイミングで二次記憶装置324から読み出され、主記憶装置323に記憶されている。
カスタマイズ適用部223は、まず、通信解析部222から送信された要求メッセージを受信する(ステップ711)。
ユーザ状態判定部241は、ユーザ状態履歴情報253の遷移先識別子553と一致するカスタマイズ対象識別子512を有する行がカスタマイズ定義情報251に存在するか否かを判定する(ステップ712)。カスタマイズ定義情報251に該当する行が存在しない場合には(ステップ712の結果が「no」)、受信した要求メッセージを応答メッセージとして通信解析部222に送信する(ステップ717)。
ユーザ状態判定部241は、カスタマイズ定義情報251に該当する行が存在する場合には(ステップ712の結果が「yes」)、カスタマイズ対象識別子512の値に対応するカスタマイズID511を取得する。そして、ステップ712の処理で取得されたカスタマイズID511に基づいて、カスタマイズ適用ユーザ状態定義情報252を検索する(ステップ713)。
ユーザ状態判定部241は、カスタマイズ適用ユーザ状態定義情報252から行が検索された場合には(ステップ713の結果が「yes」)、ユーザ状態履歴情報253の遷移元識別子552と同一の遷移元識別子条件533が検索されたか否かを判定する(ステップ714)。
カスタマイズ適用部223は、ユーザ状態履歴情報253の遷移元識別子552と同一の遷移元識別子条件533が検索された場合には(ステップ714の結果が「yes」)、ステップ712の処理で取得されたカスタマイズ定義情報251の行のカスタマイズ内容513を通信解析部222から送信された要求メッセージに適用し、応答メッセージを作成する(ステップ715)。なお、カスタマイズ内容513を応答メッセージに適用する処理は、例えばXSLT(XML Stylesheet Language Transformations)やポップアップなどの従来技術で実現可能であるため、詳細な処理については省略する。
カスタマイズ適用部223は、カスタマイズ適用ユーザ状態定義情報252から行が検索されなかった場合(ステップ713の結果が「no」)、又はユーザ状態履歴情報253の遷移元識別子552と同一の遷移元識別子条件533が検索されなかった場合には(ステップ714の結果が「no」)、必要に応じてカスタマイズを適用する。具体的には、遷移元に依存しないカスタマイズ内容が定義されている場合には通信解析部222から送信された要求メッセージに適用し、応答メッセージを作成する(ステップ716)。なお、カスタマイズ内容を応答メッセージに適用する処理は、ステップ715と同様に、従来技術によって実現可能である。
最後に、カスタマイズ適用部223は、通信解析部222に応答メッセージを送信する(ステップ717)。
<アプリケーション実行方法の具体例>
ここで、前述した教育支援システムに本発明の第1の実施の形態を適用することによって、具体的な動作について説明する。
教育支援システムは、教育科目の中から、ユーザが受講を希望する科目を選択し、申し込みを行う処理を支援するシステムである。教育支援システムは、企業で主催する研修などを想定している。
教育支援システムに含まれる各アプリケーション実行サーバは、すべて同じ時期に開発されたのではなく、後から追加されたアプリケーションが含まれる。また、複数の拠点を有する企業の場合には、同一又は類似する機能を備えるアプリケーション実行サーバが各拠点に配置される場合もある。教育支援システムは、開発時期及び拠点が異なるアプリケーション実行サーバが連携することによって構成される。
まず、教育支援システムに含まれる各アプリケーション実行サーバの機能について説明する。
図4は、本発明の第1の実施の形態の教育支援システムに含まれる各アプリケーション実行サーバの機能について説明する図である。
教育支援システムには、アプリケーション実行サーバ411、412及び413が含まれる。アプリケーション実行サーバ411、412及び413は、図2に示したアプリケーション実行サーバ261、262及び263に相当する。
アプリケーション実行サーバ411は、科目詳細アプリケーション421及び受講者の感想アプリケーション422を提供する。アプリケーション実行サーバ412は、教育申込アプリケーション431を提供する。アプリケーション実行サーバ413は、スケジューラアプリケーション441を提供する。各アプリケーションは、Webシステムである。
科目詳細アプリケーション421には、科目詳細画面451(URL:http://xxx.example/class_detail.html)が含まれる。科目詳細画面451は、教育科目のカリキュラム及び開講日程などの詳細情報を表示する。
受講者の感想アプリケーション422には、受講者の感想画面461(URL:http://xxx.example/feedback.html)が含まれる。受講者の感想画面461は、教育科目を以前に受講した人の感想などを表示する。
教育申込アプリケーション431には、科目選択画面471(URL:http://xxx.education/selection.html)、及び科目申込画面472(URL:http://xxx.education/registration.html)が含まれる。
科目選択画面471は、ユーザに対して開講予定の教育科目の一覧を表示する。科目申込画面472は、ユーザに受講を希望する科目の一覧を表示して各科目を受講する希望の日程の入力を受け付ける。
スケジューラアプリケーション441は、スケジューラ画面481(URL:http://yyy.schedule/schedule.html)が含まれる。スケジューラ画面481は、ユーザのスケジュールを表示する。
図8は、本発明の第1の実施の形態の教育支援システムの教育申込アプリケーション431を利用する業務の流れを示すフローチャートである。
教育支援システムは、まず、開講中又は開講予定の教育科目の中で、受講を希望する科目を検索するために、科目選択画面471を表示し、ユーザから興味のある科目の選択を受け付ける(ステップ811)。
教育支援システムは、ステップ811の処理で選択された興味のある科目について、ユーザがカリキュラム及び講師などの詳細情報を確認するために、科目詳細画面451を表示する(ステップ812)。ユーザは、科目詳細画面451を参照して、科目の詳細を確認し、選択した科目を受講するか否かを決定する。
教育支援システムは、ユーザがステップ812の処理で受講を希望すると決定した科目の申し込みを受け付けるために、科目申込画面472を表示する(ステップ813)。
教育支援システムは、ユーザが受講を希望する科目の開催日程を確認するために、再度、科目詳細画面451を表示する(ステップ814)。
教育支援システムは、ユーザがステップ814の処理で確認した開催日程に基づいて、受講を希望する日程を入力し、科目の申し込みを行うために、科目申込画面472を表示する(ステップ815)。
また、図8に示すフローチャートでは、ユーザが教育支援システムを利用して教育を申し込む流れの中で、ステップ811からステップ812までを科目選択シーン821としている。一方、ステップ813からステップ815までを科目申込シーン822としている。
さらに、図5Aに示したカスタマイズ定義情報251、及び図5Bに示したカスタマイズ適用ユーザ状態定義情報252に基づいて、図8に示したフローチャートに対応するカスタマイズ実行サーバ221の動作について説明する。また、各処理におけるユーザ状態履歴情報253の状態についてあわせて説明する。ここでは簡単のため、ユーザ状態履歴情報253には何も登録されていない状態から処理が開始されたものとする。
カスタマイズ実行サーバ221は、ステップ811において、クライアント212から科目選択画面471(URL:http://xxx.education/selection.html)にアクセスするための要求メッセージを受信する。これは、図6のステップ612の処理に対応する。
また、科目選択画面471のURLと一致するカスタマイズ対象識別子532を有する行は、カスタマイズ適用ユーザ状態定義情報252には含まれていない。すなわち、図6のステップ613の処理の結果は「no」になる。
通信解析部222は、遷移先の画面の所在情報がカスタマイズ適用ユーザ状態定義情報252の行541の遷移元識別子条件533と同一であるため(図6のステップ616の結果が「yes」)、ユーザ状態履歴情報253を更新する。具体的には、遷移先識別子553に参照先の識別子(科目選択画面471のURL)が設定された行がユーザ状態履歴情報253に新たに追加される(図6のステップ617)。このとき、ユーザ状態履歴情報253は、図10Aのユーザ状態履歴情報1011に示した状態になる。
次に、ステップ812において、カスタマイズ実行サーバ221は、クライアント212から科目詳細画面451(URL:http://xxx.example/class_detail.html)にアクセスするための要求メッセージを受信する(図6のステップ612)。
通信解析部222は、遷移先の画面の所在情報(科目詳細画面451のURL)がカスタマイズ対象識別子532と一致する行をカスタマイズ適用ユーザ状態定義情報252から取得する。さらに、取得された行のカスタマイズID531と一致するカスタマイズID551を有する行をユーザ状態履歴情報253から取得する。ステップ812の処理では、カスタマイズ適用ユーザ状態定義情報252の行541及び542のカスタマイズ対象識別子532が科目詳細画面451のURLと一致し、さらに、行541のカスタマイズID531(=100)がユーザ状態履歴情報1011の行のカスタマイズID551と一致する。したがって、図6のステップ613の結果が「yes」となり、通信解析部222は、図6のステップ614及びステップ615の処理によって、ユーザ状態履歴情報1011を図10Bに示したユーザ状態履歴情報1021に更新する。その後、カスタマイズ適用部223は、カスタマイズ定義情報251の行521のカスタマイズ内容1を科目詳細画面451に適用する(図6のステップ620、図7)。カスタマイズ適用後、ユーザ状態履歴情報1021の対応する行は削除される(図6のステップ622)。
次に、ステップ813において、カスタマイズ実行サーバ221は、クライアント212から科目申込画面472(URL:http://xxx.education/registration.html)にアクセスするための要求メッセージを受信する(図6のステップ612)。
通信解析部222は、ステップ811と同様に、遷移先の画面の所在情報がカスタマイズ適用ユーザ状態定義情報252の行542の遷移元識別子条件533と同一であるため(図6のステップ616の結果が「yes」)、ユーザ状態履歴情報253を更新する(図6のステップ617)。このとき、ユーザ状態履歴情報253は、図10Cのユーザ状態履歴情報1031に示した状態になる。
次に、ステップ814において、カスタマイズ実行サーバ221は、クライアント212から科目詳細画面451(URL:http://xxx.example/class_detail.html)にアクセスするための要求メッセージを受信する。
通信解析部222は、遷移先の画面の所在情報(科目詳細画面451のURL)がカスタマイズ対象識別子532と一致する行をカスタマイズ適用ユーザ状態定義情報252から取得する。さらに、取得された行のカスタマイズID531と一致するカスタマイズID551を有する行をユーザ状態履歴情報1031から取得する。
ステップ814の処理において、条件に適合する行が取得されるため(図6のステップ613の結果が「yes」)、通信解析部222は、図6のステップ614及びステップ615の処理によって、ユーザ状態履歴情報1031を図10Dに示したユーザ状態履歴情報1041に更新する。その後、カスタマイズ適用部223は、カスタマイズ定義情報251の行522のカスタマイズ内容2を科目詳細画面451に適用する(図6のステップ620、図7)。カスタマイズ適用後、ユーザ状態履歴情報1041の対応する行は削除される(図6のステップ622)。
最後に、ステップ815において、カスタマイズ実行サーバ221は、クライアント212から科目申込画面472(URL:http://xxx.education/registration.html)にアクセスするための要求メッセージを受信する。通信解析部222は、受信した要求メッセージを解析する。このとき、条件に一致しないため(図6のステップ613及びステップ616の結果が「no」)、ユーザ状態履歴情報253を更新しない。
図9は、本発明の第1の実施の形態の教育支援システムの各シーンで表示される科目詳細画面の一例を示す図である。
図9には、従来のアプリケーション実行方法を適用した場合の科目詳細画面451と、本発明の第1の実施の形態によるアプリケーション実行方法を適用した場合の科目詳細画面451が示されている。
従来のアプリケーション実行方法による結果911では、科目選択シーン821と科目申込シーン822の両方において、同じ科目詳細画面921が表示される。科目詳細画面921には、図4に示したデフォルトの科目詳細画面451に対して、受講者の感想931とスケジュール932が同時に関連付けられて表示されている。
一方、本発明の第1の実施の形態のアプリケーション実行方法による結果912では、科目選択シーン821の場合には科目詳細画面922が表示され、科目申込シーン822の場合には科目詳細画面923が表示される。
科目選択シーン821で表示される科目詳細画面922には、受講者の感想931が関連付けられる。また、科目申込シーン822で表示される科目詳細画面923には、ユーザのスケジュール932が関連付けられる。
図9を参照すると、各科目詳細画面の右側には、スクロールバーが配置されているが、従来のアプリケーション実行方法と比較して、本発明の第1の実施の形態に係る科目詳細画面では表示される項目が少ないため、スクロール範囲を小さくすることができる。すなわち、ユーザが迅速に目的の情報を見つけることが可能となる。
<カスタマイズ定義>
続いて、ユーザがカスタマイズ適用ユーザ状態定義情報252を定義するために利用されるユーザ状態定義画面について、図11から図13Bを用いて説明する。本発明では、アプリケーションのカスタマイズをユーザ自身で行うことが可能である。すなわち、カスタマイズ定義機能は、クライアントから操作可能である。
ユーザ状態定義画面は、ユーザがアプリケーションを実行している間に適宜に生成可能であり、ユーザの要求に応じて起動される。ユーザは、ユーザ状態定義画面を介して、カスタマイズの適用条件を含むユーザの状態を定義し、カスタマイズ適用ユーザ状態定義情報252に格納する。
ユーザがアプリケーションを変更するタイミングは、アプリケーションの実行中であることが想定されている。ここでいうアプリケーションの変更は、表示項目の追加などである。ユーザは、アプリケーションを実行中に、業務の変化に応じてアプリケーションを業務の目的に合った形に変更するためにアプリケーション変更機能を実行する。ユーザは、アプリケーション変更機能によって、アプリケーションの変更方法を定義する。アプリケーション変更機能については、従来技術を利用すればよいため、ここではその詳細を記述しない。また、ユーザがアプリケーション変更機能を呼び出す方法には、例えば、ユーザがアプリケーションの実行中に画面上のツールバーから呼び出す方法、及びコンテキストメニューから呼び出す方法がある。
カスタマイズの適用条件であるユーザの状態を定義及びアプリケーションの変更が完了すると、カスタマイズされたアプリケーションを即座に提供することが可能となる。
以降、ユーザ状態定義画面を生成するための構成を追加したカスタマイズ実行サーバ221の構成、カスタマイズ機能を実行するための手順、及びアプリケーションを変更(カスタマイズ)するための画面について説明する。
図11は、本発明の第1の実施の形態のアプリケーションのカスタマイズ機能を含むカスタマイズ実行サーバ221の構成を示すブロック図である。
図11に示したカスタマイズ実行サーバ221の構成には、図3に示した構成に加え、アプリケーションの変更を定義するための構成が追加されている。具体的には、主記憶装置323にカスタマイズ定義画面生成部1911が記憶され、さらに、二次記憶装置324に画面履歴情報1951が格納されている。
カスタマイズ定義画面生成部1911は、アプリケーションを変更する場合にユーザからの入力を受け付ける定義画面を生成する。また、カスタマイズ定義画面生成部1911には、ユーザ状態定義画面生成部1921が含まれる。ユーザ状態定義画面生成部1921は、アプリケーションを変更するタイミングを定義するための情報を入力するユーザ状態定義画面を生成する。
さらに、ユーザ状態定義画面生成部1921には、画面履歴取得部1931及び定義画面生成部1941が含まれる。画面履歴取得部1931は、ユーザとアプリケーションとの間の通信情報を取得する。定義画面生成部1941は、ユーザ状態定義画面を生成する。
画面履歴情報1951は、ユーザとアプリケーションの通信情報を格納する。画面履歴情報1951には、ユーザが変更対象のアプリケーションに至るまでに実行を指示した1つ以上のアプリケーションの所在情報(URL)、当該アプリケーションの画面情報、及びアプリケーションの実行順序などが含まれる。
続いて、カスタマイズ機能の実現するための処理について説明する。カスタマイズを定義する処理は、アプリケーションを利用して通常の業務処理を行う場合に画面履歴情報を記憶する処理2011と、カスタマイズ機能を実行する処理2031に分けられる。
図12Aは、本発明の第1の実施の形態の画面履歴情報を記憶する処理2011の手順を示すフローチャートである。
クライアント212は、ユーザによって要求されたアプリケーションによって提供される画面の所在情報に要求メッセージを送信する(ステップ2021)。
ユーザ状態定義画面生成部1921は、画面履歴取得部1931によって、ステップ2021の処理で送信された要求メッセージを取得する。さらに、要求メッセージの構造を解析し、遷移先の画面の所在情報を取得し、画面履歴情報1951に格納する(ステップ2022)。例えば、HTTPによる通信であれば、要求メッセージに含まれるリクエスト行に設定されたリクエストURIパラメータを取得することによって、遷移先の所在情報を取得できる。
画面履歴取得部1931は、取得した画面の所在情報に対応するアプリケーションに要求メッセージを送信し、アプリケーションからの応答メッセージを受信する(ステップ2023)。
画面履歴取得部1931は、ステップ2023の処理で取得した応答メッセージを解析し、画面情報などの情報を取得し、画面履歴情報1951に格納する。例えば、HTTPによる通信であれば、応答メッセージのHTTPヘッダ又はHTTPボディに設定された値を取得することによって、画面情報などを取得できる。
図12Bは、本発明の第1の実施の形態のカスタマイズ条件及びカスタマイズ内容を定義する処理2031の手順を示すフローチャートである。
ユーザ状態定義画面生成部1921は、クライアント212を介してユーザから要求されたアプリケーションのカスタマイズの実行要求を受け付ける。前述のように、アプリケーションのカスタマイズは、業務の変化に応じてアプリケーションを業務の目的に合った形に変更するために、ユーザがアプリケーションを実行しているときに要求される。ユーザ状態定義画面生成部1921は、ユーザからの要求に応じてアプリケーションのカスタマイズ変更機能を実行する。そして、カスタマイズ定義画面をユーザに提示し、具体的なカスタマイズ内容の入力を受け付ける(ステップ2041)。なお、カスタマイズ定義画面の詳細については、図13Aにて後述する。
ユーザ状態定義画面生成部1921の定義画面生成部1941は、ユーザとアプリケーションの通信情報が格納された画面履歴情報1951に基づいて、ユーザ定義画面を生成する(ステップ2042)。なお、ユーザ定義画面の詳細については、図13Bにて後述する。ユーザ状態定義画面には、ユーザがアプリケーションの実行を指示した順序を示す遷移履歴情報と、遷移履歴情報に対応したアプリケーションの画面情報を含む。さらに、ユーザの状態をカスタマイズ適用条件として定義するための機能、例えば、ダイアログボックスを含む。
ユーザ状態定義画面生成部1921は、アプリケーション変更方法の定義が終了すると、ステップ2042の処理で生成されたユーザ定義情報画面を介して、カスタマイズ適用条件として定義されるユーザの状態の入力を受け付ける(ステップ2043)。
ユーザ状態定義画面生成部1921は、ステップ2043の処理で定義された内容を、カスタマイズ適用ユーザ状態定義情報252に格納する(ステップ2044)。
さらに、以上示した手順によって、ユーザが実際にアプリケーションをカスタマイズするための画面について説明する。
図13Aは、本発明の第1の実施の形態のカスタマイズ定義画面2111の一例を示す図である。
カスタマイズ定義画面2111には、アプリケーションの変更方法を定義するために必要な部品2121と、変更対象のアプリケーションの画面情報2131が表示される。具体的には、変更対象の画面に対し、必要な部品2121を配置することによって、アプリケーションをカスタマイズする。
図13Bは、本発明の第1の実施の形態のユーザ状態定義画面2141の一例を示す図である。
ユーザ状態定義画面2141には、遷移履歴2151と画面構造2161が表示される。遷移履歴2151は、ユーザが変更対象のアプリケーションの実行を指示する以前に実行を指示したアプリケーションの画面の遷移履歴情報である。画面構造2161は、遷移履歴2151に含まれる各画面に対応した画面の構造情報である。遷移履歴2151から画面が選択されると、画面構造2161に対応する画面が表示される。
ユーザは、アプリケーションの実行中に業務の変化に合わせてアプリケーション変更機能を実行し、カスタマイズ定義画面2111を使用して、アプリケーションをカスタマイズする。そして、カスタマイズ終了後に引き続いて、ユーザ状態定義画面2141を使用してカスタマイズ適用条件となるユーザの状態を定義する。以下に、ユーザ状態定義画面2141を利用する具体例を示す。
教育支援システムでは、ユーザは、科目詳細画面を参照する前に科目一覧画面を参照していたのか、又は科目申込画面を参照していたのかを遷移履歴2151から選択することができる。したがって、ユーザが遷移履歴2151で選択した画面を遷移元の画面の所在情報をカスタマイズ適用条件として定義することができる。
以上のように、ユーザ状態定義画面を介して、変更対象のアプリケーションに至るまでに実行されたアプリケーションの履歴などに基づいて、ユーザの状態をカスタマイズ適用条件として定義することが可能となる。
<効果>
本発明の第1の実施の形態によれば、同一の画面を表示する場合であっても、業務の流れに応じて表示する情報を変更することができる。具体的には、ユーザが変更対象のアプリケーションの画面にアクセスする以前にアクセスしていた1つ以上のアプリケーションの所在情報をカスタマイズ定義の適用条件とすることによって、業務の流れに応じたカスタマイズを行うことができる。
例えば、教育支援システムにおいて、科目を選択するシーンで科目の主催を参照する場合には、受講者の感想といった科目の選択に役立つ情報を表示することができる。これに対し、選択する科目が決定した後に科目の履修を申し込む場合には、講義日程とともにユーザのスケジュールを表示することが可能となる。このように、ユーザが実施する業務の目的に沿った情報を適切に取得できる。
さらに、本発明の第1の実施の形態によれば、ユーザ自身でアプリケーションをカスタマイズすることができるため、システム開発者などがアプリケーションをカスタマイズする場合と比較してより業務に適合したカスタマイズを行うことができる。
以上のように、本発明の第1の実施の形態によれば、ユーザが業務ごとに適切な機能を提供できるように、ユーザ自身でアプリケーションをカスタマイズすることができるため、業務の生産性を向上させることが期待される。
(第2の実施の形態)
続いて、本発明の第2の実施の形態について、図14から図18を参照しながら説明する。
第1の実施の形態では、ユーザが変更対象のアプリケーションの画面にアクセスする前にアクセスした1つ以上のアプリケーションの画面の所在情報をアプリケーションの変更条件としていた。
しかし、画面の所在情報が同じで動的に構造情報が変更される、例えば、JavaScript(登録商標、以下同じ)のようなDHTML(Dynamic HyperText Markup Language)を利用した画面を有するアプリケーションでは、ユーザがアプリケーションと直接通信することなく、動的にアプリケーションの画面の構造情報を変更することが可能である。そのため、ユーザが業務の異なる場面において、画面の所在情報が同じ、かつ、動的に画面の構造情報を変更可能なアプリケーションを利用する場合には、第1の実施の形態に示した方法では、業務の場面に応じてアプリケーションを変更することができない可能性がある。
そこで、本発明の第2の実施の形態では、変更対象のアプリケーションの実行前に実行された1つ以上のアプリケーションが、動的に構造情報を変更可能な画面情報を提供する場合にも、業務に応じてカスタマイズされたアプリケーションを提供する。
なお、第2の実施の形態では、第1の実施の形態と共通する構成については、適宜説明を省略し、相違する構成を中心に説明する。また、第2の実施の形態は、図2及び図3に示した第1の実施の形態のシステム構成と同様である。
<各定義情報の内容>
ここで、本発明の第2の実施の形態のアプリケーション実行システムで使用される定義情報の詳細について説明する。定義情報の種類は、第1の実施の形態と同様に、カスタマイズ実行サーバ221に格納されているカスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253の3種類である。
図14Aは、本発明の第2の実施の形態のカスタマイズ定義情報251の一例を示す図である。カスタマイズ定義情報251は、第1の実施の形態と同じであるため、説明を省略する。
図14Bは、本発明の第2の実施の形態のカスタマイズ適用ユーザ状態定義情報252の一例を示す図である。
カスタマイズ適用ユーザ状態定義情報252には、図5Bに示した第1の実施の形態の構成に加えて、新たにカスタマイズ適用条件として、遷移元構造条件1111が追加されている。カスタマイズID531、カスタマイズ対象識別子532及び遷移元識別子条件533については、第1の実施の形態と同様である。
遷移元構造条件1111は、変更対象のアプリケーションの実行を指示する前に、実行が指示された1つ以上のアプリケーションによって提供される画面情報において、ユーザが画面上で選択した画面の構造情報である。
例えば、図14Bに示したカスタマイズ適用ユーザ状態定義情報252の行1131では、変更対象のアプリケーションによって提供される画面の所在情報「http://xxx.example/company_detail.html」の前に、所在情報「http://example/company_list.html」に対応する画面が表示されている。さらに、所在情報「http://example/company_list.html」に対応する画面において、ユーザが「/html/group/label=Area」に対応する画面の構造情報を選択した場合に、カスタマイズ内容を適用することを示している。構造情報は、例えば、XPATH(XML Path Language)のようなマークアップ言語に準拠した文書の特定の部分を指定する言語構文を利用して表現することができる。
なお、遷移元構造条件1111には、ユーザが変更対象のアプリケーションに実行を指示する前に、実行を指示した1つ以上のアプリケーションによって提供される画面情報において、ユーザが画面上で選択した画面の構造情報を、アプリケーションの実行を指示した順序で連結した値を含めることができる。
図14Cは、本発明の第2の実施の形態のユーザ状態履歴情報253の一例を示す図である。
ユーザ状態履歴情報253には、図5Cに示した第1の実施の形態の構成に加えて、新たにカスタマイズ適用条件として、ユーザによって選択された画面構造情報である選択構造1121が追加されている。カスタマイズID551、遷移元識別子552及び遷移先識別子553については、第1の実施の形態と同様である。
選択構造1121は、ユーザが変更対象のアプリケーションにアクセスする以前にアクセスした複数のアプリケーションによって提供される画面で選択された構造情報である。
例えば、図14Cに示したユーザ状態履歴情報253の行1141では、現時点で所在情報「http://xxx.example/company_detail.html」に対応する画面が表示されている。「http://xxx.example/company_detail.html」に対応する画面を表示する前には、アプリケーションによって提供される所在情報「http://example/company_list.html」に対応する画面が表示され、当該画面において、ユーザが「/html/group/label=Area」に対応した構造情報を選択したことを示している。
<通信解析部の処理の流れ>
図15A及び図15Bは、本発明の第2の実施の形態の通信解析部222による処理手順を示すフローチャートである。
図15A及び図15Bに示すフローチャートでは、図6に示した処理に加え、ステップ1201からステップ1204の処理が新たに追加されている。なお、図15A及び図15Bのステップ611からステップ623の処理は、図6のステップ611からステップ623の処理を同様であるため説明を省略し、ステップ1201からステップ1204の処理について説明する。
ユーザ状態解析部231は、ステップ612の処理で取得された要求メッセージの構造を解析し、ユーザが画面上で選択した構造情報と応答メッセージに対応した画面の所在情報を示す識別子が追加されているか否かを判定する(ステップ1201)。そして、要求メッセージに構造情報が追加されていた場合には(ステップ1201の結果が「yes」)、ステップ1202の処理を実行する。また、構造情報が含まれていない場合には(ステップ1201の結果が「no」)、ステップ620の処理を実行する。
ユーザ状態解析部231は、カスタマイズ適用ユーザ状態定義情報252から、遷移元構造条件1111と遷移元識別子条件533の組が、ステップ1201の処理で取得された構造情報と画面の所在情報の組と、同一の値を含む行を特定する。そして、特定された行に対応するカスタマイズID531を取得し、同一の値を有するユーザ状態履歴情報253のカスタマイズID551の行を特定し、当該行の選択構造1121に、ステップ1201の処理で取得された構造情報を設定する(ステップ1202)。
ユーザ状態解析部231は、遷移元識別子条件533にステップ612の処理で取得された遷移先の所在情報と同一の値を有し、かつ、遷移元構造条件1111に画面の構造情報を定義した値を含む行がカスタマイズ適用ユーザ状態定義情報252に含まれるか否かを判定する(ステップ1203)。条件を満たす遷移元識別子条件533及び遷移元構造条件1111を含む行が存在する場合には(ステップ1203の結果が「yes」)、ステップ1204の処理を実行する。一方、条件を満たす遷移元識別子条件533及び遷移元構造条件1111を含む行が存在しない場合には(ステップ1203の結果が「no」)、ステップ621の処理を実行する。
ユーザ状態解析部231は、カスタマイズ適用部223から受信した応答メッセージに対応した画面情報からユーザによって選択された構造情報を取得し、画面の所在情報と選択された構造情報を取得するためのプログラムを追加する(ステップ1204)。具体的には、受信した応答メッセージによってクライアントに提示される画面を介して、次に要求メッセージを送信する場合に、ユーザが画面上で選択した構造情報と対応する画面の所在情報を示す識別子をカスタマイズ実行サーバ221に送信する処理が実行されるプログラムである。
選択された構造情報及び応答メッセージに対応する画面の所在情報をカスタマイズ実行サーバ221に送信するプログラムは、例えば、JavaScriptのようなプログラミング言語を用いることによって実現可能である。具体的には、Webシステムの場合には、画面情報であるHTMLファイルにJavaScriptなどによって記述されたプログラムを埋め込めばよい。また、カスタマイズ実行サーバ221に構造情報を送信する方法としては、例えば、HTTPを使った通信であれば、HTTPヘッダにユーザが画面上で選択した構造情報を格納すればよい。
<カスタマイズ適用部の処理の流れ>
図16は、本発明の第2の実施の形態のカスタマイズ適用部223による処理手順を示すフローチャートである。
図16に示すフローチャートでは、図7に示した処理に加え、ステップ1301及びステップ1302の処理が新たに追加されている。なお、図16のステップ711からステップ717の処理は、図6のステップ711からステップ717の処理を同様であるため説明を省略し、ステップ1301及びステップ1302の処理について説明する。
ユーザ状態判定部241は、ステップ714の処理で取得された遷移元識別子552と遷移元識別子条件533が同一であって、カスタマイズ適用ユーザ状態定義情報252の遷移元構造条件1111と、ユーザ状態履歴情報253の選択構造1121が同じ行が存在するか否かを判定する(ステップ1301)。遷移元構造条件1111と同一の選択構造1121を含む行が存在する場合には(ステップ1301の結果が「yes」)、ステップ1302の処理を実行する。遷移元構造条件1111と同一の選択構造1121を含む行が存在しない場合には(ステップ1301の結果が「no」)、ステップ716の処理を実行する。
カスタマイズ適用部223は、ステップ1301の処理で取得されたカスタマイズ定義情報251のカスタマイズID511の行に含まれるカスタマイズ内容513を応答メッセージに適用することによって、新たな応答メッセージを作成する(ステップ1302)。
<アプリケーション実行方法の具体例>
ここで、本発明の第2の実施の形態を企業情報参照システムに適用することによって、アプリケーション実行方法の具体的な動作及び効果について説明する。企業情報参照システムは、ユーザが拡販活動の中で顧客企業の情報を確認する場合などに利用されるシステムである。
図17は、本発明の第2の実施の形態の企業情報参照システムに含まれる各アプリケーション実行サーバの機能について説明する図である。
企業情報参照システムには、アプリケーション実行サーバ1461、1471及び1481が含まれる。アプリケーション実行サーバ1461、1471及び1481は、図2に示したアプリケーション実行サーバ261、262及び263に相当する。
アプリケーション実行サーバ1461は、企業詳細アプリケーション1401及び経済状況アプリケーション1402を提供する。アプリケーション実行サーバ1471は、企業情報参照アプリケーション1403を提供する。アプリケーション実行サーバ1481は、取引履歴アプリケーション1404を提供する。各アプリケーションは、Webシステムである。
企業詳細アプリケーション1401には、企業情報の詳細を表示する企業詳細画面1411(URL:http://xxx.example/company_detail.html)が含まれる。また、経済状況アプリケーション1402には、企業が所在する地域の経済状況を表示する経済状況画面1421(URL:http://xxx.example/area_report.html)が含まれる。
企業情報参照アプリケーション1403には、企業の一覧を表示する企業一覧画面1431(URL:http://example/company_list.html)が含まれる。企業一覧画面1431は、「地域」又は「得意先/重点顧客」が選択されることによって、異なる構造で画面が動的に生成される。
取引履歴アプリケーション1404には、該当する企業の取引履歴を表示する取引履歴画面1441(URL:http://yyy.business/deal.html)を含むことを示している。
ここで、ユーザが拡販活動を実施するため、企業情報参照システムで企業一覧画面1431を参照し、その後、企業の詳細を確認するために、企業詳細画面1411を参照する業務の流れがあるとする。
このとき、ユーザが企業一覧画面1431で企業が所在する「地域」の観点を選択してから企業詳細画面1411を確認する場面と、「得意先/重点顧客」の観点を選択してから企業詳細画面1411を確認する場面がある。このような2つの場面では、ユーザが企業詳細画面1411を参照する目的が異なるため、企業の詳細情報と合わせて確認したい情報が異なると考えられる。
例えば、ユーザが「地域」の観点を選択して、企業詳細画面1411を参照する場合には、企業の詳細情報と合わせて、地域の経済状況を表示する経済状況画面1421の情報を合わせて確認する。また、ユーザが「得意先/重点顧客」の観点を選択して、企業詳細画面1411を参照するときには、企業の詳細情報と合わせて、顧客との取引履歴を合わせて確認するといった場合がある。
以下、図14Aから図14Cに示したカスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253に基づいて、「地域」観点で企業詳細画面1411を確認する場面と、「得意先/重点顧客」観点で企業詳細画面1411を確認する場面における処理の流れを説明する。
(「地域」観点における詳細画面)
カスタマイズ実行サーバ221は、クライアント212から企業一覧画面1431(URL:http://example/company_list.html)にアクセスするための要求メッセージを受け付けると、通信解析部222によって受信した要求メッセージを解析する。
通信解析部222は、遷移先の画面の所在情報がカスタマイズ適用ユーザ状態定義情報252の行1131及び1132と同一であるため、ユーザ状態履歴情報253を更新する。
さらに、ユーザ状態解析部231は、遷移先の画面の所在情報及び遷移元識別子条件533が同一であって、遷移元構造条件1111が定義されているため、クライアント212に対する応答メッセージに、構造情報と応答メッセージに対応した画面の所在情報をカスタマイズ実行サーバ221に送信するプログラムを埋め込む(図15Bのステップ1204)。この時点におけるユーザ状態履歴情報253は、図18Aのユーザ状態履歴情報1511に示した状態になっている。
次に、ユーザは、カスタマイズ実行サーバ221から取得した企業一覧画面1431で、観点選択ラジオボタン1451の「地域」を選択し、詳細情報を参照したい企業を選択する。
カスタマイズ実行サーバ221は、クライアント212から企業詳細画面1411(URL:http://xxx.example/company_detail.html)にアクセスするための要求メッセージを受信し、通信解析部222によって受信した要求メッセージを解析する。そして、通信解析部222は、遷移先の画面の所在情報が変更対象の企業詳細画面1411と同一であるため、ユーザ状態履歴情報1511を更新する。
通信解析部222は、要求メッセージにユーザが企業一覧画面1431で選択した構造情報が含まれているため、選択した構造情報に基づいてユーザ状態履歴情報1511を更新する(図15Aのステップ1202)。この時点では、ユーザ状態履歴情報は、図18Bのユーザ状態履歴情報1512に示す状態となる。
そして、カスタマイズ適用部223は、カスタマイズ適用ユーザ状態定義情報252の行1131がユーザ状態履歴情報1512に適合するため、カスタマイズ定義情報251の行1151のカスタマイズ内容3を企業詳細画面1411に適用する。
(「得意先/重点顧客」観点における詳細画面)
カスタマイズ実行サーバ221は、クライアントから企業一覧画面1431にアクセスするための要求メッセージを受け付けると、通信解析部222によって受信した要求メッセージを解析する。
通信解析部222は、遷移先の画面の所在情報がカスタマイズ適用ユーザ状態定義情報252の行1131及び1132と同一であるため、ユーザ状態履歴情報253を更新する。
さらに、ユーザ状態解析部231は、遷移先の画面の所在情報及び遷移元識別子条件533が同一であって、遷移元構造条件1111が定義されているため、クライアント212に対する応答メッセージに、構造情報と応答メッセージに対応した画面の所在情報をカスタマイズ実行サーバ221に送信するプログラムを埋め込む(図15Bのステップ1204)。この時点におけるユーザ状態履歴情報253は、図18Cのユーザ状態履歴情報1513に示した状態になる。
次に、ユーザは、カスタマイズ実行サーバ221から取得した企業一覧画面1431で、観点選択ラジオボタン1451の「得意先/重点顧客」を選択し、詳細情報を参照したい企業を選択する。
カスタマイズ実行サーバ221は、クライアント212から企業詳細画面1411にアクセスするための要求メッセージを受信し、通信解析部222によって受信した要求メッセージを解析する。そして、通信解析部222は、遷移先の画面の所在情報が変更対象の企業詳細画面1411と同一であるため、ユーザ状態履歴情報1513を更新する。
また、通信解析部222は、要求メッセージにユーザが企業一覧画面1431で選択した構造情報が含まれているため、選択した構造情報に基づいてユーザ状態履歴情報253を更新する(図15Aのステップ1202)。この時点では、ユーザ状態履歴情報は、図18Dのユーザ状態履歴情報1514に示す状態となっている。
そして、カスタマイズ適用部223は、カスタマイズ適用ユーザ状態定義情報252の行1132がユーザ状態履歴情報1514に適合するため、カスタマイズ定義情報251の行1152のカスタマイズ内容4を企業詳細画面1411に適用する。
<カスタマイズ定義>
本発明の第2の実施の形態において、カスタマイズ適用条件を設定する方法について補足する。
企業検索システムの例では、ユーザは企業一覧画面を図13Bの遷移履歴2151から選択し、画面構造2161に表示された画面情報から、カスタマイズ適用条件として登録する画面の構造「地域」又は「得意先/重点顧客」を選択する。その後、カスタマイズ定義画面2111を利用して、カスタマイズ内容を定義する。そして、選択した画面の所在情報などと合わせて、画面の構造をカスタマイズ適用条件として定義する。
<効果>
本発明の第2の実施の形態によれば、カスタマイズ適用条件に選択された構造を追加することによって、変更対象のアプリケーションの実行前に実行された1つ以上のアプリケーションが、動的に構造情報を変更可能な画面情報を提供する場合にも、業務に応じてカスタマイズされたアプリケーションをユーザに提供することができる。
(第3の実施の形態)
続いて、本発明の第3の実施の形態について、図19から図21を参照しながら説明する。
第2の実施の形態では、ユーザが変更対象のアプリケーションの画面にアクセスする前にアクセスした1つ以上のアプリケーションの画面の所在情報と、ユーザが画面上で選択した画面の構造情報をアプリケーションの変更条件としていた。
しかし、ユーザがアプリケーションの提供する画面情報を介して操作する場合には、第2の実施の形態のようにユーザが画面上で選択した画面の構造情報を利用するのではなく、アプリケーションによって生成されるクエリ識別子を利用するようにしてもよい。クエリ識別子とは、ユーザがアプリケーションによって提供された画面を操作した場合に、アプリケーションによって生成される要求メッセージに含まれる。例えば、アプリケーションがHTTPによって通信する場合には、HTTPヘッダ又はHTTPメッセージボディにクエリ識別子が含まれる。
第3の実施の形態では、ユーザがアプリケーションの実行を指示する場合に、ユーザの画面操作にともなって生成されるクエリ識別子に基づいて、カスタマイズされたアプリケーションを提供する方法について説明する。
なお、第3の実施の形態では、第1の実施の形態と共通する構成については、適宜説明を省略し、相違する構成を中心に説明する。また、第3の実施の形態は、図2及び図3に示した第1の実施の形態のシステム構成と同様である。
<各定義情報の内容>
ここで、本発明の第3の実施の形態のアプリケーション実行システムで使用される定義情報の詳細について説明する。定義情報の種類は、第1の実施の形態と同様に、カスタマイズ実行サーバ221に格納されているカスタマイズ定義情報251、カスタマイズ適用ユーザ状態定義情報252及びユーザ状態履歴情報253の3種類である。
図19Aは、本発明の第3の実施の形態のカスタマイズ定義情報251の一例を示す図である。カスタマイズ定義情報251は、第1の実施の形態と同じであるため、説明を省略する。
図19Bは、本発明の第3の実施の形態のカスタマイズ適用ユーザ状態定義情報252の一例を示す図である。
カスタマイズ適用ユーザ状態定義情報252には、図5Bに示した第1の実施の形態の構成に加えて、新たにカスタマイズ適用条件として、クエリ識別子1611が追加されている。カスタマイズID531、カスタマイズ対象識別子532及び遷移元識別子条件533については、第1の実施の形態と同様である。
例えば、図19Bに示したカスタマイズ適用ユーザ状態定義情報252の行1631では、変更対象のアプリケーションによって提供される画面の所在情報「http://xxx.example/company_detail.html」の前に、所在情報「http://example/company_list.html」に対応する画面が表示される。さらに、所在情報「http://example/company_list.html」に対応する画面において、ユーザが画面上で何らかの操作を行った結果、アプリケーションが「target=Area」のクエリ情報を生成した場合にカスタマイズ内容を適用することを示している。
図19Cは、本発明の第3の実施の形態のユーザ状態履歴情報253の一例を示す図である。
ユーザ状態履歴情報253には、図5Cに示した第1の実施の形態の構成に加えて、新たにカスタマイズ適用条件として、ユーザによって操作された結果アプリケーションによって生成されたクエリ識別子1621が追加されている。カスタマイズID551、遷移元識別子552及び遷移先識別子553については、第1の実施の形態と同様である。
例えば、図19Cに示したユーザ状態履歴情報253の行1641では、現時点で所在情報「http://xxx.example/company_detail.html」に対応する画面が表示されている。「http://xxx.example/company_detail.html」に対応する画面を表示する前には、アプリケーションによって提供される所在情報「http://example/company_list.html」に対応する画面が表示され、当該画面において、ユーザが何らかの操作を実施した結果、「target=Area」で示すクエリ識別子が生成されたことを示している。
<通信解析部の処理の流れ>
図20A及び図20Bは、本発明の第3の実施の形態の通信解析部222による処理手順を示すフローチャートである。
図20A及び図20Bに示すフローチャートでは、図6に示した処理に加え、ステップ1701及びステップ1702の処理が新たに追加されている。なお、図20A及び図20Bのステップ611からステップ623の処理は、図6のステップ611からステップ623の処理を同様であるため説明を省略し、ステップ1701及びステップ1702の処理について説明する。
ユーザ状態解析部231は、ステップ612の処理で取得された要求メッセージの構造を解析し、クエリ識別子が含まれているか否かを判定する(ステップ1701)。要求メッセージにクエリ識別子が含まれていた場合には(ステップ1701の結果が「yes」)、ステップ1702の処理を実行する。クエリ識別子が含まれていない場合には(ステップ1702の結果が「no」)、ステップ620の処理を実行する。
ユーザ状態解析部231は、カスタマイズ適用ユーザ状態定義情報252から、クエリ識別子1611と遷移元識別子条件533の組が、ステップ1701の処理で取得されたクエリ識別子と画面の所在情報の組と、同一の値を含む行を特定する。そして、特定された行に対応するカスタマイズID531を取得し、同一の値を有するユーザ状態履歴情報253のカスタマイズID551の行を特定し、当該行のクエリ識別子1621に、ステップ1701の処理で取得された構造情報を設定する(ステップ1702)。
<カスタマイズ適用部の処理の流れ>
図21は、本発明の第3の実施の形態のカスタマイズ適用部223による処理手順を示すフローチャートである。
図21に示すフローチャートでは、図7に示した処理に加え、ステップ1801及びステップ1802の処理が新たに追加されている。なお、図21のステップ711からステップ717の処理は、図6のステップ711からステップ717の処理を同様であるため説明を省略し、ステップ1801及びステップ1802の処理について説明する。
ユーザ状態判定部241は、ステップ714の処理で取得された遷移元識別子552と遷移元識別子条件533が同一であって、カスタマイズ適用ユーザ状態定義情報252のクエリ識別子1611と、ユーザ状態履歴情報253のクエリ識別子1621が同じ行が存在するか否かを判定する(ステップ1801)。クエリ識別子1611と同一のクエリ識別子1621を含む行が存在する場合には(ステップ1801の結果が「yes」)、ステップ1802の処理を実行する。クエリ識別子1611と同一のクエリ識別子1621を含む行が存在しない場合には(ステップ1801の結果が「no」)、ステップ716の処理を実行する。
カスタマイズ適用部223は、ステップ1801の処理で取得されたカスタマイズ定義情報251のカスタマイズID511の行に含まれるカスタマイズ内容513を応答メッセージに適用することによって、新たな応答メッセージを作成する(ステップ1802)。
<カスタマイズ定義>
本発明の第3の実施の形態において、カスタマイズ適用条件を設定する方法について補足する。
本発明の第3の実施の形態の画面履歴情報1951には、アプリケーションによって提供される画面を介してユーザが操作する際に生成されるクエリ識別子がさらに含まれる。前述のように、クエリ識別子はHTTPヘッダ又はHTTPメッセージボディから取得することが可能である。
また、ユーザがクエリ識別子そのものを選択することが困難な場合には、画面履歴情報1951にユーザによる操作を識別する情報を記録し、カスタマイズ適用条件として定義する際に、操作内容を提示してクエリ識別子を指定できるようにしてもよい。
<効果>
本発明の第3の実施の形態によれば、カスタマイズ適用条件にユーザの操作によって生成されたクエリ識別子を追加することによって、業務に応じてカスタマイズされたアプリケーションを提供することができる。
なお、以上示した第1から第3の実施の形態のように、遷移元及び遷移先の画面、構造情報又はクエリ識別子の他に、例えば、クライアントからの要求に応じてアプリケーションサーバで生成される、または管理される情報をカスタマイズ適用条件に設定してもよい。アプリケーションサーバで生成される、または管理される情報には、例えば、アプリケーションサーバ上で動作するアプリケーションが出力するログ情報や、ユーザの所属、趣味、性別、年齢などのユーザプロファイル情報がある。また第1から第3の実施の形態でカスタマイズ適用条件として利用した遷移元及び遷移先の画面、構造情報又はクエリ識別子と、アプリケーションサーバで生成される、または管理される情報を組み合わせてカスタマイズ適用条件に設定しても良い。
図22は、上記を実現するための本発明のサーバ状態をアプリケーションの変更条件とする計算機システムの構成の一例を示すブロック図である。
図22では、図2に示した計算機システムの構成加えて、通信解析部222の中に、サーバ状態を取得するサーバ状態取得部232を加え、またクライアント実行サーバと、ネットワーク282を結線している。さらにアプリケーション実行サーバ261,262,263の中に、サーバ状態送信部291,292,293を加えている。
第1から第3の実施の形態では、カスタマイズ実行サーバ221が、クライアント211からアプリケーション実行サーバへの要求メッセージと、アプリケーション実行サーバからクライアントへの応答メッセージを、中間で取得していた。しかし、ここでは、カスタマイズ実行サーバ221は、アプリケーション実行サーバからクライアントへの応答メッセージのみを取得する形態とし、クライアント211からの要求メッセージは、カスタマイズ実行サーバ221を介さずに、直接、アプリケーション実行サーバへ送信されることを想定している。
サーバ状態取得部232は、クライアントから実行の指示があったアプリケーションの応答メッセージを通信解析部222が取得した時に、実行が指示されたアプリケーションが稼動するアプリケーション実行サーバに対してサーバ状態を取得する要求を出し、アプリケーション実行サーバからサーバ状態を取得する。そして、カスタマイズ適用ユーザ状態定義情報252を参照し、カスタマイズ適用ユーザ状態定義情報252に定義された内容に一致するときに、サーバ状態取得部232は、取得したサーバ状態をユーザ状態履歴情報253に格納する。
ここで、取得するサーバ状態を示す情報は、カスタマイズ適用ユーザ状態定義情報252に定義される。例えば、図5Bで示したカスタマイズ適用ユーザ状態定義情報252に、新たにサーバ状態を定義する列を追加し、当該列に定義されたサーバ状態を格納する。
サーバ状態送信部291,292,293は、カスタマイズ実行サーバ221からのサーバ状態の取得要求メッセージを受信した時に、要求されたサーバ状態を、カスタマイズ実行サーバ221に返信する。ここで要求されたサーバ状態は、例えば、カスタマイズ実行サーバ221からのサーバ状態の取得要求メッセージに含まれていても良いし、またカスタマイズ実行サーバ221から、要求内容をアプリケーション実行サーバに事前に登録しておいても良い。
111、421 科目詳細アプリケーション
112、422 受講者の感想アプリケーション
113、441 スケジューラアプリケーション
121、122、131、132、451 科目詳細画面
151 クライアント
211 クライアント実行サーバ
221 カスタマイズ実行サーバ
222 通信解析部
223 カスタマイズ適用部
224 記憶装置
231 ユーザ状態解析部
232 サーバ状態取得部
241 ユーザ状態判定部
251 カスタマイズ定義情報
252 カスタマイズ適用ユーザ状態定義情報
253 ユーザ状態履歴情報
261、262、263、411、412、413、1461、1471、1481 アプリケーション実行サーバ
271、272、273 業務アプリケーション
281、282 ネットワーク
291、292、293 サーバ状態送信部
311、321、341 ネットワークインタフェース
312、322、342 CPU
313、323、343 主記憶装置
314、324、344 二次記憶装置
315、325、345 バス
461 受講者の感想画面
471 科目選択画面
472 科目申込画面
481 スケジューラ画面
1401 企業詳細アプリケーション
1402 経済状況アプリケーション
1403 企業情報参照アプリケーション
1404 取引履歴アプリケーション
1411 企業詳細画面
1421 経済状況画面
1431 企業一覧画面
1441 取引履歴画面
1451 観点選択ラジオボタン
1911 カスタマイズ定義画面生成部
1921 ユーザ状態定義画面生成部
1931 画面履歴取得部
1941 定義画面生成部
1951 画面履歴情報
2111 カスタマイズ定義画面

Claims (15)

  1. クライアントからの要求を受け付けて業務を処理するためのアプリケーションを提供するアプリケーションサーバと、前記アプリケーションに含まれる特定のアプリケーションを変更して前記クライアントに提供するカスタマイズ実行サーバと、を備える計算機システムにおけるアプリケーション実行方法であって、
    前記カスタマイズ実行サーバは、前記クライアント及び前記アプリケーションサーバに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサによってアクセスされるメモリと、を備え、
    前記メモリには、前記業務を処理するための前記アプリケーションと前記特定のアプリケーションの操作情報を含むユーザ状態情報と、前記特定のアプリケーションに処理を要求する前までに実行された前記アプリケーションの操作情報を、前記特定のアプリケーションを変更する条件として定義されたカスタマイズ適用ユーザ状態定義情報と、前記特定のアプリケーションのカスタマイズ内容が定義されたカスタマイズ定義情報と、が記憶され、
    前記クライアントから業務を処理するために前記アプリケーションと前記特定のアプリケーションに対して処理を要求するとき、
    前記方法は、
    前記カスタマイズ実行サーバが、前記クライアントから前記アプリケーションおよび前記特定のアプリケーションの実行要求を含む要求メッセージを受信し、
    前記カスタマイズ実行サーバが、前記受信した要求メッセージを解析することによって、前記アプリケーションおよび前記特定のアプリケーションの操作情報を特定し、
    前記カスタマイズ実行サーバが、前記カスタマイズ適用定義情報に基づいて、前記特定された操作情報を前記ユーザ状態情報に記録し、
    前記カスタマイズ実行サーバが、前記アプリケーションサーバに前記要求メッセージを送信し、
    前記アプリケーションサーバが、前記要求メッセージに基づいて、要求された処理を実行し、前記要求メッセージに対する応答メッセージを送信し、
    前記カスタマイズ実行サーバが、前記アプリケーションサーバから送信された応答メッセージを受信し、
    前記カスタマイズ実行サーバが、前記カスタマイズ適用ユーザ状態定義情報及び前記ユーザ状態情報に基づいて、前記業務を処理する過程においてどのステップをカスタマイズするかを判断するとともに、前記特定のアプリケーションを変更するか否かを決定し、
    前記カスタマイズ実行サーバが、前記特定のアプリケーションを変更する場合には、前記カスタマイズ定義情報に基づいて前記応答メッセージを変更することによって、新たな応答メッセージを生成し、
    前記カスタマイズ実行サーバが、前記新たに生成された応答メッセージを前記クライアントに送信することを特徴とするアプリケーション実行方法。
  2. 前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、前記アプリケーションの実行順序が含まれ、
    前記方法は、前記カスタマイズ実行サーバが、前記アプリケーションの操作情報として、前記ユーザ状態情報に前記アプリケーションの実行履歴を記録することを特徴とする請求項1に記載のアプリケーション実行方法。
  3. 前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、更に、前記要求メッセージの送信元の状態を示す情報が含まれ、
    前記方法は、前記カスタマイズ実行サーバが、前記アプリケーションの操作情報として、前記ユーザ状態情報に前記送信元の状態を示す情報を記録することを特徴とする請求項2に記載のアプリケーション実行方法。
  4. 前記要求メッセージには、前記実行が要求されたアプリケーションが情報を検索するためのパラメータが含まれ、
    前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、更に、前記パラメータが含まれ、
    前記方法は、前記カスタマイズ実行サーバが、前記アプリケーションの操作情報として、前記ユーザ状態情報に前記パラメータを記録することを特徴とする請求項2に記載のアプリケーション実行方法。
  5. 前記方法は、
    前記カスタマイズ実行サーバが、前記要求メッセージを受信した場合には、前記クライアントから要求された操作の履歴を前記メモリに記録し、
    前記クライアントから前記アプリケーションの変更要求を受け付けた場合には、前記メモリに記録された操作履歴を前記クライアントに提示し、
    前記カスタマイズ実行サーバが、前記カスタマイズ適用ユーザ状態定義情報の設定を受け付けることを特徴とする請求項1に記載のアプリケーション実行方法。
  6. クライアントからの要求を受け付けて業務を処理するためのアプリケーションを提供するアプリケーションサーバに接続され、前記アプリケーションに含まれる特定のアプリケーションを変更して前記クライアントに提供するアプリケーション変更装置であって、
    前記クライアント及び前記アプリケーションサーバに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサによってアクセスされるメモリと、を備え、
    前記メモリには、前記業務を処理するための前記アプリケーションと前記特定のアプリケーションの操作情報を含むユーザ状態情報と、前記特定のアプリケーションに処理を要求する前までに実行された前記アプリケーションの操作情報を、前記特定のアプリケーションを変更する条件として定義されたカスタマイズ適用ユーザ状態定義情報と、前記特定のアプリケーションのカスタマイズ内容が定義されたカスタマイズ定義情報と、が記憶され、
    前記クライアントから業務を処理するために前記アプリケーションと前記特定のアプリケーションに対して処理を要求するとき、
    前記プロセッサは、
    前記クライアントから前記アプリケーションおよび前記特定のアプリケーションの実行要求を含む要求メッセージを受信し、
    前記受信した要求メッセージを解析することによって、前記アプリケーションおよび前記特定のアプリケーションの操作情報を特定し、
    前記カスタマイズ適用定義情報に基づいて、前記特定された操作情報を前記ユーザ状態情報に記録し、
    前記アプリケーションサーバに前記要求メッセージを送信し、
    前記アプリケーションサーバから送信された応答メッセージを受信し、
    前記カスタマイズ適用ユーザ状態定義情報及び前記ユーザ状態情報に基づいて、前記業務を処理する過程においてどのステップをカスタマイズするかを判断するとともに、前記特定のアプリケーションを変更するか否かを決定し、
    前記特定のアプリケーションを変更する場合には、前記カスタマイズ定義情報に基づいて前記応答メッセージを変更することによって、新たな応答メッセージを生成し、
    前記新たに生成された応答メッセージを前記クライアントに送信することを特徴とするアプリケーション変更装置。
  7. 前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、前記アプリケーションの実行順序が含まれ、
    前記プロセッサは、前記アプリケーションの操作情報として、前記ユーザ状態情報に前記アプリケーションの実行履歴を記録することを特徴とする請求項6に記載のアプリケーション変更装置。
  8. 前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、更に、前記要求メッセージの送信元の状態を示す情報が含まれ、
    前記プロセッサは、前記アプリケーションの操作情報として、前記ユーザ状態情報に前記送信元の状態を示す情報を記録することを特徴とする請求項7に記載のアプリケーション変更装置。
  9. 前記要求メッセージには、前記実行が要求されたアプリケーションが情報を検索するためのパラメータが含まれ、
    前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、更に、前記パラメータが含まれ、
    前記プロセッサは、前記アプリケーションの操作情報として、前記ユーザ状態情報に前記パラメータを記録することを特徴とする請求項7に記載のアプリケーション変更装置。
  10. 前記プロセッサは、
    前記要求メッセージを受信した場合には、前記クライアントから要求された操作の履歴を前記メモリに記録し、
    前記クライアントから前記アプリケーションの変更要求を受け付けた場合には、前記メモリに記録された操作履歴を前記クライアントに提示し、
    前記カスタマイズ適用ユーザ状態定義情報の設定を受け付けることを特徴とする請求項6に記載のアプリケーション変更装置。
  11. 業務を処理するアプリケーションサーバによって提供されるアプリケーションに含まれる特定のアプリケーションを変更してクライアントに提供するカスタマイズ実行サーバに実行させるプログラムであって、
    前記カスタマイズ実行サーバは、前記業務を処理するための前記アプリケーションと前記特定のアプリケーションの操作情報及び操作の流れを示す情報を含むユーザ状態情報と、前記特定のアプリケーションが実行されるまでに実行された前記アプリケーションの操作情報を、前記特定のアプリケーションを変更する条件を含むカスタマイズ適用ユーザ状態定義情報と、前記特定のアプリケーションのカスタマイズ内容が定義されたカスタマイズ定義情報と、を管理し、
    前記クライアントから業務を処理するために前記アプリケーションと前記特定のアプリケーションに対して処理を要求するとき、
    前記プログラムは、
    前記クライアントから前記アプリケーションおよび前記特定のアプリケーションの実行要求を含む要求メッセージを受信する手順と、
    前記受信した要求メッセージを解析することによって、前記アプリケーションと前記特定のアプリケーションの操作情報を特定する手順と、
    前記カスタマイズ適用定義情報に基づいて、前記特定された操作情報を前記ユーザ状態情報に記録する手順と、
    前記アプリケーションサーバに前記要求メッセージを送信する手順と、
    前記アプリケーションサーバから送信された応答メッセージを受信する手順と、
    前記カスタマイズ適用ユーザ状態定義情報及び前記ユーザ状態情報に基づいて、前記業務を処理する過程においてどのステップをカスタマイズするかを判断するとともに、前記アプリケーションを変更するか否かを決定する手順と、
    前記特定のアプリケーションを変更する場合には、前記カスタマイズ定義情報に基づいて前記応答メッセージを変更することによって、新たな応答メッセージを生成する手順と、
    前記新たに生成された応答メッセージを前記クライアントに送信する手順と、を含むことを特徴とするアプリケーション変更プログラム。
  12. 前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、前記アプリケーションの実行順序が含まれ、
    前記アプリケーションの操作情報を特定する手順は、前記アプリケーションの実行履歴を前記ユーザ状態情報に記録することを特徴とする請求項11に記載のアプリケーション変更プログラム。
  13. 前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、更に、前記要求メッセージの送信元の状態を示す情報が含まれ、
    前記アプリケーションの操作情報を特定する手順は、前記送信元の状態を示す情報を前記ユーザ状態情報に記録することを特徴とする請求項12に記載のアプリケーション変更プログラム。
  14. 前記要求メッセージには、前記実行が要求されたアプリケーションが情報を検索するためのパラメータが含まれ、
    前記カスタマイズ適用ユーザ状態定義情報には、前記特定のアプリケーションを変更する条件として、更に、前記パラメータが含まれ、
    前記アプリケーションの操作情報を特定する手順は、前記パラメータを前記ユーザ状態情報に記録することを特徴とする請求項12に記載のアプリケーション変更プログラム。
  15. 前記プログラムは、
    前記要求メッセージを受信した場合に、前記クライアントから要求された操作の履歴を記録する手順と、
    前記クライアントから前記アプリケーションの変更要求を受け付けた場合に、前記記録された操作履歴を出力する手順と、
    前記カスタマイズ適用ユーザ状態定義情報の設定を受け付ける手順と、をさらに含むことを特徴とする請求項11に記載のアプリケーション変更プログラム。
JP2009048131A 2009-03-02 2009-03-02 アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム Expired - Fee Related JP4772880B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009048131A JP4772880B2 (ja) 2009-03-02 2009-03-02 アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム
US12/540,767 US8239450B2 (en) 2009-03-02 2009-08-13 Application executing method, application changing apparatus, and application changing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009048131A JP4772880B2 (ja) 2009-03-02 2009-03-02 アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム

Publications (3)

Publication Number Publication Date
JP2010204834A true JP2010204834A (ja) 2010-09-16
JP2010204834A5 JP2010204834A5 (ja) 2011-04-07
JP4772880B2 JP4772880B2 (ja) 2011-09-14

Family

ID=42667714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009048131A Expired - Fee Related JP4772880B2 (ja) 2009-03-02 2009-03-02 アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム

Country Status (2)

Country Link
US (1) US8239450B2 (ja)
JP (1) JP4772880B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015068259A1 (ja) * 2013-11-08 2015-05-14 株式会社日立製作所 情報提供方法および装置並びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9131013B2 (en) 2011-07-29 2015-09-08 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
US9104851B2 (en) * 2011-11-02 2015-08-11 Zynga Inc. Methods and systems for enabling, tracking, and correlating anonymous user activity
US10027775B1 (en) * 2014-06-20 2018-07-17 Path Mobile Inc Pte. Ltd. Presentation of status information in a messaging environment
JP2022035494A (ja) * 2020-08-21 2022-03-04 富士通株式会社 通信プログラム、通信方法、及び通信装置
CN112948068B (zh) * 2020-09-16 2024-03-12 深圳市明源云科技有限公司 任务调度方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224253A (ja) * 1998-02-04 1999-08-17 Oki Electric Ind Co Ltd 画面切り替え方法およびkiosk端末およびkioskシステム
JP2002149048A (ja) * 2000-11-09 2002-05-22 Nippon Telegr & Teleph Corp <Ntt> 操作型学習環境実現方法及び装置及び操作型学習環境実現プログラムを格納した記憶媒体
JP2002197356A (ja) * 2000-12-26 2002-07-12 Toshiba Corp コマーシャルメッセージ提供方法およびシステム、ならびに記憶媒体
JP2003132086A (ja) * 2001-10-26 2003-05-09 Megafusion Corp ウェブページ動的生成システム
JP2006086745A (ja) * 2004-09-15 2006-03-30 Tdk Corp シーン記述情報作成装置、シーン記述情報作成方法及びプログラム
JP2006092186A (ja) * 2004-09-22 2006-04-06 Nomura Research Institute Ltd データベース利用システム及びデータベース利用プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10148985A1 (de) 2001-10-04 2003-04-10 Deutsche Telekom Ag Verfahren zur Ausgabe von personalisierten Informationen auf einer Website
KR100700622B1 (ko) * 2006-10-24 2007-03-28 주식회사 네오엠텔 매쉬업 서비스 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224253A (ja) * 1998-02-04 1999-08-17 Oki Electric Ind Co Ltd 画面切り替え方法およびkiosk端末およびkioskシステム
JP2002149048A (ja) * 2000-11-09 2002-05-22 Nippon Telegr & Teleph Corp <Ntt> 操作型学習環境実現方法及び装置及び操作型学習環境実現プログラムを格納した記憶媒体
JP2002197356A (ja) * 2000-12-26 2002-07-12 Toshiba Corp コマーシャルメッセージ提供方法およびシステム、ならびに記憶媒体
JP2003132086A (ja) * 2001-10-26 2003-05-09 Megafusion Corp ウェブページ動的生成システム
JP2006086745A (ja) * 2004-09-15 2006-03-30 Tdk Corp シーン記述情報作成装置、シーン記述情報作成方法及びプログラム
JP2006092186A (ja) * 2004-09-22 2006-04-06 Nomura Research Institute Ltd データベース利用システム及びデータベース利用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015068259A1 (ja) * 2013-11-08 2015-05-14 株式会社日立製作所 情報提供方法および装置並びプログラム

Also Published As

Publication number Publication date
US20100223324A1 (en) 2010-09-02
JP4772880B2 (ja) 2011-09-14
US8239450B2 (en) 2012-08-07

Similar Documents

Publication Publication Date Title
US7716591B2 (en) System and method for dynamically generating a web page
KR20090005097A (ko) 웹 커뮤니티 및 웹 애플리케이션에 대해 데이터를 변환하는시스템 및 방법
JP4772880B2 (ja) アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム
JP2011023018A (ja) 情報提供処理装置、情報提供処理方法、および情報提供処理プログラム格納媒体
US6175864B1 (en) Method and apparatus for storyboard scripting of application programs running on a computer system
JP2021124914A (ja) 情報処理システム、情報処理方法
JP5638761B2 (ja) 画面生成方法、画面表示方法、画面生成装置、及びプログラム
US20050024355A1 (en) Selecting items displayed on respective areas on a screen
JP2008217161A (ja) シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法
JP2009258826A (ja) アクセス制限情報出力装置及びアクセス制限情報提示システム等
JP5887971B2 (ja) ポートレット処理装置、ポータルサーバ、ポータルシステム、ポートレット処理方法、および、コンピュータ・プログラム
JP2005148807A (ja) モーダル同期制御方法およびマルチモーダルインターフェイスシステム
JP4292854B2 (ja) サーバ
JP2004234380A (ja) テーブル表示切替方法,テキストデータ変換プログラム及びタグプログラム
JP2012248228A (ja) 負荷シミュレーション装置、シミュレーション装置、負荷シミュレーション方法、シミュレーション方法及びプログラム
JP2005004631A (ja) ウェブリソース再編成によるウェブ利用学習支援方法、ウェブリソース再構成装置、およびプログラム
JP2019194771A (ja) 情報共有システム、情報共有サーバ及び情報共有プログラム
JP4714463B2 (ja) ユーザ端末装置及びWebアプリケーション間でデータを継承する方法
JP5020355B2 (ja) プロフィール表示装置、方法、プログラム及びシステム
JP2006302240A (ja) 文書管理プログラム及び文書管理装置
JP2008107998A (ja) ブログシステムのトラックバックセンタ装置及びトラックバック管理方法
JP2008107987A (ja) 情報提供装置及び情報提供方法
JP2011100200A (ja) 作業支援装置、方法、及び、プログラム
JPH10247202A (ja) 検索システムおよび記録媒体
Balsoy et al. Automating metadata Web service deployment for problem solving environments

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110519

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110622

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees